@vonage/vivid 3.0.0-next.6 → 3.0.0-next.60

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 (161) hide show
  1. package/README.md +135 -4
  2. package/accordion/index.js +2 -4
  3. package/accordion-item/index.js +26 -20
  4. package/action-group/index.js +47 -0
  5. package/avatar/index.js +51 -0
  6. package/badge/index.js +14 -20
  7. package/banner/index.js +21 -86
  8. package/breadcrumb/index.js +20 -18
  9. package/breadcrumb-item/index.js +14 -11
  10. package/button/index.js +28 -661
  11. package/calendar/index.js +67 -25
  12. package/calendar-event/index.js +115 -0
  13. package/card/index.js +132 -0
  14. package/checkbox/index.js +180 -0
  15. package/dialog/index.js +279 -0
  16. package/divider/index.js +86 -0
  17. package/elevation/index.js +3 -31
  18. package/fab/index.js +100 -0
  19. package/focus/index.js +18 -3
  20. package/header/index.js +66 -0
  21. package/icon/index.js +9 -5
  22. package/index.js +45 -20
  23. package/layout/index.js +4 -6
  24. package/lib/accordion-item/accordion-item.d.ts +2 -2
  25. package/lib/accordion-item/index.d.ts +2 -1
  26. package/lib/action-group/action-group.d.ts +10 -0
  27. package/lib/{sidenav-item/sidenav-item.template.d.ts → action-group/action-group.template.d.ts} +2 -2
  28. package/lib/{sidenav-item → action-group}/index.d.ts +1 -2
  29. package/lib/avatar/avatar.d.ts +14 -0
  30. package/lib/avatar/avatar.template.d.ts +4 -0
  31. package/lib/avatar/index.d.ts +3 -0
  32. package/lib/badge/badge.d.ts +6 -6
  33. package/lib/badge/index.d.ts +1 -1
  34. package/lib/banner/banner.d.ts +1 -1
  35. package/lib/banner/banner.template.d.ts +0 -2
  36. package/lib/banner/index.d.ts +1 -0
  37. package/lib/breadcrumb/breadcrumb.template.d.ts +4 -0
  38. package/lib/breadcrumb-item/breadcrumb-item.d.ts +1 -1
  39. package/lib/breadcrumb-item/index.d.ts +1 -0
  40. package/lib/button/button.d.ts +6 -5
  41. package/lib/button/index.d.ts +2 -19
  42. package/lib/calendar/calendar.d.ts +3 -1
  43. package/lib/calendar/index.d.ts +0 -1
  44. package/lib/calendar-event/calendar-event.d.ts +14 -0
  45. package/lib/calendar-event/calendar-event.template.d.ts +4 -0
  46. package/lib/calendar-event/index.d.ts +2 -0
  47. package/lib/card/card.d.ts +10 -0
  48. package/lib/{text/text.template.d.ts → card/card.template.d.ts} +2 -2
  49. package/lib/card/index.d.ts +4 -0
  50. package/lib/checkbox/checkbox.d.ts +5 -0
  51. package/lib/checkbox/checkbox.template.d.ts +4 -0
  52. package/lib/checkbox/index.d.ts +4 -0
  53. package/lib/components.d.ts +22 -10
  54. package/lib/dialog/dialog.d.ts +20 -0
  55. package/lib/dialog/dialog.template.d.ts +4 -0
  56. package/lib/dialog/index.d.ts +5 -0
  57. package/lib/divider/divider.d.ts +3 -0
  58. package/lib/divider/divider.template.d.ts +4 -0
  59. package/lib/divider/index.d.ts +2 -0
  60. package/lib/elevation/elevation.d.ts +1 -0
  61. package/lib/elevation/index.d.ts +1 -1
  62. package/lib/enums.d.ts +12 -6
  63. package/lib/fab/fab.d.ts +13 -0
  64. package/lib/fab/fab.template.d.ts +4 -0
  65. package/lib/fab/index.d.ts +4 -0
  66. package/lib/focus/index.d.ts +1 -1
  67. package/lib/header/header.d.ts +5 -0
  68. package/lib/header/header.template.d.ts +4 -0
  69. package/lib/header/index.d.ts +3 -0
  70. package/lib/icon/icon.d.ts +4 -3
  71. package/lib/layout/index.d.ts +1 -1
  72. package/lib/layout/layout.d.ts +3 -3
  73. package/lib/menu/index.d.ts +11 -0
  74. package/lib/menu/menu.d.ts +7 -0
  75. package/lib/menu/menu.template.d.ts +3 -0
  76. package/lib/nav/index.d.ts +2 -0
  77. package/lib/nav/nav.d.ts +3 -0
  78. package/lib/nav/nav.template.d.ts +4 -0
  79. package/lib/nav-disclosure/index.d.ts +4 -0
  80. package/lib/nav-disclosure/nav-disclosure.d.ts +10 -0
  81. package/lib/nav-disclosure/nav-disclosure.template.d.ts +4 -0
  82. package/lib/nav-item/index.d.ts +4 -0
  83. package/lib/{sidenav-item/sidenav-item.d.ts → nav-item/nav-item.d.ts} +2 -2
  84. package/lib/nav-item/nav-item.template.d.ts +4 -0
  85. package/lib/{text → note}/index.d.ts +1 -1
  86. package/lib/note/note.d.ts +10 -0
  87. package/lib/note/note.template.d.ts +5 -0
  88. package/lib/popup/index.d.ts +1 -1
  89. package/lib/popup/popup.d.ts +3 -15
  90. package/lib/progress/progress.d.ts +1 -1
  91. package/lib/progress-ring/progress-ring.d.ts +2 -1
  92. package/lib/side-drawer/index.d.ts +1 -1
  93. package/lib/side-drawer/side-drawer.d.ts +4 -7
  94. package/lib/side-drawer/side-drawer.template.d.ts +2 -2
  95. package/lib/text-anchor/text-anchor.d.ts +1 -1
  96. package/lib/text-area/index.d.ts +3 -0
  97. package/lib/text-area/text-area.d.ts +9 -0
  98. package/lib/text-area/text-area.template.d.ts +4 -0
  99. package/lib/text-field/index.d.ts +4 -0
  100. package/lib/text-field/text-field.d.ts +16 -0
  101. package/lib/text-field/text-field.template.d.ts +5 -0
  102. package/lib/tooltip/tooltip.d.ts +2 -4
  103. package/menu/index.js +659 -0
  104. package/nav/index.js +17 -0
  105. package/nav-disclosure/index.js +88 -0
  106. package/nav-item/index.js +41 -0
  107. package/note/index.js +66 -0
  108. package/package.json +49 -8
  109. package/popup/index.js +19 -2082
  110. package/progress/index.js +35 -28
  111. package/progress-ring/index.js +9 -5
  112. package/shared/anchor.js +8 -1
  113. package/shared/aria-global.js +3 -40
  114. package/shared/base-progress.js +5 -0
  115. package/shared/button.js +199 -0
  116. package/shared/calendar-event.js +26 -0
  117. package/shared/dialog-polyfill.esm.js +858 -0
  118. package/shared/enums.js +79 -0
  119. package/shared/es.object.assign.js +7 -6
  120. package/shared/export.js +995 -0
  121. package/shared/focus.js +5 -0
  122. package/shared/focus2.js +11 -0
  123. package/shared/form-associated.js +554 -0
  124. package/shared/form-elements.js +298 -0
  125. package/shared/icon.js +533 -520
  126. package/shared/index.js +79 -56
  127. package/shared/index2.js +26 -12
  128. package/shared/index3.js +2113 -0
  129. package/shared/iterators.js +61 -0
  130. package/shared/object-keys.js +13 -0
  131. package/shared/patterns/focus.d.ts +3 -0
  132. package/shared/patterns/form-elements.d.ts +22 -0
  133. package/shared/patterns/index.d.ts +1 -0
  134. package/shared/ref.js +41 -0
  135. package/shared/text-anchor.js +2 -11
  136. package/shared/text-anchor.template.js +5 -2
  137. package/shared/to-string.js +51 -0
  138. package/shared/web.dom-collections.iterator.js +78 -1083
  139. package/side-drawer/index.js +50 -51
  140. package/styles/core/all.css +75 -0
  141. package/styles/core/theme.css +11 -0
  142. package/styles/core/typography.css +69 -0
  143. package/styles/fonts/SpeziaCompleteVariableItalicWeb.woff +0 -0
  144. package/styles/fonts/SpeziaCompleteVariableItalicWeb.woff2 +0 -0
  145. package/styles/fonts/SpeziaCompleteVariableUprightWeb.woff +0 -0
  146. package/styles/fonts/SpeziaCompleteVariableUprightWeb.woff2 +0 -0
  147. package/styles/fonts/SpeziaMonoCompleteVariableWeb.woff +0 -0
  148. package/styles/fonts/SpeziaMonoCompleteVariableWeb.woff2 +0 -0
  149. package/styles/fonts/spezia.css +12 -12
  150. package/styles/tokens/theme-dark.css +210 -0
  151. package/styles/tokens/theme-light.css +210 -0
  152. package/text-anchor/index.js +8 -1
  153. package/text-area/index.js +302 -0
  154. package/text-field/index.js +150 -0
  155. package/tooltip/index.js +19 -23
  156. package/lib/text/text.d.ts +0 -10
  157. package/shared/style-inject.es.js +0 -28
  158. package/sidenav-item/index.js +0 -38
  159. package/styles/themes/dark.css +0 -193
  160. package/styles/themes/light.css +0 -193
  161. package/text/index.js +0 -45
package/README.md CHANGED
@@ -1,7 +1,138 @@
1
- # components
2
1
 
3
- This library was generated with [Nx](https://nx.dev).
2
+ # Vivid UI
4
3
 
5
- ## Running unit tests
4
+ Essential UI **web components** for building modern web applications, bound to provide a **safe**, **simple** and **intuitive** interface.
6
5
 
7
- Run `nx test components` to execute the unit tests via [Jest](https://jestjs.io).
6
+ ![image](https://user-images.githubusercontent.com/10883919/189522882-968358df-ee7c-4256-b61b-550cf369a087.png)
7
+
8
+ ## Installation
9
+
10
+ To integrate Vivid components into your project, run:
11
+
12
+ ```bash
13
+ npm install @vonage/vivid # or yarn add @vonage/vivid
14
+ ```
15
+
16
+ ## Usage
17
+
18
+ Import components in your project via [side effect imports](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import#import_a_module_for_its_side_effects_only):
19
+
20
+ ```js
21
+ import '@vonage/vivid/button';
22
+ ```
23
+
24
+ And include in HTML:
25
+
26
+ ```html
27
+ <vwc-button label="Click me"></vwc-button>
28
+ ```
29
+
30
+ For a full list of components and API, explore the [components docs](https://vivid.deno.dev/components/accordion/) 📚.
31
+
32
+ ### Tokens (Prerequisite)
33
+
34
+ The Vivid components library rely on a set of **design tokens** (in the form of css custom properties).
35
+
36
+ Tokens should not affect the look of the application rather just provide a common set of identities (such as colors, typography, spacing etc') to be used by the components to look as intended.
37
+
38
+ As the task of loading css is not trivial, and may vary from project to project, this library does not provide any way to load the css. It is up to the author to load the css in the most appropriate manner for their project.
39
+
40
+ To **include the styles**, css files must be loaded into the project from the `node_modules/@vonage/vivid/styles/tokens` folder and *require a `vvd-root` class* selector to be present on the wrapping element (advisably `:root`).
41
+
42
+ Folder contains the following files:
43
+
44
+ - `theme-light.css` - Light theme
45
+
46
+ - `theme-dark.css` - Dark theme
47
+
48
+ Only one theme is required to be loaded.
49
+
50
+ ### Fonts (Prerequisite)
51
+
52
+ - `node_modules/@vonage/vivid/styles/fonts/spezia.css` - Loads the *Spezia* variable font and defines its font face values. *Spezia* is Vonage's branded font and is required by most Vivid components. folder also contains the font files.
53
+
54
+ ### Styles (Optional)
55
+
56
+ In Addition, this library provides a set of styles (combined with the tokens and fonts) that can be used to embody the Vivid design system into an application.
57
+
58
+ These styles are not required by vivid components directly. however, they do rely on the tokens and fonts 👆 to be loaded as components do.
59
+
60
+ - `node_modules/@vonage/vivid/styles/core/theme.css` - Sets theme related styles
61
+
62
+ - `node_modules/@vonage/vivid/styles/core/typography.css` - Sets typography related styles
63
+
64
+ - `node_modules/@vonage/vivid/styles/core/all.css` - Sets all the above styles
65
+
66
+ Note: scss users can simply [forward](https://sass-lang.com/documentation/at-rules/forward) the styles to their scss project:
67
+
68
+ ```css
69
+ @forward 'node_modules/@vonage/vivid/styles/[path to file].css';
70
+ ```
71
+
72
+ ## Support
73
+
74
+ This library is open source, developed and maintained by the [Vonage Vivid team](Vonage/vivid).
75
+
76
+ For any questions, please open a [bug report](https://github.com/Vonage/vivid-3/issues/new?assignees=&labels=&template=bug_report.md&title=) or [feature request](https://github.com/Vonage/vivid-3/issues/new?assignees=&labels=&template=feature_request.md&title=).
77
+
78
+ ## Roadmap
79
+
80
+ - View [components status](https://github.com/orgs/Vonage/projects/6)
81
+
82
+ - [What's on our plate](https://github.com/orgs/Vonage/projects/3/views/7)
83
+
84
+ - See the [open issues](https://github.com/vonage/vivid-3/issues) for a full list of proposed features (and known issues).
85
+
86
+ We publish a *next* release on every successful merge to main, so you never need to wait for a new stable version to make use of any updates.
87
+
88
+ ## Contributing
89
+
90
+ Please read [CONTRIBUTING.md](.github/CONTRIBUTING.md) for details on our code of conduct, and the process for submitting pull requests to us.
91
+
92
+ ## Versioning
93
+
94
+ We use [SemVer](http://semver.org/) for versioning. For the versions available, see the [npm page](https://www.npmjs.com/package/@vonage/vivid).
95
+
96
+ ## Authors
97
+
98
+ See also the list of [contributors](https://github.com/your/project/contributors) who participated in this project.
99
+
100
+ ## License
101
+
102
+ This project is licensed under the Apache 2.0 License - see the [LICENSE.md](LICENSE.md) file for details
103
+
104
+ <!-- ## Acknowledgments
105
+
106
+ - Hat tip to anyone whose code was used
107
+ - Inspiration
108
+ - etc -->
109
+
110
+ ## Built With
111
+
112
+ - [Fast](https://www.fast.design) - to extend element classes and compile code to native web components
113
+ - [Typescript](https://www.typescriptlang.org) - for ergonomic and type-safe code
114
+ - [Sass](https://sass-lang.com) - for styles authoring extensibility and consistency
115
+
116
+ ## Quickstart
117
+
118
+ Global content delivery networks can help quickly integrate content within html pages, fetching content from an URL, skipping local builds entirely.
119
+ Such practice is often used when working on POCs or reproduction environments.
120
+ Tools like [UNPKG](https://unpkg.com), [jsDeliver](https://www.jsdelivr.com), [Skypack](https://www.skypack.dev) etc' are bound to deliver any content registered in the npm registry.
121
+
122
+ The following snippet fully renders a Vivid button component
123
+
124
+ ```html
125
+ <!-- import spezia font -->
126
+ <link rel="stylesheet" href="https://unpkg.com/@vonage/vivid@next/styles/fonts/spezia.css">
127
+
128
+ <!-- import light theme style tokens -->
129
+ <link rel="stylesheet" href="https://unpkg.com/@vonage/vivid@next/styles/themes/light.css">
130
+
131
+ <!-- import typography for desktop -->
132
+ <link rel="stylesheet" href="https://unpkg.com/@vonage/vivid@next/styles/typography/desktop.css">
133
+
134
+ <!-- import Vivid button component -->
135
+ <script type="module" src="https://unpkg.com/@vonage/vivid@next/button/index.js"></script>
136
+
137
+ <vwc-button label="Click me" appearance="filled" connotation="cta"></vwc-button>
138
+ ```
@@ -1,9 +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
- import { s as styleInject } from '../shared/style-inject.es.js';
3
2
  import { c as classNames } from '../shared/class-names.js';
4
3
 
5
- var css_248z = ".control {\n display: flex;\n flex-direction: column;\n}\n\n::slotted(vwc-accordion-item:not(:only-of-type)) {\n border-bottom: 1px solid var(--vvd-color-neutral-30);\n}";
6
- styleInject(css_248z);
4
+ var css_248z = "/**\n * Do not edit directly\n * Generated on Thu, 15 Sep 2022 09:43:08 GMT\n */\n.base {\n display: flex;\n flex-direction: column;\n}\n\n::slotted(vwc-accordion-item:not(:only-of-type)) {\n border-bottom: 1px solid var(--vvd-color-neutral-200);\n}";
7
5
 
8
6
  class Accordion extends FoundationElement {
9
7
  constructor() {
@@ -45,7 +43,7 @@ __decorate([attr({
45
43
  let _2 = t => t,
46
44
  _t;
47
45
 
48
- const getClasses = _ => classNames('control');
46
+ const getClasses = _ => classNames('base');
49
47
 
50
48
  const AccordionTemplate = () => html(_t || (_t = _2`<div class="${0}">
51
49
  <slot></slot>
@@ -1,23 +1,26 @@
1
+ import '../icon/index.js';
2
+ import '../focus/index.js';
1
3
  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
4
  import '../shared/web.dom-collections.iterator.js';
4
5
  import { A as AffixIconWithTrailing, a as affixIconTemplateFactory } from '../shared/affix.js';
5
6
  import { a as applyMixins } from '../shared/apply-mixins.js';
7
+ import { f as focusTemplateFactory } from '../shared/focus2.js';
6
8
  import { w as when } from '../shared/when.js';
7
9
  import { c as classNames } from '../shared/class-names.js';
8
- import '../icon/index.js';
9
10
  import '../shared/icon.js';
11
+ import '../shared/export.js';
12
+ import '../shared/iterators.js';
13
+ import '../shared/to-string.js';
10
14
  import '../shared/_has.js';
15
+ import '../shared/focus.js';
16
+ import '../shared/object-keys.js';
11
17
 
12
- var css_248z = "/*\n Do not edit directly\n Generated on Sun, 23 Jan 2022 11:15:05 GMT\n*/\n.body {\n font: 400 ultra-condensed 14px / 20px SpeziaWebVariable;\n letter-spacing: 0px;\n text-decoration: none;\n text-transform: none;\n padding: 8px 32px 24px 16px;\n}\n.icon:not(.icon-trailing) .body {\n padding-left: 48px;\n}\n\n.control {\n display: flex;\n flex-direction: column;\n}\n.control:not(.open) .toggle-close,\n.control:not(.open) .body {\n display: none;\n}\n.control.open .toggle-open {\n display: none;\n}\n.control.open .toggle-close {\n display: initial;\n}\n\n.header {\n padding: 0;\n margin: 0;\n}\n\n.button {\n font: 500 condensed 20px / 28px SpeziaWebVariable;\n letter-spacing: 0px;\n text-decoration: none;\n text-transform: none;\n position: relative;\n display: flex;\n width: 100%;\n align-items: center;\n padding: 16px;\n border: 0 none;\n background: transparent;\n cursor: pointer;\n}\n.button:hover {\n background: var(--vvd-color-neutral-10);\n}\n.button .heading-text {\n flex-grow: 1;\n margin-inline-end: auto;\n text-align: left;\n}\n.button .meta {\n font: 600 ultra-condensed 14px / 20px SpeziaWebVariable;\n letter-spacing: 0px;\n text-decoration: none;\n text-transform: none;\n overflow: hidden;\n max-width: 20%;\n flex-shrink: 0;\n color: var(--vvd-color-neutral-70);\n margin-inline-start: 1rem;\n text-align: end;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.button .indicator {\n display: flex;\n}\n.button .indicator vwc-icon,\n.button .indicator slot[name=indicator i]::slotted(vwc-icon) {\n margin-inline-start: 16px;\n}\n.button .icon {\n margin-inline-end: 16px;\n}\n\n/* Icon */\n.icon-trailing .icon {\n order: 1;\n}";
13
- styleInject(css_248z);
18
+ var css_248z = "/**\n * Do not edit directly\n * Generated on Thu, 15 Sep 2022 09:43:08 GMT\n */\n.body {\n padding: 8px 32px 24px 16px;\n font: var(--vvd-font-base);\n}\n.icon:not(.icon-trailing) .body {\n padding-left: 48px;\n}\n\n.base {\n display: flex;\n flex-direction: column;\n}\n.base:not(.open) .body {\n display: none;\n}\n\n.header {\n padding: 0;\n margin: 0;\n}\n\n.button {\n position: relative;\n display: flex;\n width: 100%;\n align-items: center;\n padding: 16px;\n border: 0 none;\n margin: 0;\n background-color: var(--_appearance-color-fill);\n box-shadow: inset 0 0 0 1px var(--_appearance-color-outline);\n color: var(--_appearance-color-text);\n cursor: pointer;\n font: var(--vvd-font-heading4);\n}\n.button {\n --_appearance-color-text: var(--_connotation-color-primary);\n --_appearance-color-fill: transaprent;\n --_appearance-color-outline: transaprent;\n}\n.button:where(:hover, .hover):where(:not(:disabled, .disabled)) {\n --_appearance-color-text: var(--_connotation-color-primary);\n --_appearance-color-fill: var(--_connotation-color-faint);\n --_appearance-color-outline: transaprent;\n}\n.button:where(:active, .active):where(:not(:disabled, .disabled)) {\n --_appearance-color-text: var(--_connotation-color-primary);\n --_appearance-color-fill: var(--_connotation-color-soft);\n --_appearance-color-outline: transaprent;\n}\n.button {\n --_connotation-color-primary: var(--vvd-color-canvas-text);\n --_connotation-color-faint: var(--vvd-color-neutral-50);\n --_connotation-color-soft: var(--vvd-color-neutral-100);\n}\n@supports selector(:focus-visible) {\n .button:focus {\n outline: none;\n }\n}\n@supports (user-select: none) {\n .button {\n user-select: none;\n }\n}\n.button .heading-text {\n flex-grow: 1;\n margin-inline-end: auto;\n text-align: left;\n}\n.button .meta {\n overflow: hidden;\n max-width: 20%;\n flex-shrink: 0;\n color: var(--vvd-color-neutral-600);\n font: var(--vvd-font-base-bold);\n margin-inline-start: 16px;\n text-align: end;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.button .indicator {\n display: flex;\n}\n.button .indicator vwc-icon,\n.button .indicator slot[name=indicator i]::slotted(vwc-icon) {\n margin-inline-start: 16px;\n}\n.button .icon {\n margin-inline-end: 16px;\n}\n\n/* Icon */\n.icon-trailing .icon {\n order: 1;\n}\n\n.button:not(:focus-visible) > .focus-indicator {\n display: none;\n}";
14
19
 
15
20
  class AccordionItem extends FoundationElement {
16
21
  constructor() {
17
22
  super(...arguments);
18
- this.heading = '';
19
23
  this.noIndicator = false;
20
- this.meta = '';
21
24
  this.open = false;
22
25
  }
23
26
 
@@ -40,9 +43,7 @@ class AccordionItem extends FoundationElement {
40
43
 
41
44
  }
42
45
 
43
- __decorate([attr({
44
- mode: 'fromView'
45
- }), __metadata("design:type", Object)], AccordionItem.prototype, "heading", void 0);
46
+ __decorate([attr, __metadata("design:type", String)], AccordionItem.prototype, "heading", void 0);
46
47
 
47
48
  __decorate([attr({
48
49
  attribute: 'heading-level'
@@ -53,9 +54,7 @@ __decorate([attr({
53
54
  attribute: 'no-indicator'
54
55
  }), __metadata("design:type", Object)], AccordionItem.prototype, "noIndicator", void 0);
55
56
 
56
- __decorate([attr({
57
- mode: 'fromView'
58
- }), __metadata("design:type", Object)], AccordionItem.prototype, "meta", void 0);
57
+ __decorate([attr, __metadata("design:type", String)], AccordionItem.prototype, "meta", void 0);
59
58
 
60
59
  __decorate([attr({
61
60
  mode: 'boolean'
@@ -68,7 +67,9 @@ let _ = t => t,
68
67
  _t2,
69
68
  _t3,
70
69
  _t4,
71
- _t5;
70
+ _t5,
71
+ _t6,
72
+ _t7;
72
73
  const PANEL = 'panel';
73
74
 
74
75
  const getClasses = ({
@@ -76,7 +77,7 @@ const getClasses = ({
76
77
  iconTrailing,
77
78
  icon,
78
79
  noIndicator
79
- }) => classNames('control', ['open', open], ['icon', Boolean(icon)], ['icon-trailing', iconTrailing], ['no-indicator', noIndicator]);
80
+ }) => classNames('base', ['open', open], ['icon', Boolean(icon)], ['icon-trailing', iconTrailing], ['no-indicator', noIndicator]);
80
81
 
81
82
  const AccordionItemTemplate = context => html(_t || (_t = _`
82
83
  <div class="${0}">
@@ -98,10 +99,12 @@ const renderPanelHeader = (context, headingLevel) => {
98
99
 
99
100
  const renderHeaderButton = context => {
100
101
  const affixIconTemplate = affixIconTemplateFactory(context);
102
+ const focusTemplate = focusTemplateFactory(context);
101
103
  return html(_t3 || (_t3 = _`
102
104
  <button class="button" id="header" @click=${0}
103
- ?aria-expanded=${0}
105
+ aria-expanded=${0}
104
106
  aria-controls="${0}">
107
+ ${0}
105
108
  ${0}
106
109
  <span class="heading-text">${0}</span>
107
110
  ${0}
@@ -109,16 +112,19 @@ const renderHeaderButton = context => {
109
112
  ${0}
110
113
  </span>
111
114
  </button>
112
- `), x => x.open = !x.open, x => x.open, PANEL, x => affixIconTemplate(x.icon), x => x.heading, when(x => x.meta, html(_t4 || (_t4 = _`<span class="meta">${0}</span>`), x => x.meta)), when(x => !x.noIndicator && !x.iconTrailing, html(_t5 || (_t5 = _`
113
- <vwc-icon class="toggle-open" type='chevron-down-solid'></vwc-icon>
114
- <vwc-icon class="toggle-close" type='chevron-up-solid'></vwc-icon>
115
- `))));
115
+ `), x => x.open = !x.open, x => x.open, PANEL, () => focusTemplate, x => affixIconTemplate(x.icon), x => x.heading, when(x => x.meta, html(_t4 || (_t4 = _`<span class="meta">${0}</span>`), x => x.meta)), when(x => !x.noIndicator && !x.iconTrailing, html(_t5 || (_t5 = _`
116
+ ${0}
117
+ ${0}
118
+ `), when(x => !x.open, html(_t6 || (_t6 = _`<vwc-icon type='chevron-down-solid'></vwc-icon>`))), when(x => x.open, html(_t7 || (_t7 = _`<vwc-icon type='chevron-up-solid'></vwc-icon>`))))));
116
119
  };
117
120
 
118
121
  const vividAccordionItem = AccordionItem.compose({
119
122
  baseName: 'accordion-item',
120
123
  template: AccordionItemTemplate,
121
- styles: css_248z
124
+ styles: css_248z,
125
+ shadowOptions: {
126
+ delegatesFocus: true
127
+ }
122
128
  });
123
129
  designSystem.register(vividAccordionItem());
124
130
 
@@ -0,0 +1,47 @@
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 '../shared/web.dom-collections.iterator.js';
3
+ import { c as classNames } from '../shared/class-names.js';
4
+ import '../shared/export.js';
5
+ import '../shared/object-keys.js';
6
+ import '../shared/iterators.js';
7
+
8
+ var css_248z = "/**\n * Do not edit directly\n * Generated on Thu, 15 Sep 2022 09:43:08 GMT\n */\n:host {\n display: inline-block;\n}\n\n.base {\n position: relative;\n display: flex;\n box-sizing: border-box;\n align-items: center;\n background-color: var(--_appearance-color-fill);\n color: var(--_appearance-color-text);\n inline-size: inherit;\n vertical-align: middle;\n}\n.base {\n --_appearance-color-text: var(--vvd-color-canvas-text);\n --_appearance-color-fill: var(--vvd-color-canvas);\n --_appearance-color-outline: var(--vvd-color-neutral-400);\n}\n.base.appearance-ghost {\n --_appearance-color-text: var(--_connotation-color-primary);\n --_appearance-color-fill: transaprent;\n --_appearance-color-outline: transaprent;\n}\n.base::before {\n position: absolute;\n z-index: 1;\n border-radius: inherit;\n box-shadow: inset 0 0 0 1px var(--_appearance-color-outline);\n content: \"\";\n inset: 0;\n pointer-events: none;\n}\n.base:not(.tight) {\n padding: 4px;\n column-gap: 4px;\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/* Separator */\n::slotted(vwc-divider) {\n align-self: stretch;\n margin-block: 4px;\n}";
9
+
10
+ class ActionGroup extends FoundationElement {
11
+ constructor() {
12
+ super(...arguments);
13
+ this.tight = false;
14
+ }
15
+
16
+ }
17
+
18
+ __decorate([attr, __metadata("design:type", String)], ActionGroup.prototype, "shape", void 0);
19
+
20
+ __decorate([attr, __metadata("design:type", String)], ActionGroup.prototype, "appearance", void 0);
21
+
22
+ __decorate([attr({
23
+ mode: 'boolean'
24
+ }), __metadata("design:type", Object)], ActionGroup.prototype, "tight", void 0);
25
+
26
+ let _ = t => t,
27
+ _t;
28
+
29
+ const getClasses = ({
30
+ appearance,
31
+ shape,
32
+ tight
33
+ }) => classNames('base', [`appearance-${appearance}`, Boolean(appearance)], [`shape-${shape}`, Boolean(shape)], ['tight', tight]);
34
+
35
+ const ActionGroupTemplate = () => html(_t || (_t = _`
36
+ <div class="${0}">
37
+ <slot></slot>
38
+ </div>`), getClasses);
39
+
40
+ const vividActionGroup = ActionGroup.compose({
41
+ baseName: 'action-group',
42
+ template: ActionGroupTemplate,
43
+ styles: css_248z
44
+ });
45
+ designSystem.register(vividActionGroup());
46
+
47
+ export { vividActionGroup };
@@ -0,0 +1,51 @@
1
+ import '../icon/index.js';
2
+ import { F as FoundationElement, _ as __decorate, a as attr, b as __metadata, h as html, d as designSystem } from '../shared/index.js';
3
+ import { c as classNames } from '../shared/class-names.js';
4
+ import '../shared/icon.js';
5
+ import '../shared/export.js';
6
+ import '../shared/iterators.js';
7
+ import '../shared/to-string.js';
8
+ import '../shared/_has.js';
9
+ import '../shared/when.js';
10
+
11
+ var css_248z = "/**\n * Do not edit directly\n * Generated on Thu, 15 Sep 2022 09:43:08 GMT\n */\n.base {\n display: inline-flex;\n overflow: hidden;\n align-items: center;\n justify-content: center;\n background-color: var(--_appearance-color-fill);\n block-size: var(--_density);\n box-shadow: inset 0 0 0 1px var(--_appearance-color-outline);\n color: var(--_appearance-color-text);\n inline-size: var(--_density);\n vertical-align: middle;\n}\n.base.connotation-cta {\n --_connotation-color-primary: var(--vvd-color-cta-500);\n --_connotation-color-primary-text: var(--vvd-color-canvas);\n --_connotation-color-firm: var(--vvd-color-cta-600);\n}\n.base:not(.connotation-cta) {\n --_connotation-color-primary: var(--vvd-color-canvas-text);\n --_connotation-color-primary-text: var(--vvd-color-canvas);\n --_connotation-color-firm: var(--vvd-color-canvas-text);\n}\n.base {\n --_appearance-color-text: var(--_connotation-color-primary-text);\n --_appearance-color-fill: var(--_connotation-color-primary);\n --_appearance-color-outline: transaprent;\n}\n.base.appearance-outlined {\n --_appearance-color-text: var(--_connotation-color-firm);\n --_appearance-color-fill: transaprent;\n --_appearance-color-outline: var(--_connotation-color-firm);\n}\n.base.appearance-ghost {\n --_appearance-color-text: var(--_connotation-color-primary);\n --_appearance-color-fill: transaprent;\n --_appearance-color-outline: transaprent;\n}\n.base.density-condensed {\n --_density: 32px;\n}\n.base.density-condensed .icon {\n font-size: calc(32px / 2);\n}\n.base.density-extended {\n --_density: 48px;\n}\n.base.density-extended .icon {\n font-size: calc(48px / 2);\n}\n.base:not(.density-condensed, .density-extended) {\n --_density: 40px;\n}\n.base:not(.density-condensed, .density-extended) .icon {\n font-size: calc(40px / 2);\n}\n.base:not(.shape-pill) {\n border-radius: 6px;\n}\n.base.shape-pill {\n border-radius: 50%;\n}\n.base ::slotted(*) {\n block-size: 100%;\n inline-size: 100%;\n object-fit: cover;\n}";
12
+
13
+ class Avatar extends FoundationElement {}
14
+
15
+ __decorate([attr, __metadata("design:type", String)], Avatar.prototype, "connotation", void 0);
16
+
17
+ __decorate([attr, __metadata("design:type", String)], Avatar.prototype, "shape", void 0);
18
+
19
+ __decorate([attr, __metadata("design:type", String)], Avatar.prototype, "appearance", void 0);
20
+
21
+ __decorate([attr, __metadata("design:type", String)], Avatar.prototype, "density", void 0);
22
+
23
+ __decorate([attr, __metadata("design:type", String)], Avatar.prototype, "icon", void 0);
24
+
25
+ let _ = t => t,
26
+ _t;
27
+
28
+ const getClasses = ({
29
+ appearance,
30
+ connotation,
31
+ shape,
32
+ density
33
+ }) => classNames('base', [`connotation-${connotation}`, Boolean(connotation)], [`appearance-${appearance}`, Boolean(appearance)], [`shape-${shape}`, Boolean(shape)], [`density-${density}`, Boolean(density)]);
34
+
35
+ const AvatarTemplate = () => html(_t || (_t = _`
36
+ <span class="${0}">
37
+ <slot>
38
+ <span class="icon">
39
+ <vwc-icon type="${0}"></vwc-icon>
40
+ </span>
41
+ </slot>
42
+ </span>`), getClasses, x => x.icon ? `${x.icon}` : 'user-line');
43
+
44
+ const vividAvatar = Avatar.compose({
45
+ baseName: 'avatar',
46
+ template: AvatarTemplate,
47
+ styles: css_248z
48
+ });
49
+ designSystem.register(vividAvatar());
50
+
51
+ export { vividAvatar };
package/badge/index.js CHANGED
@@ -1,21 +1,18 @@
1
1
  import '../icon/index.js';
2
2
  import { F as FoundationElement, _ as __decorate, a as attr, b as __metadata, h as html, d as designSystem } from '../shared/index.js';
3
- import '../shared/web.dom-collections.iterator.js';
4
3
  import { A as AffixIconWithTrailing, a as affixIconTemplateFactory } from '../shared/affix.js';
5
4
  import { a as applyMixins } from '../shared/apply-mixins.js';
6
- import { s as styleInject } from '../shared/style-inject.es.js';
7
5
  import { c as classNames } from '../shared/class-names.js';
8
6
  import '../shared/icon.js';
7
+ import '../shared/export.js';
8
+ import '../shared/iterators.js';
9
+ import '../shared/to-string.js';
9
10
  import '../shared/_has.js';
10
11
  import '../shared/when.js';
12
+ import '../shared/web.dom-collections.iterator.js';
13
+ import '../shared/object-keys.js';
11
14
 
12
- class Badge extends FoundationElement {
13
- constructor() {
14
- super(...arguments);
15
- this.text = '';
16
- }
17
-
18
- }
15
+ class Badge extends FoundationElement {}
19
16
 
20
17
  __decorate([attr, __metadata("design:type", String)], Badge.prototype, "connotation", void 0);
21
18
 
@@ -23,16 +20,13 @@ __decorate([attr, __metadata("design:type", String)], Badge.prototype, "shape",
23
20
 
24
21
  __decorate([attr, __metadata("design:type", String)], Badge.prototype, "appearance", void 0);
25
22
 
26
- __decorate([attr, __metadata("design:type", String)], Badge.prototype, "size", void 0);
23
+ __decorate([attr, __metadata("design:type", String)], Badge.prototype, "density", void 0);
27
24
 
28
- __decorate([attr({
29
- mode: 'fromView'
30
- }), __metadata("design:type", Object)], Badge.prototype, "text", void 0);
25
+ __decorate([attr, __metadata("design:type", String)], Badge.prototype, "text", void 0);
31
26
 
32
27
  applyMixins(Badge, AffixIconWithTrailing);
33
28
 
34
- var css_248z = "/*\n Do not edit directly\n Generated on Sun, 23 Jan 2022 11:15:05 GMT\n*/\n.control {\n font: 600 ultra-condensed 12px / 16px SpeziaWebVariable;\n letter-spacing: 0px;\n text-decoration: none;\n text-transform: none;\n display: inline-flex;\n box-sizing: border-box;\n align-items: center;\n background-color: var(--_appearance-color-fill);\n box-shadow: inset 0 0 0 1px var(--_appearance-color-outline);\n color: var(--_appearance-color-text);\n column-gap: 8px;\n vertical-align: middle;\n}\n.control:not(.connotation-cta):not(.connotation-success):not(.connotation-alert):not(.connotation-warning):not(.connotation-info) {\n --connotation: var(--vvd-color-primary);\n --on-connotation: var(--vvd-color-on-primary);\n --connotation-soft: var(--vvd-color-neutral-20);\n --connotation-contrast: var(--vvd-color-neutral-90);\n}\n\n.control.connotation-cta {\n --connotation: var(--vvd-color-cta);\n --on-connotation: var(--vvd-color-on-cta);\n --connotation-soft: var(--vvd-color-cta-20);\n --connotation-contrast: var(--vvd-color-cta-90);\n}\n\n.control.connotation-success {\n --connotation: var(--vvd-color-success);\n --on-connotation: var(--vvd-color-on-success);\n --connotation-soft: var(--vvd-color-success-20);\n --connotation-contrast: var(--vvd-color-success-90);\n}\n\n.control.connotation-alert {\n --connotation: var(--vvd-color-alert);\n --on-connotation: var(--vvd-color-on-alert);\n --connotation-soft: var(--vvd-color-alert-20);\n --connotation-contrast: var(--vvd-color-alert-90);\n}\n\n.control.connotation-warning {\n --connotation: var(--vvd-color-warning);\n --on-connotation: var(--vvd-color-on-warning);\n --connotation-soft: var(--vvd-color-warning-20);\n --connotation-contrast: var(--vvd-color-warning-90);\n}\n\n.control.connotation-info {\n --connotation: var(--vvd-color-info);\n --on-connotation: var(--vvd-color-on-info);\n --connotation-soft: var(--vvd-color-info-20);\n --connotation-contrast: var(--vvd-color-info-90);\n}\n\n.control {\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);\n --_appearance-color-fill: transaprent;\n --_appearance-color-outline: var(--connotation);\n}\n.control.appearance-subtle {\n --_appearance-color-text: var(--connotation-contrast);\n --_appearance-color-fill: var(--connotation-soft);\n --_appearance-color-outline: transaprent;\n}\n\n/* Size */\n.control:not(.size-base-small):not(.size-base-large) {\n block-size: 24px;\n padding-inline: 10px;\n}\n\n.control.size-base-small {\n block-size: 20px;\n padding-inline: 8px;\n}\n\n.control.size-base-large {\n block-size: 28px;\n padding-inline: 12px;\n}\n\n/* Shape */\n.control:not(.shape-pill) {\n border-radius: 4px;\n}\n\n.control.shape-pill {\n border-radius: 14px;\n}\n\n/* Icon */\n.icon-trailing .icon {\n order: 1;\n}";
35
- styleInject(css_248z);
29
+ var css_248z = "/**\n * Do not edit directly\n * Generated on Thu, 15 Sep 2022 09:43:08 GMT\n */\n.control {\n display: inline-flex;\n box-sizing: border-box;\n align-items: center;\n background-color: var(--_appearance-color-fill);\n box-shadow: inset 0 0 0 1px var(--_appearance-color-outline);\n color: var(--_appearance-color-text);\n column-gap: 8px;\n font: var(--vvd-font-base-condensed-bold);\n vertical-align: middle;\n}\n.control.connotation-cta {\n --_connotation-color-primary: var(--vvd-color-cta-500);\n --_connotation-color-primary-text: var(--vvd-color-canvas);\n --_connotation-color-intermediate: var(--vvd-color-cta-500);\n --_connotation-color-soft: var(--vvd-color-cta-100);\n --_connotation-color-contrast: var(--vvd-color-cta-800);\n}\n.control.connotation-success {\n --_connotation-color-primary: var(--vvd-color-success-500);\n --_connotation-color-primary-text: var(--vvd-color-canvas);\n --_connotation-color-intermediate: var(--vvd-color-success-500);\n --_connotation-color-soft: var(--vvd-color-success-100);\n --_connotation-color-contrast: var(--vvd-color-success-800);\n}\n.control.connotation-alert {\n --_connotation-color-primary: var(--vvd-color-alert-500);\n --_connotation-color-primary-text: var(--vvd-color-canvas);\n --_connotation-color-intermediate: var(--vvd-color-alert-500);\n --_connotation-color-soft: var(--vvd-color-alert-100);\n --_connotation-color-contrast: var(--vvd-color-alert-800);\n}\n.control.connotation-warning {\n --_connotation-color-primary: var(--vvd-color-warning-500);\n --_connotation-color-primary-text: var(--vvd-color-canvas);\n --_connotation-color-intermediate: var(--vvd-color-warning-500);\n --_connotation-color-soft: var(--vvd-color-warning-100);\n --_connotation-color-contrast: var(--vvd-color-warning-800);\n}\n.control.connotation-information {\n --_connotation-color-primary: var(--vvd-color-information-500);\n --_connotation-color-primary-text: var(--vvd-color-canvas);\n --_connotation-color-intermediate: var(--vvd-color-information-500);\n --_connotation-color-soft: var(--vvd-color-information-100);\n --_connotation-color-contrast: var(--vvd-color-information-800);\n}\n.control:not(.connotation-cta, .connotation-success, .connotation-alert, .connotation-warning, .connotation-information) {\n --_connotation-color-primary: var(--vvd-color-canvas-text);\n --_connotation-color-primary-text: var(--vvd-color-canvas);\n --_connotation-color-intermediate: var(--vvd-color-neutral-500);\n --_connotation-color-soft: var(--vvd-color-neutral-100);\n --_connotation-color-contrast: var(--vvd-color-neutral-800);\n}\n.control {\n --_appearance-color-text: var(--_connotation-color-primary-text);\n --_appearance-color-fill: var(--_connotation-color-primary);\n --_appearance-color-outline: transaprent;\n}\n.control.appearance-duotone {\n --_appearance-color-text: var(--_connotation-color-contrast);\n --_appearance-color-fill: transaprent;\n --_appearance-color-outline: var(--_connotation-color-intermediate);\n}\n.control.appearance-subtle {\n --_appearance-color-text: var(--_connotation-color-contrast);\n --_appearance-color-fill: var(--_connotation-color-soft);\n --_appearance-color-outline: transaprent;\n}\n\n/* Size */\n.control:not(.density-condensed):not(.density-extended) {\n block-size: 24px;\n padding-inline: 10px;\n}\n\n.control.density-condensed {\n block-size: 20px;\n padding-inline: 8px;\n}\n\n.control.density-extended {\n block-size: 28px;\n padding-inline: 12px;\n}\n\n/* Shape */\n.control:not(.shape-pill) {\n border-radius: 4px;\n}\n\n.control.shape-pill {\n border-radius: 14px;\n}\n\n/* Icon */\n.icon-trailing .icon {\n order: 1;\n}";
36
30
 
37
31
  let _ = t => t,
38
32
  _t;
@@ -41,9 +35,9 @@ const getClasses = ({
41
35
  connotation,
42
36
  appearance,
43
37
  shape,
44
- size,
38
+ density,
45
39
  iconTrailing
46
- }) => classNames('control', [`connotation-${connotation}`, Boolean(connotation)], [`appearance-${appearance}`, Boolean(appearance)], [`shape-${shape}`, Boolean(shape)], [`size-${size}`, Boolean(size)], ['icon-trailing', iconTrailing]);
40
+ }) => classNames('control', [`connotation-${connotation}`, Boolean(connotation)], [`appearance-${appearance}`, Boolean(appearance)], [`shape-${shape}`, Boolean(shape)], [`density-${density}`, Boolean(density)], ['icon-trailing', iconTrailing]);
47
41
 
48
42
  const badgeTemplate = context => {
49
43
  const affixIconTemplate = affixIconTemplateFactory(context);
@@ -54,11 +48,11 @@ const badgeTemplate = context => {
54
48
  </span>`), getClasses, x => affixIconTemplate(x.icon), x => x.text);
55
49
  };
56
50
 
57
- const VIVIDBadge = Badge.compose({
51
+ const vividBadge = Badge.compose({
58
52
  baseName: 'badge',
59
53
  template: badgeTemplate,
60
54
  styles: css_248z
61
55
  });
62
- designSystem.register(VIVIDBadge());
56
+ designSystem.register(vividBadge());
63
57
 
64
- export { VIVIDBadge };
58
+ export { vividBadge };
package/banner/index.js CHANGED
@@ -1,97 +1,32 @@
1
+ import '../button/index.js';
1
2
  import { F as FoundationElement, c as __classPrivateFieldGet, _ 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
3
  import '../shared/web.dom-collections.iterator.js';
4
+ import { C as Connotation } from '../shared/enums.js';
4
5
  import { b as AffixIcon, a as affixIconTemplateFactory } from '../shared/affix.js';
5
6
  import { a as applyMixins } from '../shared/apply-mixins.js';
6
- import '../button/index.js';
7
- import '../text-anchor/index.js';
8
7
  import { w as when } from '../shared/when.js';
9
8
  import { c as classNames } from '../shared/class-names.js';
9
+ import '../icon/index.js';
10
10
  import '../shared/icon.js';
11
+ import '../shared/export.js';
12
+ import '../shared/iterators.js';
13
+ import '../shared/to-string.js';
11
14
  import '../shared/_has.js';
12
- import '../icon/index.js';
13
- import '../shared/index2.js';
15
+ import '../focus/index.js';
16
+ import '../shared/focus.js';
17
+ import '../shared/button.js';
18
+ import '../shared/form-associated.js';
14
19
  import '../shared/aria-global.js';
15
- import '../shared/text-anchor.js';
16
- import '../shared/anchor.js';
17
- import '../shared/text-anchor.template.js';
18
-
19
- var css_248z = "/*\n Do not edit directly\n Generated on Sun, 23 Jan 2022 11:15:05 GMT\n*/\n.control {\n overflow: hidden;\n max-height: 10rem;\n background-color: var(--_appearance-color-fill);\n color: var(--_appearance-color-text);\n transition: max-height var(--transition-delay, 200ms);\n}\n.control.connotation-success {\n --connotation: var(--vvd-color-success);\n --on-connotation: var(--vvd-color-on-success);\n --connotation-diverse: var(--vvd-color-success-70);\n}\n\n.control:not(.connotation-success):not(.connotation-alert):not(.connotation-announcement):not(.connotation-warning) {\n --connotation: var(--vvd-color-info);\n --on-connotation: var(--vvd-color-on-info);\n --connotation-diverse: var(--vvd-color-info-70);\n}\n\n.control.connotation-alert {\n --connotation: var(--vvd-color-alert);\n --on-connotation: var(--vvd-color-on-alert);\n --connotation-diverse: var(--vvd-color-alert-70);\n}\n\n.control.connotation-announcement {\n --connotation: var(--vvd-color-announcement);\n --on-connotation: var(--vvd-color-on-announcement);\n --connotation-diverse: var(--vvd-color-announcement-70);\n}\n\n.control.connotation-warning {\n --connotation: var(--vvd-color-warning);\n --on-connotation: var(--vvd-color-on-warning);\n --connotation-diverse: var(--vvd-color-warning-70);\n}\n\n.control {\n --_appearance-color-text: var(--on-connotation);\n --_appearance-color-fill: var(--connotation);\n --_appearance-color-outline: transaprent;\n}\n.control.removing {\n max-height: 0;\n}\n.control > .header {\n font: 600 ultra-condensed 14px / 20px SpeziaWebVariable;\n letter-spacing: 0px;\n text-decoration: none;\n text-transform: none;\n display: flex;\n min-height: 60px;\n align-items: center;\n justify-content: flex-start;\n}\n.control > .header > .user-content {\n display: flex;\n flex: 1 0;\n align-items: center;\n justify-content: center;\n padding-inline: 16px;\n}\n.control > .header > .user-content > .icon {\n flex: 0 0 auto;\n font-size: 20px;\n margin-inline-end: 15px;\n}\n.control > .header > .user-content > .action-items {\n display: inline-block;\n flex: 0 0 auto;\n padding-inline-start: 15px;\n}\n.control > .header > .user-content > .message {\n padding: 20px 0;\n}\n.control > .header > .dismiss-button {\n --vvd-icon-button-color: inherit;\n flex: 0 0 auto;\n margin-inline-end: 8px;\n}";
20
- styleInject(css_248z);
21
-
22
- var Connotation;
23
-
24
- (function (Connotation) {
25
- Connotation["Primary"] = "primary";
26
- Connotation["CTA"] = "cta";
27
- Connotation["Success"] = "success";
28
- Connotation["Alert"] = "alert";
29
- Connotation["Warning"] = "warning";
30
- Connotation["Info"] = "info";
31
- Connotation["Announcement"] = "announcement";
32
- })(Connotation || (Connotation = {}));
33
-
34
- var ConnotationDecorative;
35
-
36
- (function (ConnotationDecorative) {
37
- ConnotationDecorative["Pacific"] = "pacific";
38
- })(ConnotationDecorative || (ConnotationDecorative = {}));
39
-
40
- var Shape;
41
-
42
- (function (Shape) {
43
- Shape["Rounded"] = "rounded";
44
- Shape["Pill"] = "pill";
45
- Shape["Circled"] = "circled";
46
- Shape["Sharp"] = "sharp";
47
- })(Shape || (Shape = {}));
48
-
49
- var Appearance;
50
-
51
- (function (Appearance) {
52
- Appearance["Text"] = "text";
53
- Appearance["Filled"] = "filled";
54
- Appearance["Outlined"] = "outlined";
55
- Appearance["Subtle"] = "subtle";
56
- Appearance["Ghost"] = "ghost";
57
- })(Appearance || (Appearance = {}));
58
-
59
- var Size;
60
-
61
- (function (Size) {
62
- Size["BaseSmall"] = "base-small";
63
- Size["Base"] = "base";
64
- Size["BaseLarge"] = "base-large";
65
- })(Size || (Size = {}));
66
-
67
- var Position;
68
-
69
- (function (Position) {
70
- Position["Top"] = "TOP";
71
- Position["Bottom"] = "BOTTOM";
72
- Position["Start"] = "START";
73
- Position["Center"] = "CENTER";
74
- Position["End"] = "END";
75
- })(Position || (Position = {}));
76
-
77
- var Role;
78
-
79
- (function (Role) {
80
- Role["Status"] = "status";
81
- Role["Alert"] = "alert";
82
- })(Role || (Role = {}));
83
-
84
- var AriaLive;
85
-
86
- (function (AriaLive) {
87
- AriaLive["Polite"] = "polite";
88
- AriaLive["Assertive"] = "assertive";
89
- })(AriaLive || (AriaLive = {}));
20
+ import '../shared/ref.js';
21
+ import '../shared/focus2.js';
22
+ import '../shared/object-keys.js';
23
+
24
+ var css_248z = "/**\n * Do not edit directly\n * Generated on Thu, 15 Sep 2022 09:43:08 GMT\n */\n.control {\n overflow: hidden;\n max-height: 160px;\n background-color: var(--_appearance-color-fill);\n color: var(--_appearance-color-text);\n transition: max-height var(--transition-delay, 200ms);\n}\n.control.connotation-success {\n --_connotation-color-primary: var(--vvd-color-success-500);\n --_connotation-color-primary-text: var(--vvd-color-canvas);\n}\n.control.connotation-alert {\n --_connotation-color-primary: var(--vvd-color-alert-500);\n --_connotation-color-primary-text: var(--vvd-color-canvas);\n}\n.control.connotation-announcement {\n --_connotation-color-primary: var(--vvd-color-announcement-500);\n --_connotation-color-primary-text: var(--vvd-color-canvas);\n}\n.control.connotation-warning {\n --_connotation-color-primary: var(--vvd-color-warning-500);\n --_connotation-color-primary-text: var(--vvd-color-canvas);\n}\n.control:not(.connotation-success, .connotation-alert, .connotation-announcement, .connotation-warning) {\n --_connotation-color-primary: var(--vvd-color-information-500);\n --_connotation-color-primary-text: var(--vvd-color-canvas);\n}\n.control {\n --_appearance-color-text: var(--_connotation-color-primary-text);\n --_appearance-color-fill: var(--_connotation-color-primary);\n --_appearance-color-outline: transaprent;\n}\n.control.removing {\n max-height: 0;\n}\n.control > .header {\n display: flex;\n min-height: 60px;\n align-items: center;\n justify-content: flex-start;\n font: var(--vvd-font-base-bold);\n}\n.control > .header > .user-content {\n display: flex;\n flex: 1 0;\n align-items: center;\n justify-content: center;\n padding-inline: 16px;\n}\n.control > .header > .user-content > .icon {\n flex: 0 0 auto;\n font-size: 20px;\n margin-inline-end: 15px;\n}\n.control > .header > .user-content > .action-items {\n display: inline-block;\n flex: 0 0 auto;\n padding-inline-start: 15px;\n}\n.control > .header > .user-content > .message {\n padding: 20px 0;\n}\n.control > .header > .dismiss-button {\n --vvd-icon-button-color: inherit;\n flex: 0 0 auto;\n margin-inline-end: 8px;\n}";
90
25
 
91
26
  var _Banner_handleRemoveEnd, _Banner_closeOnKeyDown;
92
- const connotationIconMap = new Map([[Connotation.Info, 'info-solid'], [Connotation.Announcement, 'megaphone-solid'], [Connotation.Success, 'check-circle-solid'], [Connotation.Warning, 'warning-solid'], [Connotation.Alert, 'error-solid']]);
27
+ const connotationIconMap = new Map([[Connotation.Information, 'info-solid'], [Connotation.Announcement, 'megaphone-solid'], [Connotation.Success, 'check-circle-solid'], [Connotation.Warning, 'warning-solid'], [Connotation.Alert, 'error-solid']]);
93
28
 
94
- const defaultConnotation = (connotation = Connotation.Info) => connotationIconMap.get(connotation);
29
+ const defaultConnotation = (connotation = Connotation.Information) => connotationIconMap.get(connotation);
95
30
 
96
31
  class Banner extends FoundationElement {
97
32
  constructor() {
@@ -99,7 +34,7 @@ class Banner extends FoundationElement {
99
34
  this.removable = false;
100
35
 
101
36
  _Banner_handleRemoveEnd.set(this, () => {
102
- this.$emit('vwc-banner:removed');
37
+ this.$emit('removed');
103
38
  this.parentElement && this.parentElement.removeChild(this);
104
39
  });
105
40
 
@@ -129,7 +64,7 @@ class Banner extends FoundationElement {
129
64
  }
130
65
 
131
66
  remove() {
132
- this.$emit('vwc-banner:removing');
67
+ this.$emit('removing');
133
68
  const banner = this.shadowRoot && this.shadowRoot.querySelector('.banner');
134
69
 
135
70
  if (banner) {
@@ -174,7 +109,7 @@ const getClasses = _ => classNames('control', [`connotation-${_.connotation}`, !
174
109
  function renderDismissButton() {
175
110
  return html(_t || (_t = _2`
176
111
  <vwc-button
177
- size="base-small"
112
+ density="condensed"
178
113
  class="dismiss-button"
179
114
  icon="close-line"
180
115
  @click="${0}">
@@ -193,7 +128,7 @@ const BannerTemplate = context => {
193
128
  aria-live="${0}">
194
129
  ${0}
195
130
  </div>
196
- <slot class="action-items" name="actionItems"></slot>
131
+ <slot class="action-items" name="action-items"></slot>
197
132
  </div>
198
133
 
199
134
  ${0}