@vonage/vivid 3.52.0 → 3.53.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 (289) hide show
  1. package/README.md +1 -1
  2. package/accordion/index.cjs +1 -1
  3. package/accordion/index.js +1 -1
  4. package/accordion-item/index.cjs +1 -1
  5. package/accordion-item/index.js +1 -1
  6. package/alert/index.cjs +3 -3
  7. package/alert/index.js +3 -3
  8. package/audio-player/index.cjs +3 -3
  9. package/audio-player/index.js +3 -3
  10. package/avatar/index.cjs +1 -1
  11. package/avatar/index.js +1 -1
  12. package/badge/index.cjs +1 -1
  13. package/badge/index.js +1 -1
  14. package/banner/index.cjs +2 -2
  15. package/banner/index.js +2 -2
  16. package/breadcrumb-item/index.cjs +1 -1
  17. package/breadcrumb-item/index.js +1 -1
  18. package/button/index.cjs +2 -2
  19. package/button/index.js +2 -2
  20. package/card/index.cjs +2 -2
  21. package/card/index.js +2 -2
  22. package/checkbox/index.cjs +3 -2
  23. package/checkbox/index.js +3 -2
  24. package/combobox/index.cjs +5 -5
  25. package/combobox/index.js +5 -5
  26. package/custom-elements.json +717 -4
  27. package/data-grid/index.cjs +1 -1
  28. package/data-grid/index.js +1 -1
  29. package/date-picker/index.cjs +7 -6
  30. package/date-picker/index.js +7 -6
  31. package/date-range-picker/index.cjs +7 -6
  32. package/date-range-picker/index.js +7 -6
  33. package/dial-pad/index.cjs +33 -0
  34. package/dial-pad/index.js +31 -0
  35. package/dialog/index.cjs +4 -4
  36. package/dialog/index.js +4 -4
  37. package/divider/index.cjs +1 -1
  38. package/divider/index.js +1 -1
  39. package/elevation/index.cjs +1 -1
  40. package/elevation/index.js +1 -1
  41. package/empty-state/index.cjs +2 -2
  42. package/empty-state/index.js +2 -2
  43. package/fab/index.cjs +2 -2
  44. package/fab/index.js +2 -2
  45. package/file-picker/index.cjs +4 -3
  46. package/file-picker/index.js +4 -3
  47. package/header/index.cjs +2 -2
  48. package/header/index.js +2 -2
  49. package/icon/index.cjs +1 -1
  50. package/icon/index.js +1 -1
  51. package/index.cjs +132 -122
  52. package/index.js +46 -43
  53. package/layout/index.cjs +1 -1
  54. package/layout/index.js +1 -1
  55. package/lib/components.d.ts +2 -0
  56. package/lib/dial-pad/definition.d.ts +3 -0
  57. package/lib/dial-pad/dial-pad.d.ts +14 -0
  58. package/lib/dial-pad/dial-pad.template.d.ts +4 -0
  59. package/lib/dial-pad/locale.d.ts +18 -0
  60. package/lib/enums.d.ts +6 -0
  61. package/lib/text-anchor/definition.d.ts +1 -0
  62. package/lib/text-anchor/text-anchor.d.ts +5 -0
  63. package/lib/video-player/definition.d.ts +3 -0
  64. package/lib/video-player/locale.d.ts +1 -0
  65. package/lib/video-player/video-player.d.ts +17 -0
  66. package/lib/video-player/video-player.template.d.ts +4 -0
  67. package/listbox/index.cjs +2 -2
  68. package/listbox/index.js +2 -2
  69. package/locales/en-GB.cjs +30 -0
  70. package/locales/en-GB.js +30 -0
  71. package/locales/en-US.cjs +198 -0
  72. package/locales/en-US.js +198 -0
  73. package/locales/ja-JP.cjs +197 -0
  74. package/locales/ja-JP.js +197 -0
  75. package/locales/zh-CN.cjs +199 -0
  76. package/locales/zh-CN.js +199 -0
  77. package/menu/index.cjs +6 -6
  78. package/menu/index.js +6 -6
  79. package/menu-item/index.cjs +2 -2
  80. package/menu-item/index.js +2 -2
  81. package/nav/index.cjs +1 -1
  82. package/nav/index.js +1 -1
  83. package/nav-disclosure/index.cjs +2 -2
  84. package/nav-disclosure/index.js +2 -2
  85. package/nav-item/index.cjs +2 -2
  86. package/nav-item/index.js +2 -2
  87. package/note/index.cjs +2 -2
  88. package/note/index.js +2 -2
  89. package/number-field/index.cjs +5 -4
  90. package/number-field/index.js +5 -4
  91. package/option/index.cjs +2 -2
  92. package/option/index.js +2 -2
  93. package/package.json +1 -1
  94. package/pagination/index.cjs +3 -3
  95. package/pagination/index.js +3 -3
  96. package/popup/index.cjs +4 -4
  97. package/popup/index.js +4 -4
  98. package/progress/index.cjs +1 -1
  99. package/progress/index.js +1 -1
  100. package/progress-ring/index.cjs +1 -1
  101. package/progress-ring/index.js +1 -1
  102. package/radio/index.cjs +1 -1
  103. package/radio/index.js +1 -1
  104. package/radio-group/index.cjs +1 -1
  105. package/radio-group/index.js +1 -1
  106. package/range-slider/index.cjs +2 -2
  107. package/range-slider/index.js +2 -2
  108. package/select/index.cjs +7 -6
  109. package/select/index.js +7 -6
  110. package/selectable-box/index.cjs +5 -4
  111. package/selectable-box/index.js +5 -4
  112. package/shared/applyMixinsWithObservables.cjs +15 -0
  113. package/shared/applyMixinsWithObservables.js +13 -0
  114. package/shared/definition.cjs +1 -1
  115. package/shared/definition.js +1 -1
  116. package/shared/definition11.cjs +3 -3
  117. package/shared/definition11.js +3 -3
  118. package/shared/definition14.cjs +2 -2
  119. package/shared/definition14.js +2 -2
  120. package/shared/definition15.cjs +8 -9
  121. package/shared/definition15.js +8 -9
  122. package/shared/definition16.cjs +3 -3
  123. package/shared/definition16.js +3 -3
  124. package/shared/definition17.cjs +2 -2
  125. package/shared/definition17.js +3 -3
  126. package/shared/definition18.cjs +3 -3
  127. package/shared/definition18.js +3 -3
  128. package/shared/definition19.cjs +3 -3
  129. package/shared/definition19.js +3 -3
  130. package/shared/definition20.cjs +186 -227
  131. package/shared/definition20.js +181 -222
  132. package/shared/definition21.cjs +264 -67
  133. package/shared/definition21.js +263 -65
  134. package/shared/definition22.cjs +66 -57
  135. package/shared/definition22.js +64 -56
  136. package/shared/definition23.cjs +42 -76
  137. package/shared/definition23.js +41 -75
  138. package/shared/definition24.cjs +70 -2402
  139. package/shared/definition24.js +69 -2401
  140. package/shared/definition25.cjs +2402 -46
  141. package/shared/definition25.js +2401 -45
  142. package/shared/definition26.cjs +63 -30
  143. package/shared/definition26.js +62 -29
  144. package/shared/definition27.cjs +28 -56
  145. package/shared/definition27.js +27 -55
  146. package/shared/definition28.cjs +35 -881
  147. package/shared/definition28.js +34 -879
  148. package/shared/definition29.cjs +893 -60
  149. package/shared/definition29.js +893 -61
  150. package/shared/definition30.cjs +68 -86
  151. package/shared/definition30.js +67 -85
  152. package/shared/definition31.cjs +86 -21
  153. package/shared/definition31.js +86 -21
  154. package/shared/definition32.cjs +24 -12
  155. package/shared/definition32.js +23 -11
  156. package/shared/definition33.cjs +11 -50
  157. package/shared/definition33.js +10 -49
  158. package/shared/definition34.cjs +26 -515
  159. package/shared/definition34.js +26 -515
  160. package/shared/definition35.cjs +448 -194
  161. package/shared/definition35.js +448 -192
  162. package/shared/definition36.cjs +256 -202
  163. package/shared/definition36.js +253 -201
  164. package/shared/definition37.cjs +204 -65
  165. package/shared/definition37.js +203 -63
  166. package/shared/definition38.cjs +63 -57
  167. package/shared/definition38.js +60 -55
  168. package/shared/definition39.cjs +65 -432
  169. package/shared/definition39.js +64 -431
  170. package/shared/definition4.cjs +2 -2
  171. package/shared/definition4.js +2 -2
  172. package/shared/definition40.cjs +441 -34
  173. package/shared/definition40.js +438 -31
  174. package/shared/definition41.cjs +34 -576
  175. package/shared/definition41.js +33 -575
  176. package/shared/definition42.cjs +531 -654
  177. package/shared/definition42.js +531 -654
  178. package/shared/definition43.cjs +690 -114
  179. package/shared/definition43.js +689 -113
  180. package/shared/definition44.cjs +124 -79
  181. package/shared/definition44.js +122 -77
  182. package/shared/definition45.cjs +78 -520
  183. package/shared/definition45.js +77 -518
  184. package/shared/definition46.cjs +520 -119
  185. package/shared/definition46.js +518 -118
  186. package/shared/definition47.cjs +118 -135
  187. package/shared/definition47.js +117 -134
  188. package/shared/definition48.cjs +151 -19
  189. package/shared/definition48.js +150 -18
  190. package/shared/definition49.cjs +21 -84
  191. package/shared/definition49.js +20 -83
  192. package/shared/definition5.cjs +1 -1
  193. package/shared/definition5.js +1 -1
  194. package/shared/definition50.cjs +52 -505
  195. package/shared/definition50.js +51 -504
  196. package/shared/definition51.cjs +526 -28
  197. package/shared/definition51.js +525 -27
  198. package/shared/definition52.cjs +28 -123
  199. package/shared/definition52.js +26 -122
  200. package/shared/definition53.cjs +110 -309
  201. package/shared/definition53.js +110 -308
  202. package/shared/definition54.cjs +255 -271
  203. package/shared/definition54.js +255 -271
  204. package/shared/definition55.cjs +262 -791
  205. package/shared/definition55.js +261 -790
  206. package/shared/definition56.cjs +818 -107
  207. package/shared/definition56.js +817 -106
  208. package/shared/definition57.cjs +85 -55
  209. package/shared/definition57.js +84 -54
  210. package/shared/definition58.cjs +125 -72
  211. package/shared/definition58.js +124 -71
  212. package/shared/definition59.cjs +72 -285
  213. package/shared/definition59.js +73 -286
  214. package/shared/definition6.cjs +1 -1
  215. package/shared/definition6.js +1 -1
  216. package/shared/definition60.cjs +298 -39
  217. package/shared/definition60.js +297 -38
  218. package/shared/definition61.cjs +65739 -1688
  219. package/shared/definition61.js +65738 -1687
  220. package/shared/definition62.cjs +50 -0
  221. package/shared/definition62.js +46 -0
  222. package/shared/definition63.cjs +1828 -0
  223. package/shared/definition63.js +1824 -0
  224. package/shared/definition7.cjs +2 -2
  225. package/shared/definition7.js +2 -2
  226. package/shared/definition8.cjs +2 -2
  227. package/shared/definition8.js +2 -2
  228. package/shared/definition9.cjs +1 -1
  229. package/shared/definition9.js +1 -1
  230. package/shared/enums.cjs +8 -0
  231. package/shared/enums.js +8 -1
  232. package/shared/index2.cjs +66 -37
  233. package/shared/index2.js +66 -37
  234. package/shared/key-codes2.js +1 -1
  235. package/shared/listbox.cjs +1 -1
  236. package/shared/listbox.js +1 -1
  237. package/shared/localization/Locale.d.ts +4 -0
  238. package/shared/patterns/form-elements/form-elements.d.ts +2 -3
  239. package/shared/presentationDate.cjs +16 -5
  240. package/shared/presentationDate.js +16 -5
  241. package/shared/text-anchor.cjs +6 -0
  242. package/shared/text-anchor.js +6 -0
  243. package/shared/text-anchor.template.cjs +6 -1
  244. package/shared/text-anchor.template.js +6 -1
  245. package/shared/text-field.cjs +1 -1
  246. package/shared/text-field.js +1 -1
  247. package/shared/utils/applyMixinsWithObservables.d.ts +1 -0
  248. package/side-drawer/index.cjs +1 -1
  249. package/side-drawer/index.js +1 -1
  250. package/slider/index.cjs +1 -1
  251. package/slider/index.js +1 -1
  252. package/split-button/index.cjs +2 -2
  253. package/split-button/index.js +2 -2
  254. package/style.css +1 -0
  255. package/styles/core/all.css +1 -1
  256. package/styles/core/theme.css +1 -1
  257. package/styles/core/typography.css +1 -1
  258. package/styles/tokens/theme-dark.css +4 -4
  259. package/styles/tokens/theme-light.css +4 -4
  260. package/styles/tokens/vivid-2-compat.css +1 -1
  261. package/switch/index.cjs +2 -2
  262. package/switch/index.js +2 -2
  263. package/tab/index.cjs +2 -2
  264. package/tab/index.js +2 -2
  265. package/tab-panel/index.cjs +1 -1
  266. package/tab-panel/index.js +1 -1
  267. package/tabs/index.cjs +4 -4
  268. package/tabs/index.js +4 -4
  269. package/tag/index.cjs +2 -2
  270. package/tag/index.js +2 -2
  271. package/tag-group/index.cjs +1 -1
  272. package/tag-group/index.js +1 -1
  273. package/text-area/index.cjs +4 -3
  274. package/text-area/index.js +4 -3
  275. package/text-field/index.cjs +4 -3
  276. package/text-field/index.js +4 -3
  277. package/time-picker/index.cjs +8 -7
  278. package/time-picker/index.js +8 -7
  279. package/toggletip/index.cjs +5 -5
  280. package/toggletip/index.js +5 -5
  281. package/tooltip/index.cjs +5 -5
  282. package/tooltip/index.js +5 -5
  283. package/tree-item/index.cjs +2 -2
  284. package/tree-item/index.js +2 -2
  285. package/tree-view/index.cjs +1 -1
  286. package/tree-view/index.js +1 -1
  287. package/video-player/index.cjs +17 -0
  288. package/video-player/index.js +15 -0
  289. package/vivid.api.json +311 -0
@@ -1,70 +1,79 @@
1
1
  'use strict';
2
2
 
3
3
  const index = require('./index.cjs');
4
- const definition = require('./definition26.cjs');
5
- const icon = require('./icon.cjs');
6
- const when = require('./when.cjs');
7
- const slotted = require('./slotted.cjs');
4
+ const aria = require('./aria.cjs');
8
5
  const classNames = require('./class-names.cjs');
9
6
 
10
- const styles = ":host{display:block}.base{display:flex;box-sizing:border-box;flex-direction:column;align-items:center;justify-content:center;block-size:100%;gap:24px}.icon-container{display:flex;align-items:center;justify-content:center;border-radius:50%;background-color:var(--vvd-color-neutral-100);block-size:120px;inline-size:120px}.content{display:flex;flex-direction:column;font:var(--vvd-typography-base);gap:8px;text-align:center}header{font:var(--vvd-typography-base-bold)}.actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px}.base.no-actions .actions{display:none}\n";
7
+ /**
8
+ * Divider roles
9
+ * @public
10
+ */
11
+ const DividerRole = {
12
+ /**
13
+ * The divider semantically separates content
14
+ */
15
+ separator: "separator",
16
+ /**
17
+ * The divider has no semantic value and is for visual presentation only.
18
+ */
19
+ presentation: "presentation",
20
+ };
11
21
 
12
- var __defProp = Object.defineProperty;
13
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
14
- var __decorateClass = (decorators, target, key, kind) => {
15
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
16
- for (var i = decorators.length - 1, decorator; i >= 0; i--)
17
- if (decorator = decorators[i])
18
- result = (kind ? decorator(target, key, result) : decorator(result)) || result;
19
- if (kind && result)
20
- __defProp(target, key, result);
21
- return result;
22
+ /**
23
+ * A Divider Custom HTML Element.
24
+ * Implements the {@link https://www.w3.org/TR/wai-aria-1.1/#separator | ARIA separator } or {@link https://www.w3.org/TR/wai-aria-1.1/#presentation | ARIA presentation}.
25
+ *
26
+ * @public
27
+ */
28
+ let Divider$1 = class Divider extends index.FoundationElement {
29
+ constructor() {
30
+ super(...arguments);
31
+ /**
32
+ * The role of the element.
33
+ *
34
+ * @public
35
+ * @remarks
36
+ * HTML Attribute: role
37
+ */
38
+ this.role = DividerRole.separator;
39
+ /**
40
+ * The orientation of the divider.
41
+ *
42
+ * @public
43
+ * @remarks
44
+ * HTML Attribute: orientation
45
+ */
46
+ this.orientation = aria.Orientation.horizontal;
47
+ }
22
48
  };
23
- class EmptyState extends index.FoundationElement {
49
+ index.__decorate([
50
+ index.attr
51
+ ], Divider$1.prototype, "role", void 0);
52
+ index.__decorate([
53
+ index.attr
54
+ ], Divider$1.prototype, "orientation", void 0);
55
+
56
+ const styles = ":host{display:block}.base{display:block;background-color:var(--vvd-color-neutral-200)}.base:not(.vertical){block-size:1px;inline-size:100%}.base.vertical{block-size:100%;inline-size:1px}\n";
57
+
58
+ class Divider extends Divider$1 {
24
59
  }
25
- __decorateClass([
26
- index.attr
27
- ], EmptyState.prototype, "headline", 2);
28
- __decorateClass([
29
- index.attr
30
- ], EmptyState.prototype, "icon", 2);
31
- __decorateClass([
32
- index.observable
33
- ], EmptyState.prototype, "slottedActionItems", 2);
34
60
 
35
- const getClasses = (x) => classNames.classNames("base", ["no-actions", x.slottedActionItems?.length === 0]);
36
- const EmptyStateTemplate = (context) => {
37
- const iconTag = context.tagFor(icon.Icon);
38
- return index.html` <div class="${getClasses}">
39
- <slot name="graphic">
40
- ${when.when(
41
- (x) => x.icon,
42
- index.html`<div class="icon-container">
43
- <${iconTag} class="icon" name="${(x) => x.icon}" size="5"></${iconTag}>
44
- </div>`
45
- )}
46
- </slot>
47
- <div class="content">
48
- ${when.when(
49
- (x) => x.headline,
50
- index.html`<header>${(x) => x.headline}</header>`
51
- )}
52
- <slot></slot>
53
- </div>
54
- <div class="actions">
55
- <slot name="action-items" ${slotted.slotted("slottedActionItems")}></slot>
56
- </div>
57
- </div>`;
58
- };
61
+ const getClasses = ({ orientation }) => classNames.classNames("base", [`${orientation}`, Boolean(orientation)]);
62
+ const DividerTemplate = () => index.html` <span
63
+ class="${getClasses}"
64
+ orientation="${(x) => x.orientation}"
65
+ role="${(x) => x.role}"
66
+ ></span>`;
59
67
 
60
- const emptyStateDefinition = EmptyState.compose({
61
- baseName: "empty-state",
62
- template: EmptyStateTemplate,
68
+ const dividerDefinition = Divider.compose({
69
+ baseName: "divider",
70
+ template: DividerTemplate,
63
71
  styles
64
72
  });
65
- const emptyStateRegistries = [emptyStateDefinition(), ...definition.iconRegistries];
66
- const registerEmptyState = index.registerFactory(emptyStateRegistries);
73
+ const dividerRegistries = [dividerDefinition()];
74
+ const registerDivider = index.registerFactory(dividerRegistries);
67
75
 
68
- exports.emptyStateDefinition = emptyStateDefinition;
69
- exports.emptyStateRegistries = emptyStateRegistries;
70
- exports.registerEmptyState = registerEmptyState;
76
+ exports.Divider = Divider;
77
+ exports.dividerDefinition = dividerDefinition;
78
+ exports.dividerRegistries = dividerRegistries;
79
+ exports.registerDivider = registerDivider;
@@ -1,66 +1,74 @@
1
- import { F as FoundationElement, a as attr, o as observable, h as html, r as registerFactory } from './index.js';
2
- import { a as iconRegistries } from './definition26.js';
3
- import { I as Icon } from './icon.js';
4
- import { w as when } from './when.js';
5
- import { s as slotted } from './slotted.js';
1
+ import { F as FoundationElement, _ as __decorate, a as attr, h as html, r as registerFactory } from './index.js';
2
+ import { O as Orientation } from './aria.js';
6
3
  import { c as classNames } from './class-names.js';
7
4
 
8
- const styles = ":host{display:block}.base{display:flex;box-sizing:border-box;flex-direction:column;align-items:center;justify-content:center;block-size:100%;gap:24px}.icon-container{display:flex;align-items:center;justify-content:center;border-radius:50%;background-color:var(--vvd-color-neutral-100);block-size:120px;inline-size:120px}.content{display:flex;flex-direction:column;font:var(--vvd-typography-base);gap:8px;text-align:center}header{font:var(--vvd-typography-base-bold)}.actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px}.base.no-actions .actions{display:none}\n";
5
+ /**
6
+ * Divider roles
7
+ * @public
8
+ */
9
+ const DividerRole = {
10
+ /**
11
+ * The divider semantically separates content
12
+ */
13
+ separator: "separator",
14
+ /**
15
+ * The divider has no semantic value and is for visual presentation only.
16
+ */
17
+ presentation: "presentation",
18
+ };
9
19
 
10
- var __defProp = Object.defineProperty;
11
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
12
- var __decorateClass = (decorators, target, key, kind) => {
13
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
14
- for (var i = decorators.length - 1, decorator; i >= 0; i--)
15
- if (decorator = decorators[i])
16
- result = (kind ? decorator(target, key, result) : decorator(result)) || result;
17
- if (kind && result)
18
- __defProp(target, key, result);
19
- return result;
20
+ /**
21
+ * A Divider Custom HTML Element.
22
+ * Implements the {@link https://www.w3.org/TR/wai-aria-1.1/#separator | ARIA separator } or {@link https://www.w3.org/TR/wai-aria-1.1/#presentation | ARIA presentation}.
23
+ *
24
+ * @public
25
+ */
26
+ let Divider$1 = class Divider extends FoundationElement {
27
+ constructor() {
28
+ super(...arguments);
29
+ /**
30
+ * The role of the element.
31
+ *
32
+ * @public
33
+ * @remarks
34
+ * HTML Attribute: role
35
+ */
36
+ this.role = DividerRole.separator;
37
+ /**
38
+ * The orientation of the divider.
39
+ *
40
+ * @public
41
+ * @remarks
42
+ * HTML Attribute: orientation
43
+ */
44
+ this.orientation = Orientation.horizontal;
45
+ }
20
46
  };
21
- class EmptyState extends FoundationElement {
47
+ __decorate([
48
+ attr
49
+ ], Divider$1.prototype, "role", void 0);
50
+ __decorate([
51
+ attr
52
+ ], Divider$1.prototype, "orientation", void 0);
53
+
54
+ const styles = ":host{display:block}.base{display:block;background-color:var(--vvd-color-neutral-200)}.base:not(.vertical){block-size:1px;inline-size:100%}.base.vertical{block-size:100%;inline-size:1px}\n";
55
+
56
+ class Divider extends Divider$1 {
22
57
  }
23
- __decorateClass([
24
- attr
25
- ], EmptyState.prototype, "headline", 2);
26
- __decorateClass([
27
- attr
28
- ], EmptyState.prototype, "icon", 2);
29
- __decorateClass([
30
- observable
31
- ], EmptyState.prototype, "slottedActionItems", 2);
32
58
 
33
- const getClasses = (x) => classNames("base", ["no-actions", x.slottedActionItems?.length === 0]);
34
- const EmptyStateTemplate = (context) => {
35
- const iconTag = context.tagFor(Icon);
36
- return html` <div class="${getClasses}">
37
- <slot name="graphic">
38
- ${when(
39
- (x) => x.icon,
40
- html`<div class="icon-container">
41
- <${iconTag} class="icon" name="${(x) => x.icon}" size="5"></${iconTag}>
42
- </div>`
43
- )}
44
- </slot>
45
- <div class="content">
46
- ${when(
47
- (x) => x.headline,
48
- html`<header>${(x) => x.headline}</header>`
49
- )}
50
- <slot></slot>
51
- </div>
52
- <div class="actions">
53
- <slot name="action-items" ${slotted("slottedActionItems")}></slot>
54
- </div>
55
- </div>`;
56
- };
59
+ const getClasses = ({ orientation }) => classNames("base", [`${orientation}`, Boolean(orientation)]);
60
+ const DividerTemplate = () => html` <span
61
+ class="${getClasses}"
62
+ orientation="${(x) => x.orientation}"
63
+ role="${(x) => x.role}"
64
+ ></span>`;
57
65
 
58
- const emptyStateDefinition = EmptyState.compose({
59
- baseName: "empty-state",
60
- template: EmptyStateTemplate,
66
+ const dividerDefinition = Divider.compose({
67
+ baseName: "divider",
68
+ template: DividerTemplate,
61
69
  styles
62
70
  });
63
- const emptyStateRegistries = [emptyStateDefinition(), ...iconRegistries];
64
- const registerEmptyState = registerFactory(emptyStateRegistries);
71
+ const dividerRegistries = [dividerDefinition()];
72
+ const registerDivider = registerFactory(dividerRegistries);
65
73
 
66
- export { emptyStateRegistries as a, emptyStateDefinition as e, registerEmptyState as r };
74
+ export { Divider as D, dividerRegistries as a, dividerDefinition as d, registerDivider as r };
@@ -1,14 +1,13 @@
1
1
  'use strict';
2
2
 
3
3
  const index = require('./index.cjs');
4
- const definition = require('./definition26.cjs');
5
- const affix = require('./affix.cjs');
6
- const applyMixins = require('./apply-mixins.cjs');
7
- const button = require('./button.cjs');
8
- const ref = require('./ref.cjs');
4
+ const definition = require('./definition27.cjs');
5
+ const icon = require('./icon.cjs');
6
+ const when = require('./when.cjs');
7
+ const slotted = require('./slotted.cjs');
9
8
  const classNames = require('./class-names.cjs');
10
9
 
11
- const styles = ".control{--_fab-inline-padding: 12px;display:inline-flex;box-sizing:border-box;align-items:center;border:0 none;border-radius:var(--_fab-border-radius);background:var(--_appearance-color-fill, var(--_elevation-fill));block-size:var(--_fab-block-size);color:var(--_appearance-color-text, var(--vvd-color-canvas-text));column-gap:var(--fab-icon-gap);filter:var(--_elevation-shadow);font:var(--vvd-typography-base-bold);padding-inline:var(--_fab-inline-padding);transition:background-color .15s linear,filter .15s linear;vertical-align:middle}.control.connotation-accent{--_connotation-color-primary: var(--vvd-fab-accent-primary, var(--vvd-color-canvas-text));--_connotation-color-primary-text: var(--vvd-fab-accent-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-fab-accent-primary-increment, var(--vvd-color-neutral-800));--_connotation-color-contrast: var(--vvd-fab-accent-contrast, var(--vvd-color-neutral-800));--_connotation-color-fierce: var(--vvd-fab-accent-fierce, var(--vvd-color-neutral-700));--_connotation-color-firm: var(--vvd-fab-accent-firm, var(--vvd-color-canvas-text))}.control.connotation-cta{--_connotation-color-primary: var(--vvd-fab-cta-primary, var(--vvd-color-cta-500));--_connotation-color-primary-text: var(--vvd-fab-cta-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-fab-cta-primary-increment, var(--vvd-color-cta-600));--_connotation-color-contrast: var(--vvd-fab-cta-contrast, var(--vvd-color-cta-800));--_connotation-color-fierce: var(--vvd-fab-cta-fierce, var(--vvd-color-cta-700));--_connotation-color-firm: var(--vvd-fab-cta-firm, var(--vvd-color-cta-600))}.control{--_appearance-color-text: var(--_connotation-color-primary-text);--_appearance-color-fill: var(--_connotation-color-primary);--_appearance-color-outline: transparent}.control:where(.hover,:hover):where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-primary-text);--_appearance-color-fill: var(--_connotation-color-primary-increment);--_appearance-color-outline: transparent}.control:where(.disabled,:disabled){--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: var(--vvd-color-neutral-100);--_appearance-color-outline: transparent}.control:where(.active,:active):where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-primary-text);--_appearance-color-fill: var(--_connotation-color-fierce);--_appearance-color-outline: transparent}.control:not(.connotation-accent,.connotation-cta){--focus-stroke-gap-color: transparent}.control:focus-visible{box-shadow:inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:2px solid var(--focus-stroke-color, var(--vvd-color-canvas-text));outline-offset:calc(-2px - var(--focus-inset, 0px))}@supports (user-select: none){.control{user-select:none}}.control.size-expanded{--_fab-border-radius: 40px;--_fab-block-size:calc(1px*(56 + 4*clamp(-1, var(--vvd-size-density, 0), 2)));--_fab-inline-padding: 20px}.control:not(.size-expanded){--_fab-border-radius: 24px;--_fab-block-size:calc(1px*(40 + 4*clamp(-1, var(--vvd-size-density, 0), 2)))}.control.icon-only{--_fab-inline-padding: 0;border-radius:50%;place-content:center}@supports (aspect-ratio: 1){.control.icon-only{aspect-ratio:1}}@supports not (aspect-ratio: 1){.control.icon-only{inline-size:var(--_fab-block-size)}}.control:not(.icon-only){--fab-icon-gap: 10px}.control:disabled{--_elevation-fill: var(--vvd-color-surface-0dp);--_elevation-shadow: var(--vvd-shadow-surface-0dp);cursor:not-allowed}.control:not(:disabled){--_elevation-fill: var(--vvd-color-surface-4dp);--_elevation-shadow: var(--vvd-shadow-surface-4dp);cursor:pointer}.control:not(:disabled):hover{--_elevation-fill: var(--vvd-color-surface-12dp);--_elevation-shadow: var(--vvd-shadow-surface-12dp)}.control:not(:disabled):active{--_elevation-fill: var(--vvd-color-surface-24dp);--_elevation-shadow: var(--vvd-shadow-surface-24dp)}slot[name=icon]{line-height:1}.icon-trailing slot[name=icon]{display:inline-block;order:1}.control.size-extended slot[name=icon]{font-size:calc(calc(1px*(56 + 4*clamp(-1,var(--vvd-size-density, 0),2))) / 2.3333)}.control:not(.size-extended) slot[name=icon]{font-size:calc(1px*(40 + 4*clamp(-1,var(--vvd-size-density, 0),2))/2)}\n";
10
+ const styles = ":host{display:block}.base{display:flex;box-sizing:border-box;flex-direction:column;align-items:center;justify-content:center;block-size:100%;gap:24px}.icon-container{display:flex;align-items:center;justify-content:center;border-radius:50%;background-color:var(--vvd-color-neutral-100);block-size:120px;inline-size:120px}.content{display:flex;flex-direction:column;font:var(--vvd-typography-base);gap:8px;text-align:center}header{font:var(--vvd-typography-base-bold)}.actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px}.base.no-actions .actions{display:none}\n";
12
11
 
13
12
  var __defProp = Object.defineProperty;
14
13
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -21,84 +20,51 @@ var __decorateClass = (decorators, target, key, kind) => {
21
20
  __defProp(target, key, result);
22
21
  return result;
23
22
  };
24
- class Fab extends button.Button {
23
+ class EmptyState extends index.FoundationElement {
25
24
  }
26
25
  __decorateClass([
27
26
  index.attr
28
- ], Fab.prototype, "connotation", 2);
27
+ ], EmptyState.prototype, "headline", 2);
29
28
  __decorateClass([
30
29
  index.attr
31
- ], Fab.prototype, "size", 2);
30
+ ], EmptyState.prototype, "icon", 2);
32
31
  __decorateClass([
33
- index.attr
34
- ], Fab.prototype, "label", 2);
35
- applyMixins.applyMixins(Fab, affix.AffixIconWithTrailing);
32
+ index.observable
33
+ ], EmptyState.prototype, "slottedActionItems", 2);
36
34
 
37
- const getClasses = ({
38
- connotation,
39
- size,
40
- icon,
41
- label,
42
- iconTrailing,
43
- disabled,
44
- iconSlottedContent
45
- }) => classNames.classNames(
46
- "control",
47
- [`connotation-${connotation}`, Boolean(connotation)],
48
- [`size-${size}`, Boolean(size)],
49
- ["icon-only", !label && !!(icon || iconSlottedContent?.length)],
50
- ["icon-trailing", iconTrailing],
51
- ["disabled", disabled]
52
- );
53
- const FabTemplate = (context) => {
54
- const affixIconTemplate = affix.affixIconTemplateFactory(context);
55
- return index.html`
56
- <button
57
- class="${getClasses} "
58
- ?autofocus="${(x) => x.autofocus}"
59
- ?disabled="${(x) => x.disabled}"
60
- form="${(x) => x.formId}"
61
- formaction="${(x) => x.formaction}"
62
- formenctype="${(x) => x.formenctype}"
63
- formmethod="${(x) => x.formmethod}"
64
- formnovalidate="${(x) => x.formnovalidate}"
65
- formtarget="${(x) => x.formtarget}"
66
- name="${(x) => x.name}"
67
- type="${(x) => x.type}"
68
- value="${(x) => x.value}"
69
- aria-atomic="${(x) => x.ariaAtomic}"
70
- aria-busy="${(x) => x.ariaBusy}"
71
- aria-current="${(x) => x.ariaCurrent}"
72
- aria-details="${(x) => x.ariaDetails}"
73
- aria-disabled="${(x) => x.ariaDisabled}"
74
- aria-expanded="${(x) => x.ariaExpanded}"
75
- aria-haspopup="${(x) => x.ariaHaspopup}"
76
- aria-hidden="${(x) => x.ariaHidden}"
77
- aria-invalid="${(x) => x.ariaInvalid}"
78
- aria-keyshortcuts="${(x) => x.ariaKeyshortcuts}"
79
- aria-label="${(x) => x.ariaLabel}"
80
- aria-live="${(x) => x.ariaLive}"
81
- aria-pressed="${(x) => x.ariaPressed}"
82
- aria-relevant="${(x) => x.ariaRelevant}"
83
- aria-roledescription="${(x) => x.ariaRoledescription}"
84
- ${ref.ref("control")}
85
- >
86
- ${(x) => affixIconTemplate(x.icon, affix.IconWrapper.Slot)} ${(x) => x.label}
87
- </button>
88
- `;
35
+ const getClasses = (x) => classNames.classNames("base", ["no-actions", x.slottedActionItems?.length === 0]);
36
+ const EmptyStateTemplate = (context) => {
37
+ const iconTag = context.tagFor(icon.Icon);
38
+ return index.html` <div class="${getClasses}">
39
+ <slot name="graphic">
40
+ ${when.when(
41
+ (x) => x.icon,
42
+ index.html`<div class="icon-container">
43
+ <${iconTag} class="icon" name="${(x) => x.icon}" size="5"></${iconTag}>
44
+ </div>`
45
+ )}
46
+ </slot>
47
+ <div class="content">
48
+ ${when.when(
49
+ (x) => x.headline,
50
+ index.html`<header>${(x) => x.headline}</header>`
51
+ )}
52
+ <slot></slot>
53
+ </div>
54
+ <div class="actions">
55
+ <slot name="action-items" ${slotted.slotted("slottedActionItems")}></slot>
56
+ </div>
57
+ </div>`;
89
58
  };
90
59
 
91
- const fabDefinition = Fab.compose({
92
- baseName: "fab",
93
- template: FabTemplate,
94
- styles,
95
- shadowOptions: {
96
- delegatesFocus: true
97
- }
60
+ const emptyStateDefinition = EmptyState.compose({
61
+ baseName: "empty-state",
62
+ template: EmptyStateTemplate,
63
+ styles
98
64
  });
99
- const fabRegistries = [fabDefinition(), ...definition.iconRegistries];
100
- const registerFab = index.registerFactory(fabRegistries);
65
+ const emptyStateRegistries = [emptyStateDefinition(), ...definition.iconRegistries];
66
+ const registerEmptyState = index.registerFactory(emptyStateRegistries);
101
67
 
102
- exports.fabDefinition = fabDefinition;
103
- exports.fabRegistries = fabRegistries;
104
- exports.registerFab = registerFab;
68
+ exports.emptyStateDefinition = emptyStateDefinition;
69
+ exports.emptyStateRegistries = emptyStateRegistries;
70
+ exports.registerEmptyState = registerEmptyState;
@@ -1,12 +1,11 @@
1
- import { a as attr, h as html, r as registerFactory } from './index.js';
2
- import { a as iconRegistries } from './definition26.js';
3
- import { b as AffixIconWithTrailing, a as affixIconTemplateFactory, I as IconWrapper } from './affix.js';
4
- import { a as applyMixins } from './apply-mixins.js';
5
- import { B as Button$1 } from './button.js';
6
- import { r as ref } from './ref.js';
1
+ import { F as FoundationElement, a as attr, o as observable, h as html, r as registerFactory } from './index.js';
2
+ import { a as iconRegistries } from './definition27.js';
3
+ import { I as Icon } from './icon.js';
4
+ import { w as when } from './when.js';
5
+ import { s as slotted } from './slotted.js';
7
6
  import { c as classNames } from './class-names.js';
8
7
 
9
- const styles = ".control{--_fab-inline-padding: 12px;display:inline-flex;box-sizing:border-box;align-items:center;border:0 none;border-radius:var(--_fab-border-radius);background:var(--_appearance-color-fill, var(--_elevation-fill));block-size:var(--_fab-block-size);color:var(--_appearance-color-text, var(--vvd-color-canvas-text));column-gap:var(--fab-icon-gap);filter:var(--_elevation-shadow);font:var(--vvd-typography-base-bold);padding-inline:var(--_fab-inline-padding);transition:background-color .15s linear,filter .15s linear;vertical-align:middle}.control.connotation-accent{--_connotation-color-primary: var(--vvd-fab-accent-primary, var(--vvd-color-canvas-text));--_connotation-color-primary-text: var(--vvd-fab-accent-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-fab-accent-primary-increment, var(--vvd-color-neutral-800));--_connotation-color-contrast: var(--vvd-fab-accent-contrast, var(--vvd-color-neutral-800));--_connotation-color-fierce: var(--vvd-fab-accent-fierce, var(--vvd-color-neutral-700));--_connotation-color-firm: var(--vvd-fab-accent-firm, var(--vvd-color-canvas-text))}.control.connotation-cta{--_connotation-color-primary: var(--vvd-fab-cta-primary, var(--vvd-color-cta-500));--_connotation-color-primary-text: var(--vvd-fab-cta-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-fab-cta-primary-increment, var(--vvd-color-cta-600));--_connotation-color-contrast: var(--vvd-fab-cta-contrast, var(--vvd-color-cta-800));--_connotation-color-fierce: var(--vvd-fab-cta-fierce, var(--vvd-color-cta-700));--_connotation-color-firm: var(--vvd-fab-cta-firm, var(--vvd-color-cta-600))}.control{--_appearance-color-text: var(--_connotation-color-primary-text);--_appearance-color-fill: var(--_connotation-color-primary);--_appearance-color-outline: transparent}.control:where(.hover,:hover):where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-primary-text);--_appearance-color-fill: var(--_connotation-color-primary-increment);--_appearance-color-outline: transparent}.control:where(.disabled,:disabled){--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: var(--vvd-color-neutral-100);--_appearance-color-outline: transparent}.control:where(.active,:active):where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-primary-text);--_appearance-color-fill: var(--_connotation-color-fierce);--_appearance-color-outline: transparent}.control:not(.connotation-accent,.connotation-cta){--focus-stroke-gap-color: transparent}.control:focus-visible{box-shadow:inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:2px solid var(--focus-stroke-color, var(--vvd-color-canvas-text));outline-offset:calc(-2px - var(--focus-inset, 0px))}@supports (user-select: none){.control{user-select:none}}.control.size-expanded{--_fab-border-radius: 40px;--_fab-block-size:calc(1px*(56 + 4*clamp(-1, var(--vvd-size-density, 0), 2)));--_fab-inline-padding: 20px}.control:not(.size-expanded){--_fab-border-radius: 24px;--_fab-block-size:calc(1px*(40 + 4*clamp(-1, var(--vvd-size-density, 0), 2)))}.control.icon-only{--_fab-inline-padding: 0;border-radius:50%;place-content:center}@supports (aspect-ratio: 1){.control.icon-only{aspect-ratio:1}}@supports not (aspect-ratio: 1){.control.icon-only{inline-size:var(--_fab-block-size)}}.control:not(.icon-only){--fab-icon-gap: 10px}.control:disabled{--_elevation-fill: var(--vvd-color-surface-0dp);--_elevation-shadow: var(--vvd-shadow-surface-0dp);cursor:not-allowed}.control:not(:disabled){--_elevation-fill: var(--vvd-color-surface-4dp);--_elevation-shadow: var(--vvd-shadow-surface-4dp);cursor:pointer}.control:not(:disabled):hover{--_elevation-fill: var(--vvd-color-surface-12dp);--_elevation-shadow: var(--vvd-shadow-surface-12dp)}.control:not(:disabled):active{--_elevation-fill: var(--vvd-color-surface-24dp);--_elevation-shadow: var(--vvd-shadow-surface-24dp)}slot[name=icon]{line-height:1}.icon-trailing slot[name=icon]{display:inline-block;order:1}.control.size-extended slot[name=icon]{font-size:calc(calc(1px*(56 + 4*clamp(-1,var(--vvd-size-density, 0),2))) / 2.3333)}.control:not(.size-extended) slot[name=icon]{font-size:calc(1px*(40 + 4*clamp(-1,var(--vvd-size-density, 0),2))/2)}\n";
8
+ const styles = ":host{display:block}.base{display:flex;box-sizing:border-box;flex-direction:column;align-items:center;justify-content:center;block-size:100%;gap:24px}.icon-container{display:flex;align-items:center;justify-content:center;border-radius:50%;background-color:var(--vvd-color-neutral-100);block-size:120px;inline-size:120px}.content{display:flex;flex-direction:column;font:var(--vvd-typography-base);gap:8px;text-align:center}header{font:var(--vvd-typography-base-bold)}.actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px}.base.no-actions .actions{display:none}\n";
10
9
 
11
10
  var __defProp = Object.defineProperty;
12
11
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -19,82 +18,49 @@ var __decorateClass = (decorators, target, key, kind) => {
19
18
  __defProp(target, key, result);
20
19
  return result;
21
20
  };
22
- class Fab extends Button$1 {
21
+ class EmptyState extends FoundationElement {
23
22
  }
24
23
  __decorateClass([
25
24
  attr
26
- ], Fab.prototype, "connotation", 2);
25
+ ], EmptyState.prototype, "headline", 2);
27
26
  __decorateClass([
28
27
  attr
29
- ], Fab.prototype, "size", 2);
28
+ ], EmptyState.prototype, "icon", 2);
30
29
  __decorateClass([
31
- attr
32
- ], Fab.prototype, "label", 2);
33
- applyMixins(Fab, AffixIconWithTrailing);
30
+ observable
31
+ ], EmptyState.prototype, "slottedActionItems", 2);
34
32
 
35
- const getClasses = ({
36
- connotation,
37
- size,
38
- icon,
39
- label,
40
- iconTrailing,
41
- disabled,
42
- iconSlottedContent
43
- }) => classNames(
44
- "control",
45
- [`connotation-${connotation}`, Boolean(connotation)],
46
- [`size-${size}`, Boolean(size)],
47
- ["icon-only", !label && !!(icon || iconSlottedContent?.length)],
48
- ["icon-trailing", iconTrailing],
49
- ["disabled", disabled]
50
- );
51
- const FabTemplate = (context) => {
52
- const affixIconTemplate = affixIconTemplateFactory(context);
53
- return html`
54
- <button
55
- class="${getClasses} "
56
- ?autofocus="${(x) => x.autofocus}"
57
- ?disabled="${(x) => x.disabled}"
58
- form="${(x) => x.formId}"
59
- formaction="${(x) => x.formaction}"
60
- formenctype="${(x) => x.formenctype}"
61
- formmethod="${(x) => x.formmethod}"
62
- formnovalidate="${(x) => x.formnovalidate}"
63
- formtarget="${(x) => x.formtarget}"
64
- name="${(x) => x.name}"
65
- type="${(x) => x.type}"
66
- value="${(x) => x.value}"
67
- aria-atomic="${(x) => x.ariaAtomic}"
68
- aria-busy="${(x) => x.ariaBusy}"
69
- aria-current="${(x) => x.ariaCurrent}"
70
- aria-details="${(x) => x.ariaDetails}"
71
- aria-disabled="${(x) => x.ariaDisabled}"
72
- aria-expanded="${(x) => x.ariaExpanded}"
73
- aria-haspopup="${(x) => x.ariaHaspopup}"
74
- aria-hidden="${(x) => x.ariaHidden}"
75
- aria-invalid="${(x) => x.ariaInvalid}"
76
- aria-keyshortcuts="${(x) => x.ariaKeyshortcuts}"
77
- aria-label="${(x) => x.ariaLabel}"
78
- aria-live="${(x) => x.ariaLive}"
79
- aria-pressed="${(x) => x.ariaPressed}"
80
- aria-relevant="${(x) => x.ariaRelevant}"
81
- aria-roledescription="${(x) => x.ariaRoledescription}"
82
- ${ref("control")}
83
- >
84
- ${(x) => affixIconTemplate(x.icon, IconWrapper.Slot)} ${(x) => x.label}
85
- </button>
86
- `;
33
+ const getClasses = (x) => classNames("base", ["no-actions", x.slottedActionItems?.length === 0]);
34
+ const EmptyStateTemplate = (context) => {
35
+ const iconTag = context.tagFor(Icon);
36
+ return html` <div class="${getClasses}">
37
+ <slot name="graphic">
38
+ ${when(
39
+ (x) => x.icon,
40
+ html`<div class="icon-container">
41
+ <${iconTag} class="icon" name="${(x) => x.icon}" size="5"></${iconTag}>
42
+ </div>`
43
+ )}
44
+ </slot>
45
+ <div class="content">
46
+ ${when(
47
+ (x) => x.headline,
48
+ html`<header>${(x) => x.headline}</header>`
49
+ )}
50
+ <slot></slot>
51
+ </div>
52
+ <div class="actions">
53
+ <slot name="action-items" ${slotted("slottedActionItems")}></slot>
54
+ </div>
55
+ </div>`;
87
56
  };
88
57
 
89
- const fabDefinition = Fab.compose({
90
- baseName: "fab",
91
- template: FabTemplate,
92
- styles,
93
- shadowOptions: {
94
- delegatesFocus: true
95
- }
58
+ const emptyStateDefinition = EmptyState.compose({
59
+ baseName: "empty-state",
60
+ template: EmptyStateTemplate,
61
+ styles
96
62
  });
97
- const fabRegistries = [fabDefinition(), ...iconRegistries];
98
- const registerFab = registerFactory(fabRegistries);
63
+ const emptyStateRegistries = [emptyStateDefinition(), ...iconRegistries];
64
+ const registerEmptyState = registerFactory(emptyStateRegistries);
99
65
 
100
- export { fabRegistries as a, fabDefinition as f, registerFab as r };
66
+ export { emptyStateRegistries as a, emptyStateDefinition as e, registerEmptyState as r };