@brightspace-ui/core 3.135.6 → 3.136.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/button/button-icon.js +6 -34
- package/components/button/button-subtle.js +16 -47
- package/components/icons/slotted-icon-mixin.js +64 -0
- package/components/tooltip/demo/tooltip.html +17 -0
- package/components/tooltip/tooltip-help.js +11 -1
- package/custom-elements.json +33 -22
- package/package.json +1 -1
@@ -1,20 +1,21 @@
|
|
1
1
|
import '../colors/colors.js';
|
2
2
|
import '../icons/icon.js';
|
3
3
|
import '../tooltip/tooltip.js';
|
4
|
-
import { css, html, LitElement
|
4
|
+
import { css, html, LitElement } from 'lit';
|
5
5
|
import { VisibleOnAncestorMixin, visibleOnAncestorStyles } from '../../mixins/visible-on-ancestor/visible-on-ancestor-mixin.js';
|
6
6
|
import { ButtonMixin } from './button-mixin.js';
|
7
7
|
import { buttonStyles } from './button-styles.js';
|
8
8
|
import { getUniqueId } from '../../helpers/uniqueId.js';
|
9
9
|
import { ifDefined } from 'lit/directives/if-defined.js';
|
10
10
|
import { PropertyRequiredMixin } from '../../mixins/property-required/property-required-mixin.js';
|
11
|
+
import { SlottedIconMixin } from '../icons/slotted-icon-mixin.js';
|
11
12
|
import { ThemeMixin } from '../../mixins/theme/theme-mixin.js';
|
12
13
|
|
13
14
|
/**
|
14
15
|
* A button component that can be used just like the native button for instances where only an icon is displayed.
|
15
16
|
* @slot icon - Optional slot for a custom icon
|
16
17
|
*/
|
17
|
-
class ButtonIcon extends PropertyRequiredMixin(ThemeMixin(ButtonMixin(VisibleOnAncestorMixin(LitElement)))) {
|
18
|
+
class ButtonIcon extends SlottedIconMixin(PropertyRequiredMixin(ThemeMixin(ButtonMixin(VisibleOnAncestorMixin(LitElement))))) {
|
18
19
|
|
19
20
|
static get properties() {
|
20
21
|
return {
|
@@ -30,18 +31,6 @@ class ButtonIcon extends PropertyRequiredMixin(ThemeMixin(ButtonMixin(VisibleOnA
|
|
30
31
|
*/
|
31
32
|
hAlign: { type: String, reflect: true, attribute: 'h-align' },
|
32
33
|
|
33
|
-
/**
|
34
|
-
* REQUIRED: Preset icon key (e.g. "tier1:gear")
|
35
|
-
* @type {string}
|
36
|
-
*/
|
37
|
-
icon: {
|
38
|
-
type: String,
|
39
|
-
reflect: true,
|
40
|
-
required: {
|
41
|
-
validator: (_value, elem, hasValue) => hasValue || elem._hasCustomIcon
|
42
|
-
}
|
43
|
-
},
|
44
|
-
|
45
34
|
/**
|
46
35
|
* ACCESSIBILITY: REQUIRED: Accessible text for the button
|
47
36
|
* @type {string}
|
@@ -57,7 +46,7 @@ class ButtonIcon extends PropertyRequiredMixin(ThemeMixin(ButtonMixin(VisibleOnA
|
|
57
46
|
}
|
58
47
|
|
59
48
|
static get styles() {
|
60
|
-
return [ buttonStyles, visibleOnAncestorStyles,
|
49
|
+
return [super.styles, buttonStyles, visibleOnAncestorStyles,
|
61
50
|
css`
|
62
51
|
:host {
|
63
52
|
--d2l-button-icon-background-color: transparent;
|
@@ -118,18 +107,9 @@ class ButtonIcon extends PropertyRequiredMixin(ThemeMixin(ButtonMixin(VisibleOnA
|
|
118
107
|
background-color: var(--d2l-button-icon-background-color-hover);
|
119
108
|
}
|
120
109
|
|
121
|
-
slot[name="icon"]::slotted(*) {
|
122
|
-
display: none;
|
123
|
-
}
|
124
|
-
slot[name="icon"]::slotted(d2l-icon-custom) {
|
125
|
-
display: inline-flex;
|
126
|
-
}
|
127
|
-
|
128
110
|
d2l-icon,
|
129
111
|
slot[name="icon"]::slotted(d2l-icon-custom) {
|
130
112
|
color: var(--d2l-button-icon-fill-color, var(--d2l-color-tungsten));
|
131
|
-
height: 0.9rem;
|
132
|
-
width: 0.9rem;
|
133
113
|
}
|
134
114
|
|
135
115
|
:host([translucent]) button {
|
@@ -162,12 +142,10 @@ class ButtonIcon extends PropertyRequiredMixin(ThemeMixin(ButtonMixin(VisibleOnA
|
|
162
142
|
this._buttonId = getUniqueId();
|
163
143
|
/** @internal */
|
164
144
|
this._describedById = getUniqueId();
|
165
|
-
|
166
|
-
this._hasCustomIcon = false;
|
145
|
+
this._iconRequired = true;
|
167
146
|
}
|
168
147
|
|
169
148
|
render() {
|
170
|
-
const icon = this.icon ? html`<d2l-icon icon="${this.icon}"></d2l-icon>` : nothing;
|
171
149
|
return html`
|
172
150
|
<button
|
173
151
|
aria-describedby="${ifDefined(this.description ? this._describedById : undefined)}"
|
@@ -187,19 +165,13 @@ class ButtonIcon extends PropertyRequiredMixin(ThemeMixin(ButtonMixin(VisibleOnA
|
|
187
165
|
name="${ifDefined(this.name)}"
|
188
166
|
title="${ifDefined(this.text)}"
|
189
167
|
type="${this._getType()}">
|
190
|
-
|
168
|
+
${this._renderIcon()}
|
191
169
|
</button>
|
192
170
|
${this.description ? html`<span id="${this._describedById}" hidden>${this.description}</span>` : null}
|
193
171
|
${this.disabled && this.disabledTooltip ? html`<d2l-tooltip for="${this._buttonId}">${this.disabledTooltip}</d2l-tooltip>` : ''}
|
194
172
|
`;
|
195
173
|
}
|
196
174
|
|
197
|
-
_handleSlotChange(e) {
|
198
|
-
this._hasCustomIcon = e.target.assignedNodes().find(
|
199
|
-
node => node.nodeType === 1 && node.tagName.toLowerCase() === 'd2l-icon-custom'
|
200
|
-
) !== undefined;
|
201
|
-
}
|
202
|
-
|
203
175
|
}
|
204
176
|
|
205
177
|
customElements.define('d2l-button-icon', ButtonIcon);
|
@@ -1,19 +1,20 @@
|
|
1
1
|
import '../icons/icon.js';
|
2
2
|
import '../tooltip/tooltip.js';
|
3
|
-
import { css, html, LitElement
|
3
|
+
import { css, html, LitElement } from 'lit';
|
4
4
|
import { ButtonMixin } from './button-mixin.js';
|
5
5
|
import { buttonStyles } from './button-styles.js';
|
6
6
|
import { classMap } from 'lit/directives/class-map.js';
|
7
7
|
import { getUniqueId } from '../../helpers/uniqueId.js';
|
8
8
|
import { ifDefined } from 'lit/directives/if-defined.js';
|
9
9
|
import { labelStyles } from '../typography/styles.js';
|
10
|
+
import { SlottedIconMixin } from '../icons/slotted-icon-mixin.js';
|
10
11
|
|
11
12
|
/**
|
12
13
|
* A button component that can be used just like the native button, but for advanced or de-emphasized actions.
|
13
14
|
* @slot - Default content placed inside of the button
|
14
15
|
* @slot icon - Optional slot for a custom icon
|
15
16
|
*/
|
16
|
-
class ButtonSubtle extends ButtonMixin(LitElement) {
|
17
|
+
class ButtonSubtle extends SlottedIconMixin(ButtonMixin(LitElement)) {
|
17
18
|
|
18
19
|
static get properties() {
|
19
20
|
return {
|
@@ -29,12 +30,6 @@ class ButtonSubtle extends ButtonMixin(LitElement) {
|
|
29
30
|
*/
|
30
31
|
hAlign: { type: String, reflect: true, attribute: 'h-align' },
|
31
32
|
|
32
|
-
/**
|
33
|
-
* Preset icon key (e.g. "tier1:gear")
|
34
|
-
* @type {string}
|
35
|
-
*/
|
36
|
-
icon: { type: String, reflect: true },
|
37
|
-
|
38
33
|
/**
|
39
34
|
* Indicates that the icon should be rendered on right
|
40
35
|
* @type {boolean}
|
@@ -51,13 +46,12 @@ class ButtonSubtle extends ButtonMixin(LitElement) {
|
|
51
46
|
* ACCESSIBILITY: REQUIRED: Text for the button
|
52
47
|
* @type {string}
|
53
48
|
*/
|
54
|
-
text: { type: String, reflect: true }
|
55
|
-
_hasCustomIcon: { state: true }
|
49
|
+
text: { type: String, reflect: true }
|
56
50
|
};
|
57
51
|
}
|
58
52
|
|
59
53
|
static get styles() {
|
60
|
-
return [ labelStyles, buttonStyles,
|
54
|
+
return [super.styles, labelStyles, buttonStyles,
|
61
55
|
css`
|
62
56
|
:host {
|
63
57
|
--d2l-count-badge-background-color: var(--d2l-color-celestine);
|
@@ -72,8 +66,11 @@ class ButtonSubtle extends ButtonMixin(LitElement) {
|
|
72
66
|
button {
|
73
67
|
--d2l-button-subtle-padding-inline-start: 0.6rem;
|
74
68
|
--d2l-button-subtle-padding-inline-end: 0.6rem;
|
69
|
+
align-items: center;
|
75
70
|
background-color: transparent;
|
76
71
|
border-color: transparent;
|
72
|
+
column-gap: 0.3rem;
|
73
|
+
display: inline-flex;
|
77
74
|
font-family: inherit;
|
78
75
|
padding-block-end: 0;
|
79
76
|
padding-block-start: 0;
|
@@ -138,42 +135,23 @@ class ButtonSubtle extends ButtonMixin(LitElement) {
|
|
138
135
|
--d2l-count-badge-background-color: var(--d2l-color-celestine-minus-1);
|
139
136
|
}
|
140
137
|
|
141
|
-
|
142
|
-
.d2l-button-subtle-has-icon .d2l-button-subtle-content-wrapper {
|
143
|
-
padding-inline: 1.2rem 0;
|
144
|
-
}
|
145
|
-
|
146
|
-
:host([icon-right]) .d2l-button-subtle-has-icon .d2l-button-subtle-content-wrapper {
|
147
|
-
padding-inline: 0 1.2rem;
|
148
|
-
}
|
149
|
-
|
150
|
-
slot[name="icon"]::slotted(*) {
|
151
|
-
display: none;
|
152
|
-
}
|
153
|
-
|
154
|
-
d2l-icon.d2l-button-subtle-icon,
|
138
|
+
.property-icon,
|
155
139
|
slot[name="icon"]::slotted(d2l-icon-custom) {
|
156
140
|
color: var(--d2l-color-celestine);
|
157
|
-
display: inline-block;
|
158
|
-
height: 0.9rem;
|
159
|
-
position: absolute;
|
160
|
-
top: 50%;
|
161
|
-
transform: translateY(-50%);
|
162
|
-
width: 0.9rem;
|
163
141
|
}
|
164
142
|
|
165
|
-
button:hover:not([disabled])
|
166
|
-
button:focus:not([disabled])
|
167
|
-
:host([active]:not([disabled])) button
|
143
|
+
button:hover:not([disabled]) .property-icon,
|
144
|
+
button:focus:not([disabled]) .property-icon,
|
145
|
+
:host([active]:not([disabled])) button .property-icon,
|
168
146
|
button:hover:not([disabled]) slot[name="icon"]::slotted(d2l-icon-custom),
|
169
147
|
button:focus:not([disabled]) slot[name="icon"]::slotted(d2l-icon-custom),
|
170
148
|
:host([active]:not([disabled])) slot[name="icon"]::slotted(d2l-icon-custom) {
|
171
149
|
color: var(--d2l-color-celestine-minus-1);
|
172
150
|
}
|
173
151
|
|
174
|
-
:host([icon-right]) .
|
152
|
+
:host([icon-right]) .property-icon,
|
175
153
|
:host([icon-right]) slot[name="icon"]::slotted(d2l-icon-custom) {
|
176
|
-
|
154
|
+
order: 1;
|
177
155
|
}
|
178
156
|
|
179
157
|
:host([disabled]) button {
|
@@ -191,13 +169,11 @@ class ButtonSubtle extends ButtonMixin(LitElement) {
|
|
191
169
|
|
192
170
|
this._buttonId = getUniqueId();
|
193
171
|
this._describedById = getUniqueId();
|
194
|
-
this._hasCustomIcon = false;
|
195
172
|
}
|
196
173
|
|
197
174
|
render() {
|
198
|
-
const icon = this.icon ? html`<d2l-icon icon="${this.icon}" class="d2l-button-subtle-icon"></d2l-icon>` : nothing;
|
199
175
|
const buttonClasses = {
|
200
|
-
'd2l-button-subtle-has-icon': this.
|
176
|
+
'd2l-button-subtle-has-icon': this.hasIcon(),
|
201
177
|
'd2l-label-text': true
|
202
178
|
};
|
203
179
|
return html`
|
@@ -219,7 +195,7 @@ class ButtonSubtle extends ButtonMixin(LitElement) {
|
|
219
195
|
id="${this._buttonId}"
|
220
196
|
name="${ifDefined(this.name)}"
|
221
197
|
type="${this._getType()}">
|
222
|
-
|
198
|
+
${this._renderIcon()}
|
223
199
|
<span class="d2l-button-subtle-content-wrapper">
|
224
200
|
<span class="d2l-button-subtle-content">${this.text}</span>
|
225
201
|
<slot></slot>
|
@@ -230,13 +206,6 @@ class ButtonSubtle extends ButtonMixin(LitElement) {
|
|
230
206
|
`;
|
231
207
|
}
|
232
208
|
|
233
|
-
_handleIconSlotChange(e) {
|
234
|
-
const icon = e && e.target && e.target.assignedNodes({ flatten: true }).filter((node) => {
|
235
|
-
return node.nodeType === Node.ELEMENT_NODE && node.tagName === 'D2L-ICON-CUSTOM';
|
236
|
-
});
|
237
|
-
this._hasCustomIcon = icon.length === 1;
|
238
|
-
}
|
239
|
-
|
240
209
|
}
|
241
210
|
|
242
211
|
customElements.define('d2l-button-subtle', ButtonSubtle);
|
@@ -0,0 +1,64 @@
|
|
1
|
+
import '../icons/icon.js';
|
2
|
+
import { css, html, nothing } from 'lit';
|
3
|
+
|
4
|
+
export const SlottedIconMixin = superclass => class extends superclass {
|
5
|
+
|
6
|
+
static get properties() {
|
7
|
+
return {
|
8
|
+
|
9
|
+
/**
|
10
|
+
* Preset icon key (e.g. "tier1:gear")
|
11
|
+
* @type {string}
|
12
|
+
*/
|
13
|
+
icon: {
|
14
|
+
type: String,
|
15
|
+
reflect: true,
|
16
|
+
required: {
|
17
|
+
validator: (_value, elem, hasValue) => hasValue || elem._hasCustomIcon || !elem._iconRequired
|
18
|
+
}
|
19
|
+
},
|
20
|
+
_hasCustomIcon: { state: true }
|
21
|
+
};
|
22
|
+
}
|
23
|
+
|
24
|
+
static get styles() {
|
25
|
+
const styles = [ css`
|
26
|
+
slot[name="icon"]::slotted(*) {
|
27
|
+
display: none;
|
28
|
+
}
|
29
|
+
slot[name="icon"]::slotted(d2l-icon-custom) {
|
30
|
+
display: inline-flex;
|
31
|
+
}
|
32
|
+
|
33
|
+
d2l-icon.property-icon,
|
34
|
+
slot[name="icon"]::slotted(d2l-icon-custom) {
|
35
|
+
height: 0.9rem;
|
36
|
+
width: 0.9rem;
|
37
|
+
}
|
38
|
+
`];
|
39
|
+
|
40
|
+
super.styles && styles.unshift(super.styles);
|
41
|
+
return styles;
|
42
|
+
}
|
43
|
+
|
44
|
+
constructor() {
|
45
|
+
super();
|
46
|
+
/** @internal */
|
47
|
+
this._hasCustomIcon = false;
|
48
|
+
this._iconRequired = false;
|
49
|
+
}
|
50
|
+
|
51
|
+
hasIcon() {
|
52
|
+
return !!(this.icon || this._hasCustomIcon);
|
53
|
+
}
|
54
|
+
|
55
|
+
_renderIcon() {
|
56
|
+
const icon = this.icon ? html`<d2l-icon icon="${this.icon}" class="property-icon"></d2l-icon>` : nothing;
|
57
|
+
return html`<slot name="icon" @slotchange="${this.#handleIconSlotChange}">${icon}</slot>`;
|
58
|
+
}
|
59
|
+
|
60
|
+
#handleIconSlotChange(e) {
|
61
|
+
const icon = e.target.assignedElements({ flatten: true }).filter((node) => node.tagName === 'D2L-ICON-CUSTOM');
|
62
|
+
this._hasCustomIcon = icon.length === 1;
|
63
|
+
}
|
64
|
+
};
|
@@ -9,6 +9,7 @@
|
|
9
9
|
import '../../button/button.js';
|
10
10
|
import '../../colors/colors.js';
|
11
11
|
import '../../demo/demo-page.js';
|
12
|
+
import '../../icons/icon-custom.js';
|
12
13
|
import '../../inputs/input-text.js';
|
13
14
|
import '../../link/link.js';
|
14
15
|
import '../tooltip.js';
|
@@ -199,6 +200,22 @@
|
|
199
200
|
This is some sample text.
|
200
201
|
<d2l-tooltip-help text="Helpful label" inherit-font-style>Contents should elaborate on the label (be short and concise)</d2l-tooltip-help>
|
201
202
|
</p>
|
203
|
+
<p class="d2l-body-compact">
|
204
|
+
Using an icon.
|
205
|
+
<d2l-tooltip-help icon="tier1:edit" text="Helpful label" inherit-font-style>Contents should elaborate on the label (be short and concise)</d2l-tooltip-help>
|
206
|
+
</p>
|
207
|
+
<p class="d2l-body-compact">
|
208
|
+
Using a custom icon.
|
209
|
+
<d2l-tooltip-help text="Helpful label" inherit-font-style>
|
210
|
+
Contents should elaborate on the label (be short and concise)
|
211
|
+
<d2l-icon-custom slot="icon">
|
212
|
+
<svg xmlns="http://www.w3.org/2000/svg" mirror-in-rtl="true">
|
213
|
+
<path fill="#494c4e" d="M18 12v5a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1v-5a1 1 0 0 1 2 0v4h14v-4a1 1 0 0 1 2 0z"/>
|
214
|
+
<path fill="#494c4e" d="M13.85 3.15l-2.99-3A.507.507 0 0 0 10.5 0H5.4A1.417 1.417 0 0 0 4 1.43v11.14A1.417 1.417 0 0 0 5.4 14h7.2a1.417 1.417 0 0 0 1.4-1.43V3.5a.47.47 0 0 0-.15-.35zM7 2h1a1 1 0 0 1 0 2H7a1 1 0 0 1 0-2zm4 10H7a1 1 0 0 1 0-2h4a1 1 0 0 1 0 2zm0-4H7a1 1 0 0 1 0-2h4a1 1 0 0 1 0 2z"/>
|
215
|
+
</svg>
|
216
|
+
</d2l-icon-custom>
|
217
|
+
</d2l-tooltip-help>
|
218
|
+
</p>
|
202
219
|
</template>
|
203
220
|
</d2l-demo-snippet>
|
204
221
|
|
@@ -7,12 +7,13 @@ import { FocusMixin } from '../../mixins/focus/focus-mixin.js';
|
|
7
7
|
import { getFocusPseudoClass } from '../../helpers/focus.js';
|
8
8
|
import { ifDefined } from 'lit/directives/if-defined.js';
|
9
9
|
import { SkeletonMixin } from '../skeleton/skeleton-mixin.js';
|
10
|
+
import { SlottedIconMixin } from '../icons/slotted-icon-mixin.js';
|
10
11
|
|
11
12
|
/**
|
12
13
|
* A component used to display additional information when users focus or hover over some text.
|
13
14
|
* @slot - Default content placed inside of the tooltip
|
14
15
|
*/
|
15
|
-
class TooltipHelp extends SkeletonMixin(FocusMixin(LitElement)) {
|
16
|
+
class TooltipHelp extends SlottedIconMixin(SkeletonMixin(FocusMixin(LitElement))) {
|
16
17
|
|
17
18
|
static get properties() {
|
18
19
|
return {
|
@@ -47,9 +48,12 @@ class TooltipHelp extends SkeletonMixin(FocusMixin(LitElement)) {
|
|
47
48
|
display: none;
|
48
49
|
}
|
49
50
|
#d2l-tooltip-help-text {
|
51
|
+
align-items: baseline;
|
50
52
|
background: none;
|
51
53
|
border: none;
|
54
|
+
column-gap: 0.3rem;
|
52
55
|
cursor: inherit;
|
56
|
+
display: inline-flex;
|
53
57
|
font-family: inherit;
|
54
58
|
padding: 0;
|
55
59
|
text-decoration-line: underline;
|
@@ -57,6 +61,11 @@ class TooltipHelp extends SkeletonMixin(FocusMixin(LitElement)) {
|
|
57
61
|
text-decoration-thickness: 1px;
|
58
62
|
text-underline-offset: 0.1rem;
|
59
63
|
}
|
64
|
+
d2l-icon,
|
65
|
+
slot[name="icon"]::slotted(d2l-icon-custom) {
|
66
|
+
align-self: center;
|
67
|
+
}
|
68
|
+
|
60
69
|
#d2l-tooltip-help-text:focus {
|
61
70
|
outline-style: none;
|
62
71
|
}
|
@@ -109,6 +118,7 @@ class TooltipHelp extends SkeletonMixin(FocusMixin(LitElement)) {
|
|
109
118
|
};
|
110
119
|
return html`
|
111
120
|
<button id="d2l-tooltip-help-text" class="${classMap(classes)}" type="button">
|
121
|
+
${this._renderIcon()}
|
112
122
|
${this.text}
|
113
123
|
</button>
|
114
124
|
${!this.skeleton ? html`
|
package/custom-elements.json
CHANGED
@@ -410,11 +410,6 @@
|
|
410
410
|
"description": "Aligns the leading edge of text if value is set to \"text\" for left-aligned layouts, the trailing edge of text if value is set to \"text-end\" for right-aligned layouts",
|
411
411
|
"type": "'text'|'text-end'|''"
|
412
412
|
},
|
413
|
-
{
|
414
|
-
"name": "icon",
|
415
|
-
"description": "REQUIRED: Preset icon key (e.g. \"tier1:gear\")",
|
416
|
-
"type": "string"
|
417
|
-
},
|
418
413
|
{
|
419
414
|
"name": "text",
|
420
415
|
"description": "ACCESSIBILITY: REQUIRED: Accessible text for the button",
|
@@ -426,6 +421,11 @@
|
|
426
421
|
"type": "boolean",
|
427
422
|
"default": "false"
|
428
423
|
},
|
424
|
+
{
|
425
|
+
"name": "icon",
|
426
|
+
"description": "Preset icon key (e.g. \"tier1:gear\")",
|
427
|
+
"type": "string"
|
428
|
+
},
|
429
429
|
{
|
430
430
|
"name": "expanded",
|
431
431
|
"description": "Wether the controlled element is expanded. Replaces 'aria-expanded'",
|
@@ -456,12 +456,6 @@
|
|
456
456
|
"description": "Aligns the leading edge of text if value is set to \"text\" for left-aligned layouts, the trailing edge of text if value is set to \"text-end\" for right-aligned layouts",
|
457
457
|
"type": "'text'|'text-end'|''"
|
458
458
|
},
|
459
|
-
{
|
460
|
-
"name": "icon",
|
461
|
-
"attribute": "icon",
|
462
|
-
"description": "REQUIRED: Preset icon key (e.g. \"tier1:gear\")",
|
463
|
-
"type": "string"
|
464
|
-
},
|
465
459
|
{
|
466
460
|
"name": "text",
|
467
461
|
"attribute": "text",
|
@@ -475,6 +469,12 @@
|
|
475
469
|
"type": "boolean",
|
476
470
|
"default": "false"
|
477
471
|
},
|
472
|
+
{
|
473
|
+
"name": "icon",
|
474
|
+
"attribute": "icon",
|
475
|
+
"description": "Preset icon key (e.g. \"tier1:gear\")",
|
476
|
+
"type": "string"
|
477
|
+
},
|
478
478
|
{
|
479
479
|
"name": "expanded",
|
480
480
|
"attribute": "expanded",
|
@@ -797,11 +797,6 @@
|
|
797
797
|
"description": "Aligns the leading edge of text if value is set to \"text\" for left-aligned layouts, the trailing edge of text if value is set to \"text-end\" for right-aligned layouts",
|
798
798
|
"type": "'text'|'text-end'|''"
|
799
799
|
},
|
800
|
-
{
|
801
|
-
"name": "icon",
|
802
|
-
"description": "Preset icon key (e.g. \"tier1:gear\")",
|
803
|
-
"type": "string"
|
804
|
-
},
|
805
800
|
{
|
806
801
|
"name": "text",
|
807
802
|
"description": "ACCESSIBILITY: REQUIRED: Text for the button",
|
@@ -819,6 +814,11 @@
|
|
819
814
|
"type": "boolean",
|
820
815
|
"default": "false"
|
821
816
|
},
|
817
|
+
{
|
818
|
+
"name": "icon",
|
819
|
+
"description": "Preset icon key (e.g. \"tier1:gear\")",
|
820
|
+
"type": "string"
|
821
|
+
},
|
822
822
|
{
|
823
823
|
"name": "expanded",
|
824
824
|
"description": "Wether the controlled element is expanded. Replaces 'aria-expanded'",
|
@@ -849,12 +849,6 @@
|
|
849
849
|
"description": "Aligns the leading edge of text if value is set to \"text\" for left-aligned layouts, the trailing edge of text if value is set to \"text-end\" for right-aligned layouts",
|
850
850
|
"type": "'text'|'text-end'|''"
|
851
851
|
},
|
852
|
-
{
|
853
|
-
"name": "icon",
|
854
|
-
"attribute": "icon",
|
855
|
-
"description": "Preset icon key (e.g. \"tier1:gear\")",
|
856
|
-
"type": "string"
|
857
|
-
},
|
858
852
|
{
|
859
853
|
"name": "text",
|
860
854
|
"attribute": "text",
|
@@ -875,6 +869,12 @@
|
|
875
869
|
"type": "boolean",
|
876
870
|
"default": "false"
|
877
871
|
},
|
872
|
+
{
|
873
|
+
"name": "icon",
|
874
|
+
"attribute": "icon",
|
875
|
+
"description": "Preset icon key (e.g. \"tier1:gear\")",
|
876
|
+
"type": "string"
|
877
|
+
},
|
878
878
|
{
|
879
879
|
"name": "expanded",
|
880
880
|
"attribute": "expanded",
|
@@ -14068,6 +14068,11 @@
|
|
14068
14068
|
"type": "boolean",
|
14069
14069
|
"default": "false"
|
14070
14070
|
},
|
14071
|
+
{
|
14072
|
+
"name": "icon",
|
14073
|
+
"description": "Preset icon key (e.g. \"tier1:gear\")",
|
14074
|
+
"type": "string"
|
14075
|
+
},
|
14071
14076
|
{
|
14072
14077
|
"name": "skeleton",
|
14073
14078
|
"description": "Render the component as a [skeleton loader](https://github.com/BrightspaceUI/core/tree/main/components/skeleton).",
|
@@ -14099,6 +14104,12 @@
|
|
14099
14104
|
"type": "boolean",
|
14100
14105
|
"default": "false"
|
14101
14106
|
},
|
14107
|
+
{
|
14108
|
+
"name": "icon",
|
14109
|
+
"attribute": "icon",
|
14110
|
+
"description": "Preset icon key (e.g. \"tier1:gear\")",
|
14111
|
+
"type": "string"
|
14112
|
+
},
|
14102
14113
|
{
|
14103
14114
|
"name": "skeleton",
|
14104
14115
|
"attribute": "skeleton",
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@brightspace-ui/core",
|
3
|
-
"version": "3.
|
3
|
+
"version": "3.136.0",
|
4
4
|
"description": "A collection of accessible, free, open-source web components for building Brightspace applications",
|
5
5
|
"type": "module",
|
6
6
|
"repository": "https://github.com/BrightspaceUI/core.git",
|