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.
Files changed (74) hide show
  1. package/dist/elements/color/vira-all-color-space-sliders.element.d.ts +11 -0
  2. package/dist/elements/color/vira-all-color-space-sliders.element.js +55 -0
  3. package/dist/elements/color/vira-all-spaces-color-picker.element.d.ts +15 -0
  4. package/dist/elements/color/vira-all-spaces-color-picker.element.js +73 -0
  5. package/dist/elements/color/vira-color-details.element.d.ts +14 -0
  6. package/dist/elements/color/vira-color-details.element.js +153 -0
  7. package/dist/elements/color/vira-color-format-sliders.element.d.ts +14 -0
  8. package/dist/elements/color/vira-color-format-sliders.element.js +60 -0
  9. package/dist/elements/color/vira-color-pair-contrast-summary.element.d.ts +9 -0
  10. package/dist/elements/color/vira-color-pair-contrast-summary.element.js +308 -0
  11. package/dist/elements/color/vira-color-pair.element.d.ts +17 -0
  12. package/dist/elements/color/vira-color-pair.element.js +201 -0
  13. package/dist/elements/color/vira-color-picker.element.d.ts +20 -0
  14. package/dist/elements/color/vira-color-picker.element.js +278 -0
  15. package/dist/elements/color/vira-color-slider.element.d.ts +14 -0
  16. package/dist/elements/color/vira-color-slider.element.js +124 -0
  17. package/dist/elements/color/vira-color-swatch.element.d.ts +20 -0
  18. package/dist/elements/color/vira-color-swatch.element.js +48 -0
  19. package/dist/elements/color/vira-contrast-indicator.element.d.ts +10 -0
  20. package/dist/elements/color/vira-contrast-indicator.element.js +96 -0
  21. package/dist/elements/index.d.ts +10 -0
  22. package/dist/elements/index.js +10 -0
  23. package/dist/elements/pop-up/vira-menu-item.element.d.ts +1 -1
  24. package/dist/elements/pop-up/vira-menu-item.element.js +20 -8
  25. package/dist/elements/pop-up/vira-menu-trigger.element.d.ts +1 -1
  26. package/dist/elements/pop-up/vira-menu-trigger.element.js +3 -1
  27. package/dist/elements/pop-up/vira-menu.element.js +10 -4
  28. package/dist/elements/pop-up/vira-pop-up-trigger.element.d.ts +3 -3
  29. package/dist/elements/pop-up/vira-pop-up-trigger.element.js +24 -10
  30. package/dist/elements/vira-bold-text.element.js +4 -2
  31. package/dist/elements/vira-button.element.d.ts +1 -8
  32. package/dist/elements/vira-button.element.js +28 -37
  33. package/dist/elements/vira-card.element.js +7 -3
  34. package/dist/elements/vira-checkbox.element.d.ts +1 -1
  35. package/dist/elements/vira-checkbox.element.js +13 -5
  36. package/dist/elements/vira-collapsible-card.element.d.ts +1 -1
  37. package/dist/elements/vira-collapsible-card.element.js +13 -5
  38. package/dist/elements/vira-collapsible-wrapper.element.d.ts +1 -1
  39. package/dist/elements/vira-collapsible-wrapper.element.js +7 -3
  40. package/dist/elements/vira-date-input.element.d.ts +1 -1
  41. package/dist/elements/vira-date-input.element.js +10 -4
  42. package/dist/elements/vira-drawer.element.d.ts +1 -1
  43. package/dist/elements/vira-drawer.element.js +14 -6
  44. package/dist/elements/vira-dropdown.element.d.ts +2 -8
  45. package/dist/elements/vira-dropdown.element.js +6 -10
  46. package/dist/elements/vira-error.element.js +1 -1
  47. package/dist/elements/vira-form.element.d.ts +2 -2
  48. package/dist/elements/vira-form.element.js +36 -22
  49. package/dist/elements/vira-icon.element.js +4 -2
  50. package/dist/elements/vira-image.element.d.ts +2 -2
  51. package/dist/elements/vira-image.element.js +7 -3
  52. package/dist/elements/vira-input.element.d.ts +2 -2
  53. package/dist/elements/vira-input.element.js +23 -9
  54. package/dist/elements/vira-json-form.element.d.ts +1 -1
  55. package/dist/elements/vira-json-form.element.js +18 -8
  56. package/dist/elements/vira-link.element.js +5 -3
  57. package/dist/elements/vira-modal.element.d.ts +1 -1
  58. package/dist/elements/vira-modal.element.js +14 -6
  59. package/dist/elements/vira-progress.element.js +1 -1
  60. package/dist/elements/vira-select.element.d.ts +1 -1
  61. package/dist/elements/vira-select.element.js +20 -8
  62. package/dist/elements/vira-tabs.element.d.ts +2 -2
  63. package/dist/elements/vira-tabs.element.js +35 -21
  64. package/dist/elements/vira-tag.element.d.ts +3 -3
  65. package/dist/elements/vira-tag.element.js +46 -18
  66. package/dist/elements/vira-text-area.element.d.ts +2 -2
  67. package/dist/elements/vira-text-area.element.js +16 -6
  68. package/dist/util/color-local-storage.client.d.ts +4 -0
  69. package/dist/util/color-local-storage.client.js +6 -0
  70. package/dist/util/define-vira-element.js +1 -1
  71. package/dist/util/vira-json-schema.js +9 -9
  72. package/package.json +11 -11
  73. package/dist/icons/icon-color.test-helper.d.ts +0 -6
  74. 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': ({ inputs }) => !!inputs.selected || !!inputs.iconOverride,
33
- 'vira-menu-item-disabled': ({ inputs }) => !!inputs.disabled,
34
- 'vira-menu-item-enabled': ({ inputs }) => !inputs.disabled,
35
- 'vira-menu-item-default-icon': ({ inputs }) => !inputs.iconOverride,
36
- 'vira-menu-item-default-styles': ({ inputs }) => !inputs.disablePointerStyles,
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: ({ hostClasses, cssVars }) => {
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(undefined));
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").DefineEvent<ShowPopUpResult | undefined>;
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(event.detail));
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': ({ inputs }) => inputs.direction === ViraMenuPopUpDirection.Upwards,
40
- 'vira-menu-rounded': ({ inputs }) => inputs.cornerStyle === ViraMenuCornerStyle.AllRounded,
41
- 'vira-menu-square': ({ inputs }) => inputs.cornerStyle === ViraMenuCornerStyle.AllSquare,
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: ({ hostClasses, cssVars }) => {
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").DefineEvent<Coords>;
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").DefineEvent<ShowPopUpResult | undefined>;
105
- init: import("element-vir").DefineEvent<{
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': ({ inputs }) => !!inputs.isDisabled,
62
- 'vira-pop-up-trigger-inside-focus': ({ inputs }) => !!inputs.useInsideFocus,
63
- 'vira-pop-up-trigger-outside-focus': ({ inputs }) => !inputs.useInsideFocus,
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: ({ hostClasses }) => {
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(undefined));
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(event.detail));
182
+ dispatch(new events.navSelect({
183
+ detail: event.detail,
184
+ }));
175
185
  });
176
186
  dispatch(new events.init({
177
- navController: state.popUpManager.navController,
178
- popUpManager: state.popUpManager,
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(showPopUpResult));
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 === undefined
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': ({ inputs }) => inputs.bold,
15
+ 'vira-bold-bold'({ inputs }) {
16
+ return inputs.bold;
17
+ },
16
18
  },
17
- styles: ({ hostClasses, cssVars }) => {
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
- // eslint-disable-next-line @typescript-eslint/no-deprecated
125
- 'vira-button-with-menu-caret': ({ inputs }) => !!inputs.showMenuCaret,
126
- 'vira-button-size-large': ({ inputs }) => inputs.buttonSize === ViraSize.Large,
127
- 'vira-button-size-medium': ({ inputs }) => {
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': ({ inputs }) => inputs.buttonSize === ViraSize.Small,
131
- 'vira-button-emphasis-standard': ({ inputs }) => {
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': ({ inputs }) => inputs.buttonEmphasis === ViraEmphasis.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: ({ inputs, }) => {
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': ({ inputs, }) => !inputs.color || inputs.color === ViraColorVariant.Plain,
147
- 'vira-button-color-neutral': ({ inputs, }) => inputs.color === ViraColorVariant.Neutral,
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: ({ inputs, }) => {
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': ({ inputs }) => !!inputs.isDisabled,
159
- 'vira-button-icon-only': ({ inputs }) => !inputs.text && !!inputs.icon,
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: ({ hostClasses, cssVars }) => {
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: ({ inputs }) => {
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">&nbsp;</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}${caretIconTemplate}</button>
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': ({ inputs }) => inputs.cardState === ViraCardState.Error,
24
- 'vira-card-success': ({ inputs }) => inputs.cardState === ViraCardState.Success,
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: ({ hostClasses, cssVars }) => {
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").DefineEvent<boolean>;
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': ({ inputs }) => !!inputs.useHorizontalLabel,
28
- 'vira-checkbox-filled-checked': ({ inputs }) => !!inputs.fillWhenChecked,
29
- 'vira-checkbox-filled-unchecked': ({ inputs }) => !!inputs.fillWhenUnchecked,
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: ({ hostClasses }) => {
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(!inputs.value));
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").DefineEvent<boolean>;
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': ({ state }) => state.isExpanded,
27
- 'vira-collapsible-card-expansion-blocked': ({ inputs }) => !!inputs.blockExpansion,
28
- 'vira-collapsible-card-card-styles': ({ inputs }) => !inputs.rawCollapsible,
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: ({ hostClasses, cssVars }) => {
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(event.detail));
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").DefineEvent<boolean>;
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': ({ inputs }) => !!inputs.expandOnPrint,
34
+ 'vira-collapsible-wrapper-expand-on-print'({ inputs }) {
35
+ return !!inputs.expandOnPrint;
36
+ },
35
37
  },
36
38
  slotNames: ['vira-collapsible-wrapper-header'],
37
- styles: ({ hostClasses }) => {
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(!inputs.expanded));
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").DefineEvent<{
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': ({ inputs }) => !!inputs.hasError,
31
- 'vira-date-input-disabled': ({ inputs }) => !!inputs.isDisabled,
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: ({ hostClasses }) => {
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(parseInputElementValue(element, inputs.timezone || userTimezone)));
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").DefineEvent<void>;
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': ({ state }) => state.isDragging,
50
- 'vira-drawer-no-content-padding': ({ inputs }) => !!inputs.noContentPadding,
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: ({ cssVars, hostClasses }) => {
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").DefineEvent<string[]>;
48
- openChange: import("element-vir").DefineEvent<ShowPopUpResult | undefined>;
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"]>;