UNPKG

@kelvininc/ui-components

Version:
1,427 lines (1,393 loc) 77.9 kB
var EAnchorTarget; (function (EAnchorTarget) { EAnchorTarget["BrowserDefault"] = "_self"; EAnchorTarget["NewTab"] = "_blank"; EAnchorTarget["Parent"] = "_parent"; EAnchorTarget["Top"] = "_top"; })(EAnchorTarget || (EAnchorTarget = {})); var EComponentSize; (function (EComponentSize) { EComponentSize["Small"] = "small"; EComponentSize["Large"] = "large"; })(EComponentSize || (EComponentSize = {})); var ETooltipPosition; (function (ETooltipPosition) { ETooltipPosition["Top"] = "top"; ETooltipPosition["TopEnd"] = "top-end"; ETooltipPosition["TopStart"] = "top-start"; ETooltipPosition["Right"] = "right"; ETooltipPosition["RightEnd"] = "right-end"; ETooltipPosition["RightStart"] = "right-start"; ETooltipPosition["Bottom"] = "bottom"; ETooltipPosition["BottomEnd"] = "bottom-end"; ETooltipPosition["BottomStart"] = "bottom-start"; ETooltipPosition["Left"] = "left"; ETooltipPosition["LeftEnd"] = "left-end"; ETooltipPosition["LeftStart"] = "left-start"; })(ETooltipPosition || (ETooltipPosition = {})); var EAlarmSeverity; (function (EAlarmSeverity) { EAlarmSeverity["One"] = "1"; EAlarmSeverity["Two"] = "2"; EAlarmSeverity["Three"] = "3"; EAlarmSeverity["Four"] = "4"; EAlarmSeverity["Five"] = "5"; })(EAlarmSeverity || (EAlarmSeverity = {})); var StyleMode; (function (StyleMode) { StyleMode["Night"] = "night"; StyleMode["Light"] = "light"; })(StyleMode || (StyleMode = {})); var EAbsoluteTimePickerMode; (function (EAbsoluteTimePickerMode) { EAbsoluteTimePickerMode["Single"] = "single"; EAbsoluteTimePickerMode["Range"] = "range"; })(EAbsoluteTimePickerMode || (EAbsoluteTimePickerMode = {})); var ERelativeTimeInputMode; (function (ERelativeTimeInputMode) { ERelativeTimeInputMode["Text"] = "text"; ERelativeTimeInputMode["Date"] = "date"; })(ERelativeTimeInputMode || (ERelativeTimeInputMode = {})); var EInputSource; (function (EInputSource) { EInputSource["From"] = "from"; EInputSource["To"] = "to"; EInputSource["Single"] = "single"; })(EInputSource || (EInputSource = {})); var EAbsoluteTimeError; (function (EAbsoluteTimeError) { EAbsoluteTimeError["EndDateBeforeStartDate"] = "end-date-before-start-date"; EAbsoluteTimeError["StartDateBeforeMinimumDate"] = "start-date-before-minimum-date"; EAbsoluteTimeError["EndDateAfterMaximumDate"] = "end-date-after-maximum-date"; })(EAbsoluteTimeError || (EAbsoluteTimeError = {})); var EActionButtonType; (function (EActionButtonType) { EActionButtonType["Primary"] = "primary"; EActionButtonType["Secondary"] = "secondary"; EActionButtonType["Tertiary"] = "tertiary"; EActionButtonType["Text"] = "text"; EActionButtonType["Danger"] = "danger"; })(EActionButtonType || (EActionButtonType = {})); var EAlertType; (function (EAlertType) { EAlertType["Info"] = "info"; EAlertType["Error"] = "error"; EAlertType["Success"] = "success"; EAlertType["Warning"] = "warning"; })(EAlertType || (EAlertType = {})); var EBadgeType; (function (EBadgeType) { EBadgeType["Primary"] = "primary"; EBadgeType["Secondary"] = "secondary"; })(EBadgeType || (EBadgeType = {})); var ECopyToClipboardState; (function (ECopyToClipboardState) { ECopyToClipboardState["ReadyToCopy"] = "ready-to-copy"; ECopyToClipboardState["Copied"] = "copied"; })(ECopyToClipboardState || (ECopyToClipboardState = {})); var EDateTimeInputTypeStyle; (function (EDateTimeInputTypeStyle) { EDateTimeInputTypeStyle["Separated"] = "separated"; EDateTimeInputTypeStyle["MergedLeft"] = "merged-left"; EDateTimeInputTypeStyle["MergedRight"] = "merged-right"; })(EDateTimeInputTypeStyle || (EDateTimeInputTypeStyle = {})); var EIconName; (function (EIconName) { EIconName["Action"] = "kv-action"; EIconName["Activity"] = "kv-activity"; EIconName["Add"] = "kv-add"; EIconName["Agents"] = "kv-agents"; EIconName["AI"] = "kv-ai"; EIconName["AlignBottom"] = "kv-align-bottom"; EIconName["AlignTop"] = "kv-align-top"; EIconName["Application"] = "kv-application"; EIconName["Applications"] = "kv-applications"; EIconName["ArrowDropDown"] = "kv-arrow-drop-down"; EIconName["ArrowDropUp"] = "kv-arrow-drop-up"; EIconName["ArrowLeft"] = "kv-arrow-left"; EIconName["ArrowUpward"] = "kv-arrow-upward"; EIconName["Asset"] = "kv-asset"; EIconName["AssetsManagement"] = "kv-assets-management"; EIconName["Avatar"] = "kv-avatar"; EIconName["Bookmark"] = "kv-bookmark"; EIconName["Building"] = "kv-building"; EIconName["Bullet"] = "kv-bullet"; EIconName["Calendar"] = "kv-calendar"; EIconName["CalendarRange"] = "kv-calendar-range"; EIconName["CalendarTime"] = "kv-calendar-time"; EIconName["CalendarToday"] = "kv-calendar-today"; EIconName["Card"] = "kv-card"; EIconName["CardsStar"] = "kv-cards-star"; EIconName["Chat"] = "kv-chat"; EIconName["CheckState"] = "kv-check-state"; EIconName["Checkmark"] = "kv-checkmark"; EIconName["Circle"] = "kv-circle"; EIconName["Clear"] = "kv-clear"; EIconName["Close"] = "kv-close"; EIconName["CloseCircle"] = "kv-close-circle"; EIconName["Collapse"] = "kv-collapse"; EIconName["Column"] = "kv-column"; EIconName["Connections"] = "kv-connections"; EIconName["ContentExpand"] = "kv-content-expand"; EIconName["Control"] = "kv-control"; EIconName["ControlChange"] = "kv-control-change"; EIconName["Copy"] = "kv-copy"; EIconName["CopyClipboard"] = "kv-copy-clipboard"; EIconName["Dashboard"] = "kv-dashboard"; EIconName["DataExplorer"] = "kv-data-explorer"; EIconName["Datalabel"] = "kv-datalabel"; EIconName["DataQuality"] = "kv-data-quality"; EIconName["Datastreams"] = "kv-datastreams"; EIconName["Delete"] = "kv-delete"; EIconName["DensityHigh"] = "kv-density-high"; EIconName["DensityLow"] = "kv-density-low"; EIconName["DensityMedium"] = "kv-density-medium"; EIconName["Docs"] = "kv-docs"; EIconName["DockerApp"] = "kv-docker-app"; EIconName["Documentation"] = "kv-documentation"; EIconName["DoneAll"] = "kv-done-all"; EIconName["DottedCircle"] = "kv-dotted-circle"; EIconName["DoubleArrowDown"] = "kv-double-arrow-down"; EIconName["DoubleArrowLeft"] = "kv-double-arrow-left"; EIconName["DoubleArrowRight"] = "kv-double-arrow-right"; EIconName["Download"] = "kv-download"; EIconName["DragDrop"] = "kv-drag-drop"; EIconName["Edit"] = "kv-edit"; EIconName["Error"] = "kv-error"; EIconName["Exit"] = "kv-exit"; EIconName["Expand"] = "kv-expand"; EIconName["ExternalLink"] = "kv-external-link"; EIconName["Eye"] = "kv-eye"; EIconName["EyeClosed"] = "kv-eye-closed"; EIconName["File"] = "kv-file"; EIconName["FileCheck"] = "kv-file-check"; EIconName["FilePicker"] = "kv-file-picker"; EIconName["Filter"] = "kv-filter"; EIconName["FitContent"] = "kv-fit-content"; EIconName["Fixed"] = "kv-fixed"; EIconName["Fullscreen"] = "kv-fullscreen"; EIconName["Guardrails"] = "kv-guardrails"; EIconName["Group"] = "kv-group"; EIconName["HelpCircle"] = "kv-help-circle"; EIconName["Included"] = "kv-included"; EIconName["IndeterminateState"] = "kv-indeterminate-state"; EIconName["Info"] = "kv-info"; EIconName["Layer"] = "kv-layer"; EIconName["Link"] = "kv-link"; EIconName["List"] = "kv-list"; EIconName["Log"] = "kv-log"; EIconName["Lock"] = "kv-lock"; EIconName["LogoKelvin"] = "kv-logo-kelvin"; EIconName["Magictip"] = "kv-magictip"; EIconName["Message"] = "kv-message"; EIconName["Minus"] = "kv-minus"; EIconName["Monitoring"] = "kv-monitoring"; EIconName["More"] = "kv-more"; EIconName["MoveLeft"] = "kv-move-left"; EIconName["MoveRight"] = "kv-move-right"; EIconName["MoveNone"] = "kv-move-none"; EIconName["Multiline"] = "kv-multiline"; EIconName["NavClose"] = "kv-nav-close"; EIconName["NavOpen"] = "kv-nav-open"; EIconName["Notes"] = "kv-notes"; EIconName["NotIncluded"] = "kv-not-included"; EIconName["Notifications"] = "kv-notifications"; EIconName["Orchestration"] = "kv-orchestration"; EIconName["Pause"] = "kv-pause"; EIconName["Person"] = "kv-person"; EIconName["Play"] = "kv-play"; EIconName["Properties"] = "kv-properties"; EIconName["Protip"] = "kv-protip"; EIconName["PushPin"] = "kv-push-pin"; EIconName["RadioBtn"] = "kv-radio-btn"; EIconName["RadioBtnSelected"] = "kv-radio-btn-selected"; EIconName["Refresh"] = "kv-refresh"; EIconName["Reply"] = "kv-reply"; EIconName["Reset"] = "kv-reset"; EIconName["ResetZoom"] = "kv-reset-zoom"; EIconName["Role"] = "kv-role"; EIconName["RunAnswer"] = "kv-run-answer"; EIconName["RunSuccess"] = "kv-run-success"; EIconName["RunWarning"] = "kv-run-warning"; EIconName["Save"] = "kv-save"; EIconName["Schedule"] = "kv-schedule"; EIconName["Search"] = "kv-search"; EIconName["SendMessage"] = "kv-send-message"; EIconName["Settings"] = "kv-settings"; EIconName["SettingsSuggest"] = "kv-settings-suggest"; EIconName["ShieldLock"] = "kv-shield-lock"; EIconName["SlimRight"] = "kv-slim-right"; EIconName["SmartApp"] = "kv-smart-app"; EIconName["SortAz"] = "kv-sort-az"; EIconName["SortHover"] = "kv-sort-hover"; EIconName["SortZa"] = "kv-sort-za"; EIconName["Square"] = "kv-square"; EIconName["Star"] = "kv-star"; EIconName["Status"] = "kv-status"; EIconName["StatusMixed"] = "kv-status-mixed"; EIconName["Success"] = "kv-success"; EIconName["SuccessStar"] = "kv-success-star"; EIconName["SupervisedUser"] = "kv-supervised-user"; EIconName["Support"] = "kv-support"; EIconName["Swagger"] = "kv-swagger"; EIconName["Sync"] = "kv-sync"; EIconName["SyncCircle"] = "kv-sync-circle"; EIconName["SyncError"] = "kv-sync-error"; EIconName["SystemSource"] = "kv-system-source"; EIconName["Table"] = "kv-table"; EIconName["Tasks"] = "kv-tasks"; EIconName["TaskCheckmark"] = "kv-task-checkmark"; EIconName["Telemetry"] = "kv-telemetry"; EIconName["Time"] = "kv-time"; EIconName["TrafficLights"] = "kv-traffic-lights"; EIconName["TrendingDown"] = "kv-trending-down"; EIconName["TrendingUp"] = "kv-trending-up"; EIconName["Undo"] = "kv-undo"; EIconName["UncheckState"] = "kv-uncheck-state"; EIconName["Upload"] = "kv-upload"; EIconName["Uptime"] = "kv-uptime"; EIconName["Users"] = "kv-users"; EIconName["Warning"] = "kv-warning"; EIconName["World"] = "kv-world"; EIconName["ZoomIn"] = "kv-zoom-in"; EIconName["ZoomOut"] = "kv-zoom-out"; })(EIconName || (EIconName = {})); var EIllustrationName; (function (EIllustrationName) { EIllustrationName["EsKelvinLogo"] = "kv-es-kelvin-logo"; EIllustrationName["EsKelvinLogotype"] = "kv-es-kelvin-logotype"; EIllustrationName["NoDataAvailable"] = "kv-no-data-available"; EIllustrationName["ErrorState"] = "kv-error-state"; EIllustrationName["NoResultsFound"] = "kv-no-results-found"; EIllustrationName["NoContentHere"] = "kv-no-content-here"; EIllustrationName["NoMatchingResults"] = "kv-no-matching-results"; EIllustrationName["ErrorState404"] = "kv-error-state-404"; EIllustrationName["TakeActions"] = "kv-take-actions"; EIllustrationName["Import"] = "kv-import"; })(EIllustrationName || (EIllustrationName = {})); /** * Relative time range keys for predefined time periods. * * @remarks * These keys are used to define standard time ranges in the time picker component. * Each key has a corresponding configuration in `RELATIVE_TIME_OFFSETS`. * * @example * ```typescript * import { ERelativeTimeRangeKey, getRelativeTimeCalculation } from '@kelvininc/ui-components'; * * const config = getRelativeTimeCalculation(ERelativeTimeRangeKey.Last_24_H); * // Returns: { amount: -24, unit: 'hours' } * ``` */ var ERelativeTimeRangeKey; (function (ERelativeTimeRangeKey) { // Minutes - Past ERelativeTimeRangeKey["Last_5_m"] = "last-5-m"; ERelativeTimeRangeKey["Last_10_m"] = "last-10-m"; ERelativeTimeRangeKey["Last_15_m"] = "last-15-m"; ERelativeTimeRangeKey["Last_30_m"] = "last-30-m"; // Hours - Past ERelativeTimeRangeKey["Last_1_H"] = "last-1-h"; ERelativeTimeRangeKey["Last_3_H"] = "last-3-h"; ERelativeTimeRangeKey["Last_6_H"] = "last-6-h"; ERelativeTimeRangeKey["Last_12_H"] = "last-12-h"; ERelativeTimeRangeKey["Last_24_H"] = "last-24-h"; ERelativeTimeRangeKey["Last_48_H"] = "last-48-h"; ERelativeTimeRangeKey["Last_72_H"] = "last-72-h"; // Days - Past ERelativeTimeRangeKey["Last_3_D"] = "last-3-d"; ERelativeTimeRangeKey["Last_7_D"] = "last-7-d"; ERelativeTimeRangeKey["Last_14_D"] = "last-14-d"; ERelativeTimeRangeKey["Last_30_D"] = "last-30-d"; ERelativeTimeRangeKey["Last_90_D"] = "last-90-d"; ERelativeTimeRangeKey["Last_365_D"] = "last-365-d"; // Months - Past ERelativeTimeRangeKey["Last_1_M"] = "last-1-M"; ERelativeTimeRangeKey["Last_6_M"] = "last-6-M"; // Years - Past ERelativeTimeRangeKey["Last_1_Y"] = "last-1-y"; ERelativeTimeRangeKey["Last_2_Y"] = "last-2-y"; ERelativeTimeRangeKey["Last_5_Y"] = "last-5-y"; // Special - Unit-based references ERelativeTimeRangeKey["Today"] = "today"; ERelativeTimeRangeKey["Yesterday"] = "yesterday"; ERelativeTimeRangeKey["Yesterday_End"] = "yesterday-end"; // "So far" ranges (from start of unit to now) ERelativeTimeRangeKey["This_Week_So_Far"] = "this-week-so-far"; ERelativeTimeRangeKey["This_Month_So_Far"] = "this-month-so-far"; ERelativeTimeRangeKey["This_Quarter_So_Far"] = "this-quarter-so-far"; ERelativeTimeRangeKey["This_Year_So_Far"] = "this-year-so-far"; // Minutes - Future ERelativeTimeRangeKey["Next_5_M"] = "next-5-m"; ERelativeTimeRangeKey["Next_10_M"] = "next-10-m"; ERelativeTimeRangeKey["Next_15_M"] = "next-15-m"; ERelativeTimeRangeKey["Next_30_M"] = "next-30-m"; // Hours - Future ERelativeTimeRangeKey["Next_1_H"] = "next-1-h"; ERelativeTimeRangeKey["Next_6_H"] = "next-6-h"; ERelativeTimeRangeKey["Next_12_H"] = "next-12-h"; ERelativeTimeRangeKey["Next_24_H"] = "next-24-h"; ERelativeTimeRangeKey["Next_48_H"] = "next-48-h"; ERelativeTimeRangeKey["Next_72_H"] = "next-72-h"; // Days - Future ERelativeTimeRangeKey["Next_7_D"] = "next-7-d"; // Weeks - Future ERelativeTimeRangeKey["Next_2_W"] = "next-2-w"; // Months - Future ERelativeTimeRangeKey["Next_1_M"] = "next-1-m"; })(ERelativeTimeRangeKey || (ERelativeTimeRangeKey = {})); /** * Unit reference for relative time calculations. * Defines whether to align to the start or end of a time unit. * * @example * ```typescript * // "Today" starts at the beginning of the current day * { amount: 0, unit: 'day', unitReference: EUnitReference.StartOfUnit } * * // "End of yesterday" aligns to the end of the previous day * { amount: -1, unit: 'day', unitReference: EUnitReference.EndOfUnit } * ``` */ var EUnitReference; (function (EUnitReference) { EUnitReference["StartOfUnit"] = "startOfUnit"; EUnitReference["EndOfUnit"] = "endOfUnit"; })(EUnitReference || (EUnitReference = {})); /** * Custom interval key for time range picker. * * @remarks * Used to indicate that the user has selected a custom interval. */ const CUSTOM_TIME_RANGE_KEY = 'customize-interval'; /** * @deprecated Import from '@kelvininc/ui-components/utils/dates' instead */ /** Defines how the time calculation should be done */ var ERelativeTimeComparisonConfig; (function (ERelativeTimeComparisonConfig) { /** Subtract or add an amount of units (day, hour, months, quarters, ...) * but takes into consideration the start and end date * Ex: (last quarter, last week, yesterday) */ ERelativeTimeComparisonConfig["AbsoluteAmountOfUnits"] = "absoluteAmountOfUnits"; /** Subtract or add an amount of units (day, hour, months, quarters, ...) * but compares the unit with current timestamp * Ex: (last 5 minutes, last 24 hours) */ ERelativeTimeComparisonConfig["RelativeAmountOfUnits"] = "relativeAmountOfUnits"; /** Compare a start date (with date, time, or dateTime) with now */ ERelativeTimeComparisonConfig["StartDate"] = "startDate"; /** Compare an end date (with date, time, or dateTime) with now */ ERelativeTimeComparisonConfig["EndDate"] = "endDate"; /** Compare an absolute start date with an end date */ ERelativeTimeComparisonConfig["StartDateEndDate"] = "startDateEndDate"; })(ERelativeTimeComparisonConfig || (ERelativeTimeComparisonConfig = {})); var EToggleState; (function (EToggleState) { EToggleState["Selected"] = "selected"; EToggleState["Indeterminate"] = "indeterminate"; EToggleState["None"] = "none"; })(EToggleState || (EToggleState = {})); var ETabItemType; (function (ETabItemType) { ETabItemType["Primary"] = "primary"; ETabItemType["Secondary"] = "secondary"; })(ETabItemType || (ETabItemType = {})); var ETagColor; (function (ETagColor) { ETagColor["Neutral"] = "neutral"; ETagColor["Brand"] = "brand"; ETagColor["Purple"] = "purple"; ETagColor["Green"] = "green"; ETagColor["Yellow"] = "yellow"; ETagColor["Red"] = "red"; ETagColor["Blue"] = "blue"; })(ETagColor || (ETagColor = {})); var ETagState; (function (ETagState) { ETagState["Unknown"] = "unknown"; ETagState["Success"] = "success"; ETagState["Warning"] = "warning"; ETagState["Error"] = "error"; ETagState["Info"] = "info"; })(ETagState || (ETagState = {})); var EInputFieldType; (function (EInputFieldType) { EInputFieldType["Text"] = "text"; EInputFieldType["Number"] = "number"; EInputFieldType["Password"] = "password"; EInputFieldType["DateTime"] = "datetime-local"; EInputFieldType["Date"] = "date"; EInputFieldType["Radio"] = "radio"; EInputFieldType["Email"] = "email"; })(EInputFieldType || (EInputFieldType = {})); var EValidationState; (function (EValidationState) { EValidationState["None"] = "none"; EValidationState["Valid"] = "valid"; EValidationState["Invalid"] = "invalid"; })(EValidationState || (EValidationState = {})); var ETimePickerView; (function (ETimePickerView) { ETimePickerView["RelativeTimePicker"] = "relativeTimePicker"; ETimePickerView["AbsoluteTimePicker"] = "absoluteTimePicker"; ETimePickerView["FullView"] = "fullView"; })(ETimePickerView || (ETimePickerView = {})); var EToasterType; (function (EToasterType) { EToasterType["Info"] = "info"; EToasterType["Warning"] = "warning"; EToasterType["Error"] = "error"; EToasterType["Success"] = "success"; })(EToasterType || (EToasterType = {})); var EStepState; (function (EStepState) { EStepState["Success"] = "success"; EStepState["Error"] = "error"; })(EStepState || (EStepState = {})); const NAMESPACE = 'peacock-ui'; const BUILD = /* peacock-ui */ { hydratedSelectorName: "hydrated", lazyLoad: false, slotRelocation: true, updatable: true}; /* Stencil Client Platform v4.36.3 | MIT Licensed | https://stenciljs.com */ var __defProp = Object.defineProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; // src/utils/constants.ts var SVG_NS = "http://www.w3.org/2000/svg"; var HTML_NS = "http://www.w3.org/1999/xhtml"; // src/client/client-host-ref.ts var getHostRef = (ref) => { if (ref.__stencil__getHostRef) { return ref.__stencil__getHostRef(); } return void 0; }; var registerHost = (hostElement, cmpMeta) => { const hostRef = { $flags$: 0, $hostElement$: hostElement, $cmpMeta$: cmpMeta, $instanceValues$: /* @__PURE__ */ new Map() }; { hostRef.$onReadyPromise$ = new Promise((r) => hostRef.$onReadyResolve$ = r); hostElement["s-p"] = []; hostElement["s-rc"] = []; } const ref = hostRef; hostElement.__stencil__getHostRef = () => ref; return ref; }; var isMemberInElement = (elm, memberName) => memberName in elm; var consoleError = (e, el) => (0, console.error)(e, el); // src/client/client-style.ts var styles = /* @__PURE__ */ new Map(); var SLOT_FB_CSS = "slot-fb{display:contents}slot-fb[hidden]{display:none}"; var XLINK_NS = "http://www.w3.org/1999/xlink"; var win = typeof window !== "undefined" ? window : {}; var H = win.HTMLElement || class { }; var plt = { $flags$: 0, $resourcesUrl$: "", jmp: (h2) => h2(), raf: (h2) => requestAnimationFrame(h2), ael: (el, eventName, listener, opts) => el.addEventListener(eventName, listener, opts), rel: (el, eventName, listener, opts) => el.removeEventListener(eventName, listener, opts), ce: (eventName, opts) => new CustomEvent(eventName, opts) }; var supportsListenerOptions = /* @__PURE__ */ (() => { var _a; let supportsListenerOptions2 = false; try { (_a = win.document) == null ? void 0 : _a.addEventListener( "e", null, Object.defineProperty({}, "passive", { get() { supportsListenerOptions2 = true; } }) ); } catch (e) { } return supportsListenerOptions2; })(); var promiseResolve = (v) => Promise.resolve(v); var supportsConstructableStylesheets = /* @__PURE__ */ (() => { try { new CSSStyleSheet(); return typeof new CSSStyleSheet().replaceSync === "function"; } catch (e) { } return false; })() ; var supportsMutableAdoptedStyleSheets = supportsConstructableStylesheets ? /* @__PURE__ */ (() => !!win.document && Object.getOwnPropertyDescriptor(win.document.adoptedStyleSheets, "length").writable)() : false; var queuePending = false; var queueDomReads = []; var queueDomWrites = []; var queueTask = (queue, write) => (cb) => { queue.push(cb); if (!queuePending) { queuePending = true; if (write && plt.$flags$ & 4 /* queueSync */) { nextTick(flush); } else { plt.raf(flush); } } }; var consume = (queue) => { for (let i2 = 0; i2 < queue.length; i2++) { try { queue[i2](performance.now()); } catch (e) { consoleError(e); } } queue.length = 0; }; var flush = () => { consume(queueDomReads); { consume(queueDomWrites); if (queuePending = queueDomReads.length > 0) { plt.raf(flush); } } }; var nextTick = (cb) => promiseResolve().then(cb); var writeTask = /* @__PURE__ */ queueTask(queueDomWrites, true); // src/runtime/asset-path.ts var getAssetPath = (path) => { const assetUrl = new URL(path, plt.$resourcesUrl$); return assetUrl.origin !== win.location.origin ? assetUrl.href : assetUrl.pathname; }; var setAssetPath = (path) => plt.$resourcesUrl$ = path; var isComplexType = (o) => { o = typeof o; return o === "object" || o === "function"; }; // src/utils/query-nonce-meta-tag-content.ts function queryNonceMetaTagContent(doc) { var _a, _b, _c; return (_c = (_b = (_a = doc.head) == null ? void 0 : _a.querySelector('meta[name="csp-nonce"]')) == null ? void 0 : _b.getAttribute("content")) != null ? _c : void 0; } // src/utils/regular-expression.ts var escapeRegExpSpecialCharacters = (text) => { return text.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); }; // src/utils/result.ts var result_exports = {}; __export(result_exports, { err: () => err, map: () => map, ok: () => ok, unwrap: () => unwrap, unwrapErr: () => unwrapErr }); var ok = (value) => ({ isOk: true, isErr: false, value }); var err = (value) => ({ isOk: false, isErr: true, value }); function map(result, fn) { if (result.isOk) { const val = fn(result.value); if (val instanceof Promise) { return val.then((newVal) => ok(newVal)); } else { return ok(val); } } if (result.isErr) { const value = result.value; return err(value); } throw "should never get here"; } var unwrap = (result) => { if (result.isOk) { return result.value; } else { throw result.value; } }; var unwrapErr = (result) => { if (result.isErr) { return result.value; } else { throw result.value; } }; // src/utils/style.ts function createStyleSheetIfNeededAndSupported(styles2) { return void 0; } // src/utils/shadow-root.ts var globalStyleSheet; function createShadowRoot(cmpMeta) { var _a; const shadowRoot = this.attachShadow({ mode: "open" }); if (globalStyleSheet === void 0) globalStyleSheet = (_a = createStyleSheetIfNeededAndSupported()) != null ? _a : null; if (globalStyleSheet) { if (supportsMutableAdoptedStyleSheets) { shadowRoot.adoptedStyleSheets.push(globalStyleSheet); } else { shadowRoot.adoptedStyleSheets = [...shadowRoot.adoptedStyleSheets, globalStyleSheet]; } } } var updateFallbackSlotVisibility = (elm) => { const childNodes = internalCall(elm, "childNodes"); if (elm.tagName && elm.tagName.includes("-") && elm["s-cr"] && elm.tagName !== "SLOT-FB") { getHostSlotNodes(childNodes, elm.tagName).forEach((slotNode) => { if (slotNode.nodeType === 1 /* ElementNode */ && slotNode.tagName === "SLOT-FB") { if (getSlotChildSiblings(slotNode, getSlotName(slotNode), false).length) { slotNode.hidden = true; } else { slotNode.hidden = false; } } }); } let i2 = 0; for (i2 = 0; i2 < childNodes.length; i2++) { const childNode = childNodes[i2]; if (childNode.nodeType === 1 /* ElementNode */ && internalCall(childNode, "childNodes").length) { updateFallbackSlotVisibility(childNode); } } }; var getSlottedChildNodes = (childNodes) => { const result = []; for (let i2 = 0; i2 < childNodes.length; i2++) { const slottedNode = childNodes[i2]["s-nr"] || void 0; if (slottedNode && slottedNode.isConnected) { result.push(slottedNode); } } return result; }; function getHostSlotNodes(childNodes, hostName, slotName) { let i2 = 0; let slottedNodes = []; let childNode; for (; i2 < childNodes.length; i2++) { childNode = childNodes[i2]; if (childNode["s-sr"] && (!hostName || childNode["s-hn"] === hostName) && (slotName === void 0)) { slottedNodes.push(childNode); } slottedNodes = [...slottedNodes, ...getHostSlotNodes(childNode.childNodes, hostName, slotName)]; } return slottedNodes; } var getSlotChildSiblings = (slot, slotName, includeSlot = true) => { const childNodes = []; if (includeSlot && slot["s-sr"] || !slot["s-sr"]) childNodes.push(slot); let node = slot; while (node = node.nextSibling) { if (getSlotName(node) === slotName && (includeSlot || !node["s-sr"])) childNodes.push(node); } return childNodes; }; var isNodeLocatedInSlot = (nodeToRelocate, slotName) => { if (nodeToRelocate.nodeType === 1 /* ElementNode */) { if (nodeToRelocate.getAttribute("slot") === null && slotName === "") { return true; } if (nodeToRelocate.getAttribute("slot") === slotName) { return true; } return false; } if (nodeToRelocate["s-sn"] === slotName) { return true; } return slotName === ""; }; var getSlotName = (node) => typeof node["s-sn"] === "string" ? node["s-sn"] : node.nodeType === 1 && node.getAttribute("slot") || void 0; function patchSlotNode(node) { if (node.assignedElements || node.assignedNodes || !node["s-sr"]) return; const assignedFactory = (elementsOnly) => (function(opts) { const toReturn = []; const slotName = this["s-sn"]; if (opts == null ? void 0 : opts.flatten) { console.error(` Flattening is not supported for Stencil non-shadow slots. You can use \`.childNodes\` to nested slot fallback content. If you have a particular use case, please open an issue on the Stencil repo. `); } const parent = this["s-cr"].parentElement; const slottedNodes = parent.__childNodes ? parent.childNodes : getSlottedChildNodes(parent.childNodes); slottedNodes.forEach((n) => { if (slotName === getSlotName(n)) { toReturn.push(n); } }); if (elementsOnly) { return toReturn.filter((n) => n.nodeType === 1 /* ElementNode */); } return toReturn; }).bind(node); node.assignedElements = assignedFactory(true); node.assignedNodes = assignedFactory(false); } function internalCall(node, method) { if ("__" + method in node) { const toReturn = node["__" + method]; if (typeof toReturn !== "function") return toReturn; return toReturn.bind(node); } else { if (typeof node[method] !== "function") return node[method]; return node[method].bind(node); } } var createTime = (fnName, tagName = "") => { { return () => { return; }; } }; var rootAppliedStyles = /* @__PURE__ */ new WeakMap(); var registerStyle = (scopeId2, cssText, allowCS) => { let style = styles.get(scopeId2); if (supportsConstructableStylesheets && allowCS) { style = style || new CSSStyleSheet(); if (typeof style === "string") { style = cssText; } else { style.replaceSync(cssText); } } else { style = cssText; } styles.set(scopeId2, style); }; var addStyle = (styleContainerNode, cmpMeta, mode) => { var _a; const scopeId2 = getScopeId(cmpMeta); const style = styles.get(scopeId2); if (!win.document) { return scopeId2; } styleContainerNode = styleContainerNode.nodeType === 11 /* DocumentFragment */ ? styleContainerNode : win.document; if (style) { if (typeof style === "string") { styleContainerNode = styleContainerNode.head || styleContainerNode; let appliedStyles = rootAppliedStyles.get(styleContainerNode); let styleElm; if (!appliedStyles) { rootAppliedStyles.set(styleContainerNode, appliedStyles = /* @__PURE__ */ new Set()); } if (!appliedStyles.has(scopeId2)) { { styleElm = win.document.createElement("style"); styleElm.innerHTML = style; const nonce = (_a = plt.$nonce$) != null ? _a : queryNonceMetaTagContent(win.document); if (nonce != null) { styleElm.setAttribute("nonce", nonce); } if (!(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */)) { if (styleContainerNode.nodeName === "HEAD") { const preconnectLinks = styleContainerNode.querySelectorAll("link[rel=preconnect]"); const referenceNode2 = preconnectLinks.length > 0 ? preconnectLinks[preconnectLinks.length - 1].nextSibling : styleContainerNode.querySelector("style"); styleContainerNode.insertBefore( styleElm, (referenceNode2 == null ? void 0 : referenceNode2.parentNode) === styleContainerNode ? referenceNode2 : null ); } else if ("host" in styleContainerNode) { if (supportsConstructableStylesheets) { const stylesheet = new CSSStyleSheet(); stylesheet.replaceSync(style); if (supportsMutableAdoptedStyleSheets) { styleContainerNode.adoptedStyleSheets.unshift(stylesheet); } else { styleContainerNode.adoptedStyleSheets = [stylesheet, ...styleContainerNode.adoptedStyleSheets]; } } else { const existingStyleContainer = styleContainerNode.querySelector("style"); if (existingStyleContainer) { existingStyleContainer.innerHTML = style + existingStyleContainer.innerHTML; } else { styleContainerNode.prepend(styleElm); } } } else { styleContainerNode.append(styleElm); } } if (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) { styleContainerNode.insertBefore(styleElm, null); } } if (cmpMeta.$flags$ & 4 /* hasSlotRelocation */) { styleElm.innerHTML += SLOT_FB_CSS; } if (appliedStyles) { appliedStyles.add(scopeId2); } } } else if (!styleContainerNode.adoptedStyleSheets.includes(style)) { if (supportsMutableAdoptedStyleSheets) { styleContainerNode.adoptedStyleSheets.push(style); } else { styleContainerNode.adoptedStyleSheets = [...styleContainerNode.adoptedStyleSheets, style]; } } } return scopeId2; }; var attachStyles = (hostRef) => { const cmpMeta = hostRef.$cmpMeta$; const elm = hostRef.$hostElement$; const flags = cmpMeta.$flags$; const endAttachStyles = createTime("attachStyles", cmpMeta.$tagName$); const scopeId2 = addStyle( elm.shadowRoot ? elm.shadowRoot : elm.getRootNode(), cmpMeta); if (flags & 10 /* needsScopedEncapsulation */) { elm["s-sc"] = scopeId2; elm.classList.add(scopeId2 + "-h"); } endAttachStyles(); }; var getScopeId = (cmp, mode) => "sc-" + (cmp.$tagName$); var h = (nodeName, vnodeData, ...children) => { let child = null; let key = null; let slotName = null; let simple = false; let lastSimple = false; const vNodeChildren = []; const walk = (c) => { for (let i2 = 0; i2 < c.length; i2++) { child = c[i2]; if (Array.isArray(child)) { walk(child); } else if (child != null && typeof child !== "boolean") { if (simple = typeof nodeName !== "function" && !isComplexType(child)) { child = String(child); } if (simple && lastSimple) { vNodeChildren[vNodeChildren.length - 1].$text$ += child; } else { vNodeChildren.push(simple ? newVNode(null, child) : child); } lastSimple = simple; } } }; walk(children); if (vnodeData) { if (vnodeData.key) { key = vnodeData.key; } if (vnodeData.name) { slotName = vnodeData.name; } { const classData = vnodeData.className || vnodeData.class; if (classData) { vnodeData.class = typeof classData !== "object" ? classData : Object.keys(classData).filter((k) => classData[k]).join(" "); } } } if (typeof nodeName === "function") { return nodeName( vnodeData === null ? {} : vnodeData, vNodeChildren, vdomFnUtils ); } const vnode = newVNode(nodeName, null); vnode.$attrs$ = vnodeData; if (vNodeChildren.length > 0) { vnode.$children$ = vNodeChildren; } { vnode.$key$ = key; } { vnode.$name$ = slotName; } return vnode; }; var newVNode = (tag, text) => { const vnode = { $flags$: 0, $tag$: tag, $text$: text, $elm$: null, $children$: null }; { vnode.$attrs$ = null; } { vnode.$key$ = null; } { vnode.$name$ = null; } return vnode; }; var Host = {}; var isHost = (node) => node && node.$tag$ === Host; var vdomFnUtils = { forEach: (children, cb) => children.map(convertToPublic).forEach(cb), map: (children, cb) => children.map(convertToPublic).map(cb).map(convertToPrivate) }; var convertToPublic = (node) => ({ vattrs: node.$attrs$, vchildren: node.$children$, vkey: node.$key$, vname: node.$name$, vtag: node.$tag$, vtext: node.$text$ }); var convertToPrivate = (node) => { if (typeof node.vtag === "function") { const vnodeData = { ...node.vattrs }; if (node.vkey) { vnodeData.key = node.vkey; } if (node.vname) { vnodeData.name = node.vname; } return h(node.vtag, vnodeData, ...node.vchildren || []); } const vnode = newVNode(node.vtag, node.vtext); vnode.$attrs$ = node.vattrs; vnode.$children$ = node.vchildren; vnode.$key$ = node.vkey; vnode.$name$ = node.vname; return vnode; }; var createSupportsRuleRe = (selector) => { const safeSelector2 = escapeRegExpSpecialCharacters(selector); return new RegExp( // First capture group: match any context before the selector that's not inside @supports selector() // Using negative lookahead to avoid matching inside @supports selector(...) condition `(^|[^@]|@(?!supports\\s+selector\\s*\\([^{]*?${safeSelector2}))(${safeSelector2}\\b)`, "g" ); }; createSupportsRuleRe("::slotted"); createSupportsRuleRe(":host"); createSupportsRuleRe(":host-context"); var parsePropertyValue = (propValue, propType, isFormAssociated) => { if (typeof propValue === "string" && (propType & 16 /* Unknown */ || propType & 8 /* Any */) && (propValue.startsWith("{") && propValue.endsWith("}") || propValue.startsWith("[") && propValue.endsWith("]"))) { try { return JSON.parse(propValue); } catch (e) { } } if (propValue != null && !isComplexType(propValue)) { if (propType & 4 /* Boolean */) { { return propValue === "false" ? false : propValue === "" || !!propValue; } } if (propType & 2 /* Number */) { return typeof propValue === "string" ? parseFloat(propValue) : typeof propValue === "number" ? propValue : NaN; } if (propType & 1 /* String */) { return String(propValue); } return propValue; } return propValue; }; var getElement = (ref) => { return ref; }; // src/runtime/event-emitter.ts var createEvent = (ref, name, flags) => { const elm = getElement(ref); return { emit: (detail) => { return emitEvent(elm, name, { bubbles: !!(flags & 4 /* Bubbles */), composed: !!(flags & 2 /* Composed */), cancelable: !!(flags & 1 /* Cancellable */), detail }); } }; }; var emitEvent = (elm, name, opts) => { const ev = plt.ce(name, opts); elm.dispatchEvent(ev); return ev; }; var setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags, initialRender) => { if (oldValue === newValue) { return; } let isProp = isMemberInElement(elm, memberName); let ln = memberName.toLowerCase(); if (memberName === "class") { const classList = elm.classList; const oldClasses = parseClassList(oldValue); let newClasses = parseClassList(newValue); { classList.remove(...oldClasses.filter((c) => c && !newClasses.includes(c))); classList.add(...newClasses.filter((c) => c && !oldClasses.includes(c))); } } else if (memberName === "style") { { for (const prop in oldValue) { if (!newValue || newValue[prop] == null) { if (prop.includes("-")) { elm.style.removeProperty(prop); } else { elm.style[prop] = ""; } } } } for (const prop in newValue) { if (!oldValue || newValue[prop] !== oldValue[prop]) { if (prop.includes("-")) { elm.style.setProperty(prop, newValue[prop]); } else { elm.style[prop] = newValue[prop]; } } } } else if (memberName === "key") ; else if (memberName === "ref") { if (newValue) { newValue(elm); } } else if ((!elm.__lookupSetter__(memberName)) && memberName[0] === "o" && memberName[1] === "n") { if (memberName[2] === "-") { memberName = memberName.slice(3); } else if (isMemberInElement(win, ln)) { memberName = ln.slice(2); } else { memberName = ln[2] + memberName.slice(3); } if (oldValue || newValue) { const capture = memberName.endsWith(CAPTURE_EVENT_SUFFIX); memberName = memberName.replace(CAPTURE_EVENT_REGEX, ""); if (oldValue) { plt.rel(elm, memberName, oldValue, capture); } if (newValue) { plt.ael(elm, memberName, newValue, capture); } } } else { const isComplex = isComplexType(newValue); if ((isProp || isComplex && newValue !== null) && !isSvg) { try { if (!elm.tagName.includes("-")) { const n = newValue == null ? "" : newValue; if (memberName === "list") { isProp = false; } else if (oldValue == null || elm[memberName] != n) { if (typeof elm.__lookupSetter__(memberName) === "function") { elm[memberName] = n; } else { elm.setAttribute(memberName, n); } } } else if (elm[memberName] !== newValue) { elm[memberName] = newValue; } } catch (e) { } } let xlink = false; { if (ln !== (ln = ln.replace(/^xlink\:?/, ""))) { memberName = ln; xlink = true; } } if (newValue == null || newValue === false) { if (newValue !== false || elm.getAttribute(memberName) === "") { if (xlink) { elm.removeAttributeNS(XLINK_NS, memberName); } else { elm.removeAttribute(memberName); } } } else if ((!isProp || flags & 4 /* isHost */ || isSvg) && !isComplex && elm.nodeType === 1 /* ElementNode */) { newValue = newValue === true ? "" : newValue; if (xlink) { elm.setAttributeNS(XLINK_NS, memberName, newValue); } else { elm.setAttribute(memberName, newValue); } } } }; var parseClassListRegex = /\s/; var parseClassList = (value) => { if (typeof value === "object" && value && "baseVal" in value) { value = value.baseVal; } if (!value || typeof value !== "string") { return []; } return value.split(parseClassListRegex); }; var CAPTURE_EVENT_SUFFIX = "Capture"; var CAPTURE_EVENT_REGEX = new RegExp(CAPTURE_EVENT_SUFFIX + "$"); // src/runtime/vdom/update-element.ts var updateElement = (oldVnode, newVnode, isSvgMode2, isInitialRender) => { const elm = newVnode.$elm$.nodeType === 11 /* DocumentFragment */ && newVnode.$elm$.host ? newVnode.$elm$.host : newVnode.$elm$; const oldVnodeAttrs = oldVnode && oldVnode.$attrs$ || {}; const newVnodeAttrs = newVnode.$attrs$ || {}; { for (const memberName of sortedAttrNames(Object.keys(oldVnodeAttrs))) { if (!(memberName in newVnodeAttrs)) { setAccessor( elm, memberName, oldVnodeAttrs[memberName], void 0, isSvgMode2, newVnode.$flags$); } } } for (const memberName of sortedAttrNames(Object.keys(newVnodeAttrs))) { setAccessor( elm, memberName, oldVnodeAttrs[memberName], newVnodeAttrs[memberName], isSvgMode2, newVnode.$flags$); } }; function sortedAttrNames(attrNames) { return attrNames.includes("ref") ? ( // we need to sort these to ensure that `'ref'` is the last attr [...attrNames.filter((attr) => attr !== "ref"), "ref"] ) : ( // no need to sort, return the original array attrNames ); } var contentRef; var hostTagName; var useNativeShadowDom = false; var checkSlotFallbackVisibility = false; var checkSlotRelocate = false; var isSvgMode = false; var createElm = (oldParentVNode, newParentVNode, childIndex) => { var _a; const newVNode2 = newParentVNode.$children$[childIndex]; let i2 = 0; let elm; let childNode; let oldVNode; if (!useNativeShadowDom) { checkSlotRelocate = true; if (newVNode2.$tag$ === "slot") { newVNode2.$flags$ |= newVNode2.$children$ ? ( // slot element has fallback content // still create an element that "mocks" the slot element 2 /* isSlotFallback */ ) : ( // slot element does not have fallback content // create an html comment we'll use to always reference // where actual slot content should sit next to 1 /* isSlotReference */ ); } } if (newVNode2.$text$ !== null) { elm = newVNode2.$elm$ = win.document.createTextNode(newVNode2.$text$); } else if (newVNode2.$flags$ & 1 /* isSlotReference */) { elm = newVNode2.$elm$ = win.document.createTextNode(""); { updateElement(null, newVNode2, isSvgMode); } } else { if (!isSvgMode) { isSvgMode = newVNode2.$tag$ === "svg"; } if (!win.document) { throw new Error( "You are trying to render a Stencil component in an environment that doesn't support the DOM. Make sure to populate the [`window`](https://developer.mozilla.org/en-US/docs/Web/API/Window/window) object before rendering a component." ); } elm = newVNode2.$elm$ = win.document.createElementNS( isSvgMode ? SVG_NS : HTML_NS, !useNativeShadowDom && BUILD.slotRelocation && newVNode2.$flags$ & 2 /* isSlotFallback */ ? "slot-fb" : newVNode2.$tag$ ) ; if (isSvgMode && newVNode2.$tag$ === "foreignObject") { isSvgMode = false; } { updateElement(null, newVNode2, isSvgMode); } if (newVNode2.$children$) { for (i2 = 0; i2 < newVNode2.$children$.length; ++i2) { childNode = createElm(oldParentVNode, newVNode2, i2); if (childNode) { elm.appendChild(childNode); } } } { if (newVNode2.$tag$ === "svg") { isSvgMode = false; } else if (elm.tagName === "foreignObject") { isSvgMode = true; } } } elm["s-hn"] = hostTagName; { if (newVNode2.$flags$ & (2 /* isSlotFallback */ | 1 /* isSlotReference */)) { elm["s-sr"] = true; elm["s-cr"] = contentRef; elm["s-sn"] = newVNode2.$name$ || ""; elm["s-rf"] = (_a = newVNode2.$attrs$) == null ? void 0 : _a.ref; patchSlotNode(elm); oldVNode = oldParentVNode && oldParentVNode.$children$ && oldParentVNode.$children$[childIndex]; if (oldVNode && oldVNode.$tag$ === newVNode2.$tag$ && oldParentVNode.$elm$) { { putBackInOriginalLocation(oldParentVNode.$elm$, false); } } } } return elm; }; var putBackInOriginalLocation = (parentElm, recursive) => { plt.$flags$ |= 1 /* isTmpDisconnected */; const oldSlotChildNodes = Array.from(parentElm.__childNodes || parentElm.childNodes); for (let i2 = oldSlotChildNodes.length - 1; i2 >= 0; i2--) { const childNode = oldSlotChildNodes[i2]; if (childNode["s-hn"] !== hostTagName && childNode["s-ol"]) { insertBefore(referenceNode(childNode).parentNode, childNode, referenceNode(childNode)); childNode["s-ol"].remove(); childNode["s-ol"] = void 0; childNode["s-sh"] = void 0; checkSlotRelocate = true; } if (recursive) { putBackInOriginalLocation(childNode, recursive); } } plt.$flags$ &= -2 /* isTmpDisconnected */; }; var addVnodes = (parentElm, before, parentVNode, vnodes, startIdx, endIdx) => { let containerElm = parentElm["s-cr"] && parentElm["s-cr"].parentNode || parentElm; let childNode; if (containerElm.shadowRoot && containerElm.tagName === hostTagName) { containerElm = containerElm.shadowRoot; } for (; startIdx <= endIdx; ++startIdx) { if (vnodes[startIdx]) { childNode = createElm(null, parentVNode, startIdx); if (childNode) { vnodes[startIdx].$elm$ = childNode; insertBefore(containerElm, childNode, referenceNode(before) ); } } } }; var removeVnodes = (vnodes, startIdx, endIdx) => { for (let index = startIdx; index <= endIdx; ++index) { const vnode = vnodes[index]; if (vnode) { const elm = vnode.$elm$; nullifyVNodeRefs(vnode); if (elm) { { checkSlotFallbackVisibility = true; if (elm["s-ol"]) { elm["s-ol"].remove(); } else { putBackInOriginalLocation(elm, true); } } elm.remove(); } } } }; var updateChildren = (parentElm, oldCh, newVNode2, newCh, isInitialRender = false) => { let oldStartIdx = 0; let newStartIdx = 0; let idxInOld = 0; let i2 = 0; let oldEndIdx = oldCh.length - 1; let oldStartVnode = oldCh[0]; let oldEndVnode = oldCh[oldEndIdx]; let newEndIdx = newCh.length - 1; let newStartVnode = newCh[0]; let newEndVnode = newCh[newEndIdx]; let node; let elmToMove; while (oldStartIdx <= oldEndIdx && newStartIdx <= newEndIdx) { if (oldStartVnode == null) { oldStartVnode = oldCh[++oldStartIdx]; } else if (oldEndVnode == null) { oldEndVnode = oldCh[--oldEndIdx]; } else if (newStartVnode == null) { newStartVnode = newCh[++newStartIdx]; } else if (newEndVnode == null) { newEndVnode = newCh[--newEndIdx]; } else if (isSameVnode(oldStartVnode, newStartVnode, isInitialRender)) { patch(oldStartVnode, newStartVnode, isInitialRender); oldStartVnode = oldCh[++oldStartIdx]; newStartVnode = newCh[++newStartIdx]; } else if (isSameVnode(oldEndVnode, newEndVnode, isInitialRender)) { patch(oldEndVnode, newEndVnode, isInitialRender); oldEndVnode = oldCh[--oldEndIdx]; newEndVnode = newCh[--newEndIdx]; } else if (isSameVnode(oldStartVnode, newEndVnode, isInitialRender)) { if ((oldStartVnode.$tag$ === "slot" || newEndVnode.$tag$ === "slot")) { putBackInOriginalLocation(oldStartVnode.$elm$.parentNode, false); } patch(oldStartVnode, newEndVnode, isInitialRender); insertBefore(parentElm, oldStartVnode.$elm$, oldEndVnode.$elm$.nextSibling); oldStartVnode = oldCh[++oldStartIdx]; newEndVnode = newCh[--newEndIdx]; } else if (isSameVnode(oldEndVnode, newStartVnode, isInitialRender)) { if ((oldStartVnode.$tag$ === "slot" || newEndVnode.$tag$ === "slot")) { putBackInOriginalLocation(oldEndVnode.$elm$.parentNode, false); } patch(oldEndVnode, newStartVnode, isInitialRender); insertBefore(parentElm, oldEndVnode.$elm$, oldStartVnode.$elm$); oldEndVnode = oldCh[--oldEndIdx]; newStartVnode = newCh[++newStartIdx]; } else { idxInOld = -1; { for (i2 = oldStartIdx; i2 <= oldEndIdx; ++i2) { if (oldCh[i2] && oldCh[i2].$key$ !== null && oldCh[i2].$key$ === newStartVnode.$key$) { idxInOld = i2; break; } } } if (idxInOld >= 0) { elmToMove = oldCh[idxInOld]; if (elmToMove.$tag$ !== newStartVnode.$tag$) { node = createElm(oldCh && oldCh[newStartIdx], newVNode2, idxInOld); } else { patch(elmToMove, newStartVnode, isInitialRender); oldCh[idxInOld] = void 0;