@qhealth-design-system/core 1.21.0 → 1.22.0
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/.prettierignore +14 -0
- package/.storybook/assets/storybook.scss +39 -39
- package/.storybook/decorators.js +36 -0
- package/.storybook/globals.js +196 -128
- package/.storybook/helper-functions.js +48 -9
- package/.storybook/main.js +20 -13
- package/.storybook/prepare-storybook.js +14 -14
- package/.storybook/preview-head.html +4 -1
- package/.storybook/preview.js +84 -98
- package/.storybook/vite-plugin-hbs.js +13 -13
- package/.stylelintrc.json +23 -23
- package/CHANGELOG.md +4 -0
- package/README.md +56 -520
- package/chromatic.config.json +5 -0
- package/eslint.config.mjs +72 -47
- package/package.json +95 -87
- package/prettier.config.js +10 -14
- package/src/component-loader.js +39 -15
- package/src/components/_global/css/admin/component.scss +112 -112
- package/src/components/_global/css/body/component.scss +944 -924
- package/src/components/_global/css/btn/component.scss +518 -512
- package/src/components/_global/css/cta_links/component.scss +192 -192
- package/src/components/_global/css/direction_links/component.scss +98 -98
- package/src/components/_global/css/example/component.scss +43 -37
- package/src/components/_global/css/flex/flexbox-utility-classes.scss +586 -594
- package/src/components/_global/css/forms/control_inputs/component.scss +269 -266
- package/src/components/_global/css/forms/general/component.scss +210 -210
- package/src/components/_global/css/forms/select/component.scss +324 -312
- package/src/components/_global/css/forms/text/component.scss +358 -348
- package/src/components/_global/css/global.scss +14 -15
- package/src/components/_global/css/grid-12/component.scss +254 -260
- package/src/components/_global/css/headings/component.scss +153 -153
- package/src/components/_global/css/icons/component.scss +115 -115
- package/src/components/_global/css/img/images.scss +64 -62
- package/src/components/_global/css/link_columns/component.scss +199 -199
- package/src/components/_global/css/link_list/component.scss +33 -33
- package/src/components/_global/css/links/components.scss +61 -57
- package/src/components/_global/css/modal/component.scss +162 -162
- package/src/components/_global/css/table/component.scss +274 -272
- package/src/components/_global/css/tabs/component.scss +26 -26
- package/src/components/_global/css/tags/component.scss +307 -307
- package/src/components/_global/css/toggle_and_tool_tip/component.scss +199 -195
- package/src/components/_global/css/user_location/component.scss +35 -33
- package/src/components/_global/css/version/component.scss +37 -37
- package/src/components/_global/html/component.hbs +130 -77
- package/src/components/_global/html/ds_component.hbs +21 -24
- package/src/components/_global/html/head.html +16 -5
- package/src/components/_global/html/scripts.html +15 -15
- package/src/components/_global/js/_polyfills/global.js +12 -11
- package/src/components/_global/js/animate/global.js +303 -319
- package/src/components/_global/js/collapsible.js +203 -0
- package/src/components/_global/js/cta_links/global.js +19 -14
- package/src/components/_global/js/global.js +316 -309
- package/src/components/_global/js/manifest.json +9 -10
- package/src/components/_global/js/modal/global.js +241 -224
- package/src/components/_global/js/popover/controller.js +168 -0
- package/src/components/_global/js/popover/position.js +372 -0
- package/src/components/_global/js/select_boxes/global.js +21 -18
- package/src/components/_global/js/tabs/global.js +305 -301
- package/src/components/_template/css/component.scss +10 -15
- package/src/components/_template/html/component-page.html +57 -61
- package/src/components/_template/html/component.hbs +3 -3
- package/src/components/_template/js/global.js +2 -5
- package/src/components/_template/js/manifest.json +39 -39
- package/src/components/a-z_listing/css/component.scss +124 -127
- package/src/components/a-z_listing/html/component.hbs +15 -13
- package/src/components/a-z_listing/js/global.js +93 -75
- package/src/components/a-z_listing/js/manifest.json +13594 -13553
- package/src/components/abstract/css/component.scss +63 -65
- package/src/components/abstract/html/component.hbs +8 -7
- package/src/components/abstract/js/manifest.json +28 -28
- package/src/components/accordion/css/component.scss +253 -247
- package/src/components/accordion/html/accordion-group.html +158 -152
- package/src/components/accordion/html/component.hbs +43 -30
- package/src/components/accordion/html/default.html +94 -87
- package/src/components/accordion/js/global.js +171 -449
- package/src/components/accordion/js/manifest.json +475 -440
- package/src/components/banner/css/component.scss +450 -434
- package/src/components/banner/html/component.hbs +148 -97
- package/src/components/banner/js/manifest.json +9 -10
- package/src/components/banner_advanced/css/component.scss +210 -226
- package/src/components/banner_advanced/html/component.hbs +425 -233
- package/src/components/banner_advanced/js/global.js +13 -4
- package/src/components/banner_advanced/js/manifest.json +1502 -1502
- package/src/components/banner_basic/css/component.scss +34 -40
- package/src/components/banner_basic/html/component.hbs +214 -132
- package/src/components/banner_basic/js/global.js +2 -5
- package/src/components/banner_basic/js/manifest.json +92 -92
- package/src/components/basic_search/css/component.scss +208 -202
- package/src/components/basic_search/html/component.hbs +724 -366
- package/src/components/basic_search/js/global.js +80 -63
- package/src/components/basic_search/js/manifest.json +771 -797
- package/src/components/body/css/component.scss +7 -8
- package/src/components/body/html/component.hbs +13 -4
- package/src/components/body/js/manifest.json +47 -47
- package/src/components/breadcrumbs/css/component.scss +176 -171
- package/src/components/breadcrumbs/html/component.hbs +82 -50
- package/src/components/breadcrumbs/js/global.js +279 -219
- package/src/components/breadcrumbs/js/manifest.json +8 -8
- package/src/components/callout/css/component.scss +124 -120
- package/src/components/callout/html/component.hbs +36 -25
- package/src/components/callout/js/manifest.json +126 -126
- package/src/components/card_feature/css/component.scss +66 -66
- package/src/components/card_feature/html/component.hbs +179 -104
- package/src/components/card_feature/js/manifest.json +1487 -1456
- package/src/components/card_multi_action/css/component.scss +234 -208
- package/src/components/card_multi_action/html/component.hbs +315 -177
- package/src/components/card_multi_action/js/manifest.json +1372 -1312
- package/src/components/card_no_action/css/component.scss +536 -524
- package/src/components/card_no_action/html/component.hbs +134 -114
- package/src/components/card_no_action/js/global.js +15 -0
- package/src/components/card_no_action/js/manifest.json +1314 -1277
- package/src/components/card_single_action/css/component.scss +111 -104
- package/src/components/card_single_action/html/component.hbs +285 -139
- package/src/components/card_single_action/js/manifest.json +1317 -1284
- package/src/components/code/css/component.scss +365 -353
- package/src/components/code/html/component.hbs +430 -157
- package/src/components/code/js/global.js +243 -180
- package/src/components/code/js/manifest.json +189 -177
- package/src/components/file_upload/css/component.scss +387 -387
- package/src/components/file_upload/html/component.hbs +86 -41
- package/src/components/file_upload/js/global.js +960 -813
- package/src/components/file_upload/js/manifest.json +61 -61
- package/src/components/footer/css/component.scss +428 -420
- package/src/components/footer/html/component.hbs +314 -191
- package/src/components/footer/js/manifest.json +8 -8
- package/src/components/global_alert/css/component.scss +210 -210
- package/src/components/global_alert/html/component.hbs +278 -125
- package/src/components/global_alert/js/global.js +32 -27
- package/src/components/global_alert/js/manifest.json +8 -8
- package/src/components/header/css/component.scss +518 -516
- package/src/components/header/html/component.hbs +281 -132
- package/src/components/header/js/global.js +157 -141
- package/src/components/header/js/manifest.json +8 -9
- package/src/components/horizontal_rule/css/component.scss +52 -52
- package/src/components/horizontal_rule/html/component.hbs +21 -5
- package/src/components/horizontal_rule/js/manifest.json +69 -69
- package/src/components/in_page_navigation/css/component.scss +42 -42
- package/src/components/in_page_navigation/html/component.hbs +13 -9
- package/src/components/in_page_navigation/js/global.js +78 -57
- package/src/components/in_page_navigation/js/manifest.json +34 -34
- package/src/components/internal_navigation/css/component.scss +294 -286
- package/src/components/internal_navigation/html/component.hbs +70 -51
- package/src/components/internal_navigation/js/global.js +36 -27
- package/src/components/internal_navigation/js/manifest.json +9 -10
- package/src/components/left_hand_navigation/css/component.scss +322 -309
- package/src/components/left_hand_navigation/html/component.hbs +136 -81
- package/src/components/left_hand_navigation/js/global.js +44 -30
- package/src/components/left_hand_navigation/js/manifest.json +39 -39
- package/src/components/loading_spinner/css/component.scss +57 -66
- package/src/components/loading_spinner/html/component.hbs +20 -4
- package/src/components/loading_spinner/js/global.js +2 -5
- package/src/components/loading_spinner/js/manifest.json +48 -48
- package/src/components/main_navigation/css/component.scss +713 -675
- package/src/components/main_navigation/html/component.hbs +222 -85
- package/src/components/main_navigation/js/global.js +355 -372
- package/src/components/main_navigation/js/manifest.json +9 -10
- package/src/components/mega_main_navigation/css/component.scss +504 -485
- package/src/components/mega_main_navigation/html/component.hbs +337 -145
- package/src/components/mega_main_navigation/js/global.js +133 -113
- package/src/components/mega_main_navigation/js/manifest.json +8 -8
- package/src/components/multi_column/css/component.scss +5 -5
- package/src/components/multi_column/html/component.hbs +404 -399
- package/src/components/multi_column/js/manifest.json +1203 -1203
- package/src/components/overflow_menu/css/component.scss +153 -152
- package/src/components/overflow_menu/html/component.hbs +82 -39
- package/src/components/overflow_menu/js/global.js +90 -5
- package/src/components/overflow_menu/js/manifest.json +39 -39
- package/src/components/page_alert/css/component.scss +127 -127
- package/src/components/page_alert/html/component.hbs +78 -32
- package/src/components/page_alert/js/manifest.json +77 -77
- package/src/components/pagination/css/component.scss +261 -250
- package/src/components/pagination/html/component.hbs +79 -38
- package/src/components/pagination/html/default.html +31 -22
- package/src/components/pagination/js/manifest.json +51 -51
- package/src/components/prefooter/css/component.scss +52 -45
- package/src/components/prefooter/html/component.hbs +97 -90
- package/src/components/prefooter/js/manifest.json +7 -7
- package/src/components/promo_panel/css/component.scss +810 -754
- package/src/components/promo_panel/html/component.hbs +173 -101
- package/src/components/promo_panel/js/global.js +23 -20
- package/src/components/promo_panel/js/manifest.json +223 -223
- package/src/components/search_box/css/component.scss +80 -79
- package/src/components/search_box/html/component.html +24 -12
- package/src/components/search_box/js/manifest.json +72 -72
- package/src/components/tab/css/component.scss +924 -814
- package/src/components/tab/html/component.hbs +576 -153
- package/src/components/tab/js/global.js +203 -297
- package/src/components/tab/js/manifest.json +917 -892
- package/src/components/toggle_tip/css/component.scss +3 -3
- package/src/components/toggle_tip/js/global.js +136 -137
- package/src/components/tool_tip/css/component.scss +3 -3
- package/src/components/tool_tip/js/global.js +95 -98
- package/src/components/video_player/css/component.scss +204 -211
- package/src/components/video_player/html/component.hbs +250 -138
- package/src/components/video_player/js/global.js +31 -14
- package/src/components/video_player/js/manifest.json +207 -207
- package/src/data/current.json +385 -433
- package/src/data/current_admin.json +13 -13
- package/src/data/model_component.js +13 -13
- package/src/data/site.json +967 -967
- package/src/helpers/Handlebars/appendIf.js +5 -5
- package/src/helpers/Handlebars/arrayLength.js +2 -2
- package/src/helpers/Handlebars/arrayWith.js +9 -11
- package/src/helpers/Handlebars/capitaliseFirst.js +8 -8
- package/src/helpers/Handlebars/charMax.js +6 -7
- package/src/helpers/Handlebars/checkIf.js +38 -18
- package/src/helpers/Handlebars/columnWidth.js +32 -35
- package/src/helpers/Handlebars/contains.js +4 -4
- package/src/helpers/Handlebars/createMap.js +15 -15
- package/src/helpers/Handlebars/dsMapFromID.js +8 -8
- package/src/helpers/Handlebars/dsMapFromProp.js +8 -8
- package/src/helpers/Handlebars/eachByName.js +19 -15
- package/src/helpers/Handlebars/eachDS.js +7 -7
- package/src/helpers/Handlebars/eachFrom.js +12 -12
- package/src/helpers/Handlebars/eachUpTo.js +7 -7
- package/src/helpers/Handlebars/eachWhen.js +30 -29
- package/src/helpers/Handlebars/formatDate.js +53 -53
- package/src/helpers/Handlebars/generateDates.js +75 -61
- package/src/helpers/Handlebars/getDistance.js +33 -32
- package/src/helpers/Handlebars/getObject.js +2 -2
- package/src/helpers/Handlebars/getParamaterByName.js +11 -11
- package/src/helpers/Handlebars/getPossibleValues.js +11 -11
- package/src/helpers/Handlebars/getProp.js +2 -2
- package/src/helpers/Handlebars/getTags.js +15 -16
- package/src/helpers/Handlebars/getThumbnailAlt.js +6 -4
- package/src/helpers/Handlebars/getTitle.js +3 -3
- package/src/helpers/Handlebars/iconSwitch.js +17 -0
- package/src/helpers/Handlebars/ifAny.js +6 -6
- package/src/helpers/Handlebars/ifArray.js +2 -2
- package/src/helpers/Handlebars/ifCond.js +30 -29
- package/src/helpers/Handlebars/ifEqualsOrChained.js +10 -10
- package/src/helpers/Handlebars/ifProp.js +2 -2
- package/src/helpers/Handlebars/if_eq.js +7 -7
- package/src/helpers/Handlebars/inArray.js +7 -7
- package/src/helpers/Handlebars/isPage.js +12 -7
- package/src/helpers/Handlebars/itemAt.js +8 -8
- package/src/helpers/Handlebars/jsonParse.js +7 -8
- package/src/helpers/Handlebars/jsonStringify.js +3 -3
- package/src/helpers/Handlebars/listAZ.js +74 -50
- package/src/helpers/Handlebars/listAZOptions.js +36 -29
- package/src/helpers/Handlebars/listByClosest.js +59 -53
- package/src/helpers/Handlebars/listByClosestWithOffset.js +58 -52
- package/src/helpers/Handlebars/math.js +11 -11
- package/src/helpers/Handlebars/newLineToBreak.js +3 -4
- package/src/helpers/Handlebars/nonBreakingSpaces.js +5 -6
- package/src/helpers/Handlebars/objectFromSelect.js +23 -16
- package/src/helpers/Handlebars/partialReplace.js +5 -6
- package/src/helpers/Handlebars/printAccordion.js +20 -20
- package/src/helpers/Handlebars/renderEncoded.js +14 -6
- package/src/helpers/Handlebars/renderSpecialChar.js +13 -11
- package/src/helpers/Handlebars/replace.js +5 -6
- package/src/helpers/Handlebars/replaceMany.js +3 -3
- package/src/helpers/Handlebars/sizeFormat.js +3 -3
- package/src/helpers/Handlebars/split.js +5 -6
- package/src/helpers/Handlebars/toUpperCase.js +4 -4
- package/src/helpers/Handlebars/urldecode.js +1 -1
- package/src/helpers/Handlebars/urlencode.js +1 -1
- package/src/helpers/Handlebars/withinObject.js +4 -4
- package/src/helpers/global-helpers.js +74 -48
- package/src/stories/AZListing/a-z_listing.stories.js +53 -53
- package/src/stories/Abstract/abstract.stories.js +48 -47
- package/src/stories/Accordion/accordion.stories.js +191 -0
- package/src/stories/BackToTop/BackToTop.stories.js +6 -6
- package/src/stories/Banner/banner.stories.js +68 -53
- package/src/stories/Banner/bannerAdvanced.stories.js +255 -190
- package/src/stories/Banner/bannerBasic.stories.js +105 -80
- package/src/stories/BasicSearch/BasicSearch.stories.js +160 -0
- package/src/stories/BlockQuote/BlockQuote.stories.js +72 -0
- package/src/stories/Body/body.stories.js +73 -66
- package/src/stories/Breadcrumbs/Breadcrumbs.stories.js +116 -93
- package/src/stories/Button/Button.stories.js +54 -45
- package/src/stories/CTALink/CTALink.stories.js +113 -159
- package/src/stories/Callout/Callout.stories.js +144 -110
- package/src/stories/Cards/CardFeature.stories.js +190 -120
- package/src/stories/Cards/CardMultiAction.stories.js +280 -152
- package/src/stories/Cards/CardNoAction.stories.js +262 -144
- package/src/stories/Cards/CardSingleAction.stories.js +245 -140
- package/src/stories/Code/Code.stories.js +239 -0
- package/src/stories/Colours/Colours.stories.js +98 -0
- package/src/stories/Colours/colours.js +135 -0
- package/src/stories/DirectionLinks/DirectionLinks.js +1 -1
- package/src/stories/DirectionLinks/DirectionLinks.stories.js +51 -44
- package/src/stories/Footer/Footer.stories.js +181 -159
- package/src/stories/Forms/Checkboxes/Checkboxes.js +41 -26
- package/src/stories/Forms/Checkboxes/Checkboxes.stories.js +245 -123
- package/src/stories/Forms/FileUpload/FileUpload.stories.js +214 -0
- package/src/stories/Forms/RadioButtons/RadioButtons.js +41 -26
- package/src/stories/Forms/RadioButtons/RadioButtons.stories.js +245 -123
- package/src/stories/Forms/SelectBox/SelectBox.js +45 -29
- package/src/stories/Forms/SelectBox/SelectBox.stories.js +253 -139
- package/src/stories/Forms/forms.stories.js +195 -158
- package/src/stories/Forms/numberInput.stories.js +55 -53
- package/src/stories/Forms/textInput.stories.js +135 -109
- package/src/stories/Forms/textarea.stories.js +136 -109
- package/src/stories/GlobalAlert/GlobalAlert.stories.js +115 -106
- package/src/stories/GlobalNavigation/LeftHandNavigation/LeftHandNavigation.stories.js +206 -0
- package/src/stories/GlobalNavigation/MegaMainNavigation/mega_main_navigation.a11y.stories.js +154 -0
- package/src/stories/GlobalNavigation/MegaMainNavigation/mega_main_navigation.stories.js +428 -0
- package/src/stories/Header/Header.js +83 -67
- package/src/stories/Header/Header.stories.js +389 -377
- package/src/stories/Horizontal/Horizontal.stories.js +185 -0
- package/src/stories/Iconography/Iconography.js +1 -1
- package/src/stories/Iconography/Iconography.stories.js +90 -74
- package/src/stories/Image/Image.stories.js +102 -0
- package/src/stories/InPageAlert/InPageAlert.stories.js +73 -65
- package/src/stories/Link/Link.stories.js +136 -0
- package/src/stories/LinkColumns/LinkColumns.js +21 -13
- package/src/stories/LinkColumns/LinkColumns.stories.js +97 -87
- package/src/stories/LoadingSpinner/LoadingSpinner.stories.js +47 -44
- package/src/stories/MultiColumn/MultiColumn.stories.js +320 -0
- package/src/stories/Navigation/InPageNavigation/InPageNavigation.stories.js +212 -0
- package/src/stories/Navigation/InternalNavigation/InternalNavigation.stories.js +158 -0
- package/src/stories/Pagination/Pagination.stories.js +195 -195
- package/src/stories/Prefooter/Prefooter.stories.js +107 -0
- package/src/stories/PromoPanel/PromoPanel.stories.js +193 -144
- package/src/stories/SearchInput/SearchInput.stories.js +176 -0
- package/src/stories/SkipLinks/SkipLinks.stories.js +106 -0
- package/src/stories/Table/table.stories.js +68 -50
- package/src/stories/Tabs/Tabs.stories.js +319 -0
- package/src/stories/Tags/Tags.js +24 -22
- package/src/stories/Tags/Tags.stories.js +83 -73
- package/src/stories/ToggleTip/ToggleTip.a11y.stories.js +130 -0
- package/src/stories/ToggleTip/ToggleTip.stories.js +213 -0
- package/src/stories/ToolTip/ToolTip.a11y.stories.js +85 -0
- package/src/stories/ToolTip/ToolTip.stories.js +187 -0
- package/src/stories/Typography/Typography.stories.js +218 -0
- package/src/stories/Typography/typography.js +94 -0
- package/src/stories/VideoPlayer/VideoPlayer.stories.js +246 -131
- package/src/styles/banner_contained/globals.scss +228 -232
- package/src/styles/core-styles.scss +32 -32
- package/src/styles/imports/cssbackup.css +498 -577
- package/src/styles/imports/functions.scss +348 -343
- package/src/styles/imports/mixins.scss +639 -565
- package/src/styles/imports/placeholders.scss +41 -39
- package/src/styles/imports/utilities.scss +376 -374
- package/src/styles/imports/variables.scss +178 -134
- package/src/styles/postcss.config.js +1 -2
- package/thankyou.md +26 -0
- package/vitest.config.js +34 -0
- package/.storybook/assets/accordion-js.js +0 -344
- package/.storybook/assets/animate-js.js +0 -247
- package/.storybook/assets/breadcrumbs-js.js +0 -216
- package/.storybook/assets/index.js +0 -23
- package/src/components/_global/js/toggle_and_tool_tip/global.js +0 -319
- package/src/html/component-accordion.html +0 -583
- package/src/html/component-basic_search.html +0 -42
- package/src/html/component-code.html +0 -57
- package/src/html/component-file_upload.html +0 -57
- package/src/html/component-mega_main_navigation.html +0 -583
- package/src/html/component-tab.html +0 -57
- package/src/html/component-toggle_tip.html +0 -569
- package/src/html/component-tool_tip.html +0 -294
- package/src/stories/CTALink/CTALink.js +0 -5
- package/src/stories/InPageNavigation/InPageNavigation.stories.js +0 -89
- package/src/stories/MegaMainNavigation/mega_main_navigation.a11y.stories.js +0 -138
- package/src/stories/MegaMainNavigation/mega_main_navigation.stories.js +0 -245
- package/src/stories/Navbar/Navbar.js +0 -117
- package/src/stories/Navbar/Navbar.stories.js +0 -80
package/.storybook/preview.js
CHANGED
|
@@ -1,115 +1,101 @@
|
|
|
1
|
-
import "./assets/
|
|
1
|
+
import "./core-assets/handlebar-helpers.js";
|
|
2
2
|
import "./assets/index.scss"; // Storybook styles import from core
|
|
3
3
|
import "./assets/storybook.scss"; // Storybook specific styles
|
|
4
4
|
import { INITIAL_VIEWPORTS } from "storybook/viewport";
|
|
5
|
-
import { viewports, themes, themeColours } from "./globals.js";
|
|
6
|
-
import {
|
|
7
|
-
|
|
8
|
-
const iconsIds = fetch(getSvgPath())
|
|
9
|
-
.then((res) => res.text())
|
|
10
|
-
.then((svgText) => {
|
|
11
|
-
// Parse the text as XML
|
|
12
|
-
const parser = new DOMParser();
|
|
13
|
-
const svgDoc = parser.parseFromString(svgText, "image/svg+xml");
|
|
14
|
-
|
|
15
|
-
// Select all <symbol> elements
|
|
16
|
-
const symbols = svgDoc.querySelectorAll("symbol");
|
|
17
|
-
|
|
18
|
-
// Map their IDs
|
|
19
|
-
return Array.from(symbols).map((sym) => sym.id);
|
|
20
|
-
});
|
|
5
|
+
import { viewports, themes, themeColours, iconSpritePath } from "./globals.js";
|
|
6
|
+
import { formatHtmlSource } from "./helper-functions.js";
|
|
21
7
|
|
|
22
8
|
/** @type { import('@storybook/html-vite').Preview } */
|
|
23
9
|
const preview = {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
10
|
+
tags: ["autodocs"],
|
|
11
|
+
parameters: {
|
|
12
|
+
controls: {
|
|
13
|
+
matchers: {
|
|
14
|
+
color: /(background|color)$/i,
|
|
15
|
+
date: /Date$/i,
|
|
16
|
+
},
|
|
17
|
+
},
|
|
18
|
+
a11y: {
|
|
19
|
+
config: {
|
|
20
|
+
rules: [
|
|
21
|
+
{
|
|
22
|
+
id: "color-contrast",
|
|
23
|
+
enabled: true,
|
|
24
|
+
},
|
|
25
|
+
],
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
viewport: {
|
|
29
|
+
options: {
|
|
30
|
+
...viewports,
|
|
31
|
+
...INITIAL_VIEWPORTS,
|
|
32
|
+
},
|
|
33
|
+
},
|
|
34
|
+
docs: {
|
|
35
|
+
source: {
|
|
36
|
+
excludeDecorators: true,
|
|
37
|
+
// Pretty-print the rendered HTML in the code panel. Storybook's built-in
|
|
38
|
+
// `format` only dedents, so we re-indent the markup ourselves.
|
|
39
|
+
transform: (code) => formatHtmlSource(code),
|
|
40
|
+
},
|
|
41
|
+
},
|
|
42
|
+
backgrounds: {
|
|
43
|
+
options: {
|
|
44
|
+
white: {
|
|
45
|
+
name: "White",
|
|
46
|
+
value: themeColours["white"],
|
|
41
47
|
},
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
...INITIAL_VIEWPORTS,
|
|
46
|
-
},
|
|
48
|
+
light: {
|
|
49
|
+
name: "Light",
|
|
50
|
+
value: themeColours["light"],
|
|
47
51
|
},
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
},
|
|
52
|
+
"light alt": {
|
|
53
|
+
name: "Light Alternate",
|
|
54
|
+
value: themeColours["light alt"],
|
|
52
55
|
},
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
name: "White",
|
|
57
|
-
value: themeColours["white"],
|
|
58
|
-
},
|
|
59
|
-
light: {
|
|
60
|
-
name: "Light",
|
|
61
|
-
value: themeColours["light"],
|
|
62
|
-
},
|
|
63
|
-
light_alternate: {
|
|
64
|
-
name: "Light Alternate",
|
|
65
|
-
value: themeColours["light alt"],
|
|
66
|
-
},
|
|
67
|
-
dark: {
|
|
68
|
-
name: "Dark",
|
|
69
|
-
value: themeColours["dark"],
|
|
70
|
-
},
|
|
71
|
-
dark_alternate: {
|
|
72
|
-
name: "Dark Alternate",
|
|
73
|
-
value: themeColours["dark alt"],
|
|
74
|
-
},
|
|
75
|
-
},
|
|
56
|
+
dark: {
|
|
57
|
+
name: "Dark",
|
|
58
|
+
value: themeColours["dark"],
|
|
76
59
|
},
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
order: ["Introduction", "1. Core Styles", "2. Layout", "3. Components"],
|
|
81
|
-
},
|
|
60
|
+
"dark alt": {
|
|
61
|
+
name: "Dark Alternate",
|
|
62
|
+
value: themeColours["dark alt"],
|
|
82
63
|
},
|
|
64
|
+
},
|
|
83
65
|
},
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
66
|
+
options: {
|
|
67
|
+
storySort: {
|
|
68
|
+
// Force SB to load Introduction page first
|
|
69
|
+
order: ["Introduction", "1. Core Styles", "2. Layout", "3. Components"],
|
|
70
|
+
},
|
|
88
71
|
},
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
72
|
+
},
|
|
73
|
+
args: {
|
|
74
|
+
// Ensure GitHub hosted page uses correct icon path
|
|
75
|
+
site: { metadata: { coreSiteIcons: { value: iconSpritePath } } },
|
|
76
|
+
},
|
|
77
|
+
argTypes: {
|
|
78
|
+
// Remove the site metadata from the controls
|
|
79
|
+
site: { table: { disable: true } },
|
|
80
|
+
},
|
|
81
|
+
decorators: [
|
|
82
|
+
(storyFn, context) => {
|
|
83
|
+
// Manual flag passed from the story to avoid the following parent wrapping
|
|
84
|
+
if (context.parameters.skipDecorator) {
|
|
85
|
+
return storyFn();
|
|
86
|
+
}
|
|
87
|
+
const wrapper = document.createElement("div");
|
|
88
|
+
wrapper.className =
|
|
89
|
+
themes[context.globals.backgrounds?.value] || themes["white"];
|
|
90
|
+
const story = storyFn();
|
|
91
|
+
if (typeof story === "string") {
|
|
92
|
+
wrapper.innerHTML = story;
|
|
93
|
+
} else if (story instanceof HTMLElement) {
|
|
94
|
+
wrapper.appendChild(story);
|
|
95
|
+
}
|
|
96
|
+
return wrapper;
|
|
93
97
|
},
|
|
94
|
-
|
|
95
|
-
(storyFn, context) => {
|
|
96
|
-
// Skip wrapper for Navbar story
|
|
97
|
-
if (context.kind === "Components/Navbar") {
|
|
98
|
-
return storyFn();
|
|
99
|
-
}
|
|
100
|
-
// Get the theme key from the background, to use within the decorator
|
|
101
|
-
const themeKey = Object.keys(themeColours).find((key) => key === context.globals.backgrounds?.value);
|
|
102
|
-
const wrapper = document.createElement("div");
|
|
103
|
-
wrapper.className = themes[themeKey] || themes["white"];
|
|
104
|
-
const story = storyFn();
|
|
105
|
-
if (typeof story === "string") {
|
|
106
|
-
wrapper.innerHTML = story;
|
|
107
|
-
} else if (story instanceof HTMLElement) {
|
|
108
|
-
wrapper.appendChild(story);
|
|
109
|
-
}
|
|
110
|
-
return wrapper;
|
|
111
|
-
},
|
|
112
|
-
],
|
|
98
|
+
],
|
|
113
99
|
};
|
|
114
100
|
|
|
115
101
|
export default preview;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import Handlebars from
|
|
1
|
+
import Handlebars from "handlebars";
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Vite plugin that transforms Handlebars component templates (.hbs)
|
|
@@ -29,24 +29,24 @@ import Handlebars from 'handlebars';
|
|
|
29
29
|
* @returns {import('vite').Plugin}
|
|
30
30
|
*/
|
|
31
31
|
export default function hbsPlugin() {
|
|
32
|
-
|
|
33
|
-
|
|
32
|
+
return {
|
|
33
|
+
name: "vite-plugin-hbs",
|
|
34
34
|
|
|
35
|
-
|
|
36
|
-
|
|
35
|
+
transform(src, id) {
|
|
36
|
+
if (!id.endsWith(".hbs")) return;
|
|
37
37
|
|
|
38
|
-
|
|
38
|
+
const templateSpec = Handlebars.precompile(src);
|
|
39
39
|
|
|
40
|
-
|
|
40
|
+
const code = `
|
|
41
41
|
import Handlebars from 'handlebars';
|
|
42
42
|
const template = Handlebars.template(${templateSpec});
|
|
43
43
|
export default template;
|
|
44
44
|
`;
|
|
45
45
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
46
|
+
return {
|
|
47
|
+
code,
|
|
48
|
+
map: null,
|
|
49
|
+
};
|
|
50
|
+
},
|
|
51
|
+
};
|
|
52
52
|
}
|
package/.stylelintrc.json
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
}
|
|
2
|
+
"extends": ["stylelint-config-standard"],
|
|
3
|
+
"plugins": ["stylelint-scss"],
|
|
4
|
+
"rules": {
|
|
5
|
+
"selector-class-pattern": [
|
|
6
|
+
"^[a-z][a-z0-9-]*(__[a-z0-9][a-z0-9_-]*)*(--[a-z0-9][a-z0-9-]*)?$",
|
|
7
|
+
{ "message": "Expected class selector to use BEM naming convention" }
|
|
8
|
+
],
|
|
9
|
+
"custom-property-pattern": null
|
|
10
|
+
},
|
|
11
|
+
"overrides": [
|
|
12
|
+
{
|
|
13
|
+
"files": ["**/*.scss"],
|
|
14
|
+
"customSyntax": "postcss-scss",
|
|
15
|
+
"rules": {
|
|
16
|
+
"at-rule-no-unknown": null,
|
|
17
|
+
"scss/at-rule-no-unknown": true,
|
|
18
|
+
"function-no-unknown": null,
|
|
19
|
+
"no-descending-specificity": null,
|
|
20
|
+
"annotation-no-unknown": null
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
]
|
|
24
|
+
}
|