@pacem/pacem-ui 1.0.0-bernoulli → 1.0.0-binet
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.
- package/dist/browser/pacem-ui.js +166 -20
- package/dist/browser/pacem-ui.js.map +1 -1
- package/dist/browser/pacem-ui.min.js +2 -3
- package/dist/bundle/pacem-ui.min.mjs +32 -32
- package/dist/bundle/pacem-ui.mjs +95 -45
- package/dist/bundle/pacem-ui.mjs.map +3 -3
- package/dist/docs/pacem-ui.json +18628 -0
- package/dist/esm/adapter.js +10 -13
- package/dist/esm/anchor.js +3 -2
- package/dist/esm/balloon.js +9 -1
- package/dist/esm/binder.js +11 -1
- package/dist/esm/blade.js +2 -1
- package/dist/esm/bottom-sheet.js +12 -6
- package/dist/esm/button.js +2 -1
- package/dist/esm/buttonset.js +2 -1
- package/dist/esm/calendar.js +19 -1
- package/dist/esm/collapse.js +2 -1
- package/dist/esm/dialog-abstractions.js +8 -1
- package/dist/esm/dialog.js +8 -2
- package/dist/esm/divider.js +2 -1
- package/dist/esm/icon.js +2 -1
- package/dist/esm/image.js +2 -1
- package/dist/esm/index-components-ui.js +1 -1
- package/dist/esm/index-components.js +1 -1
- package/dist/esm/index-iife.js +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/infinite-scroller.js +3 -1
- package/dist/esm/iterative.js +6 -1
- package/dist/esm/lightbox-abstractions.js +2 -1
- package/dist/esm/lightbox.js +2 -1
- package/dist/esm/loader.js +3 -1
- package/dist/esm/markdown-svc.js +4 -1
- package/dist/esm/markdown.js +4 -1
- package/dist/esm/marquee.js +2 -1
- package/dist/esm/media-query.js +2 -1
- package/dist/esm/menu.js +4 -1
- package/dist/esm/pager.js +2 -1
- package/dist/esm/picture.js +4 -1
- package/dist/esm/progressbar.js +2 -1
- package/dist/esm/sidebar.js +4 -1
- package/dist/esm/slideshow.js +3 -1
- package/dist/esm/social-twitter.js +2 -1
- package/dist/esm/sticky-header.js +5 -1
- package/dist/esm/tabs.js +4 -1
- package/dist/esm/ticker.js +2 -1
- package/dist/esm/toast.js +12 -1
- package/dist/esm/toc.js +2 -1
- package/dist/esm/tuner.js +4 -1
- package/dist/esm/types.js +2 -1
- package/dist/esm/vibration.js +3 -1
- package/dist/esm/view.js +26 -3
- package/dist/esm/window.js +5 -1
- package/package.json +2 -1
- package/typings/index.d.ts +244 -2
- package/dist/browser/pacem-ui.min.js.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* @pacem/pacem-ui v1.0.0-
|
|
2
|
+
* @pacem/pacem-ui v1.0.0-binet (https://js.pacem.it)
|
|
3
3
|
* Pacem (https://pacem.it)
|
|
4
4
|
* Licensed under Apache-2.0
|
|
5
5
|
*/
|
|
@@ -11,6 +11,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
11
11
|
};
|
|
12
12
|
import { P, Debounce, CustomElement, Watch, Utils, PropertyConverters, PacemEventTarget } from '@pacem/pacem-core';
|
|
13
13
|
//namespace Pacem.Components.UI {
|
|
14
|
+
/** Watches a scrollable `container` and dispatches a `fetchmore` event whenever the user scrolls within `threshold` pixels of the bottom. */
|
|
14
15
|
let PacemInfiniteScrollerElement = class PacemInfiniteScrollerElement extends PacemEventTarget {
|
|
15
16
|
constructor() {
|
|
16
17
|
super();
|
|
@@ -51,6 +52,7 @@ let PacemInfiniteScrollerElement = class PacemInfiniteScrollerElement extends Pa
|
|
|
51
52
|
break;
|
|
52
53
|
}
|
|
53
54
|
}
|
|
55
|
+
/** Re-targets the watched scroll container/viewport/scroll-event-source. @param v An element, a CSS selector, or `'$document'` for the whole page. */
|
|
54
56
|
setInfiniteScrollContainer(v = '$document') {
|
|
55
57
|
var cont = v;
|
|
56
58
|
var isDoc = this._isDocument = cont === '$document' || cont === document.body || cont === document.documentElement;
|
package/dist/esm/iterative.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* @pacem/pacem-ui v1.0.0-
|
|
2
|
+
* @pacem/pacem-ui v1.0.0-binet (https://js.pacem.it)
|
|
3
3
|
* Pacem (https://pacem.it)
|
|
4
4
|
* Licensed under Apache-2.0
|
|
5
5
|
*/
|
|
@@ -11,21 +11,26 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
11
11
|
};
|
|
12
12
|
import { Watch, Utils, PropertyConverters, Components } from '@pacem/pacem-core';
|
|
13
13
|
//namespace Pacem.Components.UI {
|
|
14
|
+
/** Base class for elements iterating a `datasource` under the control of a {@link PacemAdapterElement} (e.g. a slideshow), exposing `index`-relative helpers (`isPrevious`, `isNext`, `isCloseTo`). */
|
|
14
15
|
export class PacemAdaptedIterativeElement extends Components.PacemElement {
|
|
15
16
|
constructor() {
|
|
16
17
|
super(...arguments);
|
|
18
|
+
/** Gets or sets the currently focused item's index within `datasource`. */
|
|
17
19
|
this.index = 0;
|
|
18
20
|
}
|
|
21
|
+
/** Gets whether `ndx` is the focused item itself, or immediately adjacent (previous/next, wrapping around) to `focusndx`. */
|
|
19
22
|
isCloseTo(ndx, focusndx) {
|
|
20
23
|
if (Utils.isNull(this.datasource) || this.datasource.length == 0)
|
|
21
24
|
return false;
|
|
22
25
|
return /*this.adapter.isClose(ndx) ||*/ this._isCloseToCore(ndx, focusndx, this.datasource.length);
|
|
23
26
|
}
|
|
27
|
+
/** Gets whether `ndx` is the item immediately preceding `focusndx` (wrapping around the datasource). */
|
|
24
28
|
isPrevious(ndx, focusndx) {
|
|
25
29
|
if (Utils.isNull(this.datasource) || this.datasource.length == 0)
|
|
26
30
|
return false;
|
|
27
31
|
return /*this.adapter.isPrevious(ndx) ||*/ this._isPreviousCore(ndx, focusndx, this.datasource.length);
|
|
28
32
|
}
|
|
33
|
+
/** Gets whether `ndx` is the item immediately following `focusndx` (wrapping around the datasource). */
|
|
29
34
|
isNext(ndx, focusndx) {
|
|
30
35
|
if (Utils.isNull(this.datasource) || this.datasource.length == 0)
|
|
31
36
|
return false;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* @pacem/pacem-ui v1.0.0-
|
|
2
|
+
* @pacem/pacem-ui v1.0.0-binet (https://js.pacem.it)
|
|
3
3
|
* Pacem (https://pacem.it)
|
|
4
4
|
* Licensed under Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
//namespace Pacem.Components.UI {
|
|
7
|
+
/** How a {@link Lightbox} reacts to a click outside its content. */
|
|
7
8
|
export var LightboxBehavior;
|
|
8
9
|
(function (LightboxBehavior) {
|
|
9
10
|
LightboxBehavior["ClickOutsideClose"] = "clickOutsideClose";
|
package/dist/esm/lightbox.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* @pacem/pacem-ui v1.0.0-
|
|
2
|
+
* @pacem/pacem-ui v1.0.0-binet (https://js.pacem.it)
|
|
3
3
|
* Pacem (https://pacem.it)
|
|
4
4
|
* Licensed under Apache-2.0
|
|
5
5
|
*/
|
|
@@ -14,6 +14,7 @@ import { LightboxBehavior } from './lightbox-abstractions';
|
|
|
14
14
|
import { PacemButtonElement } from './button';
|
|
15
15
|
//namespace Pacem.Components.UI {
|
|
16
16
|
// TODO: shadow-ize lightbox (slots, parts, ...) in the next version 0.5x.x.
|
|
17
|
+
/** Full-viewport overlay ("lightbox") element showing its slotted content above a backdrop, with an auto-injected close button and optional modal (non-dismissible) behavior. */
|
|
17
18
|
let PacemLightboxElement = class PacemLightboxElement extends Components.PacemElement {
|
|
18
19
|
constructor() {
|
|
19
20
|
super(...arguments);
|
package/dist/esm/loader.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* @pacem/pacem-ui v1.0.0-
|
|
2
|
+
* @pacem/pacem-ui v1.0.0-binet (https://js.pacem.it)
|
|
3
3
|
* Pacem (https://pacem.it)
|
|
4
4
|
* Licensed under Apache-2.0
|
|
5
5
|
*/
|
|
@@ -11,6 +11,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
11
11
|
};
|
|
12
12
|
import { P, PCSS, CustomElement, Watch, ViewChild, Utils, PropertyConverters, Components, Defaults } from '@pacem/pacem-core';
|
|
13
13
|
//namespace Pacem.Components.UI {
|
|
14
|
+
/** Visual style of a {@link PacemLoaderElement}'s spinner. */
|
|
14
15
|
export var LoaderType;
|
|
15
16
|
(function (LoaderType) {
|
|
16
17
|
LoaderType["Spinner"] = "spin";
|
|
@@ -18,6 +19,7 @@ export var LoaderType;
|
|
|
18
19
|
LoaderType["Custom"] = "custom";
|
|
19
20
|
})(LoaderType || (LoaderType = {}));
|
|
20
21
|
;
|
|
22
|
+
/** Shows a spinner (plain CSS or the branded Pacem gear/SVG animation) while `active`, typically overlaid on content being loaded. */
|
|
21
23
|
let PacemLoaderElement = class PacemLoaderElement extends Components.PacemElement {
|
|
22
24
|
viewActivatedCallback() {
|
|
23
25
|
super.viewActivatedCallback();
|
package/dist/esm/markdown-svc.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* @pacem/pacem-ui v1.0.0-
|
|
2
|
+
* @pacem/pacem-ui v1.0.0-binet (https://js.pacem.it)
|
|
3
3
|
* Pacem (https://pacem.it)
|
|
4
4
|
* Licensed under Apache-2.0
|
|
5
5
|
*/
|
|
@@ -205,6 +205,7 @@ const RULES_TO_HTML = (token) => {
|
|
|
205
205
|
return `<span class="${token.type}">${token.text}</span>`;
|
|
206
206
|
}
|
|
207
207
|
};
|
|
208
|
+
/** Parses Markdown into HTML, extended with C-like/script/markup code-fence highlighting and Pacem-specific inline embeds (`{tweet}(id)`, `{yt}(id)`). */
|
|
208
209
|
export class MarkdownService {
|
|
209
210
|
constructor() {
|
|
210
211
|
const grammar = [
|
|
@@ -231,9 +232,11 @@ export class MarkdownService {
|
|
|
231
232
|
// no html allowed
|
|
232
233
|
return (md ?? '').replace(/</g, '<');
|
|
233
234
|
}
|
|
235
|
+
/** Converts the given Markdown source into an HTML string. */
|
|
234
236
|
toHtml(md) {
|
|
235
237
|
return this.#md.toHtml(this._escape(md), this.#grammar, RULES_TO_HTML);
|
|
236
238
|
}
|
|
239
|
+
/** Tokenizes the given Markdown source, without rendering it to HTML. */
|
|
237
240
|
tokenize(md) {
|
|
238
241
|
return this.#md.tokenize(this._escape(md), this.#grammar);
|
|
239
242
|
}
|
package/dist/esm/markdown.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* @pacem/pacem-ui v1.0.0-
|
|
2
|
+
* @pacem/pacem-ui v1.0.0-binet (https://js.pacem.it)
|
|
3
3
|
* Pacem (https://pacem.it)
|
|
4
4
|
* Licensed under Apache-2.0
|
|
5
5
|
*/
|
|
@@ -12,6 +12,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
12
12
|
import { P, CustomElement, Watch, PropertyConverters, Components } from '@pacem/pacem-core';
|
|
13
13
|
import { MarkdownService } from './markdown-svc';
|
|
14
14
|
//namespace Pacem.Components.UI {
|
|
15
|
+
/** Renders its `value` property, interpreted as Markdown, as this element's inner HTML. */
|
|
15
16
|
let PacemMarkdownElement = class PacemMarkdownElement extends Components.PacemElement {
|
|
16
17
|
constructor(_md = new MarkdownService()) {
|
|
17
18
|
super();
|
|
@@ -24,9 +25,11 @@ let PacemMarkdownElement = class PacemMarkdownElement extends Components.PacemEl
|
|
|
24
25
|
}
|
|
25
26
|
}
|
|
26
27
|
// IDEA: allow extensible parsing (grammar components?...)
|
|
28
|
+
/** Tokenizes the given (or current `value`) Markdown source. */
|
|
27
29
|
tokens(md = this.value) {
|
|
28
30
|
return this._md.tokenize(md);
|
|
29
31
|
}
|
|
32
|
+
/** Converts the given (or current `value`) Markdown source to an HTML string. */
|
|
30
33
|
html(md = this.value) {
|
|
31
34
|
return this._md.toHtml(md);
|
|
32
35
|
}
|
package/dist/esm/marquee.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* @pacem/pacem-ui v1.0.0-
|
|
2
|
+
* @pacem/pacem-ui v1.0.0-binet (https://js.pacem.it)
|
|
3
3
|
* Pacem (https://pacem.it)
|
|
4
4
|
* Licensed under Apache-2.0
|
|
5
5
|
*/
|
|
@@ -11,6 +11,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
11
11
|
};
|
|
12
12
|
import { P, PCSS, Utils, CustomElement, Watch, ViewChild, PropertyConverters, Components, Defaults } from '@pacem/pacem-core';
|
|
13
13
|
//namespace Pacem.Components.UI {
|
|
14
|
+
/** Continuously scrolls its content horizontally in a loop, like a classic marquee. */
|
|
14
15
|
let PacemMarqueeElement = class PacemMarqueeElement extends Components.PacemElement {
|
|
15
16
|
constructor() {
|
|
16
17
|
super(...arguments);
|
package/dist/esm/media-query.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* @pacem/pacem-ui v1.0.0-
|
|
2
|
+
* @pacem/pacem-ui v1.0.0-binet (https://js.pacem.it)
|
|
3
3
|
* Pacem (https://pacem.it)
|
|
4
4
|
* Licensed under Apache-2.0
|
|
5
5
|
*/
|
|
@@ -30,6 +30,7 @@ export const MEDIAQUERY_PORTRAIT = `(orientation: portrait)`;
|
|
|
30
30
|
export const MEDIAQUERY_LANDSCAPE = `(orientation: landscape)`;
|
|
31
31
|
export const MEDIAQUERY_PREFERS_LIGHT = `(prefers-color-scheme: light)`;
|
|
32
32
|
export const MEDIAQUERY_PREFERS_DARK = `(prefers-color-scheme: dark)`;
|
|
33
|
+
/** Evaluates a CSS media query and reflects its match state, dispatching `change`/`match`/`unmatch` events as it changes. */
|
|
33
34
|
let PacemMediaQueryElement = class PacemMediaQueryElement extends PacemEventTarget {
|
|
34
35
|
constructor() {
|
|
35
36
|
super(...arguments);
|
package/dist/esm/menu.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* @pacem/pacem-ui v1.0.0-
|
|
2
|
+
* @pacem/pacem-ui v1.0.0-binet (https://js.pacem.it)
|
|
3
3
|
* Pacem (https://pacem.it)
|
|
4
4
|
* Licensed under Apache-2.0
|
|
5
5
|
*/
|
|
@@ -12,9 +12,11 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
12
12
|
var PacemMenuCursorElement_1;
|
|
13
13
|
import { P, PCSS, Utils, CustomElement, Watch, ViewChild, PropertyConverters, Components, Defaults, avoidHandler, stopPropagationHandler, CustomElementUtils, Logging } from '@pacem/pacem-core';
|
|
14
14
|
//namespace Components.UI {
|
|
15
|
+
/** Collapsible off-canvas/hamburger navigation menu, optionally synchronized with the enclosing shell's CSS classes. */
|
|
15
16
|
let PacemMenuElement = class PacemMenuElement extends Components.PacemElement {
|
|
16
17
|
constructor() {
|
|
17
18
|
super(...arguments);
|
|
19
|
+
/** Gets or sets whether the open/close and outset state toggle CSS classes on the ancestor shell. */
|
|
18
20
|
this.synchronizeShell = true;
|
|
19
21
|
this._stopPropagationHandlerConditional = (_) => {
|
|
20
22
|
if (!Utils.isNull(this._container) && !Utils.isNull(this._base)) {
|
|
@@ -109,6 +111,7 @@ PacemMenuElement = __decorate([
|
|
|
109
111
|
})
|
|
110
112
|
], PacemMenuElement);
|
|
111
113
|
export { PacemMenuElement };
|
|
114
|
+
/** Animated cursor/indicator that tracks the anchor matching the current path within an ancestor `PacemMenuElement`. */
|
|
112
115
|
let PacemMenuCursorElement = PacemMenuCursorElement_1 = class PacemMenuCursorElement extends Components.PacemElement {
|
|
113
116
|
constructor() {
|
|
114
117
|
super(...arguments);
|
package/dist/esm/pager.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* @pacem/pacem-ui v1.0.0-
|
|
2
|
+
* @pacem/pacem-ui v1.0.0-binet (https://js.pacem.it)
|
|
3
3
|
* Pacem (https://pacem.it)
|
|
4
4
|
* Licensed under Apache-2.0
|
|
5
5
|
*/
|
|
@@ -11,6 +11,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
11
11
|
};
|
|
12
12
|
import { P, PCSS, Utils, CustomElement, Watch, ViewChild, PropertyConverters, Components, Defaults, Debounce } from '@pacem/pacem-core';
|
|
13
13
|
//namespace Pacem.Components.UI {
|
|
14
|
+
/** Renders pagination buttons (first/previous/numbers/next/last, or a numeric-only strip) for a paged collection. */
|
|
14
15
|
let PacemPagerElement = class PacemPagerElement extends Components.PacemElement {
|
|
15
16
|
propertyChangedCallback(name, old, val, first) {
|
|
16
17
|
super.propertyChangedCallback(name, old, val, first);
|
package/dist/esm/picture.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* @pacem/pacem-ui v1.0.0-
|
|
2
|
+
* @pacem/pacem-ui v1.0.0-binet (https://js.pacem.it)
|
|
3
3
|
* Pacem (https://pacem.it)
|
|
4
4
|
* Licensed under Apache-2.0
|
|
5
5
|
*/
|
|
@@ -11,6 +11,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
11
11
|
};
|
|
12
12
|
import { P, Utils, CustomElement, Watch, ViewChild, PropertyConverters, Components } from '@pacem/pacem-core';
|
|
13
13
|
//namespace Pacem.Components.UI {
|
|
14
|
+
/** Declares a single `<source>` candidate (srcset/media/type) for an ancestor `PacemPictureElement`. */
|
|
14
15
|
let PacemPictureSourceElement = class PacemPictureSourceElement extends Components.PacemItemElement {
|
|
15
16
|
propertyChangedCallback(name, old, val, first) {
|
|
16
17
|
super.propertyChangedCallback(name, old, val, first);
|
|
@@ -35,6 +36,7 @@ PacemPictureSourceElement = __decorate([
|
|
|
35
36
|
})
|
|
36
37
|
], PacemPictureSourceElement);
|
|
37
38
|
export { PacemPictureSourceElement };
|
|
39
|
+
/** Responsive `<picture>` wrapper that builds its `<source>` elements from child `PacemPictureSourceElement` items. */
|
|
38
40
|
let PacemPictureElement = class PacemPictureElement extends Components.PacemItemsContainerElement {
|
|
39
41
|
constructor() {
|
|
40
42
|
super('img', { 'label': 'picture' });
|
|
@@ -73,6 +75,7 @@ let PacemPictureElement = class PacemPictureElement extends Components.PacemItem
|
|
|
73
75
|
}
|
|
74
76
|
super.disconnectedCallback();
|
|
75
77
|
}
|
|
78
|
+
/** Rebuilds the `<source>` elements from the current child `PacemPictureSourceElement` items. */
|
|
76
79
|
refreshSources() {
|
|
77
80
|
this._setSources();
|
|
78
81
|
}
|
package/dist/esm/progressbar.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* @pacem/pacem-ui v1.0.0-
|
|
2
|
+
* @pacem/pacem-ui v1.0.0-binet (https://js.pacem.it)
|
|
3
3
|
* Pacem (https://pacem.it)
|
|
4
4
|
* Licensed under Apache-2.0
|
|
5
5
|
*/
|
|
@@ -11,6 +11,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
11
11
|
};
|
|
12
12
|
import { P, Utils, CustomElement, Watch, ViewChild, PropertyConverters, Components, Defaults } from '@pacem/pacem-core';
|
|
13
13
|
//namespace Pacem.Components.UI {
|
|
14
|
+
/** Horizontal progress bar with an optional textual caption. */
|
|
14
15
|
let PacemProgressbarElement = class PacemProgressbarElement extends Components.PacemElement {
|
|
15
16
|
constructor() {
|
|
16
17
|
super('progressbar', { 'valuemin': '0%', 'valuemax': '100%', 'valuenow': '0%' });
|
package/dist/esm/sidebar.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* @pacem/pacem-ui v1.0.0-
|
|
2
|
+
* @pacem/pacem-ui v1.0.0-binet (https://js.pacem.it)
|
|
3
3
|
* Pacem (https://pacem.it)
|
|
4
4
|
* Licensed under Apache-2.0
|
|
5
5
|
*/
|
|
@@ -11,10 +11,13 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
11
11
|
};
|
|
12
12
|
import { P, PCSS, Utils, CustomElement, Watch, PropertyConverters, Components, CustomElementUtils } from '@pacem/pacem-core';
|
|
13
13
|
//namespace Pacem.Components.UI {
|
|
14
|
+
/** Collapsible off-canvas drawer/sidebar, optionally synchronized with the enclosing shell's CSS classes. */
|
|
14
15
|
let PacemSidebarElement = class PacemSidebarElement extends Components.PacemElement {
|
|
15
16
|
constructor() {
|
|
16
17
|
super(...arguments);
|
|
18
|
+
/** Gets or sets whether the sidebar is open. */
|
|
17
19
|
this.open = false;
|
|
20
|
+
/** Gets or sets whether the open/close state toggles CSS classes on the ancestor shell. */
|
|
18
21
|
this.synchronizeShell = true;
|
|
19
22
|
}
|
|
20
23
|
propertyChangedCallback(name, old, val, first) {
|
package/dist/esm/slideshow.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* @pacem/pacem-ui v1.0.0-
|
|
2
|
+
* @pacem/pacem-ui v1.0.0-binet (https://js.pacem.it)
|
|
3
3
|
* Pacem (https://pacem.it)
|
|
4
4
|
* Licensed under Apache-2.0
|
|
5
5
|
*/
|
|
@@ -11,6 +11,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
11
11
|
};
|
|
12
12
|
import { P, CustomElement, Components } from '@pacem/pacem-core';
|
|
13
13
|
//namespace Pacem.Components.UI {
|
|
14
|
+
/** Single slide item hosted within a `PacemSlideshowElement`. */
|
|
14
15
|
let PacemSlideElement = class PacemSlideElement extends Components.PacemIterableElement {
|
|
15
16
|
};
|
|
16
17
|
PacemSlideElement = __decorate([
|
|
@@ -19,6 +20,7 @@ PacemSlideElement = __decorate([
|
|
|
19
20
|
})
|
|
20
21
|
], PacemSlideElement);
|
|
21
22
|
export { PacemSlideElement };
|
|
23
|
+
/** Iterates over `PacemSlideElement` children, exposing them as a navigable slideshow. */
|
|
22
24
|
let PacemSlideshowElement = class PacemSlideshowElement extends Components.PacemIterativeElement {
|
|
23
25
|
validate(item) {
|
|
24
26
|
return item instanceof PacemSlideElement;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* @pacem/pacem-ui v1.0.0-
|
|
2
|
+
* @pacem/pacem-ui v1.0.0-binet (https://js.pacem.it)
|
|
3
3
|
* Pacem (https://pacem.it)
|
|
4
4
|
* Licensed under Apache-2.0
|
|
5
5
|
*/
|
|
@@ -11,6 +11,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
11
11
|
};
|
|
12
12
|
import { P, CustomElementUtils, CustomElement, Watch, PropertyConverters, Components } from '@pacem/pacem-core';
|
|
13
13
|
//namespace Pacem.Components.UI.Social {
|
|
14
|
+
/** Embeds a tweet, given its id, via Twitter's `widgets.js`. */
|
|
14
15
|
let PacemTweetEmbedElement = class PacemTweetEmbedElement extends Components.PacemElement {
|
|
15
16
|
constructor() {
|
|
16
17
|
super(...arguments);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* @pacem/pacem-ui v1.0.0-
|
|
2
|
+
* @pacem/pacem-ui v1.0.0-binet (https://js.pacem.it)
|
|
3
3
|
* Pacem (https://pacem.it)
|
|
4
4
|
* Licensed under Apache-2.0
|
|
5
5
|
*/
|
|
@@ -11,11 +11,15 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
11
11
|
};
|
|
12
12
|
import { P, CustomElementUtils, CustomElement, Watch, PropertyConverters, PacemEventTarget, Components, Utils, Logging } from '@pacem/pacem-core';
|
|
13
13
|
//namespace Pacem.Components.UI {
|
|
14
|
+
/** Determines how a `PacemStickyHeaderElement` behaves once the scroll offset passes its `threshold`. */
|
|
14
15
|
export var StickyHeaderVisibility;
|
|
15
16
|
(function (StickyHeaderVisibility) {
|
|
17
|
+
/** Stays pinned/visible once past the threshold. */
|
|
16
18
|
StickyHeaderVisibility["Persistent"] = "persistent";
|
|
19
|
+
/** Hides while scrolling down and reappears while scrolling up. */
|
|
17
20
|
StickyHeaderVisibility["QuickReturn"] = "quickreturn";
|
|
18
21
|
})(StickyHeaderVisibility || (StickyHeaderVisibility = {}));
|
|
22
|
+
/** Header that reacts to page scroll, either staying pinned to the top of the shell or hiding/showing on scroll direction. */
|
|
19
23
|
let PacemStickyHeaderElement = class PacemStickyHeaderElement extends PacemEventTarget {
|
|
20
24
|
constructor() {
|
|
21
25
|
super(...arguments);
|
package/dist/esm/tabs.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* @pacem/pacem-ui v1.0.0-
|
|
2
|
+
* @pacem/pacem-ui v1.0.0-binet (https://js.pacem.it)
|
|
3
3
|
* Pacem (https://pacem.it)
|
|
4
4
|
* Licensed under Apache-2.0
|
|
5
5
|
*/
|
|
@@ -22,6 +22,7 @@ const StringOrNodePropertyConverter = {
|
|
|
22
22
|
},
|
|
23
23
|
retryConversionWhenReady: true
|
|
24
24
|
};
|
|
25
|
+
/** Single tab item, pairing a `label` with its content, hosted within a `PacemTabsElement`. */
|
|
25
26
|
let PacemTabElement = class PacemTabElement extends Components.PacemIterableElement {
|
|
26
27
|
constructor() {
|
|
27
28
|
super('tab');
|
|
@@ -43,6 +44,7 @@ let PacemTabElement = class PacemTabElement extends Components.PacemIterableElem
|
|
|
43
44
|
super.disconnectedCallback();
|
|
44
45
|
}
|
|
45
46
|
#content;
|
|
47
|
+
/** @readonly Gets the nodes assigned to the `label` slot. */
|
|
46
48
|
get content() {
|
|
47
49
|
return this.querySelectorAll('*[slot=label]');
|
|
48
50
|
}
|
|
@@ -62,6 +64,7 @@ PacemTabElement = __decorate([
|
|
|
62
64
|
})
|
|
63
65
|
], PacemTabElement);
|
|
64
66
|
export { PacemTabElement };
|
|
67
|
+
/** Iterates over `PacemTabElement` children, rendering a tab strip (via an adapter) and animating the transition between the active tab's content. */
|
|
65
68
|
let PacemTabsElement = class PacemTabsElement extends Components.PacemIterativeElement {
|
|
66
69
|
constructor(_tweener = new Animations.TweenService()) {
|
|
67
70
|
super("tablist");
|
package/dist/esm/ticker.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* @pacem/pacem-ui v1.0.0-
|
|
2
|
+
* @pacem/pacem-ui v1.0.0-binet (https://js.pacem.it)
|
|
3
3
|
* Pacem (https://pacem.it)
|
|
4
4
|
* Licensed under Apache-2.0
|
|
5
5
|
*/
|
|
@@ -11,6 +11,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
11
11
|
};
|
|
12
12
|
import { P, CustomElement, ViewChild, Components, Utils } from '@pacem/pacem-core';
|
|
13
13
|
//namespace Pacem.Components.UI {
|
|
14
|
+
/** Displays scrolling/ticking content, animating the swap whenever its `content` changes. */
|
|
14
15
|
let PacemTickerElement = class PacemTickerElement extends Components.PacemSafeContentElement {
|
|
15
16
|
constructor() {
|
|
16
17
|
super(...arguments);
|
package/dist/esm/toast.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* @pacem/pacem-ui v1.0.0-
|
|
2
|
+
* @pacem/pacem-ui v1.0.0-binet (https://js.pacem.it)
|
|
3
3
|
* Pacem (https://pacem.it)
|
|
4
4
|
* Licensed under Apache-2.0
|
|
5
5
|
*/
|
|
@@ -13,10 +13,13 @@ var PacemToastElement_1;
|
|
|
13
13
|
import { P, PCSS, CustomElement, Watch, Components, Utils, PropertyConverters, CustomElementUtils, Transformer } from '@pacem/pacem-core';
|
|
14
14
|
//namespace Pacem.Components.UI {
|
|
15
15
|
const PACEM_TOAST_POPS = "pacem:toast:pops";
|
|
16
|
+
/** Dismissible toast/snackbar notification, with optional autohide. */
|
|
16
17
|
let PacemToastElement = PacemToastElement_1 = class PacemToastElement extends Components.PacemElement {
|
|
17
18
|
constructor() {
|
|
18
19
|
super(...arguments);
|
|
20
|
+
/** Gets or sets whether the toast automatically hides itself after `timeout` milliseconds. */
|
|
19
21
|
this.autohide = true;
|
|
22
|
+
/** Gets or sets the autohide delay, in milliseconds. */
|
|
20
23
|
this.timeout = 3000;
|
|
21
24
|
this._doHide = (evt) => {
|
|
22
25
|
window.clearTimeout(this._handle);
|
|
@@ -60,6 +63,7 @@ let PacemToastElement = PacemToastElement_1 = class PacemToastElement extends Co
|
|
|
60
63
|
this._handle = window.setTimeout(() => { this.show = false; }, this.timeout);
|
|
61
64
|
}
|
|
62
65
|
}
|
|
66
|
+
/** Shows the toast, (re)starting the autohide timer if applicable. */
|
|
63
67
|
popup() {
|
|
64
68
|
if (this.show) {
|
|
65
69
|
this._show();
|
|
@@ -139,6 +143,13 @@ let PacemToastElement = PacemToastElement_1 = class PacemToastElement extends Co
|
|
|
139
143
|
toast.addEventListener('close', callback, false);
|
|
140
144
|
});
|
|
141
145
|
}
|
|
146
|
+
/**
|
|
147
|
+
* Like `toast`, but renders the message inside a filled/bordered container for extra emphasis.
|
|
148
|
+
* @param toaster Toast container
|
|
149
|
+
* @param level Message criticity level
|
|
150
|
+
* @param message The message
|
|
151
|
+
* @param options Further options object
|
|
152
|
+
*/
|
|
142
153
|
static toast2(toaster, level, message, options) {
|
|
143
154
|
let cssClass = options?.cssClass;
|
|
144
155
|
let cssArray = ['fill-' + level + '-container', 'fill-glass', 'border-solid', 'border-size--2', 'border-round', 'border-radius--6'];
|
package/dist/esm/toc.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* @pacem/pacem-ui v1.0.0-
|
|
2
|
+
* @pacem/pacem-ui v1.0.0-binet (https://js.pacem.it)
|
|
3
3
|
* Pacem (https://pacem.it)
|
|
4
4
|
* Licensed under Apache-2.0
|
|
5
5
|
*/
|
|
@@ -11,6 +11,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
11
11
|
};
|
|
12
12
|
import { P, PCSS, CustomElement, Watch, ViewChild, Components, Utils, PropertyConverters, Defaults, Animations, Debounce, avoidHandler } from '@pacem/pacem-core';
|
|
13
13
|
//namespace Components.UI {
|
|
14
|
+
/** Table-of-contents that lists the headings/elements matched by `selector`, highlighting and scrolling to the currently focused one. */
|
|
14
15
|
let PacemTocElement = class PacemTocElement extends Components.PacemElement {
|
|
15
16
|
constructor(_tweener = new Animations.TweenService()) {
|
|
16
17
|
super();
|
package/dist/esm/tuner.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* @pacem/pacem-ui v1.0.0-
|
|
2
|
+
* @pacem/pacem-ui v1.0.0-binet (https://js.pacem.it)
|
|
3
3
|
* Pacem (https://pacem.it)
|
|
4
4
|
* Licensed under Apache-2.0
|
|
5
5
|
*/
|
|
@@ -19,11 +19,14 @@ function cartesian(cx, cy, r, theta) {
|
|
|
19
19
|
y: cy + (r * Math.sin(theta))
|
|
20
20
|
};
|
|
21
21
|
}
|
|
22
|
+
/** Circular dial/knob control for picking a numeric value between `min` and `max` by rotating a handle. */
|
|
22
23
|
let PacemTunerElement = class PacemTunerElement extends Components.PacemElement {
|
|
23
24
|
constructor() {
|
|
24
25
|
super();
|
|
25
26
|
//#region INTERACTIVE
|
|
27
|
+
/** Gets or sets the minimum selectable value. */
|
|
26
28
|
this.min = 0.0;
|
|
29
|
+
/** Gets or sets the maximum selectable value. */
|
|
27
30
|
this.max = 100.0;
|
|
28
31
|
this._rotateStartHandler = (evt) => {
|
|
29
32
|
const angle = this.#angle = this._getAngle(evt);
|
package/dist/esm/types.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* @pacem/pacem-ui v1.0.0-
|
|
2
|
+
* @pacem/pacem-ui v1.0.0-binet (https://js.pacem.it)
|
|
3
3
|
* Pacem (https://pacem.it)
|
|
4
4
|
* Licensed under Apache-2.0
|
|
5
5
|
*/
|
|
6
|
+
/** Converts an attribute value into an `Element` (resolved via `querySelector`) or, failing that, a parsed `Point`/JSON value. */
|
|
6
7
|
export const ElementOrPointPropertyConverter = {
|
|
7
8
|
convert: (attr) => {
|
|
8
9
|
let el = document.querySelector(attr);
|
package/dist/esm/vibration.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* @pacem/pacem-ui v1.0.0-
|
|
2
|
+
* @pacem/pacem-ui v1.0.0-binet (https://js.pacem.it)
|
|
3
3
|
* Pacem (https://pacem.it)
|
|
4
4
|
* Licensed under Apache-2.0
|
|
5
5
|
*/
|
|
@@ -11,7 +11,9 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
11
11
|
};
|
|
12
12
|
import { P, CustomElement, Watch, PacemEventTarget, Utils } from '@pacem/pacem-core';
|
|
13
13
|
//namespace Pacem.Components.UI {
|
|
14
|
+
/** Triggers the device's vibration hardware (via the Vibration API) with a configurable pattern. */
|
|
14
15
|
let PacemVibrateElement = class PacemVibrateElement extends PacemEventTarget {
|
|
16
|
+
/** Triggers a vibration using the current `pattern`, if supported by the browser and not disabled. */
|
|
15
17
|
vibrate() {
|
|
16
18
|
if (this.disabled) {
|
|
17
19
|
return;
|
package/dist/esm/view.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* @pacem/pacem-ui v1.0.0-
|
|
2
|
+
* @pacem/pacem-ui v1.0.0-binet (https://js.pacem.it)
|
|
3
3
|
* Pacem (https://pacem.it)
|
|
4
4
|
* Licensed under Apache-2.0
|
|
5
5
|
*/
|
|
@@ -9,7 +9,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
9
9
|
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;
|
|
10
10
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
11
11
|
};
|
|
12
|
-
import { P, CustomElement, Watch, PacemEventTarget, Components, Utils, PropertyConverters, Logging } from '@pacem/pacem-core';
|
|
12
|
+
import { P, CustomElement, Watch, PacemEventTarget, Components, Utils, PropertyConverters, Logging, CustomElementUtils } from '@pacem/pacem-core';
|
|
13
13
|
//namespace Pacem.Components.UI {
|
|
14
14
|
const ANIM_TIMEOUT = 500;
|
|
15
15
|
const ElementOrStringPropertyConverter = {
|
|
@@ -24,6 +24,7 @@ const ElementOrStringPropertyConverter = {
|
|
|
24
24
|
convertBack: (prop) => (prop instanceof Element && prop.id) ? ('#' + prop.id) : prop,
|
|
25
25
|
retryConversionWhenReady: true
|
|
26
26
|
};
|
|
27
|
+
/** Fetches and renders remote HTML (or a local `<template>`'s content) as its own inner content, dispatching `prerender`/`render` lifecycle events. */
|
|
27
28
|
let PacemViewElement = class PacemViewElement extends PacemEventTarget {
|
|
28
29
|
constructor() {
|
|
29
30
|
super(...arguments);
|
|
@@ -31,6 +32,18 @@ let PacemViewElement = class PacemViewElement extends PacemEventTarget {
|
|
|
31
32
|
const tmplProxy = evt.target;
|
|
32
33
|
this._setTmpl(tmplProxy.target);
|
|
33
34
|
};
|
|
35
|
+
this._debounceDispatchHandler = (e) => {
|
|
36
|
+
clearTimeout(this.#resizeHandle);
|
|
37
|
+
this.#resizeHandle = setTimeout(() => {
|
|
38
|
+
if (e) {
|
|
39
|
+
const resizer = e.srcElement;
|
|
40
|
+
resizer.removeEventListener(Components.ResizeEventName, this._debounceDispatchHandler);
|
|
41
|
+
resizer.remove();
|
|
42
|
+
}
|
|
43
|
+
//
|
|
44
|
+
this.dispatchEvent(new CustomEvent("render"));
|
|
45
|
+
}, 100 /* tenth of a second limit */);
|
|
46
|
+
};
|
|
34
47
|
}
|
|
35
48
|
propertyChangedCallback(name, old, val, first) {
|
|
36
49
|
super.propertyChangedCallback(name, old, val, first);
|
|
@@ -99,6 +112,7 @@ let PacemViewElement = class PacemViewElement extends PacemEventTarget {
|
|
|
99
112
|
cancelAnimationFrame(this._renderHandle);
|
|
100
113
|
// this way, `this._container.innerHTML = ''` instruction will eventually let the page "scroll up"...
|
|
101
114
|
this.innerHTML = '';
|
|
115
|
+
this._dispatchPrerender();
|
|
102
116
|
this._renderHandle = requestAnimationFrame(() => {
|
|
103
117
|
if (Utils.isNull(tmpl)) {
|
|
104
118
|
this.log(Logging.LogLevel.Error, `Template element not found.`);
|
|
@@ -170,6 +184,7 @@ let PacemViewElement = class PacemViewElement extends PacemEventTarget {
|
|
|
170
184
|
cancelAnimationFrame(this._renderHandle);
|
|
171
185
|
this.scrollTo({ top: 0, left: 0, behavior: 'instant' });
|
|
172
186
|
this.innerHTML = '';
|
|
187
|
+
this._dispatchPrerender();
|
|
173
188
|
this._renderHandle = requestAnimationFrame(() => {
|
|
174
189
|
this.innerHTML = result;
|
|
175
190
|
this.fetching = false;
|
|
@@ -181,8 +196,16 @@ let PacemViewElement = class PacemViewElement extends PacemEventTarget {
|
|
|
181
196
|
}, ANIM_TIMEOUT);
|
|
182
197
|
});
|
|
183
198
|
}
|
|
199
|
+
#resizeHandle;
|
|
184
200
|
_dispatchRender() {
|
|
185
|
-
|
|
201
|
+
const resizer = new Components.PacemResizeElement();
|
|
202
|
+
resizer.target = this;
|
|
203
|
+
resizer.addEventListener(Components.ResizeEventName, this._debounceDispatchHandler);
|
|
204
|
+
CustomElementUtils.findAncestorShell(this).appendChild(resizer);
|
|
205
|
+
this._debounceDispatchHandler();
|
|
206
|
+
}
|
|
207
|
+
_dispatchPrerender() {
|
|
208
|
+
this.dispatchEvent(new CustomEvent("prerender"));
|
|
186
209
|
}
|
|
187
210
|
};
|
|
188
211
|
__decorate([
|
package/dist/esm/window.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* @pacem/pacem-ui v1.0.0-
|
|
2
|
+
* @pacem/pacem-ui v1.0.0-binet (https://js.pacem.it)
|
|
3
3
|
* Pacem (https://pacem.it)
|
|
4
4
|
* Licensed under Apache-2.0
|
|
5
5
|
*/
|
|
@@ -13,6 +13,7 @@ import { P, PCSS, CustomElement, Watch, Components, UI, Utils, PropertyConverter
|
|
|
13
13
|
import { AdapterPageButtonRefreshEventName } from './adapter';
|
|
14
14
|
//namespace Pacem.Components.UI {
|
|
15
15
|
const HANDLE_CSS = 'window-title';
|
|
16
|
+
/** Container that arranges `PacemWindowElement` children as draggable/resizable floating windows, or docks them one at a time via an adapter. */
|
|
16
17
|
let PacemWindowAreaElement = class PacemWindowAreaElement extends Components.PacemIterativeElement {
|
|
17
18
|
constructor() {
|
|
18
19
|
super(...arguments);
|
|
@@ -97,6 +98,7 @@ let PacemWindowAreaElement = class PacemWindowAreaElement extends Components.Pac
|
|
|
97
98
|
this._syncVisibility();
|
|
98
99
|
}
|
|
99
100
|
}
|
|
101
|
+
/** Registers a window item, wiring drag/resize behaviors and focus tracking; returns whether it was newly added. */
|
|
100
102
|
register(item) {
|
|
101
103
|
const retval = super.register(item);
|
|
102
104
|
if (retval) {
|
|
@@ -111,6 +113,7 @@ let PacemWindowAreaElement = class PacemWindowAreaElement extends Components.Pac
|
|
|
111
113
|
}
|
|
112
114
|
return retval;
|
|
113
115
|
}
|
|
116
|
+
/** Unregisters a window item, tearing down its drag/resize behaviors; returns whether it was found and removed. */
|
|
114
117
|
unregister(item) {
|
|
115
118
|
const retval = super.unregister(item);
|
|
116
119
|
if (retval) {
|
|
@@ -145,6 +148,7 @@ PacemWindowAreaElement = __decorate([
|
|
|
145
148
|
})
|
|
146
149
|
], PacemWindowAreaElement);
|
|
147
150
|
export { PacemWindowAreaElement };
|
|
151
|
+
/** Single draggable, resizable, and dockable window pane hosted within a `PacemWindowAreaElement`. */
|
|
148
152
|
let PacemWindowElement = class PacemWindowElement extends Components.PacemIterableElement {
|
|
149
153
|
propertyChangedCallback(name, old, val, first) {
|
|
150
154
|
super.propertyChangedCallback(name, old, val, first);
|