@qld-gov-au/qgds-bootstrap5 2.0.5 → 2.0.7
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/.esbuild/plugins/qgds-plugin-build-log.js +2 -2
- package/.esbuild/plugins/qgds-plugin-copy-assets.js +0 -3
- package/.storybook/README.md +10 -0
- package/.storybook/dynamicThemeDecorator.js +28 -24
- package/.storybook/{main.js → main.mjs} +8 -7
- package/.storybook/modes.js +3 -12
- package/.storybook/preview.js +14 -11
- package/dist/assets/components/bs5/head/head.hbs +1 -1
- package/dist/assets/css/qld.bootstrap.css +1 -1
- package/dist/assets/css/qld.bootstrap.css.map +3 -3
- package/dist/assets/css/qld.bootstrap.legacy.css +2 -0
- package/dist/assets/css/qld.bootstrap.legacy.css.map +7 -0
- package/dist/assets/js/handlebars.init.min.js +1 -1
- package/dist/assets/js/handlebars.partials.js +2398 -136
- package/dist/assets/js/handlebars.partials.js.map +7 -0
- package/dist/assets/node/handlebars.init.min.js +1 -1
- package/dist/components/bs5/head/head.hbs +1 -1
- package/dist/package.json +25 -27
- package/dist/sample-data/correctincorrect/correctincorrect.data.json +1 -0
- package/dist/sample-data/tabs/tabs.data.json +1 -2
- package/dist/sample-data/typography/typography.data.json +1 -0
- package/esbuild.js +22 -5
- package/package.json +25 -27
- package/pom.xml +3 -3
- package/src/components/bs5/accordion/Accordion.mdx +1 -1
- package/src/components/bs5/accordion/accordion.scss +3 -3
- package/src/components/bs5/accordion/accordion.stories.js +17 -22
- package/src/components/bs5/backToTop/backToTop.mdx +1 -1
- package/src/components/bs5/banner/Banner.mdx +1 -1
- package/src/components/bs5/blockquote/Blockquote.mdx +1 -1
- package/src/components/bs5/blockquote/manifest.json +1 -0
- package/src/components/bs5/breadcrumbs/Breadcrumbs.mdx +1 -1
- package/src/components/bs5/breadcrumbs/breadcrumbs.stories.js +19 -10
- package/src/components/bs5/breadcrumbs/manifest.json +1 -0
- package/src/components/bs5/breadcumbsWrapper/manifest.json +1 -0
- package/src/components/bs5/button/Button.mdx +1 -1
- package/src/components/bs5/button/button.scss +25 -45
- package/src/components/bs5/button/manifest.json +1 -0
- package/src/components/bs5/callToAction/callToAction.mdx +1 -1
- package/src/components/bs5/callToAction/callToAction.stories.js +15 -50
- package/src/components/bs5/callout/Callout.mdx +1 -1
- package/src/components/bs5/callout/callout.stories.js +14 -39
- package/src/components/bs5/callout/manifest.json +1 -0
- package/src/components/bs5/card/Card.mdx +1 -1
- package/src/components/bs5/card/card.scss +5 -5
- package/src/components/bs5/card/manifest.json +1 -0
- package/src/components/bs5/contentFooter/manifest.json +1 -0
- package/src/components/bs5/contentFooterWrapper/manifest.json +1 -0
- package/src/components/bs5/contentWrapper/manifest.json +1 -0
- package/src/components/bs5/correctincorrect/correctincorrect.data.json +1 -0
- package/src/components/bs5/correctincorrect/manifest.json +1 -0
- package/src/components/bs5/dateinput/Dateinput.stories.js +23 -31
- package/src/components/bs5/dateinput/manifest.json +1 -0
- package/src/components/bs5/directionLinks/DirectionLinks.mdx +1 -1
- package/src/components/bs5/directionLinks/directionLinks.stories.js +14 -12
- package/src/components/bs5/footer/Footer.mdx +1 -1
- package/src/components/bs5/footer/footer.scss +3 -7
- package/src/components/bs5/formcheck/manifest.json +1 -0
- package/src/components/bs5/formcheck/stories/checkbox/Checkbox.mdx +1 -1
- package/src/components/bs5/formcheck/stories/checkbox/checkbox.stories.js +44 -87
- package/src/components/bs5/formcheck/stories/radio/Radio.mdx +1 -1
- package/src/components/bs5/formcheck/stories/radio/radio.stories.js +9 -36
- package/src/components/bs5/fullPageWrapper/manifest.json +1 -0
- package/src/components/bs5/globalAlert/GlobalAlert.mdx +1 -1
- package/src/components/bs5/globalAlert/globalAlert.test.js +3 -3
- package/src/components/bs5/globalAlert/manifest.json +1 -0
- package/src/components/bs5/head/manifest.json +1 -0
- package/src/components/bs5/header/Header.mdx +1 -1
- package/src/components/bs5/header/header.stories.js +1 -30
- package/src/components/bs5/header/manifest.json +1 -0
- package/src/components/bs5/icons/Icons.mdx +1 -1
- package/src/components/bs5/icons/manifest.json +1 -0
- package/src/components/bs5/icons/mdx/_IconsSizes.mdx +1 -1
- package/src/components/bs5/image/Image.mdx +1 -1
- package/src/components/bs5/inpageAlert/InpageAlert.mdx +1 -1
- package/src/components/bs5/inpageAlert/inpageAlert.stories.js +7 -23
- package/src/components/bs5/inpageAlert/manifest.json +1 -0
- package/src/components/bs5/inpagenav/Inpagenav.mdx +1 -1
- package/src/components/bs5/inpagenav/inpagenav.stories.js +4 -6
- package/src/components/bs5/inpagenav/manifest.json +1 -0
- package/src/components/bs5/link/link.mdx +1 -1
- package/src/components/bs5/link/link.stories.js +4 -6
- package/src/components/bs5/linkColumns/linkColumns.mdx +1 -1
- package/src/components/bs5/logo/Logo.mdx +1 -1
- package/src/components/bs5/mainContainerWrapper/manifest.json +1 -0
- package/src/components/bs5/metaDcTerms/manifest.json +1 -0
- package/src/components/bs5/metaOpenGraph/manifest.json +1 -0
- package/src/components/bs5/modal/Modal.mdx +1 -1
- package/src/components/bs5/modal/manifest.json +1 -0
- package/src/components/bs5/pagination/Pagination.mdx +1 -1
- package/src/components/bs5/pagination/manifest.json +1 -0
- package/src/components/bs5/pagination/pagination.scss +290 -274
- package/src/components/bs5/pagination/pagination.stories.js +22 -46
- package/src/components/bs5/promotionalPanel/PromotionalPanel.mdx +1 -1
- package/src/components/bs5/quickexit/manifest.json +1 -0
- package/src/components/bs5/searchInput/SearchInput.mdx +1 -1
- package/src/components/bs5/searchInput/manifest.json +1 -0
- package/src/components/bs5/searchInput/searchInput.stories.js +10 -12
- package/src/components/bs5/select/manifest.json +1 -0
- package/src/components/bs5/sidenav/Sidenav.mdx +1 -1
- package/src/components/bs5/sidenav/manifest.json +1 -0
- package/src/components/bs5/sidenav/sidenav.stories.js +4 -7
- package/src/components/bs5/sidenavWrapper/manifest.json +1 -0
- package/src/components/bs5/skiplinks/SkipLinks.mdx +1 -1
- package/src/components/bs5/spinner/manifest.json +1 -0
- package/src/components/bs5/table/Table.mdx +1 -1
- package/src/components/bs5/table/manifest.json +1 -0
- package/src/components/bs5/tabs/Tabs.mdx +1 -1
- package/src/components/bs5/tabs/tabs.data.json +1 -2
- package/src/components/bs5/tabs/tabs.stories.js +38 -215
- package/src/components/bs5/tag/Tag.mdx +1 -1
- package/src/components/bs5/tag/manifest.json +1 -0
- package/src/components/bs5/textarea/manifest.json +1 -0
- package/src/components/bs5/textbox/manifest.json +1 -0
- package/src/components/bs5/textbox/textInput.scss +55 -39
- package/src/components/bs5/typography/Typography.mdx +1 -1
- package/src/components/bs5/typography/manifest.json +1 -0
- package/src/components/bs5/typography/typography.data.json +1 -0
- package/src/components/bs5/typography/typography.stories.js +6 -24
- package/src/components/bs5/video/Video.mdx +1 -1
- package/src/components/bs5/video/manifest.json +1 -0
- package/src/components/bs5/video/video.scss +41 -27
- package/src/components/bs5/video/video.stories.js +6 -24
- package/src/css/main.legacy.scss +19 -0
- package/src/css/main.scss +17 -0
- package/src/css/qld-print.scss +426 -304
- package/src/css/qld-tokens-legacy.scss +94 -0
- package/src/css/qld-tokens.scss +92 -77
- package/src/css/qld-variables.scss +37 -30
- package/src/stories/Introduction.mdx +1 -1
- package/vite.config.js +17 -0
- package/.eslintrc.cjs +0 -52
- package/dist/assets/js/bootstrap.js +0 -6312
- package/dist/assets/js/handlebars.helpers.js +0 -292
- package/dist/assets/js/handlebars.init.cjs +0 -6
- package/dist/assets/js/handlebars.init.js +0 -34
- package/dist/components/handlebars.helpers.js +0 -292
- package/dist/components/handlebars.init.cjs +0 -6
- package/dist/components/handlebars.init.js +0 -34
- package/dist/components/handlebars.partials.js +0 -136
- package/src/css/main.masterbrand.scss +0 -137
- package/src/css/themes/masterbrand.scss +0 -109
|
@@ -12,7 +12,7 @@ export default function buildlog() {
|
|
|
12
12
|
log("yellow", "Starting build...\n");
|
|
13
13
|
});
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
|
|
16
16
|
build.onEnd((result) => {
|
|
17
17
|
console.log("BUNDLING:");
|
|
18
18
|
build.initialOptions.entryPoints.forEach((entry) => {
|
|
@@ -45,7 +45,7 @@ export default function buildlog() {
|
|
|
45
45
|
|
|
46
46
|
});
|
|
47
47
|
|
|
48
|
-
|
|
48
|
+
|
|
49
49
|
build.onEnd((result) => {
|
|
50
50
|
console.log(`\n`);
|
|
51
51
|
log("yellow", `✓ Build complete.\n\n`);
|
|
@@ -8,19 +8,16 @@ export default function copyPlugin() {
|
|
|
8
8
|
verbose: false,
|
|
9
9
|
watch: true,
|
|
10
10
|
assets: [
|
|
11
|
-
{from: ["./node_modules/bootstrap/dist/js/bootstrap.bundle.js"], to: ["./dist/assets/js/bootstrap.js"]},
|
|
12
11
|
{from: ["./node_modules/bootstrap/dist/js/bootstrap.bundle.min.js"], to: ["./dist/assets/js/bootstrap.min.js"]},
|
|
13
12
|
{from: ["./node_modules/bootstrap/dist/js/bootstrap.bundle.min.js.map"], to: ["./dist/assets/js/bootstrap.min.js.map"]},
|
|
14
13
|
{from: ["./node_modules/bootstrap/dist/js/bootstrap.bundle.*"], to: ["./dist/assets/js/"]},
|
|
15
14
|
|
|
16
15
|
{from: ["./src/components/bs5/**/*.hbs"], to: ["./dist/assets/components/bs5/"],},
|
|
17
|
-
{from: ["./src/js/handlebars.*"], to: ["./dist/assets/js/"],},
|
|
18
16
|
{from: ["./src/img/*"], to: ["./dist/assets/img"]},
|
|
19
17
|
// Sample data
|
|
20
18
|
{from: ["./src/components/bs5/**/*.data.json"], to: ["./dist/sample-data/"],},
|
|
21
19
|
|
|
22
20
|
// dist/components will be going away please use dist/assets/components
|
|
23
|
-
{from: ["./src/js/handlebars.*"], to: ["./dist/components/"],},
|
|
24
21
|
{from: ["./src/components/bs5/**/*.hbs"], to: ["./dist/components/bs5/"],},
|
|
25
22
|
|
|
26
23
|
//Copy info files for reference
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
## What stops Turbo Snapshots
|
|
2
|
+
|
|
3
|
+
The key files that will always trigger a full run if touched include:
|
|
4
|
+
|
|
5
|
+
* .storybook/main.js / .storybook/main.ts
|
|
6
|
+
* .storybook/preview.js / .storybook/preview.ts
|
|
7
|
+
* .storybook/manager.js
|
|
8
|
+
* Any addons.js or config imports that affect global decorators/parameters
|
|
9
|
+
|
|
10
|
+
Any file linked to preview.js i.e. transitive dependencies could also trigger a skip (i.e. if css is altered it would then run the full build to pick up regressions, if hbs files are just altered or a new story is added then it would not rebuild the full project)
|
|
@@ -6,7 +6,7 @@ let currentTheme = "masterbrand";
|
|
|
6
6
|
// Automatically generate theme modules based on available theme files
|
|
7
7
|
const themeModules = (() => {
|
|
8
8
|
const modules = {
|
|
9
|
-
|
|
9
|
+
masterbrand: () => import("../src/css/main.scss"),
|
|
10
10
|
};
|
|
11
11
|
|
|
12
12
|
// Get all theme files in the themes directory
|
|
@@ -50,27 +50,23 @@ function mapStyleElementsByTheme(callback) {
|
|
|
50
50
|
});
|
|
51
51
|
}
|
|
52
52
|
|
|
53
|
-
const unloadTheme = (themeName) => {
|
|
54
|
-
// Cache current theme's style elements before removing
|
|
55
|
-
// Remove existing style elements for current theme
|
|
56
|
-
const currentStyleElements = [];
|
|
57
|
-
const themeNotExist = themeName && !themeStyleElements.has(themeName);
|
|
58
|
-
mapStyleElementsByTheme((element) => {
|
|
59
|
-
if (themeNotExist) {
|
|
60
|
-
currentStyleElements.push(element.cloneNode(true));
|
|
61
|
-
}
|
|
62
|
-
element.remove();
|
|
63
|
-
});
|
|
64
|
-
|
|
65
|
-
if (currentStyleElements.length > 0) {
|
|
66
|
-
themeStyleElements.set(themeName, currentStyleElements);
|
|
67
|
-
}
|
|
68
|
-
};
|
|
69
|
-
|
|
70
53
|
const loadTheme = async (themeName) => {
|
|
71
|
-
//
|
|
72
|
-
|
|
73
|
-
|
|
54
|
+
// Store the previous theme name before changing
|
|
55
|
+
const previousTheme = currentTheme;
|
|
56
|
+
|
|
57
|
+
// Cache previous theme's elements BEFORE loading new theme
|
|
58
|
+
const previousThemeElements = [];
|
|
59
|
+
if (previousTheme && previousTheme !== themeName) {
|
|
60
|
+
mapStyleElementsByTheme((element) => {
|
|
61
|
+
previousThemeElements.push(element);
|
|
62
|
+
});
|
|
63
|
+
// Store in cache if not already cached
|
|
64
|
+
if (!themeStyleElements.has(previousTheme)) {
|
|
65
|
+
themeStyleElements.set(
|
|
66
|
+
previousTheme,
|
|
67
|
+
previousThemeElements.map((el) => el.cloneNode(true)),
|
|
68
|
+
);
|
|
69
|
+
}
|
|
74
70
|
}
|
|
75
71
|
|
|
76
72
|
// If theme style elements are cached, restore them
|
|
@@ -79,6 +75,10 @@ const loadTheme = async (themeName) => {
|
|
|
79
75
|
cachedElements.forEach((element) => {
|
|
80
76
|
document.head.appendChild(element.cloneNode(true));
|
|
81
77
|
});
|
|
78
|
+
// Remove previous theme elements after new theme is fully loaded
|
|
79
|
+
previousThemeElements.forEach((element) => {
|
|
80
|
+
element.remove();
|
|
81
|
+
});
|
|
82
82
|
currentTheme = themeName;
|
|
83
83
|
return;
|
|
84
84
|
}
|
|
@@ -108,6 +108,11 @@ const loadTheme = async (themeName) => {
|
|
|
108
108
|
// Store references
|
|
109
109
|
loadedThemes.set(themeName, true);
|
|
110
110
|
currentTheme = themeName;
|
|
111
|
+
|
|
112
|
+
// Remove previous theme elements after new theme is fully loaded
|
|
113
|
+
previousThemeElements.forEach((element) => {
|
|
114
|
+
element.remove();
|
|
115
|
+
});
|
|
111
116
|
} catch (error) {
|
|
112
117
|
console.warn(`Failed to load theme: ${themeName}`, error);
|
|
113
118
|
}
|
|
@@ -132,11 +137,11 @@ export const dynamicThemeGlobalTypes = {
|
|
|
132
137
|
icon: "switchalt",
|
|
133
138
|
items: (() => {
|
|
134
139
|
// Dynamically generate toolbar items from available themes
|
|
135
|
-
const items = [];
|
|
140
|
+
const items = [{ value: "masterbrand", title: "Masterbrand theme" }];
|
|
136
141
|
|
|
137
142
|
// Add items for all discovered themes
|
|
138
143
|
Object.keys(themeModules).forEach((themeName) => {
|
|
139
|
-
if (themeName !== "
|
|
144
|
+
if (themeName !== "masterbrand") {
|
|
140
145
|
const capitalizedName =
|
|
141
146
|
themeName.charAt(0).toUpperCase() + themeName.slice(1);
|
|
142
147
|
items.push({
|
|
@@ -145,7 +150,6 @@ export const dynamicThemeGlobalTypes = {
|
|
|
145
150
|
});
|
|
146
151
|
}
|
|
147
152
|
});
|
|
148
|
-
items.push({ value: "customized", title: "Customized theme" });
|
|
149
153
|
return items;
|
|
150
154
|
})(),
|
|
151
155
|
showName: true,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/** @type { import('@storybook/html-vite').StorybookConfig } */
|
|
2
|
+
// Is an ESM module now
|
|
2
3
|
|
|
3
4
|
import path from "path";
|
|
4
|
-
import fs from "fs";
|
|
5
5
|
|
|
6
6
|
const config = {
|
|
7
7
|
stories: [
|
|
@@ -17,11 +17,10 @@ const config = {
|
|
|
17
17
|
//https://storybook.js.org/addons/
|
|
18
18
|
"@storybook/addon-a11y",
|
|
19
19
|
"@storybook/addon-themes",
|
|
20
|
-
"@storybook/addon-essentials",
|
|
21
|
-
"@storybook/addon-interactions",
|
|
22
20
|
"@storybook/addon-links",
|
|
23
21
|
"@chromatic-com/storybook",
|
|
24
22
|
"storybook-addon-deep-controls",
|
|
23
|
+
"@storybook/addon-docs",
|
|
25
24
|
],
|
|
26
25
|
|
|
27
26
|
framework: {
|
|
@@ -46,11 +45,13 @@ const config = {
|
|
|
46
45
|
|
|
47
46
|
viteFinal: async (config, { configType }) => {
|
|
48
47
|
config.root = "./dist";
|
|
49
|
-
|
|
48
|
+
|
|
50
49
|
// Define environment variables for the browser
|
|
51
50
|
config.define = {
|
|
52
51
|
...config.define,
|
|
53
|
-
|
|
52
|
+
"import.meta.env.ENABLE_DYNAMIC_THEME": JSON.stringify(
|
|
53
|
+
process.env.ENABLE_DYNAMIC_THEME === "true",
|
|
54
|
+
),
|
|
54
55
|
};
|
|
55
56
|
// config.plugins.push({
|
|
56
57
|
// name: "html-transform",
|
|
@@ -67,8 +68,8 @@ const config = {
|
|
|
67
68
|
fs: {
|
|
68
69
|
allow: [
|
|
69
70
|
// Allow access to assets
|
|
70
|
-
path.resolve(
|
|
71
|
-
path.resolve(
|
|
71
|
+
path.resolve(process.cwd(), "../src/assets"),
|
|
72
|
+
path.resolve(process.cwd(), "../src/img"),
|
|
72
73
|
],
|
|
73
74
|
},
|
|
74
75
|
};
|
package/.storybook/modes.js
CHANGED
|
@@ -7,25 +7,16 @@ export const allModes = {
|
|
|
7
7
|
desktop: {
|
|
8
8
|
viewport: "large",
|
|
9
9
|
},
|
|
10
|
-
|
|
10
|
+
Light: {
|
|
11
11
|
theme: "light",
|
|
12
12
|
},
|
|
13
13
|
"Light alternative": {
|
|
14
14
|
theme: "alt",
|
|
15
15
|
},
|
|
16
|
-
|
|
16
|
+
Dark: {
|
|
17
17
|
theme: "dark",
|
|
18
18
|
},
|
|
19
19
|
"Dark alternative": {
|
|
20
20
|
theme: "dark-alt",
|
|
21
|
-
}
|
|
21
|
+
},
|
|
22
22
|
};
|
|
23
|
-
|
|
24
|
-
export const allBackgrounds = {
|
|
25
|
-
default: {name: 'default', value: '#FFFFFF'},
|
|
26
|
-
"Light": {name: 'Light', value: "var(--qld-light-background)"},
|
|
27
|
-
"Light alternative": {name: 'Light alternative', value: "var(--qld-light-grey-alt)"},
|
|
28
|
-
"Dark": {name: 'Dark', value: "var(--qld-sapphire-blue)"},
|
|
29
|
-
"Dark alternative": {name: 'Dark alternative', value: "var(--qld-dark-blue)"},
|
|
30
|
-
}
|
|
31
|
-
|
package/.storybook/preview.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import "../node_modules/bootstrap/dist/js/bootstrap.bundle.min.js";
|
|
2
2
|
import "../src/js/qld.bootstrap.js";
|
|
3
|
-
import "../src/css/main.
|
|
3
|
+
import "../src/css/main.scss";
|
|
4
4
|
import { withThemeByClassName } from "@storybook/addon-themes";
|
|
5
|
+
// import { allBackgrounds } from "./modes.js";
|
|
5
6
|
import {
|
|
6
7
|
withDynamicTheme,
|
|
7
8
|
dynamicThemeGlobalTypes,
|
|
@@ -9,8 +10,7 @@ import {
|
|
|
9
10
|
|
|
10
11
|
// Check if dynamic theme should be enabled via environment variable
|
|
11
12
|
const ENABLE_DYNAMIC_THEME = import.meta.env.ENABLE_DYNAMIC_THEME;
|
|
12
|
-
import {
|
|
13
|
-
import { INITIAL_VIEWPORTS } from "@storybook/addon-viewport";
|
|
13
|
+
import { INITIAL_VIEWPORTS } from "storybook/viewport";
|
|
14
14
|
import init from "../src/js/handlebars.init.js";
|
|
15
15
|
import Handlebars from "handlebars";
|
|
16
16
|
|
|
@@ -82,14 +82,14 @@ const preview = {
|
|
|
82
82
|
},
|
|
83
83
|
},
|
|
84
84
|
backgrounds: {
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
85
|
+
options: {
|
|
86
|
+
default: { name: "Default", value: "var(--qld-default-background)" },
|
|
87
|
+
light: { name: "Light", value: "var(--qld-light-background)" },
|
|
88
|
+
alt: { name: "Light Alt", value: "var(--qld-light-alt-background)" },
|
|
89
|
+
dark: { name: "Dark", value: "var(--qld-dark-background)" },
|
|
90
|
+
darkAlt: { name: "Dark Alt", value: "var(--qld-dark-alt-background)" },
|
|
91
|
+
},
|
|
92
|
+
disable: true,
|
|
93
93
|
},
|
|
94
94
|
options: {
|
|
95
95
|
storySort: {
|
|
@@ -110,6 +110,9 @@ const preview = {
|
|
|
110
110
|
restoreScroll: true,
|
|
111
111
|
},
|
|
112
112
|
},
|
|
113
|
+
initialGlobals: {
|
|
114
|
+
backgrounds: { value: "default" },
|
|
115
|
+
},
|
|
113
116
|
},
|
|
114
117
|
|
|
115
118
|
decorators: [
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
<!-- VERSION_DETAILS={"project_id":"@qld-gov-au/qgds-bootstrap5","version":"2.0.
|
|
2
|
+
<!-- VERSION_DETAILS={"project_id":"@qld-gov-au/qgds-bootstrap5","version":"2.0.7","branch":"HEAD","tag":"v2.0.7","commit":"c204c02c3420408a069d8228b40be125edc579d8","majorVersion":"v2"} -->
|
|
3
3
|
|
|
4
4
|
{{! Select environment, used verbatium if not using predefind key
|
|
5
5
|
cdn := PROD|STAGING|BETA|TEST|DEV|???
|