@pacem/pacem-ui 1.0.0-euler → 1.0.0-galois
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 +47 -34
- package/dist/browser/pacem-ui.js.map +1 -1
- package/dist/browser/pacem-ui.min.js +2 -2
- package/dist/bundle/pacem-ui.min.mjs +27 -27
- package/dist/bundle/pacem-ui.mjs +45 -30
- package/dist/bundle/pacem-ui.mjs.map +3 -3
- package/dist/docs/pacem-ui.json +96 -0
- package/dist/esm/adapter.js +1 -1
- package/dist/esm/anchor.js +1 -1
- package/dist/esm/balloon.js +1 -1
- package/dist/esm/binder.js +1 -1
- package/dist/esm/blade.js +1 -1
- package/dist/esm/bottom-sheet.js +1 -1
- package/dist/esm/button.js +1 -1
- package/dist/esm/buttonset.js +1 -1
- package/dist/esm/calendar.js +1 -1
- package/dist/esm/collapse.js +1 -1
- package/dist/esm/dialog-abstractions.js +1 -1
- package/dist/esm/dialog.js +1 -1
- package/dist/esm/divider.js +1 -1
- package/dist/esm/icon.js +1 -1
- package/dist/esm/image.js +1 -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 +1 -1
- package/dist/esm/iterative.js +1 -1
- package/dist/esm/lightbox-abstractions.js +1 -1
- package/dist/esm/lightbox.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/markdown-svc.js +1 -1
- package/dist/esm/markdown.js +1 -1
- package/dist/esm/marquee.js +1 -1
- package/dist/esm/media-query.js +1 -1
- package/dist/esm/menu.js +47 -34
- package/dist/esm/pager.js +1 -1
- package/dist/esm/picture.js +1 -1
- package/dist/esm/progressbar.js +1 -1
- package/dist/esm/sidebar.js +1 -1
- package/dist/esm/slideshow.js +1 -1
- package/dist/esm/social-twitter.js +1 -1
- package/dist/esm/sticky-header.js +1 -1
- package/dist/esm/tabs.js +1 -1
- package/dist/esm/ticker.js +1 -1
- package/dist/esm/toast.js +1 -1
- package/dist/esm/toc.js +1 -1
- package/dist/esm/tuner.js +1 -1
- package/dist/esm/types.js +1 -1
- package/dist/esm/vibration.js +1 -1
- package/dist/esm/view.js +1 -1
- package/dist/esm/window.js +1 -1
- package/package.json +1 -1
- package/typings/index.d.ts +2 -0
package/dist/docs/pacem-ui.json
CHANGED
|
@@ -12846,6 +12846,102 @@
|
|
|
12846
12846
|
"isAbstract": false,
|
|
12847
12847
|
"name": "disconnectedCallback"
|
|
12848
12848
|
},
|
|
12849
|
+
{
|
|
12850
|
+
"kind": "Method",
|
|
12851
|
+
"canonicalReference": "@pacem/pacem-ui!Components.UI.PacemMenuCursorElement#propertyChangedCallback:member(1)",
|
|
12852
|
+
"docComment": "",
|
|
12853
|
+
"excerptTokens": [
|
|
12854
|
+
{
|
|
12855
|
+
"kind": "Content",
|
|
12856
|
+
"text": "propertyChangedCallback(name: "
|
|
12857
|
+
},
|
|
12858
|
+
{
|
|
12859
|
+
"kind": "Content",
|
|
12860
|
+
"text": "string"
|
|
12861
|
+
},
|
|
12862
|
+
{
|
|
12863
|
+
"kind": "Content",
|
|
12864
|
+
"text": ", old: "
|
|
12865
|
+
},
|
|
12866
|
+
{
|
|
12867
|
+
"kind": "Content",
|
|
12868
|
+
"text": "any"
|
|
12869
|
+
},
|
|
12870
|
+
{
|
|
12871
|
+
"kind": "Content",
|
|
12872
|
+
"text": ", val: "
|
|
12873
|
+
},
|
|
12874
|
+
{
|
|
12875
|
+
"kind": "Content",
|
|
12876
|
+
"text": "any"
|
|
12877
|
+
},
|
|
12878
|
+
{
|
|
12879
|
+
"kind": "Content",
|
|
12880
|
+
"text": ", first: "
|
|
12881
|
+
},
|
|
12882
|
+
{
|
|
12883
|
+
"kind": "Content",
|
|
12884
|
+
"text": "boolean"
|
|
12885
|
+
},
|
|
12886
|
+
{
|
|
12887
|
+
"kind": "Content",
|
|
12888
|
+
"text": "): "
|
|
12889
|
+
},
|
|
12890
|
+
{
|
|
12891
|
+
"kind": "Content",
|
|
12892
|
+
"text": "void"
|
|
12893
|
+
},
|
|
12894
|
+
{
|
|
12895
|
+
"kind": "Content",
|
|
12896
|
+
"text": ";"
|
|
12897
|
+
}
|
|
12898
|
+
],
|
|
12899
|
+
"isStatic": false,
|
|
12900
|
+
"returnTypeTokenRange": {
|
|
12901
|
+
"startIndex": 9,
|
|
12902
|
+
"endIndex": 10
|
|
12903
|
+
},
|
|
12904
|
+
"releaseTag": "Public",
|
|
12905
|
+
"isProtected": false,
|
|
12906
|
+
"overloadIndex": 1,
|
|
12907
|
+
"parameters": [
|
|
12908
|
+
{
|
|
12909
|
+
"parameterName": "name",
|
|
12910
|
+
"parameterTypeTokenRange": {
|
|
12911
|
+
"startIndex": 1,
|
|
12912
|
+
"endIndex": 2
|
|
12913
|
+
},
|
|
12914
|
+
"isOptional": false
|
|
12915
|
+
},
|
|
12916
|
+
{
|
|
12917
|
+
"parameterName": "old",
|
|
12918
|
+
"parameterTypeTokenRange": {
|
|
12919
|
+
"startIndex": 3,
|
|
12920
|
+
"endIndex": 4
|
|
12921
|
+
},
|
|
12922
|
+
"isOptional": false
|
|
12923
|
+
},
|
|
12924
|
+
{
|
|
12925
|
+
"parameterName": "val",
|
|
12926
|
+
"parameterTypeTokenRange": {
|
|
12927
|
+
"startIndex": 5,
|
|
12928
|
+
"endIndex": 6
|
|
12929
|
+
},
|
|
12930
|
+
"isOptional": false
|
|
12931
|
+
},
|
|
12932
|
+
{
|
|
12933
|
+
"parameterName": "first",
|
|
12934
|
+
"parameterTypeTokenRange": {
|
|
12935
|
+
"startIndex": 7,
|
|
12936
|
+
"endIndex": 8
|
|
12937
|
+
},
|
|
12938
|
+
"isOptional": false
|
|
12939
|
+
}
|
|
12940
|
+
],
|
|
12941
|
+
"isOptional": false,
|
|
12942
|
+
"isAbstract": false,
|
|
12943
|
+
"name": "propertyChangedCallback"
|
|
12944
|
+
},
|
|
12849
12945
|
{
|
|
12850
12946
|
"kind": "Method",
|
|
12851
12947
|
"canonicalReference": "@pacem/pacem-ui!Components.UI.PacemMenuCursorElement#viewActivatedCallback:member(1)",
|
package/dist/esm/adapter.js
CHANGED
package/dist/esm/anchor.js
CHANGED
package/dist/esm/balloon.js
CHANGED
package/dist/esm/binder.js
CHANGED
package/dist/esm/blade.js
CHANGED
package/dist/esm/bottom-sheet.js
CHANGED
package/dist/esm/button.js
CHANGED
package/dist/esm/buttonset.js
CHANGED
package/dist/esm/calendar.js
CHANGED
package/dist/esm/collapse.js
CHANGED
package/dist/esm/dialog.js
CHANGED
package/dist/esm/divider.js
CHANGED
package/dist/esm/icon.js
CHANGED
package/dist/esm/image.js
CHANGED
package/dist/esm/index-iife.js
CHANGED
package/dist/esm/index.js
CHANGED
package/dist/esm/iterative.js
CHANGED
package/dist/esm/lightbox.js
CHANGED
package/dist/esm/loader.js
CHANGED
package/dist/esm/markdown-svc.js
CHANGED
package/dist/esm/markdown.js
CHANGED
package/dist/esm/marquee.js
CHANGED
package/dist/esm/media-query.js
CHANGED
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-galois (https://js.pacem.it)
|
|
3
3
|
* Pacem (https://pacem.it)
|
|
4
4
|
* Licensed under Apache-2.0
|
|
5
5
|
*/
|
|
@@ -116,44 +116,14 @@ let PacemMenuCursorElement = PacemMenuCursorElement_1 = class PacemMenuCursorEle
|
|
|
116
116
|
constructor() {
|
|
117
117
|
super(...arguments);
|
|
118
118
|
this._onPathChange = (evt) => {
|
|
119
|
-
const
|
|
120
|
-
|
|
121
|
-
this.log(Logging.LogLevel.Warn, `Couldn't find a ${PacemMenuElement} ancestor for this ${PacemMenuCursorElement_1}.`);
|
|
122
|
-
return;
|
|
123
|
-
}
|
|
124
|
-
// 1. try to find a matching PacemAnchorElement
|
|
125
|
-
var anchors = menu.querySelectorAll(P + '-a');
|
|
126
|
-
var tget = null;
|
|
127
|
-
for (let j = 0; j < anchors.length; j++) {
|
|
128
|
-
let a = anchors.item(j);
|
|
129
|
-
if (a.href === path) {
|
|
130
|
-
tget = a;
|
|
131
|
-
break;
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
if (Utils.isNull(tget)) {
|
|
135
|
-
// 2. try with real HTMLAnchorElement
|
|
136
|
-
tget = menu.querySelector(`a[href='${path}']`);
|
|
137
|
-
}
|
|
138
|
-
if (!Utils.isNull(tget)) {
|
|
139
|
-
// TODO: use transforms (remove width/height/top/... animations)
|
|
140
|
-
// TODO: consider <nav> scrollTop
|
|
141
|
-
const rect = Utils.offset(tget);
|
|
142
|
-
const rectMenu = Utils.offset(menu);
|
|
143
|
-
this.style.top = rect.top + 'px';
|
|
144
|
-
this.style.left = rectMenu.left + 'px';
|
|
145
|
-
this.style.width = '0';
|
|
146
|
-
this.style.height = rect.height + 'px';
|
|
147
|
-
Utils.addAnimationEndCallback(this, () => {
|
|
148
|
-
this.style.width = (rect.width + rect.left - rectMenu.left) + 'px';
|
|
149
|
-
}, 500);
|
|
150
|
-
}
|
|
119
|
+
const path = evt?.detail.path;
|
|
120
|
+
this._findAnchorAndScrollItIntoView(path);
|
|
151
121
|
};
|
|
152
122
|
}
|
|
153
123
|
viewActivatedCallback() {
|
|
154
124
|
super.viewActivatedCallback();
|
|
155
125
|
this._menu = CustomElementUtils.findAncestorOfType(this, PacemMenuElement);
|
|
156
|
-
this.
|
|
126
|
+
this._findAnchorAndScrollItIntoView();
|
|
157
127
|
}
|
|
158
128
|
connectedCallback() {
|
|
159
129
|
super.connectedCallback();
|
|
@@ -164,6 +134,49 @@ let PacemMenuCursorElement = PacemMenuCursorElement_1 = class PacemMenuCursorEle
|
|
|
164
134
|
window.removeEventListener('navigate', this._onPathChange, false);
|
|
165
135
|
super.disconnectedCallback();
|
|
166
136
|
}
|
|
137
|
+
propertyChangedCallback(name, old, val, first) {
|
|
138
|
+
super.propertyChangedCallback(name, old, val, first);
|
|
139
|
+
if (first) {
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
142
|
+
switch (name) {
|
|
143
|
+
case 'disabled':
|
|
144
|
+
this._findAnchorAndScrollItIntoView();
|
|
145
|
+
break;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
_findAnchorAndScrollItIntoView(path = window.location.pathname) {
|
|
149
|
+
if (this.disabled) {
|
|
150
|
+
return;
|
|
151
|
+
}
|
|
152
|
+
const menu = this._menu;
|
|
153
|
+
if (Utils.isNull(menu)) {
|
|
154
|
+
this.log(Logging.LogLevel.Warn, `Couldn't find a ${PacemMenuElement} ancestor for this ${PacemMenuCursorElement_1}.`);
|
|
155
|
+
return;
|
|
156
|
+
}
|
|
157
|
+
// 1. try to find a matching PacemAnchorElement
|
|
158
|
+
const anchors = menu.querySelectorAll(P + '-a');
|
|
159
|
+
let tget = null;
|
|
160
|
+
for (let j = 0; j < anchors.length; j++) {
|
|
161
|
+
const a = anchors.item(j);
|
|
162
|
+
const router = a.router;
|
|
163
|
+
let href = Utils.isNull(router)
|
|
164
|
+
? a.href
|
|
165
|
+
: /* build fully formatted href, it might contain placeholders */ Utils.URIs.format(a.href, router.state);
|
|
166
|
+
if (href === path) {
|
|
167
|
+
tget = a;
|
|
168
|
+
break;
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
if (Utils.isNull(tget)) {
|
|
172
|
+
// 2. try with real HTMLAnchorElement
|
|
173
|
+
tget = menu.querySelector(`a[href='${path}']`);
|
|
174
|
+
}
|
|
175
|
+
// finally, scroll if any matching anchor was found
|
|
176
|
+
if (!Utils.isNull(tget)) {
|
|
177
|
+
tget.scrollIntoView({ behavior: 'smooth' });
|
|
178
|
+
}
|
|
179
|
+
}
|
|
167
180
|
};
|
|
168
181
|
PacemMenuCursorElement = PacemMenuCursorElement_1 = __decorate([
|
|
169
182
|
CustomElement({
|
package/dist/esm/pager.js
CHANGED
package/dist/esm/picture.js
CHANGED
package/dist/esm/progressbar.js
CHANGED
package/dist/esm/sidebar.js
CHANGED
package/dist/esm/slideshow.js
CHANGED
package/dist/esm/tabs.js
CHANGED
package/dist/esm/ticker.js
CHANGED
package/dist/esm/toast.js
CHANGED
package/dist/esm/toc.js
CHANGED
package/dist/esm/tuner.js
CHANGED
package/dist/esm/types.js
CHANGED
package/dist/esm/vibration.js
CHANGED
package/dist/esm/view.js
CHANGED
package/dist/esm/window.js
CHANGED
package/package.json
CHANGED
package/typings/index.d.ts
CHANGED
|
@@ -886,6 +886,8 @@ declare class PacemMenuCursorElement extends Components_2.PacemElement {
|
|
|
886
886
|
viewActivatedCallback(): void;
|
|
887
887
|
connectedCallback(): void;
|
|
888
888
|
disconnectedCallback(): void;
|
|
889
|
+
propertyChangedCallback(name: string, old: any, val: any, first: boolean): void;
|
|
890
|
+
private _findAnchorAndScrollItIntoView;
|
|
889
891
|
private _onPathChange;
|
|
890
892
|
}
|
|
891
893
|
|