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
@@ -110,12 +110,6 @@ export const ViraDropdown = defineViraElement()({
110
110
  }
111
111
  `,
112
112
  events: {
113
- /**
114
- * @deprecated Use `selectedValuesChange` instead. `selectedChange` is broken for
115
- * multi-select (it doesn't emit all the currently selected values) but is temporarily
116
- * left for backwards compatibility purposes. It will be removed entirely soon.
117
- */
118
- selectedChange: defineElementEvent(),
119
113
  /** Emits all currently selected values. */
120
114
  selectedValuesChange: defineElementEvent(),
121
115
  openChange: defineElementEvent(),
@@ -175,9 +169,9 @@ export const ViraDropdown = defineViraElement()({
175
169
  option.value,
176
170
  ]
177
171
  : [option.value];
178
- // eslint-disable-next-line @typescript-eslint/no-deprecated
179
- dispatch(new events.selectedChange([option.value]));
180
- dispatch(new events.selectedValuesChange(newSelectedValues));
172
+ dispatch(new events.selectedValuesChange({
173
+ detail: newSelectedValues,
174
+ }));
181
175
  },
182
176
  disabled: option.disabled,
183
177
  selected: selectedOptions.includes(option),
@@ -198,7 +192,9 @@ export const ViraDropdown = defineViraElement()({
198
192
  })}
199
193
  ${listen(ViraPopUpTrigger.events.openChange, (event) => {
200
194
  if (!!state.showPopUpResult !== !!event.detail) {
201
- dispatch(new events.openChange(event.detail));
195
+ dispatch(new events.openChange({
196
+ detail: event.detail,
197
+ }));
202
198
  }
203
199
  updateState({
204
200
  showPopUpResult: event.detail,
@@ -13,7 +13,7 @@ export const ViraError = defineViraElement()({
13
13
  cssVars: {
14
14
  'vira-error-font-weight': viraFontCssVars['vira-font-weight-bold'].value,
15
15
  },
16
- styles: ({ cssVars }) => {
16
+ styles({ cssVars }) {
17
17
  return css `
18
18
  :host {
19
19
  color: ${viraFormCssVars['vira-form-error-color'].value};
@@ -47,10 +47,10 @@ export declare const ViraForm: import("element-vir").DeclarativeElementDefinitio
47
47
  }>, {
48
48
  lastIsValid: boolean;
49
49
  }, {
50
- valueChange: import("element-vir").DefineEvent<{
50
+ valueChange: import("element-vir").DefineElementEvent<{
51
51
  key: string;
52
52
  } & ViraFormField>;
53
- validChange: import("element-vir").DefineEvent<{
53
+ validChange: import("element-vir").DefineElementEvent<{
54
54
  allFieldsAreValid: boolean;
55
55
  }>;
56
56
  }, "vira-form-", "vira-form-", readonly [], readonly []>;
@@ -86,7 +86,9 @@ export const ViraForm = defineViraElement()({
86
86
  lastIsValid: currentIsValid,
87
87
  });
88
88
  dispatch(new events.validChange({
89
- allFieldsAreValid: currentIsValid,
89
+ detail: {
90
+ allFieldsAreValid: currentIsValid,
91
+ },
90
92
  }));
91
93
  }
92
94
  function wrapFormField({ fieldTemplate, label, }) {
@@ -128,9 +130,11 @@ export const ViraForm = defineViraElement()({
128
130
  ${field.testId ? testId(field.testId) : nothing}
129
131
  ${listen(ViraCheckbox.events.valueChange, (event) => {
130
132
  dispatch(new events.valueChange({
131
- key,
132
- ...field,
133
- value: event.detail,
133
+ detail: {
134
+ key,
135
+ ...field,
136
+ value: event.detail,
137
+ },
134
138
  }));
135
139
  })}
136
140
  >
@@ -178,9 +182,11 @@ export const ViraForm = defineViraElement()({
178
182
  ${field.testId ? testId(field.testId) : nothing}
179
183
  ${listen(ViraSelect.events.valueChange, (event) => {
180
184
  dispatch(new events.valueChange({
181
- key,
182
- ...field,
183
- value: event.detail,
185
+ detail: {
186
+ key,
187
+ ...field,
188
+ value: event.detail,
189
+ },
184
190
  }));
185
191
  })}
186
192
  ></${ViraSelect}>
@@ -205,9 +211,11 @@ export const ViraForm = defineViraElement()({
205
211
  ${field.testId ? testId(field.testId) : nothing}
206
212
  ${listen(ViraTextArea.events.valueChange, (event) => {
207
213
  dispatch(new events.valueChange({
208
- key,
209
- ...field,
210
- value: event.detail,
214
+ detail: {
215
+ key,
216
+ ...field,
217
+ value: event.detail,
218
+ },
211
219
  }));
212
220
  })}
213
221
  ></${ViraTextArea}>
@@ -231,17 +239,17 @@ export const ViraForm = defineViraElement()({
231
239
  type: ViraInputType.Number,
232
240
  attributePassthrough: {
233
241
  ...horizontalLabelAttributes,
234
- ...(field.min === undefined
242
+ ...(field.min == undefined
235
243
  ? {}
236
244
  : {
237
245
  min: String(field.min),
238
246
  }),
239
- ...(field.max === undefined
247
+ ...(field.max == undefined
240
248
  ? {}
241
249
  : {
242
250
  max: String(field.max),
243
251
  }),
244
- ...(field.step === undefined
252
+ ...(field.step == undefined
245
253
  ? {}
246
254
  : {
247
255
  step: String(field.step),
@@ -252,9 +260,11 @@ export const ViraForm = defineViraElement()({
252
260
  ${listen(ViraInput.events.valueChange, (event) => {
253
261
  const numericValue = event.detail === '' ? undefined : Number(event.detail);
254
262
  dispatch(new events.valueChange({
255
- key,
256
- ...field,
257
- value: numericValue,
263
+ detail: {
264
+ key,
265
+ ...field,
266
+ value: numericValue,
267
+ },
258
268
  }));
259
269
  })}
260
270
  ></${ViraInput}>
@@ -280,9 +290,11 @@ export const ViraForm = defineViraElement()({
280
290
  ${field.testId ? testId(field.testId) : nothing}
281
291
  ${listen(ViraDateInput.events.valueChange, (event) => {
282
292
  dispatch(new events.valueChange({
283
- key,
284
- ...field,
285
- value: event.detail,
293
+ detail: {
294
+ key,
295
+ ...field,
296
+ value: event.detail,
297
+ },
286
298
  }));
287
299
  })}
288
300
  ></${ViraDateInput}>
@@ -335,9 +347,11 @@ export const ViraForm = defineViraElement()({
335
347
  ${field.testId ? testId(field.testId) : nothing}
336
348
  ${listen(ViraInput.events.valueChange, (event) => {
337
349
  dispatch(new events.valueChange({
338
- key,
339
- ...field,
340
- value: event.detail,
350
+ detail: {
351
+ key,
352
+ ...field,
353
+ value: event.detail,
354
+ },
341
355
  }));
342
356
  })}
343
357
  ></${ViraInput}>
@@ -12,9 +12,11 @@ export const ViraIcon = defineViraElement()({
12
12
  tagName: 'vira-icon',
13
13
  hostClasses: {
14
14
  /** Ignores the given icon's embedded size and causes the <svg> element to fill its parent. */
15
- 'vira-icon-fit-container': ({ inputs }) => !!inputs.fitContainer || !!inputs.icon?.size,
15
+ 'vira-icon-fit-container'({ inputs }) {
16
+ return !!inputs.fitContainer || !!inputs.icon?.size;
17
+ },
16
18
  },
17
- styles: ({ hostClasses }) => {
19
+ styles({ hostClasses }) {
18
20
  return css `
19
21
  :host {
20
22
  display: inline-flex;
@@ -40,6 +40,6 @@ export declare const ViraImage: import("element-vir").DeclarativeElementDefiniti
40
40
  [url: string]: true;
41
41
  }>;
42
42
  }, {
43
- imageLoad: import("element-vir").DefineEvent<void>;
44
- imageError: import("element-vir").DefineEvent<unknown>;
43
+ imageLoad: import("element-vir").DefineElementEvent<void>;
44
+ imageError: import("element-vir").DefineElementEvent<unknown>;
45
45
  }, "vira-image-height-constrained", `vira-${string}-`, readonly ["vira-image-loading", "vira-image-error"], readonly []>;
@@ -31,7 +31,9 @@ export const ViraImage = defineViraElement()({
31
31
  };
32
32
  },
33
33
  hostClasses: {
34
- 'vira-image-height-constrained': ({ inputs }) => inputs.dominantDimension === 'height',
34
+ 'vira-image-height-constrained'({ inputs }) {
35
+ return inputs.dominantDimension === 'height';
36
+ },
35
37
  },
36
38
  slotNames: [
37
39
  'vira-image-loading',
@@ -41,7 +43,7 @@ export const ViraImage = defineViraElement()({
41
43
  imageLoad: defineElementEvent(),
42
44
  imageError: defineElementEvent(),
43
45
  },
44
- styles: ({ hostClasses }) => {
46
+ styles({ hostClasses }) {
45
47
  return css `
46
48
  :host {
47
49
  display: inline-flex;
@@ -131,7 +133,9 @@ export const ViraImage = defineViraElement()({
131
133
  [imageUrl]: true,
132
134
  },
133
135
  });
134
- dispatch(new events.imageLoad());
136
+ dispatch(new events.imageLoad({
137
+ detail: undefined,
138
+ }));
135
139
  })}
136
140
  ${listen('error', async (event) => {
137
141
  if (inputs._debugLoadDelay) {
@@ -54,11 +54,11 @@ export declare const ViraInput: import("element-vir").DeclarativeElementDefiniti
54
54
  * Fires whenever a user input created a new value. Does not fire if all input letters are
55
55
  * filtered out due to input restrictions.
56
56
  */
57
- valueChange: import("element-vir").DefineEvent<string>;
57
+ valueChange: import("element-vir").DefineElementEvent<string>;
58
58
  /**
59
59
  * Fires when inputs are blocked. Useful for showing warnings or error messages to inform
60
60
  * the user why their input did not propagate if it was blocked. This does not fire for text
61
61
  * that was blocked out of programmatic "value" property assignments.
62
62
  */
63
- inputBlocked: import("element-vir").DefineEvent<string>;
63
+ inputBlocked: import("element-vir").DefineElementEvent<string>;
64
64
  }, "vira-input-disabled" | "vira-input-fit-text" | "vira-input-clear-button-shown" | "vira-input-error", "vira-input-padding-horizontal" | "vira-input-padding-vertical", readonly [], readonly []>;
@@ -40,7 +40,7 @@ export const ViraInput = defineViraElement()({
40
40
  'vira-input-padding-horizontal': '12px',
41
41
  'vira-input-padding-vertical': '4px',
42
42
  },
43
- styles: ({ hostClasses, cssVars }) => {
43
+ styles({ hostClasses, cssVars }) {
44
44
  return css `
45
45
  :host {
46
46
  position: relative;
@@ -289,12 +289,20 @@ export const ViraInput = defineViraElement()({
289
289
  };
290
290
  },
291
291
  hostClasses: {
292
- 'vira-input-disabled': ({ inputs }) => !!inputs.disabled,
293
- 'vira-input-fit-text': ({ inputs }) => !!inputs.fitText,
294
- 'vira-input-clear-button-shown': ({ inputs }) => !!inputs.showClearButton,
295
- 'vira-input-error': ({ inputs }) => !!inputs.hasError,
292
+ 'vira-input-disabled'({ inputs }) {
293
+ return !!inputs.disabled;
294
+ },
295
+ 'vira-input-fit-text'({ inputs }) {
296
+ return !!inputs.fitText;
297
+ },
298
+ 'vira-input-clear-button-shown'({ inputs }) {
299
+ return !!inputs.showClearButton;
300
+ },
301
+ 'vira-input-error'({ inputs }) {
302
+ return !!inputs.hasError;
303
+ },
296
304
  },
297
- render: ({ inputs, dispatch, state, updateState, events, host }) => {
305
+ render({ inputs, dispatch, state, updateState, events, host }) {
298
306
  const { filtered: filteredValue } = filterTextInputValue({
299
307
  value: inputs.value,
300
308
  allowed: inputs.allowedInputs,
@@ -380,10 +388,14 @@ export const ViraInput = defineViraElement()({
380
388
  previousValue: filteredValue,
381
389
  event,
382
390
  inputBlockedCallback(blockedInput) {
383
- dispatch(new events.inputBlocked(blockedInput));
391
+ dispatch(new events.inputBlocked({
392
+ detail: blockedInput,
393
+ }));
384
394
  },
385
395
  newValueCallback(newValue) {
386
- dispatch(new events.valueChange(newValue));
396
+ dispatch(new events.valueChange({
397
+ detail: newValue,
398
+ }));
387
399
  },
388
400
  });
389
401
  })}
@@ -403,7 +415,9 @@ export const ViraInput = defineViraElement()({
403
415
  if (inputs.disabled) {
404
416
  return;
405
417
  }
406
- dispatch(new events.valueChange(''));
418
+ dispatch(new events.valueChange({
419
+ detail: '',
420
+ }));
407
421
  })}
408
422
  >
409
423
  <${ViraIcon.assign({
@@ -31,5 +31,5 @@ export declare const ViraJsonForm: import("element-vir").DeclarativeElementDefin
31
31
  rawDraft: string | undefined;
32
32
  rawError: string | undefined;
33
33
  }, {
34
- valueChange: import("element-vir").DefineEvent<JsonValue>;
34
+ valueChange: import("element-vir").DefineElementEvent<JsonValue>;
35
35
  }, "vira-json-form-", "vira-json-form-", readonly [], readonly []>;
@@ -208,7 +208,9 @@ export const ViraJsonForm = defineViraElement()({
208
208
  return entry == undefined ? 'null' : String(entry);
209
209
  }
210
210
  function emitRoot(newRoot) {
211
- dispatch(new events.valueChange(newRoot));
211
+ dispatch(new events.valueChange({
212
+ detail: newRoot,
213
+ }));
212
214
  }
213
215
  function emitReplaceAt(path, newValue) {
214
216
  emitRoot(setValueAtPath({
@@ -448,7 +450,9 @@ export const ViraJsonForm = defineViraElement()({
448
450
  return renderPlusButton({
449
451
  isAddDisabled,
450
452
  tooltip: isAddDisabled ? disabledReason : `Add ${viraJsonTypeLabels[onlyType]}`,
451
- onClick: () => onAdd(onlyType),
453
+ onClick() {
454
+ return onAdd(onlyType);
455
+ },
452
456
  });
453
457
  }
454
458
  const selectedType = getPendingType(pathKey, allowedTypes);
@@ -472,7 +476,9 @@ export const ViraJsonForm = defineViraElement()({
472
476
  tooltip: isAddDisabled
473
477
  ? disabledReason
474
478
  : `Add ${viraJsonTypeLabels[selectedType]}`,
475
- onClick: () => onAdd(selectedType),
479
+ onClick() {
480
+ return onAdd(selectedType);
481
+ },
476
482
  })}
477
483
  `;
478
484
  }
@@ -490,7 +496,9 @@ export const ViraJsonForm = defineViraElement()({
490
496
  return renderPlusButton({
491
497
  isAddDisabled: false,
492
498
  tooltip: `Add ${viraJsonTypeLabels[onlyType]}`,
493
- onClick: () => onAdd(createDefaultForJsonType(onlyType)),
499
+ onClick() {
500
+ return onAdd(createDefaultForJsonType(onlyType));
501
+ },
494
502
  });
495
503
  }
496
504
  const fallback = createDefaultForJsonType(onlyType);
@@ -503,7 +511,7 @@ export const ViraJsonForm = defineViraElement()({
503
511
  ${renderPlusButton({
504
512
  isAddDisabled: false,
505
513
  tooltip: `Add ${viraJsonTypeLabels[onlyType]}`,
506
- onClick: () => {
514
+ onClick() {
507
515
  onAdd(pendingValue);
508
516
  clearPending(pathKey);
509
517
  },
@@ -530,7 +538,9 @@ export const ViraJsonForm = defineViraElement()({
530
538
  ${renderPlusButton({
531
539
  isAddDisabled: false,
532
540
  tooltip: `Add ${viraJsonTypeLabels[selectedType]}`,
533
- onClick: () => onAdd(createDefaultForJsonType(selectedType)),
541
+ onClick() {
542
+ return onAdd(createDefaultForJsonType(selectedType));
543
+ },
534
544
  })}
535
545
  `;
536
546
  }
@@ -651,7 +661,7 @@ export const ViraJsonForm = defineViraElement()({
651
661
  allowedTypes: additionalAllowedTypes,
652
662
  canAdd: canAddArbitraryField,
653
663
  disabledReason: arbitraryAddDisabledReason,
654
- onAdd: (type) => {
664
+ onAdd(type) {
655
665
  if (!canAddArbitraryField) {
656
666
  return;
657
667
  }
@@ -751,7 +761,7 @@ export const ViraJsonForm = defineViraElement()({
751
761
  ${renderArrayAddControl({
752
762
  pathKey,
753
763
  allowedTypes: allowedItemTypes,
754
- onAdd: (newValue) => {
764
+ onAdd(newValue) {
755
765
  emitReplaceAt([
756
766
  ...path,
757
767
  value.length,
@@ -20,9 +20,11 @@ export const ViraLink = defineViraElement()({
20
20
  };
21
21
  },
22
22
  hostClasses: {
23
- 'vira-link-link-styles': ({ inputs }) => !inputs.disableLinkStyles,
23
+ 'vira-link-link-styles'({ inputs }) {
24
+ return !inputs.disableLinkStyles;
25
+ },
24
26
  },
25
- styles: ({ hostClasses }) => {
27
+ styles({ hostClasses }) {
26
28
  return css `
27
29
  :host {
28
30
  display: inline;
@@ -72,7 +74,7 @@ export const ViraLink = defineViraElement()({
72
74
  }),
73
75
  ];
74
76
  updateState({
75
- cleanupListeners: () => {
77
+ cleanupListeners() {
76
78
  listenerRemovers.forEach((remover) => remover());
77
79
  },
78
80
  });
@@ -36,5 +36,5 @@ export declare const ViraModal: import("element-vir").DeclarativeElementDefiniti
36
36
  /** Remove listeners. */
37
37
  cleanupListeners: undefined | (() => void);
38
38
  }, {
39
- modalClose: import("element-vir").DefineEvent<void>;
39
+ modalClose: import("element-vir").DefineElementEvent<void>;
40
40
  }, "vira-modal-phone-size" | "vira-modal-no-content-padding", "vira-modal-backdrop-filter" | "vira-modal-border-radius", readonly ["vira-modal-modal-title"], readonly []>;
@@ -40,15 +40,19 @@ export const ViraModal = defineViraElement()({
40
40
  state.cleanupListeners?.();
41
41
  },
42
42
  hostClasses: {
43
- 'vira-modal-phone-size': ({ inputs }) => !!inputs.isMobileSize,
44
- 'vira-modal-no-content-padding': ({ inputs }) => !!inputs.noContentPadding,
43
+ 'vira-modal-phone-size'({ inputs }) {
44
+ return !!inputs.isMobileSize;
45
+ },
46
+ 'vira-modal-no-content-padding'({ inputs }) {
47
+ return !!inputs.noContentPadding;
48
+ },
45
49
  },
46
50
  slotNames: ['vira-modal-modal-title'],
47
51
  cssVars: {
48
52
  'vira-modal-backdrop-filter': 'blur(3px)',
49
53
  'vira-modal-border-radius': '8px',
50
54
  },
51
- styles: ({ hostClasses, cssVars }) => {
55
+ styles({ hostClasses, cssVars }) {
52
56
  return css `
53
57
  :host {
54
58
  display: contents;
@@ -177,11 +181,13 @@ export const ViraModal = defineViraElement()({
177
181
  if (inputs.open) {
178
182
  const removers = globalEventsToCloseModalOn.map((eventName) => {
179
183
  return listenToGlobal(eventName, () => {
180
- dispatch(new events.modalClose());
184
+ dispatch(new events.modalClose({
185
+ detail: undefined,
186
+ }));
181
187
  });
182
188
  });
183
189
  updateState({
184
- cleanupListeners: () => {
190
+ cleanupListeners() {
185
191
  removers.forEach((remover) => remover());
186
192
  },
187
193
  });
@@ -190,7 +196,9 @@ export const ViraModal = defineViraElement()({
190
196
  function close() {
191
197
  if (inputs.open) {
192
198
  state.cleanupListeners?.();
193
- dispatch(new events.modalClose());
199
+ dispatch(new events.modalClose({
200
+ detail: undefined,
201
+ }));
194
202
  }
195
203
  }
196
204
  return html `
@@ -22,7 +22,7 @@ export const ViraProgress = defineViraElement()({
22
22
  'vira-progress-border-radius': '99999999px',
23
23
  'vira-progress-height': '8px',
24
24
  },
25
- styles: ({ cssVars }) => {
25
+ styles({ cssVars }) {
26
26
  return css `
27
27
  :host {
28
28
  /* Default width that can easily be overridden because it's applied on the host. */
@@ -40,5 +40,5 @@ export declare const ViraSelect: import("element-vir").DeclarativeElementDefinit
40
40
  /** Removes event listeners registered during init. */
41
41
  cleanupListeners: undefined | (() => void);
42
42
  }, {
43
- valueChange: import("element-vir").DefineEvent<string>;
43
+ valueChange: import("element-vir").DefineElementEvent<string>;
44
44
  }, "vira-select-disabled" | "vira-select-error" | "vira-select-has-label" | "vira-select-not-raw" | "vira-select-readonly", "vira-select-padding-horizontal" | "vira-select-padding-vertical" | "vira-select-icon-padding", readonly [], readonly []>;
@@ -53,13 +53,23 @@ export const ViraSelect = defineViraElement()({
53
53
  'vira-select-icon-padding': '44px',
54
54
  },
55
55
  hostClasses: {
56
- 'vira-select-disabled': ({ inputs }) => !!inputs.disabled,
57
- 'vira-select-error': ({ inputs }) => !!inputs.hasError,
58
- 'vira-select-has-label': ({ inputs }) => !!inputs.label,
59
- 'vira-select-not-raw': ({ inputs }) => !inputs.rawSelect,
60
- 'vira-select-readonly': ({ inputs }) => !!inputs.isReadonly,
56
+ 'vira-select-disabled'({ inputs }) {
57
+ return !!inputs.disabled;
58
+ },
59
+ 'vira-select-error'({ inputs }) {
60
+ return !!inputs.hasError;
61
+ },
62
+ 'vira-select-has-label'({ inputs }) {
63
+ return !!inputs.label;
64
+ },
65
+ 'vira-select-not-raw'({ inputs }) {
66
+ return !inputs.rawSelect;
67
+ },
68
+ 'vira-select-readonly'({ inputs }) {
69
+ return !!inputs.isReadonly;
70
+ },
61
71
  },
62
- styles: ({ hostClasses, cssVars }) => {
72
+ styles({ hostClasses, cssVars }) {
63
73
  return css `
64
74
  :host {
65
75
  position: relative;
@@ -287,7 +297,7 @@ export const ViraSelect = defineViraElement()({
287
297
  }),
288
298
  ];
289
299
  updateState({
290
- cleanupListeners: () => {
300
+ cleanupListeners() {
291
301
  listenerRemovers.forEach((remover) => remover());
292
302
  },
293
303
  });
@@ -352,7 +362,9 @@ export const ViraSelect = defineViraElement()({
352
362
  })
353
363
  .findIndex((option) => option.value === value);
354
364
  }
355
- dispatch(new events.valueChange(newValue));
365
+ dispatch(new events.valueChange({
366
+ detail: newValue,
367
+ }));
356
368
  })}
357
369
  ${attributes(inputs.attributePassthrough?.select)}
358
370
  >
@@ -120,5 +120,5 @@ export declare const ViraTabs: import("element-vir").DeclarativeElementDefinitio
120
120
  cleanupObserver: undefined | (() => void);
121
121
  }, {
122
122
  /** Fires when a tab is clicked with the corresponding tab entry. */
123
- tabSelect: import("element-vir").DefineEvent<Readonly<ViraTab>>;
124
- }, "vira-tabs-bar-top" | "vira-tabs-bar-bottom" | "vira-tabs-bar-left" | "vira-tabs-bar-right" | "vira-tabs-color-red" | "vira-tabs-color-yellow" | "vira-tabs-color-green" | "vira-tabs-color-blue" | "vira-tabs-color-brand" | "vira-tabs-color-purple" | "vira-tabs-color-plain" | "vira-tabs-color-neutral" | "vira-tabs-color-teal" | "vira-tabs-color-pink" | "vira-tabs-color-grey" | "vira-tabs-icon-layout-vertical" | "vira-tabs-icon-layout-horizontal" | "vira-tabs-fill-width", "vira-tabs-active-color" | "vira-tabs-active-hover-color" | "vira-tabs-inactive-color" | "vira-tabs-inactive-hover-color" | "vira-tabs-bar-thickness", readonly [], readonly []>;
123
+ tabSelect: import("element-vir").DefineElementEvent<Readonly<ViraTab>>;
124
+ }, "vira-tabs-color-red" | "vira-tabs-color-yellow" | "vira-tabs-color-green" | "vira-tabs-color-blue" | "vira-tabs-color-brand" | "vira-tabs-color-purple" | "vira-tabs-color-plain" | "vira-tabs-color-neutral" | "vira-tabs-color-teal" | "vira-tabs-color-pink" | "vira-tabs-color-grey" | "vira-tabs-icon-layout-vertical" | "vira-tabs-icon-layout-horizontal" | "vira-tabs-fill-width" | "vira-tabs-bar-top" | "vira-tabs-bar-bottom" | "vira-tabs-bar-left" | "vira-tabs-bar-right", "vira-tabs-active-color" | "vira-tabs-active-hover-color" | "vira-tabs-inactive-color" | "vira-tabs-inactive-hover-color" | "vira-tabs-bar-thickness", readonly [], readonly []>;