@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.
- package/browser/media.js +461 -39
- package/browser/media.js.map +3 -3
- package/package.json +332 -36
- package/src/domain/i18n/app-language-select/index.d.ts +3 -0
- package/src/domain/i18n/app-language-select/index.js +3 -0
- package/src/domain/i18n/app-language-select/index.js.map +1 -0
- package/src/domain/i18n/app-language-select/parse-locale-options.d.ts +7 -0
- package/src/domain/i18n/app-language-select/parse-locale-options.js +39 -0
- package/src/domain/i18n/app-language-select/parse-locale-options.js.map +1 -0
- package/src/domain/i18n/app-language-select/rd-app-language-select.d.ts +38 -0
- package/src/domain/i18n/app-language-select/rd-app-language-select.js +138 -0
- package/src/domain/i18n/app-language-select/rd-app-language-select.js.map +1 -0
- package/src/domain/i18n/index.d.ts +2 -0
- package/src/domain/i18n/index.js +6 -0
- package/src/domain/i18n/index.js.map +1 -0
- package/src/domain/index.d.ts +6 -0
- package/src/domain/index.js +18 -0
- package/src/domain/index.js.map +1 -0
- package/src/domain/person-invite/index.d.ts +2 -0
- package/src/domain/person-invite/index.js +2 -0
- package/src/domain/person-invite/index.js.map +1 -0
- package/src/domain/person-invite/rd-person-invite.d.ts +17 -0
- package/src/domain/person-invite/rd-person-invite.js +33 -0
- package/src/domain/person-invite/rd-person-invite.js.map +1 -0
- package/src/domain/role-assign/index.d.ts +2 -0
- package/src/domain/role-assign/index.js +2 -0
- package/src/domain/role-assign/index.js.map +1 -0
- package/src/domain/role-assign/rd-role-assign.d.ts +21 -0
- package/src/domain/role-assign/rd-role-assign.js +36 -0
- package/src/domain/role-assign/rd-role-assign.js.map +1 -0
- package/src/domain/role-gate/index.d.ts +2 -0
- package/src/domain/role-gate/index.js +2 -0
- package/src/domain/role-gate/index.js.map +1 -0
- package/src/domain/role-gate/rd-role-gate.d.ts +19 -0
- package/src/domain/role-gate/rd-role-gate.js +31 -0
- package/src/domain/role-gate/rd-role-gate.js.map +1 -0
- package/src/domain/time-preset/index.d.ts +2 -0
- package/src/domain/time-preset/index.js +2 -0
- package/src/domain/time-preset/index.js.map +1 -0
- package/src/domain/time-preset/rd-time-preset.d.ts +23 -0
- package/src/domain/time-preset/rd-time-preset.js +34 -0
- package/src/domain/time-preset/rd-time-preset.js.map +1 -0
- package/src/index.d.ts +5 -5
- package/src/index.js +13 -13
- package/src/index.js.map +1 -1
- package/src/layout/collapsible/index.d.ts +2 -0
- package/src/layout/collapsible/index.js +2 -0
- package/src/layout/collapsible/index.js.map +1 -0
- package/src/layout/collapsible/rd-collapsible.d.ts +21 -0
- package/src/layout/collapsible/rd-collapsible.js +50 -0
- package/src/layout/collapsible/rd-collapsible.js.map +1 -0
- package/src/layout/flex/index.d.ts +2 -0
- package/src/layout/flex/index.js +2 -0
- package/src/layout/flex/index.js.map +1 -0
- package/src/layout/flex/rd-flex-layout.d.ts +17 -0
- package/src/layout/flex/rd-flex-layout.js +24 -0
- package/src/layout/flex/rd-flex-layout.js.map +1 -0
- package/src/layout/grid/index.d.ts +2 -0
- package/src/layout/grid/index.js +2 -0
- package/src/layout/grid/index.js.map +1 -0
- package/src/layout/grid/rd-grid-layout.d.ts +17 -0
- package/src/layout/grid/rd-grid-layout.js +24 -0
- package/src/layout/grid/rd-grid-layout.js.map +1 -0
- package/src/layout/index.d.ts +9 -0
- package/src/layout/index.js +27 -0
- package/src/layout/index.js.map +1 -0
- package/src/layout/modal/index.d.ts +2 -0
- package/src/layout/modal/index.js +2 -0
- package/src/layout/modal/index.js.map +1 -0
- package/src/layout/modal/rd-modal-layout.d.ts +20 -0
- package/src/layout/modal/rd-modal-layout.js +40 -0
- package/src/layout/modal/rd-modal-layout.js.map +1 -0
- package/src/layout/scroll-region/index.d.ts +2 -0
- package/src/layout/scroll-region/index.js +2 -0
- package/src/layout/scroll-region/index.js.map +1 -0
- package/src/layout/scroll-region/rd-scroll-region.d.ts +17 -0
- package/src/layout/scroll-region/rd-scroll-region.js +26 -0
- package/src/layout/scroll-region/rd-scroll-region.js.map +1 -0
- package/src/layout/tabs/index.d.ts +2 -0
- package/src/layout/tabs/index.js +2 -0
- package/src/layout/tabs/index.js.map +1 -0
- package/src/layout/tabs/rd-tabs-layout.d.ts +23 -0
- package/src/layout/tabs/rd-tabs-layout.js +34 -0
- package/src/layout/tabs/rd-tabs-layout.js.map +1 -0
- package/src/lib/element-utils.js +3 -0
- package/src/lib/element-utils.js.map +1 -1
- package/src/lib/rosetta-atom-element.d.ts +23 -0
- package/src/lib/rosetta-atom-element.js +104 -0
- package/src/lib/rosetta-atom-element.js.map +1 -0
- package/src/lib/shadow-base.js +3 -0
- package/src/lib/shadow-base.js.map +1 -1
- package/src/lib/shadow-resources.js +7 -2
- package/src/lib/shadow-resources.js.map +1 -1
- package/src/logic/index.d.ts +2 -0
- package/src/logic/index.js +6 -0
- package/src/logic/index.js.map +1 -0
- package/src/logic/timer/index.d.ts +2 -0
- package/src/logic/timer/index.js +2 -0
- package/src/logic/timer/index.js.map +1 -0
- package/src/logic/timer/rd-timer.d.ts +18 -0
- package/src/logic/timer/rd-timer.js +24 -0
- package/src/logic/timer/rd-timer.js.map +1 -0
- package/src/visual/chart/bar/index.d.ts +2 -0
- package/src/visual/chart/bar/index.js +2 -0
- package/src/visual/chart/bar/index.js.map +1 -0
- package/src/visual/chart/bar/rd-bar-chart.d.ts +21 -0
- package/src/visual/chart/bar/rd-bar-chart.js +83 -0
- package/src/visual/chart/bar/rd-bar-chart.js.map +1 -0
- package/src/visual/chart/line/index.d.ts +2 -0
- package/src/visual/chart/line/index.js +2 -0
- package/src/visual/chart/line/index.js.map +1 -0
- package/src/visual/chart/line/rd-line-chart.d.ts +22 -0
- package/src/visual/chart/line/rd-line-chart.js +105 -0
- package/src/visual/chart/line/rd-line-chart.js.map +1 -0
- package/src/visual/chart/pie/index.d.ts +2 -0
- package/src/visual/chart/pie/index.js +2 -0
- package/src/visual/chart/pie/index.js.map +1 -0
- package/src/visual/chart/pie/rd-pie-chart.d.ts +15 -0
- package/src/visual/chart/pie/rd-pie-chart.js +23 -0
- package/src/visual/chart/pie/rd-pie-chart.js.map +1 -0
- package/src/visual/detail/index.d.ts +2 -0
- package/src/visual/detail/index.js +2 -0
- package/src/visual/detail/index.js.map +1 -0
- package/src/visual/detail/rd-detail-panel.d.ts +16 -0
- package/src/visual/detail/rd-detail-panel.js +24 -0
- package/src/visual/detail/rd-detail-panel.js.map +1 -0
- package/src/visual/display/3d-bar-chart/index.d.ts +2 -0
- package/src/visual/display/3d-bar-chart/index.js +2 -0
- package/src/visual/display/3d-bar-chart/index.js.map +1 -0
- package/src/visual/display/3d-bar-chart/rd-three-bar-chart.d.ts +16 -0
- package/src/visual/display/3d-bar-chart/rd-three-bar-chart.js +24 -0
- package/src/visual/display/3d-bar-chart/rd-three-bar-chart.js.map +1 -0
- package/src/visual/display/3d-geo-globe/globe-view.d.ts +86 -0
- package/src/visual/display/3d-geo-globe/globe-view.js +235 -0
- package/src/visual/display/3d-geo-globe/globe-view.js.map +1 -0
- package/src/visual/display/3d-geo-globe/index.d.ts +3 -0
- package/src/visual/display/3d-geo-globe/index.js +3 -0
- package/src/visual/display/3d-geo-globe/index.js.map +1 -0
- package/src/visual/display/3d-geo-globe/rd-three-geo-globe.d.ts +36 -0
- package/src/visual/display/3d-geo-globe/rd-three-geo-globe.js +330 -0
- package/src/visual/display/3d-geo-globe/rd-three-geo-globe.js.map +1 -0
- package/src/visual/display/3d-gltf-model/index.d.ts +2 -0
- package/src/visual/display/3d-gltf-model/index.js +2 -0
- package/src/visual/display/3d-gltf-model/index.js.map +1 -0
- package/src/visual/display/3d-gltf-model/rd-three-gltf-model.d.ts +16 -0
- package/src/visual/display/3d-gltf-model/rd-three-gltf-model.js +24 -0
- package/src/visual/display/3d-gltf-model/rd-three-gltf-model.js.map +1 -0
- package/src/visual/display/3d-scatter/index.d.ts +2 -0
- package/src/visual/display/3d-scatter/index.js +2 -0
- package/src/visual/display/3d-scatter/index.js.map +1 -0
- package/src/visual/display/3d-scatter/rd-three-scatter-plot.d.ts +16 -0
- package/src/visual/display/3d-scatter/rd-three-scatter-plot.js +24 -0
- package/src/visual/display/3d-scatter/rd-three-scatter-plot.js.map +1 -0
- package/src/visual/display/3d-scene/index.d.ts +2 -0
- package/src/visual/display/3d-scene/index.js +2 -0
- package/src/visual/display/3d-scene/index.js.map +1 -0
- package/src/visual/display/3d-scene/rd-three-scene-point-cloud.d.ts +16 -0
- package/src/visual/display/3d-scene/rd-three-scene-point-cloud.js +24 -0
- package/src/visual/display/3d-scene/rd-three-scene-point-cloud.js.map +1 -0
- package/src/visual/display/geo-map/geo-map-types.d.ts +32 -0
- package/src/visual/display/geo-map/geo-map-types.js +10 -0
- package/src/visual/display/geo-map/geo-map-types.js.map +1 -0
- package/src/visual/display/geo-map/index.d.ts +5 -0
- package/src/visual/display/geo-map/index.js +5 -0
- package/src/visual/display/geo-map/index.js.map +1 -0
- package/src/visual/display/geo-map/parse-center.d.ts +5 -0
- package/src/visual/display/geo-map/parse-center.js +28 -0
- package/src/visual/display/geo-map/parse-center.js.map +1 -0
- package/src/visual/display/geo-map/parse-markers.d.ts +2 -0
- package/src/visual/display/geo-map/parse-markers.js +32 -0
- package/src/visual/display/geo-map/parse-markers.js.map +1 -0
- package/src/visual/display/geo-map/providers/create-adapter.d.ts +2 -0
- package/src/visual/display/geo-map/providers/create-adapter.js +11 -0
- package/src/visual/display/geo-map/providers/create-adapter.js.map +1 -0
- package/src/visual/display/geo-map/providers/google-maps-adapter.d.ts +2 -0
- package/src/visual/display/geo-map/providers/google-maps-adapter.js +63 -0
- package/src/visual/display/geo-map/providers/google-maps-adapter.js.map +1 -0
- package/src/visual/display/geo-map/providers/leaflet-adapter.d.ts +2 -0
- package/src/visual/display/geo-map/providers/leaflet-adapter.js +78 -0
- package/src/visual/display/geo-map/providers/leaflet-adapter.js.map +1 -0
- package/src/visual/display/geo-map/providers/maplibre-adapter.d.ts +2 -0
- package/src/visual/display/geo-map/providers/maplibre-adapter.js +71 -0
- package/src/visual/display/geo-map/providers/maplibre-adapter.js.map +1 -0
- package/src/visual/display/geo-map/providers/provider-utils.d.ts +8 -0
- package/src/visual/display/geo-map/providers/provider-utils.js +28 -0
- package/src/visual/display/geo-map/providers/provider-utils.js.map +1 -0
- package/src/visual/display/geo-map/rd-geo-map.d.ts +48 -0
- package/src/visual/display/geo-map/rd-geo-map.js +219 -0
- package/src/visual/display/geo-map/rd-geo-map.js.map +1 -0
- package/src/visual/display/index.d.ts +7 -0
- package/src/visual/display/index.js +21 -0
- package/src/visual/display/index.js.map +1 -0
- package/src/visual/index.d.ts +34 -0
- package/src/visual/index.js +102 -0
- package/src/visual/index.js.map +1 -0
- package/src/visual/input/checkbox/index.d.ts +2 -0
- package/src/visual/input/checkbox/index.js +2 -0
- package/src/visual/input/checkbox/index.js.map +1 -0
- package/src/visual/input/checkbox/rd-checkbox-input.d.ts +19 -0
- package/src/visual/input/checkbox/rd-checkbox-input.js +32 -0
- package/src/visual/input/checkbox/rd-checkbox-input.js.map +1 -0
- package/src/visual/input/date-range/index.d.ts +2 -0
- package/src/visual/input/date-range/index.js +2 -0
- package/src/visual/input/date-range/index.js.map +1 -0
- package/src/visual/input/date-range/rd-date-range-filter.d.ts +24 -0
- package/src/visual/input/date-range/rd-date-range-filter.js +42 -0
- package/src/visual/input/date-range/rd-date-range-filter.js.map +1 -0
- package/src/visual/input/number/index.d.ts +2 -0
- package/src/visual/input/number/index.js +2 -0
- package/src/visual/input/number/index.js.map +1 -0
- package/src/visual/input/number/rd-number-input.d.ts +22 -0
- package/src/visual/input/number/rd-number-input.js +36 -0
- package/src/visual/input/number/rd-number-input.js.map +1 -0
- package/src/visual/input/select/index.d.ts +2 -0
- package/src/visual/input/select/index.js +2 -0
- package/src/visual/input/select/index.js.map +1 -0
- package/src/visual/input/select/rd-select-input.d.ts +24 -0
- package/src/visual/input/select/rd-select-input.js +37 -0
- package/src/visual/input/select/rd-select-input.js.map +1 -0
- package/src/visual/input/text/index.d.ts +2 -0
- package/src/visual/input/text/index.js +2 -0
- package/src/visual/input/text/index.js.map +1 -0
- package/src/visual/input/text/rd-text-input.d.ts +21 -0
- package/src/visual/input/text/rd-text-input.js +35 -0
- package/src/visual/input/text/rd-text-input.js.map +1 -0
- package/src/visual/input/textarea/index.d.ts +2 -0
- package/src/visual/input/textarea/index.js +2 -0
- package/src/visual/input/textarea/index.js.map +1 -0
- package/src/visual/input/textarea/rd-textarea-input.d.ts +20 -0
- package/src/visual/input/textarea/rd-textarea-input.js +34 -0
- package/src/visual/input/textarea/rd-textarea-input.js.map +1 -0
- package/src/visual/kpi/index.d.ts +2 -0
- package/src/visual/kpi/index.js +2 -0
- package/src/visual/kpi/index.js.map +1 -0
- package/src/visual/kpi/rd-kpi-card.d.ts +18 -0
- package/src/visual/kpi/rd-kpi-card.js +26 -0
- package/src/visual/kpi/rd-kpi-card.js.map +1 -0
- package/src/visual/media/index.d.ts +2 -0
- package/src/visual/media/index.js +6 -0
- package/src/visual/media/index.js.map +1 -1
- package/src/visual/media/live-capture/index.d.ts +2 -0
- package/src/visual/media/live-capture/index.js +2 -0
- package/src/visual/media/live-capture/index.js.map +1 -0
- package/src/visual/media/live-capture/rd-live-capture.d.ts +16 -0
- package/src/visual/media/live-capture/rd-live-capture.js +23 -0
- package/src/visual/media/live-capture/rd-live-capture.js.map +1 -0
- package/src/visual/media/video-source/rd-video-source.d.ts +5 -0
- package/src/visual/media/video-source/rd-video-source.js +101 -18
- package/src/visual/media/video-source/rd-video-source.js.map +1 -1
- package/src/visual/media/youtube-embed/index.d.ts +3 -0
- package/src/visual/media/youtube-embed/index.js +3 -0
- package/src/visual/media/youtube-embed/index.js.map +1 -0
- package/src/visual/media/youtube-embed/parse-youtube-id.d.ts +10 -0
- package/src/visual/media/youtube-embed/parse-youtube-id.js +56 -0
- package/src/visual/media/youtube-embed/parse-youtube-id.js.map +1 -0
- package/src/visual/media/youtube-embed/rd-youtube-embed.d.ts +35 -0
- package/src/visual/media/youtube-embed/rd-youtube-embed.js +121 -0
- package/src/visual/media/youtube-embed/rd-youtube-embed.js.map +1 -0
- package/src/visual/news/article-detail/index.d.ts +2 -0
- package/src/visual/news/article-detail/index.js +2 -0
- package/src/visual/news/article-detail/index.js.map +1 -0
- package/src/visual/news/article-detail/rd-news-article-detail.d.ts +16 -0
- package/src/visual/news/article-detail/rd-news-article-detail.js +24 -0
- package/src/visual/news/article-detail/rd-news-article-detail.js.map +1 -0
- package/src/visual/news/language-select/index.d.ts +2 -0
- package/src/visual/news/language-select/index.js +2 -0
- package/src/visual/news/language-select/index.js.map +1 -0
- package/src/visual/news/language-select/rd-news-language-select.d.ts +23 -0
- package/src/visual/news/language-select/rd-news-language-select.js +37 -0
- package/src/visual/news/language-select/rd-news-language-select.js.map +1 -0
- package/src/visual/news/region-select/index.d.ts +2 -0
- package/src/visual/news/region-select/index.js +2 -0
- package/src/visual/news/region-select/index.js.map +1 -0
- package/src/visual/news/region-select/rd-news-region-select.d.ts +23 -0
- package/src/visual/news/region-select/rd-news-region-select.js +37 -0
- package/src/visual/news/region-select/rd-news-region-select.js.map +1 -0
- package/src/visual/news/results-table/index.d.ts +2 -0
- package/src/visual/news/results-table/index.js +2 -0
- package/src/visual/news/results-table/index.js.map +1 -0
- package/src/visual/news/results-table/rd-news-results-table.d.ts +16 -0
- package/src/visual/news/results-table/rd-news-results-table.js +33 -0
- package/src/visual/news/results-table/rd-news-results-table.js.map +1 -0
- package/src/visual/news/search-box/index.d.ts +2 -0
- package/src/visual/news/search-box/index.js +2 -0
- package/src/visual/news/search-box/index.js.map +1 -0
- package/src/visual/news/search-box/rd-news-search-box.d.ts +19 -0
- package/src/visual/news/search-box/rd-news-search-box.js +42 -0
- package/src/visual/news/search-box/rd-news-search-box.js.map +1 -0
- package/src/visual/news/type-select/index.d.ts +2 -0
- package/src/visual/news/type-select/index.js +2 -0
- package/src/visual/news/type-select/index.js.map +1 -0
- package/src/visual/news/type-select/rd-news-type-select.d.ts +23 -0
- package/src/visual/news/type-select/rd-news-type-select.js +37 -0
- package/src/visual/news/type-select/rd-news-type-select.js.map +1 -0
- package/src/visual/plugin/metric-chip/index.d.ts +2 -0
- package/src/visual/plugin/metric-chip/index.js +2 -0
- package/src/visual/plugin/metric-chip/index.js.map +1 -0
- package/src/visual/plugin/metric-chip/rd-metric-chip.d.ts +16 -0
- package/src/visual/plugin/metric-chip/rd-metric-chip.js +23 -0
- package/src/visual/plugin/metric-chip/rd-metric-chip.js.map +1 -0
- package/src/visual/plugin/status-badge/index.d.ts +2 -0
- package/src/visual/plugin/status-badge/index.js +2 -0
- package/src/visual/plugin/status-badge/index.js.map +1 -0
- package/src/visual/plugin/status-badge/rd-status-badge.d.ts +16 -0
- package/src/visual/plugin/status-badge/rd-status-badge.js +19 -0
- package/src/visual/plugin/status-badge/rd-status-badge.js.map +1 -0
- package/src/visual/skeleton/index.d.ts +2 -0
- package/src/visual/skeleton/index.js +2 -0
- package/src/visual/skeleton/index.js.map +1 -0
- package/src/visual/skeleton/rd-loading-skeleton.d.ts +15 -0
- package/src/visual/skeleton/rd-loading-skeleton.js +20 -0
- package/src/visual/skeleton/rd-loading-skeleton.js.map +1 -0
- package/src/visual/svg/icon/index.d.ts +2 -0
- package/src/visual/svg/icon/index.js +2 -0
- package/src/visual/svg/icon/index.js.map +1 -0
- package/src/visual/svg/icon/rd-svg-icon.d.ts +18 -0
- package/src/visual/svg/icon/rd-svg-icon.js +20 -0
- package/src/visual/svg/icon/rd-svg-icon.js.map +1 -0
- package/src/visual/svg/inline/index.d.ts +2 -0
- package/src/visual/svg/inline/index.js +2 -0
- package/src/visual/svg/inline/index.js.map +1 -0
- package/src/visual/svg/inline/rd-svg-inline.d.ts +17 -0
- package/src/visual/svg/inline/rd-svg-inline.js +20 -0
- package/src/visual/svg/inline/rd-svg-inline.js.map +1 -0
- package/src/visual/table/index.d.ts +2 -0
- package/src/visual/table/index.js +2 -0
- package/src/visual/table/index.js.map +1 -0
- package/src/visual/table/rd-data-table.d.ts +26 -0
- package/src/visual/table/rd-data-table.js +46 -0
- package/src/visual/table/rd-data-table.js.map +1 -0
- package/src/visual/wasm/media/index.d.ts +1 -0
- package/src/visual/wasm/media/index.js +2 -0
- package/src/visual/wasm/media/index.js.map +1 -0
- package/src/visual/wasm/module/index.d.ts +2 -0
- package/src/visual/wasm/module/index.js +2 -0
- package/src/visual/wasm/module/index.js.map +1 -0
- package/src/visual/wasm/module/rd-wasm-module.d.ts +16 -0
- package/src/visual/wasm/module/rd-wasm-module.js +24 -0
- package/src/visual/wasm/module/rd-wasm-module.js.map +1 -0
- package/src/visual/wasm/worker-host/index.d.ts +2 -0
- package/src/visual/wasm/worker-host/index.js +2 -0
- package/src/visual/wasm/worker-host/index.js.map +1 -0
- package/src/visual/wasm/worker-host/rd-wasm-worker-host.d.ts +16 -0
- package/src/visual/wasm/worker-host/rd-wasm-worker-host.js +24 -0
- package/src/visual/wasm/worker-host/rd-wasm-worker-host.js.map +1 -0
- package/src/wasm/wasm-media/rd-wasm-media.d.ts +10 -0
- package/src/wasm/wasm-media/rd-wasm-media.js +182 -41
- package/src/wasm/wasm-media/rd-wasm-media.js.map +1 -1
- package/styles/runtime.css +1609 -0
- package/styles/styles.css +1 -0
- 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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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"}
|
package/src/lib/element-utils.js
CHANGED
|
@@ -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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"}
|
package/src/lib/shadow-base.js
CHANGED
|
@@ -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
|
};
|