@onsvisual/svelte-components 0.1.105 → 1.0.0-next.2
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,40 @@
|
|
|
1
|
+
<script module>
|
|
2
|
+
import { defineMeta } from "@storybook/addon-svelte-csf";
|
|
3
|
+
import { withComponentDocs } from "../../js/withParams.js";
|
|
4
|
+
import Textarea from "./Textarea.svelte";
|
|
5
|
+
import componentDocs from "./docs/component.md?raw";
|
|
6
|
+
|
|
7
|
+
const { Story } = defineMeta({
|
|
8
|
+
title: "Inputs/Textarea",
|
|
9
|
+
component: Textarea,
|
|
10
|
+
tags: ["autodocs"],
|
|
11
|
+
argTypes: {},
|
|
12
|
+
parameters: withComponentDocs(componentDocs)
|
|
13
|
+
});
|
|
14
|
+
</script>
|
|
15
|
+
|
|
16
|
+
{#snippet template(args)}
|
|
17
|
+
<div style:padding="12px">
|
|
18
|
+
<Textarea {...args} />
|
|
19
|
+
</div>
|
|
20
|
+
{/snippet}
|
|
21
|
+
|
|
22
|
+
<Story
|
|
23
|
+
name="Default"
|
|
24
|
+
args={{
|
|
25
|
+
id: "text",
|
|
26
|
+
label: "Enter some text"
|
|
27
|
+
}}
|
|
28
|
+
{template}
|
|
29
|
+
/>
|
|
30
|
+
|
|
31
|
+
<Story
|
|
32
|
+
name="Hidden label and character limit"
|
|
33
|
+
args={{
|
|
34
|
+
id: "text",
|
|
35
|
+
label: "Enter some text",
|
|
36
|
+
hideLabel: true,
|
|
37
|
+
charLimit: 200
|
|
38
|
+
}}
|
|
39
|
+
{template}
|
|
40
|
+
/>
|
|
@@ -2,14 +2,7 @@
|
|
|
2
2
|
/** @typedef {typeof __propDef.events} TextareaEvents */
|
|
3
3
|
/** @typedef {typeof __propDef.slots} TextareaSlots */
|
|
4
4
|
export default class Textarea extends SvelteComponentTyped<{
|
|
5
|
-
|
|
6
|
-
width?: number;
|
|
7
|
-
label?: string;
|
|
8
|
-
value?: string;
|
|
9
|
-
description?: string;
|
|
10
|
-
hideLabel?: boolean;
|
|
11
|
-
charLimit?: number;
|
|
12
|
-
rows?: number;
|
|
5
|
+
[x: string]: never;
|
|
13
6
|
}, {
|
|
14
7
|
[evt: string]: CustomEvent<any>;
|
|
15
8
|
}, {}> {
|
|
@@ -20,14 +13,7 @@ export type TextareaSlots = typeof __propDef.slots;
|
|
|
20
13
|
import { SvelteComponentTyped } from "svelte";
|
|
21
14
|
declare const __propDef: {
|
|
22
15
|
props: {
|
|
23
|
-
|
|
24
|
-
width?: number;
|
|
25
|
-
label?: string;
|
|
26
|
-
value?: string;
|
|
27
|
-
description?: string;
|
|
28
|
-
hideLabel?: boolean;
|
|
29
|
-
charLimit?: number;
|
|
30
|
-
rows?: number;
|
|
16
|
+
[x: string]: never;
|
|
31
17
|
};
|
|
32
18
|
events: {
|
|
33
19
|
[evt: string]: CustomEvent<any>;
|
|
@@ -1,99 +1,103 @@
|
|
|
1
1
|
<script>
|
|
2
|
-
|
|
2
|
+
import { createEventDispatcher } from "svelte";
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
const dispatch = createEventDispatcher();
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
6
|
+
/**
|
|
7
|
+
* ID for <textarea> element
|
|
8
|
+
* @type {string}
|
|
9
|
+
*/
|
|
10
|
+
export let id = "";
|
|
11
|
+
/**
|
|
12
|
+
* A prop to bind to for the entered value
|
|
13
|
+
* @type {string}
|
|
14
|
+
*/
|
|
15
|
+
export let value = "";
|
|
16
|
+
/**
|
|
17
|
+
* A label to describe the <textarea> element (expected for accessibility)
|
|
18
|
+
* @type {string}
|
|
19
|
+
*/
|
|
20
|
+
export let label = "Enter some text";
|
|
21
|
+
/**
|
|
22
|
+
* Visually hide the label
|
|
23
|
+
* @type {boolean}
|
|
24
|
+
*/
|
|
25
|
+
export let hideLabel = false;
|
|
26
|
+
/**
|
|
27
|
+
* An optional description to help users know what to enter
|
|
28
|
+
* @type {string}
|
|
29
|
+
*/
|
|
30
|
+
export let description = "";
|
|
31
|
+
/**
|
|
32
|
+
* The maximum number of characters that can be entered (optional)
|
|
33
|
+
* @type {number|null}
|
|
34
|
+
*/
|
|
35
|
+
export let charLimit = null;
|
|
36
|
+
/**
|
|
37
|
+
* The height of the <textarea> element in rows
|
|
38
|
+
* @type {number}
|
|
39
|
+
*/
|
|
40
|
+
export let rows = 8;
|
|
41
|
+
/**
|
|
42
|
+
* The width of the <textarea> element in characters
|
|
43
|
+
* @type {number}
|
|
44
|
+
*/
|
|
45
|
+
export let width = 30;
|
|
46
46
|
|
|
47
|
-
|
|
47
|
+
$: remaining = charLimit && value.length ? charLimit - value.length : charLimit || null;
|
|
48
48
|
</script>
|
|
49
49
|
|
|
50
50
|
<div class="ons-field">
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
51
|
+
{#if label}
|
|
52
|
+
<label
|
|
53
|
+
class="ons-label ons-label--with-description"
|
|
54
|
+
class:ons-u-vh={hideLabel}
|
|
55
|
+
aria-describedby={description ? `${id}-description-hint` : null}
|
|
56
|
+
for={id}>{label}</label
|
|
57
|
+
>
|
|
58
|
+
{/if}
|
|
59
|
+
{#if description}
|
|
60
|
+
<span id="{id}-description-hint" class="ons-label__description ons-input--with-description"
|
|
61
|
+
>{description}</span
|
|
62
|
+
>
|
|
63
|
+
{/if}
|
|
64
|
+
<textarea
|
|
65
|
+
{id}
|
|
66
|
+
bind:value
|
|
67
|
+
class="ons-input ons-input--textarea {Number.isInteger(width) ? `ons-input--w-${width}` : null}"
|
|
68
|
+
class:ons-js-char-limit-input={charLimit}
|
|
69
|
+
class:ons-input--limit-reached={remaining === 0}
|
|
70
|
+
name={id}
|
|
71
|
+
{rows}
|
|
72
|
+
maxlength={charLimit}
|
|
73
|
+
data-char-limit-ref="{id}-lim"
|
|
74
|
+
aria-describedby="textarea-char-limit-lim"
|
|
75
|
+
></textarea>
|
|
76
|
+
{#if Number.isInteger(remaining)}
|
|
77
|
+
<span
|
|
78
|
+
id="textarea-char-limit-lim"
|
|
79
|
+
class="ons-input__limit ons-u-fs-s--b ons-u-mt-xs"
|
|
80
|
+
class:ons-input__limit--reached={remaining === 0}
|
|
81
|
+
data-charcount-singular="You have {remaining} character remaining"
|
|
82
|
+
data-charcount-plural="You have {remaining} characters remaining"
|
|
83
|
+
data-charcount-limit-singular=""
|
|
84
|
+
data-charcount-limit-plural=""
|
|
85
|
+
aria-live={remaining === 0 ? "assertive" : "polite"}
|
|
86
|
+
>
|
|
87
|
+
You have {remaining}
|
|
88
|
+
{remaining === 1 ? "character" : "characters"} remaining
|
|
89
|
+
</span>
|
|
90
|
+
{/if}
|
|
90
91
|
</div>
|
|
91
92
|
|
|
92
93
|
<style>
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
94
|
+
.ons-input--textarea {
|
|
95
|
+
background: var(--background, white);
|
|
96
|
+
border-color: currentColor;
|
|
97
|
+
}
|
|
98
|
+
.ons-input--textarea:focus {
|
|
99
|
+
box-shadow:
|
|
100
|
+
0 0 0 1px currentColor,
|
|
101
|
+
0 0 0 4px #fbc900;
|
|
102
|
+
}
|
|
103
|
+
</style>
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/** @typedef {typeof __propDef.props} TextareaProps */
|
|
2
|
+
/** @typedef {typeof __propDef.events} TextareaEvents */
|
|
3
|
+
/** @typedef {typeof __propDef.slots} TextareaSlots */
|
|
4
|
+
export default class Textarea extends SvelteComponentTyped<{
|
|
5
|
+
id?: string | undefined;
|
|
6
|
+
width?: number | undefined;
|
|
7
|
+
label?: string | undefined;
|
|
8
|
+
value?: string | undefined;
|
|
9
|
+
hideLabel?: boolean | undefined;
|
|
10
|
+
description?: string | undefined;
|
|
11
|
+
charLimit?: number | null | undefined;
|
|
12
|
+
rows?: number | undefined;
|
|
13
|
+
}, {
|
|
14
|
+
[evt: string]: CustomEvent<any>;
|
|
15
|
+
}, {}> {
|
|
16
|
+
}
|
|
17
|
+
export type TextareaProps = typeof __propDef.props;
|
|
18
|
+
export type TextareaEvents = typeof __propDef.events;
|
|
19
|
+
export type TextareaSlots = typeof __propDef.slots;
|
|
20
|
+
import { SvelteComponentTyped } from "svelte";
|
|
21
|
+
declare const __propDef: {
|
|
22
|
+
props: {
|
|
23
|
+
id?: string | undefined;
|
|
24
|
+
width?: number | undefined;
|
|
25
|
+
label?: string | undefined;
|
|
26
|
+
value?: string | undefined;
|
|
27
|
+
hideLabel?: boolean | undefined;
|
|
28
|
+
description?: string | undefined;
|
|
29
|
+
charLimit?: number | null | undefined;
|
|
30
|
+
rows?: number | undefined;
|
|
31
|
+
};
|
|
32
|
+
events: {
|
|
33
|
+
[evt: string]: CustomEvent<any>;
|
|
34
|
+
};
|
|
35
|
+
slots: {};
|
|
36
|
+
};
|
|
37
|
+
export {};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
A standard `<input>` element with Svelte bindings and events.
|
|
2
|
+
|
|
3
|
+
<!-- prettier-ignore -->
|
|
4
|
+
```html
|
|
5
|
+
<script>
|
|
6
|
+
import { Input } from "@onsvisual/svelte-components";
|
|
7
|
+
|
|
8
|
+
// Bind the <input> value to a variable (reactive)
|
|
9
|
+
let value;
|
|
10
|
+
|
|
11
|
+
// Define your own function on change
|
|
12
|
+
const handleChange = (e) => console.log(e);
|
|
13
|
+
</script>
|
|
14
|
+
|
|
15
|
+
<Input bind:value on:change="{handleChange}" />
|
|
16
|
+
```
|
package/dist/intro.mdx
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { Meta } from "@storybook/addon-docs/blocks";
|
|
2
|
+
|
|
3
|
+
<Meta title="Introduction" />
|
|
4
|
+
|
|
5
|
+
# @onsvisual/svelte-components
|
|
6
|
+
|
|
7
|
+
<p>
|
|
8
|
+
<a href="https://www.npmjs.com/package/@onsvisual/svelte-components">
|
|
9
|
+
<img
|
|
10
|
+
src="https://badge.fury.io/js/@onsvisual%2Fsvelte-components.svg"
|
|
11
|
+
alt="npm version"
|
|
12
|
+
style={{ display: "inline-block", margin: "0 5px 0 0" }}
|
|
13
|
+
/>
|
|
14
|
+
</a>
|
|
15
|
+
<a href="https://github.com/onsvisual/svelte-components">
|
|
16
|
+
<img
|
|
17
|
+
src="https://badgen.net/badge/icon/GitHub?icon=github&label"
|
|
18
|
+
alt="GitHub"
|
|
19
|
+
style={{ display: "inline-block", margin: "0 5px 0 0" }}
|
|
20
|
+
/>
|
|
21
|
+
</a>
|
|
22
|
+
</p>
|
|
23
|
+
|
|
24
|
+
A library of ONS-branded Svelte components for projects large and small.
|
|
25
|
+
|
|
26
|
+
The components and styles in this library based on the [ONS Design System](https://service-manual.ons.gov.uk/design-system/), but with a number of tweaks and additions to make them suitable for a range of interactive data visualisation and data journalism projects.
|
|
27
|
+
|
|
28
|
+
## Installing the components
|
|
29
|
+
|
|
30
|
+
There are two ways to start a new project using these components.
|
|
31
|
+
|
|
32
|
+
### 1. Use a ready-made template
|
|
33
|
+
|
|
34
|
+
When you start a project from one of the following templates, @onsvisual/svelte-components will already be installed:
|
|
35
|
+
|
|
36
|
+
- [sveltekit-starter](https://github.com/ONSvisual/sveltekit-starter)
|
|
37
|
+
- [robo-article](https://github.com/ONSvisual/robo-article)
|
|
38
|
+
- [robo-embed](https://github.com/ONSvisual/robo-embed)
|
|
39
|
+
|
|
40
|
+
### 2. Start a new Svelte Kit project from scratch
|
|
41
|
+
|
|
42
|
+
If you want to start from scratch, you can set up a [new Svelte Kit project](https://kit.svelte.dev/docs/creating-a-project), then run the following command.
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
npm install @onsvisual/svelte-components --save-dev
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Using the components
|
|
49
|
+
|
|
50
|
+
Checkout the [guides](?path=/docs/guides-using-these-docs--page), or dive straight into the docs to start using components.
|
|
51
|
+
|
|
52
|
+
{/* prettier-ignore */}
|
|
53
|
+
```html
|
|
54
|
+
<script>
|
|
55
|
+
import "@onsvisual/svelte-components/css/main.css";
|
|
56
|
+
import { Section } from "@onsvisual/svelte-components";
|
|
57
|
+
</script>
|
|
58
|
+
|
|
59
|
+
<Section title="Hello world!">This is my first ONS Svelte component.</Section>
|
|
60
|
+
```
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export default [
|
|
2
|
+
{ id: "E12000001", label: "North East", group: "England" },
|
|
3
|
+
{ id: "E12000002", label: "North West", group: "England" },
|
|
4
|
+
{ id: "E12000003", label: "Yorkshire and The Humber", group: "England" },
|
|
5
|
+
{ id: "E12000004", label: "East Midlands", group: "England" },
|
|
6
|
+
{ id: "E12000005", label: "West Midlands", group: "England" },
|
|
7
|
+
{ id: "E12000006", label: "East of England", group: "England" },
|
|
8
|
+
{ id: "E12000007", label: "London", group: "England" },
|
|
9
|
+
{ id: "E12000008", label: "South East", group: "England" },
|
|
10
|
+
{ id: "E12000009", label: "South West", group: "England" },
|
|
11
|
+
{ id: "N92000002", label: "Northern Ireland", group: "Northern Ireland" },
|
|
12
|
+
{ id: "S92000003", label: "Scotland", group: "Scotland" },
|
|
13
|
+
{ id: "W92000004", label: "Wales", group: "Wales" }
|
|
14
|
+
];
|
|
@@ -6,12 +6,18 @@ export function formatDate(str: any, locale?: string, opts?: {
|
|
|
6
6
|
month: string;
|
|
7
7
|
day: string;
|
|
8
8
|
}): string;
|
|
9
|
-
export function format(val: any, dp?:
|
|
10
|
-
export function formatter(dp?:
|
|
9
|
+
export function format(val: any, dp?: null): any;
|
|
10
|
+
export function formatter(dp?: null): {
|
|
11
11
|
(value: number): string;
|
|
12
12
|
(value: number | bigint): string;
|
|
13
|
+
(value: number | bigint | Intl.StringNumericLiteral): string;
|
|
13
14
|
};
|
|
14
15
|
export function ascending(a: any, b: any): number;
|
|
15
16
|
export function descending(a: any, b: any): number;
|
|
16
17
|
export function sleep(ms?: number): Promise<any>;
|
|
17
18
|
export function contrastColor(color: any): "black" | "white";
|
|
19
|
+
export function lipsum(sentences?: number, offset?: number): string;
|
|
20
|
+
export function matchMedia(query: any): MediaQueryList;
|
|
21
|
+
export namespace matchMedia {
|
|
22
|
+
function hasMatchMedia(): boolean;
|
|
23
|
+
}
|
package/dist/js/utils.js
CHANGED
|
@@ -1,74 +1,91 @@
|
|
|
1
1
|
import parse from "parse-color";
|
|
2
2
|
|
|
3
3
|
const randomString = () => {
|
|
4
|
-
|
|
4
|
+
return Math.random().toString(16).slice(2, 8);
|
|
5
5
|
};
|
|
6
6
|
|
|
7
7
|
export const slugify = (str, suffix = false) =>
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
8
|
+
typeof str === "string"
|
|
9
|
+
? str
|
|
10
|
+
.toString()
|
|
11
|
+
.normalize("NFD")
|
|
12
|
+
.replace(/[\u0300-\u036f]/g, "")
|
|
13
|
+
.toLowerCase()
|
|
14
|
+
.trim()
|
|
15
|
+
.replace(/\s+/g, "-")
|
|
16
|
+
.replace(/[^\w-]+/g, "")
|
|
17
|
+
.replace(/--+/g, "-")
|
|
18
|
+
.concat(suffix ? `-${randomString()}` : "")
|
|
19
|
+
: randomString();
|
|
20
20
|
|
|
21
21
|
export const isNumeric = (val) => isFinite(val) && val !== null;
|
|
22
22
|
|
|
23
23
|
export const validDate = (str) => {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
24
|
+
if (!str) return false;
|
|
25
|
+
const date = new Date(str);
|
|
26
|
+
// @ts-ignore
|
|
27
|
+
return !isNaN(date);
|
|
28
28
|
};
|
|
29
29
|
|
|
30
30
|
export const formatDate = (
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
31
|
+
str,
|
|
32
|
+
locale = "en-GB",
|
|
33
|
+
opts = { year: "numeric", month: "long", day: "2-digit" }
|
|
34
34
|
) => {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
35
|
+
const date = new Date(str);
|
|
36
|
+
// @ts-ignore
|
|
37
|
+
return date.toLocaleDateString(locale, opts);
|
|
38
38
|
};
|
|
39
39
|
|
|
40
40
|
export const format = (val, dp = null) => {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
41
|
+
return Number.isInteger(dp)
|
|
42
|
+
? val.toLocaleString("en-GB", {
|
|
43
|
+
minimumFractionDigits: dp,
|
|
44
|
+
maximumFractionDigits: dp
|
|
45
|
+
})
|
|
46
|
+
: val.toLocaleString("en-GB");
|
|
47
47
|
};
|
|
48
48
|
|
|
49
49
|
export const formatter = (dp = null) => {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
50
|
+
return Number.isInteger(dp)
|
|
51
|
+
? new Intl.NumberFormat("en-GB", {
|
|
52
|
+
minimumFractionDigits: dp,
|
|
53
|
+
maximumFractionDigits: dp
|
|
54
|
+
}).format
|
|
55
|
+
: new Intl.NumberFormat("en-GB").format;
|
|
56
56
|
};
|
|
57
57
|
|
|
58
58
|
export const ascending = (a, b) =>
|
|
59
|
-
|
|
59
|
+
a == null || b == null ? NaN : a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;
|
|
60
60
|
|
|
61
61
|
export const descending = (a, b) =>
|
|
62
|
-
|
|
62
|
+
a == null || b == null ? NaN : b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN;
|
|
63
63
|
|
|
64
64
|
export const sleep = (ms = 1000) => new Promise((resolve) => setTimeout(resolve, ms));
|
|
65
65
|
|
|
66
66
|
export const contrastColor = (color) => {
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
67
|
+
if (!color || typeof color !== "string") return "black";
|
|
68
|
+
const rgb = parse(color).rgb;
|
|
69
|
+
if (rgb) {
|
|
70
|
+
const brightness = (rgb[0] * 299 + rgb[1] * 587 + rgb[2] * 114) / 1000;
|
|
71
|
+
return brightness > 125 ? "black" : "white";
|
|
72
|
+
}
|
|
73
|
+
return "black";
|
|
74
74
|
};
|
|
75
|
+
|
|
76
|
+
export const lipsum = (sentences = 4, offset = 0) => {
|
|
77
|
+
const texts = [
|
|
78
|
+
"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.",
|
|
79
|
+
"Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.",
|
|
80
|
+
"Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.",
|
|
81
|
+
"Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
|
|
82
|
+
];
|
|
83
|
+
const passage = [];
|
|
84
|
+
for (let i = 0; i < sentences; i++) {
|
|
85
|
+
passage.push(texts[(i + offset) % 4]);
|
|
86
|
+
}
|
|
87
|
+
return passage.join(" ");
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
export const matchMedia = (query) => window.matchMedia(query);
|
|
91
|
+
matchMedia.hasMatchMedia = () => typeof window.matchMedia === "function";
|
|
@@ -1,15 +1,9 @@
|
|
|
1
1
|
export function withSource(source: object, otherOptions?: object): {
|
|
2
|
-
|
|
3
|
-
docs: any;
|
|
4
|
-
};
|
|
2
|
+
docs: any;
|
|
5
3
|
};
|
|
6
4
|
export function withStoryDocs(storyDocs: string, otherOptions?: object): {
|
|
7
|
-
|
|
8
|
-
docs: any;
|
|
9
|
-
};
|
|
5
|
+
docs: any;
|
|
10
6
|
};
|
|
11
7
|
export function withComponentDocs(componentDocs: string, otherOptions?: object): {
|
|
12
|
-
|
|
13
|
-
docs: any;
|
|
14
|
-
};
|
|
8
|
+
docs: any;
|
|
15
9
|
};
|
package/dist/js/withParams.js
CHANGED
|
@@ -5,14 +5,13 @@
|
|
|
5
5
|
* @returns props object including parameters
|
|
6
6
|
*/
|
|
7
7
|
export const withSource = (source, otherOptions = {}) => {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
return { parameters };
|
|
8
|
+
const language = Object.keys(source)[0];
|
|
9
|
+
const code = source[language];
|
|
10
|
+
const docs = {
|
|
11
|
+
...otherOptions?.parameters?.docs,
|
|
12
|
+
source: { code, language }
|
|
13
|
+
};
|
|
14
|
+
return { docs };
|
|
16
15
|
};
|
|
17
16
|
|
|
18
17
|
/**
|
|
@@ -22,12 +21,11 @@ export const withSource = (source, otherOptions = {}) => {
|
|
|
22
21
|
* @returns props object including parameters
|
|
23
22
|
*/
|
|
24
23
|
export const withStoryDocs = (storyDocs, otherOptions = {}) => {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
return { parameters };
|
|
24
|
+
const docs = {
|
|
25
|
+
...otherOptions?.parameters?.docs,
|
|
26
|
+
description: { story: storyDocs }
|
|
27
|
+
};
|
|
28
|
+
return { docs };
|
|
31
29
|
};
|
|
32
30
|
|
|
33
31
|
/**
|
|
@@ -37,10 +35,9 @@ export const withStoryDocs = (storyDocs, otherOptions = {}) => {
|
|
|
37
35
|
* @returns props object including parameters
|
|
38
36
|
*/
|
|
39
37
|
export const withComponentDocs = (componentDocs, otherOptions = {}) => {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
return { parameters };
|
|
38
|
+
const docs = {
|
|
39
|
+
...otherOptions?.parameters?.docs,
|
|
40
|
+
description: { component: componentDocs }
|
|
41
|
+
};
|
|
42
|
+
return { docs };
|
|
46
43
|
};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
<script module>
|
|
2
|
+
import { defineMeta } from "@storybook/addon-svelte-csf";
|
|
3
|
+
import { withComponentDocs } from "../../js/withParams.js";
|
|
4
|
+
import Accordion from "./Accordion.svelte";
|
|
5
|
+
import AccordionItem from "./AccordionItem.svelte";
|
|
6
|
+
import componentDocs from "./docs/component.md?raw";
|
|
7
|
+
|
|
8
|
+
const { Story } = defineMeta({
|
|
9
|
+
title: "Layout/Accordion",
|
|
10
|
+
component: Accordion,
|
|
11
|
+
tags: ["autodocs"],
|
|
12
|
+
argTypes: {},
|
|
13
|
+
parameters: withComponentDocs(componentDocs)
|
|
14
|
+
});
|
|
15
|
+
</script>
|
|
16
|
+
|
|
17
|
+
{#snippet template(args)}
|
|
18
|
+
<Accordion {...args}>
|
|
19
|
+
<AccordionItem title="First item">
|
|
20
|
+
<p>Contents of first item.</p>
|
|
21
|
+
</AccordionItem>
|
|
22
|
+
<AccordionItem title="Second item">
|
|
23
|
+
<p>Contents of second item.</p>
|
|
24
|
+
</AccordionItem>
|
|
25
|
+
</Accordion>
|
|
26
|
+
{/snippet}
|
|
27
|
+
|
|
28
|
+
<Story name="Default" args={{}} {template} />
|
|
29
|
+
|
|
30
|
+
<Story name="With 'show all' toggle" args={{ showToggle: true }} {template} />
|