@tylertech/forge 2.1.0-next.0 → 2.2.0
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/README.md +26 -12
- package/dist/esm/accordion/index.js +5 -5
- package/dist/esm/app-bar/help-button/index.js +8 -8
- package/dist/esm/app-bar/index.js +14 -14
- package/dist/esm/app-bar/menu-button/index.js +4 -4
- package/dist/esm/app-bar/notification-button/index.js +4 -4
- package/dist/esm/app-bar/profile-button/index.js +6 -6
- package/dist/esm/app-bar/search/index.js +3 -3
- package/dist/esm/autocomplete/index.js +9 -9
- package/dist/esm/banner/index.js +4 -4
- package/dist/esm/bottom-sheet/index.js +4 -4
- package/dist/esm/busy-indicator/index.js +4 -3
- package/dist/esm/button/index.js +2 -1
- package/dist/esm/calendar/calendar-dropdown/index.js +1 -1
- package/dist/esm/calendar/calendar-menu/index.js +1 -1
- package/dist/esm/calendar/index.js +5 -5
- package/dist/esm/checkbox/index.js +1 -1
- package/dist/esm/chip-field/index.js +6 -6
- package/dist/esm/chips/chip/index.js +4 -4
- package/dist/esm/chips/chip-set/index.js +4 -4
- package/dist/esm/chips/index.js +5 -5
- package/dist/esm/chunks/{chunk.AYOZGYGO.js → chunk.3AK3VGRT.js} +2 -2
- package/dist/esm/chunks/{chunk.AYOZGYGO.js.map → chunk.3AK3VGRT.js.map} +0 -0
- package/dist/esm/chunks/{chunk.52F6VUCF.js → chunk.3VR7VHL5.js} +26 -2
- package/dist/esm/chunks/{chunk.52F6VUCF.js.map → chunk.3VR7VHL5.js.map} +2 -2
- package/dist/esm/chunks/{chunk.D4XU5MZN.js → chunk.47D77ELY.js} +2 -2
- package/dist/esm/chunks/{chunk.D4XU5MZN.js.map → chunk.47D77ELY.js.map} +0 -0
- package/dist/esm/chunks/{chunk.FBUQQD2T.js → chunk.4ZBBOR4H.js} +2 -2
- package/dist/esm/chunks/{chunk.FBUQQD2T.js.map → chunk.4ZBBOR4H.js.map} +0 -0
- package/dist/esm/chunks/{chunk.AHQ6QX3J.js → chunk.57PBV4F4.js} +10 -6
- package/dist/esm/chunks/chunk.57PBV4F4.js.map +7 -0
- package/dist/esm/chunks/{chunk.OQRMHHPB.js → chunk.5CZWANU6.js} +3 -3
- package/dist/esm/chunks/{chunk.OQRMHHPB.js.map → chunk.5CZWANU6.js.map} +0 -0
- package/dist/esm/chunks/{chunk.NQOD2XB3.js → chunk.5VNEDRVC.js} +3 -3
- package/dist/esm/chunks/{chunk.NQOD2XB3.js.map → chunk.5VNEDRVC.js.map} +0 -0
- package/dist/esm/chunks/{chunk.2FXYTBYG.js → chunk.7M3P4QES.js} +6 -6
- package/dist/esm/chunks/{chunk.2FXYTBYG.js.map → chunk.7M3P4QES.js.map} +0 -0
- package/dist/esm/chunks/{chunk.EA7XMXI5.js → chunk.B425FZOZ.js} +2 -2
- package/dist/esm/chunks/{chunk.EA7XMXI5.js.map → chunk.B425FZOZ.js.map} +0 -0
- package/dist/esm/chunks/{chunk.4BG22DGY.js → chunk.BCR7WWZ4.js} +39 -39
- package/dist/esm/chunks/{chunk.4BG22DGY.js.map → chunk.BCR7WWZ4.js.map} +0 -0
- package/dist/esm/chunks/{chunk.7KILTPJ6.js → chunk.BDUWJSVW.js} +2 -2
- package/dist/esm/chunks/{chunk.7KILTPJ6.js.map → chunk.BDUWJSVW.js.map} +0 -0
- package/dist/esm/chunks/{chunk.COF6DD6T.js → chunk.BORNGK7Q.js} +2 -2
- package/dist/esm/chunks/{chunk.COF6DD6T.js.map → chunk.BORNGK7Q.js.map} +1 -1
- package/dist/esm/chunks/{chunk.J6LOWXOG.js → chunk.C44LSSHS.js} +2 -2
- package/dist/esm/chunks/{chunk.J6LOWXOG.js.map → chunk.C44LSSHS.js.map} +0 -0
- package/dist/esm/chunks/{chunk.D5DMZ7ZG.js → chunk.D3TFEKH5.js} +4 -4
- package/dist/esm/chunks/{chunk.D5DMZ7ZG.js.map → chunk.D3TFEKH5.js.map} +0 -0
- package/dist/esm/chunks/{chunk.2LSEVYAC.js → chunk.D4VIYWFB.js} +2 -2
- package/dist/esm/chunks/{chunk.2LSEVYAC.js.map → chunk.D4VIYWFB.js.map} +0 -0
- package/dist/esm/chunks/{chunk.KRW2IAIU.js → chunk.DKHOY6QU.js} +2 -2
- package/dist/esm/chunks/{chunk.KRW2IAIU.js.map → chunk.DKHOY6QU.js.map} +0 -0
- package/dist/esm/chunks/{chunk.MAGJQ2PP.js → chunk.DVYPTR7X.js} +3 -3
- package/dist/esm/chunks/{chunk.MAGJQ2PP.js.map → chunk.DVYPTR7X.js.map} +0 -0
- package/dist/esm/chunks/{chunk.O6UHX6FK.js → chunk.DWURTRGM.js} +6 -6
- package/dist/esm/chunks/{chunk.O6UHX6FK.js.map → chunk.DWURTRGM.js.map} +0 -0
- package/dist/esm/chunks/{chunk.SKISCNSC.js → chunk.EQCPRLUV.js} +2 -2
- package/dist/esm/chunks/{chunk.SKISCNSC.js.map → chunk.EQCPRLUV.js.map} +0 -0
- package/dist/esm/chunks/{chunk.XEF6G5NS.js → chunk.H3WRHPWA.js} +3 -3
- package/dist/esm/chunks/{chunk.XEF6G5NS.js.map → chunk.H3WRHPWA.js.map} +0 -0
- package/dist/esm/chunks/{chunk.ETP6HSXO.js → chunk.HVD3BBQG.js} +2 -2
- package/dist/esm/chunks/{chunk.ETP6HSXO.js.map → chunk.HVD3BBQG.js.map} +0 -0
- package/dist/esm/chunks/{chunk.RR7HDQU6.js → chunk.HWWCD755.js} +3 -3
- package/dist/esm/chunks/{chunk.RR7HDQU6.js.map → chunk.HWWCD755.js.map} +0 -0
- package/dist/esm/chunks/{chunk.7FC5CPLE.js → chunk.I5JCM7RT.js} +2 -2
- package/dist/esm/chunks/{chunk.7FC5CPLE.js.map → chunk.I5JCM7RT.js.map} +0 -0
- package/dist/esm/chunks/{chunk.EARNUKJ2.js → chunk.IYOZSEZ3.js} +2 -2
- package/dist/esm/chunks/{chunk.EARNUKJ2.js.map → chunk.IYOZSEZ3.js.map} +0 -0
- package/dist/esm/chunks/{chunk.XIDZXGD4.js → chunk.JXYNKA2P.js} +5 -5
- package/dist/esm/chunks/{chunk.XIDZXGD4.js.map → chunk.JXYNKA2P.js.map} +0 -0
- package/dist/esm/chunks/{chunk.XO3XVXWW.js → chunk.KQB2BYBK.js} +3 -3
- package/dist/esm/chunks/{chunk.XO3XVXWW.js.map → chunk.KQB2BYBK.js.map} +0 -0
- package/dist/esm/chunks/{chunk.BOWCSPCH.js → chunk.L65L5VJ6.js} +3 -3
- package/dist/esm/chunks/{chunk.BOWCSPCH.js.map → chunk.L65L5VJ6.js.map} +0 -0
- package/dist/esm/chunks/{chunk.ST3R6JEE.js → chunk.LKUKESRQ.js} +2 -2
- package/dist/esm/chunks/{chunk.ST3R6JEE.js.map → chunk.LKUKESRQ.js.map} +0 -0
- package/dist/esm/chunks/{chunk.OJI6ZRYW.js → chunk.MJOGAPOA.js} +3 -3
- package/dist/esm/chunks/{chunk.OJI6ZRYW.js.map → chunk.MJOGAPOA.js.map} +0 -0
- package/dist/esm/chunks/{chunk.JQQOZMKQ.js → chunk.MSCWHFJZ.js} +5 -5
- package/dist/esm/chunks/{chunk.JQQOZMKQ.js.map → chunk.MSCWHFJZ.js.map} +0 -0
- package/dist/esm/chunks/{chunk.ZG4NZM2P.js → chunk.NL6CT7BU.js} +2 -2
- package/dist/esm/chunks/{chunk.ZG4NZM2P.js.map → chunk.NL6CT7BU.js.map} +0 -0
- package/dist/esm/chunks/{chunk.5NXVVSTU.js → chunk.P477KUJ4.js} +16 -1
- package/dist/esm/chunks/chunk.P477KUJ4.js.map +7 -0
- package/dist/esm/chunks/{chunk.FMMPWQKC.js → chunk.PZ25GQD2.js} +3 -3
- package/dist/esm/chunks/{chunk.FMMPWQKC.js.map → chunk.PZ25GQD2.js.map} +0 -0
- package/dist/esm/chunks/{chunk.NRI7SWVX.js → chunk.RF5UPII7.js} +6 -6
- package/dist/esm/chunks/{chunk.NRI7SWVX.js.map → chunk.RF5UPII7.js.map} +0 -0
- package/dist/esm/chunks/{chunk.3KCCCXWS.js → chunk.RMVJBNCY.js} +2 -2
- package/dist/esm/chunks/{chunk.3KCCCXWS.js.map → chunk.RMVJBNCY.js.map} +0 -0
- package/dist/esm/chunks/{chunk.CGHKW6S6.js → chunk.SOWHHCLN.js} +5 -5
- package/dist/esm/chunks/{chunk.CGHKW6S6.js.map → chunk.SOWHHCLN.js.map} +0 -0
- package/dist/esm/chunks/{chunk.ETQIBLKP.js → chunk.U7HKGOBR.js} +3 -3
- package/dist/esm/chunks/{chunk.ETQIBLKP.js.map → chunk.U7HKGOBR.js.map} +0 -0
- package/dist/esm/chunks/{chunk.7Y4NHCJH.js → chunk.UM3J4AZ7.js} +37 -3
- package/dist/esm/chunks/chunk.UM3J4AZ7.js.map +7 -0
- package/dist/esm/chunks/{chunk.EKIW7VYG.js → chunk.V4C3O7PX.js} +2 -2
- package/dist/esm/chunks/{chunk.EKIW7VYG.js.map → chunk.V4C3O7PX.js.map} +1 -1
- package/dist/esm/chunks/{chunk.P43Z3YAS.js → chunk.V6TRG2CM.js} +2 -2
- package/dist/esm/chunks/{chunk.P43Z3YAS.js.map → chunk.V6TRG2CM.js.map} +0 -0
- package/dist/esm/chunks/{chunk.JICZQ2BO.js → chunk.VEC77KBM.js} +2 -2
- package/dist/esm/chunks/{chunk.JICZQ2BO.js.map → chunk.VEC77KBM.js.map} +0 -0
- package/dist/esm/chunks/{chunk.ZABF5CI6.js → chunk.Y2ORADJS.js} +6 -6
- package/dist/esm/chunks/{chunk.ZABF5CI6.js.map → chunk.Y2ORADJS.js.map} +0 -0
- package/dist/esm/chunks/{chunk.KI3IHPS2.js → chunk.YKNYR3NX.js} +2 -2
- package/dist/esm/chunks/{chunk.KI3IHPS2.js.map → chunk.YKNYR3NX.js.map} +0 -0
- package/dist/esm/chunks/{chunk.BZPQIDQP.js → chunk.ZIFMMVW6.js} +3 -3
- package/dist/esm/chunks/{chunk.BZPQIDQP.js.map → chunk.ZIFMMVW6.js.map} +0 -0
- package/dist/esm/chunks/{chunk.4V5O2CPU.js → chunk.ZPABBQEA.js} +4 -4
- package/dist/esm/chunks/{chunk.4V5O2CPU.js.map → chunk.ZPABBQEA.js.map} +0 -0
- package/dist/esm/chunks/{chunk.XGMOOPIE.js → chunk.ZWZVIMQJ.js} +4 -4
- package/dist/esm/chunks/{chunk.XGMOOPIE.js.map → chunk.ZWZVIMQJ.js.map} +0 -0
- package/dist/esm/circular-progress/index.js +1 -1
- package/dist/esm/color-picker/index.js +4 -4
- package/dist/esm/core/index.js +6 -4
- package/dist/esm/core/utils/index.js +5 -3
- package/dist/esm/date-picker/index.js +7 -7
- package/dist/esm/date-range-picker/index.js +7 -7
- package/dist/esm/dialog/index.js +4 -4
- package/dist/esm/expansion-panel/index.js +4 -4
- package/dist/esm/file-picker/index.js +3 -3
- package/dist/esm/icon/index.js +2 -2
- package/dist/esm/icon-button/index.js +3 -3
- package/dist/esm/index.js +51 -49
- package/dist/esm/label-value/index.js +1 -1
- package/dist/esm/list-dropdown/index.js +3 -3
- package/dist/esm/menu/index.js +6 -6
- package/dist/esm/open-icon/index.js +3 -3
- package/dist/esm/paginator/index.js +13 -11
- package/dist/esm/profile-card/index.js +3 -2
- package/dist/esm/quantity-field/index.js +4 -4
- package/dist/esm/select/core/index.js +5 -5
- package/dist/esm/select/index.js +10 -10
- package/dist/esm/select/select/index.js +8 -8
- package/dist/esm/select/select-dropdown/index.js +8 -8
- package/dist/esm/slider/index.js +1 -1
- package/dist/esm/stepper/index.js +4 -4
- package/dist/esm/stepper/step/index.js +3 -3
- package/dist/esm/stepper/stepper/index.js +4 -4
- package/dist/esm/switch/index.js +1 -1
- package/dist/esm/table/index.js +5 -5
- package/dist/esm/tabs/index.js +4 -4
- package/dist/esm/tabs/tab-bar/index.js +4 -4
- package/dist/esm/time-picker/index.js +6 -6
- package/dist/esm/toast/index.js +5 -5
- package/esm/button/button.d.ts +2 -0
- package/esm/button/button.js +15 -0
- package/esm/circular-progress/circular-progress.js +1 -1
- package/esm/core/utils/utils.d.ts +14 -0
- package/esm/core/utils/utils.js +32 -0
- package/esm/icon-button/icon-button-component-delegate.d.ts +8 -1
- package/esm/icon-button/icon-button-component-delegate.js +19 -0
- package/esm/icon-button/icon-button.d.ts +2 -0
- package/esm/icon-button/icon-button.js +17 -1
- package/esm/label-value/label-value.js +1 -1
- package/esm/paginator/paginator.js +4 -2
- package/package.json +1 -1
- package/styles/circular-progress/_mixins.scss +2 -1
- package/styles/circular-progress/_variables.scss +1 -0
- package/styles/label-value/_mixins.scss +189 -2
- package/styles/label-value/_variables.scss +5 -31
- package/styles/label-value/label-value.scss +1 -2
- package/dist/esm/chunks/chunk.5NXVVSTU.js.map +0 -7
- package/dist/esm/chunks/chunk.7Y4NHCJH.js.map +0 -7
- package/dist/esm/chunks/chunk.AHQ6QX3J.js.map +0 -7
|
@@ -8,21 +8,21 @@ import {
|
|
|
8
8
|
ChipSetComponent,
|
|
9
9
|
ChipSetFoundation,
|
|
10
10
|
defineChipSetComponent
|
|
11
|
-
} from "../../chunks/chunk.
|
|
11
|
+
} from "../../chunks/chunk.B425FZOZ.js";
|
|
12
12
|
import {
|
|
13
13
|
CHIP_SET_CONSTANTS
|
|
14
|
-
} from "../../chunks/chunk.
|
|
14
|
+
} from "../../chunks/chunk.EQCPRLUV.js";
|
|
15
15
|
import "../../chunks/chunk.C2MR3RDF.js";
|
|
16
16
|
import "../../chunks/chunk.4HQ5VELO.js";
|
|
17
17
|
import "../../chunks/chunk.5VKAVHLM.js";
|
|
18
18
|
import "../../chunks/chunk.GS2AXUCN.js";
|
|
19
|
-
import "../../chunks/chunk.
|
|
19
|
+
import "../../chunks/chunk.V6TRG2CM.js";
|
|
20
20
|
import "../../chunks/chunk.6KTLOA7V.js";
|
|
21
21
|
import "../../chunks/chunk.SKLCDWYQ.js";
|
|
22
22
|
import "../../chunks/chunk.HZISALRH.js";
|
|
23
23
|
import "../../chunks/chunk.WIYLQTSX.js";
|
|
24
|
-
import "../../chunks/chunk.52F6VUCF.js";
|
|
25
24
|
import "../../chunks/chunk.U6FJJGO3.js";
|
|
25
|
+
import "../../chunks/chunk.3VR7VHL5.js";
|
|
26
26
|
import "../../chunks/chunk.WT4W2IFT.js";
|
|
27
27
|
import "../../chunks/chunk.KZATVOA6.js";
|
|
28
28
|
import "../../chunks/chunk.MMIZOYAS.js";
|
package/dist/esm/chips/index.js
CHANGED
|
@@ -9,28 +9,28 @@ import {
|
|
|
9
9
|
ChipSetComponent,
|
|
10
10
|
ChipSetFoundation,
|
|
11
11
|
defineChipSetComponent
|
|
12
|
-
} from "../chunks/chunk.
|
|
12
|
+
} from "../chunks/chunk.B425FZOZ.js";
|
|
13
13
|
import {
|
|
14
14
|
defineChipComponent
|
|
15
|
-
} from "../chunks/chunk.
|
|
15
|
+
} from "../chunks/chunk.3AK3VGRT.js";
|
|
16
16
|
import {
|
|
17
17
|
CHIP_CONSTANTS,
|
|
18
18
|
CHIP_SET_CONSTANTS,
|
|
19
19
|
ChipAdapter,
|
|
20
20
|
ChipComponent,
|
|
21
21
|
ChipFoundation
|
|
22
|
-
} from "../chunks/chunk.
|
|
22
|
+
} from "../chunks/chunk.EQCPRLUV.js";
|
|
23
23
|
import "../chunks/chunk.C2MR3RDF.js";
|
|
24
24
|
import "../chunks/chunk.4HQ5VELO.js";
|
|
25
25
|
import "../chunks/chunk.5VKAVHLM.js";
|
|
26
26
|
import "../chunks/chunk.GS2AXUCN.js";
|
|
27
|
-
import "../chunks/chunk.
|
|
27
|
+
import "../chunks/chunk.V6TRG2CM.js";
|
|
28
28
|
import "../chunks/chunk.6KTLOA7V.js";
|
|
29
29
|
import "../chunks/chunk.SKLCDWYQ.js";
|
|
30
30
|
import "../chunks/chunk.HZISALRH.js";
|
|
31
31
|
import "../chunks/chunk.WIYLQTSX.js";
|
|
32
|
-
import "../chunks/chunk.52F6VUCF.js";
|
|
33
32
|
import "../chunks/chunk.U6FJJGO3.js";
|
|
33
|
+
import "../chunks/chunk.3VR7VHL5.js";
|
|
34
34
|
import "../chunks/chunk.WT4W2IFT.js";
|
|
35
35
|
import "../chunks/chunk.KZATVOA6.js";
|
|
36
36
|
import "../chunks/chunk.MMIZOYAS.js";
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import {
|
|
7
7
|
ChipComponent
|
|
8
|
-
} from "./chunk.
|
|
8
|
+
} from "./chunk.EQCPRLUV.js";
|
|
9
9
|
import {
|
|
10
10
|
defineCustomElement
|
|
11
11
|
} from "./chunk.K2PCTUVN.js";
|
|
@@ -18,4 +18,4 @@ function defineChipComponent() {
|
|
|
18
18
|
export {
|
|
19
19
|
defineChipComponent
|
|
20
20
|
};
|
|
21
|
-
//# sourceMappingURL=chunk.
|
|
21
|
+
//# sourceMappingURL=chunk.3AK3VGRT.js.map
|
|
File without changes
|
|
@@ -250,6 +250,29 @@ function highlightTextHTML(label, highlightText) {
|
|
|
250
250
|
}
|
|
251
251
|
return void 0;
|
|
252
252
|
}
|
|
253
|
+
function userInteractionListener(element, { capture = true, pointerenter = true, focusin = true } = {}) {
|
|
254
|
+
return new Promise((resolve) => {
|
|
255
|
+
const listenerOpts = { once: true, capture };
|
|
256
|
+
const handlePointerenter = () => {
|
|
257
|
+
if (focusin) {
|
|
258
|
+
element.removeEventListener("focusin", handleFocusin, listenerOpts);
|
|
259
|
+
}
|
|
260
|
+
resolve("pointerenter");
|
|
261
|
+
};
|
|
262
|
+
const handleFocusin = () => {
|
|
263
|
+
if (pointerenter) {
|
|
264
|
+
element.removeEventListener("pointerenter", handlePointerenter, listenerOpts);
|
|
265
|
+
}
|
|
266
|
+
resolve("focusin");
|
|
267
|
+
};
|
|
268
|
+
if (pointerenter) {
|
|
269
|
+
element.addEventListener("pointerenter", handlePointerenter, listenerOpts);
|
|
270
|
+
}
|
|
271
|
+
if (focusin) {
|
|
272
|
+
element.addEventListener("focusin", handleFocusin, listenerOpts);
|
|
273
|
+
}
|
|
274
|
+
});
|
|
275
|
+
}
|
|
253
276
|
|
|
254
277
|
export {
|
|
255
278
|
ISO_8601_REGEX,
|
|
@@ -268,6 +291,7 @@ export {
|
|
|
268
291
|
tokenize12HourTimeString,
|
|
269
292
|
isSupportedTimeFormat,
|
|
270
293
|
tryCoerceTimeString,
|
|
271
|
-
highlightTextHTML
|
|
294
|
+
highlightTextHTML,
|
|
295
|
+
userInteractionListener
|
|
272
296
|
};
|
|
273
|
-
//# sourceMappingURL=chunk.
|
|
297
|
+
//# sourceMappingURL=chunk.3VR7VHL5.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/core/utils/date-utils.ts", "../../src/core/utils/svg-utils.ts", "../../src/core/utils/time-utils.ts", "../../src/core/utils/utils.ts"],
|
|
4
|
-
"sourcesContent": ["import { isValidDate } from '@tylertech/forge-core';\n\nexport const ISO_8601_REGEX = /^([\\+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24\\:?00)([\\.,]\\d+(?!:))?)?(\\17[0-5]\\d([\\.,]\\d+)?)?([zZ]|([\\+-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?$/;\nexport const ISO_TIMEZONE_REGEX = /a-z/i;\nconst FUTURE_YEAR_COERCION = 10; // The number of years in the future to coerce two-digit years into current century\n\n/**\n * Parses a date string value to a `Date` object in local time.\n * @param str The date string value.\n */\nexport function parseDateString(value: string): Date | null {\n value = value.replace(/_|\\s/g, ''); // Remove potential extraneous characters\n\n // We first check if this is a valid date in ISO 8601 format and return it if so\n if (ISO_8601_REGEX.test(value)) {\n const iso8601Date = new Date(value);\n\n // This is an ISO string, but does it have a timezone? If not, we add current timezone offset\n if (!ISO_TIMEZONE_REGEX.test(value)) {\n iso8601Date.setMinutes(iso8601Date.getMinutes() + iso8601Date.getTimezoneOffset());\n }\n\n if (isValidDate(iso8601Date)) {\n return iso8601Date;\n }\n }\n\n let values: string[] = [];\n\n // We accept dates with a \"/\" or \"-\" separator and in the format of MM/DD/YYYY\n if (value.indexOf('/') !== -1) {\n values = value.split('/');\n } else if (value.indexOf('-') !== -1) {\n values = value.split('-');\n } else if ((value.length === 6 || value.length === 8) && !isNaN(+value)) {\n values = [value.substring(0, 2), value.substring(2, 4), value.substring(4)];\n }\n\n const hasMonthDayYear = values.length === 3;\n let [month, day, year] = values;\n\n // Ensure are month and year values are coerced from 0 to 1 in case of incomplete entry\n if (month === '0') {\n month = '1';\n }\n if (day === '0') {\n day = '1';\n }\n\n // Trap for the case where only 3 digit years are entered\n if (typeof year === 'string' && year.length === 3) {\n year = year.padEnd(4, '0');\n }\n \n if (hasMonthDayYear) {\n const isValidMonthLength = month.length === 1 || month.length === 2;\n const isValidDayLength = day.length === 1 || day.length === 2;\n const isValidYearLength = year.length === 2 || year.length === 4;\n\n if (!isValidMonthLength || !isValidDayLength || !isValidYearLength) {\n return null;\n }\n } else {\n return null;\n }\n\n // Check if we need to coerce two-digit years to the four-digit equivalent\n if (year.length === 2) {\n const minYear = new Date().getFullYear() - (100 - FUTURE_YEAR_COERCION);\n const maxYear = new Date().getFullYear() + FUTURE_YEAR_COERCION;\n const minYearCentury = String(minYear).slice(0, 2);\n const maxYearCentury = String(maxYear).slice(0, 2);\n const normalizedMaxYear = +String(maxYear).slice(2);\n year = +year <= normalizedMaxYear ? `${maxYearCentury}${year}` : `${minYearCentury}${year}`;\n }\n\n let numMonth = +month;\n let numDay = +day;\n const numYear = +year;\n\n if (numMonth > 12) {\n numMonth = 12;\n }\n\n const maxDaysInMonth = new Date(numYear, numMonth, 0).getDate();\n\n if (numDay > maxDaysInMonth) {\n numDay = maxDaysInMonth;\n }\n\n const parsedDate = new Date(numYear, numMonth - 1, numDay, 0, 0, 0, 0);\n return isValidDate(parsedDate) ? parsedDate : null;\n}\n\n/**\n * Formats a `Date` to a specified format.\n * @param str The date string value.\n */\nexport function formatDate(date: Date): string {\n const month = String(date.getMonth() + 1).padStart(2, '0');\n const day = String(date.getDate()).padStart(2, '0');\n const year = date.getFullYear();\n return [month, day, year].join('/');\n}\n\n/**\n * Determines if two date objects are equal.\n * \n * Note: Time values are ignored.\n * @param first The date to compare.\n * @param second The date to compare the first date to. \n * @returns A boolean whether the two dates are equivalent.\n */\nexport function isSameDate(first: Date | null, second: Date | null): boolean {\n if (!first && !second) {\n return true;\n } else if (!first || !second) {\n return false;\n } else if (!isValidDate(first) || !isValidDate(second)) {\n return false;\n }\n return first.setHours(0, 0, 0, 0) === second.setHours(0, 0, 0, 0);\n}\n\n/** \n * Returns the last date on a month.\n * \n * @param month The month.\n * @param year The year of the month, needed for February otherwise optional.\n * @returns The last date of the given month.\n */\nexport function getLastDateOfMonth(month: number, year?: number): Date {\n return new Date(year ?? 1970, month + 1, 0);\n}\n\n/**\n * Returns the number of days in a month.\n * \n * @param month The month to find the length of.\n * @param year The year to check within, needed for February otherwise optional.\n * @returns The number of days in the month.\n */\nexport function getMonthLength(month: number, year?: number): number {\n return getLastDateOfMonth(month, year).getDate();\n}\n", "/**\n * Creates an SVG element from a string.\n */\nexport function createSvgFromString(svgContent: string, defaultViewBox?: string): SVGSVGElement | null {\n const div = document.createElement('div');\n div.innerHTML = svgContent;\n\n // Remove all non-svg child nodes\n for (let i = div.childNodes.length - 1; i >= 0; i--) {\n if (div.childNodes[i].nodeName.toLowerCase() !== 'svg') {\n div.removeChild(div.childNodes[i]);\n }\n }\n\n const svgElm = div.firstElementChild as SVGSVGElement;\n if (svgElm && svgElm.nodeName.toLowerCase() === 'svg' && isSafeSvg(svgElm)) {\n // Check if a custom viewbox value was provided and use that if so\n if (defaultViewBox) {\n svgElm.setAttribute('viewBox', defaultViewBox);\n }\n\n // Force a default viewBox if one doesn't exist (this ensures our icon is scalable)\n if (!svgElm.hasAttribute('viewBox') && defaultViewBox) {\n svgElm.setAttribute('viewBox', defaultViewBox);\n }\n\n // Remove any height and width attributes to ensure that the icon is properly scalable\n svgElm.removeAttribute('height');\n svgElm.removeAttribute('width');\n\n return svgElm;\n }\n\n return null;\n}\n\n/**\n * Determines if the provided element is a safe SVG to use.\n * @param el The element reference to test.\n */\nexport function isSafeSvg(el: Element): boolean {\n if (el.nodeType !== 1) {\n return true;\n }\n\n // Validate no <script> tags exist\n if (el.nodeName.toLowerCase() === 'script') {\n return false;\n }\n\n // Ensure there are no inline listeners\n const attributes = Array.from(el.attributes);\n for (const attr of attributes) {\n if (typeof attr.name === 'string' && attr.name.toLowerCase().startsWith('on')) {\n return false;\n }\n }\n\n // Ensure all child nodes are valid\n const childNodes = Array.from(el.childNodes) as Element[];\n for (const node of childNodes) {\n if (!isSafeSvg(node)) {\n return false;\n }\n }\n\n return true;\n}\n", "export const TWENTY_FOUR_HOUR_TIME_REGEX = /^(0?[0-9]|1\\d|2[0-3]):([0-5]\\d)(:([0-5]\\d))?$/;\nexport const TWELVE_HOUR_TIME_REGEX = /^(0?[1-9]|1[0-2]):([0-5]\\d)(:([0-5]\\d))?\\s*([AaPp][Mm])?$/;\nexport const PARSEABLE_TIME_FORMAT = /^(\\d\\d?):?(\\d\\d?)(:?(\\d?\\d?))?\\s*([AaPp][Mm]?)?$/;\n\nexport function tokenize24HourTimeString(value: string): { hours: string; minutes: string; seconds: string } {\n const matches = value.match(TWENTY_FOUR_HOUR_TIME_REGEX) as RegExpMatchArray || [null, 0, 0, null, 0];\n const hours = matches[1];\n const minutes = matches[2];\n const seconds = matches[4];\n return { hours, minutes, seconds };\n}\n\nexport function tokenize12HourTimeString(value: string): { hours: string; minutes: string; seconds: string; meridiem: string } {\n const matches = value.match(TWELVE_HOUR_TIME_REGEX) as RegExpMatchArray || [null, 0, 0, null, 0, 'AM'];\n const hours = matches[1];\n const minutes = matches[2];\n const seconds = matches[4];\n const meridiem = matches[5];\n return { hours, minutes, seconds, meridiem };\n}\n\nexport function isSupportedTimeFormat(value: string): boolean {\n return TWENTY_FOUR_HOUR_TIME_REGEX.test(value) ||\n TWELVE_HOUR_TIME_REGEX.test(value);\n}\n\nexport function tryCoerceTimeString(str: string, use24HourTime: boolean, allowSeconds: boolean): string {\n str = str && typeof str === 'string' ? str.replace(/_|\\s/g, '') : '';\n if (/^\\s*$/.test(str)) {\n return '';\n }\n\n const matches = str.match(PARSEABLE_TIME_FORMAT);\n if (!matches) {\n return '';\n }\n\n let hoursStr = matches[1];\n let minutesStr = matches[2];\n let secondsStr = matches[4];\n let meridiem = matches[5];\n\n // Normalize the meridiem string\n if (use24HourTime) {\n meridiem = '';\n } else if (/[AaPp][Mm]/.test(meridiem)) {\n meridiem = meridiem.toUpperCase();\n } else {\n if (/^[AaPp]/.test(meridiem)) {\n if (meridiem.toLowerCase().startsWith('a')) {\n meridiem = 'AM';\n } else if (meridiem.toLowerCase().startsWith('p')) {\n meridiem = 'PM';\n }\n } else {\n meridiem = '';\n }\n }\n\n const hoursNum = +hoursStr || 0;\n const minutesNum = +minutesStr || 0;\n\n // Clamp and normalize hours\n const maxHours = !meridiem || use24HourTime ? 23 : 12;\n if (hoursNum >= maxHours) {\n hoursStr = String(maxHours);\n } else if (hoursNum < 0) {\n hoursStr = '00';\n }\n\n // Clamp and normalize minutes\n if (minutesStr !== undefined) {\n if (minutesNum > 59) {\n minutesStr = '59';\n } else if (minutesNum < 0) {\n minutesStr = '00';\n } else {\n minutesStr = minutesStr.padStart(2, '0');\n }\n }\n\n // Clamp and normalize seconds (if applicable)\n if (secondsStr !== undefined) {\n const secondsNum = +secondsStr || 0;\n if (secondsNum > 59) {\n secondsStr = '59';\n } else if (secondsNum < 0) {\n secondsStr = '00';\n } else {\n secondsStr = secondsStr.padStart(2, '0');\n }\n }\n\n // Build resulting time string\n let timeStr = hoursStr;\n if (minutesStr !== undefined) {\n timeStr += `:${minutesStr}`;\n if (secondsStr === undefined && allowSeconds) {\n secondsStr = '00';\n }\n }\n if (secondsStr !== undefined) {\n timeStr += `:${secondsStr}`;\n }\n if (meridiem) {\n timeStr += ` ${meridiem}`;\n }\n\n return timeStr;\n}\n", "/**\n * Highlights text in the given label by converting it to HTML and using a `<span>` tag to show the highlighted text within the original label.\n * @param label The full text.\n * @param highlightText The text to highlight.\n */\nexport function highlightTextHTML(label: string, highlightText: string): HTMLElement | undefined {\n const text = label.toLowerCase();\n const startIndex = text.indexOf(highlightText.toLowerCase());\n\n if (startIndex !== -1) {\n const endIndex = startIndex + highlightText.length;\n const wrapperSpan = document.createElement('span');\n const highlightSpan = document.createElement('span');\n\n highlightSpan.style.fontWeight = 'bold';\n highlightSpan.textContent = label.substring(startIndex, endIndex);\n \n wrapperSpan.appendChild(document.createTextNode(label.substring(0, startIndex)));\n wrapperSpan.appendChild(highlightSpan);\n wrapperSpan.appendChild(document.createTextNode(label.substring(endIndex)));\n \n return wrapperSpan;\n }\n\n return undefined;\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
4
|
+
"sourcesContent": ["import { isValidDate } from '@tylertech/forge-core';\n\nexport const ISO_8601_REGEX = /^([\\+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24\\:?00)([\\.,]\\d+(?!:))?)?(\\17[0-5]\\d([\\.,]\\d+)?)?([zZ]|([\\+-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?$/;\nexport const ISO_TIMEZONE_REGEX = /a-z/i;\nconst FUTURE_YEAR_COERCION = 10; // The number of years in the future to coerce two-digit years into current century\n\n/**\n * Parses a date string value to a `Date` object in local time.\n * @param str The date string value.\n */\nexport function parseDateString(value: string): Date | null {\n value = value.replace(/_|\\s/g, ''); // Remove potential extraneous characters\n\n // We first check if this is a valid date in ISO 8601 format and return it if so\n if (ISO_8601_REGEX.test(value)) {\n const iso8601Date = new Date(value);\n\n // This is an ISO string, but does it have a timezone? If not, we add current timezone offset\n if (!ISO_TIMEZONE_REGEX.test(value)) {\n iso8601Date.setMinutes(iso8601Date.getMinutes() + iso8601Date.getTimezoneOffset());\n }\n\n if (isValidDate(iso8601Date)) {\n return iso8601Date;\n }\n }\n\n let values: string[] = [];\n\n // We accept dates with a \"/\" or \"-\" separator and in the format of MM/DD/YYYY\n if (value.indexOf('/') !== -1) {\n values = value.split('/');\n } else if (value.indexOf('-') !== -1) {\n values = value.split('-');\n } else if ((value.length === 6 || value.length === 8) && !isNaN(+value)) {\n values = [value.substring(0, 2), value.substring(2, 4), value.substring(4)];\n }\n\n const hasMonthDayYear = values.length === 3;\n let [month, day, year] = values;\n\n // Ensure are month and year values are coerced from 0 to 1 in case of incomplete entry\n if (month === '0') {\n month = '1';\n }\n if (day === '0') {\n day = '1';\n }\n\n // Trap for the case where only 3 digit years are entered\n if (typeof year === 'string' && year.length === 3) {\n year = year.padEnd(4, '0');\n }\n \n if (hasMonthDayYear) {\n const isValidMonthLength = month.length === 1 || month.length === 2;\n const isValidDayLength = day.length === 1 || day.length === 2;\n const isValidYearLength = year.length === 2 || year.length === 4;\n\n if (!isValidMonthLength || !isValidDayLength || !isValidYearLength) {\n return null;\n }\n } else {\n return null;\n }\n\n // Check if we need to coerce two-digit years to the four-digit equivalent\n if (year.length === 2) {\n const minYear = new Date().getFullYear() - (100 - FUTURE_YEAR_COERCION);\n const maxYear = new Date().getFullYear() + FUTURE_YEAR_COERCION;\n const minYearCentury = String(minYear).slice(0, 2);\n const maxYearCentury = String(maxYear).slice(0, 2);\n const normalizedMaxYear = +String(maxYear).slice(2);\n year = +year <= normalizedMaxYear ? `${maxYearCentury}${year}` : `${minYearCentury}${year}`;\n }\n\n let numMonth = +month;\n let numDay = +day;\n const numYear = +year;\n\n if (numMonth > 12) {\n numMonth = 12;\n }\n\n const maxDaysInMonth = new Date(numYear, numMonth, 0).getDate();\n\n if (numDay > maxDaysInMonth) {\n numDay = maxDaysInMonth;\n }\n\n const parsedDate = new Date(numYear, numMonth - 1, numDay, 0, 0, 0, 0);\n return isValidDate(parsedDate) ? parsedDate : null;\n}\n\n/**\n * Formats a `Date` to a specified format.\n * @param str The date string value.\n */\nexport function formatDate(date: Date): string {\n const month = String(date.getMonth() + 1).padStart(2, '0');\n const day = String(date.getDate()).padStart(2, '0');\n const year = date.getFullYear();\n return [month, day, year].join('/');\n}\n\n/**\n * Determines if two date objects are equal.\n * \n * Note: Time values are ignored.\n * @param first The date to compare.\n * @param second The date to compare the first date to. \n * @returns A boolean whether the two dates are equivalent.\n */\nexport function isSameDate(first: Date | null, second: Date | null): boolean {\n if (!first && !second) {\n return true;\n } else if (!first || !second) {\n return false;\n } else if (!isValidDate(first) || !isValidDate(second)) {\n return false;\n }\n return first.setHours(0, 0, 0, 0) === second.setHours(0, 0, 0, 0);\n}\n\n/** \n * Returns the last date on a month.\n * \n * @param month The month.\n * @param year The year of the month, needed for February otherwise optional.\n * @returns The last date of the given month.\n */\nexport function getLastDateOfMonth(month: number, year?: number): Date {\n return new Date(year ?? 1970, month + 1, 0);\n}\n\n/**\n * Returns the number of days in a month.\n * \n * @param month The month to find the length of.\n * @param year The year to check within, needed for February otherwise optional.\n * @returns The number of days in the month.\n */\nexport function getMonthLength(month: number, year?: number): number {\n return getLastDateOfMonth(month, year).getDate();\n}\n", "/**\n * Creates an SVG element from a string.\n */\nexport function createSvgFromString(svgContent: string, defaultViewBox?: string): SVGSVGElement | null {\n const div = document.createElement('div');\n div.innerHTML = svgContent;\n\n // Remove all non-svg child nodes\n for (let i = div.childNodes.length - 1; i >= 0; i--) {\n if (div.childNodes[i].nodeName.toLowerCase() !== 'svg') {\n div.removeChild(div.childNodes[i]);\n }\n }\n\n const svgElm = div.firstElementChild as SVGSVGElement;\n if (svgElm && svgElm.nodeName.toLowerCase() === 'svg' && isSafeSvg(svgElm)) {\n // Check if a custom viewbox value was provided and use that if so\n if (defaultViewBox) {\n svgElm.setAttribute('viewBox', defaultViewBox);\n }\n\n // Force a default viewBox if one doesn't exist (this ensures our icon is scalable)\n if (!svgElm.hasAttribute('viewBox') && defaultViewBox) {\n svgElm.setAttribute('viewBox', defaultViewBox);\n }\n\n // Remove any height and width attributes to ensure that the icon is properly scalable\n svgElm.removeAttribute('height');\n svgElm.removeAttribute('width');\n\n return svgElm;\n }\n\n return null;\n}\n\n/**\n * Determines if the provided element is a safe SVG to use.\n * @param el The element reference to test.\n */\nexport function isSafeSvg(el: Element): boolean {\n if (el.nodeType !== 1) {\n return true;\n }\n\n // Validate no <script> tags exist\n if (el.nodeName.toLowerCase() === 'script') {\n return false;\n }\n\n // Ensure there are no inline listeners\n const attributes = Array.from(el.attributes);\n for (const attr of attributes) {\n if (typeof attr.name === 'string' && attr.name.toLowerCase().startsWith('on')) {\n return false;\n }\n }\n\n // Ensure all child nodes are valid\n const childNodes = Array.from(el.childNodes) as Element[];\n for (const node of childNodes) {\n if (!isSafeSvg(node)) {\n return false;\n }\n }\n\n return true;\n}\n", "export const TWENTY_FOUR_HOUR_TIME_REGEX = /^(0?[0-9]|1\\d|2[0-3]):([0-5]\\d)(:([0-5]\\d))?$/;\nexport const TWELVE_HOUR_TIME_REGEX = /^(0?[1-9]|1[0-2]):([0-5]\\d)(:([0-5]\\d))?\\s*([AaPp][Mm])?$/;\nexport const PARSEABLE_TIME_FORMAT = /^(\\d\\d?):?(\\d\\d?)(:?(\\d?\\d?))?\\s*([AaPp][Mm]?)?$/;\n\nexport function tokenize24HourTimeString(value: string): { hours: string; minutes: string; seconds: string } {\n const matches = value.match(TWENTY_FOUR_HOUR_TIME_REGEX) as RegExpMatchArray || [null, 0, 0, null, 0];\n const hours = matches[1];\n const minutes = matches[2];\n const seconds = matches[4];\n return { hours, minutes, seconds };\n}\n\nexport function tokenize12HourTimeString(value: string): { hours: string; minutes: string; seconds: string; meridiem: string } {\n const matches = value.match(TWELVE_HOUR_TIME_REGEX) as RegExpMatchArray || [null, 0, 0, null, 0, 'AM'];\n const hours = matches[1];\n const minutes = matches[2];\n const seconds = matches[4];\n const meridiem = matches[5];\n return { hours, minutes, seconds, meridiem };\n}\n\nexport function isSupportedTimeFormat(value: string): boolean {\n return TWENTY_FOUR_HOUR_TIME_REGEX.test(value) ||\n TWELVE_HOUR_TIME_REGEX.test(value);\n}\n\nexport function tryCoerceTimeString(str: string, use24HourTime: boolean, allowSeconds: boolean): string {\n str = str && typeof str === 'string' ? str.replace(/_|\\s/g, '') : '';\n if (/^\\s*$/.test(str)) {\n return '';\n }\n\n const matches = str.match(PARSEABLE_TIME_FORMAT);\n if (!matches) {\n return '';\n }\n\n let hoursStr = matches[1];\n let minutesStr = matches[2];\n let secondsStr = matches[4];\n let meridiem = matches[5];\n\n // Normalize the meridiem string\n if (use24HourTime) {\n meridiem = '';\n } else if (/[AaPp][Mm]/.test(meridiem)) {\n meridiem = meridiem.toUpperCase();\n } else {\n if (/^[AaPp]/.test(meridiem)) {\n if (meridiem.toLowerCase().startsWith('a')) {\n meridiem = 'AM';\n } else if (meridiem.toLowerCase().startsWith('p')) {\n meridiem = 'PM';\n }\n } else {\n meridiem = '';\n }\n }\n\n const hoursNum = +hoursStr || 0;\n const minutesNum = +minutesStr || 0;\n\n // Clamp and normalize hours\n const maxHours = !meridiem || use24HourTime ? 23 : 12;\n if (hoursNum >= maxHours) {\n hoursStr = String(maxHours);\n } else if (hoursNum < 0) {\n hoursStr = '00';\n }\n\n // Clamp and normalize minutes\n if (minutesStr !== undefined) {\n if (minutesNum > 59) {\n minutesStr = '59';\n } else if (minutesNum < 0) {\n minutesStr = '00';\n } else {\n minutesStr = minutesStr.padStart(2, '0');\n }\n }\n\n // Clamp and normalize seconds (if applicable)\n if (secondsStr !== undefined) {\n const secondsNum = +secondsStr || 0;\n if (secondsNum > 59) {\n secondsStr = '59';\n } else if (secondsNum < 0) {\n secondsStr = '00';\n } else {\n secondsStr = secondsStr.padStart(2, '0');\n }\n }\n\n // Build resulting time string\n let timeStr = hoursStr;\n if (minutesStr !== undefined) {\n timeStr += `:${minutesStr}`;\n if (secondsStr === undefined && allowSeconds) {\n secondsStr = '00';\n }\n }\n if (secondsStr !== undefined) {\n timeStr += `:${secondsStr}`;\n }\n if (meridiem) {\n timeStr += ` ${meridiem}`;\n }\n\n return timeStr;\n}\n", "/**\n * Highlights text in the given label by converting it to HTML and using a `<span>` tag to show the highlighted text within the original label.\n * @param label The full text.\n * @param highlightText The text to highlight.\n */\nexport function highlightTextHTML(label: string, highlightText: string): HTMLElement | undefined {\n const text = label.toLowerCase();\n const startIndex = text.indexOf(highlightText.toLowerCase());\n\n if (startIndex !== -1) {\n const endIndex = startIndex + highlightText.length;\n const wrapperSpan = document.createElement('span');\n const highlightSpan = document.createElement('span');\n\n highlightSpan.style.fontWeight = 'bold';\n highlightSpan.textContent = label.substring(startIndex, endIndex);\n \n wrapperSpan.appendChild(document.createTextNode(label.substring(0, startIndex)));\n wrapperSpan.appendChild(highlightSpan);\n wrapperSpan.appendChild(document.createTextNode(label.substring(endIndex)));\n \n return wrapperSpan;\n }\n\n return undefined;\n}\n\n\n/**\n * Awaits user interaction on an element in the form of `pointerenter` or `focusin` to let a listener know\n * when the user has attempted to interact with the provided element.\n * \n * The listeners are only called once, and the other is removed after one of the listeners is called.\n * @param element The element to listen to.\n * @param capture Whether to use capturing listeners or not.\n * @returns A `Promise` that will be resolved when either of the listeners has executed.\n */\nexport function userInteractionListener(element: HTMLElement, { capture = true, pointerenter = true, focusin = true } = {}): Promise<'pointerenter' | 'focusin'> {\n return new Promise<'pointerenter' | 'focusin'>(resolve => {\n const listenerOpts: EventListenerOptions & { once: boolean } = { once: true, capture };\n \n const handlePointerenter = (): void => {\n if (focusin) {\n element.removeEventListener('focusin', handleFocusin, listenerOpts);\n }\n resolve('pointerenter');\n };\n \n const handleFocusin = (): void => {\n if (pointerenter) {\n element.removeEventListener('pointerenter', handlePointerenter, listenerOpts);\n }\n resolve('focusin');\n };\n\n if (pointerenter) {\n element.addEventListener('pointerenter', handlePointerenter, listenerOpts);\n }\n if (focusin) {\n element.addEventListener('focusin', handleFocusin, listenerOpts);\n }\n });\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -29,7 +29,7 @@ import {
|
|
|
29
29
|
import {
|
|
30
30
|
ICON_CONSTANTS,
|
|
31
31
|
IconRegistry
|
|
32
|
-
} from "./chunk.
|
|
32
|
+
} from "./chunk.V6TRG2CM.js";
|
|
33
33
|
import {
|
|
34
34
|
ICON_CLASS_NAME
|
|
35
35
|
} from "./chunk.35U3UPDV.js";
|
|
@@ -1200,4 +1200,4 @@ export {
|
|
|
1200
1200
|
ListDropdownAwareFoundation,
|
|
1201
1201
|
CascadingListDropdownAwareFoundation
|
|
1202
1202
|
};
|
|
1203
|
-
//# sourceMappingURL=chunk.
|
|
1203
|
+
//# sourceMappingURL=chunk.47D77ELY.js.map
|
|
File without changes
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
import {
|
|
7
7
|
STEP_CONSTANTS,
|
|
8
8
|
StepComponent
|
|
9
|
-
} from "./chunk.
|
|
9
|
+
} from "./chunk.C44LSSHS.js";
|
|
10
10
|
import {
|
|
11
11
|
getEventPath
|
|
12
12
|
} from "./chunk.EY57VTRF.js";
|
|
@@ -729,4 +729,4 @@ export {
|
|
|
729
729
|
StepperComponent,
|
|
730
730
|
defineStepperComponent
|
|
731
731
|
};
|
|
732
|
-
//# sourceMappingURL=chunk.
|
|
732
|
+
//# sourceMappingURL=chunk.4ZBBOR4H.js.map
|
|
File without changes
|
|
@@ -5,20 +5,23 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import {
|
|
7
7
|
SelectComponent
|
|
8
|
-
} from "./chunk.
|
|
8
|
+
} from "./chunk.SOWHHCLN.js";
|
|
9
9
|
import {
|
|
10
10
|
IconButtonComponent
|
|
11
|
-
} from "./chunk.
|
|
11
|
+
} from "./chunk.UM3J4AZ7.js";
|
|
12
12
|
import {
|
|
13
13
|
tylIconFirstPage,
|
|
14
14
|
tylIconKeyboardArrowLeft,
|
|
15
15
|
tylIconKeyboardArrowRight,
|
|
16
16
|
tylIconLastPage
|
|
17
17
|
} from "./chunk.GS2AXUCN.js";
|
|
18
|
+
import {
|
|
19
|
+
TooltipComponent
|
|
20
|
+
} from "./chunk.2F6PST3N.js";
|
|
18
21
|
import {
|
|
19
22
|
IconComponent,
|
|
20
23
|
IconRegistry
|
|
21
|
-
} from "./chunk.
|
|
24
|
+
} from "./chunk.V6TRG2CM.js";
|
|
22
25
|
import {
|
|
23
26
|
BaseAdapter
|
|
24
27
|
} from "./chunk.KZATVOA6.js";
|
|
@@ -584,7 +587,7 @@ var PaginatorAdapter = class extends BaseAdapter {
|
|
|
584
587
|
};
|
|
585
588
|
|
|
586
589
|
// dist/build/lib/staging/src/paginator/paginator.ts
|
|
587
|
-
var template = '<template><div class="forge-paginator" part="root"><div class="forge-paginator__container" part="container"><div class="forge-paginator__label" part="label"></div><forge-select class="forge-paginator__page-size-options" aria-label="Choose page size" density="dense" part="page-size-options"></forge-select><div class="forge-paginator__range-label" part="range-label"></div><forge-icon-button class="forge-paginator__first-page" part="first-page-button"><button aria-label="First Page" part="first-page-button-element"><forge-icon name="first_page" part="first-page-icon"></forge-icon></button></forge-icon-button><forge-icon-button class="forge-paginator__previous-page" part="previous-page-button"><button aria-label="Previous Page" part="previous-page-button-element"><forge-icon name="keyboard_arrow_left" part="previous-page-button-icon"></forge-icon></button></forge-icon-button><div class="forge-paginator__range-label--alternative" part="range-label-alternative"></div><forge-icon-button class="forge-paginator__next-page" part="next-page-button"><button aria-label="Next Page" part="next-page-button-element"><forge-icon name="keyboard_arrow_right" part="next-page-icon"></forge-icon></button></forge-icon-button><forge-icon-button class="forge-paginator__last-page" part="last-page-button"><button aria-label="Last Page" part="last-page-button-element"><forge-icon name="last_page" part="last-page-icon"></forge-icon></button></forge-icon-button></div></div></template>';
|
|
590
|
+
var template = '<template><div class="forge-paginator" part="root"><div class="forge-paginator__container" part="container"><div class="forge-paginator__label" part="label"></div><forge-select class="forge-paginator__page-size-options" aria-label="Choose page size" density="dense" part="page-size-options"></forge-select><div class="forge-paginator__range-label" part="range-label"></div><forge-icon-button class="forge-paginator__first-page" part="first-page-button"><button aria-label="First Page" part="first-page-button-element"><forge-icon name="first_page" part="first-page-icon"></forge-icon></button><forge-tooltip position="top">Go to the first page</forge-tooltip></forge-icon-button><forge-icon-button class="forge-paginator__previous-page" part="previous-page-button"><button aria-label="Previous Page" part="previous-page-button-element"><forge-icon name="keyboard_arrow_left" part="previous-page-button-icon"></forge-icon></button><forge-tooltip position="top">Go to the previous page</forge-tooltip></forge-icon-button><div class="forge-paginator__range-label--alternative" part="range-label-alternative"></div><forge-icon-button class="forge-paginator__next-page" part="next-page-button"><button aria-label="Next Page" part="next-page-button-element"><forge-icon name="keyboard_arrow_right" part="next-page-icon"></forge-icon></button><forge-tooltip position="top">Go to the next page</forge-tooltip></forge-icon-button><forge-icon-button class="forge-paginator__last-page" part="last-page-button"><button aria-label="Last Page" part="last-page-button-element"><forge-icon name="last_page" part="last-page-icon"></forge-icon></button><forge-tooltip position="top">Go to the last page</forge-tooltip></forge-icon-button></div></div></template>';
|
|
588
591
|
var styles = '.forge-icon-button{display:-webkit-inline-box;display:inline-flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;border:none;outline:0;background-color:transparent;fill:currentColor;color:inherit;font-size:24px;text-decoration:none;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:48px;height:48px;padding:12px}.forge-icon-button forge-icon,.forge-icon-button img,.forge-icon-button svg{width:24px;height:24px}.forge-icon-button:disabled{color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38))}.forge-icon-button:disabled{cursor:default;pointer-events:none}.forge-icon-button__icon{display:inline-block}.forge-icon-button__icon.forge-icon-button__icon--on{display:none}.forge-icon-button--on .forge-icon-button__icon{display:none}.forge-icon-button--on .forge-icon-button__icon.forge-icon-button__icon--on{display:inline-block}@-webkit-keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@-webkit-keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@-webkit-keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}@keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}.forge-icon-button{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity}.forge-icon-button::after,.forge-icon-button::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:""}.forge-icon-button::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.forge-icon-button::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.forge-icon-button.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.forge-icon-button.mdc-ripple-upgraded::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.forge-icon-button.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.forge-icon-button.mdc-ripple-upgraded--foreground-activation::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.forge-icon-button.mdc-ripple-upgraded--foreground-deactivation::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.forge-icon-button::after,.forge-icon-button::before{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.forge-icon-button.mdc-ripple-upgraded::after,.forge-icon-button.mdc-ripple-upgraded::before{top:var(--mdc-ripple-top,calc(50% - 50%));left:var(--mdc-ripple-left,calc(50% - 50%));width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-icon-button.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-icon-button::after,.forge-icon-button::before{background-color:#000;background-color:var(--mdc-ripple-color,var(--mdc-theme-on-surface,#000))}.forge-icon-button.mdc-ripple-surface--hover::before,.forge-icon-button:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-icon-button.mdc-ripple-upgraded--background-focused::before,.forge-icon-button:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-icon-button:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-icon-button:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-icon-button.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}forge-icon-button{position:relative;display:inline-block;overflow:visible}.forge-icon-button--on{color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.forge-icon-button--on::after,.forge-icon-button--on::before{background-color:#3f51b5;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#3f51b5))}.forge-icon-button--on.mdc-ripple-surface--hover::before,.forge-icon-button--on:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-icon-button--on.mdc-ripple-upgraded--background-focused::before,.forge-icon-button--on:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-icon-button--on:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-icon-button--on:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-icon-button--on.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.forge-icon-button--on::before{background-color:#3f51b5;background-color:var(--mdc-theme-primary,#3f51b5);opacity:.08}.forge-icon-button--dense{width:28px;height:28px;padding:2px;padding:0}.forge-icon-button--dense-1{width:44px;height:44px;padding:10px}.forge-icon-button--dense-2{width:40px;height:40px;padding:8px}.forge-icon-button--dense-3{width:36px;height:36px;padding:6px}.forge-icon-button--dense-4{width:32px;height:32px;padding:4px}.forge-icon-button--dense-5{width:28px;height:28px;padding:2px}.forge-icon-button--dense-6{width:24px;height:24px;padding:0}.forge-icon-button--with-badge forge-badge{z-index:1;z-index:var(--forge-z-index-surface,1);pointer-events:none;--forge-badge-max-width:32px;--forge-badge-border:1px solid transparent}.forge-icon-button--with-badge forge-badge[app-bar-context]{--forge-badge-border:2px solid var(--forge-app-bar-theme-background)}.forge-paginator{display:inline-block}.forge-paginator--alternative{display:-webkit-box;display:flex}.forge-paginator--alternative .forge-paginator__label,.forge-paginator--alternative .forge-paginator__page-size-options,.forge-paginator--alternative .forge-paginator__range-label{display:none}.forge-paginator--alternative .forge-paginator__range-label--alternative{display:inline-block;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-body2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.875rem;font-size:var(--mdc-typography-body2-font-size, .875rem);line-height:1.25rem;line-height:var(--mdc-typography-body2-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-body2-font-weight,400);letter-spacing:.0178571429em;letter-spacing:var(--mdc-typography-body2-letter-spacing, .0178571429em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-body2-text-decoration,inherit);text-decoration:var(--mdc-typography-body2-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-body2-text-transform,inherit);margin:0 12px}.forge-paginator__range-label--alternative{display:none}.forge-paginator__container{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.forge-paginator__label{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.75rem;font-size:var(--mdc-typography-caption-font-size, .75rem);line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);margin-right:16px}.forge-paginator__page-size-options{margin-right:16px}.forge-paginator__range-label{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.75rem;font-size:var(--mdc-typography-caption-font-size, .75rem);line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);margin-right:8px}.forge-paginator__first-page,.forge-paginator__last-page,.forge-paginator__next-page,.forge-paginator__previous-page{color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87))}:host{display:inline-block}:host([hidden]){display:none}:host([alternative]) .forge-paginator--alignment-center .forge-paginator__container{-webkit-box-pack:center;justify-content:center}:host([alternative]) .forge-paginator--alignment-center .forge-paginator__range-label--alternative{margin:0 auto}:host([alternative]) .forge-paginator--alignment-start .forge-paginator__container{-webkit-box-pack:start;justify-content:flex-start}:host([alternative]) .forge-paginator--alignment-end .forge-paginator__container{-webkit-box-pack:end;justify-content:flex-end}:host([alternative]) .forge-paginator .forge-paginator__container{-webkit-box-flex:1;flex:1}';
|
|
589
592
|
var PaginatorComponent = class extends BaseComponent {
|
|
590
593
|
constructor() {
|
|
@@ -696,7 +699,8 @@ PaginatorComponent = __decorateClass([
|
|
|
696
699
|
dependencies: [
|
|
697
700
|
IconButtonComponent,
|
|
698
701
|
SelectComponent,
|
|
699
|
-
IconComponent
|
|
702
|
+
IconComponent,
|
|
703
|
+
TooltipComponent
|
|
700
704
|
]
|
|
701
705
|
})
|
|
702
706
|
], PaginatorComponent);
|
|
@@ -713,4 +717,4 @@ export {
|
|
|
713
717
|
PaginatorComponent,
|
|
714
718
|
definePaginatorComponent
|
|
715
719
|
};
|
|
716
|
-
//# sourceMappingURL=chunk.
|
|
720
|
+
//# sourceMappingURL=chunk.57PBV4F4.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/paginator/paginator-constants.ts", "../../src/paginator/paginator-foundation.ts", "../../src/paginator/paginator-adapter.ts", "../../src/paginator/paginator.ts", "../../src/paginator/index.ts"],
|
|
4
|
+
"sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}paginator`;\n\nconst classes = {\n LABEL: 'forge-paginator__label',\n PAGE_SIZE_OPTIONS: 'forge-paginator__page-size-options',\n RANGE_LABEL: 'forge-paginator__range-label',\n RANGE_LABEL_ALTERNATIVE: 'forge-paginator__range-label--alternative',\n FIRST_PAGE_BUTTON: 'forge-paginator__first-page',\n PREVIOUS_PAGE_BUTTON: 'forge-paginator__previous-page',\n NEXT_PAGE_BUTTON: 'forge-paginator__next-page',\n LAST_PAGE_BUTTON: 'forge-paginator__last-page',\n ROOT: 'forge-paginator',\n ALTERNATIVE: 'forge-paginator--alternative',\n ALIGNMENT_START: 'forge-paginator--alignment-start',\n ALIGNMENT_SPACE_BETWEEN: 'forge-paginator--alignment-center',\n ALIGNMENT_END: 'forge-paginator--alignment-end'\n};\n\nconst selectors = {\n LABEL: `.${classes.LABEL}`,\n PAGE_SIZE_SELECT: `.${classes.PAGE_SIZE_OPTIONS}`,\n RANGE_LABEL: `.${classes.RANGE_LABEL}`,\n FIRST_PAGE_BUTTON: `.${classes.FIRST_PAGE_BUTTON} > button`,\n FIRST_PAGE_ICON_BUTTON: `.${classes.FIRST_PAGE_BUTTON}`,\n PREVIOUS_PAGE_BUTTON: `.${classes.PREVIOUS_PAGE_BUTTON} > button`,\n NEXT_PAGE_BUTTON: `.${classes.NEXT_PAGE_BUTTON} > button`,\n LAST_PAGE_BUTTON: `.${classes.LAST_PAGE_BUTTON} > button`,\n LAST_PAGE_ICON_BUTTON: `.${classes.LAST_PAGE_BUTTON}`,\n ROOT: `.${classes.ROOT}`,\n RANGE_LABEL_ALTERNATIVE: `.${classes.RANGE_LABEL_ALTERNATIVE}`\n};\n\nconst attributes = {\n PAGE_INDEX: 'page-index',\n PAGE_SIZE: 'page-size',\n OFFSET: 'offset',\n PAGE_SIZE_OPTIONS: 'page-size-options',\n TOTAL: 'total',\n LABEL: 'label',\n FIRST_LAST: 'first-last',\n FIRST: 'first',\n DISABLED: 'disabled',\n ALTERNATIVE: 'alternative',\n ALIGNMENT: 'alignment'\n};\n\nconst events = {\n CHANGE: `${elementName}-change`\n};\n\nconst numbers = {\n DEFAULT_PAGE_INDEX: 0,\n DEFAULT_TOTAL: 0,\n DEFAULT_PAGE_SIZE: 25,\n DEFAULT_PAGE_SIZE_OPTIONS: [5, 15, 25, 50, 100]\n};\n\nconst strings = {\n DEFAULT_LABEL: 'Rows per page:',\n RANGE_SEPARATOR_LABEL: 'of',\n FIRST_PAGE: 'first-page',\n PREVIOUS_PAGE: 'previous-page',\n NEXT_PAGE: 'next-page',\n LAST_PAGE: 'last-page',\n PAGE_SIZE: 'page-size'\n};\n\nexport const PAGINATOR_CONSTANTS = {\n elementName,\n classes,\n selectors,\n attributes,\n events,\n numbers,\n strings\n};\n\nexport type PaginatorAlternativeAlignment = 'start' | 'space-between' | 'end';\nexport interface IPaginatorChangeEvent {\n type: string;\n pageSize: number;\n pageIndex: number;\n offset: number;\n}\n", "import { coerceNumber, ICustomElementFoundation, isArray, isDefined } from '@tylertech/forge-core';\nimport { IPaginatorAdapter } from './paginator-adapter';\nimport { PaginatorAlternativeAlignment, PAGINATOR_CONSTANTS, IPaginatorChangeEvent } from './paginator-constants';\nimport { ISelectOption, ISelectComponent } from '../select';\n\n\nexport interface IPaginatorFoundation extends ICustomElementFoundation {\n pageIndex: number;\n pageSize: number;\n offset: number;\n total: number;\n pageSizeOptions: number[] | boolean;\n pageSizeLabel: string;\n initialize(): void;\n}\n\n/**\n * The foundation class behind the `<forge-paginator>` component.\n */\nexport class PaginatorFoundation {\n // Backing models\n private _pageIndex = PAGINATOR_CONSTANTS.numbers.DEFAULT_PAGE_INDEX;\n private _pageSize = PAGINATOR_CONSTANTS.numbers.DEFAULT_PAGE_SIZE;\n private _total = PAGINATOR_CONSTANTS.numbers.DEFAULT_TOTAL;\n private _pageSizeOptions: ISelectOption[] = [];\n private _label = PAGINATOR_CONSTANTS.strings.DEFAULT_LABEL;\n private _firstLast = false;\n private _first = false;\n private _disabled = false;\n private _alternative: boolean;\n private _alignment: PaginatorAlternativeAlignment = 'space-between';\n\n // Listeners\n private _firstPageListener: (evt: Event) => void;\n private _previousPageListener: (evt: Event) => void;\n private _nextPageListener: (evt: Event) => void;\n private _lastPageListener: (evt: Event) => void;\n private _pageSizeListener: (evt: Event) => void;\n\n // State variables\n private _rangeLabel: string;\n\n constructor(private _adapter: IPaginatorAdapter) {\n // Create listeners\n this._pageSizeListener = (evt: CustomEvent) => this._onPageSizeChanged(evt);\n this._firstPageListener = (evt: Event) => this._onFirstPage(evt);\n this._previousPageListener = (evt: Event) => this._onPreviousPage(evt);\n this._nextPageListener = (evt: Event) => this._onNextPage(evt);\n this._lastPageListener = (evt: Event) => this._onLastPage(evt);\n\n this._pageSizeOptions = PAGINATOR_CONSTANTS.numbers.DEFAULT_PAGE_SIZE_OPTIONS.map(o => ({ label: o.toString(), value: o.toString() }));\n }\n\n /** The zero-based page index. Default is 0. */\n public set pageIndex(value: number) {\n if (this._pageIndex !== value) {\n if (isDefined(value)) {\n this._pageIndex = value;\n this._update();\n this._adapter.setHostAttribute(PAGINATOR_CONSTANTS.attributes.PAGE_INDEX, this._pageIndex.toString());\n } else {\n this._adapter.removeHostAttribute(PAGINATOR_CONSTANTS.attributes.PAGE_INDEX);\n }\n }\n }\n public get pageIndex(): number {\n return this._pageIndex;\n }\n\n /** Number of items to display on a page. By default set to 25. */\n public set pageSize(value: number) {\n if (this._pageSize !== value) {\n this._pageSize = value;\n this._adapter.setPageSize(this._pageSize);\n this._update();\n this._adapter.setHostAttribute(PAGINATOR_CONSTANTS.attributes.PAGE_SIZE, this._pageSize.toString());\n }\n }\n public get pageSize(): number {\n return this._pageSize;\n }\n\n /** Sets page index by providing the number of items to skip. */\n public set offset(value: number) {\n if (value >= this._total) {\n if (this._total >= this._pageSize) {\n value = this._total - this._pageSize;\n } else {\n value = 0;\n }\n }\n const clampedValue = Math.min(Math.max(value, 0), this._total);\n this.pageIndex = Math.floor(clampedValue / this._pageSize);\n }\n public get offset(): number {\n return this._pageIndex * this._pageSize;\n }\n\n /** The total number of items to be paginated. Default is 0. */\n public set total(value: number) {\n if (this._total !== value) {\n this._total = value;\n this._update();\n this._adapter.setHostAttribute(PAGINATOR_CONSTANTS.attributes.TOTAL, this._total.toString());\n }\n }\n public get total(): number {\n return this._total;\n }\n\n /** The set of provided page size options to display to the user. */\n public set pageSizeOptions(options: number[] | boolean) {\n if (isArray(options)) {\n this._pageSizeOptions = (options as number[])\n .map(o => ({ label: o.toString(), value: o.toString() }))\n .sort((a, b) => coerceNumber(a.value) - coerceNumber(b.value));\n this._adapter.setPageSizeOptions(this._pageSizeOptions);\n this._adapter.attachPageSizeChangeListener(this._pageSizeListener);\n this._adapter.setPageSizeVisibility(true);\n if (isDefined(this._pageSize) && this._pageSizeOptions.length && !this._pageSizeOptions.find(o => coerceNumber(o.value) === this._pageSize)) {\n this.pageSize = coerceNumber(this._pageSizeOptions[0].value);\n }\n } else if (options.toString().toLowerCase() === 'false') {\n this._adapter.detachPageSizeChangeListener(this._pageSizeListener);\n this._adapter.setPageSizeVisibility(false);\n }\n }\n public get pageSizeOptions(): number[] | boolean {\n return this._pageSizeOptions.map(o => Number(o.value));\n }\n\n /** A label for the paginator. Default is \"Rows per page:\". */\n public set label(value: string) {\n if (this._label !== value) {\n this._label = value;\n this._adapter.setLabel(this._label);\n this._adapter.setHostAttribute(PAGINATOR_CONSTANTS.attributes.LABEL, isDefined(this._label) ? this._label.toString() : '');\n }\n }\n public get label(): string {\n return this._label;\n }\n\n /** Whether to show the first page and last page buttons. Default is false. */\n public set firstLast(value: boolean) {\n if (this._firstLast !== value) {\n this._firstLast = value;\n this._toggleFirstLastButtons();\n\n if (this._firstLast) {\n this._adapter.setHostAttribute(PAGINATOR_CONSTANTS.attributes.FIRST_LAST);\n } else {\n this._adapter.removeHostAttribute(PAGINATOR_CONSTANTS.attributes.FIRST_LAST);\n }\n }\n }\n public get firstLast(): boolean {\n return this._firstLast;\n }\n\n /** Whether to show the first page button. Default is false. */\n public set first(value: boolean) {\n if (this._first !== value) {\n this._first = value;\n this._toggleFirstButton();\n\n if (this._first) {\n this._adapter.setHostAttribute(PAGINATOR_CONSTANTS.attributes.FIRST);\n } else {\n this._adapter.removeHostAttribute(PAGINATOR_CONSTANTS.attributes.FIRST);\n }\n }\n }\n\n public get first(): boolean {\n return this._first;\n }\n\n /** Whether the paginator is disabled. Default is false. */\n public set disabled(value: boolean) {\n if (this._disabled !== value) {\n this._disabled = value;\n this._update();\n\n if (this._disabled) {\n this._adapter.setHostAttribute(PAGINATOR_CONSTANTS.attributes.DISABLED);\n } else {\n this._adapter.removeHostAttribute(PAGINATOR_CONSTANTS.attributes.DISABLED);\n }\n }\n }\n public get disabled(): boolean {\n return this._disabled;\n }\n\n public get alternative(): boolean {\n return this._alternative;\n }\n public set alternative(value: boolean) {\n if (value !== this._alternative) {\n this._alternative = value;\n this._applyAlternative();\n }\n }\n\n public get alignment(): PaginatorAlternativeAlignment {\n return this._alignment;\n }\n public set alignment(value: PaginatorAlternativeAlignment) {\n if (value !== this._alignment) {\n this._alignment = value;\n this._applyAlternativeAlignment();\n }\n }\n\n private _applyAlternativeAlignment(): void {\n this._adapter.setHostAttribute(PAGINATOR_CONSTANTS.attributes.ALIGNMENT, this._alignment);\n this._adapter.setAlignment(this._alignment);\n }\n\n private _applyAlternative(): void {\n this._adapter.toggleHostAttribute(PAGINATOR_CONSTANTS.attributes.ALTERNATIVE, this._alternative);\n this._adapter.setAlternative(this._alternative);\n this._applyAlternativeAlignment();\n }\n\n /**\n * Intializes the internal state when the component loads.\n */\n public initialize(): void {\n this._update();\n this._adapter.setLabel(this._label);\n this._adapter.setPageSizeOptions(this._pageSizeOptions);\n this._adapter.setPageSize(this._pageSize);\n this._attachListeners();\n this._toggleFirstLastButtons();\n }\n\n public disconnect(): void {\n this._detachListeners();\n }\n\n private _attachListeners(): void {\n this._adapter.attachPageSizeChangeListener(this._pageSizeListener);\n this._adapter.attachFirstPageListener(this._firstPageListener);\n this._adapter.attachPreviousPageListener(this._previousPageListener);\n this._adapter.attachNextPageListener(this._nextPageListener);\n this._adapter.attachLastPageListener(this._lastPageListener);\n }\n\n private _detachListeners(): void {\n this._adapter.detachPageSizeChangeListener(this._pageSizeListener);\n this._adapter.detachFirstPageListener(this._firstPageListener);\n this._adapter.detachPreviousPageListener(this._previousPageListener);\n this._adapter.detachNextPageListener(this._nextPageListener);\n this._adapter.detachLastPageListener(this._lastPageListener);\n }\n\n /**\n * Handles clicking the first page button.\n * @param evt The click event.\n */\n private _onFirstPage(evt: Event): void {\n evt.stopPropagation();\n\n if (!this._hasFirstPage()) {\n return;\n }\n\n this.pageIndex = 0;\n this._emitChangeEvent(PAGINATOR_CONSTANTS.strings.FIRST_PAGE);\n }\n\n /**\n * Handles clicking the previous page button.\n * @param evt The click event.\n */\n private _onPreviousPage(evt: Event): void {\n evt.stopPropagation();\n\n if (!this._hasPreviousPage()) {\n return;\n }\n\n this.pageIndex--;\n this._emitChangeEvent(PAGINATOR_CONSTANTS.strings.PREVIOUS_PAGE);\n }\n\n /**\n * Handles clicking the next page button.\n * @param evt The click event.\n */\n private _onNextPage(evt: Event): void {\n evt.stopPropagation();\n\n if (!this._hasNextPage()) {\n return;\n }\n\n this.pageIndex++;\n this._emitChangeEvent(PAGINATOR_CONSTANTS.strings.NEXT_PAGE);\n }\n\n /**\n * Handles clicking the last page button.\n * @param evt The click event.\n */\n private _onLastPage(evt: Event): void {\n evt.stopPropagation();\n\n if (!this._hasLastPage()) {\n return;\n }\n\n this.pageIndex = this._getMaxPages();\n this._emitChangeEvent(PAGINATOR_CONSTANTS.strings.LAST_PAGE);\n }\n\n /**\n * Handles selecting a new item in the page size options.\n * @param evt The select custom event.\n */\n private _onPageSizeChanged(evt: CustomEvent): void {\n evt.stopPropagation();\n this.pageIndex = 0;\n this.pageSize = Number((evt.target as ISelectComponent).value);\n this._emitChangeEvent(PAGINATOR_CONSTANTS.strings.PAGE_SIZE);\n }\n\n private _emitChangeEvent(type: string): void {\n const detail: IPaginatorChangeEvent = {\n type,\n pageSize: this._pageSize,\n pageIndex: this._pageIndex,\n offset: this._pageIndex * this._pageSize\n };\n this._adapter.emitHostEvent(PAGINATOR_CONSTANTS.events.CHANGE, detail);\n }\n\n /**\n * Returns the max number of pages based on our current parameters.\n */\n private _getMaxPages(): number {\n return Math.ceil(this._total / this._pageSize) - 1;\n }\n\n /**\n * Updates our internal state as well as updating the UI.\n */\n private _update(): void {\n // Create and update the range label\n if (this.pageSize > 1) {\n const startIndex = this._pageIndex * this._pageSize;\n const indexStart = Math.floor(startIndex / this._pageSize) || 0;\n const pageStart = (indexStart * this._pageSize) + 1;\n const pageEnd = startIndex < this._total ? Math.min(startIndex + this._pageSize, this._total) : startIndex + this._pageSize;\n\n this._rangeLabel = `${pageStart}-${pageEnd} ${PAGINATOR_CONSTANTS.strings.RANGE_SEPARATOR_LABEL} ${this._total}`;\n } else {\n this._rangeLabel = `${this._pageIndex + 1} ${PAGINATOR_CONSTANTS.strings.RANGE_SEPARATOR_LABEL} ${this._total}`;\n }\n\n this._adapter.setRangeLabel(this._rangeLabel);\n\n if (this.disabled) {\n this._adapter.disablePageSizeSelect();\n this._adapter.disableFirstPageButton();\n this._adapter.disablePreviousPageButton();\n this._adapter.disableNextPageButton();\n this._adapter.disableLastPageButton();\n } else {\n this._adapter.enablePageSizeSelect();\n // Check if first page button needs to be enabled/disabled\n if (this._hasFirstPage()) {\n this._adapter.enableFirstPageButton();\n } else {\n this._adapter.disableFirstPageButton();\n }\n\n // Check if previous page button needs to be enabled/disabled\n if (this._hasPreviousPage()) {\n this._adapter.enablePreviousPageButton();\n } else {\n this._adapter.disablePreviousPageButton();\n }\n\n // Check if next page button needs to be enabled/disabled\n if (this._hasNextPage()) {\n this._adapter.enableNextPageButton();\n } else {\n this._adapter.disableNextPageButton();\n }\n\n // Check if last page button needs to be enabled/disabled\n if (this._hasLastPage()) {\n this._adapter.enableLastPageButton();\n } else {\n this._adapter.disableLastPageButton();\n }\n }\n }\n\n /**\n * Toggle showing/hiding first and last buttons based on the show first/last buttons flag.\n */\n private _toggleFirstLastButtons(): void {\n this._toggleFirstButton();\n if (this._firstLast) {\n if (!this._adapter.hasLastPageButton()) {\n this._adapter.showLastPageButton();\n }\n } else {\n if (this._adapter.hasLastPageButton()) {\n this._adapter.hideLastPageButton();\n }\n }\n }\n\n /**\n * Toggle showing/hiding first button based on the show first or first/last buttons flags.\n */\n private _toggleFirstButton(): void {\n if (this._first || this._firstLast) {\n if (!this._adapter.hasFirstPageButton()) {\n this._adapter.showFirstPageButton();\n }\n } else {\n if (this._adapter.hasFirstPageButton()) {\n this._adapter.hideFirstPageButton();\n }\n }\n }\n\n /** Checks if a first page exists. */\n private _hasFirstPage(): boolean {\n // same as has previous page\n return this._hasPreviousPage();\n }\n\n /**\n * Checks if a previous page exists.\n */\n private _hasPreviousPage(): boolean {\n return this._pageIndex >= 1 && this._pageSize !== 0;\n }\n\n /** Checks if a next page exists */\n private _hasNextPage(): boolean {\n const maxPages = this._getMaxPages();\n return this._pageIndex < maxPages && this._pageSize !== 0;\n }\n\n /** Checks if a last page exists. */\n private _hasLastPage(): boolean {\n // same as has next page\n return this._hasNextPage();\n }\n}\n", "import { addClass, getShadowElement, removeAllChildren, removeClass, toggleElementPlaceholder, toggleClass } from '@tylertech/forge-core';\nimport { BaseAdapter, IBaseAdapter } from '../core/base/base-adapter';\nimport { IIconButtonComponent } from '../icon-button';\nimport { ISelectComponent, ISelectOption } from '../select';\nimport { IPaginatorComponent } from './paginator';\nimport { PaginatorAlternativeAlignment, PAGINATOR_CONSTANTS } from './paginator-constants';\n\nexport interface IPaginatorAdapter extends IBaseAdapter {\n setLabel: (value: string) => void;\n setPageSizeOptions: (options: ISelectOption[]) => void;\n setPageSize: (value: number) => void;\n setRangeLabel: (value: string) => void;\n hasFirstPageButton(): boolean;\n showFirstPageButton(): void;\n hideFirstPageButton(): void;\n hasLastPageButton(): boolean;\n showLastPageButton(): void;\n hideLastPageButton(): void;\n attachPageSizeChangeListener: (listener: (evt: CustomEvent) => void) => void;\n attachFirstPageListener: (listener: (evt: Event) => void) => void;\n attachPreviousPageListener: (listener: (evt: Event) => void) => void;\n attachNextPageListener: (listener: (evt: Event) => void) => void;\n attachLastPageListener: (listener: (evt: Event) => void) => void;\n detachPageSizeChangeListener: (listener: (evt: CustomEvent) => void) => void;\n detachFirstPageListener: (listener: (evt: Event) => void) => void;\n detachPreviousPageListener: (listener: (evt: Event) => void) => void;\n detachNextPageListener: (listener: (evt: Event) => void) => void;\n detachLastPageListener: (listener: (evt: Event) => void) => void;\n disableFirstPageButton: () => void;\n enableFirstPageButton: () => void;\n disablePreviousPageButton: () => void;\n enablePreviousPageButton: () => void;\n disableNextPageButton: () => void;\n enableNextPageButton: () => void;\n disablePageSizeSelect(): void;\n enablePageSizeSelect(): void;\n setPageSizeVisibility(visible: boolean): void;\n disableLastPageButton: () => void;\n enableLastPageButton: () => void;\n setAlternative: (alternative: boolean) => void;\n setAlignment: (alignment: PaginatorAlternativeAlignment) => void;\n}\n\n/**\n * Provides facilities for interacting with the internal DOM of `PaginatorComponent`.\n */\nexport class PaginatorAdapter extends BaseAdapter<IPaginatorComponent> implements IPaginatorAdapter {\n private _labelElement: HTMLElement;\n private _root: HTMLElement;\n private _pageSizeSelect: ISelectComponent;\n private _rangeLabel: HTMLElement;\n private _rangeLabelAlternative: HTMLElement;\n private _firstPageButton: HTMLButtonElement;\n private _firstPageIconButton: IIconButtonComponent;\n private _firstPagePlaceholder: Comment;\n private _previousPageButton: HTMLButtonElement;\n private _nextPageButton: HTMLButtonElement;\n private _lastPageButton: HTMLButtonElement;\n private _lastPageIconButton: IIconButtonComponent;\n private _lastPagePlaceholder: Comment;\n\n constructor(component: IPaginatorComponent) {\n super(component);\n this._labelElement = getShadowElement(component, PAGINATOR_CONSTANTS.selectors.LABEL);\n this._root = getShadowElement(component, PAGINATOR_CONSTANTS.selectors.ROOT);\n this._pageSizeSelect = getShadowElement(component, PAGINATOR_CONSTANTS.selectors.PAGE_SIZE_SELECT) as ISelectComponent;\n this._rangeLabel = getShadowElement(component, PAGINATOR_CONSTANTS.selectors.RANGE_LABEL);\n this._rangeLabelAlternative = getShadowElement(component, PAGINATOR_CONSTANTS.selectors.RANGE_LABEL_ALTERNATIVE);\n this._firstPageButton = getShadowElement(component, PAGINATOR_CONSTANTS.selectors.FIRST_PAGE_BUTTON) as HTMLButtonElement;\n this._firstPageIconButton = getShadowElement(component, PAGINATOR_CONSTANTS.selectors.FIRST_PAGE_ICON_BUTTON) as IIconButtonComponent;\n this._previousPageButton = getShadowElement(component, PAGINATOR_CONSTANTS.selectors.PREVIOUS_PAGE_BUTTON) as HTMLButtonElement;\n this._nextPageButton = getShadowElement(component, PAGINATOR_CONSTANTS.selectors.NEXT_PAGE_BUTTON) as HTMLButtonElement;\n this._lastPageButton = getShadowElement(component, PAGINATOR_CONSTANTS.selectors.LAST_PAGE_BUTTON) as HTMLButtonElement;\n this._lastPageIconButton = getShadowElement(component, PAGINATOR_CONSTANTS.selectors.LAST_PAGE_ICON_BUTTON) as IIconButtonComponent;\n }\n\n public setLabel(value: string): void {\n this._labelElement.textContent = value;\n }\n\n public setPageSizeOptions(options: ISelectOption[]): void {\n removeAllChildren(this._pageSizeSelect);\n this._pageSizeSelect.options = options;\n }\n\n public setPageSize(value: number): void {\n this._pageSizeSelect.value = value.toString();\n }\n\n public setRangeLabel(value: string): void {\n this._rangeLabel.innerText = value;\n this._rangeLabelAlternative.innerText = value;\n }\n\n public hasFirstPageButton(): boolean {\n return !!getShadowElement(this._component, PAGINATOR_CONSTANTS.selectors.FIRST_PAGE_ICON_BUTTON);\n }\n\n public showFirstPageButton(): void {\n this._firstPagePlaceholder = toggleElementPlaceholder(\n this._component,\n true,\n PAGINATOR_CONSTANTS.elementName,\n PAGINATOR_CONSTANTS.selectors.FIRST_PAGE_ICON_BUTTON,\n this._firstPageIconButton,\n this._firstPagePlaceholder\n );\n }\n\n public hideFirstPageButton(): void {\n this._firstPagePlaceholder = toggleElementPlaceholder(\n this._component,\n false,\n PAGINATOR_CONSTANTS.elementName,\n PAGINATOR_CONSTANTS.selectors.FIRST_PAGE_ICON_BUTTON,\n this._firstPageIconButton,\n this._firstPagePlaceholder\n );\n }\n\n public hasLastPageButton(): boolean {\n return !!getShadowElement(this._component, PAGINATOR_CONSTANTS.selectors.LAST_PAGE_ICON_BUTTON);\n }\n\n public showLastPageButton(): void {\n this._lastPagePlaceholder = toggleElementPlaceholder(\n this._component,\n true,\n PAGINATOR_CONSTANTS.elementName,\n PAGINATOR_CONSTANTS.selectors.LAST_PAGE_ICON_BUTTON,\n this._lastPageIconButton,\n this._lastPagePlaceholder\n );\n }\n\n public hideLastPageButton(): void {\n this._lastPagePlaceholder = toggleElementPlaceholder(\n this._component,\n false,\n PAGINATOR_CONSTANTS.elementName,\n PAGINATOR_CONSTANTS.selectors.LAST_PAGE_ICON_BUTTON,\n this._lastPageIconButton,\n this._lastPagePlaceholder\n );\n }\n\n public attachPageSizeChangeListener(listener: (evt: CustomEvent) => void): void {\n this._pageSizeSelect.addEventListener('change', listener);\n }\n\n public attachFirstPageListener(listener: (evt: Event) => void): void {\n this._firstPageButton.addEventListener('click', listener);\n }\n\n public attachPreviousPageListener(listener: (evt: Event) => void): void {\n this._previousPageButton.addEventListener('click', listener);\n }\n\n public attachNextPageListener(listener: (evt: Event) => void): void {\n this._nextPageButton.addEventListener('click', listener);\n }\n\n public attachLastPageListener(listener: (evt: Event) => void): void {\n this._lastPageButton.addEventListener('click', listener);\n }\n\n public detachPageSizeChangeListener(listener: (evt: CustomEvent) => void): void {\n this._pageSizeSelect.removeEventListener('change', listener);\n }\n\n public detachFirstPageListener(listener: (evt: Event) => void): void {\n this._firstPageButton.removeEventListener('click', listener);\n }\n\n public detachPreviousPageListener(listener: (evt: Event) => void): void {\n this._previousPageButton.removeEventListener('click', listener);\n }\n\n public detachNextPageListener(listener: (evt: Event) => void): void {\n this._nextPageButton.removeEventListener('click', listener);\n }\n\n public detachLastPageListener(listener: (evt: Event) => void): void {\n this._lastPageButton.removeEventListener('click', listener);\n }\n\n public disableFirstPageButton(): void {\n this._firstPageButton.setAttribute('disabled', 'disabled');\n }\n\n public enableFirstPageButton(): void {\n this._firstPageButton.removeAttribute('disabled');\n }\n\n public disablePreviousPageButton(): void {\n this._previousPageButton.setAttribute('disabled', 'disabled');\n }\n\n public enablePreviousPageButton(): void {\n this._previousPageButton.removeAttribute('disabled');\n }\n\n public disableNextPageButton(): void {\n this._nextPageButton.setAttribute('disabled', 'disabled');\n }\n\n public enableNextPageButton(): void {\n this._nextPageButton.removeAttribute('disabled');\n }\n\n public disablePageSizeSelect(): void {\n this._pageSizeSelect.setAttribute('disabled', 'disabled');\n }\n\n public enablePageSizeSelect(): void {\n this._pageSizeSelect.removeAttribute('disabled');\n }\n\n public setPageSizeVisibility(visible: boolean): void {\n if (visible) {\n this._pageSizeSelect.style.removeProperty('display');\n } else {\n this._pageSizeSelect.style.display = 'none';\n }\n }\n\n public disableLastPageButton(): void {\n this._lastPageButton.setAttribute('disabled', 'disabled');\n }\n\n public enableLastPageButton(): void {\n this._lastPageButton.removeAttribute('disabled');\n }\n\n public setAlternative(alternative: boolean): void {\n toggleClass(this._root, alternative, PAGINATOR_CONSTANTS.classes.ALTERNATIVE);\n }\n\n public setAlignment(alignment: PaginatorAlternativeAlignment): void {\n removeClass([\n PAGINATOR_CONSTANTS.classes.ALIGNMENT_SPACE_BETWEEN,\n PAGINATOR_CONSTANTS.classes.ALIGNMENT_START,\n PAGINATOR_CONSTANTS.classes.ALIGNMENT_END\n ], this._root);\n\n switch (alignment) {\n case 'start':\n addClass(PAGINATOR_CONSTANTS.classes.ALIGNMENT_START, this._root);\n break;\n case 'end':\n addClass(PAGINATOR_CONSTANTS.classes.ALIGNMENT_END, this._root);\n break;\n case 'space-between':\n default:\n addClass(PAGINATOR_CONSTANTS.classes.ALIGNMENT_SPACE_BETWEEN, this._root);\n break;\n }\n }\n}\n", "import { CustomElement, attachShadowTemplate, FoundationProperty, coerceBoolean } from '@tylertech/forge-core';\nimport { tylIconFirstPage, tylIconLastPage, tylIconKeyboardArrowRight, tylIconKeyboardArrowLeft } from '@tylertech/tyler-icons/standard';\nimport { PaginatorAlternativeAlignment, PAGINATOR_CONSTANTS, IPaginatorChangeEvent } from './paginator-constants';\nimport { PaginatorFoundation } from './paginator-foundation';\nimport { PaginatorAdapter } from './paginator-adapter';\nimport { IconButtonComponent } from '../icon-button';\nimport { SelectComponent } from '../select';\nimport { IconComponent, IconRegistry } from '../icon';\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\nimport { TooltipComponent } from '../tooltip';\n\nconst template = '<template><div class=\\\"forge-paginator\\\" part=\\\"root\\\"><div class=\\\"forge-paginator__container\\\" part=\\\"container\\\"><div class=\\\"forge-paginator__label\\\" part=\\\"label\\\"></div><forge-select class=\\\"forge-paginator__page-size-options\\\" aria-label=\\\"Choose page size\\\" density=\\\"dense\\\" part=\\\"page-size-options\\\"></forge-select><div class=\\\"forge-paginator__range-label\\\" part=\\\"range-label\\\"></div><forge-icon-button class=\\\"forge-paginator__first-page\\\" part=\\\"first-page-button\\\"><button aria-label=\\\"First Page\\\" part=\\\"first-page-button-element\\\"><forge-icon name=\\\"first_page\\\" part=\\\"first-page-icon\\\"></forge-icon></button><forge-tooltip position=\\\"top\\\">Go to the first page</forge-tooltip></forge-icon-button><forge-icon-button class=\\\"forge-paginator__previous-page\\\" part=\\\"previous-page-button\\\"><button aria-label=\\\"Previous Page\\\" part=\\\"previous-page-button-element\\\"><forge-icon name=\\\"keyboard_arrow_left\\\" part=\\\"previous-page-button-icon\\\"></forge-icon></button><forge-tooltip position=\\\"top\\\">Go to the previous page</forge-tooltip></forge-icon-button><div class=\\\"forge-paginator__range-label--alternative\\\" part=\\\"range-label-alternative\\\"></div><forge-icon-button class=\\\"forge-paginator__next-page\\\" part=\\\"next-page-button\\\"><button aria-label=\\\"Next Page\\\" part=\\\"next-page-button-element\\\"><forge-icon name=\\\"keyboard_arrow_right\\\" part=\\\"next-page-icon\\\"></forge-icon></button><forge-tooltip position=\\\"top\\\">Go to the next page</forge-tooltip></forge-icon-button><forge-icon-button class=\\\"forge-paginator__last-page\\\" part=\\\"last-page-button\\\"><button aria-label=\\\"Last Page\\\" part=\\\"last-page-button-element\\\"><forge-icon name=\\\"last_page\\\" part=\\\"last-page-icon\\\"></forge-icon></button><forge-tooltip position=\\\"top\\\">Go to the last page</forge-tooltip></forge-icon-button></div></div></template>';\nconst styles = '.forge-icon-button{display:-webkit-inline-box;display:inline-flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;border:none;outline:0;background-color:transparent;fill:currentColor;color:inherit;font-size:24px;text-decoration:none;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:48px;height:48px;padding:12px}.forge-icon-button forge-icon,.forge-icon-button img,.forge-icon-button svg{width:24px;height:24px}.forge-icon-button:disabled{color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38))}.forge-icon-button:disabled{cursor:default;pointer-events:none}.forge-icon-button__icon{display:inline-block}.forge-icon-button__icon.forge-icon-button__icon--on{display:none}.forge-icon-button--on .forge-icon-button__icon{display:none}.forge-icon-button--on .forge-icon-button__icon.forge-icon-button__icon--on{display:inline-block}@-webkit-keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@-webkit-keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@-webkit-keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}@keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}.forge-icon-button{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity}.forge-icon-button::after,.forge-icon-button::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\\\"\\\"}.forge-icon-button::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.forge-icon-button::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.forge-icon-button.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.forge-icon-button.mdc-ripple-upgraded::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.forge-icon-button.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.forge-icon-button.mdc-ripple-upgraded--foreground-activation::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.forge-icon-button.mdc-ripple-upgraded--foreground-deactivation::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.forge-icon-button::after,.forge-icon-button::before{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.forge-icon-button.mdc-ripple-upgraded::after,.forge-icon-button.mdc-ripple-upgraded::before{top:var(--mdc-ripple-top,calc(50% - 50%));left:var(--mdc-ripple-left,calc(50% - 50%));width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-icon-button.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-icon-button::after,.forge-icon-button::before{background-color:#000;background-color:var(--mdc-ripple-color,var(--mdc-theme-on-surface,#000))}.forge-icon-button.mdc-ripple-surface--hover::before,.forge-icon-button:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-icon-button.mdc-ripple-upgraded--background-focused::before,.forge-icon-button:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-icon-button:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-icon-button:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-icon-button.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}forge-icon-button{position:relative;display:inline-block;overflow:visible}.forge-icon-button--on{color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.forge-icon-button--on::after,.forge-icon-button--on::before{background-color:#3f51b5;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#3f51b5))}.forge-icon-button--on.mdc-ripple-surface--hover::before,.forge-icon-button--on:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-icon-button--on.mdc-ripple-upgraded--background-focused::before,.forge-icon-button--on:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-icon-button--on:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-icon-button--on:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-icon-button--on.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.forge-icon-button--on::before{background-color:#3f51b5;background-color:var(--mdc-theme-primary,#3f51b5);opacity:.08}.forge-icon-button--dense{width:28px;height:28px;padding:2px;padding:0}.forge-icon-button--dense-1{width:44px;height:44px;padding:10px}.forge-icon-button--dense-2{width:40px;height:40px;padding:8px}.forge-icon-button--dense-3{width:36px;height:36px;padding:6px}.forge-icon-button--dense-4{width:32px;height:32px;padding:4px}.forge-icon-button--dense-5{width:28px;height:28px;padding:2px}.forge-icon-button--dense-6{width:24px;height:24px;padding:0}.forge-icon-button--with-badge forge-badge{z-index:1;z-index:var(--forge-z-index-surface,1);pointer-events:none;--forge-badge-max-width:32px;--forge-badge-border:1px solid transparent}.forge-icon-button--with-badge forge-badge[app-bar-context]{--forge-badge-border:2px solid var(--forge-app-bar-theme-background)}.forge-paginator{display:inline-block}.forge-paginator--alternative{display:-webkit-box;display:flex}.forge-paginator--alternative .forge-paginator__label,.forge-paginator--alternative .forge-paginator__page-size-options,.forge-paginator--alternative .forge-paginator__range-label{display:none}.forge-paginator--alternative .forge-paginator__range-label--alternative{display:inline-block;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-body2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.875rem;font-size:var(--mdc-typography-body2-font-size, .875rem);line-height:1.25rem;line-height:var(--mdc-typography-body2-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-body2-font-weight,400);letter-spacing:.0178571429em;letter-spacing:var(--mdc-typography-body2-letter-spacing, .0178571429em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-body2-text-decoration,inherit);text-decoration:var(--mdc-typography-body2-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-body2-text-transform,inherit);margin:0 12px}.forge-paginator__range-label--alternative{display:none}.forge-paginator__container{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.forge-paginator__label{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.75rem;font-size:var(--mdc-typography-caption-font-size, .75rem);line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);margin-right:16px}.forge-paginator__page-size-options{margin-right:16px}.forge-paginator__range-label{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.75rem;font-size:var(--mdc-typography-caption-font-size, .75rem);line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);margin-right:8px}.forge-paginator__first-page,.forge-paginator__last-page,.forge-paginator__next-page,.forge-paginator__previous-page{color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87))}:host{display:inline-block}:host([hidden]){display:none}:host([alternative]) .forge-paginator--alignment-center .forge-paginator__container{-webkit-box-pack:center;justify-content:center}:host([alternative]) .forge-paginator--alignment-center .forge-paginator__range-label--alternative{margin:0 auto}:host([alternative]) .forge-paginator--alignment-start .forge-paginator__container{-webkit-box-pack:start;justify-content:flex-start}:host([alternative]) .forge-paginator--alignment-end .forge-paginator__container{-webkit-box-pack:end;justify-content:flex-end}:host([alternative]) .forge-paginator .forge-paginator__container{-webkit-box-flex:1;flex:1}';\n\nexport interface IPaginatorComponent extends IBaseComponent {\n pageIndex: number;\n pageSize: number;\n offset: number;\n total: number;\n pageSizeOptions: number[] | boolean;\n label: string;\n firstLast: boolean;\n first: boolean;\n disabled: boolean;\n alternative: boolean;\n alignment: PaginatorAlternativeAlignment;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-paginator': IPaginatorComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-paginator-change': CustomEvent<IPaginatorChangeEvent>;\n }\n}\n\n/**\n * The custom element class behind the `<forge-paginator>` component.\n */\n@CustomElement({\n name: PAGINATOR_CONSTANTS.elementName,\n dependencies: [\n IconButtonComponent,\n SelectComponent,\n IconComponent,\n TooltipComponent\n ]\n})\nexport class PaginatorComponent extends BaseComponent implements IPaginatorComponent {\n public static get observedAttributes(): string[] {\n return [\n PAGINATOR_CONSTANTS.attributes.PAGE_INDEX,\n PAGINATOR_CONSTANTS.attributes.PAGE_SIZE,\n PAGINATOR_CONSTANTS.attributes.OFFSET,\n PAGINATOR_CONSTANTS.attributes.TOTAL,\n PAGINATOR_CONSTANTS.attributes.PAGE_SIZE_OPTIONS,\n PAGINATOR_CONSTANTS.attributes.LABEL,\n PAGINATOR_CONSTANTS.attributes.FIRST_LAST,\n PAGINATOR_CONSTANTS.attributes.FIRST,\n PAGINATOR_CONSTANTS.attributes.DISABLED,\n PAGINATOR_CONSTANTS.attributes.ALTERNATIVE,\n PAGINATOR_CONSTANTS.attributes.ALIGNMENT\n ];\n }\n\n private _foundation: PaginatorFoundation;\n\n constructor() {\n super();\n IconRegistry.define([\n tylIconFirstPage,\n tylIconKeyboardArrowLeft,\n tylIconKeyboardArrowRight,\n tylIconLastPage\n ]);\n attachShadowTemplate(this, template, styles);\n this._foundation = new PaginatorFoundation(new PaginatorAdapter(this));\n }\n\n public connectedCallback(): void {\n this._foundation.initialize();\n }\n\n public disconnectedCallback(): void {\n this._foundation.disconnect();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case PAGINATOR_CONSTANTS.attributes.PAGE_INDEX:\n this.pageIndex = Number(newValue) || PAGINATOR_CONSTANTS.numbers.DEFAULT_PAGE_INDEX;\n break;\n case PAGINATOR_CONSTANTS.attributes.PAGE_SIZE:\n this.pageSize = Number(newValue) || PAGINATOR_CONSTANTS.numbers.DEFAULT_PAGE_SIZE;\n break;\n case PAGINATOR_CONSTANTS.attributes.OFFSET:\n this.offset = Number(newValue);\n break;\n case PAGINATOR_CONSTANTS.attributes.TOTAL:\n this.total = Number(newValue) || PAGINATOR_CONSTANTS.numbers.DEFAULT_TOTAL;\n break;\n case PAGINATOR_CONSTANTS.attributes.PAGE_SIZE_OPTIONS:\n this.pageSizeOptions = newValue as any;\n break;\n case PAGINATOR_CONSTANTS.attributes.LABEL:\n this.label = newValue;\n break;\n case PAGINATOR_CONSTANTS.attributes.FIRST_LAST:\n this.firstLast = coerceBoolean(newValue);\n break;\n case PAGINATOR_CONSTANTS.attributes.FIRST:\n this.first = coerceBoolean(newValue);\n break;\n case PAGINATOR_CONSTANTS.attributes.DISABLED:\n this.disabled = coerceBoolean(newValue);\n break;\n case PAGINATOR_CONSTANTS.attributes.ALTERNATIVE:\n this.alternative = coerceBoolean(newValue);\n break;\n case PAGINATOR_CONSTANTS.attributes.ALIGNMENT:\n this.alignment = newValue as PaginatorAlternativeAlignment;\n break;\n }\n }\n\n /** The zero-based page index. Default is 0. */\n @FoundationProperty()\n public pageIndex: number;\n\n /** Number of items to display on a page. By default set to 25. */\n @FoundationProperty()\n public pageSize: number;\n\n /** Sets page index by providing the number of items to skip. The getter for this property returns the number of items to skip. */\n @FoundationProperty()\n public offset: number;\n\n /** The total number of items to be paginated. Default is 0. */\n @FoundationProperty()\n public total: number;\n\n /** The set of provided page size options to display to the user. */\n @FoundationProperty()\n public pageSizeOptions: number[] | boolean;\n\n /** A label for the paginator. Default is \"Rows per page:\". */\n @FoundationProperty()\n public label: string;\n\n /** Whether to show the first page and last page buttons. Default is false. */\n @FoundationProperty()\n public firstLast: boolean;\n\n /** Whether to show the first page button. Default is false. */\n @FoundationProperty()\n public first: boolean;\n\n /** Whether the paginator is disabled. Default is false. */\n @FoundationProperty()\n public disabled: boolean;\n\n @FoundationProperty()\n public alternative: boolean;\n\n @FoundationProperty()\n public alignment: PaginatorAlternativeAlignment;\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { PaginatorComponent } from './paginator';\n\nexport * from './paginator-adapter';\nexport * from './paginator-constants';\nexport * from './paginator-foundation';\nexport * from './paginator';\n\nexport function definePaginatorComponent(): void {\n defineCustomElement(PaginatorComponent);\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
} from "./chunk.EWQENJ4W.js";
|
|
10
10
|
import {
|
|
11
11
|
IconButtonComponent
|
|
12
|
-
} from "./chunk.
|
|
12
|
+
} from "./chunk.UM3J4AZ7.js";
|
|
13
13
|
import {
|
|
14
14
|
applyPassive,
|
|
15
15
|
matches
|
|
@@ -31,7 +31,7 @@ import {
|
|
|
31
31
|
import {
|
|
32
32
|
IconComponent,
|
|
33
33
|
IconRegistry
|
|
34
|
-
} from "./chunk.
|
|
34
|
+
} from "./chunk.V6TRG2CM.js";
|
|
35
35
|
import {
|
|
36
36
|
BaseAdapter
|
|
37
37
|
} from "./chunk.KZATVOA6.js";
|
|
@@ -1332,4 +1332,4 @@ export {
|
|
|
1332
1332
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
1333
1333
|
* THE SOFTWARE.
|
|
1334
1334
|
*/
|
|
1335
|
-
//# sourceMappingURL=chunk.
|
|
1335
|
+
//# sourceMappingURL=chunk.5CZWANU6.js.map
|
|
File without changes
|
|
@@ -11,11 +11,11 @@ import {
|
|
|
11
11
|
} from "./chunk.Y2TDQIA4.js";
|
|
12
12
|
import {
|
|
13
13
|
ListDropdownAware
|
|
14
|
-
} from "./chunk.
|
|
14
|
+
} from "./chunk.LKUKESRQ.js";
|
|
15
15
|
import {
|
|
16
16
|
ListDropdown,
|
|
17
17
|
ListDropdownAwareFoundation
|
|
18
|
-
} from "./chunk.
|
|
18
|
+
} from "./chunk.47D77ELY.js";
|
|
19
19
|
import {
|
|
20
20
|
POPUP_CONSTANTS
|
|
21
21
|
} from "./chunk.5EEEKOOK.js";
|
|
@@ -837,4 +837,4 @@ export {
|
|
|
837
837
|
BaseSelectComponent,
|
|
838
838
|
BaseSelectAdapter
|
|
839
839
|
};
|
|
840
|
-
//# sourceMappingURL=chunk.
|
|
840
|
+
//# sourceMappingURL=chunk.5VNEDRVC.js.map
|
|
File without changes
|
|
@@ -5,14 +5,14 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import {
|
|
7
7
|
DialogComponent
|
|
8
|
-
} from "./chunk.
|
|
8
|
+
} from "./chunk.YKNYR3NX.js";
|
|
9
9
|
import {
|
|
10
10
|
TEXT_FIELD_CONSTANTS,
|
|
11
11
|
TextFieldComponentDelegate
|
|
12
12
|
} from "./chunk.Q4YMHFRY.js";
|
|
13
13
|
import {
|
|
14
14
|
ListDropdown
|
|
15
|
-
} from "./chunk.
|
|
15
|
+
} from "./chunk.47D77ELY.js";
|
|
16
16
|
import {
|
|
17
17
|
ListComponent
|
|
18
18
|
} from "./chunk.4UKSUUTX.js";
|
|
@@ -25,7 +25,7 @@ import {
|
|
|
25
25
|
import {
|
|
26
26
|
ICON_BUTTON_CONSTANTS,
|
|
27
27
|
IconButtonComponent
|
|
28
|
-
} from "./chunk.
|
|
28
|
+
} from "./chunk.UM3J4AZ7.js";
|
|
29
29
|
import {
|
|
30
30
|
tylIconClose
|
|
31
31
|
} from "./chunk.GS2AXUCN.js";
|
|
@@ -36,7 +36,7 @@ import {
|
|
|
36
36
|
ICON_CONSTANTS,
|
|
37
37
|
IconComponent,
|
|
38
38
|
IconRegistry
|
|
39
|
-
} from "./chunk.
|
|
39
|
+
} from "./chunk.V6TRG2CM.js";
|
|
40
40
|
import {
|
|
41
41
|
FormFieldComponentDelegate
|
|
42
42
|
} from "./chunk.HZISALRH.js";
|
|
@@ -50,7 +50,7 @@ import {
|
|
|
50
50
|
tokenize12HourTimeString,
|
|
51
51
|
tokenize24HourTimeString,
|
|
52
52
|
tryCoerceTimeString
|
|
53
|
-
} from "./chunk.
|
|
53
|
+
} from "./chunk.3VR7VHL5.js";
|
|
54
54
|
import {
|
|
55
55
|
BaseAdapter
|
|
56
56
|
} from "./chunk.KZATVOA6.js";
|
|
@@ -1447,4 +1447,4 @@ export {
|
|
|
1447
1447
|
TimePickerComponentDelegate,
|
|
1448
1448
|
defineTimePickerComponent
|
|
1449
1449
|
};
|
|
1450
|
-
//# sourceMappingURL=chunk.
|
|
1450
|
+
//# sourceMappingURL=chunk.7M3P4QES.js.map
|
|
File without changes
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
CHIP_CONSTANTS,
|
|
8
8
|
CHIP_SET_CONSTANTS,
|
|
9
9
|
ChipComponent
|
|
10
|
-
} from "./chunk.
|
|
10
|
+
} from "./chunk.EQCPRLUV.js";
|
|
11
11
|
import {
|
|
12
12
|
BaseAdapter
|
|
13
13
|
} from "./chunk.KZATVOA6.js";
|
|
@@ -197,4 +197,4 @@ export {
|
|
|
197
197
|
ChipSetComponent,
|
|
198
198
|
defineChipSetComponent
|
|
199
199
|
};
|
|
200
|
-
//# sourceMappingURL=chunk.
|
|
200
|
+
//# sourceMappingURL=chunk.B425FZOZ.js.map
|
|
File without changes
|