@onsvisual/svelte-components 0.1.105 → 1.0.0-next.1
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/dist/css/main.css +500 -4
- package/dist/datavis/BarChart/BarChart.stories.svelte +84 -0
- package/dist/datavis/BarChart/BarChart.stories.svelte.d.ts +23 -0
- package/dist/datavis/BarChart/docs/component.md +19 -0
- package/dist/datavis/Chart/Chart.stories.svelte +128 -0
- package/dist/datavis/Chart/Chart.stories.svelte.d.ts +23 -0
- package/dist/datavis/Chart/docs/component.md +31 -0
- package/dist/datavis/Chart/docs/example.md +28 -0
- package/dist/datavis/ColumnChart/ColumnChart.stories.svelte +84 -0
- package/dist/datavis/ColumnChart/ColumnChart.stories.svelte.d.ts +23 -0
- package/dist/datavis/ColumnChart/docs/component.md +19 -0
- package/dist/datavis/DotPlotChart/DotPlotChart.stories.svelte +40 -0
- package/dist/datavis/DotPlotChart/DotPlotChart.stories.svelte.d.ts +23 -0
- package/dist/datavis/DotPlotChart/docs/component.md +19 -0
- package/dist/datavis/LineChart/LineChart.stories.svelte +64 -0
- package/dist/datavis/LineChart/LineChart.stories.svelte.d.ts +23 -0
- package/dist/datavis/LineChart/docs/component.md +31 -0
- package/dist/datavis/ScatterChart/ScatterChart.stories.svelte +55 -0
- package/dist/datavis/ScatterChart/ScatterChart.stories.svelte.d.ts +23 -0
- package/dist/datavis/ScatterChart/docs/component.md +53 -0
- package/dist/datavis/Table/Table.stories.svelte +32 -0
- package/dist/{@types/datavis/Table/Table.svelte.d.ts → datavis/Table/Table.stories.svelte.d.ts} +2 -16
- package/dist/datavis/Table/Table.svelte +141 -149
- package/dist/datavis/Table/Table.svelte.d.ts +35 -0
- package/dist/datavis/Table/docs/component.md +20 -0
- package/dist/datavis/intro.mdx +22 -0
- package/dist/decorators/Blockquote/Blockquote.stories.svelte +25 -0
- package/dist/decorators/Blockquote/Blockquote.stories.svelte.d.ts +23 -0
- package/dist/decorators/Blockquote/Blockquote.svelte +22 -22
- package/dist/{@types/decorators → decorators}/Blockquote/Blockquote.svelte.d.ts +2 -2
- package/dist/decorators/Blockquote/docs/component.md +10 -0
- package/dist/decorators/Divider/Divider.stories.svelte +29 -0
- package/dist/decorators/Divider/Divider.stories.svelte.d.ts +23 -0
- package/dist/decorators/Divider/Divider.svelte +40 -59
- package/dist/{@types/decorators → decorators}/Divider/Divider.svelte.d.ts +10 -14
- package/dist/decorators/Divider/docs/component.md +12 -0
- package/dist/decorators/Em/Em.stories.svelte +30 -0
- package/dist/{@types/decorators/Em/Em.svelte.d.ts → decorators/Em/Em.stories.svelte.d.ts} +4 -10
- package/dist/decorators/Em/Em.svelte +42 -25
- package/dist/decorators/Em/Em.svelte.d.ts +33 -0
- package/dist/decorators/Em/docs/component.md +12 -0
- package/dist/decorators/Indent/Indent.stories.svelte +22 -0
- package/dist/decorators/Indent/Indent.stories.svelte.d.ts +23 -0
- package/dist/decorators/Indent/Indent.svelte +3 -0
- package/dist/decorators/Indent/Indent.svelte.d.ts +27 -0
- package/dist/decorators/Indent/docs/component.md +10 -0
- package/dist/{@types/index.d.ts → index.d.ts} +10 -10
- package/dist/index.js +13 -8
- package/dist/inputs/Button/Button.stories.svelte +65 -0
- package/dist/inputs/Button/Button.stories.svelte.d.ts +23 -0
- package/dist/inputs/Button/Button.svelte +113 -113
- package/dist/inputs/Button/Button.svelte.d.ts +51 -0
- package/dist/inputs/Button/Icon.svelte +44 -44
- package/dist/{@types/inputs → inputs}/Button/Icon.svelte.d.ts +6 -6
- package/dist/inputs/Button/docs/component.md +17 -0
- package/dist/inputs/Checkbox/Checkbox.stories.svelte +34 -0
- package/dist/inputs/Checkbox/Checkbox.stories.svelte.d.ts +23 -0
- package/dist/inputs/Checkbox/Checkbox.svelte +145 -152
- package/dist/{@types/inputs → inputs}/Checkbox/Checkbox.svelte.d.ts +16 -16
- package/dist/inputs/Checkbox/docs/component.md +14 -0
- package/dist/inputs/Checkboxes/Checkboxes.stories.svelte +42 -0
- package/dist/inputs/Checkboxes/Checkboxes.stories.svelte.d.ts +23 -0
- package/dist/inputs/Checkboxes/Checkboxes.svelte +29 -29
- package/dist/{@types/inputs → inputs}/Checkboxes/Checkboxes.svelte.d.ts +8 -8
- package/dist/inputs/Checkboxes/docs/component.md +20 -0
- package/dist/inputs/Checkboxes/docs/example.md +16 -0
- package/dist/inputs/Dropdown/Dropdown.stories.svelte +54 -0
- package/dist/{@types/inputs/Dropdown/Dropdown.svelte.d.ts → inputs/Dropdown/Dropdown.stories.svelte.d.ts} +2 -16
- package/dist/inputs/Dropdown/Dropdown.svelte +49 -55
- package/dist/inputs/Dropdown/Dropdown.svelte.d.ts +37 -0
- package/dist/inputs/Dropdown/docs/component.md +22 -0
- package/dist/inputs/ErrorPanel/ErrorPanel.stories.svelte +25 -0
- package/dist/inputs/ErrorPanel/ErrorPanel.stories.svelte.d.ts +23 -0
- package/dist/inputs/ErrorPanel/ErrorPanel.svelte +14 -30
- package/dist/{@types/inputs → inputs}/ErrorPanel/ErrorPanel.svelte.d.ts +2 -2
- package/dist/inputs/ErrorPanel/docs/component.md +14 -0
- package/dist/inputs/ErrorSummary/ErrorSummary.stories.svelte +34 -0
- package/dist/inputs/ErrorSummary/ErrorSummary.stories.svelte.d.ts +23 -0
- package/dist/inputs/ErrorSummary/ErrorSummary.svelte +34 -32
- package/dist/{@types/inputs → inputs}/ErrorSummary/ErrorSummary.svelte.d.ts +4 -4
- package/dist/inputs/ErrorSummary/docs/component.md +17 -0
- package/dist/inputs/ErrorSummary/docs/example.md +12 -0
- package/dist/inputs/Input/Input.stories.svelte +73 -0
- package/dist/inputs/Input/Input.stories.svelte.d.ts +23 -0
- package/dist/inputs/Input/Input.svelte +125 -156
- package/dist/inputs/Input/Input.svelte.d.ts +51 -0
- package/dist/inputs/Input/docs/component.md +16 -0
- package/dist/inputs/Radios/Radio.svelte +68 -102
- package/dist/{@types/inputs → inputs}/Radios/Radio.svelte.d.ts +6 -6
- package/dist/inputs/Radios/Radios.stories.svelte +51 -0
- package/dist/inputs/Radios/Radios.stories.svelte.d.ts +23 -0
- package/dist/inputs/Radios/Radios.svelte +38 -38
- package/dist/{@types/inputs → inputs}/Radios/Radios.svelte.d.ts +10 -10
- package/dist/inputs/Radios/docs/component.md +24 -0
- package/dist/inputs/Radios/docs/example.md +21 -0
- package/dist/inputs/Select/Select.stories.svelte +61 -0
- package/dist/inputs/Select/Select.stories.svelte.d.ts +23 -0
- package/dist/inputs/Select/Select.svelte +271 -289
- package/dist/inputs/Select/Select.svelte.d.ts +58 -0
- package/dist/inputs/Select/docs/component.md +27 -0
- package/dist/inputs/Textarea/Textarea.stories.svelte +40 -0
- package/dist/{@types/inputs/Textarea/Textarea.svelte.d.ts → inputs/Textarea/Textarea.stories.svelte.d.ts} +2 -16
- package/dist/inputs/Textarea/Textarea.svelte +93 -89
- package/dist/inputs/Textarea/Textarea.svelte.d.ts +37 -0
- package/dist/inputs/Textarea/docs/component.md +16 -0
- package/dist/intro.mdx +60 -0
- package/dist/js/menuOptions.js +14 -0
- package/dist/{@types/js → js}/utils.d.ts +8 -2
- package/dist/js/utils.js +61 -44
- package/dist/{@types/js → js}/withParams.d.ts +3 -9
- package/dist/js/withParams.js +17 -20
- package/dist/layout/Accordion/Accordion.stories.svelte +30 -0
- package/dist/{@types/layout/Accordion/Accordion.svelte.d.ts → layout/Accordion/Accordion.stories.svelte.d.ts} +4 -8
- package/dist/layout/Accordion/Accordion.svelte +49 -29
- package/dist/layout/Accordion/Accordion.svelte.d.ts +31 -0
- package/dist/layout/Accordion/AccordionItem.svelte +46 -81
- package/dist/{@types/layout → layout}/Accordion/AccordionItem.svelte.d.ts +6 -6
- package/dist/layout/Accordion/accordion.d.ts +18 -0
- package/dist/layout/Accordion/accordion.js +64 -0
- package/dist/layout/Accordion/details.d.ts +14 -0
- package/dist/layout/Accordion/details.js +83 -0
- package/dist/layout/Accordion/docs/component.md +19 -0
- package/dist/layout/AnalyticsBanner/AnalyticsBanner.stories.svelte +16 -0
- package/dist/{@types/layout/AnalyticsBanner/AnalyticsBanner.svelte.d.ts → layout/AnalyticsBanner/AnalyticsBanner.stories.svelte.d.ts} +2 -13
- package/dist/layout/AnalyticsBanner/AnalyticsBanner.svelte +284 -273
- package/dist/layout/AnalyticsBanner/AnalyticsBanner.svelte.d.ts +36 -0
- package/dist/layout/AnalyticsBanner/docs/component.md +17 -0
- package/dist/layout/BackLink/BackLink.stories.svelte +16 -0
- package/dist/layout/BackLink/BackLink.stories.svelte.d.ts +23 -0
- package/dist/layout/BackLink/BackLink.svelte +30 -0
- package/dist/layout/BackLink/BackLink.svelte.d.ts +25 -0
- package/dist/layout/BackLink/docs/component.md +12 -0
- package/dist/layout/Breadcrumb/Breadcrumb.stories.svelte +31 -0
- package/dist/layout/Breadcrumb/Breadcrumb.stories.svelte.d.ts +23 -0
- package/dist/layout/Breadcrumb/Breadcrumb.svelte +44 -67
- package/dist/{@types/layout → layout}/Breadcrumb/Breadcrumb.svelte.d.ts +6 -12
- package/dist/layout/Breadcrumb/docs/component.md +15 -0
- package/dist/layout/Card/Card.stories.svelte +39 -0
- package/dist/layout/Card/Card.stories.svelte.d.ts +23 -0
- package/dist/layout/Card/Card.svelte +120 -0
- package/dist/layout/Card/Card.svelte.d.ts +49 -0
- package/dist/layout/Card/docs/component.md +14 -0
- package/dist/layout/Card/docs/eg-images.md +27 -0
- package/dist/layout/Card/docs/eg-links.md +12 -0
- package/dist/layout/Card/docs/eg-spans.md +12 -0
- package/dist/layout/Contents/Contents.stories.svelte +27 -0
- package/dist/{@types/layout/Contents/Contents.svelte.d.ts → layout/Contents/Contents.stories.svelte.d.ts} +2 -8
- package/dist/layout/Contents/Contents.svelte +42 -40
- package/dist/layout/Contents/Contents.svelte.d.ts +29 -0
- package/dist/layout/Contents/docs/component.md +18 -0
- package/dist/layout/DescriptionList/DescriptionList.stories.svelte +22 -0
- package/dist/layout/DescriptionList/DescriptionList.stories.svelte.d.ts +23 -0
- package/dist/layout/DescriptionList/DescriptionList.svelte +48 -0
- package/dist/layout/DescriptionList/DescriptionList.svelte.d.ts +27 -0
- package/dist/layout/DescriptionList/docs/component.md +18 -0
- package/dist/layout/Details/Details.stories.svelte +32 -0
- package/dist/layout/Details/Details.stories.svelte.d.ts +23 -0
- package/dist/layout/Details/Details.svelte +70 -0
- package/dist/layout/Details/Details.svelte.d.ts +35 -0
- package/dist/layout/Details/docs/component.md +14 -0
- package/dist/layout/DocumentList/Document.svelte +103 -0
- package/dist/layout/DocumentList/Document.svelte.d.ts +39 -0
- package/dist/layout/DocumentList/DocumentList.stories.svelte +73 -0
- package/dist/layout/DocumentList/DocumentList.stories.svelte.d.ts +23 -0
- package/dist/layout/DocumentList/DocumentList.svelte +17 -0
- package/dist/layout/DocumentList/DocumentList.svelte.d.ts +27 -0
- package/dist/layout/DocumentList/docs/component.md +28 -0
- package/dist/layout/DocumentList/docs/example.md +23 -0
- package/dist/layout/ErrorPage/ErrorPage.stories.svelte +18 -0
- package/dist/{@types/layout/ErrorPage/ErrorPage.svelte.d.ts → layout/ErrorPage/ErrorPage.stories.svelte.d.ts} +2 -6
- package/dist/layout/ErrorPage/ErrorPage.svelte +45 -40
- package/dist/layout/ErrorPage/ErrorPage.svelte.d.ts +29 -0
- package/dist/layout/ErrorPage/docs/component.md +13 -0
- package/dist/layout/Footer/Footer.stories.svelte +24 -0
- package/dist/{@types/layout/Footer/Footer.svelte.d.ts → layout/Footer/Footer.stories.svelte.d.ts} +4 -12
- package/dist/layout/Footer/Footer.svelte +372 -257
- package/dist/layout/Footer/Footer.svelte.d.ts +27 -0
- package/dist/layout/Footer/docs/component.md +10 -0
- package/dist/layout/Grid/Grid.stories.svelte +50 -0
- package/dist/layout/Grid/Grid.stories.svelte.d.ts +23 -0
- package/dist/layout/Grid/Grid.svelte +110 -160
- package/dist/layout/Grid/Grid.svelte.d.ts +49 -0
- package/dist/layout/Grid/GridCell.svelte +65 -0
- package/dist/layout/Grid/GridCell.svelte.d.ts +27 -0
- package/dist/layout/Grid/docs/component.md +14 -0
- package/dist/layout/Header/Header.stories.svelte +26 -0
- package/dist/{@types/layout/Header/Header.svelte.d.ts → layout/Header/Header.stories.svelte.d.ts} +4 -20
- package/dist/layout/Header/Header.svelte +842 -612
- package/dist/layout/Header/Header.svelte.d.ts +39 -0
- package/dist/layout/Header/docs/component.md +11 -0
- package/dist/layout/Hero/Hero.stories.svelte +77 -0
- package/dist/layout/Hero/Hero.stories.svelte.d.ts +23 -0
- package/dist/layout/Hero/Hero.svelte +350 -80
- package/dist/layout/Hero/Hero.svelte.d.ts +55 -0
- package/dist/layout/Hero/docs/component.md +14 -0
- package/dist/layout/Highlight/Highlight.stories.svelte +29 -0
- package/dist/layout/Highlight/Highlight.stories.svelte.d.ts +23 -0
- package/dist/layout/Highlight/Highlight.svelte +78 -66
- package/dist/layout/Highlight/Highlight.svelte.d.ts +45 -0
- package/dist/layout/Highlight/docs/component.md +12 -0
- package/dist/layout/Image/Image.stories.svelte +23 -0
- package/dist/layout/Image/Image.stories.svelte.d.ts +23 -0
- package/dist/layout/Image/Image.svelte +24 -0
- package/dist/layout/Image/Image.svelte.d.ts +27 -0
- package/dist/layout/Image/docs/component.md +15 -0
- package/dist/layout/List/Li.svelte +3 -0
- package/dist/layout/List/Li.svelte.d.ts +27 -0
- package/dist/layout/List/List.stories.svelte +40 -0
- package/dist/{@types/layout/List/List.svelte.d.ts → layout/List/List.stories.svelte.d.ts} +4 -8
- package/dist/layout/List/List.svelte +34 -25
- package/dist/layout/List/List.svelte.d.ts +29 -0
- package/dist/layout/List/docs/component.md +14 -0
- package/dist/layout/List/docs/example.md +12 -0
- package/dist/layout/NavSections/NavSection.svelte +66 -66
- package/dist/{@types/layout → layout}/NavSections/NavSection.svelte.d.ts +10 -10
- package/dist/layout/NavSections/NavSections.stories.svelte +48 -0
- package/dist/layout/NavSections/NavSections.stories.svelte.d.ts +23 -0
- package/dist/layout/NavSections/NavSections.svelte +135 -183
- package/dist/{@types/layout → layout}/NavSections/NavSections.svelte.d.ts +14 -24
- package/dist/layout/NavSections/docs/component.md +27 -0
- package/dist/layout/Notice/Notice.stories.svelte +61 -0
- package/dist/layout/Notice/Notice.stories.svelte.d.ts +23 -0
- package/dist/layout/Notice/Notice.svelte +45 -54
- package/dist/{@types/layout → layout}/Notice/Notice.svelte.d.ts +2 -6
- package/dist/layout/Notice/docs/component.md +14 -0
- package/dist/layout/PhaseBanner/PhaseBanner.stories.svelte +24 -0
- package/dist/{@types/layout/PhaseBanner/PhaseBanner.svelte.d.ts → layout/PhaseBanner/PhaseBanner.stories.svelte.d.ts} +2 -4
- package/dist/layout/PhaseBanner/PhaseBanner.svelte +56 -35
- package/dist/layout/PhaseBanner/PhaseBanner.svelte.d.ts +25 -0
- package/dist/layout/PhaseBanner/docs/component.md +14 -0
- package/dist/layout/RelatedContent/RelatedContent.stories.svelte +36 -0
- package/dist/{@types/layout/RelatedContent/RelatedContent.svelte.d.ts → layout/RelatedContent/RelatedContent.stories.svelte.d.ts} +2 -2
- package/dist/layout/RelatedContent/RelatedContent.svelte +44 -54
- package/dist/layout/RelatedContent/RelatedContent.svelte.d.ts +31 -0
- package/dist/layout/RelatedContent/docs/component.md +16 -0
- package/dist/layout/Scroller/Scroller.stories.svelte +61 -0
- package/dist/layout/Scroller/Scroller.stories.svelte.d.ts +23 -0
- package/dist/layout/Scroller/Scroller.svelte +341 -331
- package/dist/{@types/layout → layout}/Scroller/Scroller.svelte.d.ts +22 -20
- package/dist/layout/Scroller/ScrollerSection.svelte +54 -73
- package/dist/{@types/layout → layout}/Scroller/ScrollerSection.svelte.d.ts +6 -12
- package/dist/layout/Scroller/docs/component.md +41 -0
- package/dist/layout/Section/Section.stories.svelte +33 -0
- package/dist/layout/Section/Section.stories.svelte.d.ts +23 -0
- package/dist/layout/Section/Section.svelte +53 -77
- package/dist/layout/Section/Section.svelte.d.ts +41 -0
- package/dist/layout/Section/docs/component.md +12 -0
- package/dist/layout/ShareButtons/ShareButtons.stories.svelte +20 -0
- package/dist/layout/ShareButtons/ShareButtons.stories.svelte.d.ts +23 -0
- package/dist/layout/ShareButtons/ShareButtons.svelte +118 -175
- package/dist/{@types/layout → layout}/ShareButtons/ShareButtons.svelte.d.ts +6 -14
- package/dist/layout/ShareButtons/docs/component.md +14 -0
- package/dist/layout/SkipLink/SkipLink.stories.svelte +16 -0
- package/dist/{@types/layout/SkipLink/SkipLink.svelte.d.ts → layout/SkipLink/SkipLink.stories.svelte.d.ts} +2 -2
- package/dist/layout/SkipLink/SkipLink.svelte +6 -6
- package/dist/layout/SkipLink/SkipLink.svelte.d.ts +23 -0
- package/dist/layout/SkipLink/docs/component.md +11 -0
- package/dist/layout/Summary/Summary.stories.svelte +21 -0
- package/dist/{@types/layout/Summary/Summary.svelte.d.ts → layout/Summary/Summary.stories.svelte.d.ts} +2 -4
- package/dist/layout/Summary/Summary.svelte +50 -46
- package/dist/layout/Summary/Summary.svelte.d.ts +31 -0
- package/dist/layout/Summary/docs/component.md +17 -0
- package/dist/layout/Tabs/Tab.svelte +42 -42
- package/dist/{@types/layout → layout}/Tabs/Tab.svelte.d.ts +6 -6
- package/dist/layout/Tabs/Tabs.stories.svelte +29 -0
- package/dist/layout/Tabs/Tabs.stories.svelte.d.ts +23 -0
- package/dist/layout/Tabs/Tabs.svelte +71 -97
- package/dist/{@types/layout → layout}/Tabs/Tabs.svelte.d.ts +6 -6
- package/dist/layout/Tabs/docs/component.md +16 -0
- package/dist/layout/Tabs/tabs.d.ts +43 -0
- package/dist/layout/Tabs/tabs.js +302 -0
- package/dist/templates/EmbedArticle/EmbedArticle.stories.svelte +72 -0
- package/dist/templates/EmbedArticle/EmbedArticle.stories.svelte.d.ts +23 -0
- package/dist/templates/EmbedArticle/docs/component.md +56 -0
- package/dist/templates/FeatureArticle/FeatureArticle.stories.svelte +151 -0
- package/dist/templates/FeatureArticle/FeatureArticle.stories.svelte.d.ts +23 -0
- package/dist/templates/FeatureArticle/docs/component.md +125 -0
- package/dist/templates/StandardArticle/StandardArticle.stories.svelte +86 -0
- package/dist/templates/StandardArticle/StandardArticle.stories.svelte.d.ts +23 -0
- package/dist/templates/StandardArticle/docs/component.md +76 -0
- package/dist/templates/intro.mdx +19 -0
- package/dist/wrappers/Container/Container.stories.svelte +38 -0
- package/dist/wrappers/Container/Container.stories.svelte.d.ts +23 -0
- package/dist/wrappers/Container/Container.svelte +61 -140
- package/dist/wrappers/Container/Container.svelte.d.ts +39 -0
- package/dist/wrappers/Container/docs/component.md +10 -0
- package/dist/wrappers/Embed/Embed.stories.svelte +24 -0
- package/dist/wrappers/Embed/Embed.stories.svelte.d.ts +23 -0
- package/dist/wrappers/Embed/Embed.svelte +33 -32
- package/dist/{@types/wrappers → wrappers}/Embed/Embed.svelte.d.ts +4 -4
- package/dist/wrappers/Embed/docs/component.md +15 -0
- package/dist/wrappers/LazyLoad/LazyLoad.stories.svelte +37 -0
- package/dist/wrappers/LazyLoad/LazyLoad.stories.svelte.d.ts +23 -0
- package/dist/wrappers/LazyLoad/LazyLoad.svelte +34 -35
- package/dist/{@types/wrappers → wrappers}/LazyLoad/LazyLoad.svelte.d.ts +6 -6
- package/dist/wrappers/LazyLoad/docs/component.md +29 -0
- package/dist/wrappers/Main/Main.stories.svelte +24 -0
- package/dist/wrappers/Main/Main.stories.svelte.d.ts +23 -0
- package/dist/wrappers/Main/Main.svelte +10 -3
- package/dist/{@types/wrappers → wrappers}/Main/Main.svelte.d.ts +2 -4
- package/dist/wrappers/Main/docs/component.md +16 -0
- package/dist/wrappers/Observe/Observe.stories.svelte +29 -0
- package/dist/wrappers/Observe/Observe.stories.svelte.d.ts +23 -0
- package/dist/wrappers/Observe/Observe.svelte +24 -24
- package/dist/{@types/wrappers → wrappers}/Observe/Observe.svelte.d.ts +2 -2
- package/dist/wrappers/Observe/docs/component.md +22 -0
- package/dist/wrappers/Theme/Theme.stories.svelte +70 -0
- package/dist/{@types/wrappers/Theme/Theme.svelte.d.ts → wrappers/Theme/Theme.stories.svelte.d.ts} +4 -20
- package/dist/wrappers/Theme/Theme.svelte +64 -101
- package/dist/wrappers/Theme/Theme.svelte.d.ts +37 -0
- package/dist/wrappers/Theme/docs/component.md +10 -0
- package/dist/wrappers/Theme/themes.d.ts +143 -0
- package/dist/wrappers/Theme/themes.js +68 -27
- package/package.json +82 -195
- package/dist/@types/actions/cssVariables/index.d.ts +0 -4
- package/dist/@types/actions/resizeObserver/index.d.ts +0 -4
- package/dist/@types/inputs/AccessibleSelect/AccessibleSelect.svelte.d.ts +0 -58
- package/dist/@types/inputs/Button/Button.svelte.d.ts +0 -51
- package/dist/@types/inputs/Input/Input.svelte.d.ts +0 -51
- package/dist/@types/inputs/Select/Select.svelte.d.ts +0 -77
- package/dist/@types/js/docsPage.d.ts +0 -25
- package/dist/@types/layout/Backlink/Backlink.svelte.d.ts +0 -23
- package/dist/@types/layout/Cards/Card.svelte.d.ts +0 -49
- package/dist/@types/layout/Cards/Cards.svelte.d.ts +0 -51
- package/dist/@types/layout/Footer/ONSLogo.svelte.d.ts +0 -29
- package/dist/@types/layout/Grid/Grid.svelte.d.ts +0 -53
- package/dist/@types/layout/Header/ONSLogo.svelte.d.ts +0 -31
- package/dist/@types/layout/Hero/Hero.svelte.d.ts +0 -47
- package/dist/@types/layout/Highlight/Highlight.svelte.d.ts +0 -43
- package/dist/@types/layout/NavSections/SectionBacklink.svelte.d.ts +0 -23
- package/dist/@types/layout/Section/Section.svelte.d.ts +0 -47
- package/dist/@types/layout/Survey/Survey.svelte.d.ts +0 -23
- package/dist/@types/layout/Survey/init-survey.d.ts +0 -1
- package/dist/@types/layout/Titleblock/Meta.svelte.d.ts +0 -23
- package/dist/@types/layout/Titleblock/Titleblock.svelte.d.ts +0 -53
- package/dist/@types/layout/Twisty/Twisty.svelte.d.ts +0 -33
- package/dist/@types/wrappers/Container/Container.svelte.d.ts +0 -45
- package/dist/@types/wrappers/Theme/themes.d.ts +0 -29
- package/dist/actions/cssVariables/index.js +0 -20
- package/dist/actions/resizeObserver/index.js +0 -25
- package/dist/globals.d.ts +0 -23
- package/dist/inputs/AccessibleSelect/AccessibleSelect.svelte +0 -280
- package/dist/inputs/AccessibleSelect/options.js +0 -263
- package/dist/js/docsPage.js +0 -13
- package/dist/layout/Backlink/Backlink.svelte +0 -32
- package/dist/layout/Cards/Card.svelte +0 -99
- package/dist/layout/Cards/Cards.svelte +0 -95
- package/dist/layout/Footer/ONSLogo.svelte +0 -150
- package/dist/layout/Header/ONSLogo.svelte +0 -148
- package/dist/layout/NavSections/SectionBacklink.svelte +0 -31
- package/dist/layout/Survey/Survey.svelte +0 -96
- package/dist/layout/Survey/init-survey.js +0 -230
- package/dist/layout/Titleblock/Meta.svelte +0 -26
- package/dist/layout/Titleblock/Titleblock.svelte +0 -147
- package/dist/layout/Twisty/Twisty.svelte +0 -56
- /package/dist/{@types/datavis/shared → datavis/demo-data}/data-scatter.d.ts +0 -0
- /package/dist/datavis/{shared → demo-data}/data-scatter.js +0 -0
- /package/dist/{@types/datavis/shared → datavis/demo-data}/data.d.ts +0 -0
- /package/dist/datavis/{shared → demo-data}/data.js +0 -0
- /package/dist/{@types/inputs/AccessibleSelect/options.d.ts → js/menuOptions.d.ts} +0 -0
|
@@ -0,0 +1,302 @@
|
|
|
1
|
+
// Tabs component JS
|
|
2
|
+
|
|
3
|
+
// The tab js is based on the GDS tabs component(https://design-system.service.gov.uk/components/tabs/)
|
|
4
|
+
// https://github.com/alphagov/govuk-frontend/blob/master/src/components/tabs/tabs.js
|
|
5
|
+
|
|
6
|
+
import { matchMedia } from "../../js/utils.js";
|
|
7
|
+
|
|
8
|
+
const classTab = "ons-tab";
|
|
9
|
+
const classTabTitle = "ons-tabs__title";
|
|
10
|
+
const classTabList = "ons-tabs__list";
|
|
11
|
+
const classTabListItems = "ons-tab__list-item";
|
|
12
|
+
const classTabsPanel = "ons-tabs__panel";
|
|
13
|
+
const matchMediaUtil = matchMedia;
|
|
14
|
+
|
|
15
|
+
export default class Tabs {
|
|
16
|
+
constructor(component) {
|
|
17
|
+
this.boundTabClick = this.onTabClick.bind(this);
|
|
18
|
+
this.boundTabKeydown = this.onTabKeydown.bind(this);
|
|
19
|
+
|
|
20
|
+
this.component = component;
|
|
21
|
+
this.tabsTitle = component.querySelector(`.${classTabTitle}`);
|
|
22
|
+
this.tabs = [...component.getElementsByClassName(classTab)];
|
|
23
|
+
this.tabList = component.getElementsByClassName(classTabList);
|
|
24
|
+
this.tabListContainer = this.tabList[0].parentElement;
|
|
25
|
+
this.tabListItems = [...component.getElementsByClassName(classTabListItems)];
|
|
26
|
+
this.tabPanels = [...component.getElementsByClassName(classTabsPanel)];
|
|
27
|
+
|
|
28
|
+
this.jsHiddenClass = "ons-tabs__panel--hidden";
|
|
29
|
+
this.jsTabListAsRowClass = "ons-tabs__list--row";
|
|
30
|
+
this.jsTabItemAsRowClass = "ons-tab__list-item--row";
|
|
31
|
+
this.jsTabAsListClass = "ons-tab--row";
|
|
32
|
+
|
|
33
|
+
this.noInitialActiveTab = this.component.getAttribute("data-no-initial-active-tab");
|
|
34
|
+
if (matchMediaUtil.hasMatchMedia()) {
|
|
35
|
+
this.setupViewportChecks();
|
|
36
|
+
} else {
|
|
37
|
+
this.makeTabs();
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
// Set up checks for responsive functionality
|
|
42
|
+
// The tabs will display as tabs up until this.breakpoint is reached
|
|
43
|
+
// Tabs will then display as a table of contents list and show full content for this.breakpoint viewports
|
|
44
|
+
// Aria tags are added only in table of contents view
|
|
45
|
+
setupViewportChecks() {
|
|
46
|
+
const breakpoint = () => {
|
|
47
|
+
let finalBreakpoint = 0;
|
|
48
|
+
this.tabListItems.forEach((tab) => {
|
|
49
|
+
finalBreakpoint += tab.offsetWidth;
|
|
50
|
+
});
|
|
51
|
+
if (finalBreakpoint < 450) {
|
|
52
|
+
return (finalBreakpoint = 450);
|
|
53
|
+
} else {
|
|
54
|
+
return finalBreakpoint;
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
this.viewport = matchMediaUtil(`(min-width: ${breakpoint()}px)`);
|
|
58
|
+
this.viewport.addListener(this.checkViewport.bind(this));
|
|
59
|
+
this.checkViewport();
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
checkViewport() {
|
|
63
|
+
if (this.viewport.matches) {
|
|
64
|
+
this.makeTabs();
|
|
65
|
+
} else {
|
|
66
|
+
this.makeList();
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
makeTabs() {
|
|
71
|
+
this.tabList[0].setAttribute("role", "tablist");
|
|
72
|
+
this.tabList[0].classList.add(this.jsTabListAsRowClass);
|
|
73
|
+
|
|
74
|
+
this.tabsTitle.classList.add("ons-u-vh");
|
|
75
|
+
this.tabListContainer.classList.add("ons-tabs__container");
|
|
76
|
+
this.tabPanels.forEach((panel) => {
|
|
77
|
+
panel.setAttribute("tabindex", "0");
|
|
78
|
+
if (panel.querySelector('[id*="content-title"]')) {
|
|
79
|
+
panel.firstElementChild.classList.add("ons-u-vh");
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
|
|
83
|
+
this.tabListItems.forEach((item) => {
|
|
84
|
+
item.setAttribute("role", "presentation");
|
|
85
|
+
item.classList.add(this.jsTabItemAsRowClass);
|
|
86
|
+
});
|
|
87
|
+
|
|
88
|
+
this.tabs.forEach((tab) => {
|
|
89
|
+
this.setAttributes(tab);
|
|
90
|
+
tab.classList.add(this.jsTabAsListClass);
|
|
91
|
+
|
|
92
|
+
tab.addEventListener("click", this.boundTabClick, true);
|
|
93
|
+
tab.addEventListener("keydown", this.boundTabKeydown, true);
|
|
94
|
+
this.hideTab(tab);
|
|
95
|
+
});
|
|
96
|
+
|
|
97
|
+
const hashTab = this.getTab(window.location.hash);
|
|
98
|
+
if (!this.noInitialActiveTab || !!hashTab) {
|
|
99
|
+
const activeTab = hashTab || this.tabs[0];
|
|
100
|
+
this.showTab(activeTab);
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
this.ensureTabIndexExists();
|
|
104
|
+
|
|
105
|
+
this.component.boundOnHashChange = this.onHashChange.bind(this);
|
|
106
|
+
window.addEventListener("hashchange", this.component.boundOnHashChange, true);
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
makeList() {
|
|
110
|
+
this.tabList[0].removeAttribute("role");
|
|
111
|
+
this.tabList[0].classList.remove(this.jsTabListAsRowClass);
|
|
112
|
+
this.tabListContainer.classList.remove("ons-tabs__container");
|
|
113
|
+
this.tabsTitle.classList.remove("ons-u-vh");
|
|
114
|
+
|
|
115
|
+
this.tabPanels.forEach((panel) => {
|
|
116
|
+
panel.removeAttribute("tabindex", "0");
|
|
117
|
+
if (panel.firstElementChild.classList.contains("ons-u-vh")) {
|
|
118
|
+
panel.firstElementChild.classList.remove("ons-u-vh");
|
|
119
|
+
}
|
|
120
|
+
});
|
|
121
|
+
|
|
122
|
+
this.tabListItems.forEach((item) => {
|
|
123
|
+
item.removeAttribute("role", "presentation");
|
|
124
|
+
item.classList.remove(this.jsTabItemAsRowClass);
|
|
125
|
+
});
|
|
126
|
+
|
|
127
|
+
this.tabs.forEach((tab) => {
|
|
128
|
+
tab.removeEventListener("click", this.boundTabClick, true);
|
|
129
|
+
tab.removeEventListener("keydown", this.boundTabKeydown, true);
|
|
130
|
+
tab.classList.remove(this.jsTabAsListClass);
|
|
131
|
+
this.unsetAttributes(tab);
|
|
132
|
+
});
|
|
133
|
+
|
|
134
|
+
window.removeEventListener("hashchange", this.component.boundOnHashChange, true);
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
// Handle haschange so that the browser can cycle through the tab history
|
|
138
|
+
onHashChange() {
|
|
139
|
+
const hash = window.location.hash;
|
|
140
|
+
const tabWithHash = this.getTab(hash);
|
|
141
|
+
if (!tabWithHash) {
|
|
142
|
+
return;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
if (this.changingHash) {
|
|
146
|
+
this.changingHash = false;
|
|
147
|
+
return;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
const currentTab = this.getCurrentTab();
|
|
151
|
+
if (!!currentTab) {
|
|
152
|
+
this.hideTab(currentTab);
|
|
153
|
+
}
|
|
154
|
+
this.showTab(tabWithHash);
|
|
155
|
+
tabWithHash.focus();
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
hideTab(tab) {
|
|
159
|
+
this.unhighlightTab(tab);
|
|
160
|
+
this.hidePanel(tab);
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
showTab(tab) {
|
|
164
|
+
this.highlightTab(tab);
|
|
165
|
+
this.showPanel(tab);
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
getTab(hash) {
|
|
169
|
+
return this.component.querySelector('.ons-tab[href="' + hash + '"]');
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
// Set aria tags
|
|
173
|
+
setAttributes(tab) {
|
|
174
|
+
const panelId = this.getHref(tab).slice(1);
|
|
175
|
+
tab.setAttribute("id", "tab_" + panelId);
|
|
176
|
+
tab.setAttribute("role", "tab");
|
|
177
|
+
tab.setAttribute("aria-controls", panelId);
|
|
178
|
+
tab.setAttribute("tabindex", "-1");
|
|
179
|
+
|
|
180
|
+
const panel = this.getPanel(tab);
|
|
181
|
+
panel.setAttribute("role", "tabpanel");
|
|
182
|
+
panel.setAttribute("aria-labelledby", tab.id);
|
|
183
|
+
panel.classList.add(this.jsHiddenClass);
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
// Remove aria tags for table of contents view
|
|
187
|
+
unsetAttributes(tab) {
|
|
188
|
+
tab.removeAttribute("id");
|
|
189
|
+
tab.removeAttribute("role");
|
|
190
|
+
tab.removeAttribute("aria-controls");
|
|
191
|
+
tab.removeAttribute("tabindex");
|
|
192
|
+
tab.removeAttribute("aria-selected");
|
|
193
|
+
|
|
194
|
+
const panel = this.getPanel(tab);
|
|
195
|
+
panel.removeAttribute("role");
|
|
196
|
+
panel.removeAttribute("aria-labelledby");
|
|
197
|
+
panel.classList.remove(this.jsHiddenClass);
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
onTabClick(e) {
|
|
201
|
+
e.preventDefault();
|
|
202
|
+
const newTab = e.target;
|
|
203
|
+
const currentTab = this.getCurrentTab();
|
|
204
|
+
|
|
205
|
+
if (!!currentTab) {
|
|
206
|
+
this.hideTab(currentTab);
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
if (!this.noInitialActiveTab || newTab !== currentTab) {
|
|
210
|
+
this.showTab(newTab);
|
|
211
|
+
this.createHash(newTab);
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
this.ensureTabIndexExists();
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
ensureTabIndexExists() {
|
|
218
|
+
// Ensure that at least the first tab has a tab index when all tabs are hidden.
|
|
219
|
+
if (!this.tabs.find((tab) => tab.getAttribute("tabindex") === "0")) {
|
|
220
|
+
this.tabs[0].setAttribute("tabindex", "0");
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
createHash(tab) {
|
|
225
|
+
const panel = this.getPanel(tab);
|
|
226
|
+
const id = panel.id;
|
|
227
|
+
panel.id = "";
|
|
228
|
+
this.changingHash = true;
|
|
229
|
+
window.location.hash = this.getHref(tab).slice(1);
|
|
230
|
+
panel.id = id;
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
onTabKeydown(event) {
|
|
234
|
+
if (event.which === 37) {
|
|
235
|
+
this.focusPreviousTab();
|
|
236
|
+
event.preventDefault();
|
|
237
|
+
} else if (event.which === 39) {
|
|
238
|
+
this.focusNextTab();
|
|
239
|
+
event.preventDefault();
|
|
240
|
+
} else if (event.which === 32) {
|
|
241
|
+
this.onTabClick(event);
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
focusNextTab() {
|
|
246
|
+
const focusedTab = this.getFocusedTab();
|
|
247
|
+
const nextTabListItem = focusedTab.nextElementSibling;
|
|
248
|
+
if (nextTabListItem) {
|
|
249
|
+
nextTabListItem.firstElementChild.focus();
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
focusPreviousTab() {
|
|
254
|
+
const focusedTab = this.getFocusedTab();
|
|
255
|
+
const previousTabListItem = focusedTab.previousElementSibling;
|
|
256
|
+
if (previousTabListItem) {
|
|
257
|
+
previousTabListItem.firstElementChild.focus();
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
getPanel(tab) {
|
|
262
|
+
const panelSelector = this.getHref(tab).replace(/\./g, "\\.");
|
|
263
|
+
const panel = this.component.querySelector(panelSelector);
|
|
264
|
+
return panel;
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
showPanel(tab) {
|
|
268
|
+
const panel = this.getPanel(tab);
|
|
269
|
+
panel.classList.remove(this.jsHiddenClass);
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
hidePanel(tab) {
|
|
273
|
+
const panel = this.getPanel(tab);
|
|
274
|
+
panel.classList.add(this.jsHiddenClass);
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
unhighlightTab(tab) {
|
|
278
|
+
tab.setAttribute("aria-selected", "false");
|
|
279
|
+
tab.classList.remove("ons-tab--selected");
|
|
280
|
+
tab.setAttribute("tabindex", "-1");
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
highlightTab(tab) {
|
|
284
|
+
tab.setAttribute("aria-selected", "true");
|
|
285
|
+
tab.classList.add("ons-tab--selected");
|
|
286
|
+
tab.setAttribute("tabindex", "0");
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
getFocusedTab() {
|
|
290
|
+
return document.activeElement.parentNode;
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
getCurrentTab() {
|
|
294
|
+
return this.component.querySelector(".ons-tab--selected");
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
getHref(tab) {
|
|
298
|
+
const href = tab.getAttribute("href");
|
|
299
|
+
const hash = href.slice(href.indexOf("#"), href.length);
|
|
300
|
+
return hash;
|
|
301
|
+
}
|
|
302
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
<script module>
|
|
2
|
+
import { defineMeta } from "@storybook/addon-svelte-csf";
|
|
3
|
+
import { withComponentDocs } from "../../js/withParams.js";
|
|
4
|
+
import componentDocs from "./docs/component.md?raw";
|
|
5
|
+
import Embed from "../../wrappers/Embed/Embed.svelte";
|
|
6
|
+
import Highlight from "../../layout/Highlight/Highlight.svelte";
|
|
7
|
+
import Section from "../../layout/Section/Section.svelte";
|
|
8
|
+
import Grid from "../../layout/Grid/Grid.svelte";
|
|
9
|
+
import Select from "../../inputs/Select/Select.svelte";
|
|
10
|
+
|
|
11
|
+
const { Story } = defineMeta({
|
|
12
|
+
title: "Templates/Embedded article",
|
|
13
|
+
component: Embed,
|
|
14
|
+
tags: ["autodocs"],
|
|
15
|
+
argTypes: {},
|
|
16
|
+
parameters: { ...withComponentDocs(componentDocs), layout: "fullscreen" }
|
|
17
|
+
});
|
|
18
|
+
</script>
|
|
19
|
+
|
|
20
|
+
<Story name="Default" args={{}} asChild>
|
|
21
|
+
<Embed>
|
|
22
|
+
<Highlight bigText={false} marginBottom={false}>
|
|
23
|
+
<div style:padding="0 12px">
|
|
24
|
+
<h2>This is a sub-headline</h2>
|
|
25
|
+
<p>This is a description of the embedded interactive.</p>
|
|
26
|
+
<Select label="Select your area" />
|
|
27
|
+
</div>
|
|
28
|
+
</Highlight>
|
|
29
|
+
|
|
30
|
+
<Section title="Section title" marginTop={true}>
|
|
31
|
+
<p>
|
|
32
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut
|
|
33
|
+
labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco
|
|
34
|
+
laboris nisi ut aliquip ex ea commodo consequat..
|
|
35
|
+
</p>
|
|
36
|
+
<p>
|
|
37
|
+
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
|
|
38
|
+
pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt
|
|
39
|
+
mollit anim id est laborum.
|
|
40
|
+
</p>
|
|
41
|
+
</Section>
|
|
42
|
+
|
|
43
|
+
<Grid width="medium" caption="This is a caption text">
|
|
44
|
+
<div class="grid-cell"></div>
|
|
45
|
+
</Grid>
|
|
46
|
+
|
|
47
|
+
<Section title="Another section title">
|
|
48
|
+
<p>
|
|
49
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut
|
|
50
|
+
labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco
|
|
51
|
+
laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in
|
|
52
|
+
voluptate velit esse cillum dolore eu fugiat nulla pariatur.
|
|
53
|
+
</p>
|
|
54
|
+
</Section>
|
|
55
|
+
|
|
56
|
+
<Section title="Yet another section title">
|
|
57
|
+
<p>
|
|
58
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut
|
|
59
|
+
labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco
|
|
60
|
+
laboris nisi ut aliquip ex ea commodo consequat.
|
|
61
|
+
</p>
|
|
62
|
+
</Section>
|
|
63
|
+
</Embed>
|
|
64
|
+
</Story>
|
|
65
|
+
|
|
66
|
+
<style>
|
|
67
|
+
.grid-cell {
|
|
68
|
+
background: var(--ons-color-grey-10);
|
|
69
|
+
min-height: 200px;
|
|
70
|
+
width: 100%;
|
|
71
|
+
}
|
|
72
|
+
</style>
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/** @typedef {typeof __propDef.props} EmbedArticleProps */
|
|
2
|
+
/** @typedef {typeof __propDef.events} EmbedArticleEvents */
|
|
3
|
+
/** @typedef {typeof __propDef.slots} EmbedArticleSlots */
|
|
4
|
+
export default class EmbedArticle extends SvelteComponentTyped<{
|
|
5
|
+
[x: string]: never;
|
|
6
|
+
}, {
|
|
7
|
+
[evt: string]: CustomEvent<any>;
|
|
8
|
+
}, {}> {
|
|
9
|
+
}
|
|
10
|
+
export type EmbedArticleProps = typeof __propDef.props;
|
|
11
|
+
export type EmbedArticleEvents = typeof __propDef.events;
|
|
12
|
+
export type EmbedArticleSlots = typeof __propDef.slots;
|
|
13
|
+
import { SvelteComponentTyped } from "svelte";
|
|
14
|
+
declare const __propDef: {
|
|
15
|
+
props: {
|
|
16
|
+
[x: string]: never;
|
|
17
|
+
};
|
|
18
|
+
events: {
|
|
19
|
+
[evt: string]: CustomEvent<any>;
|
|
20
|
+
};
|
|
21
|
+
slots: {};
|
|
22
|
+
};
|
|
23
|
+
export {};
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
A full page article template with compact header and footer, suitable for scrollytelling and other feature articles.
|
|
2
|
+
|
|
3
|
+
(Note: The scroller in this example will not preview correctly in the iframe on this page. You can select the example from the menu instead.)
|
|
4
|
+
|
|
5
|
+
<!-- prettier-ignore -->
|
|
6
|
+
```html
|
|
7
|
+
<!-- +page.svelte -->
|
|
8
|
+
<script>
|
|
9
|
+
import "@onsvisual/svelte-components/css/main.css"; // This is more typically imported in the global +layout.svelte
|
|
10
|
+
import { Embed, Highlight, Select, Section, Grid } from "@onsvisual/svelte-components";
|
|
11
|
+
</script>
|
|
12
|
+
|
|
13
|
+
<Embed>
|
|
14
|
+
<Highlight bigText={false} marginBottom={false}>
|
|
15
|
+
<div style:padding="0 12px">
|
|
16
|
+
<h2>This is a sub-headline</h2>
|
|
17
|
+
<p>This is a description of the embedded interactive.</p>
|
|
18
|
+
<Select label="Select your area" />
|
|
19
|
+
</div>
|
|
20
|
+
</Highlight>
|
|
21
|
+
|
|
22
|
+
<Section title="Section title" marginTop={true}>
|
|
23
|
+
<p>
|
|
24
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut
|
|
25
|
+
labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco
|
|
26
|
+
laboris nisi ut aliquip ex ea commodo consequat..
|
|
27
|
+
</p>
|
|
28
|
+
<p>
|
|
29
|
+
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
|
|
30
|
+
pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt
|
|
31
|
+
mollit anim id est laborum.
|
|
32
|
+
</p>
|
|
33
|
+
</Section>
|
|
34
|
+
|
|
35
|
+
<Grid width="medium" caption="This is a caption text">
|
|
36
|
+
<div class="grid-cell"></div>
|
|
37
|
+
</Grid>
|
|
38
|
+
|
|
39
|
+
<Section title="Another section title">
|
|
40
|
+
<p>
|
|
41
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut
|
|
42
|
+
labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco
|
|
43
|
+
laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in
|
|
44
|
+
voluptate velit esse cillum dolore eu fugiat nulla pariatur.
|
|
45
|
+
</p>
|
|
46
|
+
</Section>
|
|
47
|
+
|
|
48
|
+
<Section title="Yet another section title">
|
|
49
|
+
<p>
|
|
50
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut
|
|
51
|
+
labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco
|
|
52
|
+
laboris nisi ut aliquip ex ea commodo consequat.
|
|
53
|
+
</p>
|
|
54
|
+
</Section>
|
|
55
|
+
</Embed>
|
|
56
|
+
```
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
<script module>
|
|
2
|
+
import { defineMeta } from "@storybook/addon-svelte-csf";
|
|
3
|
+
import { withComponentDocs } from "../../js/withParams.js";
|
|
4
|
+
import componentDocs from "./docs/component.md?raw";
|
|
5
|
+
|
|
6
|
+
import Main from "../../wrappers/Main/Main.svelte";
|
|
7
|
+
import Header from "../../layout/Header/Header.svelte";
|
|
8
|
+
import Hero from "../../layout/Hero/Hero.svelte";
|
|
9
|
+
import Container from "../../wrappers/Container/Container.svelte";
|
|
10
|
+
import Highlight from "../../layout/Highlight/Highlight.svelte";
|
|
11
|
+
import Section from "../../layout/Section/Section.svelte";
|
|
12
|
+
import Grid from "../../layout/Grid/Grid.svelte";
|
|
13
|
+
import GridCell from "../../layout/Grid/GridCell.svelte";
|
|
14
|
+
import Blockquote from "../../decorators/Blockquote/Blockquote.svelte";
|
|
15
|
+
import Em from "../../decorators/Em/Em.svelte";
|
|
16
|
+
import Divider from "../../decorators/Divider/Divider.svelte";
|
|
17
|
+
import Scroller from "../../layout/Scroller/Scroller.svelte";
|
|
18
|
+
import ScrollerSection from "../../layout/Scroller/ScrollerSection.svelte";
|
|
19
|
+
import Footer from "../../layout/Footer/Footer.svelte";
|
|
20
|
+
|
|
21
|
+
const { Story } = defineMeta({
|
|
22
|
+
title: "Templates/Feature article",
|
|
23
|
+
component: Header,
|
|
24
|
+
tags: ["autodocs"],
|
|
25
|
+
argTypes: {},
|
|
26
|
+
parameters: {
|
|
27
|
+
...withComponentDocs(componentDocs),
|
|
28
|
+
layout: "fullscreen",
|
|
29
|
+
docs: { story: { inline: false, iframeHeight: 600 } }
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
</script>
|
|
33
|
+
|
|
34
|
+
<script>
|
|
35
|
+
const scrollerColors = ["#ddd", "#777", "#222"];
|
|
36
|
+
let scrollerColor = scrollerColors[0];
|
|
37
|
+
</script>
|
|
38
|
+
|
|
39
|
+
<Story name="Default" args={{}} asChild>
|
|
40
|
+
<Header compact />
|
|
41
|
+
<Main>
|
|
42
|
+
<Hero
|
|
43
|
+
theme="blue"
|
|
44
|
+
title="This is an article title"
|
|
45
|
+
lede="This is a short, introductory sentence"
|
|
46
|
+
height={400}
|
|
47
|
+
>
|
|
48
|
+
1 January 2025
|
|
49
|
+
</Hero>
|
|
50
|
+
|
|
51
|
+
<Highlight height={400} marginBottom={false}>
|
|
52
|
+
<p>This is a test paragraph.</p>
|
|
53
|
+
<p>This is another test paragraph.</p>
|
|
54
|
+
</Highlight>
|
|
55
|
+
|
|
56
|
+
<Section title="Section title" marginTop={true}>
|
|
57
|
+
<p>
|
|
58
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut
|
|
59
|
+
labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco
|
|
60
|
+
laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in
|
|
61
|
+
voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat
|
|
62
|
+
cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
|
|
63
|
+
</p>
|
|
64
|
+
<Blockquote attribution="A. Person"
|
|
65
|
+
>This is a blockquote, white comprises of a large block of inset text.</Blockquote
|
|
66
|
+
>
|
|
67
|
+
<p>
|
|
68
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut
|
|
69
|
+
labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco
|
|
70
|
+
laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in
|
|
71
|
+
voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat
|
|
72
|
+
cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
|
|
73
|
+
</p>
|
|
74
|
+
</Section>
|
|
75
|
+
|
|
76
|
+
<Grid colWidth="medium" caption="This is a caption text">
|
|
77
|
+
<GridCell><div class="placeholder"></div></GridCell>
|
|
78
|
+
<GridCell><div class="placeholder"></div></GridCell>
|
|
79
|
+
<GridCell><div class="placeholder"></div></GridCell>
|
|
80
|
+
</Grid>
|
|
81
|
+
|
|
82
|
+
<Divider />
|
|
83
|
+
|
|
84
|
+
<Section title="Another section title">
|
|
85
|
+
<p>
|
|
86
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut
|
|
87
|
+
labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco
|
|
88
|
+
laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in
|
|
89
|
+
voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat
|
|
90
|
+
cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
|
|
91
|
+
</p>
|
|
92
|
+
</Section>
|
|
93
|
+
|
|
94
|
+
<Scroller
|
|
95
|
+
id="scroller"
|
|
96
|
+
splitscreen
|
|
97
|
+
on:change={(e) => {
|
|
98
|
+
scrollerColor = scrollerColors[e.detail.index];
|
|
99
|
+
console.debug("change", e);
|
|
100
|
+
}}
|
|
101
|
+
on:enter={(e) => console.debug("enter", e)}
|
|
102
|
+
on:exit={(e) => console.debug("exit", e)}
|
|
103
|
+
>
|
|
104
|
+
<div slot="background">
|
|
105
|
+
<Container width="full" height="full" background={scrollerColor} />
|
|
106
|
+
</div>
|
|
107
|
+
<div slot="foreground">
|
|
108
|
+
<ScrollerSection>
|
|
109
|
+
<p>
|
|
110
|
+
When this first caption is visible, the background will appear <Em
|
|
111
|
+
color={scrollerColors[0]}>light grey</Em
|
|
112
|
+
>.
|
|
113
|
+
</p>
|
|
114
|
+
</ScrollerSection>
|
|
115
|
+
<ScrollerSection>
|
|
116
|
+
<p>
|
|
117
|
+
When this section caption is visible, the background will appear <Em
|
|
118
|
+
color={scrollerColors[1]}>dark grey</Em
|
|
119
|
+
>.
|
|
120
|
+
</p>
|
|
121
|
+
</ScrollerSection>
|
|
122
|
+
<ScrollerSection>
|
|
123
|
+
<p>
|
|
124
|
+
When this third caption is visible, the background will appear <Em
|
|
125
|
+
color={scrollerColors[2]}>black</Em
|
|
126
|
+
>.
|
|
127
|
+
</p>
|
|
128
|
+
</ScrollerSection>
|
|
129
|
+
</div>
|
|
130
|
+
</Scroller>
|
|
131
|
+
|
|
132
|
+
<Section title="Yet another section title">
|
|
133
|
+
<p>
|
|
134
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut
|
|
135
|
+
labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco
|
|
136
|
+
laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in
|
|
137
|
+
voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat
|
|
138
|
+
cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
|
|
139
|
+
</p>
|
|
140
|
+
</Section>
|
|
141
|
+
</Main>
|
|
142
|
+
<Footer compact />
|
|
143
|
+
</Story>
|
|
144
|
+
|
|
145
|
+
<style>
|
|
146
|
+
.placeholder {
|
|
147
|
+
background: var(--ons-color-grey-10);
|
|
148
|
+
padding: 12px;
|
|
149
|
+
height: 200px;
|
|
150
|
+
}
|
|
151
|
+
</style>
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/** @typedef {typeof __propDef.props} FeatureArticleProps */
|
|
2
|
+
/** @typedef {typeof __propDef.events} FeatureArticleEvents */
|
|
3
|
+
/** @typedef {typeof __propDef.slots} FeatureArticleSlots */
|
|
4
|
+
export default class FeatureArticle extends SvelteComponentTyped<{
|
|
5
|
+
[x: string]: never;
|
|
6
|
+
}, {
|
|
7
|
+
[evt: string]: CustomEvent<any>;
|
|
8
|
+
}, {}> {
|
|
9
|
+
}
|
|
10
|
+
export type FeatureArticleProps = typeof __propDef.props;
|
|
11
|
+
export type FeatureArticleEvents = typeof __propDef.events;
|
|
12
|
+
export type FeatureArticleSlots = typeof __propDef.slots;
|
|
13
|
+
import { SvelteComponentTyped } from "svelte";
|
|
14
|
+
declare const __propDef: {
|
|
15
|
+
props: {
|
|
16
|
+
[x: string]: never;
|
|
17
|
+
};
|
|
18
|
+
events: {
|
|
19
|
+
[evt: string]: CustomEvent<any>;
|
|
20
|
+
};
|
|
21
|
+
slots: {};
|
|
22
|
+
};
|
|
23
|
+
export {};
|