@qld-gov-au/qgds-bootstrap5 2.0.1 → 2.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) hide show
  1. package/.storybook/preview.js +4 -1
  2. package/dist/assets/components/bs5/accordion/accordion.hbs +3 -6
  3. package/dist/assets/components/bs5/directionLinks/directionLinks.hbs +2 -1
  4. package/dist/assets/components/bs5/head/head.hbs +1 -1
  5. package/dist/assets/components/bs5/header/header.hbs +6 -9
  6. package/dist/assets/components/bs5/navbar/navbar.hbs +21 -14
  7. package/dist/assets/components/bs5/pageLayout/templates/contentPageWithForm.hbs +1 -1
  8. package/dist/assets/components/bs5/pageLayout/templates/contentPageWithSideNavigation.hbs +140 -108
  9. package/dist/assets/components/bs5/pageLayout/templates/homePage.hbs +1 -1
  10. package/dist/assets/components/bs5/quickexit/quickexit.hbs +1 -1
  11. package/dist/assets/components/bs5/sidenav/sidenav.hbs +56 -37
  12. package/dist/assets/css/qld.bootstrap.css +1 -6
  13. package/dist/assets/css/qld.bootstrap.css.map +3 -3
  14. package/dist/assets/js/handlebars.init.min.js +232 -179
  15. package/dist/assets/js/handlebars.init.min.js.map +2 -2
  16. package/dist/assets/js/qld.bootstrap.min.js +5 -5
  17. package/dist/assets/js/qld.bootstrap.min.js.map +4 -4
  18. package/dist/assets/node/handlebars.init.min.js +55 -23
  19. package/dist/assets/node/handlebars.init.min.js.map +2 -2
  20. package/dist/components/bs5/accordion/accordion.hbs +3 -6
  21. package/dist/components/bs5/directionLinks/directionLinks.hbs +2 -1
  22. package/dist/components/bs5/head/head.hbs +1 -1
  23. package/dist/components/bs5/header/header.hbs +6 -9
  24. package/dist/components/bs5/navbar/navbar.hbs +21 -14
  25. package/dist/components/bs5/pageLayout/templates/contentPageWithForm.hbs +1 -1
  26. package/dist/components/bs5/pageLayout/templates/contentPageWithSideNavigation.hbs +140 -108
  27. package/dist/components/bs5/pageLayout/templates/homePage.hbs +1 -1
  28. package/dist/components/bs5/quickexit/quickexit.hbs +1 -1
  29. package/dist/components/bs5/sidenav/sidenav.hbs +56 -37
  30. package/dist/package.json +2 -4
  31. package/dist/sample-data/accordion/accordion.data.json +24 -23
  32. package/dist/sample-data/navbar/navbar.data.json +91 -25
  33. package/dist/sample-data/pagination/pagination.data.json +19 -19
  34. package/dist/sample-data/sidenav/sidenav.data.json +81 -80
  35. package/package.json +2 -4
  36. package/src/components/bs5/accordion/Accordion.mdx +34 -12
  37. package/src/components/bs5/accordion/__snapshots__/accordion.test.js.snap +3 -6
  38. package/src/components/bs5/accordion/accordion.data.json +24 -23
  39. package/src/components/bs5/accordion/accordion.hbs +3 -6
  40. package/src/components/bs5/accordion/accordion.scss +19 -9
  41. package/src/components/bs5/accordion/accordion.stories.js +8 -0
  42. package/src/components/bs5/accordion/accordion.test.js +5 -0
  43. package/src/components/bs5/accordion/mdx/_designResources.mdx +6 -0
  44. package/src/components/bs5/accordion/mdx/_usageInstructions.mdx +10 -0
  45. package/src/components/bs5/backToTop/backToTop.mdx +4 -5
  46. package/src/components/bs5/banner/Banner.mdx +1 -3
  47. package/src/components/bs5/blockquote/Blockquote.mdx +4 -5
  48. package/src/components/bs5/blockquote/blockquote.scss +47 -7
  49. package/src/components/bs5/breadcrumbs/Breadcrumbs.mdx +1 -3
  50. package/src/components/bs5/button/Button.mdx +4 -5
  51. package/src/components/bs5/button/button.scss +13 -1
  52. package/src/components/bs5/callToAction/callToAction.mdx +1 -3
  53. package/src/components/bs5/callout/Callout.mdx +4 -5
  54. package/src/components/bs5/card/Card.mdx +1 -3
  55. package/src/components/bs5/card/card.scss +1 -25
  56. package/src/components/bs5/directionLinks/DirectionLinks.mdx +4 -5
  57. package/src/components/bs5/directionLinks/directionLinks.hbs +2 -1
  58. package/src/components/bs5/directionLinks/directionLinks.scss +27 -80
  59. package/src/components/bs5/directionLinks/directionLinks.stories.js +7 -14
  60. package/src/components/bs5/footer/Footer.mdx +1 -3
  61. package/src/components/bs5/footer/footer.scss +4 -11
  62. package/src/components/bs5/formcheck/stories/checkbox/Checkbox.mdx +7 -6
  63. package/src/components/bs5/formcheck/stories/radio/Radio.mdx +7 -6
  64. package/src/components/bs5/globalAlert/GlobalAlert.mdx +1 -3
  65. package/src/components/bs5/globalAlert/globalAlert.scss +6 -0
  66. package/src/components/bs5/header/Header.mdx +1 -3
  67. package/src/components/bs5/header/header.hbs +6 -9
  68. package/src/components/bs5/header/header.scss +6 -2
  69. package/src/components/bs5/icons/Icons.mdx +167 -7
  70. package/src/components/bs5/icons/_icons.sizes.scss +9 -0
  71. package/src/components/bs5/icons/icons.scss +23 -71
  72. package/src/components/bs5/icons/icons.stories.js +34 -57
  73. package/src/components/bs5/icons/mdx/_IconsSizes.mdx +112 -0
  74. package/src/components/bs5/icons/stories/storyFlexContainer.html +18 -0
  75. package/src/components/bs5/icons/stories/storyInlineWithText.html +18 -0
  76. package/src/components/bs5/icons/stories/storySizes.html +89 -0
  77. package/src/components/bs5/image/Image.mdx +1 -4
  78. package/src/components/bs5/inpageAlert/InpageAlert.mdx +1 -3
  79. package/src/components/bs5/inpagenav/Inpagenav.mdx +4 -5
  80. package/src/components/bs5/inpagenav/inpagenav.scss +7 -3
  81. package/src/components/bs5/link/link.mdx +1 -3
  82. package/src/components/bs5/link/link.scss +2 -15
  83. package/src/components/bs5/linkColumns/linkColumns.mdx +1 -3
  84. package/src/components/bs5/logo/Logo.mdx +1 -3
  85. package/src/components/bs5/navbar/navbar.data.json +91 -25
  86. package/src/components/bs5/navbar/navbar.functions.js +4 -0
  87. package/src/components/bs5/navbar/navbar.hbs +21 -14
  88. package/src/components/bs5/navbar/navbar.scss +219 -166
  89. package/src/components/bs5/navbar/navbar.stories.js +31 -2
  90. package/src/components/bs5/pageLayout/ThemeShowcase.stories.js +249 -0
  91. package/src/components/bs5/pageLayout/pageLayout.stories.js +3 -1
  92. package/src/components/bs5/pageLayout/templates/contentPageWithForm.hbs +1 -1
  93. package/src/components/bs5/pageLayout/templates/contentPageWithSideNavigation.hbs +140 -108
  94. package/src/components/bs5/pageLayout/templates/homePage.hbs +1 -1
  95. package/src/components/bs5/pagination/Pagination.mdx +4 -5
  96. package/src/components/bs5/pagination/pagination.data.json +19 -19
  97. package/src/components/bs5/pagination/pagination.scss +37 -63
  98. package/src/components/bs5/promotionalPanel/PromotionalPanel.mdx +1 -3
  99. package/src/components/bs5/promotionalPanel/promotionalPanel.scss +23 -22
  100. package/src/components/bs5/quickexit/quickexit.functions.js +24 -37
  101. package/src/components/bs5/quickexit/quickexit.hbs +1 -1
  102. package/src/components/bs5/quickexit/quickexit.scss +27 -10
  103. package/src/components/bs5/searchInput/SearchInput.mdx +5 -5
  104. package/src/components/bs5/sidenav/Sidenav.mdx +4 -5
  105. package/src/components/bs5/sidenav/sidenav.data.json +81 -80
  106. package/src/components/bs5/sidenav/sidenav.hbs +56 -37
  107. package/src/components/bs5/sidenav/sidenav.scss +236 -151
  108. package/src/components/bs5/skiplinks/SkipLinks.mdx +1 -3
  109. package/src/components/bs5/skiplinks/skipLinks.functions.js +0 -9
  110. package/src/components/bs5/skiplinks/skipLinks.test.js +0 -1
  111. package/src/components/bs5/table/Table.mdx +4 -5
  112. package/src/components/bs5/tabs/Tabs.mdx +4 -5
  113. package/src/components/bs5/tabs/tabs.scss +22 -1
  114. package/src/components/bs5/tag/Tag.mdx +4 -5
  115. package/src/components/bs5/typography/Typography.mdx +4 -5
  116. package/src/components/bs5/video/Video.mdx +4 -5
  117. package/src/components/common/layout/container.scss +5 -0
  118. package/src/components/common/layout/content.scss +16 -8
  119. package/src/css/functions/_index.scss +1 -0
  120. package/src/css/functions/in-list.scss +5 -0
  121. package/src/css/main.scss +4 -10
  122. package/src/css/mixins/_index.scss +3 -0
  123. package/src/css/mixins/make-icon.scss +87 -0
  124. package/src/css/qld-theme.scss +74 -31
  125. package/src/css/qld-type.scss +26 -140
  126. package/src/css/qld-utilities.scss +29 -14
  127. package/src/css/qld-variables.scss +4 -4
  128. package/src/css/utilities/_index.scss +1 -0
  129. package/src/css/utilities/sr-only.scss +5 -0
  130. package/src/css/variables/_index.scss +1 -0
  131. package/src/css/variables/type.scss +58 -0
  132. package/src/js/qld.bootstrap.js +1 -9
  133. package/src/stories/documentation/_storybookDocsTabs.jsx +63 -0
  134. package/src/stories/documentation/storybook-documentation.scss +51 -0
  135. package/src/components/bs5/icons/story-icon-sizing.html +0 -131
  136. package/src/components/bs5/icons/story-icon-usage.html +0 -89
  137. package/src/components/bs5/pagination/health-icon-sprite.svg +0 -156
@@ -1,3 +1,8 @@
1
+ @forward "./_icons.variables";
2
+ @use "./_icons.list" as *;
3
+ @use "./icons.sizes" as *;
4
+ @use "../../../css/mixins" as m;
5
+
1
6
  /* @TODO: Remove lines in between once all the icons within the components have been synced with new icons. */
2
7
  :root {
3
8
  //Define global icons as CSS variables
@@ -9,23 +14,6 @@
9
14
  }
10
15
 
11
16
  .qld-icon {
12
- //Shared icon styles
13
- display: inline-block;
14
- width: 1.25rem;
15
- height: 1.25rem;
16
- background-position: center center;
17
- background-repeat: no-repeat;
18
- mask-position: center center;
19
- -webkit-mask-position: center center;
20
- mask-repeat: no-repeat;
21
- -webkit-mask-repeat: no-repeat;
22
-
23
- //Default color
24
- background: var(--#{$prefix}icon-color);
25
-
26
- //Change color at component level... e.g. on cards.css, use:
27
- // .card { --#{$prefix}icon-color: purple; }
28
-
29
17
  &.icon-dot-grid {
30
18
  mask-image: escape-svg(var(--icon-dot-grid));
31
19
  -webkit-mask-image: escape-svg(var(--icon-dot-grid));
@@ -50,69 +38,33 @@
50
38
  }
51
39
  /* @TODO: Remove all lines above once all the icons within the components have been synced with new icons. */
52
40
 
53
- @import "./_icons.variables";
54
- @import "./_icons.list";
55
- @import "./_icons-multicolours.list";
56
-
57
- $prefixIcon: $prefix + "icon-"; // Prefix for icon classes, based on global prefix in main.scss
58
- $prefixIconQgds: "--qgds-icon-"; // This QGDS variable could be moved to the token or tolkien repo.
59
-
60
- // Ensure SVGs inherit the current text color
61
- // Comment out to use the "fill" attribute inside svg element instead
62
- /*
63
- svg {
64
- fill: currentColor;
65
- } */
66
-
67
- // List of icon sizes
68
- $icon-sizes: (
69
- "xs": 1rem,
70
- "sm": 1.25rem,
71
- "md": 1.5rem,
72
- "lg": 2rem,
73
- "xl": 2.5rem,
74
- "xxl": 3rem,
75
- );
76
-
77
41
  // Loop through the icon names and create utility class for each
78
42
  .qld-icon {
79
- display: inline-block;
80
- width: 1.25rem;
81
- height: 1.25rem;
82
- background-position: center center;
83
- background-repeat: no-repeat;
84
- mask-position: center center;
85
- mask-repeat: no-repeat;
86
- mask-size: contain;
87
- background-color: var(--#{$prefix}body-color); // Default icon color
43
+ @include m.make-icon();
44
+
45
+ &:where(svg) {
46
+ background-color: transparent;
47
+ }
88
48
 
89
49
  // Utility classes for icons
90
50
  // Note: mask-image is the preferred method for icons that are single colour, as it allows for easy colour changes using CSS variables.
91
51
  // The background-image method is used for SVG icons with multiple fill colours.
92
52
  @each $icon in $icon-names {
93
- @if index($icons-multicolour, $icon) {
94
- // Only use background-image for multi colours icons.
95
- &.#{$prefixIcon}#{$icon} {
96
- background-image: var(#{$prefixIconQgds}#{$icon});
97
- -webkit-background-image: var(#{$prefixIconQgds}#{$icon});
98
- background-color: transparent;
99
- }
100
- } @else {
101
- &.#{$prefixIcon}#{$icon} {
102
- mask-image: var(#{$prefixIconQgds}#{$icon});
103
- -webkit-mask-image: var(#{$prefixIconQgds}#{$icon});
104
- }
53
+ &-#{$icon} {
54
+ @include m.make-icon($name: $icon, $include-base: false);
55
+ }
56
+ }
57
+
58
+ // Loop through the icon sizes and create utility class for each size.
59
+ // Independent from the icon base class to allow sizing on inline SVG icons as well as CSS icons.
60
+ @each $key, $value in $icon-sizes {
61
+ &-#{$key} {
62
+ --icon-size: #{$value};
105
63
  }
106
64
  }
107
- }
108
65
 
109
- // Loop through the icon sizes and create utility class for each size.
110
- // Independent from the icon base class to allow sizing on inline SVG icons as well as CSS icons.
111
- @each $size, $value in $icon-sizes {
112
- .#{$prefixIcon}#{$size} {
113
- width: $value;
114
- height: $value;
115
- mask-size: $value;
116
- background-size: $value;
66
+ // Better alignment for icons inline with text
67
+ &.is-inline {
68
+ @include m.make-icon($include-base: false, $is-inline: true);
117
69
  }
118
70
  }
@@ -1,29 +1,10 @@
1
1
  import iconNames from "./_icons.list.js";
2
- import { Card } from '../card/Card.js';
3
- import iconUsageHtml from './story-icon-usage.html?raw';
4
- import iconSizingHtml from './story-icon-sizing.html?raw';
2
+ import storyInlineWithTextHtml from "./stories/storyInlineWithText.html?raw";
3
+ import storyFlexContainerHtml from "./stories/storyFlexContainer.html?raw";
4
+ import storySizesHtml from "./stories/storySizes.html?raw";
5
5
 
6
- const defaultdata = {
7
- "title": "Card title",
8
- "description": "Card body text",
9
- "date": "",
10
- "variantClass": "default",
11
- "image": "",
12
- "imageAlt": "",
13
- "iconClasses": "",
14
- "iconPosition": "icon-top",
15
- "action": "no",
16
- "link": "",
17
- "arrow": false,
18
- "feature": false,
19
- "featureImagePosition": "",
20
- "video": false,
21
- "videoDuration": "",
22
- "footer": "",
23
- "equalHeight": false,
24
- };
25
- const SPRITE_PATH = './assets/img/icons-sprite.svg';
26
- const PREFIX_QGDS = 'qgds-icon-';
6
+ const SPRITE_PATH = "./assets/img/icons-sprite.svg";
7
+ const PREFIX_QGDS = "qgds-icon-";
27
8
 
28
9
  // Helper function to remove the prefix from icon names
29
10
  function _removePrefixQGDS(name) {
@@ -33,48 +14,42 @@ function _removePrefixQGDS(name) {
33
14
  return name;
34
15
  }
35
16
 
36
-
37
17
  // Default export for Storybook
38
18
  export default {
39
19
  tags: ["autodocs"],
40
20
  title: "1. Core Styles/Iconography",
41
- render: () => {
42
- return iconUsageHtml + `<hr>` + iconSizingHtml;
43
- },
44
21
  parameters: {
45
22
  layout: "padded",
46
23
  docs: {
47
24
  title: "Iconography in default",
48
- // page: null, // To disable autodocs
25
+ // page: null, // To disable autodocs
49
26
  },
50
27
  },
51
28
  };
52
29
 
53
- // Exports default as Overview, in order to avoid another "Default" menu in Storybook
54
- export const Overview = {};
55
-
56
30
  // Story for displaying all icons as SVGs
57
31
  export const SvgIcons = () => {
58
32
  return `
59
33
  <div class="container">
60
34
  <div class="row row-cols-sm-2 row-cols-lg-4 row-cols-xl-5 g-4">
61
35
  ${iconNames
62
- .map(name =>
63
- {
64
- return new Card({
65
- ...defaultdata,
66
- title: ``, // Overrides card title to empty string
67
- description: `
68
- <div class="mb-4">
69
- <svg class="qld-icon-xl" aria-label="${_removePrefixQGDS(name)} icon" role="img" width="32" height="32" viewBox="0 0 32 32" focusable="false">
36
+ .map((name) => {
37
+ return `
38
+ <div class="col">
39
+ <div class="card">
40
+ <div class="card-body" style="text-align: center">
41
+ <div class="mt-12 mb-4">
42
+ <svg class="qld-icon qld-icon-xl" aria-label="${_removePrefixQGDS(name)} icon" role="img" width="32" height="32" viewBox="0 0 32 32" focusable="false">
70
43
  <use href="${SPRITE_PATH}#${PREFIX_QGDS}${name}" />
71
44
  </svg>
72
45
  </div>
73
46
  <small>${_removePrefixQGDS(name)}</small><br><code style="font-size: 0.75rem"> #${PREFIX_QGDS}${name}</code>
74
- `,
75
- }).html
76
- })
77
- .join('')}
47
+ </div>
48
+ </div>
49
+ </div>
50
+ `;
51
+ })
52
+ .join("")}
78
53
  </div>
79
54
  </div>
80
55
  `;
@@ -87,26 +62,28 @@ export const CssIcons = () => {
87
62
  <div class="container">
88
63
  <div class="row row-cols-sm-2 row-cols-lg-4 row-cols-xl-5 g-4">
89
64
  ${iconNames
90
- .map(name => new Card({
91
- ...defaultdata,
92
- title: ``, // Override card title to empty string
93
- description: `
94
- <div class="mb-4">
65
+ .map((name) => {
66
+ return `
67
+ <div class="col">
68
+ <div class="card">
69
+ <div class="card-body" style="text-align: center">
70
+ <div class="mt-12 mb-4">
95
71
  <span class="qld-icon qld-icon-xl qld-icon-${name}"></span>
96
72
  </div>
97
73
  <small>${_removePrefixQGDS(name)}</small><br><code style="font-size: 0.75rem">qld-icon-${name}</code>
98
- `,
99
- iconClasses: ``,
100
- }).html)
101
- .join('')}
74
+ </div>
75
+ </div>
76
+ </div>`;
77
+ })
78
+ .join("")}
102
79
  </div>
103
80
  </div>
104
81
  `;
105
82
  };
106
83
  CssIcons.storyName = "CSS Icons";
107
84
 
108
- // Story for displaying icon sizing variations
109
- export const Sizes = () => {
110
- return iconSizingHtml;
111
- };
85
+ export const Sizes = () => storySizesHtml;
86
+
87
+ export const FlexContainer = () => storyFlexContainerHtml;
112
88
 
89
+ export const InlineWithText = () => storyInlineWithTextHtml;
@@ -0,0 +1,112 @@
1
+ import { Sizes } from "../icons.stories";
2
+ import { Story } from "@storybook/blocks";
3
+
4
+ ## Sizes
5
+
6
+ We have 6 preset sizes for icons ranging from extra small (xs) to extra
7
+ extra large (xxl) and a dedicated feature size for large or detailed icons.
8
+ Feature icons use a background shade to help make it stand out from other
9
+ elements on the page.
10
+
11
+ This size range allows for flexibility and adaptability in various design
12
+ contexts while maintaining visual harmony and balance. These predefined
13
+ sizes ensure that icons are proportionate and legible, enhancing their
14
+ effectiveness and the overall aesthetic of the site.
15
+
16
+ <Story of={Sizes} />
17
+
18
+ #### Usage
19
+
20
+ Combine base class <code>qld-icon</code> with specific icon name and size
21
+ class as listed here to set the icon size.
22
+
23
+ <table class="table table-responsive">
24
+ <thead class="table-light">
25
+ <tr>
26
+ <th scope="col">Class</th>
27
+ <th scope="col">REM size</th>
28
+ <th scope="col">Pixel size</th>
29
+ </tr>
30
+ </thead>
31
+ <tbody>
32
+ <tr>
33
+ <td>
34
+ <code>.qld-icon-xs</code>
35
+ </td>
36
+ <td>
37
+ <pre>1rem</pre>
38
+ </td>
39
+ <td>
40
+ <pre>16x16</pre>
41
+ </td>
42
+ </tr>
43
+ <tr>
44
+ <td>
45
+ <code>.qld-icon-sm</code>
46
+ </td>
47
+ <td>
48
+ <pre>1.25rem</pre>
49
+ </td>
50
+ <td>
51
+ <pre>20x20</pre>
52
+ </td>
53
+ </tr>
54
+ <tr>
55
+ <td>
56
+ <code>.qld-icon-md</code>
57
+ </td>
58
+ <td>
59
+ <pre>1.5rem</pre>
60
+ </td>
61
+ <td>
62
+ <pre>24x24</pre>
63
+ </td>
64
+ </tr>
65
+ <tr>
66
+ <td>
67
+ <code>.qld-icon-lg</code>
68
+ </td>
69
+ <td>
70
+ <pre>2rem</pre>
71
+ </td>
72
+ <td>
73
+ <pre>32x32</pre>
74
+ </td>
75
+ </tr>
76
+ <tr>
77
+ <td>
78
+ <code>.qld-icon-xl</code>
79
+ </td>
80
+ <td>
81
+ <pre>2.5rem</pre>
82
+ </td>
83
+ <td>
84
+ <pre>40x40</pre>
85
+ </td>
86
+ </tr>
87
+ <tr>
88
+ <td>
89
+ <code>.qld-icon-xxl</code>
90
+ </td>
91
+ <td>
92
+ <pre>3rem</pre>
93
+ </td>
94
+ <td>
95
+ <pre>48x48</pre>
96
+ </td>
97
+ </tr>
98
+ </tbody>
99
+ </table>
100
+
101
+ <h5 class="mt-5">Example code:</h5>
102
+
103
+ {/* prettier-ignore-start */}
104
+ ```html
105
+ <span class="qld-icon qld-icon-xxl qld-icon-design" aria-hidden="true"></span>
106
+ <span class="qld-icon qld-icon-xl qld-icon-design" aria-hidden="true"></span>
107
+ <span class="qld-icon qld-icon-lg qld-icon-design" aria-hidden="true"></span>
108
+ <span class="qld-icon qld-icon-md qld-icon-design" aria-hidden="true"></span>
109
+ <span class="qld-icon qld-icon-sm qld-icon-design" aria-hidden="true"></span>
110
+ <span class="qld-icon qld-icon-xs qld-icon-design" aria-hidden="true"></span>
111
+ ```
112
+ {/* prettier-ignore-end */}
@@ -0,0 +1,18 @@
1
+ <div class="d-flex align-items-center">
2
+ <span class="qld-icon qld-icon-xxl qld-icon-alert-information"></span>Icon XXL
3
+ </div>
4
+ <div class="d-flex align-items-center">
5
+ <span class="qld-icon qld-icon-xl qld-icon-alert-information"></span>Icon XL
6
+ </div>
7
+ <div class="d-flex align-items-center">
8
+ <span class="qld-icon qld-icon-lg qld-icon-alert-information"></span>Icon LG
9
+ </div>
10
+ <div class="d-flex align-items-center">
11
+ <span class="qld-icon qld-icon-md qld-icon-alert-information"></span>Icon XXL
12
+ </div>
13
+ <div class="d-flex align-items-center">
14
+ <span class="qld-icon qld-icon-sm qld-icon-alert-information"></span>Icon XXL
15
+ </div>
16
+ <div class="d-flex align-items-center">
17
+ <span class="qld-icon qld-icon-xs qld-icon-alert-information"></span>Icon XXL
18
+ </div>
@@ -0,0 +1,18 @@
1
+ <p>
2
+ <span
3
+ class="qld-icon is-inline qld-icon-xxl qld-icon-alert-information"
4
+ ></span
5
+ >Lorem ipsum dolor sit amet,
6
+ <span class="qld-icon is-inline qld-icon-xl qld-icon-alert-information"></span
7
+ >consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
8
+ dolore magna aliqua.
9
+ <span class="qld-icon is-inline qld-icon-lg qld-icon-alert-information"></span
10
+ >Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut
11
+ aliquip ex ea commodo consequat.
12
+ <span class="qld-icon is-inline qld-icon-md qld-icon-alert-information"></span
13
+ >Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore
14
+ eu fugiat nulla pariatur.
15
+ <span class="qld-icon is-inline qld-icon-xs qld-icon-alert-information"></span
16
+ >Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia
17
+ deserunt mollit anim id est laborum.
18
+ </p>
@@ -0,0 +1,89 @@
1
+ <div class="row align-items-end text-start">
2
+ <div class="col d-flex flex-column flex-grow-0 align-items-start">
3
+ <span
4
+ class="qld-icon qld-icon-xxl qld-icon-design"
5
+ aria-hidden="true"
6
+ ></span>
7
+ <pre><strong class="mt-2">XXL:</strong> 64x64</pre>
8
+ </div>
9
+ <div class="col d-flex flex-column flex-grow-0 align-items-start">
10
+ <span
11
+ class="qld-icon qld-icon-xl qld-icon-design"
12
+ aria-hidden="true"
13
+ ></span>
14
+ <pre class="mt-2"><strong>XL:</strong> 48x48</pre>
15
+ </div>
16
+ <div class="col d-flex flex-column flex-grow-0 align-items-start">
17
+ <span
18
+ class="qld-icon qld-icon-lg qld-icon-design"
19
+ aria-hidden="true"
20
+ ></span>
21
+ <pre class="mt-2"><strong>LG:</strong> 32x32</pre>
22
+ </div>
23
+ <div class="col d-flex flex-column flex-grow-0 align-items-start">
24
+ <span
25
+ class="qld-icon qld-icon-md qld-icon-design"
26
+ aria-hidden="true"
27
+ ></span>
28
+ <pre class="mt-2"><strong>MD:</strong> 24x24</pre>
29
+ </div>
30
+ <div class="col d-flex flex-column flex-grow-0 align-items-start">
31
+ <span
32
+ class="qld-icon qld-icon-sm qld-icon-design"
33
+ aria-hidden="true"
34
+ ></span>
35
+ <pre class="mt-2"><strong>SM:</strong> 20x20</pre>
36
+ </div>
37
+ <div class="col d-flex flex-column flex-grow-0 align-items-start">
38
+ <span
39
+ class="qld-icon qld-icon-xs qld-icon-design"
40
+ aria-hidden="true"
41
+ ></span>
42
+ <pre class="mt-2"><strong>XS:</strong> 16x16</pre>
43
+ </div>
44
+ </div>
45
+
46
+ <div class="row align-items-end text-start">
47
+ <div class="col d-flex flex-column flex-grow-0 align-items-start">
48
+ <span
49
+ class="qld-icon qld-icon-xxl qld-icon-alert-cancel"
50
+ aria-hidden="true"
51
+ ></span>
52
+ <pre class="mt-2"><strong>XXL:</strong> 64x64</pre>
53
+ </div>
54
+ <div class="col d-flex flex-column flex-grow-0 align-items-start">
55
+ <span
56
+ class="qld-icon qld-icon-xl qld-icon-alert-cancel"
57
+ aria-hidden="true"
58
+ ></span>
59
+ <pre class="mt-2"><strong>XL:</strong> 48x48</pre>
60
+ </div>
61
+ <div class="col d-flex flex-column flex-grow-0 align-items-start">
62
+ <span
63
+ class="qld-icon qld-icon-lg qld-icon-alert-cancel"
64
+ aria-hidden="true"
65
+ ></span>
66
+ <pre class="mt-2"><strong>LG:</strong> 32x32</pre>
67
+ </div>
68
+ <div class="col d-flex flex-column flex-grow-0 align-items-start">
69
+ <span
70
+ class="qld-icon qld-icon-md qld-icon-alert-cancel"
71
+ aria-hidden="true"
72
+ ></span>
73
+ <pre class="mt-2"><strong>MD:</strong> 24x24</pre>
74
+ </div>
75
+ <div class="col d-flex flex-column flex-grow-0 align-items-start">
76
+ <span
77
+ class="qld-icon qld-icon-sm qld-icon-alert-cancel"
78
+ aria-hidden="true"
79
+ ></span>
80
+ <pre class="mt-2"><strong>SM:</strong> 20x20</pre>
81
+ </div>
82
+ <div class="col d-flex flex-column flex-grow-0 align-items-start">
83
+ <span
84
+ class="qld-icon qld-icon-xs qld-icon-alert-cancel"
85
+ aria-hidden="true"
86
+ ></span>
87
+ <pre class="mt-2"><strong>XS:</strong> 16x16</pre>
88
+ </div>
89
+ </div>
@@ -5,10 +5,7 @@ import * as ImageStories from "./image.stories";
5
5
 
6
6
  # Image
7
7
 
8
- <Canvas>
9
- {/* Explicitly reference a specific story to avoid ambiguity */}
10
- <Story of={ImageStories.FixedRatio} />
11
- </Canvas>
8
+ <Canvas of={ImageStories.DefaultImage} />
12
9
 
13
10
  ## Design resources
14
11
 
@@ -6,9 +6,7 @@ import defaultdata from "./inpageAlert.data.json";
6
6
 
7
7
  # In-page alert
8
8
 
9
- <Canvas>
10
- <Story of={AlertStories.Success} />
11
- </Canvas>
9
+ <Canvas of={AlertStories.Default} />
12
10
 
13
11
  ## Design resources
14
12
 
@@ -1,12 +1,11 @@
1
- import { Canvas, Meta, Story } from "@storybook/blocks"
2
- import * as InpagenavStories from "./inpagenav.stories"
1
+ import { Canvas, Meta, Story } from "@storybook/blocks";
2
+ import * as InpagenavStories from "./inpagenav.stories";
3
3
 
4
4
  <Meta of={InpagenavStories} />
5
5
 
6
6
  # Pagination
7
- <Canvas>
8
- <Story of={InpagenavStories.Default} />
9
- </Canvas>
7
+
8
+ <Canvas of={InpagenavStories.Default} />
10
9
 
11
10
  ## Design resources
12
11
 
@@ -3,9 +3,8 @@
3
3
 
4
4
  // QGDS specific In-page Navigation variables.
5
5
  .qld-inpage-nav {
6
- --#{$prefix}inpage-nav-padding-left: 1.5rem;
7
- --#{$prefix}inpage-nav-title-padding-left: $nav-link-padding-x;
8
- --#{$prefix}inpage-nav-link-padding-left: $nav-link-padding-x;
6
+ --#{$prefix}inpage-nav-padding-left: 1.25rem;
7
+ --#{$prefix}inpage-nav-title-padding-left: 0;
9
8
  --#{$prefix}inpage-nav-link-padding-y: 0.25rem;
10
9
  --#{$prefix}inpage-nav-border-color: var(--#{$prefix}brand-primary);
11
10
  }
@@ -46,10 +45,15 @@
46
45
  padding-bottom: var(--#{$prefix}inpage-nav-link-padding-y);
47
46
  padding-left: var(--#{$prefix}inpage-nav-title-padding-left);
48
47
  color: var(--#{$prefix}nav-link-color);
48
+ text-decoration-line: underline;
49
49
  }
50
50
 
51
51
  &:first-child .nav-link {
52
52
  padding-top: 0;
53
53
  }
54
+
55
+ &:last-child .nav-link {
56
+ padding-bottom: 0;
57
+ }
54
58
  }
55
59
  }
@@ -5,9 +5,7 @@ import * as linkStories from "./link.stories";
5
5
 
6
6
  # Icon Link
7
7
 
8
- <Canvas>
9
- <Story of={linkStories.Default} />
10
- </Canvas>
8
+ <Canvas of={linkStories.Default} />
11
9
 
12
10
  ## Design resources
13
11
 
@@ -2,20 +2,12 @@
2
2
  text-underline-offset: var(--qld-link-underline-offset);
3
3
  text-decoration-thickness: var(--qld-link-underline-thickness);
4
4
 
5
- --#{$prefix}icon-background-color: var(--#{$prefix}light-action-secondary);
6
- --#{$prefix}icon-background-color-hover: var(
7
- --#{$prefix}light-action-secondary-hover
8
- );
9
5
  --#{$prefix}link-color: var(--#{$prefix}light-link);
10
6
  --#{$prefix}link-text-decoration-color: var(--#{$prefix}light-link);
11
7
  --#{$prefix}link-gap: 0.5rem;
12
8
 
13
9
  .dark &,
14
10
  .dark-alt & {
15
- --#{$prefix}icon-background-color: var(--#{$prefix}dark-action-secondary);
16
- --#{$prefix}icon-background-color-hover: var(
17
- --#{$prefix}dark-action-secondary-hover
18
- );
19
11
  --#{$prefix}link-color: var(--#{$prefix}dark-link);
20
12
  --#{$prefix}link-text-decoration-color: var(--#{$prefix}dark-link);
21
13
  &:visited {
@@ -38,13 +30,12 @@
38
30
  width: fit-content;
39
31
 
40
32
  &:hover {
33
+ --#{$prefix}icon-color: var(--#{$prefix}action-icon-hover-color);
34
+
41
35
  text-decoration-thickness: var(--qld-link-underline-thickness-hover);
42
36
  text-decoration-color: var(
43
37
  --#{$prefix}color-default-color-light-underline-default
44
38
  );
45
- .qld-icon {
46
- background-color: var(--#{$prefix}icon-background-color-hover);
47
- }
48
39
  }
49
40
 
50
41
  &:visited {
@@ -61,10 +52,6 @@
61
52
  outline-offset: 2px;
62
53
  border-radius: 4px;
63
54
  }
64
-
65
- .qld-icon {
66
- background-color: var(--#{$prefix}icon-background-color);
67
- }
68
55
  }
69
56
 
70
57
  .link-list {
@@ -6,9 +6,7 @@ import defaultdata from "./linkColumns.data.json";
6
6
 
7
7
  # LinkColumns
8
8
 
9
- <Canvas>
10
- <Story of={linkColumnsStories.Default} />
11
- </Canvas>
9
+ <Canvas of={linkColumnsStories.Default} />
12
10
 
13
11
  ## Design resources
14
12
 
@@ -5,6 +5,4 @@ import stories from "./logo.stories";
5
5
 
6
6
  # Logo
7
7
 
8
- <Canvas>
9
- <Story of={stories.Default} />
10
- </Canvas>
8
+ <Canvas of={stories.Default} />