@vonage/vivid 3.0.0-next.11 → 3.0.0-next.110

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 (209) hide show
  1. package/README.md +165 -4
  2. package/accordion/index.js +5 -14
  3. package/accordion-item/index.js +34 -41
  4. package/action-group/index.js +37 -0
  5. package/avatar/index.js +61 -0
  6. package/badge/index.js +23 -35
  7. package/banner/index.js +20 -115
  8. package/breadcrumb/index.js +22 -19
  9. package/breadcrumb-item/index.js +28 -25
  10. package/button/index.js +29 -690
  11. package/calendar/index.js +70 -69
  12. package/calendar-event/index.js +109 -0
  13. package/card/index.js +112 -0
  14. package/checkbox/index.js +178 -0
  15. package/custom-elements.json +3941 -0
  16. package/dialog/index.js +214 -0
  17. package/divider/index.js +27 -0
  18. package/elevation/index.js +10 -16
  19. package/fab/index.js +98 -0
  20. package/focus/index.js +18 -3
  21. package/header/index.js +63 -0
  22. package/icon/index.js +9 -12
  23. package/index.js +68 -22
  24. package/layout/index.js +6 -16
  25. package/lib/accordion-item/accordion-item.d.ts +2 -2
  26. package/lib/accordion-item/index.d.ts +0 -1
  27. package/lib/action-group/action-group.d.ts +10 -0
  28. package/lib/{sidenav-item/sidenav-item.template.d.ts → action-group/action-group.template.d.ts} +2 -2
  29. package/lib/{sidenav-item → action-group}/index.d.ts +1 -2
  30. package/lib/avatar/avatar.d.ts +15 -0
  31. package/lib/avatar/avatar.template.d.ts +4 -0
  32. package/lib/avatar/index.d.ts +2 -0
  33. package/lib/badge/badge.d.ts +3 -5
  34. package/lib/badge/index.d.ts +1 -2
  35. package/lib/banner/banner.d.ts +1 -1
  36. package/lib/banner/banner.template.d.ts +0 -2
  37. package/lib/breadcrumb/breadcrumb.template.d.ts +4 -0
  38. package/lib/breadcrumb-item/breadcrumb-item.d.ts +1 -1
  39. package/lib/breadcrumb-item/index.d.ts +0 -1
  40. package/lib/button/button.d.ts +4 -3
  41. package/lib/button/index.d.ts +1 -21
  42. package/lib/calendar/calendar.d.ts +3 -1
  43. package/lib/calendar/index.d.ts +0 -1
  44. package/lib/calendar-event/calendar-event.d.ts +14 -0
  45. package/lib/calendar-event/calendar-event.template.d.ts +4 -0
  46. package/lib/calendar-event/index.d.ts +2 -0
  47. package/lib/card/card.d.ts +10 -0
  48. package/lib/{text/text.template.d.ts → card/card.template.d.ts} +2 -2
  49. package/lib/{text → card}/index.d.ts +1 -1
  50. package/lib/checkbox/checkbox.d.ts +5 -0
  51. package/lib/checkbox/checkbox.template.d.ts +4 -0
  52. package/lib/checkbox/index.d.ts +2 -0
  53. package/lib/components.d.ts +32 -10
  54. package/lib/dialog/dialog.d.ts +20 -0
  55. package/lib/dialog/dialog.template.d.ts +4 -0
  56. package/lib/dialog/index.d.ts +2 -0
  57. package/lib/divider/divider.d.ts +3 -0
  58. package/lib/divider/divider.template.d.ts +4 -0
  59. package/lib/divider/index.d.ts +2 -0
  60. package/lib/elevation/elevation.d.ts +1 -0
  61. package/lib/elevation/index.d.ts +1 -1
  62. package/lib/enums.d.ts +19 -6
  63. package/lib/fab/fab.d.ts +13 -0
  64. package/lib/fab/fab.template.d.ts +4 -0
  65. package/lib/fab/index.d.ts +2 -0
  66. package/lib/focus/index.d.ts +1 -1
  67. package/lib/header/header.d.ts +5 -0
  68. package/lib/header/header.template.d.ts +4 -0
  69. package/lib/header/index.d.ts +2 -0
  70. package/lib/icon/icon.d.ts +5 -6
  71. package/lib/layout/index.d.ts +1 -1
  72. package/lib/layout/layout.d.ts +4 -4
  73. package/lib/listbox/index.d.ts +1 -0
  74. package/lib/listbox/listbox.d.ts +9 -0
  75. package/lib/listbox/listbox.template.d.ts +4 -0
  76. package/lib/menu/index.d.ts +10 -0
  77. package/lib/menu/menu.d.ts +10 -0
  78. package/lib/menu/menu.template.d.ts +3 -0
  79. package/lib/menu-item/index.d.ts +2 -0
  80. package/lib/menu-item/menu-item.d.ts +7 -0
  81. package/lib/menu-item/menu-item.template.d.ts +5 -0
  82. package/lib/nav/index.d.ts +2 -0
  83. package/lib/nav/nav.d.ts +3 -0
  84. package/lib/nav/nav.template.d.ts +4 -0
  85. package/lib/nav-disclosure/index.d.ts +2 -0
  86. package/lib/nav-disclosure/nav-disclosure.d.ts +10 -0
  87. package/lib/nav-disclosure/nav-disclosure.template.d.ts +4 -0
  88. package/lib/nav-item/index.d.ts +2 -0
  89. package/lib/{sidenav-item/sidenav-item.d.ts → nav-item/nav-item.d.ts} +2 -2
  90. package/lib/nav-item/nav-item.template.d.ts +4 -0
  91. package/lib/note/index.d.ts +2 -0
  92. package/lib/note/note.d.ts +10 -0
  93. package/lib/note/note.template.d.ts +4 -0
  94. package/lib/number-field/index.d.ts +2 -0
  95. package/lib/number-field/number-field.d.ts +14 -0
  96. package/lib/number-field/number-field.template.d.ts +4 -0
  97. package/lib/option/index.d.ts +2 -0
  98. package/lib/option/option.d.ts +9 -0
  99. package/lib/option/option.template.d.ts +4 -0
  100. package/lib/popup/index.d.ts +1 -3
  101. package/lib/popup/popup.d.ts +3 -2
  102. package/lib/progress/progress.d.ts +1 -1
  103. package/lib/progress-ring/progress-ring.d.ts +2 -1
  104. package/lib/radio/index.d.ts +2 -0
  105. package/lib/radio/radio.d.ts +4 -0
  106. package/lib/radio/radio.template.d.ts +4 -0
  107. package/lib/radio-group/index.d.ts +10 -0
  108. package/lib/radio-group/radio-group.d.ts +4 -0
  109. package/lib/radio-group/radio-group.template.d.ts +4 -0
  110. package/lib/side-drawer/index.d.ts +1 -1
  111. package/lib/side-drawer/side-drawer.d.ts +3 -2
  112. package/lib/slider/index.d.ts +2 -0
  113. package/lib/slider/slider.d.ts +4 -0
  114. package/lib/slider/slider.template.d.ts +4 -0
  115. package/lib/switch/index.d.ts +2 -0
  116. package/lib/switch/switch.d.ts +7 -0
  117. package/lib/switch/switch.template.d.ts +4 -0
  118. package/lib/text-anchor/text-anchor.d.ts +1 -1
  119. package/lib/text-area/index.d.ts +2 -0
  120. package/lib/text-area/text-area.d.ts +9 -0
  121. package/lib/text-area/text-area.template.d.ts +4 -0
  122. package/lib/text-field/index.d.ts +2 -0
  123. package/lib/text-field/text-field.d.ts +14 -0
  124. package/lib/text-field/text-field.template.d.ts +4 -0
  125. package/lib/tooltip/index.d.ts +0 -1
  126. package/lib/tooltip/tooltip.d.ts +7 -7
  127. package/listbox/index.js +1086 -0
  128. package/menu/index.js +357 -0
  129. package/menu-item/index.js +90 -0
  130. package/nav/index.js +17 -0
  131. package/nav-disclosure/index.js +80 -0
  132. package/nav-item/index.js +44 -0
  133. package/note/index.js +59 -0
  134. package/number-field/index.js +460 -0
  135. package/option/index.js +75 -0
  136. package/package.json +62 -10
  137. package/popup/index.js +35 -2036
  138. package/progress/index.js +33 -38
  139. package/progress-ring/index.js +13 -13
  140. package/radio/index.js +52 -0
  141. package/radio-group/index.js +435 -0
  142. package/shared/affix.js +2 -8
  143. package/shared/anchor.js +11 -3
  144. package/shared/apply-mixins.js +5 -4
  145. package/shared/aria-global.js +2 -86
  146. package/shared/aria.js +9 -0
  147. package/shared/base-progress.js +6 -1
  148. package/shared/breadcrumb-item.js +2 -2
  149. package/shared/button.js +23 -0
  150. package/shared/button2.js +200 -0
  151. package/shared/calendar-event.js +19 -0
  152. package/shared/design-system/index.d.ts +1 -1
  153. package/shared/dialog-polyfill.esm.js +858 -0
  154. package/shared/direction.js +20 -0
  155. package/shared/divider.js +55 -0
  156. package/shared/dom.js +8 -0
  157. package/shared/elevation.js +10 -0
  158. package/shared/enums.js +70 -0
  159. package/shared/es.object.assign.js +2 -59
  160. package/shared/es.promise.resolve.js +944 -0
  161. package/shared/es.regexp.to-string.js +58 -0
  162. package/shared/focus.js +11 -0
  163. package/shared/focus2.js +5 -0
  164. package/shared/form-associated.js +466 -0
  165. package/shared/form-elements.js +343 -0
  166. package/shared/icon.js +32 -1153
  167. package/shared/index.js +3780 -83
  168. package/shared/index2.js +7 -19
  169. package/shared/key-codes.js +97 -0
  170. package/shared/listbox-option.js +201 -0
  171. package/shared/menu-item.js +277 -0
  172. package/shared/numbers.js +25 -0
  173. package/shared/patterns/focus.d.ts +3 -0
  174. package/shared/patterns/form-elements/form-elements.d.ts +31 -0
  175. package/shared/patterns/form-elements/index.d.ts +1 -0
  176. package/shared/patterns/index.d.ts +2 -0
  177. package/shared/popup.js +1484 -0
  178. package/shared/radio.js +127 -0
  179. package/shared/ref.js +41 -0
  180. package/shared/slotted.js +1 -1
  181. package/shared/start-end.js +50 -0
  182. package/shared/string-trim.js +39 -0
  183. package/shared/text-anchor.js +2 -13
  184. package/shared/text-anchor.template.js +6 -5
  185. package/shared/utils/index.d.ts +1 -0
  186. package/side-drawer/index.js +38 -34
  187. package/slider/index.js +596 -0
  188. package/styles/core/all.css +86 -0
  189. package/styles/core/theme.css +11 -0
  190. package/styles/core/typography.css +80 -0
  191. package/styles/fonts/SpeziaCompleteVariableItalicWeb.woff2 +0 -0
  192. package/styles/fonts/SpeziaCompleteVariableUprightWeb.woff2 +0 -0
  193. package/styles/fonts/SpeziaMonoCompleteVariableWeb.woff2 +0 -0
  194. package/styles/fonts/spezia.css +9 -12
  195. package/styles/tokens/theme-dark.css +230 -0
  196. package/styles/tokens/theme-light.css +230 -0
  197. package/switch/index.js +153 -0
  198. package/text-anchor/index.js +8 -3
  199. package/text-area/index.js +288 -0
  200. package/text-field/index.js +129 -0
  201. package/tooltip/index.js +59 -43
  202. package/vivid.api.json +2979 -0
  203. package/lib/text/text.d.ts +0 -10
  204. package/shared/style-inject.es.js +0 -28
  205. package/shared/web.dom-collections.iterator.js +0 -1479
  206. package/sidenav-item/index.js +0 -38
  207. package/styles/themes/dark.css +0 -205
  208. package/styles/themes/light.css +0 -205
  209. package/text/index.js +0 -45
@@ -0,0 +1,214 @@
1
+ import '../shared/es.promise.resolve.js';
2
+ import { F as FoundationElement, Y as __classPrivateFieldGet, _ as __decorate, a as attr, b as __metadata, a9 as __classPrivateFieldSet, h as html, g as getPrefix, d as designSystem } from '../shared/index.js';
3
+ import { l as loadComponentsModules } from '../shared/index2.js';
4
+ import { w as when } from '../shared/when.js';
5
+ import { c as classNames } from '../shared/class-names.js';
6
+
7
+ var css_248z$1 = "dialog {\n position: absolute;\n left: 0; right: 0;\n width: -moz-fit-content;\n width: -webkit-fit-content;\n width: fit-content;\n height: -moz-fit-content;\n height: -webkit-fit-content;\n height: fit-content;\n margin: auto;\n border: solid;\n padding: 1em;\n background: white;\n color: black;\n display: block;\n}\n\ndialog:not([open]) {\n display: none;\n}\n\ndialog + .backdrop {\n position: fixed;\n top: 0; right: 0; bottom: 0; left: 0;\n background: rgba(0,0,0,0.1);\n}\n\n._dialog_overlay {\n position: fixed;\n top: 0; right: 0; bottom: 0; left: 0;\n}\n\ndialog.fixed {\n position: fixed;\n top: 50%;\n transform: translate(0, -50%);\n}";
8
+
9
+ var css_248z = "/**\n * Do not edit directly\n * Generated on Sun, 04 Dec 2022 15:37:45 GMT\n */\n.base {\n box-sizing: border-box;\n padding: 0;\n border: none;\n background: var(--_elevation-fill);\n border-radius: 6px;\n color: var(--vvd-color-canvas-text);\n max-block-size: var(--dialog-max-block-size, calc(100vh - 64px));\n max-inline-size: var(--dialog-max-inline-size);\n min-inline-size: var(--dialog-min-inline-size, 280px);\n overflow-x: hidden;\n overflow-y: auto;\n}\n@media not all and (min-width: 600px) {\n .base {\n --dialog-max-inline-size: 90vw;\n }\n}\n@media (min-width: 600px) {\n .base {\n --dialog-max-inline-size: 560px;\n }\n}\n.base:not(.modal) {\n z-index: var(--dialog-z-index, 1);\n}\n\n.main-wrapper {\n display: flex;\n flex-direction: column;\n padding: 24px;\n gap: 8px;\n}\n\n.header {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n gap: 4px;\n inline-size: 100%;\n}\n\n.dismiss-button {\n flex-shrink: 0;\n margin-top: -8px;\n margin-right: -8px;\n}\n\n.headline {\n font: var(--vvd-typography-heading-4);\n}\n.headline-wrapper {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n row-gap: 24px;\n}\n\n.content {\n font: var(--vvd-typography-base);\n}\n\n.icon {\n font-size: calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2) - 8));\n}";
10
+
11
+ var _Dialog_instances, _Dialog_modal, _Dialog_dialogElement, _Dialog_dialog_get, _Dialog_handleScrimClick, _Dialog_handleInternalFormSubmit, _Dialog_handleModal;
12
+ let dialogPolyfill;
13
+ (async () => {
14
+ if (!HTMLDialogElement || !HTMLDialogElement.prototype.showModal) {
15
+ delete window.HTMLDialogElement;
16
+ dialogPolyfill = await import('../shared/dialog-polyfill.esm.js');
17
+ }
18
+ })();
19
+ class Dialog extends FoundationElement {
20
+ constructor() {
21
+ super(...arguments);
22
+ _Dialog_instances.add(this);
23
+ this.open = false;
24
+ this.ariaLabelledBy = null;
25
+ this.ariaLabel = null;
26
+ this.ariaDescribedBy = null;
27
+ _Dialog_modal.set(this, false);
28
+ _Dialog_dialogElement.set(this, void 0);
29
+ _Dialog_handleScrimClick.set(this, event => {
30
+ if (event.target !== __classPrivateFieldGet(this, _Dialog_instances, "a", _Dialog_dialog_get)) {
31
+ return;
32
+ }
33
+ const rect = __classPrivateFieldGet(this, _Dialog_instances, "a", _Dialog_dialog_get).getBoundingClientRect();
34
+ const clickedInDialog = rect.top <= event.clientY && event.clientY <= rect.top + rect.height && rect.left <= event.clientX && event.clientX <= rect.left + rect.width;
35
+ this.open = clickedInDialog;
36
+ });
37
+ _Dialog_handleInternalFormSubmit.set(this, event => {
38
+ if (event.target.method !== 'dialog') {
39
+ return;
40
+ }
41
+ this.open = false;
42
+ });
43
+ }
44
+ set returnValue(value) {
45
+ __classPrivateFieldGet(this, _Dialog_instances, "a", _Dialog_dialog_get).returnValue = value;
46
+ }
47
+ get returnValue() {
48
+ var _a;
49
+ return (_a = __classPrivateFieldGet(this, _Dialog_instances, "a", _Dialog_dialog_get)) === null || _a === void 0 ? void 0 : _a.returnValue;
50
+ }
51
+ get modal() {
52
+ return __classPrivateFieldGet(this, _Dialog_modal, "f");
53
+ }
54
+ openChanged(oldValue, newValue) {
55
+ if (oldValue === undefined) {
56
+ return;
57
+ }
58
+ if (!newValue) {
59
+ this.close();
60
+ } else {
61
+ if (__classPrivateFieldGet(this, _Dialog_instances, "a", _Dialog_dialog_get)) {
62
+ __classPrivateFieldGet(this, _Dialog_instances, "a", _Dialog_dialog_get).open = true;
63
+ }
64
+ }
65
+ }
66
+ close() {
67
+ if (__classPrivateFieldGet(this, _Dialog_instances, "a", _Dialog_dialog_get).open) {
68
+ __classPrivateFieldGet(this, _Dialog_instances, "a", _Dialog_dialog_get).close();
69
+ this.dispatchEvent(new CustomEvent('close', {
70
+ bubbles: true,
71
+ composed: true,
72
+ detail: this.returnValue
73
+ }));
74
+ }
75
+ this.open = false;
76
+ __classPrivateFieldGet(this, _Dialog_instances, "m", _Dialog_handleModal).call(this, false);
77
+ }
78
+ show() {
79
+ __classPrivateFieldGet(this, _Dialog_instances, "a", _Dialog_dialog_get).show();
80
+ this.open = true;
81
+ }
82
+ showModal() {
83
+ __classPrivateFieldGet(this, _Dialog_instances, "a", _Dialog_dialog_get).showModal();
84
+ this.open = true;
85
+ __classPrivateFieldGet(this, _Dialog_instances, "m", _Dialog_handleModal).call(this, true);
86
+ }
87
+ connectedCallback() {
88
+ super.connectedCallback();
89
+ __classPrivateFieldGet(this, _Dialog_instances, "a", _Dialog_dialog_get).addEventListener('click', __classPrivateFieldGet(this, _Dialog_handleScrimClick, "f"));
90
+ __classPrivateFieldGet(this, _Dialog_instances, "a", _Dialog_dialog_get).addEventListener('submit', __classPrivateFieldGet(this, _Dialog_handleInternalFormSubmit, "f"));
91
+ }
92
+ disconnectedCallback() {
93
+ super.disconnectedCallback();
94
+ __classPrivateFieldGet(this, _Dialog_instances, "a", _Dialog_dialog_get).removeEventListener('click', __classPrivateFieldGet(this, _Dialog_handleScrimClick, "f"));
95
+ __classPrivateFieldGet(this, _Dialog_instances, "a", _Dialog_dialog_get).removeEventListener('submit', __classPrivateFieldGet(this, _Dialog_handleInternalFormSubmit, "f"));
96
+ }
97
+ }
98
+ _Dialog_modal = new WeakMap(), _Dialog_dialogElement = new WeakMap(), _Dialog_handleScrimClick = new WeakMap(), _Dialog_handleInternalFormSubmit = new WeakMap(), _Dialog_instances = new WeakSet(), _Dialog_dialog_get = function _Dialog_dialog_get() {
99
+ if (!__classPrivateFieldGet(this, _Dialog_dialogElement, "f")) {
100
+ __classPrivateFieldSet(this, _Dialog_dialogElement, this.shadowRoot.querySelector('dialog'), "f");
101
+ if (__classPrivateFieldGet(this, _Dialog_dialogElement, "f")) {
102
+ __classPrivateFieldGet(this, _Dialog_dialogElement, "f").open = this.open;
103
+ if (dialogPolyfill) {
104
+ dialogPolyfill.registerDialog(__classPrivateFieldGet(this, _Dialog_dialogElement, "f"));
105
+ }
106
+ }
107
+ }
108
+ return __classPrivateFieldGet(this, _Dialog_dialogElement, "f");
109
+ }, _Dialog_handleModal = function _Dialog_handleModal(show) {
110
+ __classPrivateFieldSet(this, _Dialog_modal, show, "f");
111
+ __classPrivateFieldGet(this, _Dialog_instances, "a", _Dialog_dialog_get).toggleAttribute('aria-modal', show);
112
+ __classPrivateFieldGet(this, _Dialog_instances, "a", _Dialog_dialog_get).classList.toggle('modal', show);
113
+ };
114
+ __decorate([attr({
115
+ mode: 'boolean'
116
+ }), __metadata("design:type", Object)], Dialog.prototype, "open", void 0);
117
+ __decorate([attr, __metadata("design:type", String)], Dialog.prototype, "icon", void 0);
118
+ __decorate([attr, __metadata("design:type", String)], Dialog.prototype, "text", void 0);
119
+ __decorate([attr, __metadata("design:type", String)], Dialog.prototype, "headline", void 0);
120
+ __decorate([attr({
121
+ attribute: 'aria-labelledby'
122
+ }), __metadata("design:type", Object)], Dialog.prototype, "ariaLabelledBy", void 0);
123
+ __decorate([attr({
124
+ attribute: 'aria-label'
125
+ }), __metadata("design:type", Object)], Dialog.prototype, "ariaLabel", void 0);
126
+ __decorate([attr({
127
+ attribute: 'aria-describedby'
128
+ }), __metadata("design:type", Object)], Dialog.prototype, "ariaDescribedBy", void 0);
129
+
130
+ let _2 = t => t,
131
+ _t,
132
+ _t2,
133
+ _t3,
134
+ _t4,
135
+ _t5;
136
+ const getClasses = _ => classNames('base');
137
+ function icon() {
138
+ return html(_t || (_t = _2`
139
+ <vwc-icon class="icon" name="${0}"></vwc-icon>
140
+ `), x => x.icon);
141
+ }
142
+ function headline() {
143
+ return html(_t2 || (_t2 = _2`
144
+ <div class="headline">
145
+ ${0}
146
+ </div>
147
+ `), x => x.headline);
148
+ }
149
+ function renderDismissButton() {
150
+ return html(_t3 || (_t3 = _2`
151
+ <vwc-button
152
+ size="condensed"
153
+ class="dismiss-button"
154
+ icon="close-line"
155
+ @click="${0}">
156
+ </vwc-button>`), x => {
157
+ x.open = false;
158
+ });
159
+ }
160
+ function handleEscapeKey(dialog, event) {
161
+ if (event.key === 'Escape' && dialog.modal) {
162
+ dialog.open = false;
163
+ }
164
+ }
165
+ function content() {
166
+ return html(_t4 || (_t4 = _2`
167
+ <div class="content">
168
+ ${0}
169
+ </div>
170
+ `), x => x.text);
171
+ }
172
+ const DialogTemplate = () => html(_t5 || (_t5 = _2`
173
+ <vwc-elevation dp="12">
174
+ <div>
175
+ <dialog class="${0}"
176
+ @keydown="${0}"
177
+ returnValue="${0}"
178
+ aria-labelledby="${0}"
179
+ aria-label="${0}"
180
+ aria-describedby="${0}"
181
+ >
182
+ <slot name="main">
183
+ <div class="main-wrapper">
184
+ <div class="header">
185
+ <div class="headline-wrapper">
186
+ <slot name="graphic">
187
+ ${0}
188
+ </slot>
189
+ ${0}
190
+ </div>
191
+ ${0}
192
+ </div>
193
+ <slot name="content">
194
+ ${0}
195
+ </slot>
196
+ <slot name="footer"></slot>
197
+ </div>
198
+ </slot>
199
+ </dialog>
200
+ </div>
201
+ </vwc-elevation>`), getClasses, (x, c) => handleEscapeKey(x, c.event), x => x.returnValue, x => x.ariaLabelledBy, x => x.ariaLabel, x => x.ariaDescribedBy, when(x => x.icon, icon()), when(x => x.headline, headline()), renderDismissButton(), when(x => x.text, content()));
202
+
203
+ const prefix = getPrefix(import.meta.url);
204
+ const vividDialog = Dialog.compose({
205
+ baseName: 'dialog',
206
+ template: DialogTemplate,
207
+ styles: [css_248z, css_248z$1]
208
+ });
209
+ (async () => {
210
+ await loadComponentsModules(['icon', 'button', 'elevation'], prefix);
211
+ designSystem.withPrefix(prefix).register(vividDialog());
212
+ })();
213
+
214
+ export { vividDialog };
@@ -0,0 +1,27 @@
1
+ import { h as html, d as designSystem, g as getPrefix } from '../shared/index.js';
2
+ import { D as Divider } from '../shared/divider.js';
3
+ import { c as classNames } from '../shared/class-names.js';
4
+ import '../shared/aria.js';
5
+
6
+ var css_248z = "/**\n * Do not edit directly\n * Generated on Sun, 04 Dec 2022 15:37:45 GMT\n */\n:host {\n display: block;\n}\n\n.base {\n display: block;\n background-color: var(--vvd-color-neutral-200);\n}\n.base:not(.vertical) {\n block-size: 1px;\n inline-size: 100%;\n}\n.base.vertical {\n block-size: 100%;\n inline-size: 1px;\n}";
7
+
8
+ let _ = t => t,
9
+ _t;
10
+ const getClasses = ({
11
+ orientation
12
+ }) => classNames('base', [`${orientation}`, Boolean(orientation)]);
13
+ const DividerTemplate = () => html(_t || (_t = _`
14
+ <span
15
+ class="${0}"
16
+ orientation="${0}"
17
+ role="${0}"
18
+ ></span>`), getClasses, x => x.orientation, x => x.role);
19
+
20
+ const vividDivider = Divider.compose({
21
+ baseName: 'divider',
22
+ template: DividerTemplate,
23
+ styles: css_248z
24
+ });
25
+ designSystem.withPrefix(getPrefix(import.meta.url)).register(vividDivider());
26
+
27
+ export { vividDivider };
@@ -1,31 +1,25 @@
1
- import { F as FoundationElement, _ as __decorate, a as attr, b as __metadata, h as html, d as designSystem } from '../shared/index.js';
2
- import { s as styleInject } from '../shared/style-inject.es.js';
1
+ import { h as html, d as designSystem, g as getPrefix } from '../shared/index.js';
2
+ import { E as Elevation } from '../shared/elevation.js';
3
3
  import { c as classNames } from '../shared/class-names.js';
4
4
 
5
- class Elevation extends FoundationElement {}
6
-
7
- __decorate([attr, __metadata("design:type", Number)], Elevation.prototype, "dp", void 0);
8
-
9
- var css_248z = ".control.dp-0 ::slotted(*) {\n background-color: var(--vvd-color-surface-0dp);\n filter: var(--vvd-shadow-surface-0dp);\n}\n.control.dp-2 ::slotted(*) {\n background-color: var(--vvd-color-surface-2dp);\n filter: var(--vvd-shadow-surface-2dp);\n}\n.control.dp-4 ::slotted(*) {\n background-color: var(--vvd-color-surface-4dp);\n filter: var(--vvd-shadow-surface-4dp);\n}\n.control.dp-8 ::slotted(*) {\n background-color: var(--vvd-color-surface-8dp);\n filter: var(--vvd-shadow-surface-8dp);\n}\n.control.dp-12 ::slotted(*) {\n background-color: var(--vvd-color-surface-12dp);\n filter: var(--vvd-shadow-surface-12dp);\n}\n.control.dp-16 ::slotted(*) {\n background-color: var(--vvd-color-surface-16dp);\n filter: var(--vvd-shadow-surface-16dp);\n}\n.control.dp-24 ::slotted(*) {\n background-color: var(--vvd-color-surface-24dp);\n filter: var(--vvd-shadow-surface-24dp);\n}\n.control:not(.dp-0, .dp-4, .dp-8, .dp-12, .dp-16, .dp-24) ::slotted(*) {\n background-color: var(--vvd-color-surface-2dp);\n filter: var(--vvd-shadow-surface-2dp);\n}";
10
- styleInject(css_248z);
5
+ var css_248z = ":host {\n display: contents;\n}\n\n.control {\n display: contents;\n}\n.control.dp-0 {\n --_elevation-fill: var(--vvd-color-surface-0dp);\n --_elevation-shadow: var(--vvd-shadow-surface-0dp);\n}\n.control.dp-4 {\n --_elevation-fill: var(--vvd-color-surface-4dp);\n --_elevation-shadow: var(--vvd-shadow-surface-4dp);\n}\n.control.dp-8 {\n --_elevation-fill: var(--vvd-color-surface-8dp);\n --_elevation-shadow: var(--vvd-shadow-surface-8dp);\n}\n.control.dp-12 {\n --_elevation-fill: var(--vvd-color-surface-12dp);\n --_elevation-shadow: var(--vvd-shadow-surface-12dp);\n}\n.control.dp-16 {\n --_elevation-fill: var(--vvd-color-surface-16dp);\n --_elevation-shadow: var(--vvd-shadow-surface-16dp);\n}\n.control.dp-24 {\n --_elevation-fill: var(--vvd-color-surface-24dp);\n --_elevation-shadow: var(--vvd-shadow-surface-24dp);\n}\n.control:not(.dp-0, .dp-4, .dp-8, .dp-12, .dp-16, .dp-24) {\n --_elevation-fill: var(--vvd-color-surface-2dp);\n --_elevation-shadow: var(--vvd-shadow-surface-2dp);\n}\n.control ::slotted(*) {\n background: var(--_elevation-fill);\n filter: var(--_elevation-shadow);\n transition: background-color 0.15s linear, filter 0.15s linear;\n}\n.control.no-shadow ::slotted(*) {\n filter: none;\n}";
11
6
 
12
7
  let _ = t => t,
13
- _t;
14
-
8
+ _t;
15
9
  const getClasses = ({
16
- dp
17
- }) => classNames('control', [`dp-${dp}`, Boolean(dp)]);
18
-
10
+ dp,
11
+ noShadow
12
+ }) => classNames('control', [`dp-${dp}`, Boolean(dp)], ['no-shadow', Boolean(noShadow)]);
19
13
  const elevationTemplate = () => html(_t || (_t = _`
20
14
  <div class="${0}" part="base">
21
15
  <slot></slot>
22
16
  </div>`), getClasses);
23
17
 
24
- const VIVIDElevation = Elevation.compose({
18
+ const vividElevation = Elevation.compose({
25
19
  baseName: 'elevation',
26
20
  template: elevationTemplate,
27
21
  styles: css_248z
28
22
  });
29
- designSystem.register(VIVIDElevation());
23
+ designSystem.withPrefix(getPrefix(import.meta.url)).register(vividElevation());
30
24
 
31
- export { VIVIDElevation };
25
+ export { vividElevation };
package/fab/index.js ADDED
@@ -0,0 +1,98 @@
1
+ import '../shared/es.promise.resolve.js';
2
+ import { _ as __decorate, a as attr, b as __metadata, h as html, g as getPrefix, d as designSystem } from '../shared/index.js';
3
+ import { l as loadComponentsModules } from '../shared/index2.js';
4
+ import { A as AffixIconWithTrailing, a as affixIconTemplateFactory } from '../shared/affix.js';
5
+ import { B as Button } from '../shared/button2.js';
6
+ import { a as applyMixins } from '../shared/apply-mixins.js';
7
+ import { f as focusTemplateFactory } from '../shared/focus.js';
8
+ import { r as ref } from '../shared/ref.js';
9
+ import { c as classNames } from '../shared/class-names.js';
10
+ import '../shared/icon.js';
11
+ import '../shared/string-trim.js';
12
+ import '../shared/_has.js';
13
+ import '../shared/form-associated.js';
14
+ import '../shared/key-codes.js';
15
+ import '../shared/aria-global.js';
16
+ import '../shared/start-end.js';
17
+ import '../shared/focus2.js';
18
+
19
+ var css_248z = "/**\n * Do not edit directly\n * Generated on Sun, 04 Dec 2022 15:37:45 GMT\n */\n.control {\n position: relative;\n display: inline-flex;\n box-sizing: border-box;\n align-items: center;\n border: 0 none;\n background: var(--_appearance-color-fill, var(--_elevation-fill));\n block-size: var(--_fab-block-size);\n border-radius: var(--_fab-border-radius);\n color: var(--_appearance-color-text, var(--vvd-color-canvas-text));\n column-gap: var(--fab-icon-gap);\n filter: var(--_elevation-shadow);\n font: var(--vvd-typography-base-bold);\n transition: background-color 0.15s linear, filter 0.15s linear;\n vertical-align: middle;\n /* Size */\n}\n.control.connotation-accent {\n --_connotation-color-primary: var(--vvd-color-canvas-text);\n --_connotation-color-primary-text: var(--vvd-color-canvas);\n --_connotation-color-primary-increment: var(--vvd-color-neutral-800);\n --_connotation-color-contrast: var(--vvd-color-neutral-800);\n --_connotation-color-fierce: var(--vvd-color-neutral-700);\n --_connotation-color-firm: var(--vvd-color-canvas-text);\n}\n.control.connotation-cta {\n --_connotation-color-primary: var(--vvd-color-cta-500);\n --_connotation-color-primary-text: var(--vvd-color-canvas);\n --_connotation-color-primary-increment: var(--vvd-color-cta-600);\n --_connotation-color-contrast: var(--vvd-color-cta-800);\n --_connotation-color-fierce: var(--vvd-color-cta-700);\n --_connotation-color-firm: var(--vvd-color-cta-600);\n}\n.control {\n --_appearance-color-text: var(--_connotation-color-primary-text);\n --_appearance-color-fill: var(--_connotation-color-primary);\n --_appearance-color-outline: transparent;\n}\n.control:where(:hover, .hover):where(:not(:disabled, .disabled, .readonly)) {\n --_appearance-color-text: var(--_connotation-color-primary-text);\n --_appearance-color-fill: var(--_connotation-color-primary-increment);\n --_appearance-color-outline: transparent;\n}\n.control:where(:disabled, .disabled) {\n --_appearance-color-text: var(--vvd-color-neutral-400);\n --_appearance-color-fill: var(--vvd-color-neutral-200);\n --_appearance-color-outline: transparent;\n}\n.control:where(:active, .active):where(:not(:disabled, .disabled)) {\n --_appearance-color-text: var(--_connotation-color-primary-text);\n --_appearance-color-fill: var(--_connotation-color-fierce);\n --_appearance-color-outline: transparent;\n}\n@supports selector(:focus-visible) {\n .control:focus {\n outline: none;\n }\n}\n@supports (user-select: none) {\n .control {\n user-select: none;\n }\n}\n.control.size-Expanded {\n --_fab-border-radius: 30px;\n --_fab-block-size: calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2) + 16));\n}\n.control:not(.size-expanded) {\n --_fab-border-radius: 24px;\n --_fab-block-size: calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2)));\n}\n.control.icon-only {\n border-radius: 50%;\n padding-inline: 0;\n place-content: center;\n}\n@supports (aspect-ratio: 1) {\n .control.icon-only {\n aspect-ratio: 1;\n }\n}\n@supports not (aspect-ratio: 1) {\n .control.icon-only {\n inline-size: var(--_fab-block-size);\n }\n}\n.control:not(.icon-only) {\n --fab-icon-gap: 10px;\n padding-inline: 20px;\n}\n.control:disabled {\n --_elevation-fill: var(--vvd-color-surface-0dp);\n --_elevation-shadow: var(--vvd-shadow-surface-0dp);\n cursor: not-allowed;\n}\n.control:not(:disabled) {\n --_elevation-fill: var(--vvd-color-surface-4dp);\n --_elevation-shadow: var(--vvd-shadow-surface-4dp);\n cursor: pointer;\n}\n.control:not(:disabled):hover {\n --_elevation-fill: var(--vvd-color-surface-12dp);\n --_elevation-shadow: var(--vvd-shadow-surface-12dp);\n}\n.control:not(:disabled):active {\n --_elevation-fill: var(--vvd-color-surface-24dp);\n --_elevation-shadow: var(--vvd-shadow-surface-24dp);\n}\n\n/* Icon */\n.icon-trailing .icon {\n order: 1;\n}\n.size-expanded .icon {\n font-size: 24px;\n}\n.icon:not(.size-expanded) .icon {\n font-size: 20px;\n}\n\n:not(:focus-visible) .focus-indicator {\n display: none;\n}";
20
+
21
+ class Fab extends Button {}
22
+ __decorate([attr, __metadata("design:type", String)], Fab.prototype, "connotation", void 0);
23
+ __decorate([attr, __metadata("design:type", String)], Fab.prototype, "size", void 0);
24
+ __decorate([attr, __metadata("design:type", String)], Fab.prototype, "label", void 0);
25
+ applyMixins(Fab, AffixIconWithTrailing);
26
+
27
+ let _ = t => t,
28
+ _t;
29
+ const getClasses = ({
30
+ connotation,
31
+ size,
32
+ icon,
33
+ label,
34
+ iconTrailing,
35
+ disabled
36
+ }) => classNames('control', [`connotation-${connotation}`, Boolean(connotation)], [`size-${size}`, Boolean(size)], ['icon-only', !label && !!icon], ['icon-trailing', iconTrailing], ['disabled', disabled]);
37
+ const FabTemplate = context => {
38
+ const affixIconTemplate = affixIconTemplateFactory(context);
39
+ const focusTemplate = focusTemplateFactory(context);
40
+ return html(_t || (_t = _`
41
+ <button
42
+ class="${0} "
43
+ ?autofocus="${0}"
44
+ ?disabled="${0}"
45
+ form="${0}"
46
+ formaction="${0}"
47
+ formenctype="${0}"
48
+ formmethod="${0}"
49
+ formnovalidate="${0}"
50
+ formtarget="${0}"
51
+ name="${0}"
52
+ type="${0}"
53
+ value="${0}"
54
+ aria-atomic="${0}"
55
+ aria-busy="${0}"
56
+ aria-controls="${0}"
57
+ aria-current="${0}"
58
+ aria-describedby="${0}"
59
+ aria-details="${0}"
60
+ aria-disabled="${0}"
61
+ aria-errormessage="${0}"
62
+ aria-expanded="${0}"
63
+ aria-flowto="${0}"
64
+ aria-haspopup="${0}"
65
+ aria-hidden="${0}"
66
+ aria-invalid="${0}"
67
+ aria-keyshortcuts="${0}"
68
+ aria-label="${0}"
69
+ aria-labelledby="${0}"
70
+ aria-live="${0}"
71
+ aria-owns="${0}"
72
+ aria-pressed="${0}"
73
+ aria-relevant="${0}"
74
+ aria-roledescription="${0}"
75
+ ${0}
76
+ >
77
+ ${0}
78
+ ${0}
79
+ ${0}
80
+ </button>
81
+ `), getClasses, x => x.autofocus, x => x.disabled, x => x.formId, x => x.formaction, x => x.formenctype, x => x.formmethod, x => x.formnovalidate, x => x.formtarget, x => x.name, x => x.type, x => x.value, x => x.ariaAtomic, x => x.ariaBusy, x => x.ariaControls, x => x.ariaCurrent, x => x.ariaDescribedby, x => x.ariaDetails, x => x.ariaDisabled, x => x.ariaErrormessage, x => x.ariaExpanded, x => x.ariaFlowto, x => x.ariaHaspopup, x => x.ariaHidden, x => x.ariaInvalid, x => x.ariaKeyshortcuts, x => x.ariaLabel, x => x.ariaLabelledby, x => x.ariaLive, x => x.ariaOwns, x => x.ariaPressed, x => x.ariaRelevant, x => x.ariaRoledescription, ref('control'), () => focusTemplate, x => affixIconTemplate(x.icon), x => x.label);
82
+ };
83
+
84
+ const prefix = getPrefix(import.meta.url);
85
+ const vividFab = Fab.compose({
86
+ baseName: 'fab',
87
+ template: FabTemplate,
88
+ styles: css_248z,
89
+ shadowOptions: {
90
+ delegatesFocus: true
91
+ }
92
+ });
93
+ (async () => {
94
+ await loadComponentsModules(['icon', 'focus'], prefix);
95
+ designSystem.withPrefix(prefix).register(vividFab());
96
+ })();
97
+
98
+ export { vividFab };
package/focus/index.js CHANGED
@@ -1,3 +1,18 @@
1
- import '../shared/index.js';
2
- export { V as VIVIDFocus } from '../shared/index2.js';
3
- import '../shared/style-inject.es.js';
1
+ import { h as html, d as designSystem, g as getPrefix } from '../shared/index.js';
2
+ import { F as Focus } from '../shared/focus2.js';
3
+
4
+ var css_248z = "/**\n * Do not edit directly\n * Generated on Sun, 04 Dec 2022 15:37:45 GMT\n */\n:host {\n display: contents;\n border-radius: inherit;\n}\n\n.control {\n position: absolute;\n z-index: 1;\n box-sizing: border-box;\n border-radius: inherit;\n box-shadow: inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);\n inset: var(--focus-inset, 0);\n outline: 2px solid var(--focus-stroke-color, var(--vvd-color-canvas-text));\n outline-offset: -2px;\n}";
5
+
6
+ let _ = t => t,
7
+ _t;
8
+ const focusTemplate = () => html(_t || (_t = _`
9
+ <span class="control"></span>`));
10
+
11
+ const vividFocus = Focus.compose({
12
+ baseName: 'focus',
13
+ template: focusTemplate,
14
+ styles: css_248z
15
+ });
16
+ designSystem.withPrefix(getPrefix(import.meta.url)).register(vividFocus());
17
+
18
+ export { vividFocus };
@@ -0,0 +1,63 @@
1
+ import '../shared/es.promise.resolve.js';
2
+ import { F as FoundationElement, _ as __decorate, a as attr, b as __metadata, h as html, g as getPrefix, d as designSystem } from '../shared/index.js';
3
+ import { l as loadComponentsModules } from '../shared/index2.js';
4
+ import { E as Elevation } from '../shared/elevation.js';
5
+ import { c as classNames } from '../shared/class-names.js';
6
+
7
+ var css_248z = "/**\n * Do not edit directly\n * Generated on Sun, 04 Dec 2022 15:37:45 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}";
8
+
9
+ class Header extends FoundationElement {
10
+ constructor() {
11
+ super(...arguments);
12
+ this.elevationShadow = false;
13
+ this.alternate = false;
14
+ }
15
+ }
16
+ __decorate([attr({
17
+ attribute: 'elevation-shadow',
18
+ mode: 'boolean'
19
+ }), __metadata("design:type", Object)], Header.prototype, "elevationShadow", void 0);
20
+ __decorate([attr({
21
+ mode: 'boolean'
22
+ }), __metadata("design:type", Object)], Header.prototype, "alternate", void 0);
23
+
24
+ let _ = t => t,
25
+ _t;
26
+ const getPartAlternate = ({
27
+ alternate
28
+ }) => classNames(['vvd-theme-alternate', Boolean(alternate)]);
29
+ const headerTemplate = context => {
30
+ const elevationTag = context.tagFor(Elevation);
31
+ return html(_t || (_t = _`
32
+ <${0} dp="4" ?no-shadow=${0}>
33
+ <header class="base" part="base">
34
+ <!-- a container is needed to distinguish the surface background color of the
35
+ element from its shadow when applying elevation with alternate -->
36
+ <div class="container" part="${0}">
37
+ <section class="header-content">
38
+ <slot></slot>
39
+ </section>
40
+ <section class="header-content">
41
+ <slot name="action-items"></slot>
42
+ </section>
43
+ </div>
44
+ </header>
45
+ </${0}>
46
+ <div class="app-content">
47
+ <slot name="app-content"></slot>
48
+ </div>
49
+ `), elevationTag, x => !x.elevationShadow, getPartAlternate, elevationTag);
50
+ };
51
+
52
+ const prefix = getPrefix(import.meta.url);
53
+ const vividHeader = Header.compose({
54
+ baseName: 'header',
55
+ template: headerTemplate,
56
+ styles: css_248z
57
+ });
58
+ (async () => {
59
+ await loadComponentsModules(['elevation'], prefix);
60
+ designSystem.withPrefix(prefix).register(vividHeader());
61
+ })();
62
+
63
+ export { vividHeader };
package/icon/index.js CHANGED
@@ -1,34 +1,31 @@
1
- import { h as html, d as designSystem } from '../shared/index.js';
2
- import { s as styleInject } from '../shared/style-inject.es.js';
1
+ import { h as html, d as designSystem, g as getPrefix } from '../shared/index.js';
3
2
  import { I as Icon } from '../shared/icon.js';
4
3
  import { w as when } from '../shared/when.js';
5
4
  import { c as classNames } from '../shared/class-names.js';
6
- import '../shared/web.dom-collections.iterator.js';
5
+ import '../shared/es.promise.resolve.js';
6
+ import '../shared/string-trim.js';
7
7
  import '../shared/_has.js';
8
8
 
9
- var css_248z = ":host {\n display: inline-block;\n vertical-align: sub;\n}\n\n.control {\n display: flex;\n margin: unset;\n color: currentColor;\n contain: strict;\n}\n.control.connotation-primary {\n --connotation: var(--vvd-color-primary);\n --on-connotation: var(--vvd-color-on-primary);\n}\n\n.control.connotation-announcement {\n --connotation: var(--vvd-color-announcement);\n --on-connotation: var(--vvd-color-on-announcement);\n}\n\n.control.connotation-cta {\n --connotation: var(--vvd-color-cta);\n --on-connotation: var(--vvd-color-on-cta);\n}\n\n.control.connotation-success {\n --connotation: var(--vvd-color-success);\n --on-connotation: var(--vvd-color-on-success);\n}\n\n.control.connotation-alert {\n --connotation: var(--vvd-color-alert);\n --on-connotation: var(--vvd-color-on-alert);\n}\n\n.control.connotation-info {\n --connotation: var(--vvd-color-info);\n --on-connotation: var(--vvd-color-on-info);\n}\n\n.control[class*=connotation] {\n color: var(--connotation);\n}\n\nsvg {\n margin: auto;\n block-size: inherit;\n inline-size: inherit;\n}\n\n/* Size */\n.control:not(.size-base-small):not(.size-base):not(.size-base-large) {\n block-size: 1em;\n inline-size: 1em;\n}\n\n.control.size-base-small {\n block-size: 16px;\n inline-size: 16px;\n}\n\n.control.size-base {\n block-size: 24px;\n inline-size: 24px;\n}\n\n.control.size-base-large {\n block-size: 32px;\n inline-size: 32px;\n}";
10
- styleInject(css_248z);
9
+ var css_248z = ":host {\n display: inline-block;\n vertical-align: sub;\n}\n\n.control {\n display: flex;\n margin: unset;\n block-size: var(--_icon-block-size);\n color: currentColor;\n contain: strict;\n inline-size: var(--_icon-block-size);\n}\n.control.connotation-accent {\n --_connotation-color-primary: var(--vvd-color-canvas-text);\n}\n.control.connotation-announcement {\n --_connotation-color-primary: var(--vvd-color-announcement-500);\n}\n.control.connotation-cta {\n --_connotation-color-primary: var(--vvd-color-cta-500);\n}\n.control.connotation-success {\n --_connotation-color-primary: var(--vvd-color-success-500);\n}\n.control.connotation-alert {\n --_connotation-color-primary: var(--vvd-color-alert-500);\n}\n.control.connotation-information {\n --_connotation-color-primary: var(--vvd-color-information-500);\n}\n.control.size--6 {\n --_icon-block-size: calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2)) - 1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2) - 16));\n}\n.control.size--5 {\n --_icon-block-size: calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2) - 20));\n}\n.control.size--4 {\n --_icon-block-size: calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2) - 16));\n}\n.control.size--3 {\n --_icon-block-size: calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2) - 12));\n}\n.control.size--2 {\n --_icon-block-size: calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2) - 8));\n}\n.control.size--1 {\n --_icon-block-size: calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2) - 4));\n}\n.control.size-0 {\n --_icon-block-size: calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2)));\n}\n.control.size-1 {\n --_icon-block-size: calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2) + 4));\n}\n.control.size-2 {\n --_icon-block-size: calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2) + 8));\n}\n.control.size-3 {\n --_icon-block-size: calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2) + 12));\n}\n.control.size-4 {\n --_icon-block-size: calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2) + 16));\n}\n.control.size-5 {\n --_icon-block-size: calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2) + 20));\n}\n.control:not(.size--6, .size--5, .size--4, .size--3, .size--2, .size--1, .size-0, .size-1, .size-2, .size-3, .size-4, .size-5) {\n --_icon-block-size: 1em;\n}\n\n.control[class*=connotation] {\n color: var(--_connotation-color-primary);\n}\n\nslot, svg, ::slotted(:where(svg, img)) {\n margin: auto;\n block-size: inherit;\n inline-size: inherit;\n}";
11
10
 
12
11
  let _ = t => t,
13
- _t,
14
- _t2;
15
-
12
+ _t,
13
+ _t2;
16
14
  const getClasses = ({
17
15
  connotation,
18
16
  size
19
17
  }) => classNames('control', [`connotation-${connotation}`, Boolean(connotation)], [`size-${size}`, Boolean(size)]);
20
-
21
18
  const iconTemplate = () => html(_t || (_t = _`
22
19
  <figure class="${0}">
23
- ${0}
20
+ <slot>${0}</slot>
24
21
  </figure>
25
- `), getClasses, when(x => x.svg, x => html(_t2 || (_t2 = _`${0}`), x.svg)));
22
+ `), getClasses, when(x => x._svg, x => html(_t2 || (_t2 = _`${0}`), x._svg)));
26
23
 
27
24
  const vividIcon = Icon.compose({
28
25
  baseName: 'icon',
29
26
  template: iconTemplate,
30
27
  styles: css_248z
31
28
  });
32
- designSystem.register(vividIcon());
29
+ designSystem.withPrefix(getPrefix(import.meta.url)).register(vividIcon());
33
30
 
34
31
  export { vividIcon };
package/index.js CHANGED
@@ -1,32 +1,78 @@
1
- export { vividTextAnchor } from './text-anchor/index.js';
2
- export { VIVIDBadge } from './badge/index.js';
3
- export { vividButton } from './button/index.js';
4
- export { V as VIVIDFocus } from './shared/index2.js';
5
- export { vividIcon } from './icon/index.js';
6
- export { VIVIDLayout } from './layout/index.js';
7
- export { VIVIDElevation } from './elevation/index.js';
8
- export { vividBreadcrumbItem } from './breadcrumb-item/index.js';
1
+ export { vividAccordion } from './accordion/index.js';
2
+ export { vividAccordionItem } from './accordion-item/index.js';
3
+ export { vividActionGroup } from './action-group/index.js';
4
+ export { vividAvatar } from './avatar/index.js';
5
+ export { vividBadge } from './badge/index.js';
6
+ export { vividBanner } from './banner/index.js';
9
7
  export { vividBreadcrumb } from './breadcrumb/index.js';
10
- export { VIVIDSideDrawer } from './side-drawer/index.js';
8
+ export { vividBreadcrumbItem } from './breadcrumb-item/index.js';
9
+ import './button/index.js';
11
10
  export { vividCalendar } from './calendar/index.js';
12
- export { VIVIDPopup } from './popup/index.js';
11
+ export { vividCalendarEvent } from './calendar-event/index.js';
12
+ export { vividCard } from './card/index.js';
13
+ export { vividCheckbox } from './checkbox/index.js';
14
+ export { vividElevation } from './elevation/index.js';
15
+ export { vividDialog } from './dialog/index.js';
16
+ export { vividDivider } from './divider/index.js';
17
+ export { vividFab } from './fab/index.js';
18
+ export { vividIcon } from './icon/index.js';
19
+ export { vividLayout } from './layout/index.js';
20
+ import './listbox/index.js';
21
+ export { vividListboxOption } from './option/index.js';
22
+ export { vividMenu } from './menu/index.js';
23
+ export { vividMenuItem } from './menu-item/index.js';
24
+ export { vividNav } from './nav/index.js';
25
+ export { vividNavDisclosure } from './nav-disclosure/index.js';
26
+ export { vividNavItem } from './nav-item/index.js';
27
+ export { vividNote } from './note/index.js';
28
+ export { vividPopup } from './popup/index.js';
29
+ export { vividProgress } from './progress/index.js';
30
+ export { vividProgressRing } from './progress-ring/index.js';
31
+ export { vividRadio } from './radio/index.js';
32
+ export { vividRadioGroup } from './radio-group/index.js';
33
+ export { vividSideDrawer } from './side-drawer/index.js';
34
+ export { vividSlider } from './slider/index.js';
35
+ export { vividSwitch } from './switch/index.js';
36
+ export { vividTextfield } from './text-field/index.js';
37
+ export { vividTextArea } from './text-area/index.js';
13
38
  export { vividTooltip } from './tooltip/index.js';
14
- export { vividBanner } from './banner/index.js';
15
- export { vividAccordionItem } from './accordion-item/index.js';
16
- export { vividAccordion } from './accordion/index.js';
17
- export { d as designSystem, p as provideVividDesignSystem } from './shared/index.js';
18
- import './shared/text-anchor.js';
19
- import './shared/web.dom-collections.iterator.js';
39
+ export { d as designSystem, g as getPrefix } from './shared/index.js';
40
+ import './shared/class-names.js';
41
+ import './shared/es.promise.resolve.js';
42
+ import './shared/index2.js';
20
43
  import './shared/affix.js';
21
44
  import './shared/icon.js';
45
+ import './shared/string-trim.js';
22
46
  import './shared/_has.js';
23
- import './shared/anchor.js';
24
47
  import './shared/apply-mixins.js';
25
- import './shared/aria-global.js';
26
- import './shared/text-anchor.template.js';
27
- import './shared/class-names.js';
28
- import './shared/style-inject.es.js';
48
+ import './shared/focus.js';
49
+ import './shared/focus2.js';
29
50
  import './shared/when.js';
30
- import './shared/breadcrumb-item.js';
51
+ import './shared/enums.js';
31
52
  import './shared/slotted.js';
53
+ import './shared/breadcrumb-item.js';
54
+ import './shared/anchor.js';
55
+ import './shared/aria-global.js';
56
+ import './shared/start-end.js';
57
+ import './shared/ref.js';
58
+ import './shared/text-anchor.template.js';
59
+ import './shared/button.js';
60
+ import './shared/button2.js';
61
+ import './shared/form-associated.js';
62
+ import './shared/key-codes.js';
63
+ import './shared/calendar-event.js';
32
64
  import './shared/es.object.assign.js';
65
+ import './shared/elevation.js';
66
+ import './shared/divider.js';
67
+ import './shared/aria.js';
68
+ import './shared/listbox-option.js';
69
+ import './shared/dom.js';
70
+ import './shared/numbers.js';
71
+ import './shared/menu-item.js';
72
+ import './shared/direction.js';
73
+ import './shared/popup.js';
74
+ import './shared/text-anchor.js';
75
+ import './shared/base-progress.js';
76
+ import './shared/radio.js';
77
+ import './shared/es.regexp.to-string.js';
78
+ import './shared/form-elements.js';