@pacem/pacem-ui 1.0.0-abel

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 (56) hide show
  1. package/LICENSE +191 -0
  2. package/NOTICE +4 -0
  3. package/dist/browser/pacem-ui.js +6343 -0
  4. package/dist/browser/pacem-ui.js.map +1 -0
  5. package/dist/browser/pacem-ui.min.js +2 -0
  6. package/dist/browser/pacem-ui.min.js.map +1 -0
  7. package/dist/bundle/pacem-ui.min.mjs +168 -0
  8. package/dist/bundle/pacem-ui.mjs +6276 -0
  9. package/dist/bundle/pacem-ui.mjs.map +7 -0
  10. package/dist/esm/adapter.js +360 -0
  11. package/dist/esm/anchor.js +149 -0
  12. package/dist/esm/balloon.js +583 -0
  13. package/dist/esm/binder.js +678 -0
  14. package/dist/esm/blade.js +31 -0
  15. package/dist/esm/bottom-sheet.js +277 -0
  16. package/dist/esm/button.js +100 -0
  17. package/dist/esm/buttonset.js +41 -0
  18. package/dist/esm/calendar.js +662 -0
  19. package/dist/esm/collapse.js +72 -0
  20. package/dist/esm/dialog-abstractions.js +61 -0
  21. package/dist/esm/dialog.js +102 -0
  22. package/dist/esm/divider.js +48 -0
  23. package/dist/esm/icon.js +131 -0
  24. package/dist/esm/image.js +109 -0
  25. package/dist/esm/index-components-ui.js +41 -0
  26. package/dist/esm/index-components.js +1 -0
  27. package/dist/esm/index-iife.js +3 -0
  28. package/dist/esm/index.js +1 -0
  29. package/dist/esm/infinite-scroller.js +137 -0
  30. package/dist/esm/iterative.js +45 -0
  31. package/dist/esm/lightbox-abstractions.js +6 -0
  32. package/dist/esm/lightbox.js +203 -0
  33. package/dist/esm/loader.js +100 -0
  34. package/dist/esm/markdown-svc.js +235 -0
  35. package/dist/esm/markdown.js +35 -0
  36. package/dist/esm/marquee.js +87 -0
  37. package/dist/esm/media-query.js +85 -0
  38. package/dist/esm/menu.js +165 -0
  39. package/dist/esm/pager.js +111 -0
  40. package/dist/esm/picture.js +157 -0
  41. package/dist/esm/progressbar.js +54 -0
  42. package/dist/esm/sidebar.js +60 -0
  43. package/dist/esm/slideshow.js +27 -0
  44. package/dist/esm/social-twitter.js +39 -0
  45. package/dist/esm/sticky-header.js +113 -0
  46. package/dist/esm/tabs.js +187 -0
  47. package/dist/esm/ticker.js +78 -0
  48. package/dist/esm/toast.js +171 -0
  49. package/dist/esm/toc.js +171 -0
  50. package/dist/esm/tuner.js +200 -0
  51. package/dist/esm/types.js +7 -0
  52. package/dist/esm/vibration.js +33 -0
  53. package/dist/esm/view.js +206 -0
  54. package/dist/esm/window.js +181 -0
  55. package/package.json +38 -0
  56. package/typings/index.d.ts +1165 -0
@@ -0,0 +1,31 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { P, CustomElement, Watch, Utils, PropertyConverters, Components } from '@pacem/pacem-core';
8
+ // namespace Pacem.Components.UI {
9
+ const OPEN_CSSCLASS = 'blade-open';
10
+ let PacemBladeElement = class PacemBladeElement extends Components.PacemElement {
11
+ propertyChangedCallback(name, old, val, first) {
12
+ super.propertyChangedCallback(name, old, val, first);
13
+ if (name === 'open') {
14
+ this._toggle(val);
15
+ }
16
+ }
17
+ _toggle(open = this.open) {
18
+ const fn = open ? Utils.addClass : Utils.removeClass;
19
+ fn(this, OPEN_CSSCLASS);
20
+ const eventName = open ? 'open' : 'close';
21
+ this.dispatchEvent(new Event(eventName));
22
+ }
23
+ };
24
+ __decorate([
25
+ Watch({ emit: false, converter: PropertyConverters.Boolean })
26
+ ], PacemBladeElement.prototype, "open", void 0);
27
+ PacemBladeElement = __decorate([
28
+ CustomElement({ tagName: P + '-blade', shadow: true })
29
+ ], PacemBladeElement);
30
+ export { PacemBladeElement };
31
+ //}
@@ -0,0 +1,277 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { P, PCSS, CustomElement, Watch, Utils, PropertyConverters, Components, preventDefaultHandler, ViewChild, CustomElementUtils, UI } from '@pacem/pacem-core';
8
+ // namespace Pacem.Components.UI {
9
+ const OPEN_CSSCLASS = 'bottom-sheet-open';
10
+ let PacemBottomSheetHandleElement = class PacemBottomSheetHandleElement extends Components.PacemElement {
11
+ constructor() {
12
+ super(...arguments);
13
+ this._clickHandler = (evt) => {
14
+ const bs = this.#bottomSheet;
15
+ bs.open = !bs.open;
16
+ };
17
+ }
18
+ viewActivatedCallback() {
19
+ super.viewActivatedCallback();
20
+ this._setIcon();
21
+ this._toggleHandle();
22
+ this.#bottomSheet = CustomElementUtils.findAncestorOfType(this, PacemBottomSheetElement);
23
+ this._bindToBottomSheet();
24
+ }
25
+ propertyChangedCallback(name, old, val, first) {
26
+ super.propertyChangedCallback(name, old, val, first);
27
+ if (first) {
28
+ return;
29
+ }
30
+ switch (name) {
31
+ case 'iconGlyph':
32
+ this._setIcon(val);
33
+ break;
34
+ case 'disabled':
35
+ this._toggleHandle(val);
36
+ break;
37
+ }
38
+ }
39
+ disconnectedCallback() {
40
+ this.removeEventListener('click', this._clickHandler);
41
+ const bs = this.#bottomSheet;
42
+ if (!Utils.isNull(bs)) {
43
+ bs._setHandle(null);
44
+ }
45
+ this.#bottomSheet = null;
46
+ super.disconnectedCallback();
47
+ }
48
+ #bottomSheet;
49
+ _bindToBottomSheet() {
50
+ const bs = this.#bottomSheet;
51
+ if (Utils.isNull(bs)) {
52
+ return;
53
+ }
54
+ const id = Utils.isNullOrEmpty(this.id) ? (this.id = ('handle_' + Utils.uniqueCode())) : this.id;
55
+ bs._setHandle(this);
56
+ this.addEventListener('click', this._clickHandler, false);
57
+ }
58
+ _toggleHandle(disabled = this.disabled) {
59
+ this.style.pointerEvents = disabled ? 'none' : '';
60
+ }
61
+ _setIcon(icon = this.iconGlyph) {
62
+ const ic = this._icon;
63
+ if (!Utils.isNull(ic)) {
64
+ ic.icon = icon ?? 'horizontal_rule';
65
+ }
66
+ }
67
+ };
68
+ __decorate([
69
+ ViewChild(P + '-icon')
70
+ ], PacemBottomSheetHandleElement.prototype, "_icon", void 0);
71
+ __decorate([
72
+ Watch({ emit: false, converter: PropertyConverters.String })
73
+ ], PacemBottomSheetHandleElement.prototype, "iconGlyph", void 0);
74
+ PacemBottomSheetHandleElement = __decorate([
75
+ CustomElement({
76
+ tagName: P + '-bottom-sheet-handle', shadow: false, template: `<div class="bottom-sheet-handle">
77
+ <${P}-icon class="icon-size icon-size-6"></${P}-icon>
78
+ </div>`
79
+ })
80
+ ], PacemBottomSheetHandleElement);
81
+ export { PacemBottomSheetHandleElement };
82
+ let PacemBottomSheetElement = class PacemBottomSheetElement extends Components.PacemElement {
83
+ constructor() {
84
+ super(...arguments);
85
+ this._resizeHandler = (evt) => {
86
+ this._rebuildSwiperSnaps();
87
+ this._setPosition();
88
+ };
89
+ this._panHandler = (e) => {
90
+ const snap = this._swiper.snaps.find(s => s != 0);
91
+ const { delta } = e.detail;
92
+ let pct = (snap < 0 ? delta.clamp(snap, 0) : delta.clamp(0, snap)) / snap;
93
+ if (snap > 0) {
94
+ pct = 1 - pct;
95
+ }
96
+ // console.log(`snap ${snap} - delta ${delta} - pct: ${pct * 100}%`);
97
+ const sqr = 6 * (pct ** 2);
98
+ this.style.backdropFilter = `blur(${sqr.toFixed(2)}px)`;
99
+ };
100
+ this._swipeHandler = (e) => {
101
+ preventDefaultHandler(e);
102
+ switch (e.type) {
103
+ case UI.SwipeEventType.SwipeAnimationEnd:
104
+ this.style.backdropFilter = '';
105
+ return;
106
+ case UI.SwipeEventType.SwipeUpAnimationEnd:
107
+ this.open = true;
108
+ break;
109
+ case UI.SwipeEventType.SwipeDownAnimationEnd:
110
+ this.open = false;
111
+ break;
112
+ }
113
+ this._setPosition();
114
+ };
115
+ }
116
+ propertyChangedCallback(name, old, val, first) {
117
+ super.propertyChangedCallback(name, old, val, first);
118
+ if (first) {
119
+ return;
120
+ }
121
+ switch (name) {
122
+ case 'open':
123
+ this._toggle(val);
124
+ this._rebuildSwiperSnaps(val);
125
+ break;
126
+ case 'logger':
127
+ this._assignLogger(val);
128
+ break;
129
+ case 'disabled':
130
+ this._toggleSwiper(val);
131
+ break;
132
+ }
133
+ }
134
+ _toggleSwiper(disabled = this.disabled) {
135
+ const swiper = this._swiper;
136
+ if (!Utils.isNull(swiper)) {
137
+ swiper.disabled = disabled;
138
+ }
139
+ }
140
+ /** @internal */
141
+ _setHandle(handle) {
142
+ if (Utils.isNull(handle)) {
143
+ this._swiper.handleSelector = null;
144
+ }
145
+ else {
146
+ this._swiper.handleSelector = `#${handle.id}`;
147
+ }
148
+ this._handleResizer.target = handle;
149
+ }
150
+ _assignLogger(v = this.logger) {
151
+ this._swiper.logger = v;
152
+ }
153
+ _rebuildSwiperSnaps(open = this.open) {
154
+ const swiper = this._swiper;
155
+ const snap = this._getSnap(open);
156
+ swiper.snaps = [0, snap].sort();
157
+ }
158
+ viewActivatedCallback() {
159
+ super.viewActivatedCallback();
160
+ this._assignLogger();
161
+ this._resizer.addEventListener(Components.ResizeEventName, this._resizeHandler);
162
+ this._handleResizer.addEventListener(Components.ResizeEventName, this._resizeHandler);
163
+ const swiper = this._swiper;
164
+ swiper.addEventListener(UI.SwipeEventType.Pan, this._panHandler, false);
165
+ swiper.addEventListener(UI.SwipeEventType.SwipeAnimationEnd, this._swipeHandler, false);
166
+ swiper.addEventListener(UI.SwipeEventType.SwipeUpAnimationEnd, this._swipeHandler, false);
167
+ swiper.addEventListener(UI.SwipeEventType.SwipeDownAnimationEnd, this._swipeHandler, false);
168
+ this._toggle();
169
+ this._rebuildSwiperSnaps();
170
+ this._toggleSwiper();
171
+ }
172
+ disconnectedCallback() {
173
+ const resizer = this._resizer;
174
+ if (!Utils.isNull(resizer)) {
175
+ resizer.removeEventListener(Components.ResizeEventName, this._resizeHandler);
176
+ }
177
+ const handleResizer = this._handleResizer;
178
+ if (!Utils.isNull(resizer)) {
179
+ handleResizer.removeEventListener(Components.ResizeEventName, this._resizeHandler);
180
+ }
181
+ const swiper = this._swiper;
182
+ if (!Utils.isNull(swiper)) {
183
+ swiper.removeEventListener(UI.SwipeEventType.Pan, this._panHandler);
184
+ swiper.removeEventListener(UI.SwipeEventType.SwipeAnimationEnd, this._swipeHandler);
185
+ swiper.removeEventListener(UI.SwipeEventType.SwipeUpAnimationEnd, this._swipeHandler);
186
+ swiper.removeEventListener(UI.SwipeEventType.SwipeDownAnimationEnd, this._swipeHandler);
187
+ }
188
+ super.disconnectedCallback();
189
+ }
190
+ /**
191
+ * Snap (other than 0 := current position) given the current state.
192
+ * Anchor point for sheet is the top of the page, so snap is computed accordingly.
193
+ * @param ope
194
+ * @returns
195
+ */
196
+ _getSnap(open = this.open) {
197
+ const resizer = this._resizer;
198
+ const handleResizer = this._handleResizer;
199
+ if (Utils.isNull(resizer) || Utils.isNull(handleResizer)) {
200
+ return 0;
201
+ }
202
+ const { top: y } = Utils.naturalOffset(resizer.target), { top: hY } = Utils.naturalOffset(handleResizer.target);
203
+ const { height } = resizer.currentSize;
204
+ const { height: hHeight } = handleResizer.currentSize;
205
+ const { height: wHeight } = Utils.windowSize;
206
+ const openSnap /* target to open state */ = Math.max(parseInt(Utils.Css.getVariableValue(`--${PCSS}-layout-header-height`)), wHeight - (height ?? 0)), closedSnap /* target to closed state */ = (wHeight - ((y ?? 0) - (hY ?? 0) + (hHeight ?? 0)));
207
+ const sign = open ? 1 : -1;
208
+ return sign * Math.abs(openSnap - closedSnap);
209
+ }
210
+ /**
211
+ * Css transform to be applied to the sheet in order to have UI consistent with open state.
212
+ * Anchor point for sheet is the bottom of the page, so CSS transform is applied accordingly.
213
+ * @param open
214
+ * @returns
215
+ */
216
+ _getCssTransform(open = this.open) {
217
+ const resizer = this._resizer;
218
+ const handleResizer = this._handleResizer;
219
+ if (Utils.isNull(resizer) || Utils.isNull(handleResizer)) {
220
+ return '';
221
+ }
222
+ if (open) {
223
+ const retval = `translate3d(0, max(var(--${PCSS}-layout-header-height), calc(100vh - 100%)), 0)`;
224
+ return retval;
225
+ }
226
+ else {
227
+ const { top: y } = Utils.naturalOffset(resizer.target), { top: hY, height: hHeight } = Utils.naturalOffset(handleResizer.target);
228
+ const gap = (-(y ?? 0) + (hY ?? 0)) + (hHeight ?? 0);
229
+ const retval = `translate3d(0, calc(100vh - ${gap}px), 0)`;
230
+ // console.log(retval);
231
+ return retval;
232
+ }
233
+ }
234
+ _setPosition(open = this.open) {
235
+ const sheet = this._sheet;
236
+ const transform = this._getCssTransform(open);
237
+ sheet.style.transform = transform;
238
+ //this.style.setProperty(`--${PCSS}-bottom-sheet-transform`, transform);
239
+ }
240
+ _toggle(open = this.open) {
241
+ const fn = open ? Utils.addClass : Utils.removeClass;
242
+ fn(this, OPEN_CSSCLASS);
243
+ //this._sheet.style.animation = '';
244
+ this._sheet.style.transform = '';
245
+ //this.style.setProperty(`--${PCSS}-bottom-sheet-transform`, '');
246
+ const eventName = open ? 'open' : 'close';
247
+ this.dispatchEvent(new Event(eventName));
248
+ }
249
+ };
250
+ __decorate([
251
+ ViewChild(P + '-swipe')
252
+ ], PacemBottomSheetElement.prototype, "_swiper", void 0);
253
+ __decorate([
254
+ ViewChild(P + '-resize')
255
+ ], PacemBottomSheetElement.prototype, "_resizer", void 0);
256
+ __decorate([
257
+ ViewChild(P + '-resize[handle]')
258
+ ], PacemBottomSheetElement.prototype, "_handleResizer", void 0);
259
+ __decorate([
260
+ ViewChild(P + '-panel.bottom-sheet')
261
+ ], PacemBottomSheetElement.prototype, "_sheet", void 0);
262
+ __decorate([
263
+ Watch({ emit: false, converter: PropertyConverters.Boolean })
264
+ ], PacemBottomSheetElement.prototype, "open", void 0);
265
+ PacemBottomSheetElement = __decorate([
266
+ CustomElement({
267
+ tagName: P + '-bottom-sheet', shadow: false /* css priority would be a mess otherwise */, template: `
268
+ <${P}-swipe direction="vertical" options='{ "bouncy": false }'></${P}-swipe>
269
+ <${P}-resize target="{{ ::_sheet }}"></${P}-resize>
270
+ <${P}-resize handle></${P}-resize>
271
+ <${P}-panel class="bottom-sheet" behaviors="{{ [::_swiper] }}">
272
+ <${P}-content></${P}-content>
273
+ </${P}-panel>`
274
+ })
275
+ ], PacemBottomSheetElement);
276
+ export { PacemBottomSheetElement };
277
+ //}
@@ -0,0 +1,100 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { P, PCSS, CustomElement, Watch, Utils, PropertyConverters, Components, CommandEvent } from '@pacem/pacem-core';
8
+ import { DialogButton } from './dialog-abstractions';
9
+ //namespace Pacem.Components.UI {
10
+ let PacemButtonElement = class PacemButtonElement extends Components.PacemIterableElement {
11
+ constructor() {
12
+ super('button');
13
+ }
14
+ connectedCallback() {
15
+ super.connectedCallback();
16
+ if (!this.hasAttribute('tab-order')) {
17
+ this.tabOrder = 0;
18
+ }
19
+ }
20
+ propertyChangedCallback(name, old, val, first) {
21
+ super.propertyChangedCallback(name, old, val, first);
22
+ switch (name) {
23
+ case 'iconGlyph':
24
+ // suppose ligatures enabled
25
+ case 'iconUrl':
26
+ // handle this via css attr(), considering that it's the proper way to access and modify pseudo::before content
27
+ this.dataset[name] = val;
28
+ break;
29
+ }
30
+ }
31
+ emit(evt) {
32
+ let fn = (ev) => {
33
+ super.emit(ev);
34
+ if (!ev.defaultPrevented) {
35
+ if (ev.type === 'click' && !Utils.isNullOrEmpty(this.commandName)) {
36
+ this.dispatchEvent(new CommandEvent({ commandName: this.commandName, commandArgument: this.commandArgument }));
37
+ }
38
+ else {
39
+ switch (ev.type) {
40
+ case 'mousedown':
41
+ if (evt.button === 0) {
42
+ Utils.addClass(this, PCSS + '-active');
43
+ }
44
+ break;
45
+ case 'keydown':
46
+ if (ev.keyCode === 32 || ev.keyCode === 13) {
47
+ evt.preventDefault();
48
+ Utils.addClass(this, PCSS + '-active');
49
+ }
50
+ break;
51
+ case 'blur':
52
+ case 'mouseup':
53
+ Utils.removeClass(this, PCSS + '-active');
54
+ break;
55
+ case 'keyup':
56
+ if (ev.keyCode === 32 || ev.keyCode === 13) {
57
+ this.click();
58
+ Utils.removeClass(this, PCSS + '-active');
59
+ }
60
+ break;
61
+ }
62
+ }
63
+ }
64
+ };
65
+ if (!this.disabled && evt.type === 'click' && !Utils.isNull(this.confirmationDialog)) {
66
+ this.confirmationDialog.open(this.confirmationMessage).then(r => {
67
+ if (r.button === DialogButton.Yes || r.button === DialogButton.Ok)
68
+ fn(evt);
69
+ });
70
+ }
71
+ else if (!(evt instanceof MouseEvent) || evt.button === 0) {
72
+ fn(evt);
73
+ }
74
+ }
75
+ };
76
+ __decorate([
77
+ Watch({ emit: false, converter: PropertyConverters.String })
78
+ ], PacemButtonElement.prototype, "iconGlyph", void 0);
79
+ __decorate([
80
+ Watch({ emit: false, converter: PropertyConverters.String })
81
+ ], PacemButtonElement.prototype, "iconUrl", void 0);
82
+ __decorate([
83
+ Watch({ emit: false, converter: PropertyConverters.String })
84
+ ], PacemButtonElement.prototype, "commandName", void 0);
85
+ __decorate([
86
+ Watch({ emit: false, converter: PropertyConverters.Json })
87
+ ], PacemButtonElement.prototype, "commandArgument", void 0);
88
+ __decorate([
89
+ Watch({ emit: false, converter: PropertyConverters.String })
90
+ ], PacemButtonElement.prototype, "confirmationMessage", void 0);
91
+ __decorate([
92
+ Watch({ emit: false, converter: PropertyConverters.Element })
93
+ ], PacemButtonElement.prototype, "confirmationDialog", void 0);
94
+ PacemButtonElement = __decorate([
95
+ CustomElement({
96
+ tagName: P + '-button'
97
+ })
98
+ ], PacemButtonElement);
99
+ export { PacemButtonElement };
100
+ //}
@@ -0,0 +1,41 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { P, CustomElement, Components } from '@pacem/pacem-core';
8
+ import { PacemButtonElement } from './button';
9
+ //namespace Pacem.Components.UI {
10
+ let PacemButtonsetElement = class PacemButtonsetElement extends Components.PacemIterativeElement {
11
+ connectedCallback() {
12
+ super.connectedCallback();
13
+ if (!('tabindex' in this.attributes))
14
+ this.tabIndex = 0;
15
+ }
16
+ propertyChangedCallback(name, old, val, first) {
17
+ super.propertyChangedCallback(name, old, val, first);
18
+ switch (name) {
19
+ case 'index':
20
+ let ndx = 0;
21
+ for (var btn of this.items) {
22
+ if (ndx == val) {
23
+ btn.focus();
24
+ break;
25
+ }
26
+ ndx++;
27
+ }
28
+ break;
29
+ }
30
+ }
31
+ validate(item) {
32
+ return item instanceof PacemButtonElement;
33
+ }
34
+ };
35
+ PacemButtonsetElement = __decorate([
36
+ CustomElement({
37
+ tagName: P + '-buttonset'
38
+ })
39
+ ], PacemButtonsetElement);
40
+ export { PacemButtonsetElement };
41
+ //}