@vonage/vivid 3.0.0-next.16 → 3.0.0-next.19

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.
@@ -0,0 +1,34 @@
1
+ import { F as FoundationElement, _ as __decorate, a as attr, b as __metadata, h as html, d as designSystem } from '../shared/index.js';
2
+ import { s as styleInject } from '../shared/style-inject.es.js';
3
+ import { c as classNames } from '../shared/class-names.js';
4
+
5
+ var css_248z = ".base {\n display: inline-flex;\n box-sizing: border-box;\n align-items: center;\n padding: 4px;\n background-color: var(--_appearance-color-fill);\n box-shadow: 0 0 0 1px var(--_appearance-color-outline);\n color: var(--_appearance-color-text);\n column-gap: 4px;\n vertical-align: middle;\n}\n.base {\n --_appearance-color-text: var(--vvd-color-on-canvas);\n --_appearance-color-fill: var(--vvd-color-canvas);\n --_appearance-color-outline: var(--vvd-color-neutral-50);\n}\n.base.appearance-ghost {\n --_appearance-color-text: var(--connotation);\n --_appearance-color-fill: transaprent;\n --_appearance-color-outline: transaprent;\n}\n\n/* Shape */\n.base:not(.shape-pill) {\n border-radius: 6px;\n}\n\n.base.shape-pill {\n border-radius: 24px;\n}\n\n::slotted([role=separator]) {\n width: 1px;\n align-self: stretch;\n background-color: var(--vvd-color-neutral-30);\n margin-block: 4px;\n}";
6
+ styleInject(css_248z);
7
+
8
+ class ActionGroup extends FoundationElement {}
9
+
10
+ __decorate([attr, __metadata("design:type", String)], ActionGroup.prototype, "shape", void 0);
11
+
12
+ __decorate([attr, __metadata("design:type", String)], ActionGroup.prototype, "appearance", void 0);
13
+
14
+ let _ = t => t,
15
+ _t;
16
+
17
+ const getClasses = ({
18
+ appearance,
19
+ shape
20
+ }) => classNames('base', [`appearance-${appearance}`, Boolean(appearance)], [`shape-${shape}`, Boolean(shape)]);
21
+
22
+ const ActionGroupTemplate = () => html(_t || (_t = _`
23
+ <div class="${0}">
24
+ <slot></slot>
25
+ </div>`), getClasses);
26
+
27
+ const vividActionGroup = ActionGroup.compose({
28
+ baseName: 'action-group',
29
+ template: ActionGroupTemplate,
30
+ styles: css_248z
31
+ });
32
+ designSystem.register(vividActionGroup());
33
+
34
+ export { vividActionGroup };
package/banner/index.js CHANGED
@@ -13,8 +13,9 @@ import '../shared/icon.js';
13
13
  import '../shared/_has.js';
14
14
  import '../icon/index.js';
15
15
  import '../focus/index.js';
16
- import '../shared/focus2.js';
17
16
  import '../shared/focus.js';
17
+ import '../shared/button.js';
18
+ import '../shared/focus2.js';
18
19
  import '../shared/aria-global.js';
19
20
  import '../shared/text-anchor.js';
20
21
  import '../shared/anchor.js';
package/button/index.js CHANGED
@@ -3,16 +3,17 @@ import '../focus/index.js';
3
3
  import { _ as __decorate, a as attr, b as __metadata, h as html, d as designSystem } from '../shared/index.js';
4
4
  import '../shared/web.dom-collections.iterator.js';
5
5
  import { A as AffixIconWithTrailing, a as affixIconTemplateFactory } from '../shared/affix.js';
6
- import { B as Button$1, f as focusTemplateFactory } from '../shared/focus.js';
6
+ import { B as Button$1 } from '../shared/button.js';
7
7
  import { a as applyMixins } from '../shared/apply-mixins.js';
8
8
  import { s as styleInject } from '../shared/style-inject.es.js';
9
+ import { f as focusTemplateFactory } from '../shared/focus2.js';
9
10
  import { r as ref } from '../shared/aria-global.js';
10
11
  import { c as classNames } from '../shared/class-names.js';
11
12
  import '../shared/icon.js';
12
13
  import '../shared/object-set-prototype-of.js';
13
14
  import '../shared/_has.js';
14
15
  import '../shared/when.js';
15
- import '../shared/focus2.js';
16
+ import '../shared/focus.js';
16
17
 
17
18
  class Button extends Button$1 {
18
19
  constructor() {
@@ -39,7 +40,7 @@ __decorate([attr, __metadata("design:type", String)], Button.prototype, "label",
39
40
 
40
41
  applyMixins(Button, AffixIconWithTrailing);
41
42
 
42
- var css_248z = "/*\n Do not edit directly\n Generated on Wed, 27 Apr 2022 11:58:36 GMT\n*/\n:host {\n outline: 0 none;\n}\n\n.control {\n position: relative;\n display: inline-flex;\n box-sizing: border-box;\n align-items: center;\n border: 0 none;\n margin: 0;\n background-color: var(--_appearance-color-fill);\n block-size: var(--_button-block-size);\n box-shadow: inset 0 0 0 1px var(--_appearance-color-outline);\n color: var(--_appearance-color-text);\n gap: var(--_button-icon-gap);\n outline: 0 none;\n vertical-align: middle;\n /* Size */\n}\n.control.connotation-cta {\n --connotation: var(--vvd-color-cta);\n --on-connotation: var(--vvd-color-on-cta);\n --connotation-basis: var(--vvd-color-cta);\n --connotation-basis-increment: var(--vvd-color-cta-70);\n --connotation-contrast: var(--vvd-color-cta-90);\n --connotation-fierce: var(--vvd-color-cta-80);\n --connotation-firm: var(--vvd-color-cta-70);\n --connotation-soft: var(--vvd-color-cta-20);\n --connotation-pale: var(--vvd-color-cta-10);\n}\n.control.connotation-success {\n --connotation: var(--vvd-color-success);\n --on-connotation: var(--vvd-color-on-success);\n --connotation-basis: var(--vvd-color-success);\n --connotation-basis-increment: var(--vvd-color-success-70);\n --connotation-contrast: var(--vvd-color-success-90);\n --connotation-fierce: var(--vvd-color-success-80);\n --connotation-firm: var(--vvd-color-success-70);\n --connotation-soft: var(--vvd-color-success-20);\n --connotation-pale: var(--vvd-color-success-10);\n}\n.control.connotation-alert {\n --connotation: var(--vvd-color-alert);\n --on-connotation: var(--vvd-color-on-alert);\n --connotation-basis: var(--vvd-color-alert);\n --connotation-basis-increment: var(--vvd-color-alert-70);\n --connotation-contrast: var(--vvd-color-alert-90);\n --connotation-fierce: var(--vvd-color-alert-80);\n --connotation-firm: var(--vvd-color-alert-70);\n --connotation-soft: var(--vvd-color-alert-20);\n --connotation-pale: var(--vvd-color-alert-10);\n}\n.control:not(.connotation-cta, .connotation-success, .connotation-alert) {\n --connotation: var(--vvd-color-primary);\n --on-connotation: var(--vvd-color-on-primary);\n --connotation-basis: var(--vvd-color-neutral);\n --connotation-basis-increment: var(--vvd-color-neutral-90);\n --connotation-contrast: var(--vvd-color-neutral-90);\n --connotation-fierce: var(--vvd-color-neutral-80);\n --connotation-firm: var(--vvd-color-primary);\n --connotation-soft: var(--vvd-color-neutral-20);\n --connotation-pale: var(--vvd-color-neutral-10);\n}\n.control.appearance-filled {\n --_appearance-color-text: var(--on-connotation);\n --_appearance-color-fill: var(--connotation);\n --_appearance-color-outline: transaprent;\n}\n.control.appearance-outlined {\n --_appearance-color-text: var(--connotation-firm);\n --_appearance-color-fill: transaprent;\n --_appearance-color-outline: var(--connotation-firm);\n}\n.control {\n --_appearance-color-text: var(--connotation);\n --_appearance-color-fill: transaprent;\n --_appearance-color-outline: transaprent;\n}\n.control:hover:not(:disabled, .disabled).appearance-filled, .control.hovered:not(:disabled, .disabled).appearance-filled {\n --_appearance-color-text: var(--on-connotation);\n --_appearance-color-fill: var(--connotation-basis-increment);\n --_appearance-color-outline: transaprent;\n}\n.control:hover:not(:disabled, .disabled).appearance-outlined, .control.hovered:not(:disabled, .disabled).appearance-outlined {\n --_appearance-color-text: var(--connotation-firm);\n --_appearance-color-fill: var(--connotation-pale);\n --_appearance-color-outline: var(--connotation-firm);\n}\n.control:hover:not(:disabled, .disabled), .control.hovered:not(:disabled, .disabled) {\n --_appearance-color-text: var(--connotation);\n --_appearance-color-fill: var(--connotation-pale);\n --_appearance-color-outline: transaprent;\n}\n.control:disabled.appearance-filled, .control.disabled.appearance-filled {\n --_appearance-color-text: var(--vvd-color-neutral-50);\n --_appearance-color-fill: var(--vvd-color-neutral-30);\n --_appearance-color-outline: transaprent;\n}\n.control:disabled.appearance-outlined, .control.disabled.appearance-outlined {\n --_appearance-color-text: var(--vvd-color-neutral-50);\n --_appearance-color-fill: transaprent;\n --_appearance-color-outline: var(--vvd-color-neutral-50);\n}\n.control:disabled, .control.disabled {\n --_appearance-color-text: var(--vvd-color-neutral-50);\n --_appearance-color-fill: transaprent;\n --_appearance-color-outline: transaprent;\n}\n.control:active:not(:disabled, .disabled).appearance-filled, .control.active:not(:disabled, .disabled).appearance-filled {\n --_appearance-color-text: var(--on-connotation);\n --_appearance-color-fill: var(--connotation-fierce);\n --_appearance-color-outline: transaprent;\n}\n.control:active:not(:disabled, .disabled).appearance-outlined, .control.active:not(:disabled, .disabled).appearance-outlined {\n --_appearance-color-text: var(--connotation-firm);\n --_appearance-color-fill: var(--connotation-soft);\n --_appearance-color-outline: var(--connotation-firm);\n}\n.control:active:not(:disabled, .disabled), .control.active:not(:disabled, .disabled) {\n --_appearance-color-text: var(--connotation);\n --_appearance-color-fill: var(--connotation-soft);\n --_appearance-color-outline: transaprent;\n}\n.control:not(:disabled) {\n cursor: pointer;\n}\n.control:disabled {\n cursor: not-allowed;\n}\n.control.icon-only {\n contain: size;\n padding-inline: 0;\n place-content: center;\n}\n@supports (aspect-ratio: 1) {\n .control.icon-only {\n aspect-ratio: 1;\n }\n}\n@supports not (aspect-ratio: 1) {\n .control.icon-only {\n inline-size: var(--_button-block-size);\n }\n}\n.control:not(.stacked).density-condensed {\n --_button-block-size: 32px;\n font: 600 ultra-condensed 12px / 16px SpeziaWebVariable;\n letter-spacing: 0px;\n text-decoration: none;\n text-transform: none;\n}\n.control:not(.stacked).density-condensed:not(.icon-only) {\n --_button-icon-gap: 8px;\n padding-inline: 12px;\n}\n.control:not(.stacked).density-condensed .icon {\n font-size: 16px;\n}\n.control:not(.stacked).density-extended {\n --_button-block-size: 48px;\n font: 600 ultra-condensed 16px / 24px SpeziaWebVariable;\n letter-spacing: 0px;\n text-decoration: none;\n text-transform: none;\n}\n.control:not(.stacked).density-extended:not(.icon-only) {\n --_button-icon-gap: 10px;\n padding-inline: 20px;\n}\n.control:not(.stacked).density-extended .icon {\n font-size: 24px;\n}\n.control:not(.stacked):not(.density-condensed, .density-extended) {\n --_button-block-size: 40px;\n font: 600 ultra-condensed 14px / 100% SpeziaWebVariable;\n letter-spacing: 0px;\n text-decoration: none;\n text-transform: none;\n}\n.control:not(.stacked):not(.density-condensed, .density-extended):not(.icon-only) {\n --_button-icon-gap: 8px;\n padding-inline: 16px;\n}\n.control:not(.stacked):not(.density-condensed, .density-extended) .icon {\n font-size: 20px;\n}\n.control.stacked {\n flex-direction: column;\n justify-content: center;\n --_button-block-size: 68px;\n font: 600 ultra-condensed 14px / 20px SpeziaWebVariable;\n letter-spacing: 0px;\n text-decoration: none;\n text-transform: none;\n}\n.control.stacked:not(.icon-only) {\n --_button-icon-gap: 10px;\n padding-inline: 16px;\n}\n.control.stacked .icon {\n font-size: 20px;\n}\n\n/* Shape */\n.control:not(.shape-pill:not(.stacked)) {\n border-radius: 6px;\n}\n\n.control.shape-pill:not(.stacked):not(.icon-only) {\n border-radius: 24px;\n}\n.control.shape-pill:not(.stacked).icon-only {\n border-radius: 50%;\n}\n\n/* Icon */\n.icon-trailing .icon {\n order: 1;\n}\n\n:not(:focus) > .focus-indicator {\n display: none;\n}\n.appearance-outlined .focus-indicator, .appearance-ghost .focus-indicator {\n --focus-stroke-gap-color: transparent;\n}";
43
+ var css_248z = "/*\n Do not edit directly\n Generated on Wed, 27 Apr 2022 11:58:36 GMT\n*/\n:host {\n outline: 0 none;\n}\n\n.control {\n position: relative;\n display: inline-flex;\n box-sizing: border-box;\n align-items: center;\n border: 0 none;\n margin: 0;\n background-color: var(--_appearance-color-fill);\n block-size: var(--_button-block-size);\n box-shadow: inset 0 0 0 1px var(--_appearance-color-outline);\n color: var(--_appearance-color-text);\n gap: var(--_button-icon-gap);\n outline: 0 none;\n vertical-align: middle;\n /* Size */\n}\n.control.connotation-cta {\n --connotation: var(--vvd-color-cta);\n --on-connotation: var(--vvd-color-on-cta);\n --connotation-basis: var(--vvd-color-cta);\n --connotation-basis-increment: var(--vvd-color-cta-70);\n --connotation-contrast: var(--vvd-color-cta-90);\n --connotation-fierce: var(--vvd-color-cta-80);\n --connotation-firm: var(--vvd-color-cta-70);\n --connotation-soft: var(--vvd-color-cta-20);\n --connotation-pale: var(--vvd-color-cta-10);\n}\n.control.connotation-success {\n --connotation: var(--vvd-color-success);\n --on-connotation: var(--vvd-color-on-success);\n --connotation-basis: var(--vvd-color-success);\n --connotation-basis-increment: var(--vvd-color-success-70);\n --connotation-contrast: var(--vvd-color-success-90);\n --connotation-fierce: var(--vvd-color-success-80);\n --connotation-firm: var(--vvd-color-success-70);\n --connotation-soft: var(--vvd-color-success-20);\n --connotation-pale: var(--vvd-color-success-10);\n}\n.control.connotation-alert {\n --connotation: var(--vvd-color-alert);\n --on-connotation: var(--vvd-color-on-alert);\n --connotation-basis: var(--vvd-color-alert);\n --connotation-basis-increment: var(--vvd-color-alert-70);\n --connotation-contrast: var(--vvd-color-alert-90);\n --connotation-fierce: var(--vvd-color-alert-80);\n --connotation-firm: var(--vvd-color-alert-70);\n --connotation-soft: var(--vvd-color-alert-20);\n --connotation-pale: var(--vvd-color-alert-10);\n}\n.control:not(.connotation-cta, .connotation-success, .connotation-alert) {\n --connotation: var(--vvd-color-primary);\n --on-connotation: var(--vvd-color-on-primary);\n --connotation-basis: var(--vvd-color-neutral);\n --connotation-basis-increment: var(--vvd-color-neutral-90);\n --connotation-contrast: var(--vvd-color-neutral-90);\n --connotation-fierce: var(--vvd-color-neutral-80);\n --connotation-firm: var(--vvd-color-primary);\n --connotation-soft: var(--vvd-color-neutral-20);\n --connotation-pale: var(--vvd-color-neutral-10);\n}\n.control.appearance-filled {\n --_appearance-color-text: var(--on-connotation);\n --_appearance-color-fill: var(--connotation);\n --_appearance-color-outline: transaprent;\n}\n.control.appearance-outlined {\n --_appearance-color-text: var(--connotation-firm);\n --_appearance-color-fill: transaprent;\n --_appearance-color-outline: var(--connotation-firm);\n}\n.control {\n --_appearance-color-text: var(--connotation);\n --_appearance-color-fill: transaprent;\n --_appearance-color-outline: transaprent;\n}\n.control:where(:hover, .hover):where(:not(:disabled, .disabled)).appearance-filled {\n --_appearance-color-text: var(--on-connotation);\n --_appearance-color-fill: var(--connotation-basis-increment);\n --_appearance-color-outline: transaprent;\n}\n.control:where(:hover, .hover):where(:not(:disabled, .disabled)).appearance-outlined {\n --_appearance-color-text: var(--connotation-firm);\n --_appearance-color-fill: var(--connotation-pale);\n --_appearance-color-outline: var(--connotation-firm);\n}\n.control:where(:hover, .hover):where(:not(:disabled, .disabled)) {\n --_appearance-color-text: var(--connotation);\n --_appearance-color-fill: var(--connotation-pale);\n --_appearance-color-outline: transaprent;\n}\n.control:where(:disabled, .disabled).appearance-filled {\n --_appearance-color-text: var(--vvd-color-neutral-50);\n --_appearance-color-fill: var(--vvd-color-neutral-30);\n --_appearance-color-outline: transaprent;\n}\n.control:where(:disabled, .disabled).appearance-outlined {\n --_appearance-color-text: var(--vvd-color-neutral-50);\n --_appearance-color-fill: transaprent;\n --_appearance-color-outline: var(--vvd-color-neutral-50);\n}\n.control:where(:disabled, .disabled) {\n --_appearance-color-text: var(--vvd-color-neutral-50);\n --_appearance-color-fill: transaprent;\n --_appearance-color-outline: transaprent;\n}\n.control:where(:active, .active):where(:not(:disabled, .disabled)).appearance-filled {\n --_appearance-color-text: var(--on-connotation);\n --_appearance-color-fill: var(--connotation-fierce);\n --_appearance-color-outline: transaprent;\n}\n.control:where(:active, .active):where(:not(:disabled, .disabled)).appearance-outlined {\n --_appearance-color-text: var(--connotation-firm);\n --_appearance-color-fill: var(--connotation-soft);\n --_appearance-color-outline: var(--connotation-firm);\n}\n.control:where(:active, .active):where(:not(:disabled, .disabled)) {\n --_appearance-color-text: var(--connotation);\n --_appearance-color-fill: var(--connotation-soft);\n --_appearance-color-outline: transaprent;\n}\n.control:not(:disabled) {\n cursor: pointer;\n}\n.control:disabled {\n cursor: not-allowed;\n}\n.control.icon-only {\n contain: size;\n padding-inline: 0;\n place-content: center;\n}\n@supports (aspect-ratio: 1) {\n .control.icon-only {\n aspect-ratio: 1;\n }\n}\n@supports not (aspect-ratio: 1) {\n .control.icon-only {\n inline-size: var(--_button-block-size);\n }\n}\n.control:not(.stacked).density-condensed {\n --_button-block-size: 32px;\n font: 600 ultra-condensed 12px / 16px SpeziaWebVariable;\n letter-spacing: 0px;\n text-decoration: none;\n text-transform: none;\n}\n.control:not(.stacked).density-condensed:not(.icon-only) {\n --_button-icon-gap: 8px;\n padding-inline: 12px;\n}\n.control:not(.stacked).density-condensed .icon {\n font-size: 16px;\n}\n.control:not(.stacked).density-extended {\n --_button-block-size: 48px;\n font: 600 ultra-condensed 16px / 24px SpeziaWebVariable;\n letter-spacing: 0px;\n text-decoration: none;\n text-transform: none;\n}\n.control:not(.stacked).density-extended:not(.icon-only) {\n --_button-icon-gap: 10px;\n padding-inline: 20px;\n}\n.control:not(.stacked).density-extended .icon {\n font-size: 24px;\n}\n.control:not(.stacked):not(.density-condensed, .density-extended) {\n --_button-block-size: 40px;\n font: 600 ultra-condensed 14px / 100% SpeziaWebVariable;\n letter-spacing: 0px;\n text-decoration: none;\n text-transform: none;\n}\n.control:not(.stacked):not(.density-condensed, .density-extended):not(.icon-only) {\n --_button-icon-gap: 8px;\n padding-inline: 16px;\n}\n.control:not(.stacked):not(.density-condensed, .density-extended) .icon {\n font-size: 20px;\n}\n.control.stacked {\n flex-direction: column;\n justify-content: center;\n --_button-block-size: 68px;\n font: 600 ultra-condensed 14px / 20px SpeziaWebVariable;\n letter-spacing: 0px;\n text-decoration: none;\n text-transform: none;\n}\n.control.stacked:not(.icon-only) {\n --_button-icon-gap: 10px;\n padding-inline: 16px;\n}\n.control.stacked .icon {\n font-size: 20px;\n}\n\n/* Shape */\n.control:not(.shape-pill:not(.stacked)) {\n border-radius: 6px;\n}\n\n.control.shape-pill:not(.stacked):not(.icon-only) {\n border-radius: 24px;\n}\n.control.shape-pill:not(.stacked).icon-only {\n border-radius: 50%;\n}\n\n/* Icon */\n.icon-trailing .icon {\n order: 1;\n}\n\n:not(:focus) > .focus-indicator {\n display: none;\n}\n.appearance-outlined .focus-indicator, .appearance-ghost .focus-indicator {\n --focus-stroke-gap-color: transparent;\n}";
43
44
  styleInject(css_248z);
44
45
 
45
46
  let _ = t => t,
package/card/index.js CHANGED
@@ -10,14 +10,15 @@ import '../shared/icon.js';
10
10
  import '../shared/object-set-prototype-of.js';
11
11
  import '../shared/_has.js';
12
12
  import '../focus/index.js';
13
- import '../shared/focus2.js';
13
+ import '../shared/focus.js';
14
14
  import '../shared/web.dom-collections.iterator.js';
15
15
  import '../shared/affix.js';
16
- import '../shared/focus.js';
16
+ import '../shared/button.js';
17
17
  import '../shared/apply-mixins.js';
18
+ import '../shared/focus2.js';
18
19
  import '../shared/aria-global.js';
19
20
 
20
- var css_248z = "/*\n Do not edit directly\n Generated on Wed, 27 Apr 2022 11:58:36 GMT\n*/\n.control {\n block-size: 100%;\n border-radius: 6px;\n}\n\n.wrapper {\n display: flex;\n overflow: hidden;\n flex-flow: column;\n block-size: inherit;\n border-radius: inherit;\n color: var(--vvd-color-on-canvas);\n}\n\n.content {\n display: flex;\n flex-flow: column;\n padding: 1.5rem;\n}\n.content-container {\n display: flex;\n gap: 0.5rem;\n}\n\n.header {\n display: flex;\n flex: 1;\n align-items: flex-start;\n gap: 0.5rem;\n}\n.header-content {\n flex: 1;\n}\n.header-title, .header-subheading {\n /* stylelint-disable value-no-vendor-prefix */\n display: -webkit-box;\n /* stylelint-enable value-no-vendor-prefix */\n overflow: hidden;\n -webkit-box-orient: vertical;\n}\n.header-title {\n font: 500 condensed 20px / 28px SpeziaWebVariable;\n letter-spacing: 0px;\n text-decoration: none;\n text-transform: none;\n -webkit-line-clamp: var(--heading-line-clamp);\n}\n.header-subheading {\n font: 400 ultra-condensed 14px / 20px SpeziaWebVariable;\n letter-spacing: 0px;\n text-decoration: none;\n text-transform: none;\n -webkit-line-clamp: var(--subheading-line-clamp);\n}\n.hide-header .header {\n display: none;\n}\n\n.header-subheading,\n.text {\n font: 400 ultra-condensed 14px / 20px SpeziaWebVariable;\n letter-spacing: 0px;\n text-decoration: none;\n text-transform: none;\n color: var(--vvd-color-neutral-70);\n}\n\n.text {\n padding-right: 8px;\n margin-top: 12px;\n}\n\n.footer {\n display: inline-flex;\n flex-direction: column;\n align-items: flex-end;\n padding-bottom: 1.5rem;\n margin-top: auto;\n padding-inline: 1.5rem;\n}\n.hide-footer .footer {\n display: none;\n}\n\n::slotted([slot=graphic i]),\n.icon {\n flex-shrink: 0;\n align-self: baseline;\n margin-block-start: 4px;\n}\n\n.icon {\n font-size: 20px;\n}\n\n::slotted([slot=meta i]) {\n flex-shrink: 0;\n align-self: flex-start;\n margin-block-start: -0.5rem;\n margin-inline-end: -0.5rem;\n margin-inline-start: auto;\n}\n\nvwc-elevation {\n block-size: inherit;\n}\nvwc-elevation::part(base) {\n block-size: inherit;\n}";
21
+ var css_248z = "/*\n Do not edit directly\n Generated on Wed, 27 Apr 2022 11:58:36 GMT\n*/\n:host {\n display: block;\n}\n@supports ((block-size: -moz-fit-content) or (block-size: fit-content)) and ((inline-size: -moz-fit-content) or (inline-size: fit-content)) {\n :host {\n block-size: -moz-fit-content;\n block-size: fit-content;\n inline-size: -moz-fit-content;\n inline-size: fit-content;\n }\n}\n\n.control {\n block-size: 100%;\n border-radius: 6px;\n}\n\n.wrapper {\n display: flex;\n overflow: hidden;\n flex-flow: column;\n block-size: inherit;\n border-radius: inherit;\n color: var(--vvd-color-on-canvas);\n}\n\n.content {\n display: flex;\n flex-flow: column;\n padding: 1.5rem;\n}\n.content-container {\n display: flex;\n gap: 0.5rem;\n}\n\n.header {\n display: flex;\n flex: 1;\n align-items: flex-start;\n gap: 0.5rem;\n}\n.header-content {\n flex: 1;\n}\n.header-title, .header-subheading {\n /* stylelint-disable value-no-vendor-prefix */\n display: -webkit-box;\n /* stylelint-enable value-no-vendor-prefix */\n overflow: hidden;\n -webkit-box-orient: vertical;\n}\n.header-title {\n font: 500 condensed 20px / 28px SpeziaWebVariable;\n letter-spacing: 0px;\n text-decoration: none;\n text-transform: none;\n -webkit-line-clamp: var(--heading-line-clamp);\n}\n.header-subheading {\n font: 400 ultra-condensed 14px / 20px SpeziaWebVariable;\n letter-spacing: 0px;\n text-decoration: none;\n text-transform: none;\n -webkit-line-clamp: var(--subheading-line-clamp);\n}\n.hide-header .header {\n display: none;\n}\n\n.header-subheading,\n.text {\n font: 400 ultra-condensed 14px / 20px SpeziaWebVariable;\n letter-spacing: 0px;\n text-decoration: none;\n text-transform: none;\n color: var(--vvd-color-neutral-70);\n}\n\n.text {\n padding-right: 8px;\n margin-top: 12px;\n}\n\n.footer {\n display: inline-flex;\n flex-direction: column;\n align-items: flex-end;\n padding-bottom: 1.5rem;\n margin-top: auto;\n padding-inline: 1.5rem;\n}\n.hide-footer .footer {\n display: none;\n}\n\n::slotted([slot=graphic i]),\n.icon {\n flex-shrink: 0;\n align-self: baseline;\n margin-block-start: 4px;\n}\n\n.icon {\n font-size: 20px;\n}\n\n::slotted([slot=meta i]) {\n flex-shrink: 0;\n align-self: flex-start;\n margin-block-start: -0.5rem;\n margin-inline-end: -0.5rem;\n margin-inline-start: auto;\n}\n\nvwc-elevation {\n block-size: inherit;\n}\nvwc-elevation::part(base) {\n block-size: inherit;\n}";
21
22
  styleInject(css_248z);
22
23
 
23
24
  class Card extends FoundationElement {}
package/fab/index.js CHANGED
@@ -3,18 +3,19 @@ import '../focus/index.js';
3
3
  import { _ as __decorate, a as attr, b as __metadata, h as html, d as designSystem } from '../shared/index.js';
4
4
  import { s as styleInject } from '../shared/style-inject.es.js';
5
5
  import { A as AffixIconWithTrailing, a as affixIconTemplateFactory } from '../shared/affix.js';
6
- import { B as Button, f as focusTemplateFactory } from '../shared/focus.js';
6
+ import { B as Button } from '../shared/button.js';
7
7
  import { a as applyMixins } from '../shared/apply-mixins.js';
8
+ import { f as focusTemplateFactory } from '../shared/focus2.js';
8
9
  import { r as ref } from '../shared/aria-global.js';
9
10
  import { c as classNames } from '../shared/class-names.js';
10
11
  import '../shared/icon.js';
11
12
  import '../shared/object-set-prototype-of.js';
12
13
  import '../shared/_has.js';
13
14
  import '../shared/when.js';
14
- import '../shared/focus2.js';
15
+ import '../shared/focus.js';
15
16
  import '../shared/web.dom-collections.iterator.js';
16
17
 
17
- var css_248z = "/*\n Do not edit directly\n Generated on Wed, 27 Apr 2022 11:58:36 GMT\n*/\n.control {\n font: 600 ultra-condensed 16px / 24px SpeziaWebVariable;\n letter-spacing: 0px;\n text-decoration: none;\n text-transform: none;\n --_fab-block-size: 48px;\n position: relative;\n display: inline-flex;\n box-sizing: border-box;\n align-items: center;\n border: 0 none;\n background-color: var(--_appearance-color-fill);\n block-size: var(--_fab-block-size);\n border-radius: 24px;\n color: var(--_appearance-color-text);\n column-gap: var(--fab-icon-gap);\n filter: var(--_elevation-shadow);\n outline: 0 none;\n vertical-align: middle;\n}\n.control.connotation-cta {\n --connotation: var(--vvd-color-cta);\n --on-connotation: var(--vvd-color-on-cta);\n --connotation-basis: var(--vvd-color-cta);\n --connotation-basis-increment: var(--vvd-color-cta-70);\n --connotation-contrast: var(--vvd-color-cta-90);\n --connotation-fierce: var(--vvd-color-cta-80);\n --connotation-firm: var(--vvd-color-cta-70);\n}\n.control.connotation-primary {\n --connotation: var(--vvd-color-primary);\n --on-connotation: var(--vvd-color-on-primary);\n --connotation-basis: var(--vvd-color-neutral);\n --connotation-basis-increment: var(--vvd-color-neutral-90);\n --connotation-contrast: var(--vvd-color-neutral-90);\n --connotation-fierce: var(--vvd-color-neutral-80);\n --connotation-firm: var(--vvd-color-primary);\n}\n.control:not(.connotation-cta, .connotation-primary) {\n --connotation: var(--vvd-color-canvas);\n --on-connotation: var(--vvd-color-on-canvas);\n --connotation-basis: var(--vvd-color-canvas);\n --connotation-basis-increment: var(--vvd-color-neutral-20);\n --connotation-contrast: var(--vvd-color-on-canvas);\n --connotation-fierce: var(--vvd-color-neutral-30);\n --connotation-firm: var(--vvd-color-primary);\n}\n.control {\n --_appearance-color-text: var(--on-connotation);\n --_appearance-color-fill: var(--connotation);\n --_appearance-color-outline: transaprent;\n}\n.control:hover:not(:disabled, .disabled), .control.hovered:not(:disabled, .disabled) {\n --_appearance-color-text: var(--on-connotation);\n --_appearance-color-fill: var(--connotation-basis-increment);\n --_appearance-color-outline: transaprent;\n}\n.control:disabled, .control.disabled {\n --_appearance-color-text: var(--vvd-color-neutral-50);\n --_appearance-color-fill: var(--vvd-color-neutral-30);\n --_appearance-color-outline: transaprent;\n}\n.control:active:not(:disabled, .disabled), .control.active:not(:disabled, .disabled) {\n --_appearance-color-text: var(--on-connotation);\n --_appearance-color-fill: var(--connotation-fierce);\n --_appearance-color-outline: transaprent;\n}\n.control.icon-only {\n border-radius: 50%;\n padding-inline: 0;\n place-content: center;\n}\n@supports (aspect-ratio: 1) {\n .control.icon-only {\n aspect-ratio: 1;\n }\n}\n@supports not (aspect-ratio: 1) {\n .control.icon-only {\n inline-size: var(--_fab-block-size);\n }\n}\n.control:not(.icon-only) {\n --fab-icon-gap: 10px;\n padding-inline: 20px;\n}\n.control:disabled {\n --_elevation-fill: var(--vvd-color-surface-0dp);\n --_elevation-shadow: var(--vvd-shadow-surface-0dp);\n cursor: not-allowed;\n}\n.control:not(:disabled) {\n --_elevation-fill: var(--vvd-color-surface-4dp);\n --_elevation-shadow: var(--vvd-shadow-surface-4dp);\n cursor: pointer;\n}\n.control:not(:disabled):active {\n --_elevation-fill: var(--vvd-color-surface-8dp);\n --_elevation-shadow: var(--vvd-shadow-surface-8dp);\n}\n\n/* Icon */\n.icon {\n font-size: 24px;\n}\n.icon-trailing .icon {\n order: 1;\n}\n\n:not(:focus) .focus-indicator {\n display: none;\n}";
18
+ var css_248z = "/*\n Do not edit directly\n Generated on Wed, 27 Apr 2022 11:58:36 GMT\n*/\n.control {\n font: 600 ultra-condensed 16px / 24px SpeziaWebVariable;\n letter-spacing: 0px;\n text-decoration: none;\n text-transform: none;\n --_fab-block-size: 48px;\n position: relative;\n display: inline-flex;\n box-sizing: border-box;\n align-items: center;\n border: 0 none;\n background-color: var(--_appearance-color-fill);\n block-size: var(--_fab-block-size);\n border-radius: 24px;\n color: var(--_appearance-color-text);\n column-gap: var(--fab-icon-gap);\n filter: var(--_elevation-shadow);\n outline: 0 none;\n vertical-align: middle;\n}\n.control.connotation-cta {\n --connotation: var(--vvd-color-cta);\n --on-connotation: var(--vvd-color-on-cta);\n --connotation-basis: var(--vvd-color-cta);\n --connotation-basis-increment: var(--vvd-color-cta-70);\n --connotation-contrast: var(--vvd-color-cta-90);\n --connotation-fierce: var(--vvd-color-cta-80);\n --connotation-firm: var(--vvd-color-cta-70);\n}\n.control.connotation-primary {\n --connotation: var(--vvd-color-primary);\n --on-connotation: var(--vvd-color-on-primary);\n --connotation-basis: var(--vvd-color-neutral);\n --connotation-basis-increment: var(--vvd-color-neutral-90);\n --connotation-contrast: var(--vvd-color-neutral-90);\n --connotation-fierce: var(--vvd-color-neutral-80);\n --connotation-firm: var(--vvd-color-primary);\n}\n.control:not(.connotation-cta, .connotation-primary) {\n --connotation: var(--vvd-color-canvas);\n --on-connotation: var(--vvd-color-on-canvas);\n --connotation-basis: var(--vvd-color-canvas);\n --connotation-basis-increment: var(--vvd-color-neutral-20);\n --connotation-contrast: var(--vvd-color-on-canvas);\n --connotation-fierce: var(--vvd-color-neutral-30);\n --connotation-firm: var(--vvd-color-primary);\n}\n.control {\n --_appearance-color-text: var(--on-connotation);\n --_appearance-color-fill: var(--connotation);\n --_appearance-color-outline: transaprent;\n}\n.control:where(:hover, .hover):where(:not(:disabled, .disabled)) {\n --_appearance-color-text: var(--on-connotation);\n --_appearance-color-fill: var(--connotation-basis-increment);\n --_appearance-color-outline: transaprent;\n}\n.control:where(:disabled, .disabled) {\n --_appearance-color-text: var(--vvd-color-neutral-50);\n --_appearance-color-fill: var(--vvd-color-neutral-30);\n --_appearance-color-outline: transaprent;\n}\n.control:where(:active, .active):where(:not(:disabled, .disabled)) {\n --_appearance-color-text: var(--on-connotation);\n --_appearance-color-fill: var(--connotation-fierce);\n --_appearance-color-outline: transaprent;\n}\n.control.icon-only {\n border-radius: 50%;\n padding-inline: 0;\n place-content: center;\n}\n@supports (aspect-ratio: 1) {\n .control.icon-only {\n aspect-ratio: 1;\n }\n}\n@supports not (aspect-ratio: 1) {\n .control.icon-only {\n inline-size: var(--_fab-block-size);\n }\n}\n.control:not(.icon-only) {\n --fab-icon-gap: 10px;\n padding-inline: 20px;\n}\n.control:disabled {\n --_elevation-fill: var(--vvd-color-surface-0dp);\n --_elevation-shadow: var(--vvd-shadow-surface-0dp);\n cursor: not-allowed;\n}\n.control:not(:disabled) {\n --_elevation-fill: var(--vvd-color-surface-4dp);\n --_elevation-shadow: var(--vvd-shadow-surface-4dp);\n cursor: pointer;\n}\n.control:not(:disabled):active {\n --_elevation-fill: var(--vvd-color-surface-8dp);\n --_elevation-shadow: var(--vvd-shadow-surface-8dp);\n}\n\n/* Icon */\n.icon {\n font-size: 24px;\n}\n.icon-trailing .icon {\n order: 1;\n}\n\n:not(:focus) .focus-indicator {\n display: none;\n}";
18
19
  styleInject(css_248z);
19
20
 
20
21
  class Fab extends Button {}
package/focus/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { h as html, d as designSystem } from '../shared/index.js';
2
- import { F as Focus } from '../shared/focus2.js';
2
+ import { F as Focus } from '../shared/focus.js';
3
3
  import { s as styleInject } from '../shared/style-inject.es.js';
4
4
 
5
5
  var css_248z = ":host {\n display: contents;\n border-radius: inherit;\n}\n\n.control {\n position: absolute;\n box-sizing: border-box;\n border-radius: inherit;\n box-shadow: inset 0 0 0 2px var(--focus-stroke-color, var(--vvd-color-on-canvas)), inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);\n inset: 0;\n}";
package/index.js CHANGED
@@ -1,5 +1,6 @@
1
1
  export { vividAccordion } from './accordion/index.js';
2
2
  export { vividAccordionItem } from './accordion-item/index.js';
3
+ export { vividActionGroup } from './action-group/index.js';
3
4
  export { vividBadge } from './badge/index.js';
4
5
  export { vividBanner } from './banner/index.js';
5
6
  export { vividBreadcrumb } from './breadcrumb/index.js';
@@ -18,6 +19,7 @@ export { vividProgressRing } from './progress-ring/index.js';
18
19
  export { vividSideDrawer } from './side-drawer/index.js';
19
20
  export { vividSidenavItem } from './sidenav-item/index.js';
20
21
  export { vividText } from './text/index.js';
22
+ export { vividTextfield } from './text-field/index.js';
21
23
  export { vividTooltip } from './tooltip/index.js';
22
24
  export { d as designSystem, p as provideVividDesignSystem } from './shared/index.js';
23
25
  import './shared/style-inject.es.js';
@@ -36,8 +38,9 @@ import './shared/anchor.js';
36
38
  import './shared/aria-global.js';
37
39
  import './shared/text-anchor.template.js';
38
40
  import './focus/index.js';
39
- import './shared/focus2.js';
40
41
  import './shared/focus.js';
42
+ import './shared/button.js';
43
+ import './shared/focus2.js';
41
44
  import './shared/breadcrumb-item.js';
42
45
  import './shared/slotted.js';
43
46
  import './shared/es.object.assign.js';
@@ -0,0 +1,9 @@
1
+ import { FoundationElement } from '@microsoft/fast-foundation';
2
+ import type { Appearance, Shape } from '../enums.js';
3
+ export declare type ActionGroupAppearance = Extract<Appearance, Appearance.Filled | Appearance.Outlined | Appearance.Ghost>;
4
+ declare type ActionGroupShape = Extract<Shape, Shape.Rounded | Shape.Pill>;
5
+ export declare class ActionGroup extends FoundationElement {
6
+ shape?: ActionGroupShape;
7
+ appearance?: ActionGroupAppearance;
8
+ }
9
+ export {};
@@ -0,0 +1,4 @@
1
+ import type { ViewTemplate } from '@microsoft/fast-element';
2
+ import type { ElementDefinitionContext, FoundationElementDefinition } from '@microsoft/fast-foundation';
3
+ import type { ActionGroup } from './action-group';
4
+ export declare const ActionGroupTemplate: (context: ElementDefinitionContext, definition: FoundationElementDefinition) => ViewTemplate<ActionGroup>;
@@ -0,0 +1,2 @@
1
+ import type { FoundationElementDefinition } from '@microsoft/fast-foundation';
2
+ export declare const vividActionGroup: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<FoundationElementDefinition> | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry<FoundationElementDefinition, import("@microsoft/fast-element").Constructable<import("@microsoft/fast-foundation").FoundationElement>>;
@@ -1,5 +1,6 @@
1
1
  export * from './accordion';
2
2
  export * from './accordion-item';
3
+ export * from './action-group';
3
4
  export * from './badge';
4
5
  export * from './banner';
5
6
  export * from './breadcrumb';
@@ -18,4 +19,5 @@ export * from './progress-ring';
18
19
  export * from './side-drawer';
19
20
  export * from './sidenav-item';
20
21
  export * from './text';
22
+ export * from './text-field';
21
23
  export * from './tooltip';
package/lib/enums.d.ts CHANGED
@@ -18,10 +18,10 @@ export declare enum Shape {
18
18
  Sharp = "sharp"
19
19
  }
20
20
  export declare enum Appearance {
21
- Text = "text",
22
21
  Filled = "filled",
23
22
  Outlined = "outlined",
24
23
  Duotone = "duotone",
24
+ Fieldset = "fieldset",
25
25
  Subtle = "subtle",
26
26
  Ghost = "ghost"
27
27
  }
@@ -0,0 +1,4 @@
1
+ import '../icon';
2
+ import '../focus';
3
+ import type { FoundationElementDefinition } from '@microsoft/fast-foundation';
4
+ export declare const vividTextfield: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<FoundationElementDefinition> | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry<FoundationElementDefinition, import("@microsoft/fast-element").Constructable<import("@microsoft/fast-foundation").FoundationElement>>;
@@ -0,0 +1,20 @@
1
+ import { TextField as FoundationTextfield } from '@microsoft/fast-foundation';
2
+ import type { Appearance, Density, Shape } from '../enums';
3
+ import { AffixIcon } from '../../shared/patterns';
4
+ declare type TextFieldDensity = Extract<Density, Density.Normal | Density.Extended>;
5
+ declare type TextFieldAppearance = Extract<Appearance, Appearance.Outlined | Appearance.Ghost>;
6
+ declare type TextFieldShape = Extract<Shape, Shape.Rounded | Shape.Pill>;
7
+ export declare class TextField extends FoundationTextfield {
8
+ label?: string;
9
+ helperText?: string;
10
+ charCount: boolean;
11
+ density?: TextFieldDensity;
12
+ appearance?: TextFieldAppearance;
13
+ shape?: TextFieldShape;
14
+ userValid: boolean;
15
+ get errorValidationMessage(): string;
16
+ validate(): void;
17
+ }
18
+ export interface TextField extends AffixIcon {
19
+ }
20
+ export {};
@@ -0,0 +1,5 @@
1
+ import type { ViewTemplate } from '@microsoft/fast-element';
2
+ import type { ElementDefinitionContext, FoundationElementDefinition } from '@microsoft/fast-foundation';
3
+ import '../icon/index';
4
+ import type { TextField } from './text-field';
5
+ export declare const TextfieldTemplate: (context: ElementDefinitionContext, definition: FoundationElementDefinition) => ViewTemplate<TextField>;
package/note/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { F as FoundationElement, _ as __decorate, a as attr, b as __metadata, h as html, d as designSystem } from '../shared/index.js';
2
2
  import { s as styleInject } from '../shared/style-inject.es.js';
3
3
  import { b as AffixIcon } from '../shared/affix.js';
4
- import '../shared/focus2.js';
4
+ import '../shared/focus.js';
5
5
  import { a as applyMixins } from '../shared/apply-mixins.js';
6
6
  import '../shared/web.dom-collections.iterator.js';
7
7
  import '../icon/index.js';
package/package.json CHANGED
@@ -1,12 +1,13 @@
1
1
  {
2
2
  "name": "@vonage/vivid",
3
- "version": "3.0.0-next.16",
3
+ "version": "3.0.0-next.19",
4
4
  "type": "module",
5
5
  "module": "./index.esm.js",
6
6
  "main": "./index.js",
7
7
  "exports": {
8
8
  "./accordion": "./accordion",
9
9
  "./accordion-item": "./accordion-item",
10
+ "./action-group": "./action-group",
10
11
  "./badge": "./badge",
11
12
  "./banner": "./banner",
12
13
  "./breadcrumb": "./breadcrumb",
@@ -25,6 +26,7 @@
25
26
  "./side-drawer": "./side-drawer",
26
27
  "./sidenav-item": "./sidenav-item",
27
28
  "./text": "./text",
29
+ "./text-field": "./text-field",
28
30
  "./tooltip": "./tooltip"
29
31
  },
30
32
  "typings": "./index.d.ts",
package/popup/index.js CHANGED
@@ -12,10 +12,11 @@ import { c as classNames } from '../shared/class-names.js';
12
12
  import '../icon/index.js';
13
13
  import '../shared/_has.js';
14
14
  import '../focus/index.js';
15
- import '../shared/focus2.js';
16
- import '../shared/affix.js';
17
15
  import '../shared/focus.js';
16
+ import '../shared/affix.js';
17
+ import '../shared/button.js';
18
18
  import '../shared/apply-mixins.js';
19
+ import '../shared/focus2.js';
19
20
 
20
21
  var anObject$2 = anObject$3;
21
22
 
@@ -2068,7 +2069,7 @@ __decorate([attr({
2068
2069
 
2069
2070
  __decorate([attr, __metadata("design:type", String)], Popup.prototype, "anchor", void 0);
2070
2071
 
2071
- var css_248z = ".control {\n background-color: var(--vvd-color-surface-4dp);\n border-radius: inherit;\n contain: layout;\n inline-size: -moz-fit-content;\n inline-size: fit-content;\n}\n.control:not(.open) {\n display: none;\n}\n\n.popup-wrapper {\n position: fixed;\n border-radius: 6px;\n}\n\n.popup-content {\n display: grid;\n color: var(--vvd-color-on-canvas);\n}\n.dismissible .popup-content {\n align-content: start;\n grid-template-columns: 1fr auto;\n}\n\n.arrow {\n position: absolute;\n z-index: -1;\n width: 8px;\n height: 8px;\n background-color: var(--vvd-color-surface-4dp);\n transform: rotate(45deg);\n}\n\n.dismissible {\n align-self: flex-start;\n margin-block-start: 0.25rem;\n margin-inline-end: 0.25rem;\n}";
2072
+ var css_248z = ".control {\n background-color: var(--vvd-color-surface-4dp);\n border-radius: inherit;\n contain: layout;\n inline-size: -moz-fit-content;\n inline-size: fit-content;\n}\n.control:not(.open) {\n display: none;\n}\n\n.popup-wrapper {\n position: fixed;\n border-radius: 6px;\n}\n\n.popup-content {\n display: grid;\n color: var(--vvd-color-on-canvas);\n}\n.dismissible .popup-content {\n align-content: start;\n grid-template-columns: 1fr auto;\n}\n\n.arrow {\n position: absolute;\n z-index: -1;\n width: 8px;\n height: 8px;\n background-color: var(--vvd-color-surface-4dp);\n transform: rotate(45deg);\n}\n\n.dismissible-button {\n align-self: flex-start;\n margin-block-start: 0.25rem;\n margin-inline-end: 0.25rem;\n}";
2072
2073
  styleInject(css_248z);
2073
2074
 
2074
2075
  let _ = t => t,
@@ -2096,7 +2097,7 @@ const popupTemplate = () => html(_t || (_t = _`
2096
2097
  </div>
2097
2098
  </div>
2098
2099
  </vwc-elevation>`), ref('popupEl'), getClasses, x => x.open ? 'false' : 'true', x => x.alternate ? 'vvd-theme-alternate' : '', when(x => x.dismissible, html(_t2 || (_t2 = _`<vwc-button density="condensed" @click="${0}"
2099
- class="dismissible" icon="close-small-solid" shape="pill"></vwc-button>`), x => x.open = false)), when(x => x.arrow, html(_t3 || (_t3 = _`<div class="arrow" ${0}></div>`), ref('arrowEl'))));
2100
+ class="dismissible-button" icon="close-small-solid" shape="pill"></vwc-button>`), x => x.open = false)), when(x => x.arrow, html(_t3 || (_t3 = _`<div class="arrow" ${0}></div>`), ref('arrowEl'))));
2100
2101
 
2101
2102
  const vividPopup = Popup.compose({
2102
2103
  baseName: 'popup',
@@ -0,0 +1,188 @@
1
+ import { F as FoundationElement, _ as __decorate, a as attr, o as observable } from './index.js';
2
+ import { a as applyMixins } from './apply-mixins.js';
3
+ import { F as FormAssociated } from './focus2.js';
4
+ import { A as ARIAGlobalStatesAndProperties, S as StartEnd } from './aria-global.js';
5
+
6
+ class _Button extends FoundationElement {
7
+ }
8
+ /**
9
+ * A form-associated base class for the {@link @microsoft/fast-foundation#(Button:class)} component.
10
+ *
11
+ * @internal
12
+ */
13
+ class FormAssociatedButton extends FormAssociated(_Button) {
14
+ constructor() {
15
+ super(...arguments);
16
+ this.proxy = document.createElement("input");
17
+ }
18
+ }
19
+
20
+ /**
21
+ * A Button Custom HTML Element.
22
+ * Based largely on the {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button | <button> element }.
23
+ *
24
+ * @public
25
+ */
26
+ class Button extends FormAssociatedButton {
27
+ constructor() {
28
+ super(...arguments);
29
+ /**
30
+ * Prevent events to propagate if disabled and has no slotted content wrapped in HTML elements
31
+ * @internal
32
+ */
33
+ this.handleClick = (e) => {
34
+ var _a;
35
+ if (this.disabled && ((_a = this.defaultSlottedContent) === null || _a === void 0 ? void 0 : _a.length) <= 1) {
36
+ e.stopPropagation();
37
+ }
38
+ };
39
+ /**
40
+ * Submits the parent form
41
+ */
42
+ this.handleSubmission = () => {
43
+ if (!this.form) {
44
+ return;
45
+ }
46
+ const attached = this.proxy.isConnected;
47
+ if (!attached) {
48
+ this.attachProxy();
49
+ }
50
+ // Browser support for requestSubmit is not comprehensive
51
+ // so click the proxy if it isn't supported
52
+ typeof this.form.requestSubmit === "function"
53
+ ? this.form.requestSubmit(this.proxy)
54
+ : this.proxy.click();
55
+ if (!attached) {
56
+ this.detachProxy();
57
+ }
58
+ };
59
+ /**
60
+ * Resets the parent form
61
+ */
62
+ this.handleFormReset = () => {
63
+ var _a;
64
+ (_a = this.form) === null || _a === void 0 ? void 0 : _a.reset();
65
+ };
66
+ /**
67
+ * Overrides the focus call for where delegatesFocus is unsupported.
68
+ * This check works for Chrome, Edge Chromium, FireFox, and Safari
69
+ * Relevant PR on the Firefox browser: https://phabricator.services.mozilla.com/D123858
70
+ */
71
+ this.handleUnsupportedDelegatesFocus = () => {
72
+ var _a;
73
+ // Check to see if delegatesFocus is supported
74
+ if (window.ShadowRoot &&
75
+ !window.ShadowRoot.prototype.hasOwnProperty("delegatesFocus") && ((_a = this.$fastController.definition.shadowOptions) === null || _a === void 0 ? void 0 : _a.delegatesFocus)) {
76
+ this.focus = () => {
77
+ this.control.focus();
78
+ };
79
+ }
80
+ };
81
+ }
82
+ formactionChanged() {
83
+ if (this.proxy instanceof HTMLInputElement) {
84
+ this.proxy.formAction = this.formaction;
85
+ }
86
+ }
87
+ formenctypeChanged() {
88
+ if (this.proxy instanceof HTMLInputElement) {
89
+ this.proxy.formEnctype = this.formenctype;
90
+ }
91
+ }
92
+ formmethodChanged() {
93
+ if (this.proxy instanceof HTMLInputElement) {
94
+ this.proxy.formMethod = this.formmethod;
95
+ }
96
+ }
97
+ formnovalidateChanged() {
98
+ if (this.proxy instanceof HTMLInputElement) {
99
+ this.proxy.formNoValidate = this.formnovalidate;
100
+ }
101
+ }
102
+ formtargetChanged() {
103
+ if (this.proxy instanceof HTMLInputElement) {
104
+ this.proxy.formTarget = this.formtarget;
105
+ }
106
+ }
107
+ typeChanged(previous, next) {
108
+ if (this.proxy instanceof HTMLInputElement) {
109
+ this.proxy.type = this.type;
110
+ }
111
+ next === "submit" && this.addEventListener("click", this.handleSubmission);
112
+ previous === "submit" && this.removeEventListener("click", this.handleSubmission);
113
+ next === "reset" && this.addEventListener("click", this.handleFormReset);
114
+ previous === "reset" && this.removeEventListener("click", this.handleFormReset);
115
+ }
116
+ /**
117
+ * @internal
118
+ */
119
+ connectedCallback() {
120
+ var _a;
121
+ super.connectedCallback();
122
+ this.proxy.setAttribute("type", this.type);
123
+ this.handleUnsupportedDelegatesFocus();
124
+ const elements = Array.from((_a = this.control) === null || _a === void 0 ? void 0 : _a.children);
125
+ if (elements) {
126
+ elements.forEach((span) => {
127
+ span.addEventListener("click", this.handleClick);
128
+ });
129
+ }
130
+ }
131
+ /**
132
+ * @internal
133
+ */
134
+ disconnectedCallback() {
135
+ var _a;
136
+ super.disconnectedCallback();
137
+ const elements = Array.from((_a = this.control) === null || _a === void 0 ? void 0 : _a.children);
138
+ if (elements) {
139
+ elements.forEach((span) => {
140
+ span.removeEventListener("click", this.handleClick);
141
+ });
142
+ }
143
+ }
144
+ }
145
+ __decorate([
146
+ attr({ mode: "boolean" })
147
+ ], Button.prototype, "autofocus", void 0);
148
+ __decorate([
149
+ attr({ attribute: "form" })
150
+ ], Button.prototype, "formId", void 0);
151
+ __decorate([
152
+ attr
153
+ ], Button.prototype, "formaction", void 0);
154
+ __decorate([
155
+ attr
156
+ ], Button.prototype, "formenctype", void 0);
157
+ __decorate([
158
+ attr
159
+ ], Button.prototype, "formmethod", void 0);
160
+ __decorate([
161
+ attr({ mode: "boolean" })
162
+ ], Button.prototype, "formnovalidate", void 0);
163
+ __decorate([
164
+ attr
165
+ ], Button.prototype, "formtarget", void 0);
166
+ __decorate([
167
+ attr
168
+ ], Button.prototype, "type", void 0);
169
+ __decorate([
170
+ observable
171
+ ], Button.prototype, "defaultSlottedContent", void 0);
172
+ /**
173
+ * Includes ARIA states and properties relating to the ARIA button role
174
+ *
175
+ * @public
176
+ */
177
+ class DelegatesARIAButton {
178
+ }
179
+ __decorate([
180
+ attr({ attribute: "aria-expanded" })
181
+ ], DelegatesARIAButton.prototype, "ariaExpanded", void 0);
182
+ __decorate([
183
+ attr({ attribute: "aria-pressed" })
184
+ ], DelegatesARIAButton.prototype, "ariaPressed", void 0);
185
+ applyMixins(DelegatesARIAButton, ARIAGlobalStatesAndProperties);
186
+ applyMixins(Button, StartEnd, DelegatesARIAButton);
187
+
188
+ export { Button as B };
package/shared/enums.js CHANGED
@@ -29,10 +29,10 @@ var Shape;
29
29
  var Appearance;
30
30
 
31
31
  (function (Appearance) {
32
- Appearance["Text"] = "text";
33
32
  Appearance["Filled"] = "filled";
34
33
  Appearance["Outlined"] = "outlined";
35
34
  Appearance["Duotone"] = "duotone";
35
+ Appearance["Fieldset"] = "fieldset";
36
36
  Appearance["Subtle"] = "subtle";
37
37
  Appearance["Ghost"] = "ghost";
38
38
  })(Appearance || (Appearance = {}));