@vonage/vivid 3.32.0 → 3.35.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (221) hide show
  1. package/accordion/index.js +5 -5
  2. package/accordion-item/index.js +4 -4
  3. package/action-group/index.js +1 -1
  4. package/alert/index.js +6 -6
  5. package/avatar/index.js +2 -2
  6. package/badge/index.js +2 -2
  7. package/banner/index.js +5 -5
  8. package/breadcrumb/index.js +1 -1
  9. package/breadcrumb-item/index.js +3 -3
  10. package/button/index.js +4 -4
  11. package/calendar/index.js +1 -1
  12. package/calendar-event/index.js +1 -1
  13. package/card/index.js +3 -3
  14. package/checkbox/index.js +5 -3
  15. package/combobox/index.js +8 -8
  16. package/custom-elements.json +256 -18
  17. package/data-grid/index.js +2 -2
  18. package/date-picker/index.js +9 -9
  19. package/dialog/index.js +6 -6
  20. package/divider/index.js +1 -1
  21. package/elevation/index.js +1 -1
  22. package/empty-state/index.js +2 -2
  23. package/fab/index.js +4 -4
  24. package/file-picker/index.js +5 -5
  25. package/focus/index.js +1 -1
  26. package/header/index.js +2 -2
  27. package/icon/index.js +1 -1
  28. package/index.js +59 -59
  29. package/layout/index.js +1 -1
  30. package/lib/avatar/avatar.d.ts +1 -1
  31. package/lib/calendar/calendar.d.ts +1 -1
  32. package/lib/date-picker/calendar/dateStr.d.ts +1 -0
  33. package/lib/date-picker/calendar/month.d.ts +1 -0
  34. package/lib/date-picker/calendar/year.d.ts +2 -0
  35. package/lib/date-picker/date-picker.d.ts +2 -0
  36. package/lib/icon/icon.d.ts +0 -1
  37. package/lib/listbox/listbox.d.ts +9 -1
  38. package/lib/progress-ring/progress-ring.d.ts +1 -1
  39. package/lib/text-field/text-field.d.ts +1 -0
  40. package/listbox/index.js +20 -16
  41. package/locales/en-GB.js +48 -14
  42. package/locales/en-US.js +48 -14
  43. package/locales/ja-JP.js +48 -14
  44. package/locales/zh-CN.js +48 -14
  45. package/menu/index.js +8 -8
  46. package/menu-item/index.js +4 -4
  47. package/nav/index.js +1 -1
  48. package/nav-disclosure/index.js +3 -3
  49. package/nav-item/index.js +3 -3
  50. package/note/index.js +2 -3
  51. package/number-field/index.js +6 -6
  52. package/option/index.js +3 -3
  53. package/package.json +2 -16
  54. package/pagination/index.js +5 -5
  55. package/popup/index.js +6 -6
  56. package/progress/index.js +1 -1
  57. package/progress-ring/index.js +1 -1
  58. package/radio/index.js +2 -2
  59. package/radio-group/index.js +1 -1
  60. package/select/index.js +8 -8
  61. package/shared/affix.js +25 -9
  62. package/shared/apply-mixins.js +1 -1
  63. package/shared/breadcrumb-item.js +5 -5
  64. package/shared/button.js +13 -13
  65. package/shared/calendar-event.js +36 -16
  66. package/shared/definition.js +133 -194
  67. package/shared/definition10.js +225 -40
  68. package/shared/definition11.js +36 -32
  69. package/shared/definition12.js +763 -98
  70. package/shared/definition13.js +125 -89
  71. package/shared/definition14.js +207 -27
  72. package/shared/definition15.js +710 -731
  73. package/shared/definition16.js +1289 -47
  74. package/shared/definition17.js +6113 -93
  75. package/shared/definition18.js +242 -164
  76. package/shared/definition19.js +47 -692
  77. package/shared/definition2.js +199 -117
  78. package/shared/definition20.js +59 -1671
  79. package/shared/definition21.js +95 -255
  80. package/shared/definition22.js +2218 -1167
  81. package/shared/definition23.js +61 -5784
  82. package/shared/definition24.js +28 -117
  83. package/shared/definition25.js +52 -66
  84. package/shared/definition26.js +391 -214
  85. package/shared/definition27.js +441 -34
  86. package/shared/definition28.js +85 -73
  87. package/shared/definition29.js +21 -2283
  88. package/shared/definition3.js +61 -24
  89. package/shared/definition30.js +13 -49
  90. package/shared/definition31.js +54 -39
  91. package/shared/definition32.js +413 -375
  92. package/shared/definition33.js +223 -304
  93. package/shared/definition34.js +197 -13
  94. package/shared/definition35.js +88 -73
  95. package/shared/definition36.js +75 -25
  96. package/shared/definition37.js +434 -34
  97. package/shared/definition38.js +32 -432
  98. package/shared/definition39.js +677 -187
  99. package/shared/definition4.js +157 -12
  100. package/shared/definition40.js +95 -48
  101. package/shared/definition41.js +577 -31
  102. package/shared/definition42.js +126 -424
  103. package/shared/definition43.js +114 -618
  104. package/shared/definition44.js +24 -80
  105. package/shared/definition45.js +71 -543
  106. package/shared/definition46.js +499 -92
  107. package/shared/definition47.js +19 -133
  108. package/shared/definition48.js +129 -52
  109. package/shared/definition49.js +281 -17
  110. package/shared/definition5.js +71 -36
  111. package/shared/definition50.js +153 -484
  112. package/shared/definition51.js +131 -98
  113. package/shared/definition52.js +131 -16
  114. package/shared/definition53.js +80 -264
  115. package/shared/definition54.js +293 -118
  116. package/shared/definition55.js +12 -117
  117. package/shared/definition56.js +39 -68
  118. package/shared/definition57.js +166 -288
  119. package/shared/definition6.js +56 -111
  120. package/shared/definition7.js +120 -195
  121. package/shared/definition8.js +58 -23
  122. package/shared/definition9.js +92 -66
  123. package/shared/focus.js +2 -1
  124. package/shared/focus2.js +1 -1
  125. package/shared/form-associated.js +2 -2
  126. package/shared/icon.js +48 -27
  127. package/shared/index.js +7 -27
  128. package/shared/index2.js +108 -80
  129. package/shared/key-codes.js +1 -1
  130. package/shared/listbox.js +88 -11
  131. package/shared/patterns/form-elements/form-elements.d.ts +4 -4
  132. package/shared/radio.js +23 -7
  133. package/shared/repeat.js +1 -1
  134. package/shared/text-anchor.js +21 -4
  135. package/shared/text-anchor.template.js +37 -40
  136. package/shared/text-field.js +2 -2
  137. package/shared/text-field2.js +15 -15
  138. package/shared/tree-item.js +12 -12
  139. package/side-drawer/index.js +1 -1
  140. package/slider/index.js +2 -2
  141. package/split-button/index.js +3 -3
  142. package/style.css +6106 -0
  143. package/styles/core/all.css +1 -1
  144. package/styles/core/theme.css +1 -1
  145. package/styles/core/typography.css +1 -1
  146. package/styles/tokens/theme-dark.css +4 -4
  147. package/styles/tokens/theme-light.css +4 -4
  148. package/styles/tokens/vivid-2-compat.css +1 -1
  149. package/switch/index.js +3 -3
  150. package/tab/index.js +3 -3
  151. package/tab-panel/index.js +1 -1
  152. package/tabs/index.js +5 -5
  153. package/tag/index.js +3 -3
  154. package/tag-group/index.js +1 -1
  155. package/text-anchor/index.js +1 -1
  156. package/text-area/index.js +3 -3
  157. package/text-field/index.js +3 -3
  158. package/toggletip/index.js +7 -7
  159. package/tooltip/index.js +7 -7
  160. package/tree-item/index.js +3 -3
  161. package/tree-view/index.js +1 -1
  162. package/vivid.api.json +10 -1
  163. package/lib/accordion/index.d.ts +0 -1
  164. package/lib/accordion-item/index.d.ts +0 -1
  165. package/lib/action-group/index.d.ts +0 -1
  166. package/lib/alert/index.d.ts +0 -1
  167. package/lib/avatar/index.d.ts +0 -1
  168. package/lib/badge/index.d.ts +0 -1
  169. package/lib/banner/index.d.ts +0 -1
  170. package/lib/breadcrumb/index.d.ts +0 -1
  171. package/lib/breadcrumb-item/index.d.ts +0 -1
  172. package/lib/button/index.d.ts +0 -1
  173. package/lib/calendar/index.d.ts +0 -1
  174. package/lib/calendar-event/index.d.ts +0 -1
  175. package/lib/card/index.d.ts +0 -1
  176. package/lib/checkbox/index.d.ts +0 -1
  177. package/lib/combobox/index.d.ts +0 -1
  178. package/lib/data-grid/index.d.ts +0 -1
  179. package/lib/date-picker/index.d.ts +0 -1
  180. package/lib/dialog/index.d.ts +0 -1
  181. package/lib/divider/index.d.ts +0 -1
  182. package/lib/elevation/index.d.ts +0 -1
  183. package/lib/empty-state/index.d.ts +0 -1
  184. package/lib/fab/index.d.ts +0 -1
  185. package/lib/file-picker/index.d.ts +0 -1
  186. package/lib/focus/index.d.ts +0 -1
  187. package/lib/header/index.d.ts +0 -1
  188. package/lib/icon/index.d.ts +0 -1
  189. package/lib/layout/index.d.ts +0 -1
  190. package/lib/listbox/index.d.ts +0 -1
  191. package/lib/menu/index.d.ts +0 -1
  192. package/lib/menu-item/index.d.ts +0 -1
  193. package/lib/nav/index.d.ts +0 -1
  194. package/lib/nav-disclosure/index.d.ts +0 -1
  195. package/lib/nav-item/index.d.ts +0 -1
  196. package/lib/note/index.d.ts +0 -1
  197. package/lib/number-field/index.d.ts +0 -1
  198. package/lib/option/index.d.ts +0 -1
  199. package/lib/pagination/index.d.ts +0 -1
  200. package/lib/popup/index.d.ts +0 -1
  201. package/lib/progress/index.d.ts +0 -1
  202. package/lib/progress-ring/index.d.ts +0 -1
  203. package/lib/radio/index.d.ts +0 -1
  204. package/lib/radio-group/index.d.ts +0 -1
  205. package/lib/select/index.d.ts +0 -1
  206. package/lib/side-drawer/index.d.ts +0 -1
  207. package/lib/slider/index.d.ts +0 -1
  208. package/lib/split-button/index.d.ts +0 -1
  209. package/lib/switch/index.d.ts +0 -1
  210. package/lib/tab/index.d.ts +0 -1
  211. package/lib/tab-panel/index.d.ts +0 -1
  212. package/lib/tabs/index.d.ts +0 -1
  213. package/lib/tag/index.d.ts +0 -1
  214. package/lib/tag-group/index.d.ts +0 -1
  215. package/lib/text-anchor/index.d.ts +0 -1
  216. package/lib/text-area/index.d.ts +0 -1
  217. package/lib/text-field/index.d.ts +0 -1
  218. package/lib/toggletip/index.d.ts +0 -1
  219. package/lib/tooltip/index.d.ts +0 -1
  220. package/lib/tree-item/index.d.ts +0 -1
  221. package/lib/tree-view/index.d.ts +0 -1
@@ -1,17 +1,162 @@
1
- import { h as html, r as registerFactory } from './index.js';
2
- import { F as Focus } from './focus.js';
1
+ import { a as attr, F as FoundationElement, n as nullableNumberConverter, h as html, r as registerFactory } from './index.js';
2
+ import { C as Connotation, a as buttonRegistries } from './definition10.js';
3
+ import { E as Elevation, e as elevationRegistries } from './definition56.js';
4
+ import { a as iconRegistries } from './definition24.js';
5
+ import { A as AffixIcon, a as affixIconTemplateFactory } from './affix.js';
6
+ import { a as applyMixins } from './apply-mixins.js';
7
+ import './index2.js';
8
+ import { B as Button$1 } from './button.js';
9
+ import { w as when } from './when.js';
10
+ import { c as classNames } from './class-names.js';
3
11
 
4
- var css_248z = "/**\n * Do not edit directly\n * Generated on Tue, 22 Aug 2023 13:37:39 GMT\n */\n:host {\n display: contents;\n border-radius: inherit;\n}\n\n.control {\n position: absolute;\n z-index: 1;\n box-sizing: border-box;\n border-radius: inherit;\n box-shadow: inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);\n inset: var(--focus-inset, 0);\n outline: 2px solid var(--focus-stroke-color, var(--vvd-color-canvas-text));\n outline-offset: -2px;\n}";
12
+ const styles = "/**\n * Do not edit directly\n * Generated on Wed, 06 Sep 2023 09:40:36 GMT\n */\n.control {\n position: fixed;\n z-index: 10;\n border-radius: 6px;\n inline-size: max-content;\n inset-block-end: 0;\n inset-inline-end: 0;\n inset-inline-start: 0;\n margin-block: 16px;\n margin-inline: auto;\n max-inline-size: var(--alert-max-inline-size, fit-content);\n min-inline-size: var(--alert-min-inline-size, 420px);\n transition: opacity 150ms cubic-bezier(0, 0, 0.2, 1) 0ms, transform 150ms cubic-bezier(0, 0, 0.2, 1) 0ms;\n}\n.control.placement-top, .control.placement-top-start, .control.placement-top-end {\n inset-block-end: auto;\n inset-block-start: 0;\n}\n.control.placement-top-start, .control.placement-bottom-start {\n right: auto;\n inset-inline-end: auto;\n margin-inline: 16px;\n}\n.control.placement-top-end, .control.placement-bottom-end {\n inset-inline-start: auto;\n margin-inline: 16px;\n}\n.control:not(.open) {\n opacity: 0;\n transform: scale(0.8);\n}\n.control.open {\n opacity: 1;\n transform: scale(1);\n}\n\n.base {\n display: flex;\n align-items: center;\n padding: 16px;\n background-color: var(--vvd-color-neutral-50);\n border-radius: 6px;\n color: var(--vvd-color-canvas-text);\n column-gap: 16px;\n}\n.base.connotation-success {\n /* @cssprop [--vvd-alert-success-primary=var(--vvd-color-success-500)] */\n --_connotation-color-primary: var(--vvd-alert-success-primary, var(--vvd-color-success-500));\n /* @cssprop [--vvd-alert-success-primary-text=var(--vvd-color-canvas)] */\n --_connotation-color-primary-text: var(--vvd-alert-success-primary-text, var(--vvd-color-canvas));\n}\n.base.connotation-information {\n /* @cssprop [--vvd-alert-information-primary=var(--vvd-color-information-500)] */\n --_connotation-color-primary: var(--vvd-alert-information-primary, var(--vvd-color-information-500));\n /* @cssprop [--vvd-alert-information-primary-text=var(--vvd-color-canvas)] */\n --_connotation-color-primary-text: var(--vvd-alert-information-primary-text, var(--vvd-color-canvas));\n}\n.base.connotation-alert {\n /* @cssprop [--vvd-alert-alert-primary=var(--vvd-color-alert-500)] */\n --_connotation-color-primary: var(--vvd-alert-alert-primary, var(--vvd-color-alert-500));\n /* @cssprop [--vvd-alert-alert-primary-text=var(--vvd-color-canvas)] */\n --_connotation-color-primary-text: var(--vvd-alert-alert-primary-text, var(--vvd-color-canvas));\n}\n.base.connotation-warning {\n /* @cssprop [--vvd-alert-warning-primary=var(--vvd-color-warning-300)] */\n --_connotation-color-primary: var(--vvd-alert-warning-primary, var(--vvd-color-warning-300));\n /* @cssprop [--vvd-alert-warning-primary-text=var(--vvd-color-canvas-text)] */\n --_connotation-color-primary-text: var(--vvd-alert-warning-primary-text, var(--vvd-color-canvas-text));\n}\n.base:not(.connotation-success, .connotation-information, .connotation-alert, .connotation-warning) {\n /* @cssprop [--vvd-alert-accent-primary=var(--vvd-color-canvas-text)] */\n --_connotation-color-primary: var(--vvd-alert-accent-primary, var(--vvd-color-canvas-text));\n /* @cssprop [--vvd-alert-accent-primary-text=var(--vvd-color-canvas)] */\n --_connotation-color-primary-text: var(--vvd-alert-accent-primary-text, var(--vvd-color-canvas));\n}\n.base {\n --_appearance-color-text: var(--_connotation-color-primary-text);\n --_appearance-color-fill: var(--_connotation-color-primary);\n --_appearance-color-outline: transparent;\n}\n.base .alert-text {\n margin-inline-end: auto;\n}\n.base .alert-text .headline {\n font: var(--vvd-typography-base-bold);\n margin-block-end: 4px;\n}\n.base .alert-text .main-text {\n font: var(--vvd-typography-base);\n}\n.base .icon {\n flex-shrink: 0;\n color: var(--_appearance-color-fill);\n font-size: 24px;\n line-height: 1;\n}\n.base .dismiss-button {\n border-left: 1px solid var(--vvd-color-neutral-200);\n padding-inline-start: 8px;\n}";
5
13
 
6
- const focusTemplate = () => html`
7
- <span class="control"></span>`;
14
+ var __defProp = Object.defineProperty;
15
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
16
+ var __decorateClass = (decorators, target, key, kind) => {
17
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
18
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
19
+ if (decorator = decorators[i])
20
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
21
+ if (kind && result)
22
+ __defProp(target, key, result);
23
+ return result;
24
+ };
25
+ const connotationIconMap = /* @__PURE__ */ new Map([
26
+ [Connotation.Accent, "megaphone-line"],
27
+ [Connotation.Information, "info-line"],
28
+ [Connotation.Success, "check-circle-line"],
29
+ [Connotation.Warning, "warning-line"],
30
+ [Connotation.Alert, "error-line"]
31
+ ]);
32
+ class Alert extends FoundationElement {
33
+ constructor() {
34
+ super(...arguments);
35
+ this.removable = false;
36
+ this.placement = "bottom";
37
+ this.timeoutms = 0;
38
+ this.open = false;
39
+ this.#closeOnEscape = (e) => {
40
+ if (this.removable && e.key === "Escape")
41
+ this.open = false;
42
+ };
43
+ }
44
+ // timeout to close the alert
45
+ #timeoutID;
46
+ openChanged(oldValue, newValue) {
47
+ if (oldValue === void 0)
48
+ return;
49
+ this.$emit(newValue ? "open" : "close");
50
+ this.#setupTimeout();
51
+ }
52
+ connectedCallback() {
53
+ this.#setupTimeout();
54
+ this.addEventListener("keydown", this.#closeOnEscape);
55
+ super.connectedCallback();
56
+ }
57
+ disconnectedCallback() {
58
+ super.disconnectedCallback();
59
+ if (this.#timeoutID)
60
+ clearTimeout(this.#timeoutID);
61
+ this.removeEventListener("keydown", this.#closeOnEscape);
62
+ }
63
+ get conditionedIcon() {
64
+ return this.icon || connotationIconMap.get(this.connotation);
65
+ }
66
+ #setupTimeout() {
67
+ if (this.#timeoutID)
68
+ clearTimeout(this.#timeoutID);
69
+ if (this.open && this.timeoutms > 0) {
70
+ this.#timeoutID = setTimeout(() => this.open = false, this.timeoutms);
71
+ }
72
+ }
73
+ #closeOnEscape;
74
+ }
75
+ __decorateClass([
76
+ attr({ mode: "boolean" })
77
+ ], Alert.prototype, "removable", 2);
78
+ __decorateClass([
79
+ attr({ mode: "fromView" })
80
+ ], Alert.prototype, "placement", 2);
81
+ __decorateClass([
82
+ attr
83
+ ], Alert.prototype, "headline", 2);
84
+ __decorateClass([
85
+ attr
86
+ ], Alert.prototype, "text", 2);
87
+ __decorateClass([
88
+ attr
89
+ ], Alert.prototype, "icon", 2);
90
+ __decorateClass([
91
+ attr({
92
+ mode: "fromView",
93
+ converter: nullableNumberConverter
94
+ })
95
+ ], Alert.prototype, "timeoutms", 2);
96
+ __decorateClass([
97
+ attr
98
+ ], Alert.prototype, "connotation", 2);
99
+ __decorateClass([
100
+ attr({ mode: "boolean" })
101
+ ], Alert.prototype, "open", 2);
102
+ applyMixins(Alert, AffixIcon);
8
103
 
9
- const focusDefinition = Focus.compose({
10
- baseName: 'focus',
11
- template: focusTemplate,
12
- styles: css_248z
104
+ const getClasses = ({ connotation }) => classNames(
105
+ "base",
106
+ [`connotation-${connotation}`, Boolean(connotation)]
107
+ );
108
+ const getControlClasses = ({ open, placement }) => classNames(
109
+ "control",
110
+ ["open", open],
111
+ [`placement-${placement}`, Boolean(placement)]
112
+ );
113
+ function renderIcon(context) {
114
+ const affixIconTemplate = affixIconTemplateFactory(context);
115
+ return html`${(x) => affixIconTemplate(x.conditionedIcon)}`;
116
+ }
117
+ function renderDismissButton(buttonTag) {
118
+ return html`
119
+ <${buttonTag}
120
+ size="condensed"
121
+ class="dismiss-button"
122
+ icon="close-line"
123
+ @click="${(x) => x.open = false}">
124
+ </${buttonTag}>`;
125
+ }
126
+ const AlertTemplate = (context) => {
127
+ const elevationTag = context.tagFor(Elevation);
128
+ const buttonTag = context.tagFor(Button$1);
129
+ return html`
130
+ <${elevationTag} class="elevation" dp='8' exportparts="vvd-theme-alternate">
131
+ <div class="${getControlClasses}" role="alert" aria-live="assertive">
132
+ <div part="vvd-theme-alternate" class="${getClasses}">
133
+ ${when((x) => x.icon || x.connotation, renderIcon(context))}
134
+ <div class="alert-text">
135
+ ${when(
136
+ (x) => x.headline,
137
+ html`<header class="headline">${(x) => x.headline}</header>`
138
+ )}
139
+ ${when(
140
+ (x) => x.text,
141
+ html`<div class="main-text">${(x) => x.text}</div>`
142
+ )}
143
+ <slot name="main">
144
+ </slot>
145
+ </div>
146
+ <slot class="action-items" name="action-items"></slot>
147
+ ${when((x) => x.removable, renderDismissButton(buttonTag))}
148
+ </div>
149
+ </div>
150
+ </${elevationTag}>
151
+ `;
152
+ };
153
+
154
+ const alertDefinition = Alert.compose({
155
+ baseName: "alert",
156
+ template: AlertTemplate,
157
+ styles
13
158
  });
14
- const focusRegistries = [focusDefinition()];
15
- const registerFocus = registerFactory(focusRegistries);
159
+ const alertRegistries = [alertDefinition(), ...iconRegistries, ...buttonRegistries, ...elevationRegistries];
160
+ const registerAlert = registerFactory(alertRegistries);
16
161
 
17
- export { focusRegistries as f, registerFocus as r };
162
+ export { alertDefinition as a, alertRegistries as b, registerAlert as r };
@@ -1,62 +1,109 @@
1
- import { _ as __decorate, a as attr, b as __metadata, h as html, r as registerFactory } from './index.js';
2
- import { B as BaseProgress } from './base-progress.js';
1
+ import { a as attr, F as FoundationElement, h as html, r as registerFactory } from './index.js';
3
2
  import { w as when } from './when.js';
4
3
  import { c as classNames } from './class-names.js';
5
4
 
6
- var css_248z = "/**\n * Do not edit directly\n * Generated on Tue, 22 Aug 2023 13:37:39 GMT\n */\n.base {\n height: 6px;\n align-items: center;\n margin: 0;\n outline: none;\n}\n.base:not(.connotation-pacific).connotation-cta {\n /* @cssprop [--vvd-progress-cta-primary=var(--vvd-color-cta-500)] */\n --_connotation-color-primary: var(--vvd-progress-cta-primary, var(--vvd-color-cta-500));\n /* @cssprop [--vvd-progress-cta-soft=var(--vvd-color-cta-100)] */\n --_connotation-color-soft: var(--vvd-progress-cta-soft, var(--vvd-color-cta-100));\n}\n.base:not(.connotation-pacific).connotation-alert {\n /* @cssprop [--vvd-progress-alert-primary=var(--vvd-color-alert-500)] */\n --_connotation-color-primary: var(--vvd-progress-alert-primary, var(--vvd-color-alert-500));\n /* @cssprop [--vvd-progress-alert-soft=var(--vvd-color-alert-100)] */\n --_connotation-color-soft: var(--vvd-progress-alert-soft, var(--vvd-color-alert-100));\n}\n.base:not(.connotation-pacific).connotation-success {\n /* @cssprop [--vvd-progress-success-primary=var(--vvd-color-success-500)] */\n --_connotation-color-primary: var(--vvd-progress-success-primary, var(--vvd-color-success-500));\n /* @cssprop [--vvd-progress-success-soft=var(--vvd-color-success-100)] */\n --_connotation-color-soft: var(--vvd-progress-success-soft, var(--vvd-color-success-100));\n}\n.base:not(.connotation-pacific):not(.connotation-cta, .connotation-alert, .connotation-success) {\n /* @cssprop [--vvd-progress-accent-primary=var(--vvd-color-canvas-text)] */\n --_connotation-color-primary: var(--vvd-progress-accent-primary, var(--vvd-color-canvas-text));\n /* @cssprop [--vvd-progress-accent-soft=var(--vvd-color-neutral-100)] */\n --_connotation-color-soft: var(--vvd-progress-accent-soft, var(--vvd-color-neutral-100));\n}\n.base:not(.connotation-pacific) {\n --_appearance-color-text: var(--_connotation-color-contrast);\n --_appearance-color-fill: var(--_connotation-color-soft);\n --_appearance-color-outline: transparent;\n}\n.base.connotation-pacific {\n --_connotation-color-primary: linear-gradient(to right, var(--vvd-color-information-200), var(--vvd-color-cta-600));\n}\n\n.progress {\n position: relative;\n display: flex;\n overflow: hidden;\n align-items: center;\n block-size: 100%;\n inline-size: 100%;\n /* Shape */\n}\n.base:not(.connotation-pacific) .progress {\n background-color: var(--_appearance-color-fill);\n}\n.base.connotation-pacific .progress {\n background-color: var(--vvd-color-neutral-100);\n}\n.base:not(.shape-sharp) .progress {\n border-radius: 3px;\n}\n\n.indeterminate {\n display: flex;\n background-color: var(--_connotation-color-primary);\n block-size: 100%;\n border-radius: inherit;\n inline-size: 100%;\n}\n\n.determinate {\n background-color: var(--_connotation-color-primary);\n block-size: 100%;\n border-radius: inherit;\n transition: all 0.2s ease-in-out;\n}\n.connotation-pacific .determinate {\n background-image: var(--_connotation-color-primary);\n}\n.reverse .determinate {\n position: absolute;\n right: 0;\n}\n.paused .determinate {\n background: var(--vvd-color-neutral-300);\n}\n\n.indicator-1 {\n animation: indeterminate-1 2s infinite;\n inline-size: 30%;\n}\n\n.indicator-2 {\n animation: indeterminate-2 2s infinite;\n inline-size: 60%;\n}\n\n.indicator-1,\n.indicator-2 {\n position: absolute;\n animation-timing-function: cubic-bezier(0.4, 0, 0.6, 1);\n background-color: var(--vvd-color-neutral-100);\n block-size: 100%;\n opacity: 0;\n}\n.connotation-pacific .indicator-1,\n.connotation-pacific .indicator-2 {\n background-image: var(--_connotation-color-primary);\n}\n.paused .indicator-1,\n.paused .indicator-2 {\n animation-play-state: paused;\n background-color: var(--_connotation-color-primary);\n}\n.reverse .indicator-1,\n.reverse .indicator-2 {\n animation-direction: reverse;\n}\n\n@keyframes indeterminate-1 {\n 0% {\n opacity: 1;\n transform: translateX(-100%);\n }\n 70% {\n opacity: 1;\n transform: translateX(300%);\n }\n 70.01% {\n opacity: 0;\n }\n 100% {\n opacity: 0;\n transform: translateX(300%);\n }\n}\n@keyframes indeterminate-2 {\n 0% {\n opacity: 0;\n transform: translateX(-150%);\n }\n 29.99% {\n opacity: 0;\n }\n 30% {\n opacity: 1;\n transform: translateX(-150%);\n }\n 100% {\n opacity: 1;\n transform: translateX(166.66%);\n }\n}";
7
-
8
- class Progress extends BaseProgress {
5
+ var __defProp = Object.defineProperty;
6
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
7
+ var __decorateClass = (decorators, target, key, kind) => {
8
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
9
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
10
+ if (decorator = decorators[i])
11
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
12
+ if (kind && result)
13
+ __defProp(target, key, result);
14
+ return result;
15
+ };
16
+ class SideDrawer extends FoundationElement {
9
17
  constructor() {
10
18
  super(...arguments);
11
- this.reverse = false;
19
+ this.alternate = false;
20
+ this.modal = false;
21
+ this.open = false;
22
+ this.trailing = false;
23
+ }
24
+ attributeChangedCallback(name, oldValue, newValue) {
25
+ super.attributeChangedCallback(name, oldValue, newValue);
26
+ switch (name) {
27
+ case "open": {
28
+ this.open ? this.#open() : this.#close();
29
+ }
30
+ }
31
+ }
32
+ #close() {
33
+ this.$emit("close", void 0, { bubbles: false });
34
+ }
35
+ #open() {
36
+ this.$emit("open", void 0, { bubbles: false });
12
37
  }
13
38
  }
14
- __decorate([attr(), __metadata("design:type", String)], Progress.prototype, "shape", void 0);
15
- __decorate([attr(), __metadata("design:type", String)], Progress.prototype, "connotation", void 0);
16
- __decorate([attr({
17
- mode: 'boolean'
18
- }), __metadata("design:type", Object)], Progress.prototype, "reverse", void 0);
39
+ __decorateClass([
40
+ attr({
41
+ mode: "boolean"
42
+ })
43
+ ], SideDrawer.prototype, "alternate", 2);
44
+ __decorateClass([
45
+ attr({
46
+ mode: "boolean"
47
+ })
48
+ ], SideDrawer.prototype, "modal", 2);
49
+ __decorateClass([
50
+ attr({
51
+ mode: "boolean"
52
+ })
53
+ ], SideDrawer.prototype, "open", 2);
54
+ __decorateClass([
55
+ attr({
56
+ mode: "boolean"
57
+ })
58
+ ], SideDrawer.prototype, "trailing", 2);
59
+
60
+ const styles = "/**\n * Do not edit directly\n * Generated on Wed, 06 Sep 2023 09:40:36 GMT\n */\n.control {\n position: fixed;\n z-index: 1;\n background-color: var(--vvd-color-canvas);\n color: var(--vvd-color-canvas-text);\n inline-size: 280px;\n inset-block: 0;\n overflow-y: auto;\n}\n.control[part~=vvd-theme-alternate] {\n background-color: var(--vvd-color-canvas);\n color: var(--vvd-color-canvas-text);\n color-scheme: var(--vvd-color-scheme);\n}\n.control.trailing {\n inset-inline-end: 0;\n}\n.control:not(.open).trailing {\n transform: translateX(100%);\n}\n.control:not(.open):not(.trailing) {\n transform: translateX(-100%);\n}\n.control.open:not(.modal).trailing + .side-drawer-app-content {\n margin-inline-end: var(--side-drawer-app-content-offset, 280px);\n}\n.control.open:not(.modal):not(.trailing) + .side-drawer-app-content {\n margin-inline-start: var(--side-drawer-app-content-offset, 280px);\n}\n@media (prefers-reduced-motion: no-preference) {\n .control {\n transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);\n }\n}\n\n.scrim {\n background-color: var(--vvd-color-canvas-text, currentColor);\n opacity: 0.5;\n position: fixed;\n inset: 0;\n}\n.scrim:not(.open) {\n display: none;\n}";
19
61
 
20
62
  const getClasses = ({
21
- connotation,
22
- shape,
23
- reverse,
24
- paused
25
- }) => classNames('base', [`connotation-${connotation}`, Boolean(connotation)], [`shape-${shape}`, Boolean(shape)], ['reverse', Boolean(reverse)], ['paused', Boolean(paused)]);
26
- function determinate() {
27
- return html`
28
- <span class="determinate" style="width: ${x => x.percentComplete}%"></span>`;
29
- }
30
- function indeterminate() {
31
- return html`
32
- <span class="indeterminate" name="indeterminate">
33
- <span class="indicator-1"></span>
34
- <span class="indicator-2"></span>
35
- </span>`;
36
- }
37
- const ProgressTemplate = _ => {
38
- return html`
39
- <div
40
- role="progressbar"
41
- aria-valuenow="${x => x.value}"
42
- aria-valuemin="${x => x.min}"
43
- aria-valuemax="${x => x.max}"
44
- class="${getClasses}"
45
- >
46
- <div class="progress">
47
- ${when(x => typeof x.value === 'number', determinate())}
48
- ${when(x => typeof x.value !== 'number', indeterminate())}
49
- </div>
63
+ modal,
64
+ open,
65
+ trailing
66
+ }) => classNames(
67
+ "control",
68
+ ["modal", modal],
69
+ ["open", open],
70
+ ["trailing", trailing]
71
+ );
72
+ const getScrimClasses = ({
73
+ open
74
+ }) => classNames(
75
+ "scrim",
76
+ ["open", open]
77
+ );
78
+ const sideDrawerTemplate = () => html`
79
+ <aside class="${getClasses}" part="base ${(x) => x.alternate ? "vvd-theme-alternate" : ""}"
80
+ @keydown="${(x, c) => handleKeydown(x, c.event)}">
81
+ <slot></slot>
82
+ </aside>
83
+
84
+ <div class="side-drawer-app-content" ?inert="${(x) => x.open && x.modal}">
85
+ <slot name="app-content"></slot>
50
86
  </div>
51
- `;
87
+
88
+ ${when(
89
+ (x) => x.modal,
90
+ html`<div class="${getScrimClasses}" @click="${(x) => x.open = false}"></div>`
91
+ )}
92
+ `;
93
+ const handleKeydown = (x, { key }) => {
94
+ if (key === "Escape") {
95
+ x.open = false;
96
+ } else {
97
+ return true;
98
+ }
52
99
  };
53
100
 
54
- const progressDefinition = Progress.compose({
55
- baseName: 'progress',
56
- template: ProgressTemplate,
57
- styles: css_248z
101
+ const sideDrawerDefinition = SideDrawer.compose({
102
+ baseName: "side-drawer",
103
+ template: sideDrawerTemplate,
104
+ styles
58
105
  });
59
- const progressRegistries = [progressDefinition()];
60
- const registerProgress = registerFactory(progressRegistries);
106
+ const sideDrawerRegistries = [sideDrawerDefinition()];
107
+ const registerSideDrawer = registerFactory(sideDrawerRegistries);
61
108
 
62
- export { progressRegistries as a, progressDefinition as p, registerProgress as r };
109
+ export { sideDrawerRegistries as a, registerSideDrawer as r, sideDrawerDefinition as s };