@rosettadash/web-components 0.1.0 → 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,50 @@
1
+ import { defineRosettaElement } from '../../lib/element-utils.js';
2
+ import { RosettaAtomElement } from '../../lib/rosetta-atom-element.js';
3
+ export const RD_COLLAPSIBLE_TAG = 'rd-collapsible';
4
+ /** @rosettadash/web-components/layout/collapsible — layout.collapsible */
5
+ export class RdCollapsibleElement extends RosettaAtomElement {
6
+ static tagName = RD_COLLAPSIBLE_TAG;
7
+ static get observedAttributes() {
8
+ return ['title', 'summary', 'open', 'default-open'];
9
+ }
10
+ isOpen() {
11
+ return this.readBoolAttr('open') || this.readBoolAttr('default-open');
12
+ }
13
+ buildMarkup() {
14
+ const title = this.readAttr('title', 'Section');
15
+ const summary = this.readAttr('summary');
16
+ const open = this.isOpen();
17
+ return `
18
+ <section class="rd-collapsible${open ? ' is-open' : ''}" data-testid="rd-collapsible">
19
+ <button type="button" class="rd-collapsible__header" aria-expanded="${open ? 'true' : 'false'}">
20
+ <span class="rd-collapsible__titles">
21
+ <span class="rd-collapsible__title">${this.esc(title)}</span>
22
+ ${summary ? `<span class="rd-collapsible__summary">${this.esc(summary)}</span>` : ''}
23
+ </span>
24
+ <span class="rd-collapsible__chevron" aria-hidden="true">${open ? '▾' : '▸'}</span>
25
+ </button>
26
+ <div class="rd-collapsible__panel" data-ref="slot"${open ? '' : ' hidden'}></div>
27
+ </section>`;
28
+ }
29
+ wireEvents() {
30
+ this.addEventListener('click', (event) => {
31
+ const target = event.target;
32
+ if (!(target instanceof Element) || !target.closest('.rd-collapsible__header')) {
33
+ return;
34
+ }
35
+ event.preventDefault();
36
+ const next = !this.isOpen();
37
+ if (next) {
38
+ this.setAttribute('open', '');
39
+ }
40
+ else {
41
+ this.removeAttribute('open');
42
+ }
43
+ this.dispatchDetail('open-change', { open: next });
44
+ });
45
+ }
46
+ }
47
+ export function registerRdCollapsible() {
48
+ defineRosettaElement(RD_COLLAPSIBLE_TAG, RdCollapsibleElement);
49
+ }
50
+ //# sourceMappingURL=rd-collapsible.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rd-collapsible.js","sourceRoot":"","sources":["../../../../../../packages/web-components/src/layout/collapsible/rd-collapsible.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAEvE,MAAM,CAAC,MAAM,kBAAkB,GAAG,gBAAgB,CAAC;AAanD,0EAA0E;AAC1E,MAAM,OAAO,oBAAqB,SAAQ,kBAAkB;IAC1D,MAAM,CAAU,OAAO,GAAG,kBAAkB,CAAC;IAE7C,MAAM,KAAK,kBAAkB;QAC3B,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;IACtD,CAAC;IAES,MAAM;QACd,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;IACxE,CAAC;IAES,WAAW;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAChD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACzC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,OAAO;sCAC2B,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;8EACkB,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;;kDAEnD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;cACnD,OAAO,CAAC,CAAC,CAAC,yCAAyC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;;qEAE3B,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;;4DAEzB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;iBAChE,CAAC;IAChB,CAAC;IAEkB,UAAU;QAC3B,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACvC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;YAC5B,IAAI,CAAC,CAAC,MAAM,YAAY,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,yBAAyB,CAAC,EAAE,CAAC;gBAC/E,OAAO;YACT,CAAC;YACD,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YAC5B,IAAI,IAAI,EAAE,CAAC;gBACT,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAChC,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YAC/B,CAAC;YACD,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;IACL,CAAC;;AAGH,MAAM,UAAU,qBAAqB;IACnC,oBAAoB,CAAC,kBAAkB,EAAE,oBAAoB,CAAC,CAAC;AACjE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export type { FlexLayoutProps } from './rd-flex-layout.js';
2
+ export { registerRdFlexLayout, RD_FLEX_LAYOUT_TAG, RdFlexLayoutElement } from './rd-flex-layout.js';
@@ -0,0 +1,2 @@
1
+ export { registerRdFlexLayout, RD_FLEX_LAYOUT_TAG, RdFlexLayoutElement } from './rd-flex-layout.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/web-components/src/layout/flex/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { RosettaAtomElement } from '../../lib/rosetta-atom-element.js';
2
+ export declare const RD_FLEX_LAYOUT_TAG = "rd-flex-layout";
3
+ export interface FlexLayoutProps {
4
+ title?: string;
5
+ direction?: 'row' | 'column';
6
+ gap?: number | string;
7
+ className?: string;
8
+ style?: Record<string, string>;
9
+ children?: unknown;
10
+ }
11
+ /** @rosettadash/web-components/layout/flex — layout.flex */
12
+ export declare class RdFlexLayoutElement extends RosettaAtomElement {
13
+ static readonly tagName = "rd-flex-layout";
14
+ static get observedAttributes(): string[];
15
+ protected buildMarkup(): string;
16
+ }
17
+ export declare function registerRdFlexLayout(): 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_FLEX_LAYOUT_TAG = 'rd-flex-layout';
4
+ /** @rosettadash/web-components/layout/flex — layout.flex */
5
+ export class RdFlexLayoutElement extends RosettaAtomElement {
6
+ static tagName = RD_FLEX_LAYOUT_TAG;
7
+ static get observedAttributes() {
8
+ return ["title", "direction", "gap"];
9
+ }
10
+ buildMarkup() {
11
+ const title = this.readAttr('title');
12
+ const direction = this.readAttr('direction', 'row');
13
+ const gap = this.readAttr('gap', '12');
14
+ return `
15
+ <section class="rd-flex" data-testid="rd-flex">
16
+ ${title ? `<span class="rd-flex__title">${this.esc(title)}</span>` : ''}
17
+ <div class="rd-flex__flex" data-ref="slot" style="display:flex;flex-direction:${direction};gap:${gap}px"></div>
18
+ </section>`;
19
+ }
20
+ }
21
+ export function registerRdFlexLayout() {
22
+ defineRosettaElement(RD_FLEX_LAYOUT_TAG, RdFlexLayoutElement);
23
+ }
24
+ //# sourceMappingURL=rd-flex-layout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rd-flex-layout.js","sourceRoot":"","sources":["../../../../../../packages/web-components/src/layout/flex/rd-flex-layout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAEvE,MAAM,CAAC,MAAM,kBAAkB,GAAG,gBAAgB,CAAC;AAWnD,4DAA4D;AAC5D,MAAM,OAAO,mBAAoB,SAAQ,kBAAkB;IACzD,MAAM,CAAU,OAAO,GAAG,kBAAkB,CAAC;IAE7C,MAAM,KAAK,kBAAkB;QAC3B,OAAO,CAAC,OAAO,EAAC,WAAW,EAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAES,WAAW;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACrC,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACvC,OAAO;;UAED,KAAK,CAAC,CAAC,CAAC,gCAAgC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;wFACS,SAAS,QAAQ,GAAG;iBAC3F,CAAC;IAChB,CAAC;;AAGH,MAAM,UAAU,oBAAoB;IAClC,oBAAoB,CAAC,kBAAkB,EAAE,mBAAmB,CAAC,CAAC;AAChE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export type { GridLayoutProps } from './rd-grid-layout.js';
2
+ export { registerRdGridLayout, RD_GRID_LAYOUT_TAG, RdGridLayoutElement } from './rd-grid-layout.js';
@@ -0,0 +1,2 @@
1
+ export { registerRdGridLayout, RD_GRID_LAYOUT_TAG, RdGridLayoutElement } from './rd-grid-layout.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/web-components/src/layout/grid/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { RosettaAtomElement } from '../../lib/rosetta-atom-element.js';
2
+ export declare const RD_GRID_LAYOUT_TAG = "rd-grid-layout";
3
+ export interface GridLayoutProps {
4
+ title?: string;
5
+ columns?: number;
6
+ gap?: number | string;
7
+ className?: string;
8
+ style?: Record<string, string>;
9
+ children?: unknown;
10
+ }
11
+ /** @rosettadash/web-components/layout/grid — layout.grid */
12
+ export declare class RdGridLayoutElement extends RosettaAtomElement {
13
+ static readonly tagName = "rd-grid-layout";
14
+ static get observedAttributes(): string[];
15
+ protected buildMarkup(): string;
16
+ }
17
+ export declare function registerRdGridLayout(): 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_GRID_LAYOUT_TAG = 'rd-grid-layout';
4
+ /** @rosettadash/web-components/layout/grid — layout.grid */
5
+ export class RdGridLayoutElement extends RosettaAtomElement {
6
+ static tagName = RD_GRID_LAYOUT_TAG;
7
+ static get observedAttributes() {
8
+ return ["title", "columns", "gap"];
9
+ }
10
+ buildMarkup() {
11
+ const title = this.readAttr('title');
12
+ const columns = this.readNumAttr('columns', 3);
13
+ const gap = this.readAttr('gap', '12');
14
+ return `
15
+ <section class="rd-grid" data-testid="rd-grid">
16
+ ${title ? `<span class="rd-grid__title">${this.esc(title)}</span>` : ''}
17
+ <div class="rd-grid__grid" data-ref="slot" style="grid-template-columns:repeat(${columns},1fr);gap:${gap}px"></div>
18
+ </section>`;
19
+ }
20
+ }
21
+ export function registerRdGridLayout() {
22
+ defineRosettaElement(RD_GRID_LAYOUT_TAG, RdGridLayoutElement);
23
+ }
24
+ //# sourceMappingURL=rd-grid-layout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rd-grid-layout.js","sourceRoot":"","sources":["../../../../../../packages/web-components/src/layout/grid/rd-grid-layout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAEvE,MAAM,CAAC,MAAM,kBAAkB,GAAG,gBAAgB,CAAC;AAWnD,4DAA4D;AAC5D,MAAM,OAAO,mBAAoB,SAAQ,kBAAkB;IACzD,MAAM,CAAU,OAAO,GAAG,kBAAkB,CAAC;IAE7C,MAAM,KAAK,kBAAkB;QAC3B,OAAO,CAAC,OAAO,EAAC,SAAS,EAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAES,WAAW;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACvC,OAAO;;UAED,KAAK,CAAC,CAAC,CAAC,gCAAgC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;yFACU,OAAO,aAAa,GAAG;iBAC/F,CAAC;IAChB,CAAC;;AAGH,MAAM,UAAU,oBAAoB;IAClC,oBAAoB,CAAC,kBAAkB,EAAE,mBAAmB,CAAC,CAAC;AAChE,CAAC"}
@@ -0,0 +1,9 @@
1
+ export * from './accordion/index.js';
2
+ export * from './accordion-link-list/index.js';
3
+ export * from './grid/index.js';
4
+ export * from './flex/index.js';
5
+ export * from './tabs/index.js';
6
+ export * from './modal/index.js';
7
+ export * from './collapsible/index.js';
8
+ export * from './scroll-region/index.js';
9
+ export declare function registerRosettaDashLayoutElements(): void;
@@ -0,0 +1,27 @@
1
+ export * from './accordion/index.js';
2
+ export * from './accordion-link-list/index.js';
3
+ export * from './grid/index.js';
4
+ export * from './flex/index.js';
5
+ export * from './tabs/index.js';
6
+ export * from './modal/index.js';
7
+ export * from './collapsible/index.js';
8
+ export * from './scroll-region/index.js';
9
+ import { registerLayoutAccordion } from './accordion/index.js';
10
+ import { registerLayoutAccordionLinkList } from './accordion-link-list/index.js';
11
+ import { registerRdGridLayout } from './grid/index.js';
12
+ import { registerRdFlexLayout } from './flex/index.js';
13
+ import { registerRdTabsLayout } from './tabs/index.js';
14
+ import { registerRdModalLayout } from './modal/index.js';
15
+ import { registerRdCollapsible } from './collapsible/index.js';
16
+ import { registerRdScrollRegion } from './scroll-region/index.js';
17
+ export function registerRosettaDashLayoutElements() {
18
+ registerLayoutAccordion();
19
+ registerLayoutAccordionLinkList();
20
+ registerRdGridLayout();
21
+ registerRdFlexLayout();
22
+ registerRdTabsLayout();
23
+ registerRdModalLayout();
24
+ registerRdCollapsible();
25
+ registerRdScrollRegion();
26
+ }
27
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/web-components/src/layout/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AAEzC,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,+BAA+B,EAAE,MAAM,gCAAgC,CAAC;AACjF,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,MAAM,UAAU,iCAAiC;IAC/C,uBAAuB,EAAE,CAAC;IAC1B,+BAA+B,EAAE,CAAC;IAClC,oBAAoB,EAAE,CAAC;IACvB,oBAAoB,EAAE,CAAC;IACvB,oBAAoB,EAAE,CAAC;IACvB,qBAAqB,EAAE,CAAC;IACxB,qBAAqB,EAAE,CAAC;IACxB,sBAAsB,EAAE,CAAC;AAC3B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export type { ModalLayoutProps } from './rd-modal-layout.js';
2
+ export { registerRdModalLayout, RD_MODAL_LAYOUT_TAG, RdModalLayoutElement } from './rd-modal-layout.js';
@@ -0,0 +1,2 @@
1
+ export { registerRdModalLayout, RD_MODAL_LAYOUT_TAG, RdModalLayoutElement } from './rd-modal-layout.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/web-components/src/layout/modal/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { RosettaAtomElement } from '../../lib/rosetta-atom-element.js';
2
+ export declare const RD_MODAL_LAYOUT_TAG = "rd-modal-layout";
3
+ export interface ModalLayoutProps {
4
+ title?: string;
5
+ body?: string;
6
+ confirmLabel?: string;
7
+ open?: boolean;
8
+ onConfirm?: () => void;
9
+ className?: string;
10
+ style?: Record<string, string>;
11
+ children?: unknown;
12
+ }
13
+ /** @rosettadash/web-components/layout/modal — layout.modal */
14
+ export declare class RdModalLayoutElement extends RosettaAtomElement {
15
+ static readonly tagName = "rd-modal-layout";
16
+ static get observedAttributes(): string[];
17
+ protected buildMarkup(): string;
18
+ protected wireEvents(): void;
19
+ }
20
+ export declare function registerRdModalLayout(): void;
@@ -0,0 +1,40 @@
1
+ import { defineRosettaElement } from '../../lib/element-utils.js';
2
+ import { RosettaAtomElement } from '../../lib/rosetta-atom-element.js';
3
+ export const RD_MODAL_LAYOUT_TAG = 'rd-modal-layout';
4
+ /** @rosettadash/web-components/layout/modal — layout.modal */
5
+ export class RdModalLayoutElement extends RosettaAtomElement {
6
+ static tagName = RD_MODAL_LAYOUT_TAG;
7
+ static get observedAttributes() {
8
+ return ["title", "body", "confirm-label", "open"];
9
+ }
10
+ buildMarkup() {
11
+ const title = this.readAttr('title', 'Dialog');
12
+ const body = this.readAttr('body');
13
+ const confirm = this.readAttr('confirm-label', 'Confirm');
14
+ const open = this.readBoolAttr('open', true);
15
+ if (!open) {
16
+ return `<section class="rd-modal" data-testid="rd-modal" hidden></section>`;
17
+ }
18
+ return `
19
+ <section class="rd-modal" data-testid="rd-modal" role="dialog" aria-modal="true" aria-labelledby="rd-modal-title">
20
+ <div class="rd-modal__dialog">
21
+ <span class="rd-modal__title" id="rd-modal-title">${this.esc(title)}</span>
22
+ ${body ? `<p class="rd-modal__body">${this.esc(body)}</p>` : ''}
23
+ <button type="button" class="rd-modal__confirm rd-button" data-ref="confirm">${this.esc(confirm)}</button>
24
+ <div data-ref="slot"></div>
25
+ </div>
26
+ </section>`;
27
+ }
28
+ wireEvents() {
29
+ this.addEventListener('click', (event) => {
30
+ const target = event.target;
31
+ if (target instanceof HTMLElement && target.matches('[data-ref="confirm"]')) {
32
+ this.dispatchDetail('confirm', {});
33
+ }
34
+ });
35
+ }
36
+ }
37
+ export function registerRdModalLayout() {
38
+ defineRosettaElement(RD_MODAL_LAYOUT_TAG, RdModalLayoutElement);
39
+ }
40
+ //# sourceMappingURL=rd-modal-layout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rd-modal-layout.js","sourceRoot":"","sources":["../../../../../../packages/web-components/src/layout/modal/rd-modal-layout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAEvE,MAAM,CAAC,MAAM,mBAAmB,GAAG,iBAAiB,CAAC;AAarD,8DAA8D;AAC9D,MAAM,OAAO,oBAAqB,SAAQ,kBAAkB;IAC1D,MAAM,CAAU,OAAO,GAAG,mBAAmB,CAAC;IAE9C,MAAM,KAAK,kBAAkB;QAC3B,OAAO,CAAC,OAAO,EAAC,MAAM,EAAC,eAAe,EAAC,MAAM,CAAC,CAAC;IACjD,CAAC;IAES,WAAW;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACnC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;QAC1D,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,oEAAoE,CAAC;QAC9E,CAAC;QACD,OAAO;;;8DAGmD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;YACjE,IAAI,CAAC,CAAC,CAAC,6BAA6B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;yFACgB,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;;;iBAGzF,CAAC;IAChB,CAAC;IAEkB,UAAU;QAC3B,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACvC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;YAC5B,IAAI,MAAM,YAAY,WAAW,IAAI,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,EAAE,CAAC;gBAC5E,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YACrC,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;;AAGH,MAAM,UAAU,qBAAqB;IACnC,oBAAoB,CAAC,mBAAmB,EAAE,oBAAoB,CAAC,CAAC;AAClE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export type { ScrollRegionProps } from './rd-scroll-region.js';
2
+ export { registerRdScrollRegion, RD_SCROLL_REGION_TAG, RdScrollRegionElement } from './rd-scroll-region.js';
@@ -0,0 +1,2 @@
1
+ export { registerRdScrollRegion, RD_SCROLL_REGION_TAG, RdScrollRegionElement } from './rd-scroll-region.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/web-components/src/layout/scroll-region/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { RosettaAtomElement } from '../../lib/rosetta-atom-element.js';
2
+ export declare const RD_SCROLL_REGION_TAG = "rd-scroll-region";
3
+ export interface ScrollRegionProps {
4
+ title?: string;
5
+ maxHeight?: string;
6
+ overlayScrollbar?: boolean;
7
+ className?: string;
8
+ style?: Record<string, string>;
9
+ children?: unknown;
10
+ }
11
+ /** @rosettadash/web-components/layout/scroll-region — layout.scroll-region */
12
+ export declare class RdScrollRegionElement extends RosettaAtomElement {
13
+ static readonly tagName = "rd-scroll-region";
14
+ static get observedAttributes(): string[];
15
+ protected buildMarkup(): string;
16
+ }
17
+ export declare function registerRdScrollRegion(): void;
@@ -0,0 +1,26 @@
1
+ import { defineRosettaElement } from '../../lib/element-utils.js';
2
+ import { RosettaAtomElement } from '../../lib/rosetta-atom-element.js';
3
+ export const RD_SCROLL_REGION_TAG = 'rd-scroll-region';
4
+ /** @rosettadash/web-components/layout/scroll-region — layout.scroll-region */
5
+ export class RdScrollRegionElement extends RosettaAtomElement {
6
+ static tagName = RD_SCROLL_REGION_TAG;
7
+ static get observedAttributes() {
8
+ return ["title", "max-height", "overlay-scrollbar"];
9
+ }
10
+ buildMarkup() {
11
+ const title = this.readAttr('title');
12
+ const maxHeight = this.readAttr('max-height');
13
+ const overlay = this.readBoolAttr('overlay-scrollbar', true);
14
+ const overlayClass = overlay ? ' rd-scroll-region--overlay-scrollbar' : '';
15
+ const heightStyle = maxHeight ? ` style="max-height:${this.esc(maxHeight)}"` : '';
16
+ return `
17
+ <section class="rd-scroll-region rd-scroll-region${overlayClass}" data-testid="rd-scroll-region" aria-label="${this.esc(title || 'Scrollable content')}"${heightStyle}>
18
+ ${title ? `<header class="rd-scroll-region__header">${this.esc(title)}</header>` : ''}
19
+ <div class="rd-scroll-region__body" data-ref="slot"></div>
20
+ </section>`;
21
+ }
22
+ }
23
+ export function registerRdScrollRegion() {
24
+ defineRosettaElement(RD_SCROLL_REGION_TAG, RdScrollRegionElement);
25
+ }
26
+ //# sourceMappingURL=rd-scroll-region.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rd-scroll-region.js","sourceRoot":"","sources":["../../../../../../packages/web-components/src/layout/scroll-region/rd-scroll-region.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAEvE,MAAM,CAAC,MAAM,oBAAoB,GAAG,kBAAkB,CAAC;AAWvD,8EAA8E;AAC9E,MAAM,OAAO,qBAAsB,SAAQ,kBAAkB;IAC3D,MAAM,CAAU,OAAO,GAAG,oBAAoB,CAAC;IAE/C,MAAM,KAAK,kBAAkB;QAC3B,OAAO,CAAC,OAAO,EAAC,YAAY,EAAC,mBAAmB,CAAC,CAAC;IACpD,CAAC;IAES,WAAW;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACrC,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;QAC7D,MAAM,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,sCAAsC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3E,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,sBAAsB,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAClF,OAAO;yDAC8C,YAAY,gDAAgD,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,oBAAoB,CAAC,IAAI,WAAW;UACjK,KAAK,CAAC,CAAC,CAAC,4CAA4C,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;;iBAE5E,CAAC;IAChB,CAAC;;AAGH,MAAM,UAAU,sBAAsB;IACpC,oBAAoB,CAAC,oBAAoB,EAAE,qBAAqB,CAAC,CAAC;AACpE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export type { TabsLayoutProps } from './rd-tabs-layout.js';
2
+ export { registerRdTabsLayout, RD_TABS_LAYOUT_TAG, RdTabsLayoutElement } from './rd-tabs-layout.js';
@@ -0,0 +1,2 @@
1
+ export { registerRdTabsLayout, RD_TABS_LAYOUT_TAG, RdTabsLayoutElement } from './rd-tabs-layout.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/web-components/src/layout/tabs/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { RosettaAtomElement } from '../../lib/rosetta-atom-element.js';
2
+ export declare const RD_TABS_LAYOUT_TAG = "rd-tabs-layout";
3
+ export interface TabsLayoutTab {
4
+ id: string;
5
+ label: string;
6
+ }
7
+ export interface TabsLayoutProps {
8
+ title?: string;
9
+ tabs?: TabsLayoutTab[];
10
+ activeTabId?: string;
11
+ onTabChange?: (tabId: string) => void;
12
+ className?: string;
13
+ style?: Record<string, string>;
14
+ children?: unknown;
15
+ }
16
+ /** @rosettadash/web-components/layout/tabs — layout.tabs */
17
+ export declare class RdTabsLayoutElement extends RosettaAtomElement {
18
+ static readonly tagName = "rd-tabs-layout";
19
+ static get observedAttributes(): string[];
20
+ protected buildMarkup(): string;
21
+ protected wireEvents(): void;
22
+ }
23
+ export declare function registerRdTabsLayout(): void;
@@ -0,0 +1,34 @@
1
+ import { defineRosettaElement } from '../../lib/element-utils.js';
2
+ import { RosettaAtomElement } from '../../lib/rosetta-atom-element.js';
3
+ export const RD_TABS_LAYOUT_TAG = 'rd-tabs-layout';
4
+ /** @rosettadash/web-components/layout/tabs — layout.tabs */
5
+ export class RdTabsLayoutElement extends RosettaAtomElement {
6
+ static tagName = RD_TABS_LAYOUT_TAG;
7
+ static get observedAttributes() {
8
+ return ["title", "tabs", "active-tab-id"];
9
+ }
10
+ buildMarkup() {
11
+ const title = this.readAttr('title');
12
+ const active = this.readAttr('active-tab-id');
13
+ const tabs = this.parseJsonAttr('tabs', []);
14
+ const tabButtons = tabs.map((tab) => `<button type="button" role="tab" class="rd-tabs__tab${tab.id === active ? ' rd-tabs__tab--active' : ''}" data-tab-id="${this.esc(tab.id)}" aria-selected="${tab.id === active ? 'true' : 'false'}">${this.esc(tab.label)}</button>`).join('');
15
+ return `
16
+ <section class="rd-tabs rd-tabs" data-testid="rd-tabs">
17
+ ${title ? `<span class="rd-tabs__title">${this.esc(title)}</span>` : ''}
18
+ <div class="rd-tabs__tabs" role="tablist">${tabButtons}</div>
19
+ <div class="rd-tabs__panel" data-ref="slot"></div>
20
+ </section>`;
21
+ }
22
+ wireEvents() {
23
+ this.addEventListener('click', (event) => {
24
+ const target = event.target;
25
+ if (target instanceof HTMLElement && target.dataset['tabId']) {
26
+ this.dispatchDetail('tab-change', { tabId: target.dataset['tabId'] });
27
+ }
28
+ });
29
+ }
30
+ }
31
+ export function registerRdTabsLayout() {
32
+ defineRosettaElement(RD_TABS_LAYOUT_TAG, RdTabsLayoutElement);
33
+ }
34
+ //# sourceMappingURL=rd-tabs-layout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rd-tabs-layout.js","sourceRoot":"","sources":["../../../../../../packages/web-components/src/layout/tabs/rd-tabs-layout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAEvE,MAAM,CAAC,MAAM,kBAAkB,GAAG,gBAAgB,CAAC;AAiBnD,4DAA4D;AAC5D,MAAM,OAAO,mBAAoB,SAAQ,kBAAkB;IACzD,MAAM,CAAU,OAAO,GAAG,kBAAkB,CAAC;IAE7C,MAAM,KAAK,kBAAkB;QAC3B,OAAO,CAAC,OAAO,EAAC,MAAM,EAAC,eAAe,CAAC,CAAC;IAC1C,CAAC;IAES,WAAW;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACrC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAuC,MAAM,EAAE,EAAE,CAAC,CAAC;QAClF,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,uDAAuD,GAAG,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,EAAE,kBAAkB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,oBAAoB,GAAG,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpR,OAAO;;UAED,KAAK,CAAC,CAAC,CAAC,gCAAgC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;oDAC3B,UAAU;;iBAE7C,CAAC;IAChB,CAAC;IAEkB,UAAU;QAC3B,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACvC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;YAC5B,IAAI,MAAM,YAAY,WAAW,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC7D,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACxE,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;;AAGH,MAAM,UAAU,oBAAoB;IAClC,oBAAoB,CAAC,kBAAkB,EAAE,mBAAmB,CAAC,CAAC;AAChE,CAAC"}
@@ -10,6 +10,9 @@ export function defineRosettaElement(tagName, ctor, options) {
10
10
  }
11
11
  }
12
12
  export function readNumber(value, fallback) {
13
+ if (value === null || value === undefined || value === '') {
14
+ return fallback;
15
+ }
13
16
  const next = Number(value);
14
17
  return Number.isFinite(next) ? next : fallback;
15
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"element-utils.js","sourceRoot":"","sources":["../../../../../packages/web-components/src/lib/element-utils.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,oBAAoB,CAClC,OAAe,EACf,IAA8B,EAC9B,OAAqC;IAErC,IAAI,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QAChC,OAAO;IACT,CAAC;IACD,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;QACrB,cAAc,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IACrE,CAAC;SAAM,CAAC;QACN,cAAc,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACvC,CAAC;AACH,CAAC;AAID,MAAM,UAAU,UAAU,CAAC,KAAc,EAAE,QAAgB;IACzD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3B,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAc,EAAE,QAAgB;IACzD,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;AACtD,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;CA0B1B,CAAC"}
1
+ {"version":3,"file":"element-utils.js","sourceRoot":"","sources":["../../../../../packages/web-components/src/lib/element-utils.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,oBAAoB,CAClC,OAAe,EACf,IAA8B,EAC9B,OAAqC;IAErC,IAAI,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QAChC,OAAO;IACT,CAAC;IACD,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;QACrB,cAAc,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IACrE,CAAC;SAAM,CAAC;QACN,cAAc,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACvC,CAAC;AACH,CAAC;AAID,MAAM,UAAU,UAAU,CAAC,KAAc,EAAE,QAAgB;IACzD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;QAC1D,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3B,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAc,EAAE,QAAgB;IACzD,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;AACtD,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;CA0B1B,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { escapeHtml } from './parse-link-items.js';
2
+ /** Light-DOM atom base — renders taxonomy BEM markup; opt-in styles from styles.css. */
3
+ export declare abstract class RosettaAtomElement extends HTMLElement {
4
+ private eventsWired;
5
+ connectedCallback(): void;
6
+ attributeChangedCallback(_name: string): void;
7
+ /** Complex props (arrays/objects) synced from framework hosts via setProperty. */
8
+ setProperty(name: string, value: unknown): void;
9
+ whenReady(): Promise<void>;
10
+ protected paint(): void;
11
+ protected preserveLightDomChildren(): Node[];
12
+ protected restoreLightDomChildren(nodes: Node[]): void;
13
+ protected abstract buildMarkup(): string;
14
+ protected wireEvents(): void;
15
+ protected afterPaint(): void;
16
+ protected readAttr(name: string, fallback?: string): string;
17
+ protected readBoolAttr(name: string, fallback?: boolean): boolean;
18
+ protected readNumAttr(name: string, fallback: number): number;
19
+ protected parseJsonAttr<T>(name: string, fallback: T): T;
20
+ protected esc(value: string): string;
21
+ protected dispatchDetail<T>(type: string, detail: T): void;
22
+ }
23
+ export { escapeHtml };
@@ -0,0 +1,104 @@
1
+ import { readNumber, readString } from './element-utils.js';
2
+ import { escapeHtml } from './parse-link-items.js';
3
+ /** Light-DOM atom base — renders taxonomy BEM markup; opt-in styles from styles.css. */
4
+ export class RosettaAtomElement extends HTMLElement {
5
+ eventsWired = false;
6
+ connectedCallback() {
7
+ this.paint();
8
+ if (!this.eventsWired) {
9
+ this.wireEvents();
10
+ this.eventsWired = true;
11
+ }
12
+ }
13
+ attributeChangedCallback(_name) {
14
+ if (this.isConnected) {
15
+ this.paint();
16
+ }
17
+ }
18
+ /** Complex props (arrays/objects) synced from framework hosts via setProperty. */
19
+ setProperty(name, value) {
20
+ this[name] = value;
21
+ if (value === undefined || value === null) {
22
+ this.removeAttribute(name);
23
+ }
24
+ else if (typeof value === 'object') {
25
+ this.setAttribute(name, JSON.stringify(value));
26
+ }
27
+ else {
28
+ this.setAttribute(name, String(value));
29
+ }
30
+ if (this.isConnected) {
31
+ this.paint();
32
+ }
33
+ }
34
+ whenReady() {
35
+ return Promise.resolve();
36
+ }
37
+ paint() {
38
+ const preserved = this.preserveLightDomChildren();
39
+ this.innerHTML = this.buildMarkup();
40
+ this.restoreLightDomChildren(preserved);
41
+ this.afterPaint();
42
+ }
43
+ preserveLightDomChildren() {
44
+ const slot = this.querySelector('[data-ref="slot"]');
45
+ if (slot) {
46
+ return [...slot.childNodes];
47
+ }
48
+ return [...this.childNodes];
49
+ }
50
+ restoreLightDomChildren(nodes) {
51
+ const slot = this.querySelector('[data-ref="slot"]');
52
+ if (!slot) {
53
+ return;
54
+ }
55
+ for (const node of nodes) {
56
+ slot.appendChild(node);
57
+ }
58
+ }
59
+ wireEvents() {
60
+ /* override in interactive atoms */
61
+ }
62
+ afterPaint() {
63
+ /* override */
64
+ }
65
+ readAttr(name, fallback = '') {
66
+ return readString(this.getAttribute(name), fallback);
67
+ }
68
+ readBoolAttr(name, fallback = false) {
69
+ if (!this.hasAttribute(name)) {
70
+ return fallback;
71
+ }
72
+ const raw = this.getAttribute(name);
73
+ if (raw === '' || raw === 'true') {
74
+ return true;
75
+ }
76
+ if (raw === 'false') {
77
+ return false;
78
+ }
79
+ return fallback;
80
+ }
81
+ readNumAttr(name, fallback) {
82
+ return readNumber(this.getAttribute(name), fallback);
83
+ }
84
+ parseJsonAttr(name, fallback) {
85
+ const raw = this.getAttribute(name);
86
+ if (!raw) {
87
+ return fallback;
88
+ }
89
+ try {
90
+ return JSON.parse(raw);
91
+ }
92
+ catch {
93
+ return fallback;
94
+ }
95
+ }
96
+ esc(value) {
97
+ return escapeHtml(value);
98
+ }
99
+ dispatchDetail(type, detail) {
100
+ this.dispatchEvent(new CustomEvent(type, { detail, bubbles: true, composed: true }));
101
+ }
102
+ }
103
+ export { escapeHtml };
104
+ //# sourceMappingURL=rosetta-atom-element.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rosetta-atom-element.js","sourceRoot":"","sources":["../../../../../packages/web-components/src/lib/rosetta-atom-element.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,9 @@ export const SHADOW_ELEMENT_DIRS = {
6
6
  'rd-link-list': 'visual/link-list',
7
7
  'rd-video-source': 'visual/media/video-source',
8
8
  'rd-equirect-viewport': 'visual/media/equirect-viewport',
9
+ 'rd-youtube-embed': 'visual/media/youtube-embed',
10
+ 'rd-app-language-select': 'domain/i18n/app-language-select',
11
+ 'rd-geo-map': 'visual/display/geo-map',
9
12
  'rd-wasm-media': 'wasm/wasm-media',
10
13
  'rd-component-name': 'catalog/component-name',
11
14
  };