vira 31.31.7 → 32.0.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/dist/elements/color/vira-all-color-space-sliders.element.d.ts +11 -0
- package/dist/elements/color/vira-all-color-space-sliders.element.js +55 -0
- package/dist/elements/color/vira-all-spaces-color-picker.element.d.ts +15 -0
- package/dist/elements/color/vira-all-spaces-color-picker.element.js +73 -0
- package/dist/elements/color/vira-color-details.element.d.ts +14 -0
- package/dist/elements/color/vira-color-details.element.js +153 -0
- package/dist/elements/color/vira-color-format-sliders.element.d.ts +14 -0
- package/dist/elements/color/vira-color-format-sliders.element.js +60 -0
- package/dist/elements/color/vira-color-pair-contrast-summary.element.d.ts +9 -0
- package/dist/elements/color/vira-color-pair-contrast-summary.element.js +308 -0
- package/dist/elements/color/vira-color-pair.element.d.ts +17 -0
- package/dist/elements/color/vira-color-pair.element.js +201 -0
- package/dist/elements/color/vira-color-picker.element.d.ts +20 -0
- package/dist/elements/color/vira-color-picker.element.js +278 -0
- package/dist/elements/color/vira-color-slider.element.d.ts +14 -0
- package/dist/elements/color/vira-color-slider.element.js +124 -0
- package/dist/elements/color/vira-color-swatch.element.d.ts +20 -0
- package/dist/elements/color/vira-color-swatch.element.js +48 -0
- package/dist/elements/color/vira-contrast-indicator.element.d.ts +10 -0
- package/dist/elements/color/vira-contrast-indicator.element.js +96 -0
- package/dist/elements/index.d.ts +10 -0
- package/dist/elements/index.js +10 -0
- package/dist/elements/pop-up/vira-menu-item.element.d.ts +1 -1
- package/dist/elements/pop-up/vira-menu-item.element.js +20 -8
- package/dist/elements/pop-up/vira-menu-trigger.element.d.ts +1 -1
- package/dist/elements/pop-up/vira-menu-trigger.element.js +3 -1
- package/dist/elements/pop-up/vira-menu.element.js +10 -4
- package/dist/elements/pop-up/vira-pop-up-trigger.element.d.ts +3 -3
- package/dist/elements/pop-up/vira-pop-up-trigger.element.js +24 -10
- package/dist/elements/vira-bold-text.element.js +4 -2
- package/dist/elements/vira-button.element.d.ts +1 -8
- package/dist/elements/vira-button.element.js +28 -37
- package/dist/elements/vira-card.element.js +7 -3
- package/dist/elements/vira-checkbox.element.d.ts +1 -1
- package/dist/elements/vira-checkbox.element.js +13 -5
- package/dist/elements/vira-collapsible-card.element.d.ts +1 -1
- package/dist/elements/vira-collapsible-card.element.js +13 -5
- package/dist/elements/vira-collapsible-wrapper.element.d.ts +1 -1
- package/dist/elements/vira-collapsible-wrapper.element.js +7 -3
- package/dist/elements/vira-date-input.element.d.ts +1 -1
- package/dist/elements/vira-date-input.element.js +10 -4
- package/dist/elements/vira-drawer.element.d.ts +1 -1
- package/dist/elements/vira-drawer.element.js +14 -6
- package/dist/elements/vira-dropdown.element.d.ts +2 -8
- package/dist/elements/vira-dropdown.element.js +6 -10
- package/dist/elements/vira-error.element.js +1 -1
- package/dist/elements/vira-form.element.d.ts +2 -2
- package/dist/elements/vira-form.element.js +36 -22
- package/dist/elements/vira-icon.element.js +4 -2
- package/dist/elements/vira-image.element.d.ts +2 -2
- package/dist/elements/vira-image.element.js +7 -3
- package/dist/elements/vira-input.element.d.ts +2 -2
- package/dist/elements/vira-input.element.js +23 -9
- package/dist/elements/vira-json-form.element.d.ts +1 -1
- package/dist/elements/vira-json-form.element.js +18 -8
- package/dist/elements/vira-link.element.js +5 -3
- package/dist/elements/vira-modal.element.d.ts +1 -1
- package/dist/elements/vira-modal.element.js +14 -6
- package/dist/elements/vira-progress.element.js +1 -1
- package/dist/elements/vira-select.element.d.ts +1 -1
- package/dist/elements/vira-select.element.js +20 -8
- package/dist/elements/vira-tabs.element.d.ts +2 -2
- package/dist/elements/vira-tabs.element.js +35 -21
- package/dist/elements/vira-tag.element.d.ts +3 -3
- package/dist/elements/vira-tag.element.js +46 -18
- package/dist/elements/vira-text-area.element.d.ts +2 -2
- package/dist/elements/vira-text-area.element.js +16 -6
- package/dist/util/color-local-storage.client.d.ts +4 -0
- package/dist/util/color-local-storage.client.js +6 -0
- package/dist/util/define-vira-element.js +1 -1
- package/dist/util/vira-json-schema.js +9 -9
- package/package.json +11 -11
- package/dist/icons/icon-color.test-helper.d.ts +0 -6
- package/dist/icons/icon-color.test-helper.js +0 -9
|
@@ -29,11 +29,21 @@ export const ViraMenuItem = defineViraElement()({
|
|
|
29
29
|
activate: defineElementEvent(),
|
|
30
30
|
},
|
|
31
31
|
hostClasses: {
|
|
32
|
-
'vira-menu-item-selected'
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
'vira-menu-item-
|
|
36
|
-
|
|
32
|
+
'vira-menu-item-selected'({ inputs }) {
|
|
33
|
+
return !!inputs.selected || !!inputs.iconOverride;
|
|
34
|
+
},
|
|
35
|
+
'vira-menu-item-disabled'({ inputs }) {
|
|
36
|
+
return !!inputs.disabled;
|
|
37
|
+
},
|
|
38
|
+
'vira-menu-item-enabled'({ inputs }) {
|
|
39
|
+
return !inputs.disabled;
|
|
40
|
+
},
|
|
41
|
+
'vira-menu-item-default-icon'({ inputs }) {
|
|
42
|
+
return !inputs.iconOverride;
|
|
43
|
+
},
|
|
44
|
+
'vira-menu-item-default-styles'({ inputs }) {
|
|
45
|
+
return !inputs.disablePointerStyles;
|
|
46
|
+
},
|
|
37
47
|
},
|
|
38
48
|
cssVars: {
|
|
39
49
|
/** Horizontal gap between a menu item's icon and its label. */
|
|
@@ -41,7 +51,7 @@ export const ViraMenuItem = defineViraElement()({
|
|
|
41
51
|
'vira-menu-item-padding': '6px 8px',
|
|
42
52
|
'vira-menu-item-border-radius': '4px',
|
|
43
53
|
},
|
|
44
|
-
styles
|
|
54
|
+
styles({ hostClasses, cssVars }) {
|
|
45
55
|
return css `
|
|
46
56
|
:host {
|
|
47
57
|
display: flex;
|
|
@@ -182,7 +192,9 @@ export const ViraMenuItem = defineViraElement()({
|
|
|
182
192
|
inputs.keepOpenAfterInteraction) {
|
|
183
193
|
return;
|
|
184
194
|
}
|
|
185
|
-
dispatch(new events.activate(
|
|
195
|
+
dispatch(new events.activate({
|
|
196
|
+
detail: undefined,
|
|
197
|
+
}));
|
|
186
198
|
}, {
|
|
187
199
|
capture: true,
|
|
188
200
|
}),
|
|
@@ -198,7 +210,7 @@ export const ViraMenuItem = defineViraElement()({
|
|
|
198
210
|
}),
|
|
199
211
|
];
|
|
200
212
|
updateState({
|
|
201
|
-
cleanupListeners
|
|
213
|
+
cleanupListeners() {
|
|
202
214
|
listenerRemovers.forEach((remover) => remover());
|
|
203
215
|
},
|
|
204
216
|
});
|
|
@@ -41,5 +41,5 @@ export declare const ViraMenuTrigger: import("element-vir").DeclarativeElementDe
|
|
|
41
41
|
/** `undefined` means the pop up is not currently showing. */
|
|
42
42
|
showPopUpResult: ShowPopUpResult | undefined;
|
|
43
43
|
}, {
|
|
44
|
-
openChange: import("element-vir").
|
|
44
|
+
openChange: import("element-vir").DefineElementEvent<ShowPopUpResult | undefined>;
|
|
45
45
|
}, `vira-${string}-`, `vira-${string}-`, readonly ["vira-menu-trigger-trigger"], readonly []>;
|
|
@@ -64,7 +64,9 @@ export const ViraMenuTrigger = defineViraElement()({
|
|
|
64
64
|
})}
|
|
65
65
|
${listen(ViraPopUpTrigger.events.openChange, (event) => {
|
|
66
66
|
if (!!state.showPopUpResult !== !!event.detail) {
|
|
67
|
-
dispatch(new events.openChange(
|
|
67
|
+
dispatch(new events.openChange({
|
|
68
|
+
detail: event.detail,
|
|
69
|
+
}));
|
|
68
70
|
}
|
|
69
71
|
updateState({
|
|
70
72
|
showPopUpResult: event.detail,
|
|
@@ -36,14 +36,20 @@ export var ViraMenuPopUpDirection;
|
|
|
36
36
|
export const ViraMenu = defineViraElement()({
|
|
37
37
|
tagName: 'vira-menu',
|
|
38
38
|
hostClasses: {
|
|
39
|
-
'vira-menu-open-upwards'
|
|
40
|
-
|
|
41
|
-
|
|
39
|
+
'vira-menu-open-upwards'({ inputs }) {
|
|
40
|
+
return inputs.direction === ViraMenuPopUpDirection.Upwards;
|
|
41
|
+
},
|
|
42
|
+
'vira-menu-rounded'({ inputs }) {
|
|
43
|
+
return inputs.cornerStyle === ViraMenuCornerStyle.AllRounded;
|
|
44
|
+
},
|
|
45
|
+
'vira-menu-square'({ inputs }) {
|
|
46
|
+
return inputs.cornerStyle === ViraMenuCornerStyle.AllSquare;
|
|
47
|
+
},
|
|
42
48
|
},
|
|
43
49
|
cssVars: {
|
|
44
50
|
'vira-menu-padding': '4px',
|
|
45
51
|
},
|
|
46
|
-
styles
|
|
52
|
+
styles({ hostClasses, cssVars }) {
|
|
47
53
|
return css `
|
|
48
54
|
:host {
|
|
49
55
|
display: flex;
|
|
@@ -96,13 +96,13 @@ export declare const ViraPopUpTrigger: import("element-vir").DeclarativeElementD
|
|
|
96
96
|
showPopUpResult: ShowPopUpResult | undefined;
|
|
97
97
|
popUpManager: PopUpManager;
|
|
98
98
|
}, {
|
|
99
|
-
navSelect: import("element-vir").
|
|
99
|
+
navSelect: import("element-vir").DefineElementEvent<Coords>;
|
|
100
100
|
/**
|
|
101
101
|
* - `undefined` indicates that the pop-up just closed.
|
|
102
102
|
* - {@link ShowPopUpResult} indicates that the pop-up just opened.
|
|
103
103
|
*/
|
|
104
|
-
openChange: import("element-vir").
|
|
105
|
-
init: import("element-vir").
|
|
104
|
+
openChange: import("element-vir").DefineElementEvent<ShowPopUpResult | undefined>;
|
|
105
|
+
init: import("element-vir").DefineElementEvent<{
|
|
106
106
|
navController: NavController;
|
|
107
107
|
popUpManager: PopUpManager;
|
|
108
108
|
}>;
|
|
@@ -58,11 +58,17 @@ export const ViraPopUpTrigger = defineViraElement()({
|
|
|
58
58
|
'vira-pop-up-trigger-pop-up',
|
|
59
59
|
],
|
|
60
60
|
hostClasses: {
|
|
61
|
-
'vira-pop-up-trigger-disabled'
|
|
62
|
-
|
|
63
|
-
|
|
61
|
+
'vira-pop-up-trigger-disabled'({ inputs }) {
|
|
62
|
+
return !!inputs.isDisabled;
|
|
63
|
+
},
|
|
64
|
+
'vira-pop-up-trigger-inside-focus'({ inputs }) {
|
|
65
|
+
return !!inputs.useInsideFocus;
|
|
66
|
+
},
|
|
67
|
+
'vira-pop-up-trigger-outside-focus'({ inputs }) {
|
|
68
|
+
return !inputs.useInsideFocus;
|
|
69
|
+
},
|
|
64
70
|
},
|
|
65
|
-
styles
|
|
71
|
+
styles({ hostClasses }) {
|
|
66
72
|
return css `
|
|
67
73
|
:host {
|
|
68
74
|
display: inline-flex;
|
|
@@ -151,7 +157,9 @@ export const ViraPopUpTrigger = defineViraElement()({
|
|
|
151
157
|
updateState({
|
|
152
158
|
showPopUpResult: undefined,
|
|
153
159
|
});
|
|
154
|
-
dispatch(new events.openChange(
|
|
160
|
+
dispatch(new events.openChange({
|
|
161
|
+
detail: undefined,
|
|
162
|
+
}));
|
|
155
163
|
if (inputs.focusOnClose && !inputs.isDisabled) {
|
|
156
164
|
const dropdownWrapper = host.shadowRoot.querySelector('.dropdown-wrapper');
|
|
157
165
|
assert.instanceOf(dropdownWrapper, HTMLButtonElement, 'failed to find dropdown wrapper child');
|
|
@@ -171,11 +179,15 @@ export const ViraPopUpTrigger = defineViraElement()({
|
|
|
171
179
|
popUpManager: state.popUpManager,
|
|
172
180
|
});
|
|
173
181
|
}
|
|
174
|
-
dispatch(new events.navSelect(
|
|
182
|
+
dispatch(new events.navSelect({
|
|
183
|
+
detail: event.detail,
|
|
184
|
+
}));
|
|
175
185
|
});
|
|
176
186
|
dispatch(new events.init({
|
|
177
|
-
|
|
178
|
-
|
|
187
|
+
detail: {
|
|
188
|
+
navController: state.popUpManager.navController,
|
|
189
|
+
popUpManager: state.popUpManager,
|
|
190
|
+
},
|
|
179
191
|
}));
|
|
180
192
|
},
|
|
181
193
|
render({ dispatch, events, state, inputs, updateState, host, slotNames }) {
|
|
@@ -197,7 +209,9 @@ export const ViraPopUpTrigger = defineViraElement()({
|
|
|
197
209
|
showPopUpResult,
|
|
198
210
|
});
|
|
199
211
|
if (emitEvent) {
|
|
200
|
-
dispatch(new events.openChange(
|
|
212
|
+
dispatch(new events.openChange({
|
|
213
|
+
detail: showPopUpResult,
|
|
214
|
+
}));
|
|
201
215
|
}
|
|
202
216
|
},
|
|
203
217
|
host,
|
|
@@ -229,7 +243,7 @@ export const ViraPopUpTrigger = defineViraElement()({
|
|
|
229
243
|
* showPopUpResult to determine whether to anchor left or right.
|
|
230
244
|
*/
|
|
231
245
|
const effectiveHorizontalAnchor = inputs.horizontalAnchor === HorizontalAnchor.Auto ||
|
|
232
|
-
inputs.horizontalAnchor
|
|
246
|
+
inputs.horizontalAnchor == undefined
|
|
233
247
|
? state.showPopUpResult?.popRight
|
|
234
248
|
? HorizontalAnchor.Left
|
|
235
249
|
: HorizontalAnchor.Right
|
|
@@ -12,9 +12,11 @@ export const ViraBoldText = defineViraElement()({
|
|
|
12
12
|
'vira-bold-bold-weight': viraFontCssVars['vira-font-weight-bold'].value,
|
|
13
13
|
},
|
|
14
14
|
hostClasses: {
|
|
15
|
-
'vira-bold-bold'
|
|
15
|
+
'vira-bold-bold'({ inputs }) {
|
|
16
|
+
return inputs.bold;
|
|
17
|
+
},
|
|
16
18
|
},
|
|
17
|
-
styles
|
|
19
|
+
styles({ hostClasses, cssVars }) {
|
|
18
20
|
return css `
|
|
19
21
|
span {
|
|
20
22
|
text-decoration: inherit;
|
|
@@ -41,11 +41,4 @@ export declare const ViraButton: import("element-vir").DeclarativeElementDefinit
|
|
|
41
41
|
* @default false
|
|
42
42
|
*/
|
|
43
43
|
showIconOnRight: boolean;
|
|
44
|
-
|
|
45
|
-
* Set to `true` to append a downwards chevron after the button's text.
|
|
46
|
-
*
|
|
47
|
-
* @deprecated Set `icon` to `ChevronDown16Icon` and `showIconOnRight` to `true` instead.
|
|
48
|
-
* @default false
|
|
49
|
-
*/
|
|
50
|
-
showMenuCaret: boolean;
|
|
51
|
-
}>, {}, {}, "vira-button-with-menu-caret" | "vira-button-size-large" | "vira-button-size-medium" | "vira-button-size-small" | "vira-button-emphasis-standard" | "vira-button-emphasis-subtle" | "vira-button-color-red" | "vira-button-color-yellow" | "vira-button-color-green" | "vira-button-color-blue" | "vira-button-color-brand" | "vira-button-color-purple" | "vira-button-color-plain" | "vira-button-color-neutral" | "vira-button-color-teal" | "vira-button-color-pink" | "vira-button-color-grey" | "vira-button-disabled" | "vira-button-icon-only", "vira-button-text-color" | "vira-button-background-color" | "vira-button-border-color" | "vira-button-hover-text-color" | "vira-button-hover-background-color" | "vira-button-hover-border-color" | "vira-button-active-text-color" | "vira-button-active-background-color" | "vira-button-active-border-color" | "vira-button-disabled-text-color" | "vira-button-disabled-background-color" | "vira-button-disabled-border-color" | "vira-button-border-width" | "vira-button-border-radius", readonly [], readonly []>;
|
|
44
|
+
}>, {}, {}, "vira-button-color-red" | "vira-button-color-yellow" | "vira-button-color-green" | "vira-button-color-blue" | "vira-button-color-brand" | "vira-button-color-purple" | "vira-button-color-plain" | "vira-button-color-neutral" | "vira-button-color-teal" | "vira-button-color-pink" | "vira-button-color-grey" | "vira-button-disabled" | "vira-button-icon-only" | "vira-button-size-large" | "vira-button-size-medium" | "vira-button-size-small" | "vira-button-emphasis-standard" | "vira-button-emphasis-subtle", "vira-button-text-color" | "vira-button-background-color" | "vira-button-border-color" | "vira-button-hover-text-color" | "vira-button-hover-background-color" | "vira-button-hover-border-color" | "vira-button-active-text-color" | "vira-button-active-background-color" | "vira-button-active-border-color" | "vira-button-disabled-text-color" | "vira-button-disabled-background-color" | "vira-button-disabled-border-color" | "vira-button-border-width" | "vira-button-border-radius", readonly [], readonly []>;
|
|
@@ -2,7 +2,6 @@ import { arrayToObject, getObjectTypedKeys } from '@augment-vir/common';
|
|
|
2
2
|
import { ContrastLevelName } from '@electrovir/color/dist/data/contrast/contrast.js';
|
|
3
3
|
import { css, html, nothing, unsafeCSS } from 'element-vir';
|
|
4
4
|
import { themeDefaultKey } from 'theme-vir/dist/color-theme/color-theme.js';
|
|
5
|
-
import { ChevronDown16Icon } from '../icons/index.js';
|
|
6
5
|
import { createFocusStyles } from '../styles/focus.js';
|
|
7
6
|
import { viraFormCssVars } from '../styles/form-styles.js';
|
|
8
7
|
import { standaloneThemeColorNames, viraColorVariantToHostClassKey, viraEmphasisVariants, viraSizeHeights, viraSizeVariants, } from '../styles/form-variants.js';
|
|
@@ -121,42 +120,54 @@ const neutralButtonColors = {
|
|
|
121
120
|
export const ViraButton = defineViraElement()({
|
|
122
121
|
tagName: 'vira-button',
|
|
123
122
|
hostClasses: {
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
'vira-button-size-medium'
|
|
123
|
+
'vira-button-size-large'({ inputs }) {
|
|
124
|
+
return inputs.buttonSize === ViraSize.Large;
|
|
125
|
+
},
|
|
126
|
+
'vira-button-size-medium'({ inputs }) {
|
|
128
127
|
return !inputs.buttonSize || inputs.buttonSize === ViraSize.Medium;
|
|
129
128
|
},
|
|
130
|
-
'vira-button-size-small'
|
|
131
|
-
|
|
129
|
+
'vira-button-size-small'({ inputs }) {
|
|
130
|
+
return inputs.buttonSize === ViraSize.Small;
|
|
131
|
+
},
|
|
132
|
+
'vira-button-emphasis-standard'({ inputs }) {
|
|
132
133
|
return !inputs.buttonEmphasis || inputs.buttonEmphasis === ViraEmphasis.Standard;
|
|
133
134
|
},
|
|
134
|
-
'vira-button-emphasis-subtle'
|
|
135
|
+
'vira-button-emphasis-subtle'({ inputs }) {
|
|
136
|
+
return inputs.buttonEmphasis === ViraEmphasis.Subtle;
|
|
137
|
+
},
|
|
135
138
|
...arrayToObject(getObjectTypedKeys(viraColorVariantToHostClassKey), (colorVariant) => {
|
|
136
139
|
const colorKey = viraColorVariantToHostClassKey[colorVariant];
|
|
137
140
|
return {
|
|
138
141
|
key: `vira-button-color-${colorKey}`,
|
|
139
|
-
value
|
|
142
|
+
value({ inputs, }) {
|
|
140
143
|
return inputs.color === colorVariant || inputs.color === colorKey;
|
|
141
144
|
},
|
|
142
145
|
};
|
|
143
146
|
}, {
|
|
144
147
|
useRequired: true,
|
|
145
148
|
}),
|
|
146
|
-
'vira-button-color-plain'
|
|
147
|
-
|
|
149
|
+
'vira-button-color-plain'({ inputs, }) {
|
|
150
|
+
return !inputs.color || inputs.color === ViraColorVariant.Plain;
|
|
151
|
+
},
|
|
152
|
+
'vira-button-color-neutral'({ inputs, }) {
|
|
153
|
+
return inputs.color === ViraColorVariant.Neutral;
|
|
154
|
+
},
|
|
148
155
|
...arrayToObject(standaloneThemeColorNames, (colorName) => {
|
|
149
156
|
return {
|
|
150
157
|
key: `vira-button-color-${colorName}`,
|
|
151
|
-
value
|
|
158
|
+
value({ inputs, }) {
|
|
152
159
|
return inputs.color === colorName;
|
|
153
160
|
},
|
|
154
161
|
};
|
|
155
162
|
}, {
|
|
156
163
|
useRequired: true,
|
|
157
164
|
}),
|
|
158
|
-
'vira-button-disabled'
|
|
159
|
-
|
|
165
|
+
'vira-button-disabled'({ inputs }) {
|
|
166
|
+
return !!inputs.isDisabled;
|
|
167
|
+
},
|
|
168
|
+
'vira-button-icon-only'({ inputs }) {
|
|
169
|
+
return !inputs.text && !!inputs.icon;
|
|
170
|
+
},
|
|
160
171
|
},
|
|
161
172
|
cssVars: {
|
|
162
173
|
'vira-button-text-color': 'transparent',
|
|
@@ -174,7 +185,7 @@ export const ViraButton = defineViraElement()({
|
|
|
174
185
|
'vira-button-border-width': '1px',
|
|
175
186
|
'vira-button-border-radius': viraFormCssVars['vira-form-radius'].value,
|
|
176
187
|
},
|
|
177
|
-
styles
|
|
188
|
+
styles({ hostClasses, cssVars }) {
|
|
178
189
|
function buildVariantCssRule({ variantSelector, emphasisSelector, colors, }) {
|
|
179
190
|
return css `
|
|
180
191
|
${variantSelector}${emphasisSelector} {
|
|
@@ -332,16 +343,6 @@ export const ViraButton = defineViraElement()({
|
|
|
332
343
|
align-items: center;
|
|
333
344
|
}
|
|
334
345
|
|
|
335
|
-
.caret-icon {
|
|
336
|
-
margin-left: 8px;
|
|
337
|
-
}
|
|
338
|
-
|
|
339
|
-
${hostClasses['vira-button-with-menu-caret'].selector} {
|
|
340
|
-
button {
|
|
341
|
-
padding-right: 6px;
|
|
342
|
-
}
|
|
343
|
-
}
|
|
344
|
-
|
|
345
346
|
${hostClasses['vira-button-disabled'].selector} {
|
|
346
347
|
cursor: not-allowed;
|
|
347
348
|
|
|
@@ -366,7 +367,7 @@ export const ViraButton = defineViraElement()({
|
|
|
366
367
|
}
|
|
367
368
|
`;
|
|
368
369
|
},
|
|
369
|
-
render
|
|
370
|
+
render({ inputs }) {
|
|
370
371
|
const iconTemplate = inputs.icon
|
|
371
372
|
? html `
|
|
372
373
|
<${ViraIcon.assign({
|
|
@@ -381,16 +382,6 @@ export const ViraButton = defineViraElement()({
|
|
|
381
382
|
: html `
|
|
382
383
|
<span class="empty-text"> </span>
|
|
383
384
|
`;
|
|
384
|
-
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
|
385
|
-
const caretIconTemplate = inputs.showMenuCaret
|
|
386
|
-
? html `
|
|
387
|
-
<${ViraIcon.assign({
|
|
388
|
-
icon: ChevronDown16Icon,
|
|
389
|
-
})}
|
|
390
|
-
class="caret-icon"
|
|
391
|
-
></${ViraIcon}>
|
|
392
|
-
`
|
|
393
|
-
: nothing;
|
|
394
385
|
/* Both templates are interpolated with no whitespace between them so `+` selectors match. */
|
|
395
386
|
const templates = inputs.showIconOnRight
|
|
396
387
|
? [
|
|
@@ -402,7 +393,7 @@ export const ViraButton = defineViraElement()({
|
|
|
402
393
|
textTemplate,
|
|
403
394
|
];
|
|
404
395
|
return html `
|
|
405
|
-
<button ?disabled=${inputs.isDisabled}>${templates}
|
|
396
|
+
<button ?disabled=${inputs.isDisabled}>${templates}</button>
|
|
406
397
|
`;
|
|
407
398
|
},
|
|
408
399
|
});
|
|
@@ -20,14 +20,18 @@ export var ViraCardState;
|
|
|
20
20
|
export const ViraCard = defineViraElement()({
|
|
21
21
|
tagName: 'vira-card',
|
|
22
22
|
hostClasses: {
|
|
23
|
-
'vira-card-error'
|
|
24
|
-
|
|
23
|
+
'vira-card-error'({ inputs }) {
|
|
24
|
+
return inputs.cardState === ViraCardState.Error;
|
|
25
|
+
},
|
|
26
|
+
'vira-card-success'({ inputs }) {
|
|
27
|
+
return inputs.cardState === ViraCardState.Success;
|
|
28
|
+
},
|
|
25
29
|
},
|
|
26
30
|
cssVars: {
|
|
27
31
|
'vira-card-border': css `1px solid ${viraFormCssVars['vira-form-border-color'].value}`,
|
|
28
32
|
'vira-card-padding': '24px',
|
|
29
33
|
},
|
|
30
|
-
styles
|
|
34
|
+
styles({ hostClasses, cssVars }) {
|
|
31
35
|
return css `
|
|
32
36
|
:host {
|
|
33
37
|
display: block;
|
|
@@ -40,5 +40,5 @@ export type ViraCheckboxInputs = {
|
|
|
40
40
|
export declare const ViraCheckbox: import("element-vir").DeclarativeElementDefinition<`vira-${string}`, Readonly<ViraCheckboxInputs>, {
|
|
41
41
|
hasSlottedLabel: boolean;
|
|
42
42
|
}, {
|
|
43
|
-
valueChange: import("element-vir").
|
|
43
|
+
valueChange: import("element-vir").DefineElementEvent<boolean>;
|
|
44
44
|
}, "vira-checkbox-horizontal" | "vira-checkbox-filled-checked" | "vira-checkbox-filled-unchecked", `vira-${string}-`, readonly ["vira-checkbox-label"], readonly []>;
|
|
@@ -24,11 +24,17 @@ export const ViraCheckbox = defineViraElement()({
|
|
|
24
24
|
};
|
|
25
25
|
},
|
|
26
26
|
hostClasses: {
|
|
27
|
-
'vira-checkbox-horizontal'
|
|
28
|
-
|
|
29
|
-
|
|
27
|
+
'vira-checkbox-horizontal'({ inputs }) {
|
|
28
|
+
return !!inputs.useHorizontalLabel;
|
|
29
|
+
},
|
|
30
|
+
'vira-checkbox-filled-checked'({ inputs }) {
|
|
31
|
+
return !!inputs.fillWhenChecked;
|
|
32
|
+
},
|
|
33
|
+
'vira-checkbox-filled-unchecked'({ inputs }) {
|
|
34
|
+
return !!inputs.fillWhenUnchecked;
|
|
35
|
+
},
|
|
30
36
|
},
|
|
31
|
-
styles
|
|
37
|
+
styles({ hostClasses }) {
|
|
32
38
|
return css `
|
|
33
39
|
:host {
|
|
34
40
|
display: inline-flex;
|
|
@@ -156,7 +162,9 @@ export const ViraCheckbox = defineViraElement()({
|
|
|
156
162
|
render({ inputs, dispatch, events, slotNames, state, updateState }) {
|
|
157
163
|
function updateValue() {
|
|
158
164
|
if (!inputs.isDisabled) {
|
|
159
|
-
dispatch(new events.valueChange(
|
|
165
|
+
dispatch(new events.valueChange({
|
|
166
|
+
detail: !inputs.value,
|
|
167
|
+
}));
|
|
160
168
|
}
|
|
161
169
|
}
|
|
162
170
|
const hasLabel = !!inputs.label || state.hasSlottedLabel;
|
|
@@ -32,5 +32,5 @@ export declare const ViraCollapsibleCard: import("element-vir").DeclarativeEleme
|
|
|
32
32
|
}>, {
|
|
33
33
|
isExpanded: boolean;
|
|
34
34
|
}, {
|
|
35
|
-
expandToggle: import("element-vir").
|
|
35
|
+
expandToggle: import("element-vir").DefineElementEvent<boolean>;
|
|
36
36
|
}, "vira-collapsible-card-expanded" | "vira-collapsible-card-expansion-blocked" | "vira-collapsible-card-card-styles", "vira-collapsible-card-content-gap", readonly ["vira-collapsible-card-header"], readonly ["openCaret"]>;
|
|
@@ -23,14 +23,20 @@ export const ViraCollapsibleCard = defineViraElement()({
|
|
|
23
23
|
};
|
|
24
24
|
},
|
|
25
25
|
hostClasses: {
|
|
26
|
-
'vira-collapsible-card-expanded'
|
|
27
|
-
|
|
28
|
-
|
|
26
|
+
'vira-collapsible-card-expanded'({ state }) {
|
|
27
|
+
return state.isExpanded;
|
|
28
|
+
},
|
|
29
|
+
'vira-collapsible-card-expansion-blocked'({ inputs }) {
|
|
30
|
+
return !!inputs.blockExpansion;
|
|
31
|
+
},
|
|
32
|
+
'vira-collapsible-card-card-styles'({ inputs }) {
|
|
33
|
+
return !inputs.rawCollapsible;
|
|
34
|
+
},
|
|
29
35
|
},
|
|
30
36
|
cssVars: {
|
|
31
37
|
'vira-collapsible-card-content-gap': '16px',
|
|
32
38
|
},
|
|
33
|
-
styles
|
|
39
|
+
styles({ hostClasses, cssVars }) {
|
|
34
40
|
return css `
|
|
35
41
|
:host {
|
|
36
42
|
display: inline-flex;
|
|
@@ -160,7 +166,9 @@ export const ViraCollapsibleCard = defineViraElement()({
|
|
|
160
166
|
updateState({
|
|
161
167
|
isExpanded: event.detail,
|
|
162
168
|
});
|
|
163
|
-
dispatch(new events.expandToggle(
|
|
169
|
+
dispatch(new events.expandToggle({
|
|
170
|
+
detail: event.detail,
|
|
171
|
+
}));
|
|
164
172
|
})}
|
|
165
173
|
>
|
|
166
174
|
<div
|
|
@@ -26,5 +26,5 @@ export declare const ViraCollapsibleWrapper: import("element-vir").DeclarativeEl
|
|
|
26
26
|
isContentHidden: boolean;
|
|
27
27
|
collapsingElement: HTMLDivElement | undefined;
|
|
28
28
|
}, {
|
|
29
|
-
expandChange: import("element-vir").
|
|
29
|
+
expandChange: import("element-vir").DefineElementEvent<boolean>;
|
|
30
30
|
}, "vira-collapsible-wrapper-expand-on-print", `vira-${string}-`, readonly ["vira-collapsible-wrapper-header"], readonly []>;
|
|
@@ -31,10 +31,12 @@ export const ViraCollapsibleWrapper = defineViraElement()({
|
|
|
31
31
|
};
|
|
32
32
|
},
|
|
33
33
|
hostClasses: {
|
|
34
|
-
'vira-collapsible-wrapper-expand-on-print'
|
|
34
|
+
'vira-collapsible-wrapper-expand-on-print'({ inputs }) {
|
|
35
|
+
return !!inputs.expandOnPrint;
|
|
36
|
+
},
|
|
35
37
|
},
|
|
36
38
|
slotNames: ['vira-collapsible-wrapper-header'],
|
|
37
|
-
styles
|
|
39
|
+
styles({ hostClasses }) {
|
|
38
40
|
return css `
|
|
39
41
|
:host {
|
|
40
42
|
display: flex;
|
|
@@ -156,7 +158,9 @@ export const ViraCollapsibleWrapper = defineViraElement()({
|
|
|
156
158
|
<button
|
|
157
159
|
class="header-wrapper"
|
|
158
160
|
${listen('click', () => {
|
|
159
|
-
dispatch(new events.expandChange(
|
|
161
|
+
dispatch(new events.expandChange({
|
|
162
|
+
detail: !inputs.expanded,
|
|
163
|
+
}));
|
|
160
164
|
})}
|
|
161
165
|
>
|
|
162
166
|
<slot name=${slotNames['vira-collapsible-wrapper-header']}>Header</slot>
|
|
@@ -34,7 +34,7 @@ export declare const ViraDateInput: import("element-vir").DeclarativeElementDefi
|
|
|
34
34
|
randomId: string;
|
|
35
35
|
}, {
|
|
36
36
|
/** Fires whenever the user selects or clears a date. */
|
|
37
|
-
valueChange: import("element-vir").
|
|
37
|
+
valueChange: import("element-vir").DefineElementEvent<{
|
|
38
38
|
hour: import("date-vir").Hour;
|
|
39
39
|
minute: import("date-vir").Minute;
|
|
40
40
|
millisecond: number;
|
|
@@ -27,10 +27,14 @@ export const ViraDateInput = defineViraElement()({
|
|
|
27
27
|
};
|
|
28
28
|
},
|
|
29
29
|
hostClasses: {
|
|
30
|
-
'vira-date-input-error'
|
|
31
|
-
|
|
30
|
+
'vira-date-input-error'({ inputs }) {
|
|
31
|
+
return !!inputs.hasError;
|
|
32
|
+
},
|
|
33
|
+
'vira-date-input-disabled'({ inputs }) {
|
|
34
|
+
return !!inputs.isDisabled;
|
|
35
|
+
},
|
|
32
36
|
},
|
|
33
|
-
styles
|
|
37
|
+
styles({ hostClasses }) {
|
|
34
38
|
return css `
|
|
35
39
|
:host {
|
|
36
40
|
display: inline-block;
|
|
@@ -117,7 +121,9 @@ export const ViraDateInput = defineViraElement()({
|
|
|
117
121
|
.value=${inputValue}
|
|
118
122
|
${listen('input', (event) => {
|
|
119
123
|
const element = extractEventTarget(event, HTMLInputElement);
|
|
120
|
-
dispatch(new events.valueChange(
|
|
124
|
+
dispatch(new events.valueChange({
|
|
125
|
+
detail: parseInputElementValue(element, inputs.timezone || userTimezone),
|
|
126
|
+
}));
|
|
121
127
|
})}
|
|
122
128
|
/>
|
|
123
129
|
`;
|
|
@@ -20,5 +20,5 @@ export declare const ViraDrawer: import("element-vir").DeclarativeElementDefinit
|
|
|
20
20
|
dragStartY: number;
|
|
21
21
|
dragCurrentY: number;
|
|
22
22
|
}, {
|
|
23
|
-
drawerClose: import("element-vir").
|
|
23
|
+
drawerClose: import("element-vir").DefineElementEvent<void>;
|
|
24
24
|
}, "vira-drawer-dragging" | "vira-drawer-no-content-padding", "vira-drawer-backdrop-filter" | "vira-drawer-max-height", readonly ["vira-drawer-drawer-title"], readonly []>;
|
|
@@ -46,15 +46,19 @@ export const ViraDrawer = defineViraElement()({
|
|
|
46
46
|
state.cleanupListeners?.();
|
|
47
47
|
},
|
|
48
48
|
hostClasses: {
|
|
49
|
-
'vira-drawer-dragging'
|
|
50
|
-
|
|
49
|
+
'vira-drawer-dragging'({ state }) {
|
|
50
|
+
return state.isDragging;
|
|
51
|
+
},
|
|
52
|
+
'vira-drawer-no-content-padding'({ inputs }) {
|
|
53
|
+
return !!inputs.noContentPadding;
|
|
54
|
+
},
|
|
51
55
|
},
|
|
52
56
|
slotNames: ['vira-drawer-drawer-title'],
|
|
53
57
|
cssVars: {
|
|
54
58
|
'vira-drawer-backdrop-filter': 'blur(3px)',
|
|
55
59
|
'vira-drawer-max-height': '80dvh',
|
|
56
60
|
},
|
|
57
|
-
styles
|
|
61
|
+
styles({ cssVars, hostClasses }) {
|
|
58
62
|
return css `
|
|
59
63
|
:host {
|
|
60
64
|
display: contents;
|
|
@@ -187,11 +191,13 @@ export const ViraDrawer = defineViraElement()({
|
|
|
187
191
|
if (inputs.open) {
|
|
188
192
|
const removers = globalEventsToCloseDrawerOn.map((eventName) => {
|
|
189
193
|
return listenToGlobal(eventName, () => {
|
|
190
|
-
dispatch(new events.drawerClose(
|
|
194
|
+
dispatch(new events.drawerClose({
|
|
195
|
+
detail: undefined,
|
|
196
|
+
}));
|
|
191
197
|
});
|
|
192
198
|
});
|
|
193
199
|
updateState({
|
|
194
|
-
cleanupListeners
|
|
200
|
+
cleanupListeners() {
|
|
195
201
|
removers.forEach((remover) => remover());
|
|
196
202
|
},
|
|
197
203
|
});
|
|
@@ -200,7 +206,9 @@ export const ViraDrawer = defineViraElement()({
|
|
|
200
206
|
function close() {
|
|
201
207
|
if (inputs.open) {
|
|
202
208
|
state.cleanupListeners?.();
|
|
203
|
-
dispatch(new events.drawerClose(
|
|
209
|
+
dispatch(new events.drawerClose({
|
|
210
|
+
detail: undefined,
|
|
211
|
+
}));
|
|
204
212
|
}
|
|
205
213
|
}
|
|
206
214
|
if (state.dialogElement) {
|
|
@@ -37,13 +37,7 @@ export declare const ViraDropdown: import("element-vir").DeclarativeElementDefin
|
|
|
37
37
|
*/
|
|
38
38
|
randomId: string;
|
|
39
39
|
}, {
|
|
40
|
-
/**
|
|
41
|
-
* @deprecated Use `selectedValuesChange` instead. `selectedChange` is broken for
|
|
42
|
-
* multi-select (it doesn't emit all the currently selected values) but is temporarily
|
|
43
|
-
* left for backwards compatibility purposes. It will be removed entirely soon.
|
|
44
|
-
*/
|
|
45
|
-
selectedChange: import("element-vir").DefineEvent<string[]>;
|
|
46
40
|
/** Emits all currently selected values. */
|
|
47
|
-
selectedValuesChange: import("element-vir").
|
|
48
|
-
openChange: import("element-vir").
|
|
41
|
+
selectedValuesChange: import("element-vir").DefineElementEvent<string[]>;
|
|
42
|
+
openChange: import("element-vir").DefineElementEvent<ShowPopUpResult | undefined>;
|
|
49
43
|
}, "vira-dropdown-", "vira-dropdown-", readonly [], readonly ["leadingIcon", "prefixText", "trigger"]>;
|