@pacem/pacem-ui 2.0.0-goldbach → 2.0.0-hadamard
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 +228 -145
- 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 +71 -71
- package/dist/bundle/pacem-ui.mjs +282 -226
- package/dist/bundle/pacem-ui.mjs.map +4 -4
- package/dist/docs/pacem-ui.json +171 -149
- package/dist/esm/adapter.js +1 -1
- package/dist/esm/anchor.js +1 -1
- package/dist/esm/balloon.js +94 -28
- 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 +4 -5
- 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 +17 -5
- 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 +1 -1
- 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 +5 -2
- 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 +47 -10
package/dist/bundle/pacem-ui.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* @pacem/pacem-ui v2.0.0-
|
|
2
|
+
* @pacem/pacem-ui v2.0.0-hadamard (https://js.pacem.it)
|
|
3
3
|
* Pacem (https://pacem.it)
|
|
4
4
|
* Licensed under Apache-2.0
|
|
5
5
|
*/
|
|
@@ -18,11 +18,13 @@ __export(index_components_exports, {
|
|
|
18
18
|
// packages/ui/dist/esm/index-components-ui.js
|
|
19
19
|
var index_components_ui_exports = {};
|
|
20
20
|
__export(index_components_ui_exports, {
|
|
21
|
+
AVAILABLE_HEIGHT_VAR: () => AVAILABLE_HEIGHT_VAR,
|
|
21
22
|
AdapterOrientation: () => AdapterOrientation,
|
|
22
23
|
AdapterPageButtonRefreshEvent: () => AdapterPageButtonRefreshEvent,
|
|
23
24
|
AdapterPageButtonRefreshEventName: () => AdapterPageButtonRefreshEventName,
|
|
24
25
|
BalloonAlignment: () => BalloonAlignment,
|
|
25
26
|
BalloonBehavior: () => BalloonBehavior,
|
|
27
|
+
BalloonPlacement: () => BalloonPlacement,
|
|
26
28
|
BalloonPopoutEventName: () => BalloonPopoutEventName,
|
|
27
29
|
BalloonPopupEventName: () => BalloonPopupEventName,
|
|
28
30
|
BalloonPosition: () => BalloonPosition,
|
|
@@ -628,16 +630,21 @@ var BalloonAlignment;
|
|
|
628
630
|
BalloonAlignment2["End"] = "end";
|
|
629
631
|
BalloonAlignment2["Auto"] = "auto";
|
|
630
632
|
})(BalloonAlignment || (BalloonAlignment = {}));
|
|
631
|
-
var
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
633
|
+
var BalloonPlacement = {
|
|
634
|
+
Top: "top",
|
|
635
|
+
Left: "left",
|
|
636
|
+
Bottom: "bottom",
|
|
637
|
+
Right: "right"
|
|
638
|
+
};
|
|
639
|
+
var BalloonPlacementOption = {
|
|
640
|
+
Auto: "auto",
|
|
641
|
+
HorizontalAuto: "x",
|
|
642
|
+
VerticalAuto: "y"
|
|
643
|
+
};
|
|
644
|
+
var BalloonPosition = {
|
|
645
|
+
...BalloonPlacement,
|
|
646
|
+
...BalloonPlacementOption
|
|
647
|
+
};
|
|
641
648
|
var BalloonSizing;
|
|
642
649
|
(function(BalloonSizing2) {
|
|
643
650
|
BalloonSizing2["Auto"] = "auto";
|
|
@@ -659,6 +666,8 @@ var BalloonConsts = {
|
|
|
659
666
|
"track": true
|
|
660
667
|
}
|
|
661
668
|
};
|
|
669
|
+
var AVAILABLE_HEIGHT_VAR = "--pacem-balloon-available-height";
|
|
670
|
+
var AVAILABLE_HEIGHT_GUTTER = 8;
|
|
662
671
|
var positioningStyles = "balloon-right balloon-left balloon-bottom balloon-top balloon-start balloon-center balloon-end";
|
|
663
672
|
var allStyles = PCSS3 + "-balloon " + positioningStyles + " balloon-out balloon-in balloon-on";
|
|
664
673
|
var PacemBalloonElement = class PacemBalloonElement2 extends Components3.PacemElement {
|
|
@@ -843,6 +852,32 @@ var PacemBalloonElement = class PacemBalloonElement2 extends Components3.PacemEl
|
|
|
843
852
|
this._adjust();
|
|
844
853
|
}
|
|
845
854
|
}
|
|
855
|
+
/**
|
|
856
|
+
* The side {@link BalloonOptions.prefer} asks for, when the balloon fits there (its natural size, on that side of the
|
|
857
|
+
* target, within the viewport); `null` otherwise, or when nothing is preferred.
|
|
858
|
+
* @param room The room around the target, per side.
|
|
859
|
+
*/
|
|
860
|
+
_preferredSide(opts, room) {
|
|
861
|
+
const prefer = opts.prefer;
|
|
862
|
+
if (Utils3.isNull(prefer) || !(prefer in room)) {
|
|
863
|
+
return null;
|
|
864
|
+
}
|
|
865
|
+
const isVertical = prefer === BalloonPlacement.Top || prefer === BalloonPlacement.Bottom;
|
|
866
|
+
const size = isVertical ? this.offsetHeight : this.offsetWidth;
|
|
867
|
+
const fits = size + AVAILABLE_HEIGHT_GUTTER <= room[prefer];
|
|
868
|
+
return fits ? prefer : null;
|
|
869
|
+
}
|
|
870
|
+
/** The room left on a side of the target (the whole viewport height for a side that is not above or below). */
|
|
871
|
+
_availableHeight(position, offsetTop, offsetBottom, viewportHeight) {
|
|
872
|
+
switch (position) {
|
|
873
|
+
case BalloonPosition.Top:
|
|
874
|
+
return Math.max(offsetTop - AVAILABLE_HEIGHT_GUTTER, 0);
|
|
875
|
+
case BalloonPosition.Bottom:
|
|
876
|
+
return Math.max(offsetBottom - AVAILABLE_HEIGHT_GUTTER, 0);
|
|
877
|
+
default:
|
|
878
|
+
return viewportHeight;
|
|
879
|
+
}
|
|
880
|
+
}
|
|
846
881
|
_adjust() {
|
|
847
882
|
const popup = this, el = popup.target;
|
|
848
883
|
if (Utils3.isNull(el)) {
|
|
@@ -852,22 +887,31 @@ var PacemBalloonElement = class PacemBalloonElement2 extends Components3.PacemEl
|
|
|
852
887
|
const vieportSize = Utils3.windowSize;
|
|
853
888
|
var opts = this._options;
|
|
854
889
|
var chosenPosition = opts.position, chosenAlignment = opts.align;
|
|
890
|
+
const viewportHeight = vieportSize.height;
|
|
891
|
+
const viewportWidth = vieportSize.width;
|
|
892
|
+
const offsetLeft = coords.left - Utils3.scrollLeft;
|
|
893
|
+
const offsetTop = coords.top - Utils3.scrollTop;
|
|
894
|
+
const offsetBottom = viewportHeight - (offsetTop + coords.height);
|
|
895
|
+
const offsetRight = viewportWidth - (offsetLeft + coords.width);
|
|
896
|
+
popup.style.removeProperty(AVAILABLE_HEIGHT_VAR);
|
|
855
897
|
if (chosenPosition != BalloonPosition.Top && chosenPosition != BalloonPosition.Bottom && chosenPosition != BalloonPosition.Left && chosenPosition != BalloonPosition.Right) {
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
898
|
+
const room = { top: offsetTop, bottom: offsetBottom, left: offsetLeft, right: offsetRight };
|
|
899
|
+
const preferred = this._preferredSide(opts, room);
|
|
900
|
+
if (!Utils3.isNull(preferred)) {
|
|
901
|
+
chosenPosition = preferred;
|
|
902
|
+
} else {
|
|
903
|
+
switch (chosenPosition) {
|
|
904
|
+
case BalloonPosition.HorizontalAuto:
|
|
905
|
+
chosenPosition = offsetLeft > offsetRight ? BalloonPosition.Left : BalloonPosition.Right;
|
|
906
|
+
break;
|
|
907
|
+
default:
|
|
908
|
+
chosenPosition = offsetTop > offsetBottom ? BalloonPosition.Top : BalloonPosition.Bottom;
|
|
909
|
+
break;
|
|
910
|
+
}
|
|
869
911
|
}
|
|
870
912
|
}
|
|
913
|
+
const availableHeight = this._availableHeight(chosenPosition, offsetTop, offsetBottom, viewportHeight);
|
|
914
|
+
popup.style.setProperty(AVAILABLE_HEIGHT_VAR, `${availableHeight}px`);
|
|
871
915
|
if (opts.size === BalloonSizing.Match) {
|
|
872
916
|
switch (chosenPosition) {
|
|
873
917
|
case BalloonPosition.Bottom:
|
|
@@ -1026,11 +1070,12 @@ var PacemBalloonElement = class PacemBalloonElement2 extends Components3.PacemEl
|
|
|
1026
1070
|
this._timer = setTimeout(() => this.popup(), delay);
|
|
1027
1071
|
return;
|
|
1028
1072
|
}
|
|
1029
|
-
const popup = this, isVisible = Utils3.isVisible(popup);
|
|
1073
|
+
const popup = this, isVisible = Utils3.isVisible(popup), isLeaving = Utils3.hasClass(popup, "balloon-out");
|
|
1030
1074
|
this._adjustWatchers(true);
|
|
1031
|
-
if (isVisible || this.disabled) {
|
|
1075
|
+
if (isVisible && !isLeaving || this.disabled) {
|
|
1032
1076
|
return;
|
|
1033
1077
|
}
|
|
1078
|
+
Utils3.removeClass(popup, "balloon-out");
|
|
1034
1079
|
this._registerEvents();
|
|
1035
1080
|
popup.style.pointerEvents = "none";
|
|
1036
1081
|
this._visible = true;
|
|
@@ -1064,6 +1109,9 @@ var PacemBalloonElement = class PacemBalloonElement2 extends Components3.PacemEl
|
|
|
1064
1109
|
Utils3.removeClass(popup, "balloon-in balloon-on");
|
|
1065
1110
|
Utils3.addClass(popup, "balloon-out");
|
|
1066
1111
|
Utils3.addAnimationEndCallback(popup, () => {
|
|
1112
|
+
if (!Utils3.hasClass(popup, "balloon-out")) {
|
|
1113
|
+
return;
|
|
1114
|
+
}
|
|
1067
1115
|
popup.style.visibility = "hidden";
|
|
1068
1116
|
this._visible = false;
|
|
1069
1117
|
Utils3.removeClass(popup, allStyles);
|
|
@@ -1146,7 +1194,7 @@ PacemBalloonElement = __decorate3([
|
|
|
1146
1194
|
shadow: true,
|
|
1147
1195
|
template: `<${P3}-resize target="{{ :host.target }}" disabled="true" watch-position="true" on-${Components3.ResizeEventName}=":host._onLayoutChange($event)"></${P3}-resize>
|
|
1148
1196
|
<div class="${PCSS3}-balloon-face"></div>
|
|
1149
|
-
<div class="${PCSS3}-balloon"><${P3}-resize on-${Components3.ResizeEventName}=":host._onLayoutChange($event)" disabled="true" content><slot></slot></${P3}-resize></div>
|
|
1197
|
+
<div class="${PCSS3}-balloon"><${P3}-resize on-${Components3.ResizeEventName}=":host._onLayoutChange($event)" disabled="true" content style="display: block"><slot></slot></${P3}-resize></div>
|
|
1150
1198
|
<div class="corner top-left" part="corner-topleft"></div><div class="corner bottom-left" part="corner-bottomleft"></div><div class="corner top-right" part="corner-topright"></div><div class="corner bottom-right" part="corner-bottomright"></div>`
|
|
1151
1199
|
})
|
|
1152
1200
|
], PacemBalloonElement);
|
|
@@ -2193,79 +2241,14 @@ PacemBottomSheetElement = __decorate6([
|
|
|
2193
2241
|
], PacemBottomSheetElement);
|
|
2194
2242
|
|
|
2195
2243
|
// packages/ui/dist/esm/button.js
|
|
2196
|
-
import { P as P7, PCSS as PCSS6, CustomElement as CustomElement7, Watch as
|
|
2197
|
-
|
|
2198
|
-
// packages/ui/dist/esm/dialog-abstractions.js
|
|
2199
|
-
import { Watch as Watch7, Utils as Utils7, Components as Components7, CustomTypedEvent, Logging, avoidHandler as avoidHandler3 } from "@pacem/pacem-core";
|
|
2244
|
+
import { P as P7, PCSS as PCSS6, CustomElement as CustomElement7, Watch as Watch7, Utils as Utils7, PropertyConverters as PropertyConverters7, Components as Components7, CommandEvent } from "@pacem/pacem-core";
|
|
2200
2245
|
var __decorate7 = function(decorators, target, key, desc) {
|
|
2201
2246
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
2202
2247
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
2203
2248
|
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;
|
|
2204
2249
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
2205
2250
|
};
|
|
2206
|
-
var
|
|
2207
|
-
(function(DialogButtons2) {
|
|
2208
|
-
DialogButtons2["YesNo"] = "yesno";
|
|
2209
|
-
DialogButtons2["YesNoCancel"] = "yesnocancel";
|
|
2210
|
-
DialogButtons2["Ok"] = "ok";
|
|
2211
|
-
DialogButtons2["OkCancel"] = "okcancel";
|
|
2212
|
-
})(DialogButtons || (DialogButtons = {}));
|
|
2213
|
-
var DialogButton;
|
|
2214
|
-
(function(DialogButton2) {
|
|
2215
|
-
DialogButton2["Yes"] = "yes";
|
|
2216
|
-
DialogButton2["No"] = "no";
|
|
2217
|
-
DialogButton2["Cancel"] = "cancel";
|
|
2218
|
-
DialogButton2["Ok"] = "ok";
|
|
2219
|
-
})(DialogButton || (DialogButton = {}));
|
|
2220
|
-
var DialogResultEventName = "commit";
|
|
2221
|
-
var DialogResultEvent = class extends CustomTypedEvent {
|
|
2222
|
-
constructor(args) {
|
|
2223
|
-
super(DialogResultEventName, args);
|
|
2224
|
-
}
|
|
2225
|
-
};
|
|
2226
|
-
var PacemDialogBase = class extends Components7.PacemElement {
|
|
2227
|
-
#deferred;
|
|
2228
|
-
/** Opens the dialog, optionally seeding its `state`. @returns A promise resolved with the {@link DialogResultEventArgs} once the dialog is committed. */
|
|
2229
|
-
open(state) {
|
|
2230
|
-
const lb = this.lightbox;
|
|
2231
|
-
if (!Utils7.isNull(this.#deferred)) {
|
|
2232
|
-
throw `Dialog already open.`;
|
|
2233
|
-
}
|
|
2234
|
-
const deferred = this.#deferred = Promise.withResolvers();
|
|
2235
|
-
if (this.hide || this.disabled) {
|
|
2236
|
-
this.log(Logging.LogLevel.Warn, "Dialog hidden or disabled, opening forbidden.");
|
|
2237
|
-
deferred.reject();
|
|
2238
|
-
} else {
|
|
2239
|
-
this.dispatchEvent(new Event("open"));
|
|
2240
|
-
lb.show = true;
|
|
2241
|
-
this.state = state;
|
|
2242
|
-
}
|
|
2243
|
-
return deferred.promise;
|
|
2244
|
-
}
|
|
2245
|
-
/** Closes the dialog with the given button outcome, resolving the pending `open()` promise and dispatching a {@link DialogResultEvent}. */
|
|
2246
|
-
commit(btn, evt) {
|
|
2247
|
-
avoidHandler3(evt);
|
|
2248
|
-
this.log(Logging.LogLevel.Debug, `Committing dialog by clicking '${btn}'.`);
|
|
2249
|
-
const state = this.state;
|
|
2250
|
-
var drevt = new DialogResultEvent({ button: btn, state });
|
|
2251
|
-
this.lightbox.show = false;
|
|
2252
|
-
this.#deferred.resolve(drevt.detail);
|
|
2253
|
-
this.#deferred = null;
|
|
2254
|
-
this.dispatchEvent(drevt);
|
|
2255
|
-
}
|
|
2256
|
-
};
|
|
2257
|
-
__decorate7([
|
|
2258
|
-
Watch7()
|
|
2259
|
-
], PacemDialogBase.prototype, "state", void 0);
|
|
2260
|
-
|
|
2261
|
-
// packages/ui/dist/esm/button.js
|
|
2262
|
-
var __decorate8 = function(decorators, target, key, desc) {
|
|
2263
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
2264
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
2265
|
-
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;
|
|
2266
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
2267
|
-
};
|
|
2268
|
-
var PacemButtonElement = class PacemButtonElement2 extends Components8.PacemIterableElement {
|
|
2251
|
+
var PacemButtonElement = class PacemButtonElement2 extends Components7.PacemIterableElement {
|
|
2269
2252
|
constructor() {
|
|
2270
2253
|
super("button");
|
|
2271
2254
|
}
|
|
@@ -2289,68 +2272,67 @@ var PacemButtonElement = class PacemButtonElement2 extends Components8.PacemIter
|
|
|
2289
2272
|
let fn = (ev) => {
|
|
2290
2273
|
super.emit(ev);
|
|
2291
2274
|
if (!ev.defaultPrevented) {
|
|
2292
|
-
if (ev.type === "click" && !
|
|
2275
|
+
if (ev.type === "click" && !Utils7.isNullOrEmpty(this.commandName)) {
|
|
2293
2276
|
this.dispatchEvent(new CommandEvent({ commandName: this.commandName, commandArgument: this.commandArgument }));
|
|
2294
2277
|
}
|
|
2295
2278
|
switch (ev.type) {
|
|
2296
2279
|
case "mousedown":
|
|
2297
2280
|
if (evt.button === 0) {
|
|
2298
|
-
|
|
2281
|
+
Utils7.addClass(this, PCSS6 + "-active");
|
|
2299
2282
|
}
|
|
2300
2283
|
break;
|
|
2301
2284
|
case "pointerdown":
|
|
2302
|
-
|
|
2285
|
+
Utils7.addClass(this, PCSS6 + "-active");
|
|
2303
2286
|
break;
|
|
2304
2287
|
case "keydown":
|
|
2305
2288
|
if (ev.keyCode === 32 || ev.keyCode === 13) {
|
|
2306
2289
|
evt.preventDefault();
|
|
2307
|
-
|
|
2290
|
+
Utils7.addClass(this, PCSS6 + "-active");
|
|
2308
2291
|
}
|
|
2309
2292
|
break;
|
|
2310
2293
|
case "blur":
|
|
2311
2294
|
case "mouseup":
|
|
2312
2295
|
case "pointerup":
|
|
2313
2296
|
case "click":
|
|
2314
|
-
|
|
2297
|
+
Utils7.removeClass(this, PCSS6 + "-active");
|
|
2315
2298
|
break;
|
|
2316
2299
|
case "keyup":
|
|
2317
2300
|
if (ev.keyCode === 32 || ev.keyCode === 13) {
|
|
2318
2301
|
this.click();
|
|
2319
|
-
|
|
2302
|
+
Utils7.removeClass(this, PCSS6 + "-active");
|
|
2320
2303
|
}
|
|
2321
2304
|
break;
|
|
2322
2305
|
}
|
|
2323
2306
|
}
|
|
2324
2307
|
};
|
|
2325
|
-
if (!this.disabled && evt.type === "click" && !
|
|
2326
|
-
this.confirmationDialog.open(this.confirmationMessage).then((r) => {
|
|
2327
|
-
|
|
2328
|
-
fn(evt);
|
|
2308
|
+
if (!this.disabled && evt.type === "click" && !Utils7.isNull(this.confirmationDialog)) {
|
|
2309
|
+
this.confirmationDialog.open(this.confirmationMessage, true).then((r) => {
|
|
2310
|
+
fn(evt);
|
|
2329
2311
|
});
|
|
2330
2312
|
} else if (!(evt instanceof MouseEvent) || evt.button === 0) {
|
|
2331
2313
|
fn(evt);
|
|
2332
2314
|
}
|
|
2333
2315
|
}
|
|
2334
2316
|
};
|
|
2335
|
-
|
|
2336
|
-
|
|
2317
|
+
__decorate7([
|
|
2318
|
+
Watch7({ emit: false, converter: PropertyConverters7.String })
|
|
2337
2319
|
], PacemButtonElement.prototype, "iconGlyph", void 0);
|
|
2338
|
-
|
|
2339
|
-
|
|
2320
|
+
__decorate7([
|
|
2321
|
+
Watch7({ emit: false, converter: PropertyConverters7.String })
|
|
2340
2322
|
], PacemButtonElement.prototype, "iconUrl", void 0);
|
|
2341
|
-
|
|
2342
|
-
|
|
2323
|
+
__decorate7([
|
|
2324
|
+
Watch7({ emit: false, converter: PropertyConverters7.String })
|
|
2343
2325
|
], PacemButtonElement.prototype, "commandName", void 0);
|
|
2344
|
-
|
|
2345
|
-
|
|
2326
|
+
__decorate7([
|
|
2327
|
+
Watch7({ emit: false, converter: PropertyConverters7.Json })
|
|
2346
2328
|
], PacemButtonElement.prototype, "commandArgument", void 0);
|
|
2347
|
-
|
|
2348
|
-
|
|
2329
|
+
__decorate7([
|
|
2330
|
+
Watch7({ emit: false, converter: PropertyConverters7.String })
|
|
2349
2331
|
], PacemButtonElement.prototype, "confirmationMessage", void 0);
|
|
2350
|
-
|
|
2351
|
-
|
|
2332
|
+
__decorate7([
|
|
2333
|
+
Watch7({ emit: false, converter: PropertyConverters7.Element })
|
|
2352
2334
|
], PacemButtonElement.prototype, "confirmationDialog", void 0);
|
|
2353
|
-
PacemButtonElement =
|
|
2335
|
+
PacemButtonElement = __decorate7([
|
|
2354
2336
|
CustomElement7({
|
|
2355
2337
|
tagName: P7 + "-button",
|
|
2356
2338
|
modifiers: ["hoverable", "focusable", "clickable"]
|
|
@@ -2358,14 +2340,14 @@ PacemButtonElement = __decorate8([
|
|
|
2358
2340
|
], PacemButtonElement);
|
|
2359
2341
|
|
|
2360
2342
|
// packages/ui/dist/esm/buttonset.js
|
|
2361
|
-
import { P as P8, CustomElement as CustomElement8, Components as
|
|
2362
|
-
var
|
|
2343
|
+
import { P as P8, CustomElement as CustomElement8, Components as Components8 } from "@pacem/pacem-core";
|
|
2344
|
+
var __decorate8 = function(decorators, target, key, desc) {
|
|
2363
2345
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
2364
2346
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
2365
2347
|
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;
|
|
2366
2348
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
2367
2349
|
};
|
|
2368
|
-
var PacemButtonsetElement = class PacemButtonsetElement2 extends
|
|
2350
|
+
var PacemButtonsetElement = class PacemButtonsetElement2 extends Components8.PacemIterativeElement {
|
|
2369
2351
|
connectedCallback() {
|
|
2370
2352
|
super.connectedCallback();
|
|
2371
2353
|
if (!("tabindex" in this.attributes))
|
|
@@ -2390,15 +2372,15 @@ var PacemButtonsetElement = class PacemButtonsetElement2 extends Components9.Pac
|
|
|
2390
2372
|
return item instanceof PacemButtonElement;
|
|
2391
2373
|
}
|
|
2392
2374
|
};
|
|
2393
|
-
PacemButtonsetElement =
|
|
2375
|
+
PacemButtonsetElement = __decorate8([
|
|
2394
2376
|
CustomElement8({
|
|
2395
2377
|
tagName: P8 + "-buttonset"
|
|
2396
2378
|
})
|
|
2397
2379
|
], PacemButtonsetElement);
|
|
2398
2380
|
|
|
2399
2381
|
// packages/ui/dist/esm/calendar.js
|
|
2400
|
-
import { P as P9, PCSS as PCSS7, CustomElement as CustomElement9, Watch as
|
|
2401
|
-
var
|
|
2382
|
+
import { P as P9, PCSS as PCSS7, CustomElement as CustomElement9, Watch as Watch8, ViewChild as ViewChild4, Utils as Utils8, PropertyConverters as PropertyConverters8, Components as Components9, CustomTypedEvent, PropertyChangeEvent as PropertyChangeEvent3, Defaults as Defaults2, CustomElementUtils as CustomElementUtils4, Debounce as Debounce2, PropertyChangeEventName } from "@pacem/pacem-core";
|
|
2383
|
+
var __decorate9 = function(decorators, target, key, desc) {
|
|
2402
2384
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
2403
2385
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
2404
2386
|
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;
|
|
@@ -2410,17 +2392,17 @@ var CalendarZoom;
|
|
|
2410
2392
|
CalendarZoom2["Week"] = "week";
|
|
2411
2393
|
CalendarZoom2["Day"] = "day";
|
|
2412
2394
|
})(CalendarZoom || (CalendarZoom = {}));
|
|
2413
|
-
var ViewDateChangeEvent = class extends
|
|
2395
|
+
var ViewDateChangeEvent = class extends CustomTypedEvent {
|
|
2414
2396
|
constructor(date) {
|
|
2415
2397
|
super("viewdatechange", date);
|
|
2416
2398
|
}
|
|
2417
2399
|
};
|
|
2418
|
-
var DateSelectEvent = class extends
|
|
2400
|
+
var DateSelectEvent = class extends CustomTypedEvent {
|
|
2419
2401
|
constructor(date) {
|
|
2420
2402
|
super("dateselect", date, { bubbles: true });
|
|
2421
2403
|
}
|
|
2422
2404
|
};
|
|
2423
|
-
var TimeSelectEvent = class extends
|
|
2405
|
+
var TimeSelectEvent = class extends CustomTypedEvent {
|
|
2424
2406
|
constructor(date) {
|
|
2425
2407
|
super("timeselect", date, { bubbles: true });
|
|
2426
2408
|
}
|
|
@@ -2478,51 +2460,51 @@ var DAY_HOURS = [
|
|
|
2478
2460
|
23.5
|
|
2479
2461
|
];
|
|
2480
2462
|
var now = /* @__PURE__ */ new Date();
|
|
2481
|
-
var DUMMY_DATE =
|
|
2463
|
+
var DUMMY_DATE = Utils8.Dates.dateOnly(now).valueOf();
|
|
2482
2464
|
var DAYS_OF_WEEK = ["sunday", "monday", "tuesday", "wednesday", "thursday", "friday", "saturday"];
|
|
2483
|
-
var PacemCalendarEventElement = class PacemCalendarEventElement2 extends
|
|
2465
|
+
var PacemCalendarEventElement = class PacemCalendarEventElement2 extends Components9.PacemItemElement {
|
|
2484
2466
|
propertyChangedCallback(name, old, val, first) {
|
|
2485
2467
|
super.propertyChangedCallback(name, old, val, first);
|
|
2486
2468
|
cancelAnimationFrame(this._handle);
|
|
2487
2469
|
this._handle = requestAnimationFrame(() => {
|
|
2488
2470
|
let container = this.container;
|
|
2489
|
-
if (!
|
|
2471
|
+
if (!Utils8.isNull(container)) {
|
|
2490
2472
|
container.dispatchEvent(new PropertyChangeEvent3({ propertyName: "items", oldValue: container.items, currentValue: container.items }));
|
|
2491
2473
|
}
|
|
2492
2474
|
});
|
|
2493
2475
|
}
|
|
2494
2476
|
};
|
|
2495
|
-
|
|
2496
|
-
|
|
2477
|
+
__decorate9([
|
|
2478
|
+
Watch8({ converter: PropertyConverters8.Datetime })
|
|
2497
2479
|
], PacemCalendarEventElement.prototype, "start", void 0);
|
|
2498
|
-
|
|
2499
|
-
|
|
2480
|
+
__decorate9([
|
|
2481
|
+
Watch8({ converter: PropertyConverters8.Datetime })
|
|
2500
2482
|
], PacemCalendarEventElement.prototype, "end", void 0);
|
|
2501
|
-
|
|
2502
|
-
|
|
2483
|
+
__decorate9([
|
|
2484
|
+
Watch8({ converter: PropertyConverters8.String })
|
|
2503
2485
|
], PacemCalendarEventElement.prototype, "caption", void 0);
|
|
2504
|
-
|
|
2505
|
-
|
|
2486
|
+
__decorate9([
|
|
2487
|
+
Watch8({ converter: PropertyConverters8.Json })
|
|
2506
2488
|
], PacemCalendarEventElement.prototype, "place", void 0);
|
|
2507
|
-
|
|
2508
|
-
|
|
2489
|
+
__decorate9([
|
|
2490
|
+
Watch8({ converter: PropertyConverters8.Boolean })
|
|
2509
2491
|
], PacemCalendarEventElement.prototype, "allDay", void 0);
|
|
2510
|
-
PacemCalendarEventElement =
|
|
2492
|
+
PacemCalendarEventElement = __decorate9([
|
|
2511
2493
|
CustomElement9({
|
|
2512
2494
|
tagName: P9 + "-calendar-event"
|
|
2513
2495
|
})
|
|
2514
2496
|
], PacemCalendarEventElement);
|
|
2515
|
-
var CalendarEventSelectEvent = class extends
|
|
2497
|
+
var CalendarEventSelectEvent = class extends CustomTypedEvent {
|
|
2516
2498
|
constructor(args) {
|
|
2517
2499
|
super("eventselect", args, { bubbles: false, cancelable: true });
|
|
2518
2500
|
}
|
|
2519
2501
|
};
|
|
2520
|
-
var CalendarEventUnselectEvent = class extends
|
|
2502
|
+
var CalendarEventUnselectEvent = class extends CustomTypedEvent {
|
|
2521
2503
|
constructor(args) {
|
|
2522
2504
|
super("eventunselect", args, { bubbles: false, cancelable: true });
|
|
2523
2505
|
}
|
|
2524
2506
|
};
|
|
2525
|
-
var PacemCalendarBaseElement = class extends
|
|
2507
|
+
var PacemCalendarBaseElement = class extends Components9.PacemItemsContainerElement {
|
|
2526
2508
|
validate(item) {
|
|
2527
2509
|
return item instanceof PacemCalendarEventElement;
|
|
2528
2510
|
}
|
|
@@ -2534,13 +2516,13 @@ var PacemCalendarBaseElement = class extends Components10.PacemItemsContainerEle
|
|
|
2534
2516
|
switch (name) {
|
|
2535
2517
|
case "viewDate":
|
|
2536
2518
|
this.dispatchEvent(new ViewDateChangeEvent(val));
|
|
2537
|
-
|
|
2519
|
+
Utils8.removeClass(this, "viewdate-next viewdate-previous");
|
|
2538
2520
|
requestAnimationFrame(() => {
|
|
2539
|
-
|
|
2521
|
+
Utils8.addClass(this, old > val ? "viewdate-previous" : "viewdate-next");
|
|
2540
2522
|
});
|
|
2541
2523
|
break;
|
|
2542
2524
|
case "zoom":
|
|
2543
|
-
|
|
2525
|
+
Utils8.removeClass(this, "viewdate-next viewdate-previous");
|
|
2544
2526
|
break;
|
|
2545
2527
|
}
|
|
2546
2528
|
}
|
|
@@ -2556,25 +2538,25 @@ var PacemCalendarBaseElement = class extends Components10.PacemItemsContainerEle
|
|
|
2556
2538
|
/* fallback: month */
|
|
2557
2539
|
{ weekday: "short" }
|
|
2558
2540
|
);
|
|
2559
|
-
return
|
|
2541
|
+
return Utils8.parseDate(d).toLocaleString(Utils8.lang(this), options);
|
|
2560
2542
|
}
|
|
2561
2543
|
getDayLabel(d) {
|
|
2562
2544
|
const options = d.getDate() == 1 ? { month: "short", day: "numeric" } : { day: "numeric" };
|
|
2563
|
-
return
|
|
2545
|
+
return Utils8.parseDate(d).toLocaleString(Utils8.lang(this), options);
|
|
2564
2546
|
}
|
|
2565
2547
|
getHourLabel(d) {
|
|
2566
2548
|
const options = {
|
|
2567
2549
|
hour: "numeric"
|
|
2568
2550
|
/*, minute: 'numeric'*/
|
|
2569
2551
|
};
|
|
2570
|
-
return
|
|
2552
|
+
return Utils8.parseDate(d).toLocaleString(Utils8.lang(this), options);
|
|
2571
2553
|
}
|
|
2572
2554
|
getTimeLabel(d) {
|
|
2573
2555
|
const options = { hour: "numeric", minute: "numeric" };
|
|
2574
|
-
return
|
|
2556
|
+
return Utils8.parseDate(d).toLocaleString(Utils8.lang(this), options);
|
|
2575
2557
|
}
|
|
2576
2558
|
isNow(d, now2) {
|
|
2577
|
-
const d0 =
|
|
2559
|
+
const d0 = Utils8.parseDate(d), v = Utils8.parseDate(now2 || /* @__PURE__ */ new Date());
|
|
2578
2560
|
return d0.getHours() === v.getHours() && this.isToday(d, now2);
|
|
2579
2561
|
}
|
|
2580
2562
|
isToday(d, now2) {
|
|
@@ -2584,26 +2566,26 @@ var PacemCalendarBaseElement = class extends Components10.PacemItemsContainerEle
|
|
|
2584
2566
|
return this.isDate(d, vd || this.viewDate || /* @__PURE__ */ new Date());
|
|
2585
2567
|
}
|
|
2586
2568
|
isDate(expected, d) {
|
|
2587
|
-
if (!
|
|
2569
|
+
if (!Utils8.Dates.isDate(d) || !Utils8.Dates.isDate(expected)) {
|
|
2588
2570
|
return false;
|
|
2589
2571
|
}
|
|
2590
|
-
const d0 =
|
|
2572
|
+
const d0 = Utils8.parseDate(expected), v = Utils8.parseDate(d);
|
|
2591
2573
|
return d0.getDate() === v.getDate() && d0.getMonth() == v.getMonth() && d0.getFullYear() === v.getFullYear();
|
|
2592
2574
|
}
|
|
2593
2575
|
isViewWeek(d) {
|
|
2594
|
-
const d0 =
|
|
2576
|
+
const d0 = Utils8.parseDate(d);
|
|
2595
2577
|
return this.week && this.week.find((d1) => d1.getDate() == d0.getDate() && d1.getMonth() == d0.getMonth() && d1.getDate() == d0.getDate());
|
|
2596
2578
|
}
|
|
2597
2579
|
isViewMonth(d) {
|
|
2598
|
-
const d0 =
|
|
2580
|
+
const d0 = Utils8.parseDate(d), v = Utils8.parseDate(this.viewDate || /* @__PURE__ */ new Date());
|
|
2599
2581
|
return d0.getMonth() == v.getMonth() && d0.getFullYear() === v.getFullYear();
|
|
2600
2582
|
}
|
|
2601
2583
|
isTimeSlotDisabled(ranges, d, h) {
|
|
2602
|
-
if (!
|
|
2584
|
+
if (!Utils8.isNullOrEmpty(ranges)) {
|
|
2603
2585
|
h = h || 0;
|
|
2604
2586
|
const slotDate = new Date(d.getFullYear(), d.getMonth(), d.getDate(), Math.floor(h), 60 * (h % 1)), tz = slotDate.getTimezoneOffset(), slot = slotDate.valueOf() - tz * 60 * 1e3;
|
|
2605
2587
|
for (let range of ranges) {
|
|
2606
|
-
let from =
|
|
2588
|
+
let from = Utils8.Dates.parse(range.from), to = Utils8.Dates.parse(range.to);
|
|
2607
2589
|
if ((!from || from && from.valueOf() <= slot) && (!to || to && to.valueOf() > slot) && (to || from)) {
|
|
2608
2590
|
return true;
|
|
2609
2591
|
}
|
|
@@ -2625,10 +2607,10 @@ var PacemCalendarBaseElement = class extends Components10.PacemItemsContainerEle
|
|
|
2625
2607
|
return v + (tget - dow) * MSECS_PER_DAY;
|
|
2626
2608
|
}
|
|
2627
2609
|
_getDatasource(d, w = this.weekStart) {
|
|
2628
|
-
let day =
|
|
2610
|
+
let day = Utils8.Dates.dateOnly(Utils8.parseDate(d));
|
|
2629
2611
|
const ds = this.month;
|
|
2630
2612
|
let _d0 = ds && ds.length && ds[0] && ds[0].length && ds[0][0];
|
|
2631
|
-
if (_d0 && _d0.getMonth() == day.getMonth() && _d0.getFullYear() == day.getFullYear() && ds.find((wk) => !
|
|
2613
|
+
if (_d0 && _d0.getMonth() == day.getMonth() && _d0.getFullYear() == day.getFullYear() && ds.find((wk) => !Utils8.isNull(wk.find((dy) => dy.valueOf() == day.valueOf())))) {
|
|
2632
2614
|
return ds;
|
|
2633
2615
|
}
|
|
2634
2616
|
let d1 = new Date(day.getFullYear(), day.getMonth(), 1);
|
|
@@ -2636,7 +2618,7 @@ var PacemCalendarBaseElement = class extends Components10.PacemItemsContainerEle
|
|
|
2636
2618
|
let month = [];
|
|
2637
2619
|
let week = [];
|
|
2638
2620
|
do {
|
|
2639
|
-
let date =
|
|
2621
|
+
let date = Utils8.Dates.dateOnly(new Date(date1));
|
|
2640
2622
|
week.push(date);
|
|
2641
2623
|
if (week.length == 7) {
|
|
2642
2624
|
month.push(week.splice(0));
|
|
@@ -2647,7 +2629,7 @@ var PacemCalendarBaseElement = class extends Components10.PacemItemsContainerEle
|
|
|
2647
2629
|
return this.month = month;
|
|
2648
2630
|
}
|
|
2649
2631
|
_synchronizeWeek() {
|
|
2650
|
-
const viewDate =
|
|
2632
|
+
const viewDate = Utils8.parseDate(this.viewDate);
|
|
2651
2633
|
const vd = new Date(viewDate.getFullYear(), viewDate.getMonth(), 1);
|
|
2652
2634
|
const ds = this._getDatasource(vd, this.weekStart);
|
|
2653
2635
|
const week = ds.filter((w, j) => w.some((d) => d.getDate() == viewDate.getDate() && d.getMonth() == viewDate.getMonth() && d.getFullYear() == viewDate.getFullYear()))[0];
|
|
@@ -2656,26 +2638,26 @@ var PacemCalendarBaseElement = class extends Components10.PacemItemsContainerEle
|
|
|
2656
2638
|
}
|
|
2657
2639
|
}
|
|
2658
2640
|
};
|
|
2659
|
-
|
|
2660
|
-
|
|
2641
|
+
__decorate9([
|
|
2642
|
+
Watch8({ converter: PropertyConverters8.Datetime })
|
|
2661
2643
|
], PacemCalendarBaseElement.prototype, "viewDate", void 0);
|
|
2662
|
-
|
|
2663
|
-
|
|
2644
|
+
__decorate9([
|
|
2645
|
+
Watch8({ converter: PropertyConverters8.Datetime })
|
|
2664
2646
|
], PacemCalendarBaseElement.prototype, "now", void 0);
|
|
2665
|
-
|
|
2666
|
-
|
|
2647
|
+
__decorate9([
|
|
2648
|
+
Watch8({ converter: PropertyConverters8.String })
|
|
2667
2649
|
], PacemCalendarBaseElement.prototype, "zoom", void 0);
|
|
2668
|
-
|
|
2669
|
-
|
|
2650
|
+
__decorate9([
|
|
2651
|
+
Watch8({ converter: PropertyConverters8.String })
|
|
2670
2652
|
], PacemCalendarBaseElement.prototype, "weekStart", void 0);
|
|
2671
|
-
|
|
2672
|
-
|
|
2653
|
+
__decorate9([
|
|
2654
|
+
Watch8({ converter: PropertyConverters8.Eval })
|
|
2673
2655
|
], PacemCalendarBaseElement.prototype, "week", void 0);
|
|
2674
|
-
|
|
2675
|
-
|
|
2656
|
+
__decorate9([
|
|
2657
|
+
Watch8({ converter: PropertyConverters8.Eval })
|
|
2676
2658
|
], PacemCalendarBaseElement.prototype, "month", void 0);
|
|
2677
|
-
|
|
2678
|
-
|
|
2659
|
+
__decorate9([
|
|
2660
|
+
Watch8({ converter: PropertyConverters8.Eval })
|
|
2679
2661
|
], PacemCalendarBaseElement.prototype, "disabledRanges", void 0);
|
|
2680
2662
|
var PacemCalendarWithEventsBaseElement = class extends PacemCalendarBaseElement {
|
|
2681
2663
|
constructor() {
|
|
@@ -2720,12 +2702,12 @@ var PacemCalendarWithEventsBaseElement = class extends PacemCalendarBaseElement
|
|
|
2720
2702
|
function getWeeklyEventDataItems(items, week) {
|
|
2721
2703
|
let lbound = week.length - 1, wstart = week[0].valueOf(), wend = week[lbound].valueOf();
|
|
2722
2704
|
return items.filter((evt) => {
|
|
2723
|
-
let startDate =
|
|
2724
|
-
let endDate =
|
|
2705
|
+
let startDate = Utils8.Dates.dateOnly(evt.start);
|
|
2706
|
+
let endDate = Utils8.Dates.dateOnly(evt.end);
|
|
2725
2707
|
return startDate.valueOf() <= wend && endDate.valueOf() >= wstart;
|
|
2726
2708
|
}).map((evt) => {
|
|
2727
|
-
let startDate =
|
|
2728
|
-
let endDate =
|
|
2709
|
+
let startDate = Utils8.Dates.dateOnly(evt.start), start = week.find((d) => d.valueOf() == startDate.valueOf()), startIndex = week.indexOf(start);
|
|
2710
|
+
let endDate = Utils8.Dates.dateOnly(evt.end), end = week.find((d) => d.valueOf() == endDate.valueOf()), endIndex = week.indexOf(end);
|
|
2729
2711
|
let ndx0 = startIndex == -1 ? 0 : startIndex, ndx1 = endIndex == -1 ? lbound : endIndex;
|
|
2730
2712
|
return {
|
|
2731
2713
|
start: evt.start,
|
|
@@ -2769,10 +2751,10 @@ var PacemAgendaElement = class PacemAgendaElement2 extends PacemCalendarWithEven
|
|
|
2769
2751
|
buildDataSource(items) {
|
|
2770
2752
|
var week = this.week;
|
|
2771
2753
|
if (this.zoom === CalendarZoom.Day) {
|
|
2772
|
-
week = [
|
|
2754
|
+
week = [Utils8.Dates.dateOnly(this.viewDate)];
|
|
2773
2755
|
}
|
|
2774
2756
|
let ds = [];
|
|
2775
|
-
if (!
|
|
2757
|
+
if (!Utils8.isNull(week)) {
|
|
2776
2758
|
this.dispatchEvent(new PropertyChangeEvent3({
|
|
2777
2759
|
propertyName: "allDayDatasource",
|
|
2778
2760
|
oldValue: this._allDayDatasource,
|
|
@@ -2782,8 +2764,8 @@ var PacemAgendaElement = class PacemAgendaElement2 extends PacemCalendarWithEven
|
|
|
2782
2764
|
}));
|
|
2783
2765
|
for (let j = 0; j < week.length; j++) {
|
|
2784
2766
|
let day = week[j], dayValue = day.valueOf(), dayItems = items.filter((evt) => {
|
|
2785
|
-
let startDate =
|
|
2786
|
-
let endDate =
|
|
2767
|
+
let startDate = Utils8.Dates.dateOnly(evt.start);
|
|
2768
|
+
let endDate = Utils8.Dates.dateOnly(evt.end);
|
|
2787
2769
|
return startDate.valueOf() <= dayValue && endDate.valueOf() >= dayValue;
|
|
2788
2770
|
}).map((evt) => {
|
|
2789
2771
|
let evtStart = evt.start.valueOf(), evtEnd = evt.end.valueOf();
|
|
@@ -2823,7 +2805,7 @@ var PacemAgendaElement = class PacemAgendaElement2 extends PacemCalendarWithEven
|
|
|
2823
2805
|
const clock = this._clock;
|
|
2824
2806
|
if (name === "time") {
|
|
2825
2807
|
this.dispatchEvent(new TimeSelectEvent(val));
|
|
2826
|
-
} else if (!
|
|
2808
|
+
} else if (!Utils8.isNull(clock)) {
|
|
2827
2809
|
if (name === "now") {
|
|
2828
2810
|
clock.now = val;
|
|
2829
2811
|
clock.className = `hour-${val.getHours()} minute-${val.getMinutes()}`;
|
|
@@ -2836,13 +2818,13 @@ var PacemAgendaElement = class PacemAgendaElement2 extends PacemCalendarWithEven
|
|
|
2836
2818
|
}
|
|
2837
2819
|
}
|
|
2838
2820
|
};
|
|
2839
|
-
|
|
2821
|
+
__decorate9([
|
|
2840
2822
|
ViewChild4(P9 + "-clock")
|
|
2841
2823
|
], PacemAgendaElement.prototype, "_clock", void 0);
|
|
2842
|
-
|
|
2843
|
-
|
|
2824
|
+
__decorate9([
|
|
2825
|
+
Watch8({ converter: PropertyConverters8.Datetime })
|
|
2844
2826
|
], PacemAgendaElement.prototype, "time", void 0);
|
|
2845
|
-
PacemAgendaElement =
|
|
2827
|
+
PacemAgendaElement = __decorate9([
|
|
2846
2828
|
CustomElement9({
|
|
2847
2829
|
tagName: P9 + "-agenda",
|
|
2848
2830
|
shadow: Defaults2.USE_SHADOW_ROOT,
|
|
@@ -2885,7 +2867,7 @@ var PacemCalendarElement = class PacemCalendarElement2 extends PacemCalendarWith
|
|
|
2885
2867
|
buildDataSource(items) {
|
|
2886
2868
|
const month = this.month;
|
|
2887
2869
|
let ds = [];
|
|
2888
|
-
if (!
|
|
2870
|
+
if (!Utils8.isNull(month)) {
|
|
2889
2871
|
for (let j = 0; j < month.length; j++) {
|
|
2890
2872
|
let week = month[j], weekItems = getWeeklyEventDataItems(items, week);
|
|
2891
2873
|
ds.push(weekItems);
|
|
@@ -2918,16 +2900,16 @@ var PacemCalendarElement = class PacemCalendarElement2 extends PacemCalendarWith
|
|
|
2918
2900
|
return super.getDayLabel(d);
|
|
2919
2901
|
}
|
|
2920
2902
|
};
|
|
2921
|
-
|
|
2922
|
-
|
|
2903
|
+
__decorate9([
|
|
2904
|
+
Watch8({ converter: PropertyConverters8.Datetime })
|
|
2923
2905
|
], PacemCalendarElement.prototype, "date", void 0);
|
|
2924
|
-
|
|
2925
|
-
|
|
2906
|
+
__decorate9([
|
|
2907
|
+
Watch8({ emit: false })
|
|
2926
2908
|
], PacemCalendarElement.prototype, "dayLabelFormatter", void 0);
|
|
2927
|
-
|
|
2928
|
-
|
|
2909
|
+
__decorate9([
|
|
2910
|
+
Watch8()
|
|
2929
2911
|
], PacemCalendarElement.prototype, "_formatVersion", void 0);
|
|
2930
|
-
PacemCalendarElement =
|
|
2912
|
+
PacemCalendarElement = __decorate9([
|
|
2931
2913
|
CustomElement9({
|
|
2932
2914
|
tagName: P9 + "-calendar",
|
|
2933
2915
|
shadow: Defaults2.USE_SHADOW_ROOT,
|
|
@@ -2947,12 +2929,12 @@ PacemCalendarElement = __decorate10([
|
|
|
2947
2929
|
</${P9}-repeater><${P9}-content></${P9}-content>`
|
|
2948
2930
|
})
|
|
2949
2931
|
], PacemCalendarElement);
|
|
2950
|
-
var PacemClockElement = class PacemClockElement2 extends
|
|
2932
|
+
var PacemClockElement = class PacemClockElement2 extends Components9.PacemElement {
|
|
2951
2933
|
};
|
|
2952
|
-
|
|
2953
|
-
|
|
2934
|
+
__decorate9([
|
|
2935
|
+
Watch8({ converter: PropertyConverters8.Datetime })
|
|
2954
2936
|
], PacemClockElement.prototype, "now", void 0);
|
|
2955
|
-
PacemClockElement =
|
|
2937
|
+
PacemClockElement = __decorate9([
|
|
2956
2938
|
CustomElement9({ tagName: P9 + "-clock" })
|
|
2957
2939
|
], PacemClockElement);
|
|
2958
2940
|
function buildCalendarHeader() {
|
|
@@ -2960,7 +2942,7 @@ function buildCalendarHeader() {
|
|
|
2960
2942
|
for (let day = 0; day < 7; day++) {
|
|
2961
2943
|
header += `<${P9}-span culture="{{ :host.culture }}" css-class="{{ {'viewday': :host.isViewDay(:host.week[${day}], :host.viewDate)} }}" class="schedule-heading day-${day + 1} text-ellipsed" text="{{ :host.getHeaderLabel(:host.week[${day}], :host.zoom) }}"></${P9}-span>`;
|
|
2962
2944
|
}
|
|
2963
|
-
const id = "dock_" +
|
|
2945
|
+
const id = "dock_" + Utils8.uniqueCode();
|
|
2964
2946
|
return `<div class="schedule-header schedule-grid"><div class="heading-left"></div>${header}</div>`;
|
|
2965
2947
|
}
|
|
2966
2948
|
var PacemScheduleElement = class PacemScheduleElement2 extends PacemCalendarBaseElement {
|
|
@@ -2978,13 +2960,13 @@ var PacemScheduleElement = class PacemScheduleElement2 extends PacemCalendarBase
|
|
|
2978
2960
|
super.disconnectedCallback();
|
|
2979
2961
|
}
|
|
2980
2962
|
};
|
|
2981
|
-
|
|
2963
|
+
__decorate9([
|
|
2982
2964
|
ViewChild4(P9 + "-calendar")
|
|
2983
2965
|
], PacemScheduleElement.prototype, "_calendar", void 0);
|
|
2984
|
-
|
|
2966
|
+
__decorate9([
|
|
2985
2967
|
ViewChild4(P9 + "-agenda")
|
|
2986
2968
|
], PacemScheduleElement.prototype, "_agenda", void 0);
|
|
2987
|
-
PacemScheduleElement =
|
|
2969
|
+
PacemScheduleElement = __decorate9([
|
|
2988
2970
|
CustomElement9({
|
|
2989
2971
|
tagName: P9 + "-schedule",
|
|
2990
2972
|
shadow: Defaults2.USE_SHADOW_ROOT,
|
|
@@ -3003,7 +2985,7 @@ var PacemCalendarRuleBaseElement = class extends HTMLElement {
|
|
|
3003
2985
|
this._disabledRanges = [];
|
|
3004
2986
|
}
|
|
3005
2987
|
viewActivatedCallback() {
|
|
3006
|
-
if (!
|
|
2988
|
+
if (!Utils8.isNull(this._target = CustomElementUtils4.findAncestor(this, (node) => node instanceof PacemCalendarBaseElement))) {
|
|
3007
2989
|
this.refreshDisabledRanges();
|
|
3008
2990
|
} else {
|
|
3009
2991
|
throw `Missing ancestor calendar element for ${this.constructor.name}.`;
|
|
@@ -3017,7 +2999,7 @@ var PacemCalendarRuleBaseElement = class extends HTMLElement {
|
|
|
3017
2999
|
return this._target;
|
|
3018
3000
|
}
|
|
3019
3001
|
refreshDisabledRanges() {
|
|
3020
|
-
if (
|
|
3002
|
+
if (Utils8.isNullOrEmpty(this._target)) {
|
|
3021
3003
|
return;
|
|
3022
3004
|
}
|
|
3023
3005
|
let actualRanges = this._target.disabledRanges || [];
|
|
@@ -3034,7 +3016,7 @@ var PacemCalendarRuleBaseElement = class extends HTMLElement {
|
|
|
3034
3016
|
this._target.disabledRanges = actualRanges;
|
|
3035
3017
|
}
|
|
3036
3018
|
};
|
|
3037
|
-
|
|
3019
|
+
__decorate9([
|
|
3038
3020
|
Debounce2(true)
|
|
3039
3021
|
], PacemCalendarRuleBaseElement.prototype, "refreshDisabledRanges", null);
|
|
3040
3022
|
var PacemCalendarDayOfWeekRuleElement = class PacemCalendarDayOfWeekRuleElement2 extends PacemCalendarRuleBaseElement {
|
|
@@ -3062,7 +3044,7 @@ var PacemCalendarDayOfWeekRuleElement = class PacemCalendarDayOfWeekRuleElement2
|
|
|
3062
3044
|
for (let week of this.target.month) {
|
|
3063
3045
|
for (let day of week) {
|
|
3064
3046
|
if (this._daysOfWeek.indexOf(day.getDay()) == -1) {
|
|
3065
|
-
let from =
|
|
3047
|
+
let from = Utils8.Dates.dateOnly(day), to = Utils8.Dates.dateOnly(new Date(from.valueOf() + MSECS_PER_DAY + /* get rid of daylight saving switches */
|
|
3066
3048
|
MSECS_PER_HOUR));
|
|
3067
3049
|
retval.push({ from, to });
|
|
3068
3050
|
}
|
|
@@ -3071,16 +3053,16 @@ var PacemCalendarDayOfWeekRuleElement = class PacemCalendarDayOfWeekRuleElement2
|
|
|
3071
3053
|
return retval;
|
|
3072
3054
|
}
|
|
3073
3055
|
};
|
|
3074
|
-
|
|
3075
|
-
|
|
3056
|
+
__decorate9([
|
|
3057
|
+
Watch8({ emit: false, converter: PropertyConverters8.StringArray })
|
|
3076
3058
|
], PacemCalendarDayOfWeekRuleElement.prototype, "days", void 0);
|
|
3077
|
-
PacemCalendarDayOfWeekRuleElement =
|
|
3059
|
+
PacemCalendarDayOfWeekRuleElement = __decorate9([
|
|
3078
3060
|
CustomElement9({ tagName: P9 + "-calendar-daysofweek-rule" })
|
|
3079
3061
|
], PacemCalendarDayOfWeekRuleElement);
|
|
3080
3062
|
|
|
3081
3063
|
// packages/ui/dist/esm/collapse.js
|
|
3082
|
-
import { P as P10, PCSS as PCSS8, CustomElement as CustomElement10, Watch as
|
|
3083
|
-
var
|
|
3064
|
+
import { P as P10, PCSS as PCSS8, CustomElement as CustomElement10, Watch as Watch9, ViewChild as ViewChild5, Utils as Utils9, PropertyConverters as PropertyConverters9, PacemEventTarget, Components as Components10 } from "@pacem/pacem-core";
|
|
3065
|
+
var __decorate10 = function(decorators, target, key, desc) {
|
|
3084
3066
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3085
3067
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
3086
3068
|
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;
|
|
@@ -3102,7 +3084,7 @@ var PacemCollapseElement = class PacemCollapseElement2 extends PacemEventTarget
|
|
|
3102
3084
|
case "collapse":
|
|
3103
3085
|
this._toggle();
|
|
3104
3086
|
case "disabled":
|
|
3105
|
-
if (!
|
|
3087
|
+
if (!Utils9.isNull(this._resizer)) {
|
|
3106
3088
|
this._resizer.disabled = this.disabled || this.collapse;
|
|
3107
3089
|
}
|
|
3108
3090
|
break;
|
|
@@ -3117,38 +3099,112 @@ var PacemCollapseElement = class PacemCollapseElement2 extends PacemEventTarget
|
|
|
3117
3099
|
}
|
|
3118
3100
|
_toggle() {
|
|
3119
3101
|
const div = this, collapse = this.collapse, state = this.#state;
|
|
3120
|
-
if (this.disabled ||
|
|
3102
|
+
if (this.disabled || Utils9.isNull(div))
|
|
3121
3103
|
return;
|
|
3122
3104
|
if (this.horizontal) {
|
|
3123
|
-
|
|
3105
|
+
Utils9.addClass(div, PCSS8 + "-horizontal");
|
|
3124
3106
|
div.style.height = state && state.height + "px" || "";
|
|
3125
3107
|
div.style.width = collapse ? "0" : state && state.width + "px" || "";
|
|
3126
3108
|
} else {
|
|
3127
|
-
|
|
3109
|
+
Utils9.removeClass(div, PCSS8 + "-horizontal");
|
|
3128
3110
|
div.style.height = collapse ? "0" : state && state.height + "px" || "";
|
|
3129
3111
|
}
|
|
3130
3112
|
}
|
|
3131
3113
|
};
|
|
3132
|
-
|
|
3133
|
-
|
|
3114
|
+
__decorate10([
|
|
3115
|
+
Watch9({ converter: PropertyConverters9.Boolean })
|
|
3134
3116
|
], PacemCollapseElement.prototype, "collapse", void 0);
|
|
3135
|
-
|
|
3136
|
-
|
|
3117
|
+
__decorate10([
|
|
3118
|
+
Watch9({ emit: false, converter: PropertyConverters9.Boolean })
|
|
3137
3119
|
], PacemCollapseElement.prototype, "horizontal", void 0);
|
|
3138
|
-
|
|
3120
|
+
__decorate10([
|
|
3139
3121
|
ViewChild5(P10 + "-resize")
|
|
3140
3122
|
], PacemCollapseElement.prototype, "_resizer", void 0);
|
|
3141
|
-
|
|
3123
|
+
__decorate10([
|
|
3142
3124
|
ViewChild5(`[part=content]`)
|
|
3143
3125
|
], PacemCollapseElement.prototype, "_container", void 0);
|
|
3144
|
-
PacemCollapseElement =
|
|
3126
|
+
PacemCollapseElement = __decorate10([
|
|
3145
3127
|
CustomElement10({
|
|
3146
3128
|
tagName: P10 + "-collapse",
|
|
3147
3129
|
shadow: true,
|
|
3148
|
-
template: `<${P10}-resize on-${
|
|
3130
|
+
template: `<${P10}-resize on-${Components10.ResizeEventName}=":host._resizeHandler($event)" target="{{ ::_container }}"></${P10}-resize><div part="container"><div part="content"><slot></slot></div></div>`
|
|
3149
3131
|
})
|
|
3150
3132
|
], PacemCollapseElement);
|
|
3151
3133
|
|
|
3134
|
+
// packages/ui/dist/esm/dialog-abstractions.js
|
|
3135
|
+
import { Watch as Watch10, Utils as Utils10, Components as Components11, CustomTypedEvent as CustomTypedEvent2, Logging, avoidHandler as avoidHandler3 } from "@pacem/pacem-core";
|
|
3136
|
+
var __decorate11 = function(decorators, target, key, desc) {
|
|
3137
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3138
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
3139
|
+
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;
|
|
3140
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
3141
|
+
};
|
|
3142
|
+
var DialogButtons;
|
|
3143
|
+
(function(DialogButtons2) {
|
|
3144
|
+
DialogButtons2["YesNo"] = "yesno";
|
|
3145
|
+
DialogButtons2["YesNoCancel"] = "yesnocancel";
|
|
3146
|
+
DialogButtons2["Ok"] = "ok";
|
|
3147
|
+
DialogButtons2["OkCancel"] = "okcancel";
|
|
3148
|
+
})(DialogButtons || (DialogButtons = {}));
|
|
3149
|
+
var DialogButton;
|
|
3150
|
+
(function(DialogButton2) {
|
|
3151
|
+
DialogButton2["Yes"] = "yes";
|
|
3152
|
+
DialogButton2["No"] = "no";
|
|
3153
|
+
DialogButton2["Cancel"] = "cancel";
|
|
3154
|
+
DialogButton2["Ok"] = "ok";
|
|
3155
|
+
})(DialogButton || (DialogButton = {}));
|
|
3156
|
+
var DialogResultEventName = "commit";
|
|
3157
|
+
var DialogResultEvent = class extends CustomTypedEvent2 {
|
|
3158
|
+
constructor(args) {
|
|
3159
|
+
super(DialogResultEventName, args);
|
|
3160
|
+
}
|
|
3161
|
+
};
|
|
3162
|
+
var PacemDialogBase = class extends Components11.PacemElement {
|
|
3163
|
+
#deferred;
|
|
3164
|
+
/** Opens the dialog, optionally seeding its `state`. @returns A promise resolved with the {@link DialogResultEventArgs} once the dialog is committed. */
|
|
3165
|
+
open(state, rejectOnDeny = false) {
|
|
3166
|
+
const lb = this.lightbox;
|
|
3167
|
+
if (!Utils10.isNull(this.#deferred)) {
|
|
3168
|
+
throw `Dialog already open.`;
|
|
3169
|
+
}
|
|
3170
|
+
const deferred = (this.#deferred = { promise: Promise.withResolvers(), rejectOnDeny }).promise;
|
|
3171
|
+
if (this.hide || this.disabled) {
|
|
3172
|
+
this.log(Logging.LogLevel.Warn, "Dialog hidden or disabled, opening forbidden.");
|
|
3173
|
+
deferred.reject();
|
|
3174
|
+
} else {
|
|
3175
|
+
this.dispatchEvent(new Event("open"));
|
|
3176
|
+
lb.show = true;
|
|
3177
|
+
this.state = state;
|
|
3178
|
+
}
|
|
3179
|
+
return deferred.promise;
|
|
3180
|
+
}
|
|
3181
|
+
/** Closes the dialog with the given button outcome, resolving the pending `open()` promise and dispatching a {@link DialogResultEvent}. */
|
|
3182
|
+
commit(btn, evt) {
|
|
3183
|
+
avoidHandler3(evt);
|
|
3184
|
+
this.log(Logging.LogLevel.Debug, `Committing dialog by clicking '${btn}'.`);
|
|
3185
|
+
const state = this.state;
|
|
3186
|
+
var drevt = new DialogResultEvent({ button: btn, state });
|
|
3187
|
+
this.lightbox.show = false;
|
|
3188
|
+
const { promise, rejectOnDeny } = this.#deferred;
|
|
3189
|
+
if (rejectOnDeny) {
|
|
3190
|
+
switch (btn) {
|
|
3191
|
+
case DialogButton.Cancel:
|
|
3192
|
+
case DialogButton.No:
|
|
3193
|
+
promise.reject(drevt.detail);
|
|
3194
|
+
default:
|
|
3195
|
+
promise.resolve(drevt.detail);
|
|
3196
|
+
}
|
|
3197
|
+
} else {
|
|
3198
|
+
promise.resolve(drevt.detail);
|
|
3199
|
+
}
|
|
3200
|
+
this.#deferred = null;
|
|
3201
|
+
this.dispatchEvent(drevt);
|
|
3202
|
+
}
|
|
3203
|
+
};
|
|
3204
|
+
__decorate11([
|
|
3205
|
+
Watch10()
|
|
3206
|
+
], PacemDialogBase.prototype, "state", void 0);
|
|
3207
|
+
|
|
3152
3208
|
// packages/ui/dist/esm/dialog.js
|
|
3153
3209
|
import { P as P11, PCSS as PCSS9, Defaults as Defaults3, CustomElement as CustomElement11, ViewChild as ViewChild6, Watch as Watch11, PropertyConverters as PropertyConverters10 } from "@pacem/pacem-core";
|
|
3154
3210
|
var __decorate12 = function(decorators, target, key, desc) {
|
|
@@ -5233,7 +5289,7 @@ var PacemTickerElement = class PacemTickerElement2 extends Components29.PacemSaf
|
|
|
5233
5289
|
}
|
|
5234
5290
|
if (typeof content === "string") {
|
|
5235
5291
|
const safeContent = this.sanitize(content);
|
|
5236
|
-
this.#newContent = this._buildMarkupNode(safeContent);
|
|
5292
|
+
this.#newContent = typeof safeContent === "string" ? this._buildMarkupNode(safeContent) : Array.from(safeContent.childNodes);
|
|
5237
5293
|
} else if (content instanceof Node) {
|
|
5238
5294
|
const safeContent = this.sanitize(content);
|
|
5239
5295
|
this.replaceChildren(...this.#newContent = [safeContent]);
|