UNPKG

@trap_stevo/legendarybuilderproreact-ui

Version:

The legendary UI & utility API that makes your application a legendary application. ~ Created by Steven Compton

675 lines 46.2 kB
import _typeof from "@babel/runtime/helpers/typeof"; import _extends from "@babel/runtime/helpers/extends"; import _defineProperty from "@babel/runtime/helpers/defineProperty"; import _slicedToArray from "@babel/runtime/helpers/slicedToArray"; function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } import React, { useState, useEffect, useMemo } from "react"; import { motion, AnimatePresence } from "framer-motion"; import { ConvertNumberToMoneyFormat } from "../HUDManagers/HUDUniversalHUDUtilityManager.js"; import HUDDropDownContainer from "./HUDDropDownContainer.js"; import HUDDateTimePicker from "./HUDDateTimePicker.js"; import HUDLabelEditor from "./HUDLabelEditor.js"; import HUDIcon from "./HUDIcon.js"; var intervalUnits = ["second", "minute", "hour", "day", "week", "month", "year"]; function addInterval(date, unit, value) { if (!date || isNaN(new Date(date))) { return new Date(); } var newDate = new Date(date); try { switch (unit) { case "second": newDate.setSeconds(newDate.getSeconds() + value); break; case "minute": newDate.setMinutes(newDate.getMinutes() + value); break; case "hour": newDate.setHours(newDate.getHours() + value); break; case "day": newDate.setDate(newDate.getDate() + value); break; case "week": newDate.setDate(newDate.getDate() + value * 7); break; case "month": newDate.setMonth(newDate.getMonth() + value); break; case "year": newDate.setFullYear(newDate.getFullYear() + value); break; } } catch (_unused) { return new Date(date); } return newDate; } ; function formatDate(date) { var d = new Date(date); if (isNaN(d)) { return ""; } return d.toISOString().split("T")[0]; } ; var getPaginationPages = function getPaginationPages(currentActualIndex, displayPageMap) { var maxLength = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 9; var currentDisplayIndex = displayPageMap.findIndex(function (p) { return p.actualIndex === currentActualIndex; }); var total = displayPageMap.length; if (total <= maxLength) { return displayPageMap; } var pages = []; pages.push(displayPageMap[0]); var windowSize = maxLength - 2; var start = Math.max(1, currentDisplayIndex - Math.floor(windowSize / 2)); var end = Math.min(total - 2, start + windowSize - 1); if (start > 1) { pages.push("..."); } for (var i = start; i <= end; i++) { pages.push(displayPageMap[i]); } if (end < total - 2) { pages.push("..."); } pages.push(displayPageMap[total - 1]); return pages; }; function HUDTemporalNavigator(_ref) { var _ref$temporalNavigato = _ref.temporalNavigatorNavigationPageListTruncationContentCellHoverConfigurationSettings, temporalNavigatorNavigationPageListTruncationContentCellHoverConfigurationSettings = _ref$temporalNavigato === void 0 ? {} : _ref$temporalNavigato, _ref$temporalNavigato2 = _ref.temporalNavigatorNavigationPageListTruncationDropDownListConfigurationSettings, temporalNavigatorNavigationPageListTruncationDropDownListConfigurationSettings = _ref$temporalNavigato2 === void 0 ? {} : _ref$temporalNavigato2, _ref$temporalNavigato3 = _ref.temporalNavigatorNavigationPageListTruncationContentListConfigurationSettings, temporalNavigatorNavigationPageListTruncationContentListConfigurationSettings = _ref$temporalNavigato3 === void 0 ? {} : _ref$temporalNavigato3, _ref$temporalNavigato4 = _ref.temporalNavigatorNavigationPageListTruncationContentCellConfigurationSettings, temporalNavigatorNavigationPageListTruncationContentCellConfigurationSettings = _ref$temporalNavigato4 === void 0 ? {} : _ref$temporalNavigato4, _ref$temporalNavigato5 = _ref.temporalNavigatorNavigationPageTruncationDropDownFigureConfigurationSettings, temporalNavigatorNavigationPageTruncationDropDownFigureConfigurationSettings = _ref$temporalNavigato5 === void 0 ? {} : _ref$temporalNavigato5, _ref$temporalNavigato6 = _ref.temporalNavigatorContentContainerAnimationTransitionConfigurationSettings, temporalNavigatorContentContainerAnimationTransitionConfigurationSettings = _ref$temporalNavigato6 === void 0 ? {} : _ref$temporalNavigato6, _ref$temporalNavigato7 = _ref.temporalNavigatorIntervalUnitDropDownUnitCellHoverConfigurationSettings, temporalNavigatorIntervalUnitDropDownUnitCellHoverConfigurationSettings = _ref$temporalNavigato7 === void 0 ? {} : _ref$temporalNavigato7, _ref$temporalNavigato8 = _ref.temporalNavigatorContentContainerInitialAnimationConfigurationSettings, temporalNavigatorContentContainerInitialAnimationConfigurationSettings = _ref$temporalNavigato8 === void 0 ? {} : _ref$temporalNavigato8, _ref$temporalNavigato9 = _ref.temporalNavigatorPreviousNavigationButtonHoverConfigurationSettings, temporalNavigatorPreviousNavigationButtonHoverConfigurationSettings = _ref$temporalNavigato9 === void 0 ? {} : _ref$temporalNavigato9, _ref$temporalNavigato10 = _ref.temporalNavigatorContentContainerExitAnimationConfigurationSettings, temporalNavigatorContentContainerExitAnimationConfigurationSettings = _ref$temporalNavigato10 === void 0 ? {} : _ref$temporalNavigato10, _ref$temporalNavigato11 = _ref.temporalNavigatorPreviousNavigationButtonIconConfigurationSettings, temporalNavigatorPreviousNavigationButtonIconConfigurationSettings = _ref$temporalNavigato11 === void 0 ? {} : _ref$temporalNavigato11, _ref$temporalNavigato12 = _ref.temporalNavigatorIntervalUnitDropDownUnitCellConfigurationSettings, temporalNavigatorIntervalUnitDropDownUnitCellConfigurationSettings = _ref$temporalNavigato12 === void 0 ? {} : _ref$temporalNavigato12, _ref$temporalNavigato13 = _ref.temporalNavigatorNavigationPageListContainerConfigurationSettings, temporalNavigatorNavigationPageListContainerConfigurationSettings = _ref$temporalNavigato13 === void 0 ? {} : _ref$temporalNavigato13, _ref$temporalNavigato14 = _ref.temporalNavigatorPreviousNavigationButtonTapConfigurationSettings, temporalNavigatorPreviousNavigationButtonTapConfigurationSettings = _ref$temporalNavigato14 === void 0 ? {} : _ref$temporalNavigato14, _ref$temporalNavigato15 = _ref.temporalNavigatorIntervalUnitDropDownFigureConfigurationSettings, temporalNavigatorIntervalUnitDropDownFigureConfigurationSettings = _ref$temporalNavigato15 === void 0 ? {} : _ref$temporalNavigato15, _ref$temporalNavigato16 = _ref.temporalNavigatorNextNavigationButtonHoverConfigurationSettings, temporalNavigatorNextNavigationButtonHoverConfigurationSettings = _ref$temporalNavigato16 === void 0 ? {} : _ref$temporalNavigato16, _ref$temporalNavigato17 = _ref.temporalNavigatorContentContainerAnimationConfigurationSettings, temporalNavigatorContentContainerAnimationConfigurationSettings = _ref$temporalNavigato17 === void 0 ? {} : _ref$temporalNavigato17, _ref$temporalNavigato18 = _ref.temporalNavigatorNextNavigationButtonIconConfigurationSettings, temporalNavigatorNextNavigationButtonIconConfigurationSettings = _ref$temporalNavigato18 === void 0 ? {} : _ref$temporalNavigato18, _ref$temporalNavigato19 = _ref.temporalNavigatorPreviousNavigationButtonConfigurationSettings, temporalNavigatorPreviousNavigationButtonConfigurationSettings = _ref$temporalNavigato19 === void 0 ? {} : _ref$temporalNavigato19, _ref$temporalNavigato20 = _ref.temporalNavigatorIntervalUnitDropDownListConfigurationSettings, temporalNavigatorIntervalUnitDropDownListConfigurationSettings = _ref$temporalNavigato20 === void 0 ? {} : _ref$temporalNavigato20, _ref$temporalNavigato21 = _ref.temporalNavigatorNavigationPageCellHoverConfigurationSettings, temporalNavigatorNavigationPageCellHoverConfigurationSettings = _ref$temporalNavigato21 === void 0 ? {} : _ref$temporalNavigato21, _ref$temporalNavigato22 = _ref.temporalNavigatorDateTimeTransitionLabelConfigurationSettings, temporalNavigatorDateTimeTransitionLabelConfigurationSettings = _ref$temporalNavigato22 === void 0 ? {} : _ref$temporalNavigato22, _ref$temporalNavigato23 = _ref.temporalNavigatorNextNavigationButtonTapConfigurationSettings, temporalNavigatorNextNavigationButtonTapConfigurationSettings = _ref$temporalNavigato23 === void 0 ? {} : _ref$temporalNavigato23, _ref$temporalNavigato24 = _ref.temporalNavigatorNavigationPageCellTapConfigurationSettings, temporalNavigatorNavigationPageCellTapConfigurationSettings = _ref$temporalNavigato24 === void 0 ? {} : _ref$temporalNavigato24, _ref$temporalNavigato25 = _ref.temporalNavigatorNextNavigationButtonConfigurationSettings, temporalNavigatorNextNavigationButtonConfigurationSettings = _ref$temporalNavigato25 === void 0 ? {} : _ref$temporalNavigato25, _ref$temporalNavigato26 = _ref.temporalNavigatorNavigationContainerConfigurationSettings, temporalNavigatorNavigationContainerConfigurationSettings = _ref$temporalNavigato26 === void 0 ? {} : _ref$temporalNavigato26, _ref$temporalNavigato27 = _ref.temporalNavigatorNavigationPageCellConfigurationSettings, temporalNavigatorNavigationPageCellConfigurationSettings = _ref$temporalNavigato27 === void 0 ? {} : _ref$temporalNavigato27, _ref$temporalNavigato28 = _ref.temporalNavigatorHeaderRightContentConfigurationSettings, temporalNavigatorHeaderRightContentConfigurationSettings = _ref$temporalNavigato28 === void 0 ? {} : _ref$temporalNavigato28, _ref$temporalNavigato29 = _ref.temporalNavigatorHeaderLeftContentConfigurationSettings, temporalNavigatorHeaderLeftContentConfigurationSettings = _ref$temporalNavigato29 === void 0 ? {} : _ref$temporalNavigato29, _ref$temporalNavigato30 = _ref.temporalNavigatorContentContainerConfigurationSettings, temporalNavigatorContentContainerConfigurationSettings = _ref$temporalNavigato30 === void 0 ? {} : _ref$temporalNavigato30, _ref$temporalNavigato31 = _ref.temporalNavigatorHeaderContainerConfigurationSettings, temporalNavigatorHeaderContainerConfigurationSettings = _ref$temporalNavigato31 === void 0 ? {} : _ref$temporalNavigato31, _ref$temporalNavigato32 = _ref.temporalNavigatorIntervalInputConfigurationSettings, temporalNavigatorIntervalInputConfigurationSettings = _ref$temporalNavigato32 === void 0 ? {} : _ref$temporalNavigato32, _ref$temporalNavigato33 = _ref.temporalNavigatorContainerConfigurationSettings, temporalNavigatorContainerConfigurationSettings = _ref$temporalNavigato33 === void 0 ? {} : _ref$temporalNavigato33, _ref$temporalNavigato34 = _ref.temporalNavigatorNavigationPageListTruncationDropDownListConfigurations, temporalNavigatorNavigationPageListTruncationDropDownListConfigurations = _ref$temporalNavigato34 === void 0 ? {} : _ref$temporalNavigato34, _ref$temporalNavigato35 = _ref.temporalNavigatorNavigationPageListTruncationContentListConfigurations, temporalNavigatorNavigationPageListTruncationContentListConfigurations = _ref$temporalNavigato35 === void 0 ? {} : _ref$temporalNavigato35, _ref$temporalNavigato36 = _ref.temporalNavigatorNavigationPageListTruncationContentCellConfigurations, temporalNavigatorNavigationPageListTruncationContentCellConfigurations = _ref$temporalNavigato36 === void 0 ? {} : _ref$temporalNavigato36, _ref$temporalNavigato37 = _ref.temporalNavigatorNavigationPageTruncationDropDownFigureConfigurations, temporalNavigatorNavigationPageTruncationDropDownFigureConfigurations = _ref$temporalNavigato37 === void 0 ? {} : _ref$temporalNavigato37, _ref$temporalNavigato38 = _ref.temporalNavigatorPreviousNavigationButtonIconConfigurations, temporalNavigatorPreviousNavigationButtonIconConfigurations = _ref$temporalNavigato38 === void 0 ? {} : _ref$temporalNavigato38, _ref$temporalNavigato39 = _ref.temporalNavigatorIntervalUnitDropDownUnitCellConfigurations, temporalNavigatorIntervalUnitDropDownUnitCellConfigurations = _ref$temporalNavigato39 === void 0 ? {} : _ref$temporalNavigato39, _ref$temporalNavigato40 = _ref.temporalNavigatorNavigationPageListContainerConfigurations, temporalNavigatorNavigationPageListContainerConfigurations = _ref$temporalNavigato40 === void 0 ? {} : _ref$temporalNavigato40, _ref$temporalNavigato41 = _ref.temporalNavigatorIntervalUnitDropDownFigureConfigurations, temporalNavigatorIntervalUnitDropDownFigureConfigurations = _ref$temporalNavigato41 === void 0 ? {} : _ref$temporalNavigato41, _ref$temporalNavigato42 = _ref.temporalNavigatorNextNavigationButtonIconConfigurations, temporalNavigatorNextNavigationButtonIconConfigurations = _ref$temporalNavigato42 === void 0 ? {} : _ref$temporalNavigato42, _ref$temporalNavigato43 = _ref.temporalNavigatorPreviousNavigationButtonConfigurations, temporalNavigatorPreviousNavigationButtonConfigurations = _ref$temporalNavigato43 === void 0 ? {} : _ref$temporalNavigato43, _ref$temporalNavigato44 = _ref.temporalNavigatorDateTimeTransitionLabelConfigurations, temporalNavigatorDateTimeTransitionLabelConfigurations = _ref$temporalNavigato44 === void 0 ? {} : _ref$temporalNavigato44, _ref$temporalNavigato45 = _ref.temporalNavigatorNextNavigationButtonConfigurations, temporalNavigatorNextNavigationButtonConfigurations = _ref$temporalNavigato45 === void 0 ? {} : _ref$temporalNavigato45, _ref$temporalNavigato46 = _ref.temporalNavigatorIntervalUnitDropDownConfigurations, temporalNavigatorIntervalUnitDropDownConfigurations = _ref$temporalNavigato46 === void 0 ? {} : _ref$temporalNavigato46, _ref$temporalNavigato47 = _ref.temporalNavigatorNavigationContainerConfigurations, temporalNavigatorNavigationContainerConfigurations = _ref$temporalNavigato47 === void 0 ? {} : _ref$temporalNavigato47, _ref$temporalNavigato48 = _ref.temporalNavigatorDateTimeStartPickerConfigurations, temporalNavigatorDateTimeStartPickerConfigurations = _ref$temporalNavigato48 === void 0 ? {} : _ref$temporalNavigato48, _ref$temporalNavigato49 = _ref.temporalNavigatorHeaderRightContentConfigurations, temporalNavigatorHeaderRightContentConfigurations = _ref$temporalNavigato49 === void 0 ? {} : _ref$temporalNavigato49, _ref$temporalNavigato50 = _ref.temporalNavigatorNavigationPageCellConfigurations, temporalNavigatorNavigationPageCellConfigurations = _ref$temporalNavigato50 === void 0 ? {} : _ref$temporalNavigato50, _ref$temporalNavigato51 = _ref.temporalNavigatorHeaderLeftContentConfigurations, temporalNavigatorHeaderLeftContentConfigurations = _ref$temporalNavigato51 === void 0 ? {} : _ref$temporalNavigato51, _ref$temporalNavigato52 = _ref.temporalNavigatorDateTimeEndPickerConfigurations, temporalNavigatorDateTimeEndPickerConfigurations = _ref$temporalNavigato52 === void 0 ? {} : _ref$temporalNavigato52, _ref$temporalNavigato53 = _ref.temporalNavigatorContentContainerConfigurations, temporalNavigatorContentContainerConfigurations = _ref$temporalNavigato53 === void 0 ? {} : _ref$temporalNavigato53, _ref$temporalNavigato54 = _ref.temporalNavigatorHeaderContainerConfigurations, temporalNavigatorHeaderContainerConfigurations = _ref$temporalNavigato54 === void 0 ? {} : _ref$temporalNavigato54, _ref$temporalNavigato55 = _ref.temporalNavigatorIntervalInputConfigurations, temporalNavigatorIntervalInputConfigurations = _ref$temporalNavigato55 === void 0 ? {} : _ref$temporalNavigato55, _ref$temporalNavigato56 = _ref.temporalNavigatorContainerConfigurations, temporalNavigatorContainerConfigurations = _ref$temporalNavigato56 === void 0 ? {} : _ref$temporalNavigato56, _ref$temporalNavigato57 = _ref.temporalNavigatorNavigationPageTruncationDropDownFigureContent, temporalNavigatorNavigationPageTruncationDropDownFigureContent = _ref$temporalNavigato57 === void 0 ? null : _ref$temporalNavigato57, _ref$temporalNavigato58 = _ref.temporalNavigatorHeaderRightCenterContent, temporalNavigatorHeaderRightCenterContent = _ref$temporalNavigato58 === void 0 ? null : _ref$temporalNavigato58, _ref$getPageID = _ref.getPageID, getPageID = _ref$getPageID === void 0 ? function (range) { return "range-".concat(formatDate(range.start), "-").concat(formatDate(range.end)); } : _ref$getPageID, _ref$dateAccessor = _ref.dateAccessor, dateAccessor = _ref$dateAccessor === void 0 ? function (record) { return record.createdAt; } : _ref$dateAccessor, renderPage = _ref.renderPage, _ref$defaultIntervalU = _ref.defaultIntervalUnit, defaultIntervalUnit = _ref$defaultIntervalU === void 0 ? "day" : _ref$defaultIntervalU, _ref$defaultIntervalV = _ref.defaultIntervalValue, defaultIntervalValue = _ref$defaultIntervalV === void 0 ? 1 : _ref$defaultIntervalV, _ref$initialSelectedU = _ref.initialSelectedUnit, initialSelectedUnit = _ref$initialSelectedU === void 0 ? "day" : _ref$initialSelectedU, _ref$recordsPerPage = _ref.recordsPerPage, recordsPerPage = _ref$recordsPerPage === void 0 ? 24 : _ref$recordsPerPage, _ref$records = _ref.records, records = _ref$records === void 0 ? [] : _ref$records; var _useState = useState(initialSelectedUnit || defaultIntervalUnit), _useState2 = _slicedToArray(_useState, 2), intervalUnit = _useState2[0], setIntervalUnit = _useState2[1]; var _useState3 = useState(defaultIntervalValue), _useState4 = _slicedToArray(_useState3, 2), intervalValue = _useState4[0], setIntervalValue = _useState4[1]; var _useState5 = useState(0), _useState6 = _slicedToArray(_useState5, 2), currentPageIndex = _useState6[0], setCurrentPageIndex = _useState6[1]; var _useState7 = useState(null), _useState8 = _slicedToArray(_useState7, 2), customStart = _useState8[0], setCustomStart = _useState8[1]; var _useState9 = useState(null), _useState10 = _slicedToArray(_useState9, 2), customEnd = _useState10[0], setCustomEnd = _useState10[1]; var _useMemo = useMemo(function () { if (!records.length) { return [new Date(), new Date()]; } var dates = records.map(function (item) { return new Date(dateAccessor(item)); }).sort(function (a, b) { return a - b; }); return [dates[0], dates[dates.length - 1]]; }, [records, dateAccessor]), _useMemo2 = _slicedToArray(_useMemo, 2), minDate = _useMemo2[0], maxDate = _useMemo2[1]; var effectiveStart = useMemo(function () { return customStart ? new Date(customStart) : minDate; }, [customStart, minDate]); var effectiveEnd = useMemo(function () { return customEnd ? new Date(customEnd) : maxDate; }, [customEnd, maxDate]); var usingCustomRange = customStart && customEnd; var getPageRange = function getPageRange(pageIndex) { var start = new Date(effectiveStart); var rangeStart = addInterval(start, intervalUnit, intervalValue * pageIndex); var rangeEnd = addInterval(rangeStart, intervalUnit, intervalValue); return { start: rangeStart, end: rangeEnd }; }; var sortedRecords = useMemo(function () { if (!records.length) { return []; } return records.map(function (record) { return { record: record, date: new Date(dateAccessor(record)) }; }).filter(function (_ref2) { var date = _ref2.date; return !isNaN(date) && date >= effectiveStart && date <= effectiveEnd; }).sort(function (a, b) { return a.date - b.date; }); }, [records, dateAccessor, effectiveStart, effectiveEnd]); var recordPagesMap = useMemo(function () { var map = new Map(); sortedRecords.forEach(function (_ref3) { var date = _ref3.date, record = _ref3.record; var diff = date - new Date(effectiveStart); var intervalMs = addInterval(new Date(effectiveStart), intervalUnit, intervalValue) - new Date(effectiveStart); if (intervalMs <= 0 || !isFinite(intervalMs)) { return; } var pageIndex = Math.floor(diff / intervalMs); if (!map.has(pageIndex)) { map.set(pageIndex, []); } map.get(pageIndex).push(record); }); return map; }, [sortedRecords, effectiveStart, intervalUnit, intervalValue]); var validPageIndexes = useMemo(function () { return Array.from(recordPagesMap.keys()).sort(function (a, b) { return a - b; }); }, [recordPagesMap]); var displayPageMap = useMemo(function () { return validPageIndexes.map(function (actual, i) { return { displayIndex: i, actualIndex: actual }; }); }, [validPageIndexes]); var atEndPage = useMemo(function () { return currentPageIndex === validPageIndexes[validPageIndexes.length - 1]; }, [currentPageIndex, validPageIndexes.length]); var currentRange = useMemo(function () { return getPageRange(currentPageIndex); }, [currentPageIndex, intervalUnit, intervalValue, effectiveStart]); var getTotalPages = validPageIndexes.length; var pageRecords = useMemo(function () { var lastPage = currentPageIndex === getTotalPages - 1; return sortedRecords.filter(function (_ref4) { var date = _ref4.date; return date >= currentRange.start && (lastPage ? date <= currentRange.end : date < currentRange.end); }).map(function (_ref5) { var record = _ref5.record; return record; }).slice(0, recordsPerPage); }, [sortedRecords, currentRange, recordsPerPage, currentPageIndex, getTotalPages]); var handleUnitChange = function handleUnitChange(unit) { setIntervalUnit(unit); setCurrentPageIndex(0); }; var handleValueChange = function handleValueChange(val) { var clean = Math.max(1, Math.round(val)); setIntervalValue(clean); setCurrentPageIndex(0); }; useEffect(function () { if (!customStart || validPageIndexes.length === 0) { return; } var effective = new Date(customStart); var intervalMs = addInterval(effective, intervalUnit, intervalValue) - effective; if (intervalMs <= 0 || !isFinite(intervalMs)) { return; } var pageIndex = Math.floor((effective - new Date(effectiveStart)) / intervalMs); var snappedPage = validPageIndexes.find(function (p) { return p >= pageIndex; }); if (typeof snappedPage === "number") { setCurrentPageIndex(snappedPage); } }, [intervalUnit, intervalValue, customStart, effectiveStart, validPageIndexes]); return /*#__PURE__*/React.createElement("div", _extends({ style: _objectSpread({ display: "flex", flexDirection: "column", borderRadius: "1.25069rem", boxShadow: "0 0 2rem rgba(0, 0, 0, 0.469)", background: "linear-gradient(180deg, #111, #181818)", color: "#FAFAFA", gap: "1.69rem", padding: "1.69rem" }, temporalNavigatorContainerConfigurationSettings !== null && temporalNavigatorContainerConfigurationSettings !== void 0 ? temporalNavigatorContainerConfigurationSettings : {}) }, temporalNavigatorContainerConfigurations !== null && temporalNavigatorContainerConfigurations !== void 0 ? temporalNavigatorContainerConfigurations : {}), /*#__PURE__*/React.createElement("div", _extends({ style: _objectSpread({ display: "flex", flexWrap: "wrap", justifyContent: "space-between", alignItems: "center", width: "100%", gap: "1rem", paddingBottom: "1.25rem" }, temporalNavigatorHeaderContainerConfigurationSettings !== null && temporalNavigatorHeaderContainerConfigurationSettings !== void 0 ? temporalNavigatorHeaderContainerConfigurationSettings : {}) }, temporalNavigatorHeaderContainerConfigurations !== null && temporalNavigatorHeaderContainerConfigurations !== void 0 ? temporalNavigatorHeaderContainerConfigurations : {}), /*#__PURE__*/React.createElement("div", _extends({ style: _objectSpread({ display: "flex", flexWrap: "wrap", alignItems: "center", gap: "0.369rem" }, temporalNavigatorHeaderLeftContentConfigurationSettings !== null && temporalNavigatorHeaderLeftContentConfigurationSettings !== void 0 ? temporalNavigatorHeaderLeftContentConfigurationSettings : {}) }, temporalNavigatorHeaderLeftContentConfigurations !== null && temporalNavigatorHeaderLeftContentConfigurations !== void 0 ? temporalNavigatorHeaderLeftContentConfigurations : {}), /*#__PURE__*/React.createElement(HUDLabelEditor, _extends({ inputConfigurationSettings: _objectSpread({ textAlign: "center", width: "4rem" }, temporalNavigatorIntervalInputConfigurationSettings !== null && temporalNavigatorIntervalInputConfigurationSettings !== void 0 ? temporalNavigatorIntervalInputConfigurationSettings : {}), onChange: function onChange(val) { return handleValueChange(Number(val)); }, initialText: String(intervalValue), value: String(intervalValue), displayConfirmation: false, showButtons: false }, temporalNavigatorIntervalInputConfigurations !== null && temporalNavigatorIntervalInputConfigurations !== void 0 ? temporalNavigatorIntervalInputConfigurations : {})), /*#__PURE__*/React.createElement(HUDDropDownContainer, _extends({ dropDownListConfigurationSettings: _objectSpread({ msOverflowStyle: "none", scrollbarWidth: "none", overflowY: "auto", boxShadow: "0 0 5.69px rgba(255, 255, 255, 0.169)", backdropFilter: "blur(5.69px)", maxHeight: "12.69rem", minHeight: "auto", height: "auto" }, temporalNavigatorIntervalUnitDropDownListConfigurationSettings !== null && temporalNavigatorIntervalUnitDropDownListConfigurationSettings !== void 0 ? temporalNavigatorIntervalUnitDropDownListConfigurationSettings : {}), figureComponent: /*#__PURE__*/React.createElement("div", _extends({ style: _objectSpread({ userSelect: "none", cursor: "pointer", textAlign: "center", fontWeight: "600", fontSize: "1rem", borderRadius: "0.5rem", boxShadow: "0 0 0.5rem rgba(0, 0, 0, 0.469)", background: "#1A73E8", color: "white", minWidth: "5.25rem", padding: "0.5rem 1.25rem" }, temporalNavigatorIntervalUnitDropDownFigureConfigurationSettings !== null && temporalNavigatorIntervalUnitDropDownFigureConfigurationSettings !== void 0 ? temporalNavigatorIntervalUnitDropDownFigureConfigurationSettings : {}) }, temporalNavigatorIntervalUnitDropDownFigureConfigurations !== null && temporalNavigatorIntervalUnitDropDownFigureConfigurations !== void 0 ? temporalNavigatorIntervalUnitDropDownFigureConfigurations : {}), intervalUnit), dropDownButtonClickAction: handleUnitChange }, temporalNavigatorIntervalUnitDropDownConfigurations !== null && temporalNavigatorIntervalUnitDropDownConfigurations !== void 0 ? temporalNavigatorIntervalUnitDropDownConfigurations : {}), intervalUnits.map(function (unit) { return /*#__PURE__*/React.createElement("div", _extends({ key: unit, style: _objectSpread(_objectSpread({ cursor: "pointer", transition: "all 0.269s ease", fontSize: "0.9069rem", background: intervalUnit === unit ? "#1A73E8" : "transparent", padding: "0.4rem 0.8rem" }, temporalNavigatorIntervalUnitDropDownUnitCellConfigurationSettings !== null && temporalNavigatorIntervalUnitDropDownUnitCellConfigurationSettings !== void 0 ? temporalNavigatorIntervalUnitDropDownUnitCellConfigurationSettings : {}), intervalUnit === unit ? temporalNavigatorIntervalUnitDropDownUnitCellHoverConfigurationSettings !== null && temporalNavigatorIntervalUnitDropDownUnitCellHoverConfigurationSettings !== void 0 ? temporalNavigatorIntervalUnitDropDownUnitCellHoverConfigurationSettings : {} : {}), onClick: function onClick() { return handleUnitChange(unit); } }, temporalNavigatorIntervalUnitDropDownUnitCellConfigurations !== null && temporalNavigatorIntervalUnitDropDownUnitCellConfigurations !== void 0 ? temporalNavigatorIntervalUnitDropDownUnitCellConfigurations : {}), unit); }))), /*#__PURE__*/React.createElement("div", _extends({ style: _objectSpread({ display: "flex", alignItems: "center", gap: "0.5rem" }, temporalNavigatorHeaderRightContentConfigurationSettings !== null && temporalNavigatorHeaderRightContentConfigurationSettings !== void 0 ? temporalNavigatorHeaderRightContentConfigurationSettings : {}) }, temporalNavigatorHeaderRightContentConfigurations !== null && temporalNavigatorHeaderRightContentConfigurations !== void 0 ? temporalNavigatorHeaderRightContentConfigurations : {}), /*#__PURE__*/React.createElement(HUDDateTimePicker, _extends({ onChange: function onChange(val) { setCustomStart(val); setCurrentPageIndex(0); }, onReset: function onReset() { setCustomStart(null); setCurrentPageIndex(0); }, value: customStart }, temporalNavigatorDateTimeStartPickerConfigurations !== null && temporalNavigatorDateTimeStartPickerConfigurations !== void 0 ? temporalNavigatorDateTimeStartPickerConfigurations : {})), temporalNavigatorHeaderRightCenterContent ? temporalNavigatorHeaderRightCenterContent : /*#__PURE__*/React.createElement("span", _extends({ style: _objectSpread({ userSelect: "none", color: "#999" }, temporalNavigatorDateTimeTransitionLabelConfigurationSettings !== null && temporalNavigatorDateTimeTransitionLabelConfigurationSettings !== void 0 ? temporalNavigatorDateTimeTransitionLabelConfigurationSettings : {}) }, temporalNavigatorDateTimeTransitionLabelConfigurations !== null && temporalNavigatorDateTimeTransitionLabelConfigurations !== void 0 ? temporalNavigatorDateTimeTransitionLabelConfigurations : {}), "\u2192"), /*#__PURE__*/React.createElement(HUDDateTimePicker, _extends({ onChange: function onChange(val) { setCustomEnd(val); setCurrentPageIndex(0); }, onReset: function onReset() { setCustomEnd(null); setCurrentPageIndex(0); }, value: customEnd }, temporalNavigatorDateTimeEndPickerConfigurations !== null && temporalNavigatorDateTimeEndPickerConfigurations !== void 0 ? temporalNavigatorDateTimeEndPickerConfigurations : {})))), /*#__PURE__*/React.createElement(AnimatePresence, { mode: "wait" }, /*#__PURE__*/React.createElement(motion.div, _extends({ key: getPageID(currentRange), initial: _objectSpread({ opacity: 0, scale: 0.9169, x: 69 }, temporalNavigatorContentContainerInitialAnimationConfigurationSettings !== null && temporalNavigatorContentContainerInitialAnimationConfigurationSettings !== void 0 ? temporalNavigatorContentContainerInitialAnimationConfigurationSettings : {}), animate: _objectSpread({ opacity: 1, scale: 1, x: 0 }, temporalNavigatorContentContainerAnimationConfigurationSettings !== null && temporalNavigatorContentContainerAnimationConfigurationSettings !== void 0 ? temporalNavigatorContentContainerAnimationConfigurationSettings : {}), exit: _objectSpread({ opacity: 0, scale: 0.9169, x: -69 }, temporalNavigatorContentContainerExitAnimationConfigurationSettings !== null && temporalNavigatorContentContainerExitAnimationConfigurationSettings !== void 0 ? temporalNavigatorContentContainerExitAnimationConfigurationSettings : {}), transition: _objectSpread({ opacity: { animate: "easeOut", duration: 0.269 }, scale: { animate: "easeOut", duration: 0.369 }, x: { animate: "easeOut", duration: 0.369 } }, temporalNavigatorContentContainerAnimationTransitionConfigurationSettings !== null && temporalNavigatorContentContainerAnimationTransitionConfigurationSettings !== void 0 ? temporalNavigatorContentContainerAnimationTransitionConfigurationSettings : {}), style: _objectSpread({ msOverflowStyle: "none", scrollbarWidth: "none", overflowY: "auto", maxHeight: "27.69rem", minHeight: "27.69rem" }, temporalNavigatorContentContainerConfigurationSettings !== null && temporalNavigatorContentContainerConfigurationSettings !== void 0 ? temporalNavigatorContentContainerConfigurationSettings : {}) }, temporalNavigatorContentContainerConfigurations !== null && temporalNavigatorContentContainerConfigurations !== void 0 ? temporalNavigatorContentContainerConfigurations : {}), renderPage(pageRecords, currentRange))), /*#__PURE__*/React.createElement("div", _extends({ style: _objectSpread({ display: "flex", justifyContent: "space-between", alignItems: "center", borderTop: "1px solid #333", minHeight: "3rem", width: "100%", paddingTop: "1.25rem" }, temporalNavigatorNavigationContainerConfigurationSettings !== null && temporalNavigatorNavigationContainerConfigurationSettings !== void 0 ? temporalNavigatorNavigationContainerConfigurationSettings : {}) }, temporalNavigatorNavigationContainerConfigurations !== null && temporalNavigatorNavigationContainerConfigurations !== void 0 ? temporalNavigatorNavigationContainerConfigurations : {}), /*#__PURE__*/React.createElement(motion.div, _extends({ whileHover: currentPageIndex === 0 ? undefined : _objectSpread({ scale: 1.1069 }, temporalNavigatorPreviousNavigationButtonHoverConfigurationSettings !== null && temporalNavigatorPreviousNavigationButtonHoverConfigurationSettings !== void 0 ? temporalNavigatorPreviousNavigationButtonHoverConfigurationSettings : {}), whileTap: currentPageIndex === 0 ? undefined : _objectSpread({ scale: 0.869 }, temporalNavigatorPreviousNavigationButtonTapConfigurationSettings !== null && temporalNavigatorPreviousNavigationButtonTapConfigurationSettings !== void 0 ? temporalNavigatorPreviousNavigationButtonTapConfigurationSettings : {}), style: _objectSpread(_objectSpread({ cursor: currentPageIndex === 0 ? "default" : "pointer", transition: "opacity 0.269s", opacity: currentPageIndex === 0 ? 0.4 : 1, scale: 1, marginRight: "0.369rem" }, temporalNavigatorPreviousNavigationButtonConfigurationSettings !== null && temporalNavigatorPreviousNavigationButtonConfigurationSettings !== void 0 ? temporalNavigatorPreviousNavigationButtonConfigurationSettings : {}), currentPageIndex === 0 ? temporalNavigatorPreviousNavigationButtonHoverConfigurationSettings !== null && temporalNavigatorPreviousNavigationButtonHoverConfigurationSettings !== void 0 ? temporalNavigatorPreviousNavigationButtonHoverConfigurationSettings : {} : {}), onClick: function onClick() { return setCurrentPageIndex(function (prev) { return Math.max(0, prev - 1); }); } }, temporalNavigatorPreviousNavigationButtonConfigurations !== null && temporalNavigatorPreviousNavigationButtonConfigurations !== void 0 ? temporalNavigatorPreviousNavigationButtonConfigurations : {}), /*#__PURE__*/React.createElement(HUDIcon, _extends({ style: _objectSpread({ transition: "opacity 0.269s", height: "1.269rem" }, temporalNavigatorPreviousNavigationButtonIconConfigurationSettings !== null && temporalNavigatorPreviousNavigationButtonIconConfigurationSettings !== void 0 ? temporalNavigatorPreviousNavigationButtonIconConfigurationSettings : {}), disabled: currentPageIndex === 0, name: "chevron-left" }, temporalNavigatorPreviousNavigationButtonIconConfigurations !== null && temporalNavigatorPreviousNavigationButtonIconConfigurations !== void 0 ? temporalNavigatorPreviousNavigationButtonIconConfigurations : {}))), /*#__PURE__*/React.createElement("div", _extends({ style: _objectSpread({ display: "flex", flexWrap: "wrap", justifyContent: "center", gap: "0.4rem" }, temporalNavigatorNavigationPageListContainerConfigurationSettings !== null && temporalNavigatorNavigationPageListContainerConfigurationSettings !== void 0 ? temporalNavigatorNavigationPageListContainerConfigurationSettings : {}) }, temporalNavigatorNavigationPageListContainerConfigurations !== null && temporalNavigatorNavigationPageListContainerConfigurations !== void 0 ? temporalNavigatorNavigationPageListContainerConfigurations : {}), getPaginationPages(currentPageIndex, displayPageMap).map(function (p, idx, arr) { return _typeof(p) === "object" ? /*#__PURE__*/React.createElement(motion.div, _extends({ key: p.actualIndex, whileHover: _objectSpread({ scale: 1.1 }, temporalNavigatorNavigationPageCellHoverConfigurationSettings !== null && temporalNavigatorNavigationPageCellHoverConfigurationSettings !== void 0 ? temporalNavigatorNavigationPageCellHoverConfigurationSettings : {}), whileTap: _objectSpread({ scale: 0.95 }, temporalNavigatorNavigationPageCellTapConfigurationSettings !== null && temporalNavigatorNavigationPageCellTapConfigurationSettings !== void 0 ? temporalNavigatorNavigationPageCellTapConfigurationSettings : {}), style: _objectSpread(_objectSpread({ display: "flex", justifyContent: "center", alignItems: "center", userSelect: "none", cursor: "pointer", textAlign: "center", transition: "all 0.269s ease", fontWeight: p.actualIndex === currentPageIndex ? "bold" : "normal", fontSize: "0.85rem", borderRadius: "0.5rem", boxShadow: p.actualIndex === currentPageIndex ? "0 0 6px #1A73E8" : "none", background: p.actualIndex === currentPageIndex ? "#1A73E8" : "#222", color: p.actualIndex === currentPageIndex ? "#fff" : "#aaa", minWidth: "2rem", padding: "0.3rem 0.6rem" }, temporalNavigatorNavigationPageCellConfigurationSettings !== null && temporalNavigatorNavigationPageCellConfigurationSettings !== void 0 ? temporalNavigatorNavigationPageCellConfigurationSettings : {}), p.actualIndex === currentPageIndex ? temporalNavigatorNavigationPageCellHoverConfigurationSettings !== null && temporalNavigatorNavigationPageCellHoverConfigurationSettings !== void 0 ? temporalNavigatorNavigationPageCellHoverConfigurationSettings : {} : {}), onClick: function onClick() { return setCurrentPageIndex(p.actualIndex); } }, temporalNavigatorNavigationPageCellConfigurations !== null && temporalNavigatorNavigationPageCellConfigurations !== void 0 ? temporalNavigatorNavigationPageCellConfigurations : {}), ConvertNumberToMoneyFormat(p.displayIndex + 1, false)) : /*#__PURE__*/React.createElement(HUDDropDownContainer, _extends({ key: "ellipsis-".concat(idx), dropDownListConfigurationSettings: _objectSpread({ msOverflowStyle: "none", scrollbarWidth: "none", overflowY: "auto", boxShadow: "0 0 5.69px rgba(255, 255, 255, 0.169)", backdropFilter: "blur(5.69px)", maxHeight: "12.69rem", minHeight: "auto", height: "auto", padding: "0.5rem" }, temporalNavigatorNavigationPageListTruncationDropDownListConfigurationSettings !== null && temporalNavigatorNavigationPageListTruncationDropDownListConfigurationSettings !== void 0 ? temporalNavigatorNavigationPageListTruncationDropDownListConfigurationSettings : {}), figureComponent: /*#__PURE__*/React.createElement("div", _extends({ style: _objectSpread({ userSelect: "none", cursor: "pointer", color: "#888", padding: "0.0569rem 0.6rem" }, temporalNavigatorNavigationPageTruncationDropDownFigureConfigurationSettings !== null && temporalNavigatorNavigationPageTruncationDropDownFigureConfigurationSettings !== void 0 ? temporalNavigatorNavigationPageTruncationDropDownFigureConfigurationSettings : {}) }, temporalNavigatorNavigationPageTruncationDropDownFigureConfigurations !== null && temporalNavigatorNavigationPageTruncationDropDownFigureConfigurations !== void 0 ? temporalNavigatorNavigationPageTruncationDropDownFigureConfigurations : {}), temporalNavigatorNavigationPageTruncationDropDownFigureContent ? temporalNavigatorNavigationPageTruncationDropDownFigureContent : "…"), dropDownButtonClickAction: function dropDownButtonClickAction(pageIndex) { return setCurrentPageIndex(pageIndex); } }, temporalNavigatorNavigationPageListTruncationDropDownListConfigurations !== null && temporalNavigatorNavigationPageListTruncationDropDownListConfigurations !== void 0 ? temporalNavigatorNavigationPageListTruncationDropDownListConfigurations : {}), /*#__PURE__*/React.createElement("div", _extends({ style: _objectSpread({ borderRadius: "0.75rem", background: "transparent", gap: "0.169rem" }, temporalNavigatorNavigationPageListTruncationContentListConfigurationSettings !== null && temporalNavigatorNavigationPageListTruncationContentListConfigurationSettings !== void 0 ? temporalNavigatorNavigationPageListTruncationContentListConfigurationSettings : {}) }, temporalNavigatorNavigationPageListTruncationContentListConfigurations !== null && temporalNavigatorNavigationPageListTruncationContentListConfigurations !== void 0 ? temporalNavigatorNavigationPageListTruncationContentListConfigurations : {}), function () { var prev = arr[idx - 1]; var next = arr[idx + 1]; var prevVal = _typeof(prev) === "object" ? prev.displayIndex : 0; var nextVal = _typeof(next) === "object" ? next.displayIndex : displayPageMap.length - 1; var pagesInGap = displayPageMap.filter(function (p) { return p.displayIndex > prevVal && p.displayIndex < nextVal; }); return pagesInGap.map(function (p) { return /*#__PURE__*/React.createElement("div", _extends({ key: p.actualIndex, style: _objectSpread(_objectSpread({ userSelect: "none", cursor: "pointer", transition: "background 0.269s", fontWeight: "469", fontSize: "0.9069rem", borderRadius: "0.5rem", background: p.actualIndex === currentPageIndex ? "#1A73E8" : "transparent", color: p.actualIndex === currentPageIndex ? "#fff" : "#ccc", padding: "0.5rem 1rem" }, temporalNavigatorNavigationPageListTruncationContentCellConfigurationSettings !== null && temporalNavigatorNavigationPageListTruncationContentCellConfigurationSettings !== void 0 ? temporalNavigatorNavigationPageListTruncationContentCellConfigurationSettings : {}), p.actualIndex === currentPageIndex ? temporalNavigatorNavigationPageListTruncationContentCellHoverConfigurationSettings !== null && temporalNavigatorNavigationPageListTruncationContentCellHoverConfigurationSettings !== void 0 ? temporalNavigatorNavigationPageListTruncationContentCellHoverConfigurationSettings : {} : {}), onClick: function onClick() { return setCurrentPageIndex(p.actualIndex); } }, temporalNavigatorNavigationPageListTruncationContentCellConfigurations !== null && temporalNavigatorNavigationPageListTruncationContentCellConfigurations !== void 0 ? temporalNavigatorNavigationPageListTruncationContentCellConfigurations : {}), "Page ", ConvertNumberToMoneyFormat(p.displayIndex + 1, false)); }); }())); })), /*#__PURE__*/React.createElement(motion.div, _extends({ whileHover: atEndPage ? undefined : _objectSpread({ scale: 1.1069 }, temporalNavigatorNextNavigationButtonHoverConfigurationSettings !== null && temporalNavigatorNextNavigationButtonHoverConfigurationSettings !== void 0 ? temporalNavigatorNextNavigationButtonHoverConfigurationSettings : {}), whileTap: atEndPage ? undefined : _objectSpread({ scale: 0.869 }, temporalNavigatorNextNavigationButtonTapConfigurationSettings !== null && temporalNavigatorNextNavigationButtonTapConfigurationSettings !== void 0 ? temporalNavigatorNextNavigationButtonTapConfigurationSettings : {}), style: _objectSpread(_objectSpread({ cursor: atEndPage ? "default" : "pointer", transition: "opacity 0.269s", opacity: atEndPage ? 0.4 : 1, scale: 1, marginLeft: "0.369rem" }, temporalNavigatorNextNavigationButtonConfigurationSettings !== null && temporalNavigatorNextNavigationButtonConfigurationSettings !== void 0 ? temporalNavigatorNextNavigationButtonConfigurationSettings : {}), currentPageIndex === 0 ? temporalNavigatorNextNavigationButtonHoverConfigurationSettings !== null && temporalNavigatorNextNavigationButtonHoverConfigurationSettings !== void 0 ? temporalNavigatorNextNavigationButtonHoverConfigurationSettings : {} : {}), onClick: function onClick() { var current = currentPageIndex; var next = validPageIndexes.find(function (p) { return p > current; }); if (typeof next === "number") { setCurrentPageIndex(next); } } }, temporalNavigatorNextNavigationButtonConfigurations !== null && temporalNavigatorNextNavigationButtonConfigurations !== void 0 ? temporalNavigatorNextNavigationButtonConfigurations : {}), /*#__PURE__*/React.createElement(HUDIcon, _extends({ style: _objectSpread({ transition: "opacity 0.269s", height: "1.269rem" }, temporalNavigatorNextNavigationButtonIconConfigurationSettings !== null && temporalNavigatorNextNavigationButtonIconConfigurationSettings !== void 0 ? temporalNavigatorNextNavigationButtonIconConfigurationSettings : {}), disabled: atEndPage, name: "chevron-right" }, temporalNavigatorNextNavigationButtonIconConfigurations !== null && temporalNavigatorNextNavigationButtonIconConfigurations !== void 0 ? temporalNavigatorNextNavigationButtonIconConfigurations : {}))))); } ; export default HUDTemporalNavigator;