@qhealth-design-system/core 1.18.3 → 1.19.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.
Files changed (91) hide show
  1. package/.storybook/assets/accordion-js.js +344 -0
  2. package/.storybook/assets/animate-js.js +247 -0
  3. package/.storybook/assets/index.js +15 -0
  4. package/.storybook/globals.js +39 -41
  5. package/.storybook/main.js +4 -3
  6. package/.storybook/preview.js +11 -13
  7. package/CHANGELOG.md +4 -0
  8. package/README.md +1 -1
  9. package/package.json +10 -15
  10. package/src/component-loader.js +23 -0
  11. package/src/components/_global/css/body/component.scss +3 -3
  12. package/src/components/_global/css/btn/component.scss +1 -1
  13. package/src/components/_global/css/cta_links/component.scss +2 -2
  14. package/src/components/_global/css/example/component.scss +11 -19
  15. package/src/components/_global/css/forms/control_inputs/component.scss +2 -2
  16. package/src/components/_global/css/forms/general/component.scss +5 -5
  17. package/src/components/_global/css/headings/component.scss +42 -44
  18. package/src/components/_global/css/img/images.scss +20 -36
  19. package/src/components/_global/css/link_columns/component.scss +2 -2
  20. package/src/components/_global/css/modal/component.scss +20 -26
  21. package/src/components/_global/css/table/component.scss +14 -21
  22. package/src/components/_global/css/tabs/component.scss +2 -2
  23. package/src/components/_global/css/tags/component.scss +1 -1
  24. package/src/components/_global/css/toggle_and_tool_tip/component.scss +3 -3
  25. package/src/components/_global/js/global.js +1 -1
  26. package/src/components/_global/js/select_boxes/global.js +26 -35
  27. package/src/components/accordion/css/component.scss +289 -326
  28. package/src/components/banner/css/component.scss +77 -173
  29. package/src/components/banner/html/component.hbs +2 -4
  30. package/src/components/banner_advanced/html/component.hbs +2 -2
  31. package/src/components/banner_advanced/js/manifest.json +1422 -1386
  32. package/src/components/basic_search/css/component.scss +13 -14
  33. package/src/components/basic_search/html/component.hbs +11 -20
  34. package/src/components/breadcrumbs/js/global.js +6 -1
  35. package/src/components/callout/css/component.scss +37 -40
  36. package/src/components/card_feature/css/component.scss +28 -167
  37. package/src/components/card_multi_action/css/component.scss +46 -58
  38. package/src/components/code/css/component.scss +3 -3
  39. package/src/components/code/html/component.hbs +12 -12
  40. package/src/components/code/js/global.js +6 -1
  41. package/src/components/file_upload/css/component.scss +5 -5
  42. package/src/components/file_upload/js/global.js +46 -43
  43. package/src/components/footer/css/component.scss +3 -3
  44. package/src/components/global_alert/css/component.scss +8 -14
  45. package/src/components/global_alert/html/component.hbs +3 -3
  46. package/src/components/header/css/component.scss +16 -4
  47. package/src/components/header/html/component.hbs +3 -2
  48. package/src/components/header/js/global.js +8 -1
  49. package/src/components/in_page_navigation/css/component.scss +14 -16
  50. package/src/components/in_page_navigation/js/global.js +48 -58
  51. package/src/components/internal_navigation/css/component.scss +3 -3
  52. package/src/components/internal_navigation/js/global.js +27 -35
  53. package/src/components/left_hand_navigation/css/component.scss +8 -2
  54. package/src/components/main_navigation/css/component.scss +16 -7
  55. package/src/components/main_navigation/html/component.hbs +1 -0
  56. package/src/components/mega_main_navigation/css/component.scss +5 -5
  57. package/src/components/mega_main_navigation/html/component.hbs +1 -0
  58. package/src/components/pagination/css/component.scss +32 -28
  59. package/src/components/pagination/html/component.hbs +37 -40
  60. package/src/components/promo_panel/css/component.scss +1 -4
  61. package/src/components/promo_panel/html/component.hbs +11 -5
  62. package/src/components/promo_panel/js/global.js +24 -39
  63. package/src/components/promo_panel/js/manifest.json +8 -0
  64. package/src/components/tab/css/component.scss +3 -3
  65. package/src/components/toggle_tip/css/component.scss +1 -1
  66. package/src/components/tool_tip/css/component.scss +1 -1
  67. package/src/components/video_player/js/global.js +16 -13
  68. package/src/data/current.json +33 -1
  69. package/src/helpers/global-helpers.js +56 -0
  70. package/src/html/component-in_page_navigation.html +2 -2
  71. package/src/index.js +4 -8
  72. package/src/stories/BackToTop/BackToTop.mdx +3 -21
  73. package/src/stories/CTALink/CTALink.mdx +1 -4
  74. package/src/stories/Checkboxes/Checkboxes.mdx +1 -4
  75. package/src/stories/DirectionLinks/DirectionLinks.mdx +1 -4
  76. package/src/stories/InPageAlert/InPageAlert.mdx +1 -4
  77. package/src/stories/Introduction.mdx +9 -5
  78. package/src/stories/LinkColumns/LinkColumns.mdx +1 -4
  79. package/src/stories/Pagination/Pagination.mdx +26 -0
  80. package/src/stories/Pagination/Pagination.stories.js +257 -0
  81. package/src/stories/PromoPanel/PromoPanel.mdx +26 -0
  82. package/src/stories/PromoPanel/PromoPanel.stories.js +219 -0
  83. package/src/stories/RadioButtons/RadioButtons.mdx +1 -4
  84. package/src/stories/SelectBox/SelectBox.mdx +1 -4
  85. package/src/stories/Tags/Tags.js +3 -3
  86. package/src/stories/Tags/Tags.mdx +1 -4
  87. package/src/stories/VideoPlayer/VideoPlayer.mdx +3 -28
  88. package/src/stories/VideoPlayer/VideoPlayer.stories.js +19 -46
  89. package/src/styles/imports/utilities.scss +3 -3
  90. package/src/styles/imports/variables.scss +5 -0
  91. package/src/stories/VideoPlayer/VideoPlayer.js +0 -0
@@ -0,0 +1,219 @@
1
+ import Handlebars from "handlebars";
2
+ import Template from "../../components/promo_panel/html/component.hbs?raw";
3
+ import { figmaLinks, themes } from "../../../.storybook/globals";
4
+
5
+ const renderPromoPanel = ({ id, type, title, abstract, body, promoImage, bodyBackground, imageAlignment, promoPanelIcon, linkType, ctaLinkTitle, ctaLink, primaryLinkTitle, primaryLink, secondaryLinkTitle, secondaryLink, ...args }) => {
6
+ const html = Handlebars.compile(Template)({
7
+ component: {
8
+ data: {
9
+ metadata: {
10
+ id_field: { value: id },
11
+ type: { value: type },
12
+ title: { value: title },
13
+ abstract: { value: abstract },
14
+ body: { value: body },
15
+ promo_image: { value: promoImage },
16
+ body_background: { value: bodyBackground },
17
+ image_alignment: { value: imageAlignment },
18
+ promo_panel_icon: { value: promoPanelIcon },
19
+ link_type: { value: linkType },
20
+ cta_link_title: { value: ctaLinkTitle },
21
+ cta_link: { value: ctaLink },
22
+ primary_link_title: { value: primaryLinkTitle },
23
+ primary_link: { value: primaryLink },
24
+ secondary_link_title: { value: secondaryLinkTitle },
25
+ secondary_link: { value: secondaryLink },
26
+ },
27
+ },
28
+ },
29
+ ...args,
30
+ });
31
+
32
+ // Custom code that is NOT part of the component template. Only used so that promo image can be displayed.
33
+ const container = document.createElement("div");
34
+ container.innerHTML = html;
35
+
36
+ const imgElement = type === "qld__body--full-image" ? container.querySelector(".qld__promo-panel__container") : container.querySelector(".qld__promo-panel__image");
37
+ if (imgElement && imgElement.style.backgroundImage) {
38
+ imgElement.style.backgroundImage = `url(${promoImage})`;
39
+ }
40
+
41
+ return container;
42
+ };
43
+
44
+ const promoPanelArgs = {
45
+ id: "promo-panel-1",
46
+ type: "",
47
+ title: "Promotional Panel Title",
48
+ abstract: "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam.",
49
+ body: "Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur",
50
+ promoImage: "https://www.cq.health.qld.gov.au/__data/assets/image/0025/139534/Woorabinda.jpg",
51
+ bodyBackground: "qld__body--light",
52
+ imageAlignment: "qld__promo-panel--image-left",
53
+ promoPanelIcon: "zoom",
54
+ linkType: "cta",
55
+ ctaLinkTitle: "Call to Action Link",
56
+ ctaLink: "#",
57
+ primaryLinkTitle: "Primary Link",
58
+ primaryLink: "#",
59
+ secondaryLinkTitle: "Secondary Link",
60
+ secondaryLink: "#",
61
+ };
62
+
63
+ export default {
64
+ title: "Components/Promo Panel",
65
+ render: renderPromoPanel,
66
+ argTypes: {
67
+ id: { description: "The unique identifier of the component.", control: "text" },
68
+ type: {
69
+ description: "The style of the component.",
70
+ control: {
71
+ type: "radio",
72
+ labels: {
73
+ "": "Large image",
74
+ "qld__body--large-text": "Large text",
75
+ "qld__body--contained": "Contained",
76
+ "qld__body--full-image": "Full image",
77
+ },
78
+ },
79
+ options: ["", "qld__body--large-text", "qld__body--contained", "qld__body--full-image"],
80
+ default: "",
81
+ },
82
+ title: { description: "The title of the component", control: "text" },
83
+ abstract: { description: "The abstract of the component.", control: "text" },
84
+ body: { description: "The body text.", control: "text" },
85
+ promoImage: { description: "The image on this component.", control: "text" },
86
+ bodyBackground: {
87
+ description: "The colour theme of the component.",
88
+ control: {
89
+ type: "radio",
90
+ labels: {
91
+ "": "White",
92
+ "qld__body--light": "Light",
93
+ "qld__body--alt": "Alternate",
94
+ "qld__body--dark": "Dark",
95
+ "qld__body--dark-alt": "Dark Alternate",
96
+ },
97
+ },
98
+ options: ["", "qld__body--light", "qld__body--alt", "qld__body--dark", "qld__body--dark-alt"],
99
+ default: "",
100
+ },
101
+ imageAlignment: {
102
+ description: "The alignment of the image relative to the text.",
103
+ control: {
104
+ type: "radio",
105
+ labels: {
106
+ "qld__promo-panel--image-left": "Left",
107
+ "qld__promo-panel--image-right": "Right",
108
+ },
109
+ },
110
+ options: ["qld__promo-panel--image-left", "qld__promo-panel--image-right"],
111
+ default: "qld__promo-panel--image-left",
112
+ },
113
+ promoPanelIcon: { description: "The icon displayed", control: "text" },
114
+ linkType: {
115
+ description: "Whether the link should be of type CTA or Button.",
116
+ control: {
117
+ type: "radio",
118
+ labels: {
119
+ cta: "CTA",
120
+ button: "Button",
121
+ },
122
+ },
123
+ options: ["cta", "button"],
124
+ default: "cta",
125
+ },
126
+ ctaLinkTitle: { description: "CTA link title.", control: "text" },
127
+ ctaLink: { description: "CTA link link.", control: "text" },
128
+ primaryLinkTitle: { description: "Primary button title.", control: "text" },
129
+ primaryLink: { description: "Primary button link.", control: "text" },
130
+ secondaryLinkTitle: { description: "Secondary button title.", control: "text" },
131
+ secondaryLink: { description: "Secondary button link.", control: "text" },
132
+ },
133
+ args: { ...promoPanelArgs },
134
+ parameters: {
135
+ design: {
136
+ type: "figma",
137
+ url: figmaLinks.promoPanel.design,
138
+ },
139
+ },
140
+ };
141
+
142
+ export const Default = {
143
+ args: {
144
+ ...promoPanelArgs,
145
+ },
146
+ };
147
+
148
+ export const defaultVariant = (promoPanelArgs) => renderPromoPanel({ ...promoPanelArgs, bodyBackground: "" });
149
+ defaultVariant.tags = ["!dev"];
150
+
151
+ export const largeText = {
152
+ args: {
153
+ ...promoPanelArgs,
154
+ type: "qld__body--large-text",
155
+ },
156
+ render: (args) => {
157
+ return renderPromoPanel(args);
158
+ },
159
+ };
160
+
161
+ export const contained = {
162
+ args: {
163
+ ...promoPanelArgs,
164
+ type: "qld__body--contained",
165
+ },
166
+ render: (args) => {
167
+ return renderPromoPanel(args);
168
+ },
169
+ };
170
+
171
+ export const fullImage = {
172
+ args: {
173
+ ...promoPanelArgs,
174
+ type: "qld__body--full-image",
175
+ },
176
+ render: (args) => {
177
+ return renderPromoPanel(args);
178
+ },
179
+ };
180
+
181
+ export const light = {
182
+ args: {
183
+ ...promoPanelArgs,
184
+ bodyBackground: "qld__body--light",
185
+ },
186
+ render: (args) => {
187
+ return renderPromoPanel(args);
188
+ },
189
+ };
190
+
191
+ export const lightAlt = {
192
+ args: {
193
+ ...promoPanelArgs,
194
+ bodyBackground: "qld__body--alt",
195
+ },
196
+ render: (args) => {
197
+ return renderPromoPanel(args);
198
+ },
199
+ };
200
+
201
+ export const dark = {
202
+ args: {
203
+ ...promoPanelArgs,
204
+ bodyBackground: "qld__body--dark",
205
+ },
206
+ render: (args) => {
207
+ return renderPromoPanel(args, themes["dark"]);
208
+ },
209
+ };
210
+
211
+ export const darkAlt = {
212
+ args: {
213
+ ...promoPanelArgs,
214
+ bodyBackground: "qld__body--dark-alt",
215
+ },
216
+ render: (args) => {
217
+ return renderPromoPanel(args);
218
+ },
219
+ };
@@ -1,4 +1,4 @@
1
- import { Meta, Primary, Controls, Story, Source } from "@storybook/blocks";
1
+ import { Meta, Primary, Controls, Story, Source } from "@storybook/addon-docs/blocks";
2
2
  import * as radioButtonsStories from "./RadioButtons.stories";
3
3
  import { figmaLinks } from "../../../.storybook/globals";
4
4
 
@@ -37,9 +37,6 @@ Disabled control inputs can be used to indicate inputs that are no longer valid
37
37
  - <a className="figma-link" href={figmaLinks.radioButtons.design} target="_blank" rel="noopener noreferrer">
38
38
  Component design view (Figma)
39
39
  </a>
40
- - <a className="figma-link" href={figmaLinks.radioButtons.file} target="_blank" rel="noopener noreferrer">
41
- Component file (Figma)
42
- </a>
43
40
  - <a className="figma-link" href={figmaLinks.radioButtons.ds} target="_blank" rel="noopener noreferrer">
44
41
  Design System website
45
42
  </a>
@@ -1,4 +1,4 @@
1
- import { Meta, Primary, Controls, Story, Source } from "@storybook/blocks";
1
+ import { Meta, Primary, Controls, Story, Source } from "@storybook/addon-docs/blocks";
2
2
  import * as selectBoxStories from "./SelectBox.stories";
3
3
  import { figmaLinks } from "../../../.storybook/globals";
4
4
 
@@ -113,9 +113,6 @@ We currently only have one style of select box but like other forms components i
113
113
  - <a className="figma-link" href={figmaLinks.selectBox.design} target="_blank" rel="noopener noreferrer">
114
114
  Component design view (Figma)
115
115
  </a>
116
- - <a className="figma-link" href={figmaLinks.selectBox.file} target="_blank" rel="noopener noreferrer">
117
- Component file (Figma)
118
- </a>
119
116
  - <a className="figma-link" href={figmaLinks.selectBox.ds} target="_blank" rel="noopener noreferrer">
120
117
  Design System website
121
118
  </a>
@@ -21,7 +21,7 @@ export const Tags = ({ type, leadingText, text, isLargeTag, action }) => {
21
21
  case "filter":
22
22
  tagListContent = `
23
23
  <li>
24
- <div class="qld__tag qld__tag--filter" tabindex="-1">
24
+ <div class="qld__tag qld__tag--filter">
25
25
  ${text}
26
26
  <button class="qld__tag--filter-close" data-toggleUrl="{{toggleUrl}}">
27
27
  <svg class="qld__icon qld__icon--sm" aria-hidden="true" xmlns="http://www.w3.org/2000/svg"><use href="/QLD-icons.svg#close"></use></svg>
@@ -30,7 +30,7 @@ export const Tags = ({ type, leadingText, text, isLargeTag, action }) => {
30
30
  </div>
31
31
  </li>
32
32
  <li>
33
- <div class="qld__tag qld__tag--filter" tabindex="-1">
33
+ <div class="qld__tag qld__tag--filter">
34
34
  ${text}
35
35
  <button class="qld__tag--filter-close" data-toggleUrl="{{toggleUrl}}">
36
36
  <svg class="qld__icon qld__icon--sm" aria-hidden="true" xmlns="http://www.w3.org/2000/svg"><use href="/QLD-icons.svg#close"></use></svg>
@@ -39,7 +39,7 @@ export const Tags = ({ type, leadingText, text, isLargeTag, action }) => {
39
39
  </div>
40
40
  </li>
41
41
  <li>
42
- <div class="qld__tag qld__tag--filter" tabindex="-1">
42
+ <div class="qld__tag qld__tag--filter">
43
43
  ${text}
44
44
  <button class="qld__tag--filter-close" data-toggleUrl="{{toggleUrl}}">
45
45
  <svg class="qld__icon qld__icon--sm" aria-hidden="true" xmlns="http://www.w3.org/2000/svg"><use href="/QLD-icons.svg#close"></use></svg>
@@ -1,4 +1,4 @@
1
- import { Meta, Primary, Controls, Story, Source } from "@storybook/blocks";
1
+ import { Meta, Primary, Controls, Story, Source } from "@storybook/addon-docs/blocks";
2
2
  import * as TagsStories from "./Tags.stories";
3
3
  import { figmaLinks } from "../../../.storybook/globals";
4
4
 
@@ -58,9 +58,6 @@ Applied filter tags are a unique variant of large clickable tags that are used t
58
58
  - <a className="figma-link" href={figmaLinks.tags.design} target="_blank" rel="noopener noreferrer">
59
59
  Component design view (Figma)
60
60
  </a>
61
- - <a className="figma-link" href={figmaLinks.tags.file} target="_blank" rel="noopener noreferrer">
62
- Component file (Figma)
63
- </a>
64
61
  - <a className="figma-link" href={figmaLinks.tags.ds} target="_blank" rel="noopener noreferrer">
65
62
  Design System website
66
63
  </a>
@@ -1,11 +1,4 @@
1
- import {
2
- Meta,
3
- Primary,
4
- Controls,
5
- Story,
6
- Source,
7
- Design,
8
- } from "@storybook/blocks";
1
+ import { Meta, Primary, Controls, Story, Source } from "@storybook/addon-docs/blocks";
9
2
  import * as VideoPlayerStories from "./VideoPlayer.stories";
10
3
  import { figmaLinks } from "../../../.storybook/globals";
11
4
 
@@ -25,27 +18,9 @@ The Video Player component supports embedding videos from platforms such as Vime
25
18
 
26
19
  ## Design resources
27
20
 
28
- - <a
29
- className="figma-link"
30
- href={figmaLinks.videoPlayer.design}
31
- target="_blank"
32
- rel="noopener noreferrer"
33
- >
21
+ - <a className="figma-link" href={figmaLinks.videoPlayer.design} target="_blank" rel="noopener noreferrer">
34
22
  Component design view (Figma)
35
23
  </a>
36
- - <a
37
- className="figma-link"
38
- href={figmaLinks.videoPlayer.file}
39
- target="_blank"
40
- rel="noopener noreferrer"
41
- >
42
- Component file (Figma)
43
- </a>
44
- - <a
45
- className="figma-link"
46
- href={figmaLinks.videoPlayer.ds}
47
- target="_blank"
48
- rel="noopener noreferrer"
49
- >
24
+ - <a className="figma-link" href={figmaLinks.videoPlayer.ds} target="_blank" rel="noopener noreferrer">
50
25
  Design System website
51
26
  </a>
@@ -1,6 +1,6 @@
1
1
  import Handlebars from "handlebars";
2
2
  import Template from "../../components/video_player/html/component.hbs?raw";
3
- import { figmaLinks, themes } from "../../../.storybook/globals";
3
+ import { figmaLinks } from "../../../.storybook/globals";
4
4
 
5
5
  const videoPlayerArgs = {
6
6
  videoType: "vimeo",
@@ -10,31 +10,15 @@ const videoPlayerArgs = {
10
10
  videoId: "1001805640?h=414b9bb286",
11
11
  videoSize: "fill_grid",
12
12
  videoDuration: "2:30",
13
- videoCaption:
14
- "Living in Brisbane offers a vibrant city life with beautiful weather, diverse culture, stunning parks, and a thriving food scene",
15
- transcriptOptions: "link",
13
+ videoCaption: "Living in Brisbane offers a vibrant city life with beautiful weather, diverse culture, stunning parks, and a thriving food scene",
14
+ transcriptOptions: "accordion",
16
15
  transcriptLink: "https://example.com/transcript",
17
16
  transcriptText: "Full transcript available here.",
18
17
  videoDescription:
19
18
  "<h2>Optional Heading</h2><p>psum vulputate faucibus commodo laoreet tincidunt amet suspendisse urna. Turpis elementum eget dis senectus in enim varius aliquam. Vel amet odio nibh at sollicitudin. Nullam condimentum lectus.</p>",
20
19
  };
21
20
 
22
- const renderVideoPlayer = ({
23
- videoType,
24
- videoLayout,
25
- stackOptions,
26
- videoAlignItems,
27
- videoId,
28
- videoSize,
29
- videoDuration,
30
- videoCaption,
31
- transcriptOptions,
32
- transcriptLink,
33
- transcriptText,
34
- videoDescription,
35
- bodyBackground,
36
- ...args
37
- }) => {
21
+ const renderVideoPlayer = ({ videoType, videoLayout, stackOptions, videoAlignItems, videoId, videoSize, videoDuration, videoCaption, transcriptOptions, transcriptLink, transcriptText, videoDescription, bodyBackground, ...args }) => {
38
22
  return Handlebars.compile(Template)({
39
23
  component: {
40
24
  data: {
@@ -66,8 +50,7 @@ export default {
66
50
  videoType: {
67
51
  control: { type: "radio" },
68
52
  options: ["youtube", "vimeo"],
69
- description:
70
- "The platform hosting the video. Choose between YouTube or Vimeo.",
53
+ description: "The platform hosting the video. Choose between YouTube or Vimeo.",
71
54
  },
72
55
  videoLayout: {
73
56
  control: { type: "radio" },
@@ -78,20 +61,17 @@ export default {
78
61
  control: { type: "radio" },
79
62
  options: ["left_aligned", "centered"],
80
63
  if: { arg: "videoLayout", eq: "stack" },
81
- description:
82
- "Alignment of stacked elements. Only applicable when the layout is set to 'stack'.",
64
+ description: "Alignment of stacked elements. Only applicable when the layout is set to 'stack'.",
83
65
  },
84
66
  videoAlignItems: {
85
67
  control: { type: "radio" },
86
68
  options: ["top", "centered_vertically"],
87
69
  if: { arg: "videoLayout", neq: "stack" },
88
- description:
89
- "Vertical alignment of the video when not using a 'stack' layout.",
70
+ description: "Vertical alignment of the video when not using a 'stack' layout.",
90
71
  },
91
72
  videoId: {
92
73
  control: "text",
93
- description:
94
- "Unique identifier for the video. This can be a YouTube or Vimeo video ID.",
74
+ description: "Unique identifier for the video. This can be a YouTube or Vimeo video ID.",
95
75
  },
96
76
  videoSize: {
97
77
  control: { type: "radio" },
@@ -101,8 +81,7 @@ export default {
101
81
  },
102
82
  videoDuration: {
103
83
  control: "text",
104
- description:
105
- "The duration of the video in a readable format, e.g., '2:30'.",
84
+ description: "The duration of the video in a readable format, e.g., '2:30'.",
106
85
  },
107
86
  videoCaption: {
108
87
  control: "text",
@@ -117,25 +96,21 @@ export default {
117
96
  },
118
97
  },
119
98
  options: ["link", "accordion"],
120
- description:
121
- "How the transcript is presented—either as a link or within an accordion.",
99
+ description: "How the transcript is presented—either as a link or within an accordion.",
122
100
  },
123
101
  transcriptLink: {
124
102
  control: { type: "text" },
125
103
  if: { arg: "transcriptOptions", eq: "link" },
126
- description:
127
- "The URL for the transcript link. Required if 'transcriptOptions' is set to 'link'.",
104
+ description: "The URL for the transcript link. Required if 'transcriptOptions' is set to 'link'.",
128
105
  },
129
106
  transcriptText: {
130
107
  control: { type: "text" },
131
108
  if: { arg: "transcriptOptions", eq: "accordion" },
132
- description:
133
- "The full transcript text. Required if 'transcriptOptions' is set to 'accordion'.",
109
+ description: "The full transcript text. Required if 'transcriptOptions' is set to 'accordion'.",
134
110
  },
135
111
  videoDescription: {
136
112
  control: "text",
137
- description:
138
- "An optional description providing additional details about the video content.",
113
+ description: "An optional description providing additional details about the video content.",
139
114
  },
140
115
  bodyBackground: {
141
116
  control: { type: "radio" },
@@ -150,7 +125,6 @@ export default {
150
125
  description: "The background theme for the video player.",
151
126
  },
152
127
  },
153
-
154
128
  args: { ...videoPlayerArgs },
155
129
  parameters: {
156
130
  design: {
@@ -166,16 +140,15 @@ export const Default = {
166
140
  },
167
141
  };
168
142
 
169
- export const defaultVariant = (videoPlayerArgs) =>
170
- renderVideoPlayer({ ...videoPlayerArgs, videoType: "vimeo" });
143
+ export const defaultVariant = (videoPlayerArgs) => renderVideoPlayer({ ...videoPlayerArgs, videoType: "vimeo" });
171
144
  defaultVariant.tags = ["!dev"];
172
145
 
173
- export const Light = {
146
+ export const light = {
174
147
  args: {
175
148
  ...videoPlayerArgs,
176
149
  bodyBackground: "light",
177
150
  },
178
- render: (args) => renderVideoPlayer(args, themes["light"]),
151
+ render: (args) => renderVideoPlayer(args),
179
152
  };
180
153
 
181
154
  export const lightAlt = {
@@ -183,7 +156,7 @@ export const lightAlt = {
183
156
  ...videoPlayerArgs,
184
157
  bodyBackground: "alt",
185
158
  },
186
- render: (args) => renderVideoPlayer(args, themes["light alt"]),
159
+ render: (args) => renderVideoPlayer(args),
187
160
  };
188
161
 
189
162
  export const dark = {
@@ -191,7 +164,7 @@ export const dark = {
191
164
  ...videoPlayerArgs,
192
165
  bodyBackground: "dark",
193
166
  },
194
- render: (args) => renderVideoPlayer(args, themes["dark"]),
167
+ render: (args) => renderVideoPlayer(args),
195
168
  };
196
169
 
197
170
  export const darkAlt = {
@@ -199,5 +172,5 @@ export const darkAlt = {
199
172
  ...videoPlayerArgs,
200
173
  bodyBackground: "dark-alt",
201
174
  },
202
- render: (args) => renderVideoPlayer(args, themes["dark alt"]),
175
+ render: (args) => renderVideoPlayer(args),
203
176
  };
@@ -99,11 +99,11 @@ img.pull-right {
99
99
  }
100
100
 
101
101
  .qld__text-bold {
102
- font-weight: 700;
102
+ font-weight: $QLD-font-weight-bold;
103
103
  }
104
104
 
105
105
  .qld__text-normal {
106
- font-weight: 400;
106
+ font-weight: $QLD-font-weight-regular;
107
107
  }
108
108
 
109
109
  .qld__text-italic {
@@ -172,7 +172,7 @@ a.qld__max-width {
172
172
  .qld__default-xl,
173
173
  .qld__default-xxl,
174
174
  .qld__default-xxxl {
175
- font-weight: 400;
175
+ font-weight: $QLD-font-weight-regular;
176
176
  }
177
177
 
178
178
  .qld__no-space {
@@ -38,6 +38,11 @@ $QLD-font-display: "Noto Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", H
38
38
 
39
39
  $QLD-font-monospace: "Roboto Mono", Consolas, "Liberation Mono", Menlo, Courier, monospace !default;
40
40
 
41
+ // Font weights
42
+ $QLD-font-weight-regular: 400;
43
+ $QLD-font-weight-semibold: 600;
44
+ $QLD-font-weight-bold: 700;
45
+
41
46
  /**
42
47
  * QLD-fontsize-map
43
48
  *
File without changes