@qld-gov-au/qgds-bootstrap5 2.0.10 → 2.0.12
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/.storybook/main.mjs +2 -2
- package/.storybook/preview.js +5 -2
- package/dist/assets/components/bs5/banner/banner.hbs +3 -6
- package/dist/assets/components/bs5/card/card.hbs +2 -2
- package/dist/assets/components/bs5/dateinput/dateinput.hbs +27 -27
- package/dist/assets/components/bs5/formcheck/formcheck.hbs +10 -2
- package/dist/assets/components/bs5/head/head.hbs +1 -1
- package/dist/assets/components/bs5/searchInput/searchInput.hbs +31 -29
- package/dist/assets/components/bs5/select/select.hbs +19 -19
- package/dist/assets/components/bs5/tag/tag.hbs +1 -1
- package/dist/assets/components/bs5/textarea/textarea.hbs +17 -17
- package/dist/assets/components/bs5/textbox/textbox.hbs +17 -18
- package/dist/assets/css/qld.bootstrap.css +2 -2
- package/dist/assets/css/qld.bootstrap.css.map +3 -3
- package/dist/assets/css/qld.bootstrap.legacy.css +2 -2
- package/dist/assets/css/qld.bootstrap.legacy.css.map +3 -3
- package/dist/assets/js/handlebars.helpers.bundle.js +2 -2
- package/dist/assets/js/handlebars.helpers.bundle.js.map +2 -2
- package/dist/assets/js/handlebars.init.min.js +141 -135
- package/dist/assets/js/handlebars.init.min.js.map +2 -2
- package/dist/assets/js/handlebars.partials.js +141 -135
- package/dist/assets/js/handlebars.partials.js.map +2 -2
- package/dist/assets/js/qld.bootstrap.min.js +9 -10
- package/dist/assets/js/qld.bootstrap.min.js.map +4 -4
- package/dist/assets/node/handlebars.init.min.js +59 -11
- package/dist/assets/node/handlebars.init.min.js.map +2 -2
- package/dist/components/bs5/banner/banner.hbs +3 -6
- package/dist/components/bs5/card/card.hbs +2 -2
- package/dist/components/bs5/dateinput/dateinput.hbs +27 -27
- package/dist/components/bs5/formcheck/formcheck.hbs +10 -2
- package/dist/components/bs5/head/head.hbs +1 -1
- package/dist/components/bs5/searchInput/searchInput.hbs +31 -29
- package/dist/components/bs5/select/select.hbs +19 -19
- package/dist/components/bs5/tag/tag.hbs +1 -1
- package/dist/components/bs5/textarea/textarea.hbs +17 -17
- package/dist/components/bs5/textbox/textbox.hbs +17 -18
- package/dist/package.json +1 -1
- package/dist/sample-data/card/card.data.json +4 -1
- package/dist/sample-data/dateinput/dateinput.data.json +14 -12
- package/dist/sample-data/formcheck/stories/checkbox/checkbox.data.json +4 -5
- package/dist/sample-data/formcheck/stories/radio/radio.data.json +4 -4
- package/dist/sample-data/searchInput/searchInput.data.json +19 -10
- package/dist/sample-data/select/select.data.json +12 -10
- package/dist/sample-data/tag/tag.data.json +149 -143
- package/dist/sample-data/textarea/textarea.data.json +14 -11
- package/dist/sample-data/textbox/textbox.data.json +13 -10
- package/package.json +1 -1
- package/src/components/bs5/banner/banner.hbs +3 -6
- package/src/components/bs5/banner/banner.scss +10 -7
- package/src/components/bs5/banner/banner.stories.js +2 -5
- package/src/components/bs5/button/button.scss +4 -11
- package/src/components/bs5/button/button.stories.js +17 -15
- package/src/components/bs5/card/Card.js +31 -2
- package/src/components/bs5/card/Card.mdx +4 -0
- package/src/components/bs5/card/card--icon-list-footer.stories.js +2 -24
- package/src/components/bs5/card/card--multi-action.stories.js +9 -28
- package/src/components/bs5/card/card--no-action.stories.js +5 -27
- package/src/components/bs5/card/card--single-action.stories.js +4 -33
- package/src/components/bs5/card/card.data.json +4 -1
- package/src/components/bs5/card/card.hbs +2 -2
- package/src/components/bs5/dateinput/Dateinput.js +26 -11
- package/src/components/bs5/dateinput/dateinput.data.json +14 -12
- package/src/components/bs5/dateinput/dateinput.hbs +27 -27
- package/src/components/bs5/footer/footer_formio.scss +5 -5
- package/src/components/bs5/formcheck/Formcheck.js +57 -6
- package/src/components/bs5/formcheck/_form-variables.scss +131 -0
- package/src/components/bs5/formcheck/formcheck.hbs +10 -2
- package/src/components/bs5/formcheck/formcheck.scss +229 -66
- package/src/components/bs5/formcheck/stories/bootstrap-validation/bootstrap-validation.stories.js +304 -0
- package/src/components/bs5/formcheck/stories/checkbox/checkbox.data.json +4 -5
- package/src/components/bs5/formcheck/stories/checkbox/checkbox.stories.js +19 -111
- package/src/components/bs5/formcheck/stories/radio/radio.data.json +4 -4
- package/src/components/bs5/formcheck/stories/radio/radio.stories.js +30 -122
- package/src/components/bs5/inpageAlert/inpageAlert.scss +1 -1
- package/src/components/bs5/modal/modal.scss +106 -99
- package/src/components/bs5/navbar/navbar.functions.js +122 -19
- package/src/components/bs5/pageLayout/{ThemeShowcase.stories.js → PaletteShowcase.stories.js} +36 -35
- package/src/components/bs5/searchInput/__snapshots__/searchInput.test.js.snap +24 -28
- package/src/components/bs5/searchInput/search.functions.js +93 -76
- package/src/components/bs5/searchInput/searchInput.data.json +19 -10
- package/src/components/bs5/searchInput/searchInput.hbs +31 -29
- package/src/components/bs5/searchInput/searchInput.scss +140 -196
- package/src/components/bs5/searchInput/searchInput.stories.js +35 -13
- package/src/components/bs5/searchInput/searchInput.test.js +5 -1
- package/src/components/bs5/select/Select.js +13 -5
- package/src/components/bs5/select/Select.stories.js +27 -83
- package/src/components/bs5/select/select.data.json +12 -10
- package/src/components/bs5/select/select.hbs +19 -19
- package/src/components/bs5/tag/tag--status.stories.js +1 -0
- package/src/components/bs5/tag/tag.data.json +149 -143
- package/src/components/bs5/tag/tag.hbs +1 -1
- package/src/components/bs5/tag/tag.scss +2 -5
- package/src/components/bs5/tag/tag.stories.js +1 -0
- package/src/components/bs5/textarea/Textarea.js +13 -5
- package/src/components/bs5/textarea/Textarea.stories.js +29 -55
- package/src/components/bs5/textarea/textarea.data.json +14 -11
- package/src/components/bs5/textarea/textarea.hbs +17 -17
- package/src/components/bs5/textbox/Textbox.js +16 -5
- package/src/components/bs5/textbox/Textbox.stories.js +26 -51
- package/src/components/bs5/textbox/textInput.scss +12 -232
- package/src/components/bs5/textbox/textbox.data.json +13 -10
- package/src/components/bs5/textbox/textbox.hbs +17 -18
- package/src/components/bs5/typography/typography.stories.js +1 -1
- package/src/css/functions/_index.scss +2 -0
- package/src/css/functions/remify.scss +32 -0
- package/src/css/functions/snap-line-height.scss +7 -0
- package/src/css/main.scss +1 -1
- package/src/css/mixins/focusable.scss +4 -1
- package/src/css/mixins/make-icon.scss +1 -1
- package/src/css/{qld-theme.scss → qld-palettes.scss} +30 -23
- package/src/js/handlebars.helpers.js +9 -1
- package/src/js/utils.js +142 -0
- package/src/components/bs5/formcheck/_formcheck.stories.bak.js +0 -432
|
@@ -1,131 +1,75 @@
|
|
|
1
1
|
// ComponentExample.stories.js
|
|
2
|
-
import { Select } from "./Select.js";
|
|
2
|
+
import { Select, argTypes } from "./Select.js";
|
|
3
3
|
import defaultdata from "./select.data.json";
|
|
4
4
|
|
|
5
5
|
export default {
|
|
6
6
|
tags: ["autodocs"],
|
|
7
7
|
title: "3. Components/Forms/Select",
|
|
8
8
|
render: (args) => {
|
|
9
|
-
|
|
10
|
-
//Storybook produces a comma delimited string when using the check control type (table-striped, table-bordered) etc.
|
|
9
|
+
//Storybook produces a comma delimited string when using the check control type (table-striped, table-bordered) etc.
|
|
11
10
|
//We can't use commas on our class="..." attribute, so we need to replace the commas with spaces.
|
|
12
11
|
|
|
13
|
-
if(
|
|
14
|
-
args.customClass = args.customClass.replaceAll(","," ");
|
|
15
|
-
} else if (
|
|
12
|
+
if (typeof args.customClass === "string") {
|
|
13
|
+
args.customClass = args.customClass.replaceAll(",", " ");
|
|
14
|
+
} else if (typeof args.customClass === "object") {
|
|
16
15
|
args.customClass = args.customClass.join(" ");
|
|
17
16
|
}
|
|
18
|
-
|
|
17
|
+
|
|
19
18
|
return new Select(args).html;
|
|
20
|
-
|
|
21
19
|
},
|
|
20
|
+
parameters: { backgrounds: { disable: false } },
|
|
21
|
+
globals: { backgrounds: { value: "default" } },
|
|
22
22
|
|
|
23
23
|
//https://storybook.js.org/docs/api/arg-types
|
|
24
|
-
argTypes
|
|
25
|
-
/*customClass: {
|
|
26
|
-
name: "Classes",
|
|
27
|
-
description: 'Settable classes for the component',
|
|
28
|
-
control: {
|
|
29
|
-
type: "check",
|
|
30
|
-
labels: {
|
|
31
|
-
"form-style-filled": "Filled",
|
|
32
|
-
},
|
|
33
|
-
},
|
|
34
|
-
options: [
|
|
35
|
-
"form-style-filled",
|
|
36
|
-
],
|
|
37
|
-
},
|
|
38
|
-
states: {
|
|
39
|
-
name: "States",
|
|
40
|
-
description: `Valid/Invalid states`,
|
|
41
|
-
control: {
|
|
42
|
-
type: "radio",
|
|
43
|
-
labels: {
|
|
44
|
-
"default": "Default",
|
|
45
|
-
"qld-input-success": "Success",
|
|
46
|
-
"qld-input-error": "Error",
|
|
47
|
-
},
|
|
48
|
-
},
|
|
49
|
-
options: [
|
|
50
|
-
"default",
|
|
51
|
-
"qld-input-success",
|
|
52
|
-
"qld-input-error",
|
|
53
|
-
],
|
|
54
|
-
},*/
|
|
55
|
-
},
|
|
24
|
+
argTypes,
|
|
56
25
|
};
|
|
57
26
|
|
|
58
27
|
/**
|
|
59
|
-
* Default
|
|
28
|
+
* Default palette context
|
|
60
29
|
*/
|
|
61
30
|
export const Default = {
|
|
62
31
|
args: defaultdata,
|
|
63
32
|
};
|
|
64
33
|
|
|
65
34
|
/**
|
|
66
|
-
* Dark
|
|
35
|
+
* Dark pallete context
|
|
67
36
|
*/
|
|
68
37
|
export const Dark = {
|
|
69
|
-
args: {
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
},
|
|
73
|
-
parameters: {
|
|
74
|
-
backgrounds: {
|
|
75
|
-
default: 'Dark',
|
|
76
|
-
values: [
|
|
77
|
-
{ name: 'Dark', value: 'var(--qld-brand-primary)' },
|
|
78
|
-
],
|
|
79
|
-
},
|
|
38
|
+
args: {
|
|
39
|
+
...defaultdata,
|
|
40
|
+
isDisabled: false,
|
|
80
41
|
},
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
return `
|
|
84
|
-
<div class="dark">
|
|
85
|
-
${Story()}
|
|
86
|
-
</div>
|
|
87
|
-
`;
|
|
88
|
-
},
|
|
89
|
-
],
|
|
42
|
+
globals: { backgrounds: { value: "dark" } },
|
|
43
|
+
render: (args) => `<div class="dark">${new Select(args).html}</div>`,
|
|
90
44
|
};
|
|
91
45
|
|
|
92
46
|
/**
|
|
93
|
-
*
|
|
47
|
+
* Add custom class `form-style-filled`
|
|
94
48
|
*/
|
|
95
49
|
export const Filled = {
|
|
96
|
-
args: {
|
|
97
|
-
|
|
98
|
-
|
|
50
|
+
args: {
|
|
51
|
+
...defaultdata,
|
|
52
|
+
isFilled: "true",
|
|
99
53
|
},
|
|
100
54
|
};
|
|
101
55
|
|
|
102
|
-
|
|
103
|
-
/**
|
|
104
|
-
* Disabled select
|
|
105
|
-
*/
|
|
106
56
|
export const Disabled = {
|
|
107
|
-
args: {
|
|
108
|
-
|
|
109
|
-
|
|
57
|
+
args: {
|
|
58
|
+
...defaultdata,
|
|
59
|
+
isDisabled: true,
|
|
110
60
|
},
|
|
111
61
|
};
|
|
112
62
|
|
|
113
|
-
/**
|
|
114
|
-
* Valid select
|
|
115
|
-
*/
|
|
116
63
|
export const Valid = {
|
|
117
64
|
args: {
|
|
118
|
-
|
|
119
|
-
|
|
65
|
+
...defaultdata,
|
|
66
|
+
isValid: true,
|
|
120
67
|
},
|
|
121
68
|
};
|
|
122
69
|
|
|
123
|
-
/**
|
|
124
|
-
* Invalid select
|
|
125
|
-
*/
|
|
126
70
|
export const Invalid = {
|
|
127
71
|
args: {
|
|
128
|
-
|
|
129
|
-
|
|
72
|
+
...defaultdata,
|
|
73
|
+
isValid: false,
|
|
130
74
|
},
|
|
131
75
|
};
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
2
|
+
"id": "example-1",
|
|
3
|
+
"isDisabled": false,
|
|
4
|
+
"isRequired": true,
|
|
5
|
+
"isFilled": false,
|
|
6
|
+
"isValid": null,
|
|
7
|
+
"customClass": "",
|
|
8
|
+
"label-text": "Label",
|
|
9
|
+
"placeholder": "Please select",
|
|
10
|
+
"optional-text": "optional",
|
|
11
|
+
"hint-text": "Hint",
|
|
12
|
+
"successMessageText": "Success message",
|
|
13
|
+
"errorMessageText": "Error message"
|
|
12
14
|
}
|
|
@@ -1,33 +1,33 @@
|
|
|
1
1
|
<!-- QGDS Component: Select -->
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
<label class="qld-text-input-label {{#if isRequired}}field-required{{/if}} {{#if isDisabled}}field-disabled{{/if}}" for="example-1">
|
|
3
|
+
<label class="qld-text-input-label {{#if isRequired}}field-required{{/if}} {{#if isDisabled}}field-disabled{{/if}}" for="{{id}}">
|
|
5
4
|
{{label-text}}
|
|
6
5
|
{{#if optional-text}}
|
|
7
|
-
<span class="label-text-optional">({{optional-text}})</span
|
|
6
|
+
<span class="label-text-optional">({{optional-text}})</span>
|
|
8
7
|
{{/if}}
|
|
8
|
+
</label>
|
|
9
9
|
|
|
10
|
-
<!-- Hint text for the first input field -->
|
|
11
10
|
{{#if hint-text}}
|
|
12
|
-
<span class="qld-hint-text" id="
|
|
11
|
+
<span class="qld-hint-text" id="{{id}}-hint">{{hint-text}}</span>
|
|
13
12
|
{{/if}}
|
|
14
13
|
|
|
15
|
-
{{#contains "qld-input-success" customClass}}
|
|
16
|
-
<span
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
{{
|
|
14
|
+
{{#contains "qld-input-success" customClass}}{{! legacy support for feedback classes `qld-input-success`}}
|
|
15
|
+
<span class="qld-input-success">{{successMessageText}}</span>
|
|
16
|
+
{{else}}{{! updated bootstrap style classes - `valid-feedback`}}
|
|
17
|
+
{{#if successMessageText}}
|
|
18
|
+
<div class="valid-feedback">{{successMessageText}}</div>
|
|
19
|
+
{{/if}}{{/contains}}
|
|
20
20
|
|
|
21
|
-
{{#contains "qld-input-error" customClass}}
|
|
22
|
-
<span
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
{{
|
|
21
|
+
{{#contains "qld-input-error" customClass}}{{! legacy support for feedback classes `qld-input-error`}}
|
|
22
|
+
<span class="qld-input-error">{{errorMessageText}}</span>
|
|
23
|
+
{{else}}{{! updated bootstrap style classes - `invalid-feedback`}}
|
|
24
|
+
{{#if errorMessageText}}
|
|
25
|
+
<div class="invalid-feedback">{{errorMessageText}}</div>
|
|
26
|
+
{{/if}}{{/contains}}
|
|
26
27
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
<option selected>{{placeholder}}</option>
|
|
28
|
+
<select id={{id}} class="form-select {{#if isFilled}}is-filled{{/if}} {{#if isValid}}is-valid{{else}}{{#ifCond isValid "===" false}}is-invalid{{/ifCond}}{{/if}} {{customClass}}"
|
|
29
|
+
{{#if hint-text}}aria-describedby="{{id}}-hint"{{/if}} {{#if isDisabled}}disabled{{/if}} {{#if isRequired}}required{{/if}} >
|
|
30
|
+
<option selected value="">{{placeholder}}</option>
|
|
31
31
|
<option value="1">Option 1</option>
|
|
32
32
|
<option value="2">Option 2</option>
|
|
33
33
|
<option value="3">Option 3</option>
|
|
@@ -1,145 +1,151 @@
|
|
|
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
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
2
|
+
"default": {
|
|
3
|
+
"variant": "tag-default",
|
|
4
|
+
"classes": "p-4 my-2",
|
|
5
|
+
"tagItems": [
|
|
6
|
+
{
|
|
7
|
+
"id": "One",
|
|
8
|
+
"content": "Tag text"
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"id": "Two",
|
|
12
|
+
"content": "Tag text"
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"id": "Three",
|
|
16
|
+
"content": "Tag text"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"id": "Four",
|
|
20
|
+
"content": "Tag text"
|
|
21
|
+
}
|
|
22
|
+
]
|
|
23
|
+
},
|
|
24
|
+
"large": {
|
|
25
|
+
"variant": "",
|
|
26
|
+
"classes": "p-4 my-2",
|
|
27
|
+
"tagItems": [
|
|
28
|
+
{
|
|
29
|
+
"id": "One",
|
|
30
|
+
"content": "Tag text",
|
|
31
|
+
"classes": "tag-large"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"id": "Two",
|
|
35
|
+
"content": "Tag text",
|
|
36
|
+
"classes": "tag-large"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"id": "Three",
|
|
40
|
+
"content": "Tag text",
|
|
41
|
+
"classes": "tag-large"
|
|
42
|
+
}
|
|
43
|
+
]
|
|
44
|
+
},
|
|
45
|
+
"action": {
|
|
46
|
+
"variant": "",
|
|
47
|
+
"classes": "p-4 my-2",
|
|
48
|
+
"tagItems": [
|
|
49
|
+
{
|
|
50
|
+
"id": "One",
|
|
51
|
+
"content": "<a href='javascript:void(0)'>Tag text</a>",
|
|
52
|
+
"classes": "tag-link"
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"id": "Two",
|
|
56
|
+
"content": "<a href='javascript:void(0)'>Tag text</a>",
|
|
57
|
+
"classes": "tag-link"
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"id": "Three",
|
|
61
|
+
"content": "<a href='javascript:void(0)'>Tag text</a>",
|
|
62
|
+
"classes": "tag-link"
|
|
63
|
+
}
|
|
64
|
+
]
|
|
65
|
+
},
|
|
66
|
+
"dark": {
|
|
67
|
+
"classes": "p-4 my-2",
|
|
68
|
+
"variant": "tag-dark",
|
|
69
|
+
"tagItems": [
|
|
70
|
+
{
|
|
71
|
+
"id": "One",
|
|
72
|
+
"content": "Tag text"
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"id": "Two",
|
|
76
|
+
"content": "Tag text"
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"id": "Three",
|
|
80
|
+
"content": "Tag text"
|
|
81
|
+
}
|
|
82
|
+
]
|
|
83
|
+
},
|
|
84
|
+
"info": {
|
|
85
|
+
"variant": "",
|
|
86
|
+
"classes": "p-4 my-2",
|
|
87
|
+
"tagItems": [
|
|
88
|
+
{
|
|
89
|
+
"id": "One",
|
|
90
|
+
"content": "Tag text",
|
|
91
|
+
"classes": "tag-info"
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"id": "Two",
|
|
95
|
+
"content": "Tag text",
|
|
96
|
+
"classes": "tag-info"
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"id": "Three",
|
|
100
|
+
"content": "Tag text",
|
|
101
|
+
"classes": "tag-info"
|
|
102
|
+
}
|
|
103
|
+
]
|
|
104
|
+
},
|
|
105
|
+
"filter": {
|
|
106
|
+
"variant": "",
|
|
107
|
+
"classes": "p-4 my-2",
|
|
108
|
+
"tagItems": [
|
|
109
|
+
{
|
|
110
|
+
"id": "One",
|
|
111
|
+
"content": "Policies and procedures",
|
|
112
|
+
"classes": "tag-large",
|
|
113
|
+
"applied-filter": true
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
"id": "Two",
|
|
117
|
+
"content": "Publications",
|
|
118
|
+
"classes": "tag-large",
|
|
119
|
+
"applied-filter": true
|
|
120
|
+
}
|
|
121
|
+
]
|
|
122
|
+
},
|
|
123
|
+
"status": {
|
|
124
|
+
"variant": "tag-status",
|
|
125
|
+
"classes": "p-4 my-2",
|
|
126
|
+
"tagItems": [
|
|
127
|
+
{
|
|
128
|
+
"content": "Neutral",
|
|
129
|
+
"classes": "tag-neutral"
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
"content": "Success",
|
|
133
|
+
"classes": "tag-success"
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
"content": "Warning",
|
|
137
|
+
"classes": "tag-warning"
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
"content": "Error",
|
|
141
|
+
"classes": "tag-error"
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
"content": "Information",
|
|
145
|
+
"classes": "tag-information"
|
|
146
|
+
}
|
|
147
|
+
],
|
|
148
|
+
"size": "tag-small",
|
|
149
|
+
"emphasis": "tag-low"
|
|
150
|
+
}
|
|
145
151
|
}
|
|
@@ -91,9 +91,8 @@ $_icon-status-cancel: url('data:image/svg+xml,<svg width="32" height="32" viewBo
|
|
|
91
91
|
// General styling rules.
|
|
92
92
|
.tag-list {
|
|
93
93
|
list-style-type: none;
|
|
94
|
-
margin: 0.5rem 0;
|
|
95
|
-
padding: 30px;
|
|
96
94
|
display: flex;
|
|
95
|
+
flex-wrap: wrap;
|
|
97
96
|
align-items: center;
|
|
98
97
|
gap: 1rem;
|
|
99
98
|
|
|
@@ -114,9 +113,7 @@ $_icon-status-cancel: url('data:image/svg+xml,<svg width="32" height="32" viewBo
|
|
|
114
113
|
border: var(--_border-width) solid var(--#{$prefix}neutral-lighter);
|
|
115
114
|
border-radius: 1rem;
|
|
116
115
|
font-size: 0.875rem;
|
|
117
|
-
line-height: 1.
|
|
118
|
-
|
|
119
|
-
height: var(--_height);
|
|
116
|
+
line-height: 1.4;
|
|
120
117
|
|
|
121
118
|
&.tag-large {
|
|
122
119
|
--_padding-y: 0.5rem;
|
|
@@ -1,13 +1,21 @@
|
|
|
1
|
-
import Component from
|
|
1
|
+
import Component from "../../../js/QGDSComponent.js";
|
|
2
2
|
import template from "./textarea.hbs?raw";
|
|
3
3
|
|
|
4
4
|
export class Textarea {
|
|
5
|
-
|
|
6
5
|
// Use the global Component class to create a new instance of the Textarea component.
|
|
7
|
-
// A data object, containing the Handlebars placeholder replacement strings, should be provided as an argument.
|
|
6
|
+
// A data object, containing the Handlebars placeholder replacement strings, should be provided as an argument.
|
|
8
7
|
|
|
9
|
-
constructor(
|
|
8
|
+
constructor(data = {}) {
|
|
10
9
|
return new Component(template, data);
|
|
11
10
|
}
|
|
12
|
-
|
|
13
11
|
}
|
|
12
|
+
|
|
13
|
+
export const argTypes = {
|
|
14
|
+
isValid: {
|
|
15
|
+
description:
|
|
16
|
+
"For server-side validation, set to true or false. Omit or set to null to to indicate the input is yet to be validated.",
|
|
17
|
+
control: "radio",
|
|
18
|
+
options: [true, false, null],
|
|
19
|
+
type: "boolean | null",
|
|
20
|
+
},
|
|
21
|
+
};
|