@vonage/vivid 3.51.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 (340) 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/appearance-ui/index.cjs +19 -11
  9. package/appearance-ui/index.js +19 -11
  10. package/audio-player/index.cjs +4 -3
  11. package/audio-player/index.js +4 -3
  12. package/avatar/index.cjs +1 -1
  13. package/avatar/index.js +1 -1
  14. package/badge/index.cjs +1 -1
  15. package/badge/index.js +1 -1
  16. package/banner/index.cjs +2 -2
  17. package/banner/index.js +2 -2
  18. package/breadcrumb-item/index.cjs +1 -1
  19. package/breadcrumb-item/index.js +1 -1
  20. package/button/index.cjs +2 -2
  21. package/button/index.js +2 -2
  22. package/card/index.cjs +2 -2
  23. package/card/index.js +2 -2
  24. package/checkbox/index.cjs +3 -2
  25. package/checkbox/index.js +3 -2
  26. package/combobox/index.cjs +5 -8
  27. package/combobox/index.js +5 -8
  28. package/custom-elements.json +2310 -769
  29. package/data-grid/index.cjs +1 -1
  30. package/data-grid/index.js +1 -1
  31. package/date-picker/index.cjs +7 -9
  32. package/date-picker/index.js +7 -9
  33. package/date-range-picker/index.cjs +7 -9
  34. package/date-range-picker/index.js +7 -9
  35. package/dial-pad/index.cjs +33 -0
  36. package/dial-pad/index.js +31 -0
  37. package/dialog/index.cjs +4 -4
  38. package/dialog/index.js +4 -4
  39. package/divider/index.cjs +1 -1
  40. package/divider/index.js +1 -1
  41. package/elevation/index.cjs +1 -1
  42. package/elevation/index.js +1 -1
  43. package/empty-state/index.cjs +2 -2
  44. package/empty-state/index.js +2 -2
  45. package/fab/index.cjs +2 -2
  46. package/fab/index.js +2 -2
  47. package/file-picker/index.cjs +4 -5
  48. package/file-picker/index.js +4 -5
  49. package/header/index.cjs +2 -2
  50. package/header/index.js +2 -2
  51. package/icon/index.cjs +1 -1
  52. package/icon/index.js +1 -1
  53. package/index.cjs +135 -123
  54. package/index.js +48 -46
  55. package/layout/index.cjs +1 -1
  56. package/layout/index.js +1 -1
  57. package/lib/avatar/definition.d.ts +1 -1
  58. package/lib/button/button.d.ts +1 -0
  59. package/lib/button/definition.d.ts +1 -1
  60. package/lib/calendar-event/definition.d.ts +1 -1
  61. package/lib/components.d.ts +3 -0
  62. package/lib/dial-pad/definition.d.ts +3 -0
  63. package/lib/dial-pad/dial-pad.d.ts +14 -0
  64. package/lib/dial-pad/dial-pad.template.d.ts +4 -0
  65. package/lib/dial-pad/locale.d.ts +18 -0
  66. package/lib/enums.d.ts +6 -0
  67. package/lib/layout/definition.d.ts +1 -1
  68. package/lib/menu-item/menu-item.d.ts +3 -0
  69. package/lib/range-slider/definition.d.ts +3 -0
  70. package/lib/range-slider/locale.d.ts +4 -0
  71. package/lib/range-slider/range-slider.d.ts +32 -0
  72. package/lib/range-slider/range-slider.form-associated.d.ts +10 -0
  73. package/lib/range-slider/range-slider.template.d.ts +4 -0
  74. package/lib/range-slider/utils/lerp.d.ts +2 -0
  75. package/lib/range-slider/utils/roundToStepValue.d.ts +1 -0
  76. package/lib/slider/slider.template.d.ts +1 -0
  77. package/lib/split-button/definition.d.ts +1 -1
  78. package/lib/text-anchor/definition.d.ts +1 -0
  79. package/lib/text-anchor/text-anchor.d.ts +5 -0
  80. package/lib/video-player/definition.d.ts +3 -0
  81. package/lib/video-player/locale.d.ts +1 -0
  82. package/lib/video-player/video-player.d.ts +17 -0
  83. package/lib/video-player/video-player.template.d.ts +4 -0
  84. package/listbox/index.cjs +25 -24
  85. package/listbox/index.js +25 -24
  86. package/locales/en-GB.cjs +34 -0
  87. package/locales/en-GB.js +34 -0
  88. package/locales/en-US.cjs +202 -0
  89. package/locales/en-US.js +202 -0
  90. package/locales/ja-JP.cjs +202 -1
  91. package/locales/ja-JP.js +202 -1
  92. package/locales/zh-CN.cjs +203 -0
  93. package/locales/zh-CN.js +203 -0
  94. package/menu/index.cjs +7 -7
  95. package/menu/index.js +7 -7
  96. package/menu-item/index.cjs +4 -4
  97. package/menu-item/index.js +4 -4
  98. package/nav/index.cjs +1 -1
  99. package/nav/index.js +1 -1
  100. package/nav-disclosure/index.cjs +2 -2
  101. package/nav-disclosure/index.js +2 -2
  102. package/nav-item/index.cjs +2 -2
  103. package/nav-item/index.js +2 -2
  104. package/note/index.cjs +2 -2
  105. package/note/index.js +2 -2
  106. package/number-field/index.cjs +5 -6
  107. package/number-field/index.js +5 -6
  108. package/option/index.cjs +2 -2
  109. package/option/index.js +2 -2
  110. package/package.json +34 -34
  111. package/pagination/index.cjs +3 -3
  112. package/pagination/index.js +3 -3
  113. package/popup/index.cjs +4 -4
  114. package/popup/index.js +4 -4
  115. package/progress/index.cjs +1 -1
  116. package/progress/index.js +1 -1
  117. package/progress-ring/index.cjs +1 -1
  118. package/progress-ring/index.js +1 -1
  119. package/radio/index.cjs +1 -1
  120. package/radio/index.js +1 -1
  121. package/radio-group/index.cjs +1 -1
  122. package/radio-group/index.js +1 -1
  123. package/range-slider/index.cjs +22 -0
  124. package/range-slider/index.js +20 -0
  125. package/select/index.cjs +7 -6
  126. package/select/index.js +7 -6
  127. package/selectable-box/index.cjs +5 -4
  128. package/selectable-box/index.js +5 -4
  129. package/shared/Reflector.cjs +5 -1
  130. package/shared/Reflector.js +5 -1
  131. package/shared/affix.cjs +11 -4
  132. package/shared/affix.js +12 -4
  133. package/shared/anchored.cjs +8 -2
  134. package/shared/anchored.js +8 -2
  135. package/shared/applyMixinsWithObservables.cjs +15 -0
  136. package/shared/applyMixinsWithObservables.js +13 -0
  137. package/shared/definition.cjs +9 -4
  138. package/shared/definition.js +9 -4
  139. package/shared/definition10.cjs +5 -5
  140. package/shared/definition10.js +5 -5
  141. package/shared/definition11.cjs +77 -49
  142. package/shared/definition11.js +78 -50
  143. package/shared/definition12.cjs +12 -14
  144. package/shared/definition12.js +12 -14
  145. package/shared/definition13.cjs +118 -75
  146. package/shared/definition13.js +118 -75
  147. package/shared/definition14.cjs +34 -33
  148. package/shared/definition14.js +34 -33
  149. package/shared/definition15.cjs +24 -12
  150. package/shared/definition15.js +24 -12
  151. package/shared/definition16.cjs +38 -43
  152. package/shared/definition16.js +38 -43
  153. package/shared/definition17.cjs +126 -66
  154. package/shared/definition17.js +127 -67
  155. package/shared/definition18.cjs +31 -15
  156. package/shared/definition18.js +31 -15
  157. package/shared/definition19.cjs +117 -81
  158. package/shared/definition19.js +117 -81
  159. package/shared/definition2.cjs +10 -5
  160. package/shared/definition2.js +10 -5
  161. package/shared/definition20.cjs +187 -227
  162. package/shared/definition20.js +183 -223
  163. package/shared/definition21.cjs +262 -69
  164. package/shared/definition21.js +261 -67
  165. package/shared/definition22.cjs +66 -61
  166. package/shared/definition22.js +64 -60
  167. package/shared/definition23.cjs +42 -77
  168. package/shared/definition23.js +41 -76
  169. package/shared/definition24.cjs +65 -2350
  170. package/shared/definition24.js +64 -2349
  171. package/shared/definition25.cjs +2402 -48
  172. package/shared/definition25.js +2401 -47
  173. package/shared/definition26.cjs +62 -28
  174. package/shared/definition26.js +61 -27
  175. package/shared/definition27.cjs +28 -54
  176. package/shared/definition27.js +27 -53
  177. package/shared/definition28.cjs +39 -819
  178. package/shared/definition28.js +38 -817
  179. package/shared/definition29.cjs +893 -54
  180. package/shared/definition29.js +893 -55
  181. package/shared/definition3.cjs +7 -10
  182. package/shared/definition3.js +7 -10
  183. package/shared/definition30.cjs +69 -85
  184. package/shared/definition30.js +68 -84
  185. package/shared/definition31.cjs +86 -23
  186. package/shared/definition31.js +86 -23
  187. package/shared/definition32.cjs +24 -14
  188. package/shared/definition32.js +23 -13
  189. package/shared/definition33.cjs +11 -53
  190. package/shared/definition33.js +10 -52
  191. package/shared/definition34.cjs +28 -500
  192. package/shared/definition34.js +28 -500
  193. package/shared/definition35.cjs +447 -194
  194. package/shared/definition35.js +447 -192
  195. package/shared/definition36.cjs +258 -188
  196. package/shared/definition36.js +255 -187
  197. package/shared/definition37.cjs +204 -78
  198. package/shared/definition37.js +203 -76
  199. package/shared/definition38.cjs +55 -51
  200. package/shared/definition38.js +52 -49
  201. package/shared/definition39.cjs +65 -423
  202. package/shared/definition39.js +64 -422
  203. package/shared/definition4.cjs +24 -12
  204. package/shared/definition4.js +24 -12
  205. package/shared/definition40.cjs +447 -35
  206. package/shared/definition40.js +444 -32
  207. package/shared/definition41.cjs +35 -678
  208. package/shared/definition41.js +34 -677
  209. package/shared/definition42.cjs +544 -99
  210. package/shared/definition42.js +543 -98
  211. package/shared/definition43.cjs +696 -77
  212. package/shared/definition43.js +695 -76
  213. package/shared/definition44.cjs +113 -563
  214. package/shared/definition44.js +112 -561
  215. package/shared/definition45.cjs +77 -117
  216. package/shared/definition45.js +75 -115
  217. package/shared/definition46.cjs +474 -86
  218. package/shared/definition46.js +474 -87
  219. package/shared/definition47.cjs +140 -23
  220. package/shared/definition47.js +139 -22
  221. package/shared/definition48.cjs +132 -57
  222. package/shared/definition48.js +131 -56
  223. package/shared/definition49.cjs +18 -524
  224. package/shared/definition49.js +17 -523
  225. package/shared/definition5.cjs +20 -17
  226. package/shared/definition5.js +20 -17
  227. package/shared/definition50.cjs +73 -25
  228. package/shared/definition50.js +72 -24
  229. package/shared/definition51.cjs +506 -99
  230. package/shared/definition51.js +505 -99
  231. package/shared/definition52.cjs +29 -277
  232. package/shared/definition52.js +28 -276
  233. package/shared/definition53.cjs +97 -256
  234. package/shared/definition53.js +97 -255
  235. package/shared/definition54.cjs +287 -769
  236. package/shared/definition54.js +287 -769
  237. package/shared/definition55.cjs +305 -105
  238. package/shared/definition55.js +304 -104
  239. package/shared/definition56.cjs +841 -81
  240. package/shared/definition56.js +840 -80
  241. package/shared/definition57.cjs +153 -69
  242. package/shared/definition57.js +152 -68
  243. package/shared/definition58.cjs +138 -299
  244. package/shared/definition58.js +137 -298
  245. package/shared/definition59.cjs +72 -27
  246. package/shared/definition59.js +71 -26
  247. package/shared/definition6.cjs +4 -5
  248. package/shared/definition6.js +4 -5
  249. package/shared/definition60.cjs +279 -1780
  250. package/shared/definition60.js +278 -1779
  251. package/shared/definition61.cjs +65870 -11
  252. package/shared/definition61.js +65869 -11
  253. package/shared/definition62.cjs +50 -0
  254. package/shared/definition62.js +46 -0
  255. package/shared/definition63.cjs +1828 -0
  256. package/shared/definition63.js +1824 -0
  257. package/shared/definition7.cjs +8 -6
  258. package/shared/definition7.js +8 -6
  259. package/shared/definition8.cjs +27 -20
  260. package/shared/definition8.js +27 -20
  261. package/shared/definition9.cjs +7 -10
  262. package/shared/definition9.js +7 -10
  263. package/shared/enums.cjs +8 -0
  264. package/shared/enums.js +8 -1
  265. package/shared/icon.cjs +7 -2
  266. package/shared/icon.js +7 -2
  267. package/shared/index2.cjs +67 -38
  268. package/shared/index2.js +67 -38
  269. package/shared/key-codes2.cjs +8 -0
  270. package/shared/key-codes2.js +5 -1
  271. package/shared/listbox.cjs +1 -1
  272. package/shared/listbox.js +1 -1
  273. package/shared/localization/Locale.d.ts +6 -0
  274. package/shared/patterns/form-elements/form-elements.d.ts +2 -3
  275. package/shared/patterns/index.d.ts +0 -1
  276. package/shared/presentationDate.cjs +140 -81
  277. package/shared/presentationDate.js +140 -81
  278. package/shared/slider.template.cjs +71 -0
  279. package/shared/slider.template.js +67 -0
  280. package/shared/text-anchor.cjs +6 -0
  281. package/shared/text-anchor.js +6 -0
  282. package/shared/text-anchor.template.cjs +33 -33
  283. package/shared/text-anchor.template.js +33 -33
  284. package/shared/text-field.cjs +1 -1
  285. package/shared/text-field.js +1 -1
  286. package/shared/utils/applyMixinsWithObservables.d.ts +1 -0
  287. package/side-drawer/index.cjs +1 -1
  288. package/side-drawer/index.js +1 -1
  289. package/slider/index.cjs +2 -1
  290. package/slider/index.js +2 -1
  291. package/split-button/index.cjs +2 -2
  292. package/split-button/index.js +2 -2
  293. package/style.css +1 -0
  294. package/styles/core/all.css +1 -1
  295. package/styles/core/theme.css +1 -1
  296. package/styles/core/typography.css +1 -1
  297. package/styles/fonts/spezia-variable.css +39 -13
  298. package/styles/tokens/theme-dark.css +4 -4
  299. package/styles/tokens/theme-light.css +4 -4
  300. package/styles/tokens/vivid-2-compat.css +4 -2
  301. package/switch/index.cjs +2 -2
  302. package/switch/index.js +2 -2
  303. package/tab/index.cjs +2 -2
  304. package/tab/index.js +2 -2
  305. package/tab-panel/index.cjs +1 -1
  306. package/tab-panel/index.js +1 -1
  307. package/tabs/index.cjs +4 -4
  308. package/tabs/index.js +4 -4
  309. package/tag/index.cjs +2 -2
  310. package/tag/index.js +2 -2
  311. package/tag-group/index.cjs +1 -1
  312. package/tag-group/index.js +1 -1
  313. package/text-area/index.cjs +4 -3
  314. package/text-area/index.js +4 -3
  315. package/text-field/index.cjs +4 -6
  316. package/text-field/index.js +4 -6
  317. package/time-picker/index.cjs +8 -10
  318. package/time-picker/index.js +8 -10
  319. package/toggletip/index.cjs +5 -5
  320. package/toggletip/index.js +5 -5
  321. package/tooltip/index.cjs +5 -5
  322. package/tooltip/index.js +5 -5
  323. package/tree-item/index.cjs +2 -2
  324. package/tree-item/index.js +2 -2
  325. package/tree-view/index.cjs +1 -1
  326. package/tree-view/index.js +1 -1
  327. package/video-player/index.cjs +17 -0
  328. package/video-player/index.js +15 -0
  329. package/vivid.api.json +428 -1
  330. package/focus/index.cjs +0 -7
  331. package/focus/index.js +0 -5
  332. package/lib/focus/definition.d.ts +0 -3
  333. package/lib/focus/focus.d.ts +0 -3
  334. package/lib/focus/focus.template.d.ts +0 -4
  335. package/lib/popup/popup.d.ts +0 -21
  336. package/shared/focus.cjs +0 -8
  337. package/shared/focus.js +0 -6
  338. package/shared/focus2.cjs +0 -11
  339. package/shared/focus2.js +0 -9
  340. package/shared/patterns/focus.d.ts +0 -3
@@ -1,74 +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;background-color:var(--vvd-color-neutral-100);block-size:120px;border-radius:50%;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(
36
- "base",
37
- ["no-actions", x.slottedActionItems?.length === 0]
38
- );
39
- const EmptyStateTemplate = (context) => {
40
- const iconTag = context.tagFor(icon.Icon);
41
- return index.html`
42
- <div class="${getClasses}">
43
- <slot name="graphic">
44
- ${when.when(
45
- (x) => x.icon,
46
- index.html`<div class="icon-container">
47
- <${iconTag} class="icon" name="${(x) => x.icon}" size="5"></${iconTag}>
48
- </div>`
49
- )}
50
- </slot>
51
- <div class="content">
52
- ${when.when(
53
- (x) => x.headline,
54
- index.html`<header>${(x) => x.headline}</header>`
55
- )}
56
- <slot></slot>
57
- </div>
58
- <div class="actions">
59
- <slot name="action-items" ${slotted.slotted("slottedActionItems")}></slot>
60
- </div>
61
- </div>`;
62
- };
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>`;
63
67
 
64
- const emptyStateDefinition = EmptyState.compose({
65
- baseName: "empty-state",
66
- template: EmptyStateTemplate,
68
+ const dividerDefinition = Divider.compose({
69
+ baseName: "divider",
70
+ template: DividerTemplate,
67
71
  styles
68
72
  });
69
- const emptyStateRegistries = [emptyStateDefinition(), ...definition.iconRegistries];
70
- const registerEmptyState = index.registerFactory(emptyStateRegistries);
73
+ const dividerRegistries = [dividerDefinition()];
74
+ const registerDivider = index.registerFactory(dividerRegistries);
71
75
 
72
- exports.emptyStateDefinition = emptyStateDefinition;
73
- exports.emptyStateRegistries = emptyStateRegistries;
74
- exports.registerEmptyState = registerEmptyState;
76
+ exports.Divider = Divider;
77
+ exports.dividerDefinition = dividerDefinition;
78
+ exports.dividerRegistries = dividerRegistries;
79
+ exports.registerDivider = registerDivider;
@@ -1,70 +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;background-color:var(--vvd-color-neutral-100);block-size:120px;border-radius:50%;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(
34
- "base",
35
- ["no-actions", x.slottedActionItems?.length === 0]
36
- );
37
- const EmptyStateTemplate = (context) => {
38
- const iconTag = context.tagFor(Icon);
39
- return html`
40
- <div class="${getClasses}">
41
- <slot name="graphic">
42
- ${when(
43
- (x) => x.icon,
44
- html`<div class="icon-container">
45
- <${iconTag} class="icon" name="${(x) => x.icon}" size="5"></${iconTag}>
46
- </div>`
47
- )}
48
- </slot>
49
- <div class="content">
50
- ${when(
51
- (x) => x.headline,
52
- html`<header>${(x) => x.headline}</header>`
53
- )}
54
- <slot></slot>
55
- </div>
56
- <div class="actions">
57
- <slot name="action-items" ${slotted("slottedActionItems")}></slot>
58
- </div>
59
- </div>`;
60
- };
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>`;
61
65
 
62
- const emptyStateDefinition = EmptyState.compose({
63
- baseName: "empty-state",
64
- template: EmptyStateTemplate,
66
+ const dividerDefinition = Divider.compose({
67
+ baseName: "divider",
68
+ template: DividerTemplate,
65
69
  styles
66
70
  });
67
- const emptyStateRegistries = [emptyStateDefinition(), ...iconRegistries];
68
- const registerEmptyState = registerFactory(emptyStateRegistries);
71
+ const dividerRegistries = [dividerDefinition()];
72
+ const registerDivider = registerFactory(dividerRegistries);
69
73
 
70
- 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{display:inline-flex;box-sizing:border-box;align-items:center;border:0 none;background:var(--_appearance-color-fill, var(--_elevation-fill));block-size:var(--_fab-block-size);border-radius:var(--_fab-border-radius);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);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)))}.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{border-radius:50%;padding-inline:0;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;padding-inline:20px}.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,85 +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)}
87
- ${(x) => x.label}
88
- </button>
89
- `;
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>`;
90
58
  };
91
59
 
92
- const fabDefinition = Fab.compose({
93
- baseName: "fab",
94
- template: FabTemplate,
95
- styles,
96
- shadowOptions: {
97
- delegatesFocus: true
98
- }
60
+ const emptyStateDefinition = EmptyState.compose({
61
+ baseName: "empty-state",
62
+ template: EmptyStateTemplate,
63
+ styles
99
64
  });
100
- const fabRegistries = [fabDefinition(), ...definition.iconRegistries];
101
- const registerFab = index.registerFactory(fabRegistries);
65
+ const emptyStateRegistries = [emptyStateDefinition(), ...definition.iconRegistries];
66
+ const registerEmptyState = index.registerFactory(emptyStateRegistries);
102
67
 
103
- exports.fabDefinition = fabDefinition;
104
- exports.fabRegistries = fabRegistries;
105
- 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{display:inline-flex;box-sizing:border-box;align-items:center;border:0 none;background:var(--_appearance-color-fill, var(--_elevation-fill));block-size:var(--_fab-block-size);border-radius:var(--_fab-border-radius);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);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)))}.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{border-radius:50%;padding-inline:0;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;padding-inline:20px}.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,83 +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)}
85
- ${(x) => x.label}
86
- </button>
87
- `;
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>`;
88
56
  };
89
57
 
90
- const fabDefinition = Fab.compose({
91
- baseName: "fab",
92
- template: FabTemplate,
93
- styles,
94
- shadowOptions: {
95
- delegatesFocus: true
96
- }
58
+ const emptyStateDefinition = EmptyState.compose({
59
+ baseName: "empty-state",
60
+ template: EmptyStateTemplate,
61
+ styles
97
62
  });
98
- const fabRegistries = [fabDefinition(), ...iconRegistries];
99
- const registerFab = registerFactory(fabRegistries);
63
+ const emptyStateRegistries = [emptyStateDefinition(), ...iconRegistries];
64
+ const registerEmptyState = registerFactory(emptyStateRegistries);
100
65
 
101
- export { fabRegistries as a, fabDefinition as f, registerFab as r };
66
+ export { emptyStateRegistries as a, emptyStateDefinition as e, registerEmptyState as r };