@vonage/vivid 3.0.0-next.120 → 3.0.0-next.122

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 (118) hide show
  1. package/custom-elements.json +119 -438
  2. package/header/index.js +4 -56
  3. package/index.js +40 -39
  4. package/layout/index.js +1 -1
  5. package/lib/accordion/definition.d.ts +0 -2
  6. package/lib/accordion-item/definition.d.ts +0 -2
  7. package/lib/action-group/definition.d.ts +0 -2
  8. package/lib/avatar/definition.d.ts +0 -2
  9. package/lib/badge/definition.d.ts +1 -1
  10. package/lib/banner/definition.d.ts +0 -2
  11. package/lib/breadcrumb/definition.d.ts +0 -2
  12. package/lib/breadcrumb-item/definition.d.ts +0 -2
  13. package/lib/button/definition.d.ts +0 -2
  14. package/lib/calendar/definition.d.ts +0 -2
  15. package/lib/calendar-event/definition.d.ts +0 -2
  16. package/lib/card/definition.d.ts +0 -2
  17. package/lib/checkbox/definition.d.ts +0 -2
  18. package/lib/components.d.ts +1 -0
  19. package/lib/dialog/definition.d.ts +0 -2
  20. package/lib/divider/definition.d.ts +0 -2
  21. package/lib/elevation/definition.d.ts +0 -2
  22. package/lib/fab/definition.d.ts +1 -1
  23. package/lib/focus/definition.d.ts +1 -1
  24. package/lib/header/definition.d.ts +1 -1
  25. package/lib/icon/definition.d.ts +1 -1
  26. package/lib/layout/definition.d.ts +1 -1
  27. package/lib/listbox/definition.d.ts +1 -1
  28. package/lib/menu/definition.d.ts +6 -2
  29. package/lib/menu-item/definition.d.ts +1 -1
  30. package/lib/nav/definition.d.ts +1 -1
  31. package/lib/nav-disclosure/definition.d.ts +1 -1
  32. package/lib/nav-item/definition.d.ts +1 -1
  33. package/lib/note/definition.d.ts +1 -1
  34. package/lib/number-field/definition.d.ts +2 -1
  35. package/lib/option/definition.d.ts +1 -1
  36. package/lib/popup/definition.d.ts +1 -2
  37. package/lib/progress/definition.d.ts +1 -1
  38. package/lib/progress-ring/definition.d.ts +1 -1
  39. package/lib/radio/definition.d.ts +1 -1
  40. package/lib/radio-group/definition.d.ts +6 -2
  41. package/lib/side-drawer/definition.d.ts +1 -1
  42. package/lib/slider/definition.d.ts +1 -1
  43. package/lib/switch/definition.d.ts +1 -1
  44. package/lib/text-anchor/definition.d.ts +1 -1
  45. package/lib/text-area/definition.d.ts +1 -1
  46. package/lib/text-field/definition.d.ts +1 -1
  47. package/lib/tooltip/definition.d.ts +1 -1
  48. package/listbox/index.js +2 -2
  49. package/menu/index.js +3 -3
  50. package/menu-item/index.js +1 -1
  51. package/nav/index.js +1 -1
  52. package/nav-disclosure/index.js +1 -1
  53. package/nav-item/index.js +1 -1
  54. package/note/index.js +1 -1
  55. package/number-field/index.js +8 -8
  56. package/option/index.js +1 -1
  57. package/package.json +3 -2
  58. package/popup/index.js +1 -1
  59. package/progress/index.js +1 -1
  60. package/progress-ring/index.js +1 -1
  61. package/radio/index.js +1 -1
  62. package/radio-group/index.js +1 -1
  63. package/shared/definition.js +7 -7
  64. package/shared/definition10.js +6 -6
  65. package/shared/definition11.js +9 -9
  66. package/shared/definition12.js +7 -7
  67. package/shared/definition13.js +7 -7
  68. package/shared/definition14.js +9 -9
  69. package/shared/definition15.js +6 -6
  70. package/shared/definition16.js +9 -9
  71. package/shared/definition17.js +10 -10
  72. package/shared/definition18.js +7 -7
  73. package/shared/definition19.js +9 -9
  74. package/shared/definition2.js +9 -9
  75. package/shared/definition20.js +48 -34
  76. package/shared/definition21.js +36 -1070
  77. package/shared/definition22.js +980 -163
  78. package/shared/definition23.js +212 -299
  79. package/shared/definition24.js +311 -1492
  80. package/shared/definition25.js +1493 -315
  81. package/shared/definition26.js +348 -15
  82. package/shared/definition27.js +13 -70
  83. package/shared/definition28.js +68 -24
  84. package/shared/definition29.js +22 -47
  85. package/shared/definition3.js +6 -6
  86. package/shared/definition30.js +41 -79
  87. package/shared/definition31.js +77 -60
  88. package/shared/definition32.js +68 -36
  89. package/shared/definition33.js +32 -422
  90. package/shared/definition34.js +419 -70
  91. package/shared/definition35.js +67 -573
  92. package/shared/definition36.js +528 -83
  93. package/shared/definition37.js +88 -220
  94. package/shared/definition38.js +247 -87
  95. package/shared/definition39.js +110 -68
  96. package/shared/definition4.js +7 -7
  97. package/shared/definition40.js +77 -0
  98. package/shared/definition5.js +7 -7
  99. package/shared/definition6.js +8 -8
  100. package/shared/definition7.js +8 -8
  101. package/shared/definition8.js +9 -9
  102. package/shared/definition9.js +9 -9
  103. package/shared/design-system/index.d.ts +2 -1
  104. package/shared/form-elements.js +1 -1
  105. package/shared/index.js +2 -2
  106. package/side-drawer/index.js +1 -1
  107. package/slider/index.js +1 -1
  108. package/styles/core/all.css +1 -1
  109. package/styles/core/theme.css +1 -1
  110. package/styles/core/typography.css +1 -1
  111. package/styles/tokens/theme-dark.css +4 -4
  112. package/styles/tokens/theme-light.css +4 -4
  113. package/switch/index.js +1 -1
  114. package/text-anchor/index.js +5 -5
  115. package/text-area/index.js +1 -1
  116. package/text-field/index.js +1 -1
  117. package/tooltip/index.js +2 -2
  118. package/vivid.api.json +545 -1162
@@ -1,13 +1,13 @@
1
- import { F as FoundationElement, _ as __decorate, a as attr, b as __metadata, h as html, r as registerFactorial } from './index.js';
2
- import { i as iconElements } from './definition3.js';
3
- import { f as focusElements } from './definition4.js';
1
+ import { F as FoundationElement, _ as __decorate, a as attr, b as __metadata, h as html, r as registerFactory } from './index.js';
2
+ import { i as iconRegistries } from './definition3.js';
3
+ import { f as focusRegistries } from './definition4.js';
4
4
  import { A as AffixIconWithTrailing, a as affixIconTemplateFactory } from './affix.js';
5
5
  import { a as applyMixins } from './apply-mixins.js';
6
6
  import { f as focusTemplateFactory } from './focus2.js';
7
7
  import { w as when } from './when.js';
8
8
  import { c as classNames } from './class-names.js';
9
9
 
10
- var css_248z = "/**\n * Do not edit directly\n * Generated on Wed, 14 Dec 2022 16:38:57 GMT\n */\n.body {\n padding: 8px 32px 24px 16px;\n font: var(--vvd-typography-base);\n}\n.icon:not(.icon-trailing) .body {\n padding-left: 48px;\n}\n\n.base {\n display: flex;\n flex-direction: column;\n}\n.base:not(.open) .body {\n display: none;\n}\n\n.header {\n padding: 0;\n margin: 0;\n}\n\n.button {\n position: relative;\n display: flex;\n width: 100%;\n align-items: center;\n padding: 16px;\n border: 0 none;\n margin: 0;\n background-color: var(--_appearance-color-fill);\n box-shadow: inset 0 0 0 1px var(--_appearance-color-outline);\n color: var(--_appearance-color-text);\n cursor: pointer;\n font: var(--vvd-typography-heading-4);\n}\n.button {\n --_appearance-color-text: var(--_connotation-color-primary);\n --_appearance-color-fill: transparent;\n --_appearance-color-outline: transparent;\n}\n.button:where(:hover, .hover):where(:not(:disabled, .disabled, .readonly)) {\n --_appearance-color-text: var(--_connotation-color-primary);\n --_appearance-color-fill: var(--_connotation-color-faint);\n --_appearance-color-outline: transparent;\n}\n.button:where(:active, .active):where(:not(:disabled, .disabled)) {\n --_appearance-color-text: var(--_connotation-color-primary);\n --_appearance-color-fill: var(--_connotation-color-soft);\n --_appearance-color-outline: transparent;\n}\n.button {\n --_connotation-color-primary: var(--vvd-color-canvas-text);\n --_connotation-color-faint: var(--vvd-color-neutral-50);\n --_connotation-color-soft: var(--vvd-color-neutral-100);\n}\n@supports selector(:focus-visible) {\n .button:focus {\n outline: none;\n }\n}\n@supports (user-select: none) {\n .button {\n user-select: none;\n }\n}\n.button .heading-text {\n flex-grow: 1;\n margin-inline-end: auto;\n text-align: left;\n}\n.button .meta {\n overflow: hidden;\n max-width: 20%;\n flex-shrink: 0;\n color: var(--vvd-color-neutral-600);\n font: var(--vvd-typography-base-bold);\n margin-inline-start: 16px;\n text-align: end;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.button .indicator {\n margin-inline-start: 16px;\n}\n.button .icon {\n color: var(--vvd-color-neutral-600);\n margin-inline-end: 16px;\n}\n\n/* Icon */\n.icon-trailing .icon {\n order: 1;\n}\n\n.button:not(:focus-visible) > .focus-indicator {\n display: none;\n}";
10
+ var css_248z = "/**\n * Do not edit directly\n * Generated on Sun, 18 Dec 2022 17:21:55 GMT\n */\n.body {\n padding: 8px 32px 24px 16px;\n font: var(--vvd-typography-base);\n}\n.icon:not(.icon-trailing) .body {\n padding-left: 48px;\n}\n\n.base {\n display: flex;\n flex-direction: column;\n}\n.base:not(.open) .body {\n display: none;\n}\n\n.header {\n padding: 0;\n margin: 0;\n}\n\n.button {\n position: relative;\n display: flex;\n width: 100%;\n align-items: center;\n padding: 16px;\n border: 0 none;\n margin: 0;\n background-color: var(--_appearance-color-fill);\n box-shadow: inset 0 0 0 1px var(--_appearance-color-outline);\n color: var(--_appearance-color-text);\n cursor: pointer;\n font: var(--vvd-typography-heading-4);\n}\n.button {\n --_appearance-color-text: var(--_connotation-color-primary);\n --_appearance-color-fill: transparent;\n --_appearance-color-outline: transparent;\n}\n.button:where(:hover, .hover):where(:not(:disabled, .disabled, .readonly)) {\n --_appearance-color-text: var(--_connotation-color-primary);\n --_appearance-color-fill: var(--_connotation-color-faint);\n --_appearance-color-outline: transparent;\n}\n.button:where(:active, .active):where(:not(:disabled, .disabled)) {\n --_appearance-color-text: var(--_connotation-color-primary);\n --_appearance-color-fill: var(--_connotation-color-soft);\n --_appearance-color-outline: transparent;\n}\n.button {\n --_connotation-color-primary: var(--vvd-color-canvas-text);\n --_connotation-color-faint: var(--vvd-color-neutral-50);\n --_connotation-color-soft: var(--vvd-color-neutral-100);\n}\n@supports selector(:focus-visible) {\n .button:focus {\n outline: none;\n }\n}\n@supports (user-select: none) {\n .button {\n user-select: none;\n }\n}\n.button .heading-text {\n flex-grow: 1;\n margin-inline-end: auto;\n text-align: left;\n}\n.button .meta {\n overflow: hidden;\n max-width: 20%;\n flex-shrink: 0;\n color: var(--vvd-color-neutral-600);\n font: var(--vvd-typography-base-bold);\n margin-inline-start: 16px;\n text-align: end;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.button .indicator {\n margin-inline-start: 16px;\n}\n.button .icon {\n color: var(--vvd-color-neutral-600);\n margin-inline-end: 16px;\n}\n\n/* Icon */\n.icon-trailing .icon {\n order: 1;\n}\n\n.button:not(:focus-visible) > .focus-indicator {\n display: none;\n}";
11
11
 
12
12
  class AccordionItem extends FoundationElement {
13
13
  constructor() {
@@ -92,15 +92,15 @@ const renderHeaderButton = context => {
92
92
  })));
93
93
  };
94
94
 
95
- const accordionItem = AccordionItem.compose({
95
+ const accordionItemDefinition = AccordionItem.compose({
96
96
  baseName: 'accordion-item',
97
97
  template: AccordionItemTemplate,
98
98
  styles: css_248z,
99
99
  shadowOptions: {
100
100
  delegatesFocus: true
101
101
  }
102
- })();
103
- const accordionItemElements = [accordionItem, ...iconElements, ...focusElements];
104
- const registerAccordionItem = registerFactorial(accordionItemElements);
102
+ });
103
+ const accordionItemRegistries = [accordionItemDefinition(), ...iconRegistries, ...focusRegistries];
104
+ const registerAccordionItem = registerFactory(accordionItemRegistries);
105
105
 
106
- export { accordionItem as a, accordionItemElements as b, registerAccordionItem as r };
106
+ export { accordionItemDefinition as a, accordionItemRegistries as b, registerAccordionItem as r };
@@ -1,44 +1,58 @@
1
- import { F as FoundationElement, _ as __decorate, a as attr, b as __metadata, h as html, r as registerFactorial } from './index.js';
1
+ import { F as FoundationElement, _ as __decorate, a as attr, b as __metadata, h as html, r as registerFactory } from './index.js';
2
+ import { E as Elevation, e as elevationRegistries } from './definition15.js';
2
3
  import { c as classNames } from './class-names.js';
3
4
 
4
- var AUTO_SIZING;
5
- (function (AUTO_SIZING) {
6
- AUTO_SIZING["Fit"] = "fit";
7
- AUTO_SIZING["Fill"] = "fill";
8
- })(AUTO_SIZING || (AUTO_SIZING = {}));
9
- class Layout extends FoundationElement {}
10
- __decorate([attr, __metadata("design:type", String)], Layout.prototype, "gutters", void 0);
11
- __decorate([attr({
12
- attribute: 'column-basis'
13
- }), __metadata("design:type", String)], Layout.prototype, "columnBasis", void 0);
5
+ var css_248z = "/**\n * Do not edit directly\n * Generated on Sun, 18 Dec 2022 17:21:55 GMT\n */\n.base {\n z-index: 1;\n block-size: calc(calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2))) + calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2) - 16)));\n font: var(--vvd-typography-heading-4);\n inline-size: 100%;\n}\n.base .header-content {\n display: inline-flex;\n align-items: center;\n column-gap: 4px;\n}\n\n.container {\n display: flex;\n box-sizing: border-box;\n justify-content: space-between;\n block-size: inherit;\n color: var(--vvd-color-canvas-text);\n column-gap: 12px;\n padding-block: 8px;\n padding-inline: 16px;\n}\n.container[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\n.app-content {\n --vvd-header-block-size: calc(calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2))) + calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2) - 16)));\n}";
6
+
7
+ class Header extends FoundationElement {
8
+ constructor() {
9
+ super(...arguments);
10
+ this.elevationShadow = false;
11
+ this.alternate = false;
12
+ }
13
+ }
14
14
  __decorate([attr({
15
- attribute: 'column-spacing'
16
- }), __metadata("design:type", String)], Layout.prototype, "columnSpacing", void 0);
15
+ attribute: 'elevation-shadow',
16
+ mode: 'boolean'
17
+ }), __metadata("design:type", Object)], Header.prototype, "elevationShadow", void 0);
17
18
  __decorate([attr({
18
- attribute: 'auto-sizing'
19
- }), __metadata("design:type", String)], Layout.prototype, "autoSizing", void 0);
20
-
21
- var css_248z = "/* #region SIZEs */\n/* #region BASES */\n/* #region SPACES */\n.control {\n display: grid;\n grid-auto-rows: min-content;\n}\n.control.column-basis-small {\n grid-template-columns: var(--layout-grid-template-columns, repeat(var(--_auto-sizing), minmax(160px, 1fr)));\n}\n.control:not(.column-basis-small):not(.column-basis-medium):not(.column-basis-large):not(.column-basis-block), .control.column-basis-medium {\n grid-template-columns: var(--layout-grid-template-columns, repeat(var(--_auto-sizing), minmax(320px, 1fr)));\n}\n.control.column-basis-large {\n grid-template-columns: var(--layout-grid-template-columns, repeat(var(--_auto-sizing), minmax(380px, 1fr)));\n}\n.control.column-basis-block {\n grid-template-columns: var(--layout-grid-template-columns, repeat(var(--_auto-sizing), minmax(1fr, 1fr)));\n}\n.control.column-spacing-small {\n gap: 16px;\n}\n.control.column-spacing-small-inline {\n gap: 0 16px;\n}\n.control.column-spacing-small-block {\n gap: 16px 0;\n}\n.control:not(.column-spacing-small):not(.column-spacing-small-inline):not(.column-spacing-small-block):not(.column-spacing-medium):not(.column-spacing-medium-inline):not(.column-spacing-medium-block):not(.column-spacing-large):not(.column-spacing-large-inline):not(.column-spacing-large-block), .control.column-spacing-medium {\n gap: 24px;\n}\n.control.column-spacing-medium-inline {\n gap: 0 24px;\n}\n.control.column-spacing-medium-block {\n gap: 24px 0;\n}\n.control.column-spacing-large {\n gap: 32px;\n}\n.control.column-spacing-large-inline {\n gap: 0 32px;\n}\n.control.column-spacing-large-block {\n gap: 32px 0;\n}\n.control.gutters-small {\n margin: 16px;\n}\n.control.gutters-small-inline {\n margin: 0 16px;\n}\n.control.gutters-small-block {\n margin: 16px 0;\n}\n.control.gutters-medium {\n margin: 24px;\n}\n.control.gutters-medium-inline {\n margin: 0 24px;\n}\n.control.gutters-medium-block {\n margin: 24px 0;\n}\n.control.gutters-large {\n margin: 32px;\n}\n.control.gutters-large-inline {\n margin: 0 32px;\n}\n.control.gutters-large-block {\n margin: 32px 0;\n}\n.control.auto-sizing-fill {\n --_auto-sizing: auto-fill;\n}\n.control:not(.auto-sizing-fill):not(.auto-sizing-fit), .control.auto-sizing-fit {\n --_auto-sizing: auto-fit;\n}";
19
+ mode: 'boolean'
20
+ }), __metadata("design:type", Object)], Header.prototype, "alternate", void 0);
22
21
 
23
22
  let _ = t => t,
24
23
  _t;
25
- const getClasses = ({
26
- columnBasis,
27
- gutters,
28
- columnSpacing,
29
- autoSizing
30
- }) => classNames('control', [`column-basis-${columnBasis}`, Boolean(columnBasis)], [`gutters-${gutters}`, Boolean(gutters)], [`column-spacing-${columnSpacing}`, Boolean(columnSpacing)], [`auto-sizing-${autoSizing}`, Boolean(autoSizing)]);
31
- const layoutTemplate = () => html(_t || (_t = _`
32
- <div class="${0}">
33
- <slot></slot>
34
- </div>`), getClasses);
24
+ const getPartAlternate = ({
25
+ alternate
26
+ }) => classNames(['vvd-theme-alternate', Boolean(alternate)]);
27
+ const headerTemplate = context => {
28
+ const elevationTag = context.tagFor(Elevation);
29
+ return html(_t || (_t = _`
30
+ <${0} dp="4" ?no-shadow=${0}>
31
+ <header class="base" part="base">
32
+ <!-- a container is needed to distinguish the surface background color of the
33
+ element from its shadow when applying elevation with alternate -->
34
+ <div class="container" part="${0}">
35
+ <section class="header-content">
36
+ <slot></slot>
37
+ </section>
38
+ <section class="header-content">
39
+ <slot name="action-items"></slot>
40
+ </section>
41
+ </div>
42
+ </header>
43
+ </${0}>
44
+ <div class="app-content">
45
+ <slot name="app-content"></slot>
46
+ </div>
47
+ `), elevationTag, x => !x.elevationShadow, getPartAlternate, elevationTag);
48
+ };
35
49
 
36
- const layout = Layout.compose({
37
- baseName: 'layout',
38
- template: layoutTemplate,
50
+ const headerDefinition = Header.compose({
51
+ baseName: 'header',
52
+ template: headerTemplate,
39
53
  styles: css_248z
40
- })();
41
- const layoutElements = [layout];
42
- const registerLayout = registerFactorial(layoutElements);
54
+ });
55
+ const headerRegistries = [headerDefinition(), ...elevationRegistries];
56
+ const registerHeader = registerFactory(headerRegistries);
43
57
 
44
- export { layoutElements as a, layout as l, registerLayout as r };
58
+ export { headerRegistries as a, headerDefinition as h, registerHeader as r };