globuswebcomponents 2.6.5 → 2.6.7

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.
Files changed (106) hide show
  1. package/dist/cjs/{gb-action-panel_63.cjs.entry.js → gb-action-panel_70.cjs.entry.js} +329 -38
  2. package/dist/cjs/gb-action-panel_70.cjs.entry.js.map +1 -0
  3. package/dist/cjs/gb-step-base.gb-step-icon-base.entry.cjs.js.map +1 -0
  4. package/dist/cjs/{gb-featured-icon_3.cjs.entry.js → gb-step-base_2.cjs.entry.js} +2 -27
  5. package/dist/cjs/gb-step-base_2.cjs.entry.js.map +1 -0
  6. package/dist/cjs/globuscomponents.cjs.js +1 -1
  7. package/dist/cjs/loader.cjs.js +1 -1
  8. package/dist/collection/components/gb-file-upload-item-base/gb-file-upload-item-base.css +2 -5
  9. package/dist/collection/components/gb-input-field/gb-input-field.js +12 -13
  10. package/dist/collection/components/gb-input-field/gb-input-field.js.map +1 -1
  11. package/dist/collection/components/gb-nav-bar/gb-nav-bar.js +5 -6
  12. package/dist/collection/components/gb-nav-bar/gb-nav-bar.js.map +1 -1
  13. package/dist/collection/components/gb-nav-bar-sidemenu/gb-nav-bar-sidemenu.js +18 -18
  14. package/dist/collection/components/gb-nav-bar-sidemenu/gb-nav-bar-sidemenu.js.map +1 -1
  15. package/dist/collection/components/gb-pattern/gb-pattern.js +7 -1
  16. package/dist/collection/components/gb-pattern/gb-pattern.js.map +1 -1
  17. package/dist/components/gb-empty-state.js +1 -1
  18. package/dist/components/gb-file-upload-item-base.js +1 -1
  19. package/dist/components/gb-file-upload.js +1 -1
  20. package/dist/components/gb-header.js +1 -1
  21. package/dist/components/gb-input-dropdown.js +1 -1
  22. package/dist/components/gb-input-field.js +1 -1
  23. package/dist/components/gb-nav-bar-sidemenu.js +17 -17
  24. package/dist/components/gb-nav-bar-sidemenu.js.map +1 -1
  25. package/dist/components/gb-nav-bar.js +5 -6
  26. package/dist/components/gb-nav-bar.js.map +1 -1
  27. package/dist/components/gb-pagination.js +2 -2
  28. package/dist/components/gb-pattern.js +1 -1
  29. package/dist/components/gb-table-header.js +2 -2
  30. package/dist/components/{p-COsrmQKW.js → p-BXkbbpUn.js} +8 -3
  31. package/dist/components/p-BXkbbpUn.js.map +1 -0
  32. package/dist/components/{p-CVXkR4Tz.js → p-CgOO7_b1.js} +3 -3
  33. package/dist/components/p-CgOO7_b1.js.map +1 -0
  34. package/dist/components/{p-C3HFmuv5.js → p-DzH6IqXC.js} +14 -15
  35. package/dist/components/p-DzH6IqXC.js.map +1 -0
  36. package/dist/components/{p-Dyxd6XQs.js → p-nfcky0Wm.js} +3 -3
  37. package/dist/components/{p-Dyxd6XQs.js.map → p-nfcky0Wm.js.map} +1 -1
  38. package/dist/docs.json +2 -2
  39. package/dist/esm/{gb-action-panel_63.entry.js → gb-action-panel_70.entry.js} +323 -39
  40. package/dist/esm/gb-action-panel_70.entry.js.map +1 -0
  41. package/dist/esm/gb-step-base.gb-step-icon-base.entry.js.map +1 -0
  42. package/dist/esm/{gb-featured-icon_3.entry.js → gb-step-base_2.entry.js} +4 -28
  43. package/dist/esm/gb-step-base_2.entry.js.map +1 -0
  44. package/dist/esm/globuscomponents.js +1 -1
  45. package/dist/esm/loader.js +1 -1
  46. package/dist/globuscomponents/gb-step-base.gb-step-icon-base.entry.esm.js.map +1 -0
  47. package/dist/globuscomponents/globuscomponents.esm.js +1 -1
  48. package/dist/globuscomponents/p-544a9500.entry.js +2 -0
  49. package/dist/globuscomponents/{p-1b73d6ca.entry.js.map → p-544a9500.entry.js.map} +1 -1
  50. package/dist/globuscomponents/{p-979c8104.entry.js → p-bc3fce6c.entry.js} +2 -2
  51. package/dist/globuscomponents/p-bc3fce6c.entry.js.map +1 -0
  52. package/dist/types/components/gb-nav-bar/gb-nav-bar.d.ts +2 -1
  53. package/package.json +1 -1
  54. package/dist/cjs/gb-action-panel_63.cjs.entry.js.map +0 -1
  55. package/dist/cjs/gb-empty-state.cjs.entry.js +0 -64
  56. package/dist/cjs/gb-empty-state.cjs.entry.js.map +0 -1
  57. package/dist/cjs/gb-empty-state.entry.cjs.js.map +0 -1
  58. package/dist/cjs/gb-featured-icon.gb-step-base.gb-step-icon-base.entry.cjs.js.map +0 -1
  59. package/dist/cjs/gb-featured-icon_3.cjs.entry.js.map +0 -1
  60. package/dist/cjs/gb-file-type-icon.cjs.entry.js +0 -20
  61. package/dist/cjs/gb-file-type-icon.cjs.entry.js.map +0 -1
  62. package/dist/cjs/gb-file-type-icon.entry.cjs.js.map +0 -1
  63. package/dist/cjs/gb-file-upload-item-base.cjs.entry.js +0 -74
  64. package/dist/cjs/gb-file-upload-item-base.cjs.entry.js.map +0 -1
  65. package/dist/cjs/gb-file-upload-item-base.entry.cjs.js.map +0 -1
  66. package/dist/cjs/gb-illustration.gb-pattern.entry.cjs.js.map +0 -1
  67. package/dist/cjs/gb-illustration_2.cjs.entry.js +0 -121
  68. package/dist/cjs/gb-illustration_2.cjs.entry.js.map +0 -1
  69. package/dist/cjs/gb-progress-bar.cjs.entry.js +0 -22
  70. package/dist/cjs/gb-progress-bar.cjs.entry.js.map +0 -1
  71. package/dist/cjs/gb-progress-bar.entry.cjs.js.map +0 -1
  72. package/dist/components/p-C3HFmuv5.js.map +0 -1
  73. package/dist/components/p-COsrmQKW.js.map +0 -1
  74. package/dist/components/p-CVXkR4Tz.js.map +0 -1
  75. package/dist/esm/gb-action-panel_63.entry.js.map +0 -1
  76. package/dist/esm/gb-empty-state.entry.js +0 -62
  77. package/dist/esm/gb-empty-state.entry.js.map +0 -1
  78. package/dist/esm/gb-featured-icon.gb-step-base.gb-step-icon-base.entry.js.map +0 -1
  79. package/dist/esm/gb-featured-icon_3.entry.js.map +0 -1
  80. package/dist/esm/gb-file-type-icon.entry.js +0 -18
  81. package/dist/esm/gb-file-type-icon.entry.js.map +0 -1
  82. package/dist/esm/gb-file-upload-item-base.entry.js +0 -72
  83. package/dist/esm/gb-file-upload-item-base.entry.js.map +0 -1
  84. package/dist/esm/gb-illustration.gb-pattern.entry.js.map +0 -1
  85. package/dist/esm/gb-illustration_2.entry.js +0 -118
  86. package/dist/esm/gb-illustration_2.entry.js.map +0 -1
  87. package/dist/esm/gb-progress-bar.entry.js +0 -20
  88. package/dist/esm/gb-progress-bar.entry.js.map +0 -1
  89. package/dist/globuscomponents/gb-empty-state.entry.esm.js.map +0 -1
  90. package/dist/globuscomponents/gb-featured-icon.gb-step-base.gb-step-icon-base.entry.esm.js.map +0 -1
  91. package/dist/globuscomponents/gb-file-type-icon.entry.esm.js.map +0 -1
  92. package/dist/globuscomponents/gb-file-upload-item-base.entry.esm.js.map +0 -1
  93. package/dist/globuscomponents/gb-illustration.gb-pattern.entry.esm.js.map +0 -1
  94. package/dist/globuscomponents/gb-progress-bar.entry.esm.js.map +0 -1
  95. package/dist/globuscomponents/p-15da2584.entry.js +0 -2
  96. package/dist/globuscomponents/p-15da2584.entry.js.map +0 -1
  97. package/dist/globuscomponents/p-18ee1c25.entry.js +0 -2
  98. package/dist/globuscomponents/p-18ee1c25.entry.js.map +0 -1
  99. package/dist/globuscomponents/p-1b73d6ca.entry.js +0 -2
  100. package/dist/globuscomponents/p-62e71dc5.entry.js +0 -2
  101. package/dist/globuscomponents/p-62e71dc5.entry.js.map +0 -1
  102. package/dist/globuscomponents/p-979c8104.entry.js.map +0 -1
  103. package/dist/globuscomponents/p-987f9da7.entry.js +0 -2
  104. package/dist/globuscomponents/p-987f9da7.entry.js.map +0 -1
  105. package/dist/globuscomponents/p-b9c1d044.entry.js +0 -2
  106. package/dist/globuscomponents/p-b9c1d044.entry.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"names":["gbActionPanelCss","GbActionPanel","constructor","hostRef","this","showCloseButton","showSelectedRows","showCheckbox","firstButton","firstButtonIconLeading","firstButtonIconTrailing","secondButton","secondButtonIconLeading","secondButtonIconTrailing","thirdButton","thirdButtonIconLeading","thirdButtonIconTrailing","showSubmitButton","submitButtonIconLeadingSwap","submitButtonIconTrailingSwap","firstButtonText","secondButtonText","thirdButtonText","showDraftButton","submitButtonText","showAmount","showFee","amount","fee","checked","componentDidLoad","selectedRows","el","querySelector","label","classList","add","updateButtonState","newValue","internalNextButtonState","componentWillRender","nextButtonState","onCheckboxClicked","event","detail","checkboxClicked","emit","onFirstButtonClicked","firstButtonState","firstButtonClicked","onSecondButtonClicked","secondButtonState","secondButtonClicked","onThirdButtonClicked","thirdButtonState","thirdButtonClicked","onPreviousButtonClicked","previousButtonClicked","onSaveAsDraft","saveAsDraft","draftButton","onSubmitClicked","submitButtonClicked","submitButton","onNextButtonClicked","nextButtonClicked","onCloseButtonClicked","closeButtonClicked","render","h","key","class","type","size","color","onClick","name","state","StateEnum","Default","text","bind","slot","hierarchy","icon","previousButtonState","ref","submitButtonState","gbApprovalModalCss","gbapprovalmodal","showDecision","firstIconButtonSwap","secondIconButtonSwap","firstButtonIconLeadingSwap","secondButtonIconLeadingSwap","thirdButtonIconLeadingSwap","firstButtonIconTrailingSwap","secondButtonIconTrailingSwap","thirdButtonIconTrailingSwap","badgeType","badgeIcon","badgeColor","badgeLabel","idOfInput","destructive","gbAvatarCss","GbAvatar","placeholder","statusIcon","OnlineIndicatorStates","Online","showBorder","weight","BorderWeights","Light","colorClasses","getInitialsSize","setWeight","Regular","VeryLight","applyColorToInitials","getRandomColorClass","randomIndex","Math","floor","random","length","slottedInitials","assignedColorClass","componentWillLoad","toLowerCase","classes","xmlns","width","height","viewBox","fill","d","gbAvatarContrastInnerBorderCss","GbAvatarContrastInnerBorder","Heavy","gbAvatarDropdownCss","GbAvatarDropdown","showRoles","roles","listGroupOne","listGroupTwo","onItemClicked","item","itemClicked","emitTheme","theme","themeTabClicked","nameInitials","supportingTextSlot","showThemeTab","currentTheme","onThemeTabClicked","showProfile","iconSrc","shortcut","shortcutIcon","showLogOut","map","role","replace","gbAvatarLabelGroupCss","GbAvatarLabelGroup","getNameSize","getOtherTextSize","nameSlot","othersSlot","gbAvatarProfilePhotoCss","GbAvatarProfilePhoto","verified","getProfileSize","profileSize","gbBadgeCss","GbBadges","closeButton","getDotColor","colorMap","gray","primary","error","warning","success","discovery","information","pink","purple","iconLeadingSwap","iconLeadingSrc","getAssetPath","leadingIconContent","fetchSvgContent","iconTrailingSwap","iconTrailingSrc","trailingIconContent","src","response","fetch","ok","console","getTextClass","slottedContent","id","badge","flagSwap","dotColor","cx","cy","r","innerHTML","alt","stroke","gbBadgeCloseCss","BadgeClose","gbBtnCss","GbButton","iconLeading","iconTrailing","leadingIconSvg","trailingIconSvg","loadIcon","buttonSlot","style","display","getButtonTextClasses","iconName","iconPath","svg","getButtonClasses","button","disabled","loading","only","renderLeadingIcon","renderTrailingIcon","Fragment","gbButtonCss","tooltipText","arrow","internalButtonState","internalIconLeadingState","internalIconTrailingState","tooltipShown","onMouseEnter","onMouseLeave","gbButtonCloseCss","GbButtonClose","gbButtonGroupCss","GbButtonGroup","items","showLabel","internalItems","selectedValue","onItemsUpdated","handleSelect","index","i","Object","assign","current","optionChange","gbButtonGroupBaseCss","GbButtonGroupBase","indeterminate","gbCheckboxCss","GbCheckbox","supportingText","getMainTextClass","getSupportingTextClass","mainTextSlot","gbCheckboxBaseCss","GbCheckboxBase","renderSVG","renderCheckbox","renderCircle","renderRadio","x","y","rx","toggleCheckboxState","toggleCheckCircleState","toggleRadioButtonState","gbCheckboxGroupItemCss","GbCheckboxGroupItem","showCost","selected","showButton","buttonText","parser","DOMParser","svgDoc","parseFromString","svgElement","documentElement","elementsWithOpacity","querySelectorAll","forEach","modifiedSvg","outerHTML","onButtonClicked","buttonClicked","getLabelSizeClass","getCostSizeClass","getSupportingTextClasses","getLabelColorClasses","getCostColorClasses","componentDidUpdate","labelSlot","costSlot","renderIcon","toggleSelection","groupItemClicked","breakpoint","e","stopPropagation","checkboxType","gbCollapseButtonCss","GbCollapseButton","isCollapsed","action","isHovered","direction","toggleIcon","collapseSidebar","expandSidebar","onMouseOver","onMouseOut","gbComplexPrimarySideBarItemCss","GbComplexPrimarySideBarItem","showTooltip","redBarSrc","whiteBarSrc","redCompactBarSrc","whiteCompactBarSrc","itemStyle","category","gbComplexSecondarySideBarItemCss","GbComplexSecondarySideBarItem","HOOKS","defaults","_disable","allowInput","allowInvalidPreload","altFormat","altInput","altInputClass","animate","window","navigator","userAgent","indexOf","ariaDateFormat","autoFillDefaultTime","clickOpens","closeOnSelect","conjunction","dateFormat","defaultHour","defaultMinute","defaultSeconds","disable","disableMobile","enableSeconds","enableTime","errorHandler","err","warn","getWeek","givenDate","date","Date","getTime","setHours","setDate","getDate","getDay","week1","getFullYear","round","hourIncrement","ignoredFocusElements","inline","locale","minuteIncrement","mode","monthSelectorType","nextArrow","noCalendar","now","onChange","onClose","onDayCreate","onDestroy","onKeyDown","onMonthChange","onOpen","onParseConfig","onReady","onValueUpdate","onYearChange","onPreCalendarPosition","plugins","position","positionElement","undefined","prevArrow","shorthandCurrentMonth","showMonths","static","time_24hr","weekNumbers","wrap","english","weekdays","shorthand","longhand","months","daysInMonth","firstDayOfWeek","ordinal","nth","s","rangeSeparator","weekAbbreviation","scrollTitle","toggleTitle","amPM","yearAriaLabel","monthAriaLabel","hourAriaLabel","minuteAriaLabel","pad","number","slice","int","bool","debounce","fn","wait","t","_this","args","arguments","clearTimeout","setTimeout","apply","arrayify","obj","Array","toggleClass","elem","className","remove","createElement","tag","content","document","textContent","clearNode","node","firstChild","removeChild","findParent","condition","parentNode","createNumberInput","inputClassName","opts","wrapper","numInput","arrowUp","arrowDown","pattern","setAttribute","appendChild","getEventTarget","composedPath","path","target","doNothing","monthToStr","monthNumber","revFormat","D","F","dateObj","monthName","setMonth","G","hour","getHours","parseFloat","H","J","day","K","RegExp","test","M","shortMonth","S","seconds","setSeconds","U","_","unixSeconds","W","weekNum","weekNumber","parseInt","Y","year","setFullYear","Z","ISODate","minutes","setMinutes","j","l","m","month","n","u","unixMillSeconds","w","tokenRegex","formats","toISOString","options","getMonth","getSeconds","getMinutes","String","substring","createDateFormatter","_a","_b","config","_c","l10n","_d","isMobile","frmt","overrideLocale","formatDate","split","c","arr","join","createDateParser","givenFormat","timeless","customLocale","parsedDate","dateOrig","toFixed","format","datestr","trim","parseDate","matched","ops","matchIndex","regexStr","token","isBackSlash","escaped","match","exec","val","isNaN","Error","compareDates","date1","date2","isBetween","ts","ts1","ts2","min","max","calculateSecondsSinceMidnight","hours","parseSeconds","secondsSinceMidnight","duration","DAY","getDefaultHours","minDate","minHour","minMinutes","minSeconds","maxDate","maxHr","maxMinutes","_i","TypeError","_loop_1","source","keys","args_1","__assign","p","prototype","hasOwnProperty","call","__spreadArrays","il","k","a","jl","DEBOUNCED_CHANGE_MS","FlatpickrInstance","element","instanceConfig","self","defaultOptions","flatpickr","defaultConfig","English","_handlers","pluginElements","loadedPlugins","_bind","_setHoursFromDate","setHoursFromDate","_positionCalendar","positionCalendar","changeMonth","changeYear","clear","close","_createElement","createDay","destroy","isEnabled","jumpToDate","updateValue","open","redraw","set","toggle","setupHelperFunctions","utils","getDaysInMonth","yr","currentMonth","currentYear","init","input","isOpen","parseConfig","setupLocale","setupInputs","setupDates","build","bindEvents","selectedDates","latestSelectedDateObj","setCalendarWidth","isSafari","triggerEvent","getClosestActiveElement","calendarContainer","getRootNode","activeElement","bindToInstance","requestAnimationFrame","visibility","daysContainer","daysWidth","days","offsetWidth","weekWrapper","removeProperty","updateTime","defaultDate","getMilliseconds","timeWrapper","prevValue","_input","value","setHoursFromInputs","_debouncedChange","ampm2military","military2ampm","hourElement","minuteElement","secondElement","limitMinHours","minTime","minDateHasTime","limitMaxHours","maxTime","maxDateHasTime","minBound","maxBound","currentTime","result","onYearInput","eventTarget","delta","toString","handler","ev","addEventListener","push","removeEventListener","triggerChange","evt","setupMobile","debouncedResize","onResize","ontouchstart","documentClick","capture","monthNav","onMonthNavClick","selectDate","timeContainer","selText","select","timeIncrement","onBlur","jumpDate","jumpTo","oldYear","oldMonth","message","buildMonthSwitch","incrementNumInput","contains","inputElem","createEvent","dispatchEvent","fragment","createDocumentFragment","tabIndex","buildMonthNav","innerContainer","buildWeeks","rContainer","buildWeekdays","buildDays","buildTime","customAppend","appendTo","nodeType","insertBefore","nextSibling","body","_dayNumber","dateIsEnabled","dayElement","$i","todayDateElem","isDateSelected","selectedDateElem","isDateInRange","insertAdjacentHTML","focusOnDayElem","targetNode","focus","getFirstAvailableDay","startMonth","endMonth","children","startIndex","endIndex","getNextAvailableDay","givenMonth","loopDelta","numMonthDays","abs","focusOnDay","offset","dayFocused","isInView","startElem","buildMonthDays","firstOfMonth","prevMonthDays","isMultiMonth","prevMonthDayClass","nextMonthDayClass","dayNumber","dayIndex","dayNum","dayContainer","frag","shouldBuildMonth","monthsDropdownContainer","buildMonth","container","monthNavFragment","monthElement","selectedMonth","yearInput","tabindex","yearElement","getElementsByTagName","buildMonths","prevMonthNav","yearElements","monthElements","nextMonthNav","defineProperty","get","__hidePrevMonthArrow","__hideNextMonthArrow","currentYearElement","updateNavigationCurrentMonth","separator","hourInput","minuteInput","secondInput","getAttribute","title","weekdayContainer","updateWeekdays","splice","isOffset","_hidePrevMonthArrow","_hideNextMonthArrow","triggerChangeEvent","toInitial","mobileInput","_initialDate","lastChild","_type","removeAttribute","isCalendarElem","eventTarget_1","isCalendarElement","isInput","lostFocus","relatedTarget","isIgnored","some","newYear","newYearNum","isNewYear","dateToCheck","enable","array","parsed","from","to","valueChanged","trimEnd","getDateStr","allowKeydown","allowInlineKeydown","keyCode","blur","isTimeObj","preventDefault","focusAndClose","delta_1","ctrlKey","elems","concat","filter","shiftKey","charAt","cellClass","hoverDate","firstElementChild","initialDate","rangeStartDate","rangeEndDate","containsDisabled","minRange","maxRange","hoverableCells","dayElem","timestamp","outOfRange","_positionElement","click","wasOpen","minMaxDateSetter","inverseDateObj","boolOpts","userConfig","JSON","parse","stringify","dataset","_enable","dates","parseDateRules","timeMode","defaultDateFormat","defaultAltFormat","_minDate","_maxDate","minMaxTimeSetter","_minTime","_maxTime","hook","pluginConf","getInputElem","l10ns","default","customPositionElement","calendarHeight","reduce","acc","child","offsetHeight","calendarWidth","configPos","configPosVertical","configPosHorizontal","inputBounds","getBoundingClientRect","distanceFromBottom","innerHeight","bottom","showOnTop","top","pageYOffset","left","pageXOffset","isCenter","isRight","right","rightMost","centerMost","doc","getDocumentStyleSheet","bodyWidth","centerLeft","centerBefore","centerAfter","centerIndex","cssRules","centerStyle","insertRule","editableSheet","styleSheets","sheet","createStyleSheet","head","msMaxTouchPoints","isSelectable","selectedDate","shouldChangeMonth","selectedIndex","sort","b","single","range","CALLBACKS","updatePositionElement","option","setSelectedDate","inputDate","rule","preloadedDate","nodeName","required","inputType","mobileFormatStr","defaultValue","step","data","hooks","initEvent","specificFormat","dObj","isPrevMonth","isNextMonth","isKeyDown","curValue","which","isHourElem","isMinuteElem","_flatpickr","nodeList","nodes","HTMLElement","instances","HTMLCollection","NodeList","selector","Node","en","localize","setDefaults","jQuery","fp_incr","gbDatePickerCss","GbDatePicker","iconPosition","dropdownAlignment","isCalendarShown","initializePicker","disconnectedCallback","picker","shadowRoot","inputEl","formattedRange","dateChange","formattedDate","dateStr","toggleCalendar","calendarEl","gbDropdownItemsWithShortcutCss","GbDropdownShortcut","checkbox","pathsWithOpacity","gbExportDropdownCss","GbExportDropdown","showEntireData","showFirstSubDropdown","showSecondSubDropdown","pdfState","csvState","onExportClicked","exportType","dataType","exportClicked","gbExportDropdownItemCss","GbExportDropdownItem","opacity","gbExportSubDropdownCss","GbExportSubDropdown","labelOneSlot","labelTwoSlot","labelThreeSlot","gbExportSubDropdownItemCss","GbExportSubDropdownItem","gbFilterButtonCss","GbFilterButton","iconOnly","countSlot","gbHeaderCss","GbHeader","showIndicator","showNotification","showHelp","showLogo","logo","showSearch","inputPlaceholder","inputIcon","avatarDropdownType","showLogError","notifications","avatarDropdownShown","notificationDropdownShown","helpDropdownShown","initials","onSearch","inputValueChanged","handleClickOutside","helpDropdownItemClicked","helpItemClicked","tab","onAvatarDropdownItemClicked","log","avatarDropdownItemClicked","onNotificationDropdownItemClicked","renderLogo","logoSrc","helpIconSrc","notificationIconSrc","onInputValueChanged","onHelpItemClicked","notificationState","avatarDropdown","gbHeaderIconCss","GbHeaderIcon","Disabled","gbHelpDropdownCss","GbHelpDropdown","gbHelpTooltipCss","GbHelpTooltip","showHelpTooltip","showArrow","showSupportingText","gbIconButtonBaseCss","GbIconButtonBase","gbInputDropdownCss","GbInputDropdown","hintText","showLeadingIcon","iconSwap","leadingIcon","showSearchInput","errorText","formatLabel","dropdownOpen","selectedItems","unselectedItems","internalLoading","clearSelection","selectedItem","isDestructive","isNotDestructive","clearInput","inputRef","inputValue","updateResultsAndShowInDropdown","newItems","onLoadingChanged","newLoading","emitInputValueToUseForSearch","searchItemsInDropdownMenu","searchItem","searchResults","includes","watchDestructive","toggleDropdown","isItemSelected","isObject","getAvatarSize","sortDropdownItems","menuItems","handleItemSelect","selectMultipleItems","dropdownItemSelected","singleItemSelect","isSelected","handleTagRemove","isArray","objectValues","primitiveValues","emptyStateBackground","illustration","toUpperCase","part","onInput","username","showHelpIcon","menuPosition","dropdownRef","labelText","showHintText","gbInputDropdownMenuItemCss","GbInputDropdownMenuItem","initialsSlot","handleClick","dropdownItemClicked","gbInputFieldCss","GbInputField","showPlaceholder","showValidation","showCountryIcon","enableCancelButtonFunction","isReadOnly","results","formatNumber","tags","isPasswordVisible","showDropdown","paddingLeft","paddingTop","show","showSpinner","minWidth","handleNumericKeyDown","allowed","metaKey","isDigit","handleNumericPaste","clipboard","clipboardData","getData","sanitized","start","selectionStart","end","selectionEnd","newVal","Event","bubbles","formResetCallback","internals","setValidity","setFormValue","handleTagInput","updateInputWidth","selectDropdownItem","objectName","updateStyles","resultsDisplayElement","resultsWidth","inputWidth","inputElement","exportSelectedStaff","onPlusButtonClicked","plusButtonClicked","onMinusButtonClicked","minusButtonClicked","handleInput","raw","formatNumberWithCommas","emittedValue","combined","prefix","parts","handleInputFocus","togglePasswordVisibility","optionsChanged","newOptions","isTagItemSelected","updateSelectedItems","textSlot","hiddenSpan","calculatedWidth","handleWrapperClick","inputMode","minLength","maxLength","onFocus","onPaste","inputGroupElement","readOnly","objectValue","gbModalActionCss","GbModalAction","actionType","fullWidth","showSecondaryAction","showFirstButton","showSecondButton","showThirdButton","showFirstIconButton","showSecondIconButton","showCheckBox","checkboxLabel","firstIconButtonTooltipShown","secondIconButtonTooltipShown","renderMultiple","renderDouble","renderSingle","gbModalHeaderCss","GbModalHeader","closeButtonPosition","buttonClass","titleClass","gbNavBarCss","GbNavBar","activeIndex","visibleItems","overflowItems","measured","handleResize","calculateOverflow","onTabItemClicked","clicked","navBarItemClicked","onItemsChanged","_oldValue","hiddenContainer","containerWidth","containerEl","usedWidth","visible","hidden","allItems","itemWidth","patternSrc","overflow","pointerEvents","gbNavBarItemCss","GbNavBarItem","gWithOpacity","g","gbNavBarSidemenuCss","GbNavBarSidemenu","applicationName","applicationIcon","tabs","gbNotificationContentCss","GbNotificationContent","time","gbNotificationPaneCss","GbNotificationPane","markAllAsRead","illustrationSrc","notification","desc","gbPaginationCss","GbPagination","currentPage","entries","selectedPageSize","pages","innerWidth","updatePaginationSize","internalTotalPages","pageItemSelected","pageSize","pageNumber","totalPages","defaultSelected","generatePages","tempPages","onTotalPagesChange","handlePageSizeSelect","setCurrentPage","page","shape","onDropdownItemSelected","gbPaginationButtonGroupBaseCss","GbPaginationButtonGroupBase","gbPaginationNumberBaseCss","GbPaginationNumberBase","gbPasswordButtonCss","GbPasswordButton","gbSidebarCss","GbSidebar","showSecondCategory","iconInstance","firstItemIcon","secondItemIcon","thirdItemIcon","fourthItemIcon","fifthItemIcon","sixthItemIcon","seventhItemIcon","eighthItemIcon","ninthItemIcon","tenthItemIcon","firstItemLabel","secondItemLabel","thirdItemLabel","fourthItemLabel","fifthItemLabel","sixthItemLabel","seventhItemLabel","eighthItemLabel","ninthItemLabel","tenthItemLabel","complexSidebarData","activePrimaryItem","activeSecondaryItem","hasInfo","email","phoneNumber","isDarkTheme","collapseSideBar","sidebarState","expandSideBar","sideBarItemClicked","simpleSidebarItemClicked","handlePrimaryClick","_index","handleSecondaryClick","changeTheme","matchMedia","matches","blueLogoSrc","navItemStyle","primaryItem","secondaryItem","gbSimpleSideBarItemCss","GbSimpleSideBarItem","showBadge","internalIcon","updateSidebarIcon","onSideBarItemClicked","gbStatusIndicatorCss","GbStatusIndicator","Offline","indicatorStateClass","gbTabButtonBaseCss","GbTabButtonBase","tabName","getTextClasses","getCurrentTextClasses","getCountTextClasses","tabCount","tabClicked","alignment","gbTableHeaderCss","GbTableHeader","showFilter","showColumnOptions","tableHeading","showExport","showRefreshButton","tableHeadingLabel","showLayoutToggle","filterCount","exportButtonState","showDateFilter","dateItems","datePickerPlaceholder","exportDropdownPosition","showExportDropdown","isDatePickerShown","updateButtonIcon","unshift","extractDropdownItemSelected","emitDateSelected","buttonIcon","emitValue","onFilterButtonClicked","filterButtonClicked","emitSelection","selection","onRefreshButtonClicked","refreshButtonClicked","onLayoutButtonClicked","layout","layoutButtonClicked","onDateChange","onOptionChange","filterState","exportDropdown","gbTagCss","GbTag","onTagClose","gbTagCheckboxCss","GbTagCheckbox","gbTagCloseCss","GbTagClose","gbTagCountCss","GbTagCount","gbTextareaInputFieldCss","GbTextareaInputField","placeholderText","selectedStaff","staffInfo","connectedCallback","textarea","scrollHeight","textareaValueChanged","emitInputValue","mockStaffSearch","query","mockData","staff","selectStaff","gbThemeTabCss","GbThemeTab","currentActiveTab","systemIconSrc","sunSrc","moonSrc","gbToastCss","GbToast","mainText","xCloseButton","actions","onColorChange","internalColor","closeToast","gbToastButtonCss","GbToastButton","gbToggleCss","GbToggle","pressed","onToggle","toggleClicked","mainDiv","onToggleClicked","gbToggleBaseCss","GbToggleBase","handleToggleClick","readonly","htmlFor","gbTooltipCss","GbTooltip","noWrap","getArrowClass","gbVerticalTabsCss","GbVerticalTabs","internalTabs","onTabsChanged","newTabs","handleTabClick","tabItemClicked"],"sources":["src/components/gb-action-panel/gb-action-panel.css?tag=gb-action-panel&encapsulation=shadow","src/components/gb-action-panel/gb-action-panel.tsx","src/components/gb-approval-modal/gb-approval-modal.css?tag=gb-approval-modal&encapsulation=shadow","src/components/gb-approval-modal/gb-approval-modal.tsx","src/components/gb-avatar/gb-avatar.css?tag=gb-avatar&encapsulation=shadow","src/components/gb-avatar/gb-avatar.tsx","src/components/gb-avatar-contrast-inner-border/gb-avatar-contrast-inner-border.css?tag=gb-avatar-contrast-inner-border&encapsulation=shadow","src/components/gb-avatar-contrast-inner-border/gb-avatar-contrast-inner-border.tsx","src/components/gb-avatar-dropdown/gb-avatar-dropdown.css?tag=gb-avatar-dropdown&encapsulation=shadow","src/components/gb-avatar-dropdown/gb-avatar-dropdown.tsx","src/components/gb-avatar-label-group/gb-avatar-label-group.css?tag=gb-avatar-label-group&encapsulation=shadow","src/components/gb-avatar-label-group/gb-avatar-label-group.tsx","src/components/gb-avatar-profile-photo/gb-avatar-profile-photo.css?tag=gb-avatar-profile-photo&encapsulation=shadow","src/components/gb-avatar-profile-photo/gb-avatar-profile-photo.tsx","src/components/gb-badge/gb-badge.css?tag=gb-badge&encapsulation=shadow","src/components/gb-badge/gb-badge.tsx","src/components/gb-badge-close/gb-badge-close.css?tag=gb-badge-close&encapsulation=shadow","src/components/gb-badge-close/gb-badge-close.tsx","src/components/gb-btn/gb-btn.css?tag=gb-btn","src/components/gb-btn/gb-btn.tsx","src/components/gb-button/gb-button.css?tag=gb-button&encapsulation=shadow","src/components/gb-button/gb-button.tsx","src/components/gb-button-close/gb-button-close.css?tag=gb-button-close&encapsulation=shadow","src/components/gb-button-close/gb-button-close.tsx","src/components/gb-button-group/gb-button-group.css?tag=gb-button-group&encapsulation=shadow","src/components/gb-button-group/gb-button-group.tsx","src/components/gb-button-group-base/gb-button-group-base.css?tag=gb-button-group-base&encapsulation=shadow","src/components/gb-button-group-base/gb-button-group-base.tsx","src/components/gb-checkbox/gb-checkbox.css?tag=gb-checkbox&encapsulation=shadow","src/components/gb-checkbox/gb-checkbox.tsx","src/components/gb-checkbox-base/gb-checkbox-base.css?tag=gb-checkbox-base&encapsulation=shadow","src/components/gb-checkbox-base/gb-checkbox-base.tsx","src/components/gb-checkbox-group-item/gb-checkbox-group-item.css?tag=gb-checkbox-group-item&encapsulation=shadow","src/components/gb-checkbox-group-item/gb-checkbox-group-item.tsx","src/components/gb-collapse-button/gb-collapse-button.css?tag=gb-collapse-button&encapsulation=shadow","src/components/gb-collapse-button/gb-collapse-button.tsx","src/components/gb-complex-primary-side-bar-item/gb-complex-primary-side-bar-item.css?tag=gb-complex-primary-side-bar-item&encapsulation=shadow","src/components/gb-complex-primary-side-bar-item/gb-complex-primary-side-bar-item.tsx","src/components/gb-complex-secondary-side-bar-item/gb-complex-secondary-side-bar-item.css?tag=gb-complex-secondary-side-bar-item&encapsulation=shadow","src/components/gb-complex-secondary-side-bar-item/gb-complex-secondary-side-bar-item.tsx","node_modules/flatpickr/dist/esm/types/options.js","node_modules/flatpickr/dist/esm/l10n/default.js","node_modules/flatpickr/dist/esm/utils/index.js","node_modules/flatpickr/dist/esm/utils/dom.js","node_modules/flatpickr/dist/esm/utils/formatting.js","node_modules/flatpickr/dist/esm/utils/dates.js","node_modules/flatpickr/dist/esm/utils/polyfills.js","node_modules/flatpickr/dist/esm/index.js","src/components/gb-date-picker/gb-date-picker.css?tag=gb-date-picker&encapsulation=shadow","src/components/gb-date-picker/gb-date-picker.tsx","src/components/gb-dropdown-items-with-shortcut/gb-dropdown-items-with-shortcut.css?tag=gb-dropdown-items-with-shortcut&encapsulation=shadow","src/components/gb-dropdown-items-with-shortcut/gb-dropdown-items-with-shortcut.tsx","src/components/gb-export-dropdown/gb-export-dropdown.css?tag=gb-export-dropdown&encapsulation=shadow","src/components/gb-export-dropdown/gb-export-dropdown.tsx","src/components/gb-export-dropdown-item/gb-export-dropdown-item.css?tag=gb-export-dropdown-item&encapsulation=shadow","src/components/gb-export-dropdown-item/gb-export-dropdown-item.tsx","src/components/gb-export-sub-dropdown/gb-export-sub-dropdown.css?tag=gb-export-sub-dropdown&encapsulation=shadow","src/components/gb-export-sub-dropdown/gb-export-sub-dropdown.tsx","src/components/gb-export-sub-dropdown-item/gb-export-sub-dropdown-item.css?tag=gb-export-sub-dropdown-item&encapsulation=shadow","src/components/gb-export-sub-dropdown-item/gb-export-sub-dropdown-item.tsx","src/components/gb-filter-button/gb-filter-button.css?tag=gb-filter-button&encapsulation=shadow","src/components/gb-filter-button/gb-filter-button.tsx","src/components/gb-header/gb-header.css?tag=gb-header&encapsulation=shadow","src/components/gb-header/gb-header.tsx","src/components/gb-header-icon/gb-header-icon.css?tag=gb-header-icon&encapsulation=shadow","src/components/gb-header-icon/gb-header-icon.tsx","src/components/gb-help-dropdown/gb-help-dropdown.css?tag=gb-help-dropdown&encapsulation=shadow","src/components/gb-help-dropdown/gb-help-dropdown.tsx","src/components/gb-help-tooltip/gb-help-tooltip.css?tag=gb-help-tooltip&encapsulation=shadow","src/components/gb-help-tooltip/gb-help-tooltip.tsx","src/components/gb-icon-button-base/gb-icon-button-base.css?tag=gb-icon-button-base&encapsulation=shadow","src/components/gb-icon-button-base/gb-icon-button-base.tsx","src/components/gb-input-dropdown/gb-input-dropdown.css?tag=gb-input-dropdown&encapsulation=shadow","src/components/gb-input-dropdown/gb-input-dropdown.tsx","src/components/gb-input-dropdown-menu-item/gb-input-dropdown-menu-item.css?tag=gb-input-dropdown-menu-item&encapsulation=shadow","src/components/gb-input-dropdown-menu-item/gb-input-dropdown-menu-item.tsx","src/components/gb-input-field/gb-input-field.css?tag=gb-input-field&encapsulation=shadow","src/components/gb-input-field/gb-input-field.tsx","src/components/gb-modal-action/gb-modal-action.css?tag=gb-modal-action&encapsulation=shadow","src/components/gb-modal-action/gb-modal-action.tsx","src/components/gb-modal-header/gb-modal-header.css?tag=gb-modal-header&encapsulation=shadow","src/components/gb-modal-header/gb-modal-header.tsx","src/components/gb-nav-bar/gb-nav-bar.css?tag=gb-nav-bar&encapsulation=shadow","src/components/gb-nav-bar/gb-nav-bar.tsx","src/components/gb-nav-bar-item/gb-nav-bar-item.css?tag=gb-nav-bar-item&encapsulation=shadow","src/components/gb-nav-bar-item/gb-nav-bar-item.tsx","src/components/gb-nav-bar-sidemenu/gb-nav-bar-sidemenu.css?tag=gb-nav-bar-sidemenu&encapsulation=shadow","src/components/gb-nav-bar-sidemenu/gb-nav-bar-sidemenu.tsx","src/components/gb-notification-content/gb-notification-content.css?tag=gb-notification-content&encapsulation=shadow","src/components/gb-notification-content/gb-notification-content.tsx","src/components/gb-notification-pane/gb-notification-pane.css?tag=gb-notification-pane&encapsulation=shadow","src/components/gb-notification-pane/gb-notification-pane.tsx","src/components/gb-pagination/gb-pagination.css?tag=gb-pagination&encapsulation=shadow","src/components/gb-pagination/gb-pagination.tsx","src/components/gb-pagination-button-group-base/gb-pagination-button-group-base.css?tag=gb-pagination-button-group-base&encapsulation=shadow","src/components/gb-pagination-button-group-base/gb-pagination-button-group-base.tsx","src/components/gb-pagination-number-base/gb-pagination-number-base.css?tag=gb-pagination-number-base&encapsulation=shadow","src/components/gb-pagination-number-base/gb-pagination-number-base.tsx","src/components/gb-password-button/gb-password-button.css?tag=gb-password-button&encapsulation=shadow","src/components/gb-password-button/gb-password-button.tsx","src/components/gb-sidebar/gb-sidebar.css?tag=gb-sidebar&encapsulation=shadow","src/components/gb-sidebar/gb-sidebar.tsx","src/components/gb-simple-side-bar-item/gb-simple-side-bar-item.css?tag=gb-simple-side-bar-item&encapsulation=shadow","src/components/gb-simple-side-bar-item/gb-simple-side-bar-item.tsx","src/components/gb-status-indicator/gb-status-indicator.css?tag=gb-status-indicator&encapsulation=shadow","src/components/gb-status-indicator/gb-status-indicator.tsx","src/components/gb-tab-button-base/gb-tab-button-base.css?tag=gb-tab-button-base&encapsulation=shadow","src/components/gb-tab-button-base/gb-tab-button-base.tsx","src/components/gb-table-header/gb-table-header.css?tag=gb-table-header&encapsulation=shadow","src/components/gb-table-header/gb-table-header.tsx","src/components/gb-tag/gb-tag.css?tag=gb-tag&encapsulation=shadow","src/components/gb-tag/gb-tag.tsx","src/components/gb-tag-checkbox/gb-tag-checkbox.css?tag=gb-tag-checkbox&encapsulation=shadow","src/components/gb-tag-checkbox/gb-tag-checkbox.tsx","src/components/gb-tag-close/gb-tag-close.css?tag=gb-tag-close&encapsulation=shadow","src/components/gb-tag-close/gb-tag-close.tsx","src/components/gb-tag-count/gb-tag-count.css?tag=gb-tag-count&encapsulation=shadow","src/components/gb-tag-count/gb-tag-count.tsx","src/components/gb-textarea-input-field/gb-textarea-input-field.css?tag=gb-textarea-input-field&encapsulation=shadow","src/components/gb-textarea-input-field/gb-textarea-input-field.tsx","src/components/gb-theme-tab/gb-theme-tab.css?tag=gb-theme-tab&encapsulation=shadow","src/components/gb-theme-tab/gb-theme-tab.tsx","src/components/gb-toast/gb-toast.css?tag=gb-toast&encapsulation=shadow","src/components/gb-toast/gb-toast.tsx","src/components/gb-toast-button/gb-toast-button.css?tag=gb-toast-button&encapsulation=shadow","src/components/gb-toast-button/gb-toast-button.tsx","src/components/gb-toggle/gb-toggle.css?tag=gb-toggle&encapsulation=shadow","src/components/gb-toggle/gb-toggle.tsx","src/components/gb-toggle-base/gb-toggle-base.css?tag=gb-toggle-base&encapsulation=shadow","src/components/gb-toggle-base/gb-toggle-base.tsx","src/components/gb-tooltip/gb-tooltip.css?tag=gb-tooltip&encapsulation=shadow","src/components/gb-tooltip/gb-tooltip.tsx","src/components/gb-vertical-tabs/gb-vertical-tabs.css?tag=gb-vertical-tabs&encapsulation=shadow","src/components/gb-vertical-tabs/gb-vertical-tabs.tsx"],"sourcesContent":["@import './../../global/global.css';\r\n\r\n.action_panel_div {\r\n display: flex;\r\n width: 100%;\r\n padding: var(--spacing-none) 0rem 0rem 0rem;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: flex-start;\r\n border-top: 1px solid var(--color-border-subtler, #e3e8ef);\r\n background: var(--color-background-card, #fff);\r\n}\r\n\r\n.panel_content {\r\n display: flex;\r\n flex-wrap: wrap;\r\n padding: var(--spacing-4) var(--spacing-7);\r\n justify-content: space-between;\r\n align-items: center;\r\n gap: var(--spacing-5);\r\n align-self: stretch;\r\n}\r\n\r\n.left_action {\r\n display: flex;\r\n gap: var(--spacing-5);\r\n align-items: center;\r\n flex-wrap: wrap;\r\n}\r\n\r\n.rows_and_close_button {\r\n display: flex;\r\n align-items: center;\r\n gap: var(--spacing-5);\r\n}\r\n\r\n.amount {\r\n display: flex;\r\n gap: var(--spacing-2);\r\n}\r\n\r\n.amount_heading {\r\n color: var(--color-text-subtle, #697586);\r\n}\r\n\r\n.amount_text {\r\n color: var(--color-text, #4b5565);\r\n}\r\n\r\n.right_action {\r\n display: flex;\r\n flex-direction: row-reverse;\r\n /* justify-content: flex-end; */\r\n align-items: center;\r\n gap: var(--spacing-5);\r\n width: 100%;\r\n flex: 1 0 0;\r\n}\r\n\r\n::slotted([slot='selected_rows']) {\r\n color: var(--color-text, #4b5565);\r\n}\r\n\r\n/**/\r\n.actions {\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n flex: 1 0 0;\r\n}\r\n\r\n.right {\r\n display: flex;\r\n justify-content: flex-end;\r\n align-items: center;\r\n gap: var(--spacing-6);\r\n}\r\n\r\n@media (max-width: 940px) {\r\n .right_action {\r\n flex-wrap: wrap;\r\n }\r\n}\r\n\r\n@media (max-width: 468px) {\r\n .panel_content {\r\n padding: var(--spacing-4) var(--spacing-5);\r\n }\r\n\r\n .three_buttons .button_divs {\r\n width: 100%;\r\n }\r\n\r\n .actions {\r\n flex-direction: column;\r\n gap: var(--spacing-4);\r\n }\r\n\r\n .actions .button_divs {\r\n width: 100%;\r\n }\r\n\r\n .right {\r\n width: 100%;\r\n gap: var(--spacing-4);\r\n }\r\n\r\n .actions .right .button_divs {\r\n width: 100%;\r\n }\r\n\r\n .right {\r\n flex-direction: column;\r\n }\r\n}\r\n\r\n@media (max-width: 420px) {\r\n .right_action {\r\n justify-content: space-between;\r\n }\r\n\r\n .right_action .button_divs {\r\n flex: 1 0 0;\r\n }\r\n}\r\n","import { Component, Element, Event, EventEmitter, Prop, State, Watch, h } from '@stencil/core';\r\nimport { StateEnum, StateType } from '../../models/reusableModels';\r\n\r\n@Component({\r\n tag: 'gb-action-panel',\r\n styleUrl: 'gb-action-panel.css',\r\n shadow: true,\r\n})\r\nexport class GbActionPanel {\r\n @Prop() type!: 'decision_panel' | 'form_control';\r\n @Prop() showCloseButton: boolean = false;\r\n @Prop() showSelectedRows: boolean = false;\r\n @Prop() showCheckbox: boolean = false;\r\n @Prop() firstButton: boolean = false;\r\n @Prop() firstButtonIconLeading: string = '';\r\n @Prop() firstButtonIconTrailing: string = '';\r\n @Prop() secondButton: boolean = false;\r\n @Prop() secondButtonIconLeading: string = '';\r\n @Prop() secondButtonIconTrailing: string = '';\r\n @Prop() thirdButton: boolean = false;\r\n @Prop() thirdButtonIconLeading: string = '';\r\n @Prop() thirdButtonIconTrailing: string = '';\r\n @Prop() showSubmitButton: boolean = false;\r\n @Prop() submitButtonIconLeadingSwap: string = '';\r\n @Prop() submitButtonIconTrailingSwap: string = '';\r\n @Prop() submitButtonState: StateType;\r\n @Prop() firstButtonText: string = '';\r\n @Prop() secondButtonText: string = '';\r\n @Prop() thirdButtonText: string = '';\r\n @Prop() firstButtonState: StateType;\r\n @Prop() secondButtonState: StateType;\r\n @Prop() thirdButtonState: StateType;\r\n @Prop() previousButtonState: StateType;\r\n @Prop() nextButtonState: StateType;\r\n @Prop() showDraftButton: boolean = false;\r\n @Prop() submitButtonText: string = '';\r\n @Prop() showAmount: boolean = false;\r\n @Prop() showFee: boolean = false;\r\n @Prop() amount: string = '';\r\n @Prop() fee: string = '';\r\n @State() checked: any = false;\r\n @State() internalNextButtonState: StateType;\r\n @Event() firstButtonClicked: EventEmitter<void>;\r\n @Event() secondButtonClicked: EventEmitter<void>;\r\n @Event() thirdButtonClicked: EventEmitter<void>;\r\n @Event() previousButtonClicked: EventEmitter<void>;\r\n @Event() saveAsDraft: EventEmitter<HTMLElement>;\r\n @Event() submitButtonClicked: EventEmitter<HTMLElement>;\r\n @Event() nextButtonClicked: EventEmitter<void>;\r\n @Event() checkboxClicked: EventEmitter<void>;\r\n @Event() closeButtonClicked: EventEmitter<void>;\r\n @Element() el: HTMLElement;\r\n\r\n draftButton: HTMLElement;\r\n submitButton: HTMLElement;\r\n\r\n componentDidLoad() {\r\n const selectedRows = this.el.querySelector('[slot=\"selected_rows\"]');\r\n const label = this.el.querySelector('[slot=\"label\"]');\r\n\r\n if (selectedRows) {\r\n selectedRows.classList.add('text-md-medium');\r\n }\r\n\r\n if (label) {\r\n label.classList.add('text-md-medium');\r\n }\r\n }\r\n\r\n @Watch('state')\r\n updateButtonState(newValue: StateType) {\r\n this.internalNextButtonState = newValue;\r\n }\r\n\r\n componentWillRender() {\r\n this.internalNextButtonState = this.nextButtonState;\r\n }\r\n\r\n onCheckboxClicked(event) {\r\n this.checked = event.detail;\r\n this.checkboxClicked.emit(this.checked);\r\n }\r\n\r\n onFirstButtonClicked() {\r\n if (this.firstButtonState === 'default') {\r\n if (this.showCheckbox) {\r\n this.firstButtonClicked.emit(this.checked);\r\n } else {\r\n this.firstButtonClicked.emit();\r\n }\r\n } else {\r\n return;\r\n }\r\n }\r\n\r\n onSecondButtonClicked() {\r\n if (this.secondButtonState === 'default') {\r\n if (this.showCheckbox) {\r\n this.secondButtonClicked.emit(this.checked);\r\n } else {\r\n this.secondButtonClicked.emit();\r\n }\r\n }\r\n }\r\n\r\n onThirdButtonClicked() {\r\n if (this.thirdButtonState === 'default') {\r\n if (this.showCheckbox) {\r\n this.thirdButtonClicked.emit(this.checked);\r\n } else {\r\n this.thirdButtonClicked.emit();\r\n }\r\n }\r\n }\r\n\r\n onPreviousButtonClicked() {\r\n this.previousButtonClicked.emit();\r\n }\r\n\r\n onSaveAsDraft() {\r\n this.saveAsDraft.emit(this.draftButton);\r\n }\r\n\r\n onSubmitClicked() {\r\n this.submitButtonClicked.emit(this.submitButton);\r\n }\r\n\r\n onNextButtonClicked() {\r\n this.nextButtonClicked.emit();\r\n }\r\n\r\n onCloseButtonClicked() {\r\n this.closeButtonClicked.emit();\r\n }\r\n\r\n render() {\r\n return (\r\n <div class=\"action_panel_div\">\r\n {this.type === 'decision_panel' && (\r\n <div class=\"panel_content\">\r\n <div class=\"left_action\">\r\n <div class=\"rows_and_close_button\">\r\n {this.showCloseButton && <gb-button-close size=\"md\" color=\"primary\" onClick={() => this.onCloseButtonClicked()}></gb-button-close>}\r\n {this.showSelectedRows && <slot name=\"selected_rows\"></slot>}\r\n </div>\r\n {this.showCheckbox && (\r\n <gb-checkbox size=\"md\" state={StateEnum.Default} type=\"checkbox\" text={true} supporting-text={false} onCheckboxClicked={this.onCheckboxClicked.bind(this)}>\r\n <slot name=\"label\" slot=\"label\"></slot>\r\n </gb-checkbox>\r\n )}\r\n {this.showAmount && (\r\n <div class=\"amount\">\r\n <p class=\"amount_heading text-sm-medium\">Total amount:</p>\r\n <p class=\"amount_text text-lg-semi-bold\">{this.amount}</p>\r\n </div>\r\n )}\r\n {this.showFee && (\r\n <div class=\"amount\">\r\n <p class=\"amount_heading text-sm-medium\">Total fee:</p>\r\n <p class=\"amount_text text-lg-semi-bold\">{this.fee}</p>\r\n </div>\r\n )}\r\n </div>\r\n <div class={`right_action ${this.firstButton && this.secondButton && this.thirdButton && 'three_buttons'}`}>\r\n {this.firstButton && (\r\n <div class=\"button_divs\">\r\n <gb-button\r\n size=\"xl\"\r\n state={this.firstButtonState}\r\n hierarchy=\"primary\"\r\n icon=\"default\"\r\n icon-leading={this.firstButtonIconLeading ? true : false}\r\n icon-trailing={this.firstButtonIconTrailing ? true : false}\r\n icon-leading-swap={this.firstButtonIconLeading}\r\n icon-trailing-swap={this.firstButtonIconTrailing}\r\n onClick={() => this.onFirstButtonClicked()}\r\n >\r\n <p>{this.firstButtonText}</p>\r\n </gb-button>\r\n </div>\r\n )}\r\n {this.secondButton && (\r\n <div class=\"button_divs\">\r\n <gb-button\r\n size=\"xl\"\r\n state={this.secondButtonState}\r\n hierarchy=\"secondary_color\"\r\n icon=\"default\"\r\n icon-leading={this.secondButtonIconLeading ? true : false}\r\n icon-trailing={this.secondButtonIconTrailing ? true : false}\r\n icon-leading-swap={this.secondButtonIconLeading}\r\n icon-trailing-swap={this.secondButtonIconTrailing}\r\n onClick={() => this.onSecondButtonClicked()}\r\n >\r\n <p>{this.secondButtonText}</p>\r\n </gb-button>\r\n </div>\r\n )}\r\n {this.thirdButton && (\r\n <div class=\"button_divs\">\r\n <gb-button\r\n size=\"xl\"\r\n state={this.thirdButtonState}\r\n hierarchy=\"secondary_gray\"\r\n icon=\"default\"\r\n icon-leading={this.thirdButtonIconLeading ? true : false}\r\n icon-trailing={this.thirdButtonIconTrailing ? true : false}\r\n icon-leading-swap={this.thirdButtonIconLeading}\r\n icon-trailing-swap={this.thirdButtonIconTrailing}\r\n onClick={() => this.onThirdButtonClicked()}\r\n >\r\n <p>{this.thirdButtonText}</p>\r\n </gb-button>\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n )}\r\n {this.type === 'form_control' && (\r\n <div class=\"panel_content\">\r\n <div class={`actions ${this.showDraftButton ? 'draft_shown' : ''}`}>\r\n <div class=\"button_divs\">\r\n <gb-button\r\n size=\"xl\"\r\n state={this.previousButtonState}\r\n hierarchy=\"secondary_gray\"\r\n icon=\"default\"\r\n icon-leading={true}\r\n icon-leading-swap=\"assets/arrow-left-02.svg\"\r\n onClick={() => this.onPreviousButtonClicked()}\r\n >\r\n <p>Previous</p>\r\n </gb-button>\r\n </div>\r\n <div class=\"right\">\r\n {this.showDraftButton && (\r\n <div class=\"button_divs\">\r\n <gb-button size=\"xl\" hierarchy=\"secondary_color\" icon=\"default\" ref={el => (this.draftButton = el)} onClick={() => this.onSaveAsDraft()}>\r\n <p>Save as draft</p>\r\n </gb-button>\r\n </div>\r\n )}\r\n {this.showSubmitButton ? (\r\n <div class=\"button_divs\">\r\n <gb-button\r\n size=\"xl\"\r\n state={this.submitButtonState}\r\n hierarchy=\"primary\"\r\n icon=\"default\"\r\n icon-leading={this.submitButtonIconLeadingSwap ? true : false}\r\n icon-leading-swap={this.submitButtonIconLeadingSwap}\r\n icon-trailing={this.submitButtonIconTrailingSwap ? true : false}\r\n icon-trailing-swap={this.submitButtonIconTrailingSwap}\r\n ref={el => (this.submitButton = el)}\r\n onClick={() => this.onSubmitClicked()}\r\n >\r\n <p>{this.submitButtonText}</p>\r\n </gb-button>\r\n </div>\r\n ) : (\r\n <div class=\"button_divs\">\r\n <gb-button\r\n size=\"xl\"\r\n state={this.internalNextButtonState}\r\n hierarchy=\"primary\"\r\n icon=\"default\"\r\n icon-trailing={true}\r\n icon-trailing-swap=\"assets/arrow-right-02.svg\"\r\n onClick={() => this.onNextButtonClicked()}\r\n >\r\n <p>Next</p>\r\n </gb-button>\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n )}\r\n </div>\r\n );\r\n }\r\n}\r\n","@import './../../global/global.css';\r\n.approval-modal{\r\n width: 25.1875rem;\r\n border-radius: 0.75rem;\r\n background-color:var(--color-background-card, #FFFFFF); \r\n position: relative;\r\n overflow: hidden;\r\n}\r\n\r\ngb-button-close{\r\n position: absolute;\r\n right: 0.75rem;\r\n top: 0.59375rem;\r\n}\r\n\r\n.modal-top{\r\n padding: var(--spacing-6);\r\n border-bottom: 1px solid var(--color-border-subtler, #E3E8EF);\r\n}\r\n\r\n.modal-content{\r\n display: flex;\r\n flex-direction: column;\r\n gap: var(--spacing-3);\r\n padding: var(--spacing-6);\r\n}\r\n\r\n .heading{\r\n color: var(--color-text-subtle, #697586);\r\n} \r\n\r\n.modal-row{\r\n border: 1px solid var(--color-border-subtler, #E3E8EF);\r\n border-radius: var(--rounded-sm);\r\n width: 100%;\r\n padding: var(--spacing-4) var(--spacing-4) var(--spacing-4) var(--spacing-4);\r\n gap: var(--spacing-2);\r\n display: flex;\r\n flex-direction: column;\r\n box-sizing: border-box;\r\n}\r\n\r\n.modal-textarea{\r\n /* border-radius: 5px; */\r\n width: 100%;\r\n box-sizing: border-box;\r\n}","import { Component, h, Prop } from '@stencil/core';\r\nimport { GeneralColors, BadgeTypes, BadgeIconTypes } from '../../models/reusableModels';\r\n\r\n@Component({\r\n tag: 'gb-approval-modal',\r\n styleUrl: 'gb-approval-modal.css',\r\n shadow: true,\r\n})\r\nexport class gbapprovalmodal {\r\n @Prop() showDecision: boolean = true;\r\n @Prop() badgeColor: GeneralColors;\r\n @Prop() badgeType: BadgeTypes;\r\n @Prop() badgeIcon: BadgeIconTypes;\r\n @Prop() badgeLabel: string;\r\n @Prop() firstButtonText: string = '';\r\n @Prop() secondButtonText: string = '';\r\n @Prop() thirdButtonText: string = '';\r\n @Prop() firstIconButtonSwap: string = '';\r\n @Prop() secondIconButtonSwap: string = '';\r\n @Prop() firstButtonIconLeadingSwap: string = '';\r\n @Prop() secondButtonIconLeadingSwap: string = '';\r\n @Prop() thirdButtonIconLeadingSwap: string = '';\r\n @Prop() firstButtonIconTrailingSwap: string = '';\r\n @Prop() secondButtonIconTrailingSwap: string = '';\r\n @Prop() thirdButtonIconTrailingSwap: string = '';\r\n\r\n render() {\r\n return (\r\n <div class=\"approval-modal shadow-sm \">\r\n <gb-modal-header close-button-position=\"right\" text=\"Title\"></gb-modal-header>\r\n {/* <div class=\"modal-top\">\r\n <p class=\"display-xs-semi-bold\">Title</p>\r\n <gb-button-close size=\"sm\" color=\"gray\"></gb-button-close>\r\n </div> */}\r\n\r\n <div class=\"modal-content\">\r\n {this.showDecision && (\r\n <div class=\"modal-row\">\r\n <p class=\"text-sm-regular heading\">Reviewer's decision</p>\r\n <gb-badge size=\"sm\" type={this.badgeType} icon={this.badgeIcon} color={this.badgeColor}>\r\n <p>{this.badgeLabel}</p>\r\n </gb-badge>\r\n </div>\r\n )}\r\n\r\n <div class=\"modal-textarea\">\r\n <gb-textarea-input-field\r\n idOfInput=\"default\"\r\n state=\"default\"\r\n type=\"default\"\r\n show-label={true}\r\n label=\"Reason\"\r\n show-hint-text={false}\r\n destructive={false}\r\n placeholder-text=\"Enter comments here\"\r\n ></gb-textarea-input-field>\r\n </div>\r\n </div>\r\n <gb-modal-action action-type=\"double\" first-button-text={this.firstButtonText} second-button-text={this.secondButtonText}></gb-modal-action>\r\n </div>\r\n );\r\n }\r\n}\r\n","@import './../../global/global.css';\r\n\r\n:host{\r\n width: fit-content;\r\n}\r\n\r\n.avatar{\r\n position: relative;\r\n width: fit-content;\r\n border-radius: var(--rounded-full);\r\n cursor: pointer;\r\n}\r\n\r\n.inner_content.xxs{\r\n width: 1.125rem;\r\n height: 1.125rem;\r\n}\r\n\r\n.inner_content.xs{\r\n width: 1.5rem;\r\n height: 1.5rem;\r\n}\r\n\r\n.inner_content.sm{\r\n width: 2rem;\r\n height: 2rem;\r\n}\r\n\r\n.inner_content.md{\r\n width: 2.5rem;\r\n height: 2.5rem;\r\n}\r\n\r\n.inner_content.lg{\r\n width: 3rem;\r\n height: 3rem;\r\n}\r\n\r\n.inner_content.xl{\r\n width: 3.5rem;\r\n height: 3.5rem;\r\n}\r\n\r\n.inner_content.xl2{\r\n width: 4rem;\r\n height: 4rem;\r\n}\r\n\r\n.inner_content.profile_sm{\r\n width: 4.5rem;\r\n height: 4.5rem;\r\n}\r\n\r\n.inner_content.profile_md{\r\n width: 6rem;\r\n height: 6rem;\r\n}\r\n\r\n.inner_content.profile_lg{\r\n width: 10rem;\r\n height: 10rem;\r\n}\r\n\r\n::slotted(img){\r\n width: 100%;\r\n height: 100%;\r\n border-radius: var(--rounded-full);\r\n}\r\n\r\n.placeholder,\r\n.initials{\r\n width: 100%;\r\n height: 100%;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n border-radius: var(--rounded-full);\r\n}\r\n\r\n.indicator{\r\n position: absolute;\r\n bottom: -0.1rem;\r\n right: -0.03rem;\r\n}\r\n\r\n/* Size Styles */\r\n.user_avatar.xxs{\r\n width: 0.75rem;\r\n height: 0.75rem;\r\n}\r\n\r\n.user_avatar.xs{\r\n width: var(--spacing-4);\r\n height: var(--spacing-4);\r\n}\r\n\r\n.user_avatar.sm{\r\n width: var(--spacing-5);\r\n height: var(--spacing-5);\r\n}\r\n\r\n.user_avatar.md{\r\n width: var(--spacing-6);\r\n height: var(--spacing-6);\r\n}\r\n\r\n.user_avatar.lg{\r\n width: 1.75rem;\r\n height: 1.75rem;\r\n}\r\n\r\n.user_avatar.xl{\r\n width: 2rem;\r\n height: 2rem;\r\n}\r\n\r\n.user_avatar.xl2{\r\n width: 2rem;\r\n height: 2rem;\r\n}\r\n\r\n.user_avatar.profile_sm{\r\n width: 2.25rem;\r\n height: 2.25rem;\r\n}\r\n\r\n.user_avatar.profile_md{\r\n width: 3rem;\r\n height: 3rem;\r\n}\r\n\r\n.user_avatar.profile_lg{\r\n width: 5rem;\r\n height: 5rem;\r\n}\r\n\r\n/* Avatar Color Styles */\r\n.initials.gray,\r\n.placeholder.gray{\r\n background-color: var(--color-background-gray-subtler, #EEF2F6);\r\n}\r\n\r\n.initials.gray:hover,\r\n.placeholder.gray:hover{\r\n background-color: var(--color-background-gray-subtle, #E3E8EF);\r\n}\r\n\r\n.initials.gray:active,\r\n.placeholder.gray:active{\r\n background-color: var(--color-background-gray-subtlest, #F6F8FA);\r\n}\r\n\r\n.initials.blue,\r\n.placeholder.blue{\r\n background-color: var(--color-background-information-subtler, #C8E0F9);\r\n}\r\n\r\n.initials.blue:hover,\r\n.placeholder.blue:hover{\r\n background-color: var(--color-background-information-subtle, #9AC7F4);\r\n}\r\n\r\n.initials.blue:active,\r\n.placeholder.blue:active{\r\n background-color: var(--color-background-information-subtlest, #E4F0FC);\r\n}\r\n\r\n.initials.cyan,\r\n.placeholder.cyan{\r\n background-color: var(--color-background-discovery-subtler, #E0F2FE);\r\n}\r\n\r\n.initials.cyan:hover,\r\n.placeholder.cyan:hover{\r\n background-color: var(--color-background-discovery-subtle, #B9E6FE);\r\n}\r\n\r\n.initials.cyan:active,\r\n.placeholder.cyan:active{\r\n background-color: var(--color-background-discovery-subtlest, #F0F9FF);\r\n}\r\n\r\n.initials.pink,\r\n.placeholder.pink{\r\n background-color: var(--color-background-pink-subtler, #FCE7F6);\r\n}\r\n\r\n.initials.pink:hover,\r\n.placeholder.pink:hover{\r\n background-color: var(--color-background-pink-subtle, #FCCEEE);\r\n}\r\n\r\n.initials.pink:active,\r\n.placeholder.pink:active{\r\n background-color: var(--color-background-pink-subtlest, #FDF2FA);\r\n}\r\n\r\n.initials.purple,\r\n.placeholder.purple{\r\n background-color: var(--color-background-purple-subtler, #EBE9FE);\r\n}\r\n\r\n.initials.purple:hover,\r\n.placeholder.purple:hover{\r\n background-color: var(--color-background-purple-subtle, #D9D6FE);\r\n}\r\n\r\n.initials.purple:active,\r\n.placeholder.purple:active{\r\n background-color: var(--color-background-purple-subtlest, #F4F3FF);\r\n}\r\n\r\n.initials.green,\r\n.placeholder.green{\r\n background-color: var(--color-background-success-subtler, #DCFAE6);\r\n}\r\n\r\n.initials.green:hover,\r\n.placeholder.green:hover{\r\n background-color: var(--color-background-success-subtle, #A9EFC5);\r\n}\r\n\r\n.initials.green:active,\r\n.placeholder.green:active{\r\n background-color: var(--color-background-success-subtlest, #ECFDF3);\r\n}\r\n\r\n.initials.yellow,\r\n.placeholder.yellow{\r\n background-color: var(--color-background-warning-subtler, #FEF0C7);\r\n}\r\n\r\n.initials.yellow:hover,\r\n.placeholder.yellow:hover{\r\n background-color: var(--color-background-warning-subtle, #FEDF89);\r\n}\r\n\r\n.initials.yellow:active,\r\n.placeholder.yellow:active{\r\n background-color: var(--color-background-warning-subtlest, #FFFAEB);\r\n}\r\n\r\n\r\n::slotted([slot=\"initials\"].gray){\r\n color: var(--color-text, #4B5565) !important;\r\n}\r\n\r\n::slotted([slot=\"initials\"].blue){\r\n color: var(--color-text-information, #064E94) !important;\r\n}\r\n\r\n::slotted([slot=\"initials\"].cyan){\r\n color: var(--color-text-discovery, #0086C9) !important;\r\n}\r\n\r\n::slotted([slot=\"initials\"].pink){\r\n color: var(--color-text-pink, #DD2590) !important;\r\n}\r\n\r\n::slotted([slot=\"initials\"].purple){\r\n color: var(--color-text-purple, #6938EF) !important;\r\n}\r\n\r\n::slotted([slot=\"initials\"].green){\r\n color: var(--color-text-success, #079455) !important;\r\n}\r\n\r\n::slotted([slot=\"initials\"].yellow){\r\n color: var(--color-text-warning, #DC6803) !important;\r\n}\r\n\r\n.user_avatar.gray path{\r\n fill: var(--color-icon-subtle, #697586) !important;\r\n}\r\n\r\n.user_avatar.blue path{\r\n fill: var(--color-icon-information, #064E94) !important;\r\n}\r\n\r\n.user_avatar.cyan path{\r\n fill: var(--color-icon-discovery, #0086C9) !important;\r\n}\r\n\r\n.user_avatar.pink path{\r\n fill: var(--color-icon-pink, #DD2590) !important;\r\n}\r\n\r\n.user_avatar.purple path{\r\n fill: var(--color-icon-purple, #6938EF) !important;\r\n}\r\n\r\n.user_avatar.green path{\r\n fill: var(--color-icon-success, #079455) !important;\r\n}\r\n\r\n.user_avatar.yellow path{\r\n fill: var(--color-icon-warning, #DC6803) !important;\r\n}","import { Component, Element, h, Prop, State } from \"@stencil/core\";\r\nimport { ColorTypes, BorderWeights, GeneralSizes, OnlineIndicatorStates } from '../../models/reusableModels';\r\n\r\n@Component({\r\n tag: 'gb-avatar',\r\n styleUrl: 'gb-avatar.css',\r\n shadow: true,\r\n})\r\nexport class GbAvatar {\r\n @Prop() size: GeneralSizes;\r\n @Prop() placeholder: boolean = false;\r\n @Prop() text: boolean = true;\r\n @Prop() statusIcon: string = '';\r\n @Prop() state: OnlineIndicatorStates = OnlineIndicatorStates.Online;\r\n @Prop() icon: 'user' = 'user';\r\n @Prop() color: ColorTypes;\r\n @Prop() showBorder: boolean = false;\r\n @Element() el: HTMLElement;\r\n @Prop() weight: BorderWeights = BorderWeights.Light;\r\n @State() assignedColorClass: string;\r\n\r\n private colorClasses = [\r\n 'gray', // Red\r\n 'blue', // Green\r\n 'cyan', // Blue\r\n 'green', // Pink\r\n 'purple', // Yellow\r\n 'pink', // Purple\r\n 'yellow', // Teal\r\n ];\r\n\r\n getInitialsSize() {\r\n switch (this.size) {\r\n case 'xl2':\r\n return 'display-xs-semi-bold';\r\n case 'xl':\r\n return 'text-xl-semi-bold';\r\n case 'lg':\r\n return 'text-lg-semi-bold';\r\n case 'md':\r\n return 'text-md-semi-bold';\r\n case 'sm':\r\n return 'text-sm-semi-bold';\r\n case 'xs':\r\n return 'text-xs-semi-bold';\r\n case 'xxs':\r\n return 'text-xxs-semi-bold';\r\n }\r\n }\r\n\r\n setWeight() {\r\n if (this.showBorder) {\r\n switch (this.size) {\r\n case 'xl2':\r\n return BorderWeights.Regular;\r\n case 'xl':\r\n return BorderWeights.Regular;\r\n case 'lg':\r\n return BorderWeights.Regular;\r\n case 'md':\r\n return BorderWeights.Regular;\r\n case 'sm':\r\n return BorderWeights.Light;\r\n case 'xs':\r\n return BorderWeights.Light;\r\n case 'xxs':\r\n return BorderWeights.VeryLight;\r\n }\r\n }\r\n }\r\n\r\n applyColorToInitials() {\r\n switch (this.color) {\r\n case 'gray':\r\n return 'gray';\r\n case 'blue':\r\n return 'blue';\r\n case 'cyan':\r\n return 'cyan';\r\n case 'pink':\r\n return 'pink';\r\n case 'purple':\r\n return 'purple';\r\n case 'green':\r\n return 'green';\r\n case 'yellow':\r\n return 'yellow';\r\n }\r\n }\r\n\r\n private getRandomColorClass(): string {\r\n const randomIndex = Math.floor(Math.random() * this.colorClasses.length);\r\n return this.colorClasses[randomIndex];\r\n }\r\n\r\n componentDidLoad() {\r\n const slottedInitials = this.el.querySelector('h1');\r\n\r\n if (slottedInitials) {\r\n slottedInitials.classList.add(this.getInitialsSize());\r\n slottedInitials.classList.add(this.assignedColorClass);\r\n }\r\n }\r\n\r\n componentWillLoad() {\r\n if (!this.color) {\r\n this.assignedColorClass = this.getRandomColorClass();\r\n } else {\r\n this.assignedColorClass = this.color.toLowerCase();\r\n }\r\n }\r\n\r\n render() {\r\n const classes = `${this.assignedColorClass}`;\r\n\r\n return [\r\n <div class=\"avatar\">\r\n <gb-avatar-contrast-inner-border show-border={this.showBorder} size={this.size} weight={this.weight}>\r\n <div class={`inner_content ${this.size}`}>\r\n {this.text ? (\r\n // ${!this.color ? 'gray' : this.color}\r\n <div class={`initials ${classes}`}>\r\n <slot name=\"initials\"></slot>\r\n </div>\r\n ) : (\r\n <slot name=\"image\"></slot>\r\n )}\r\n {this.placeholder && (\r\n <div class={`placeholder ${classes}`}>\r\n {this.icon === 'user' && (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" class={`user_avatar ${this.size} ${classes}`}>\r\n <path\r\n d=\"M11.8706 9.89137C11.9482 9.93754 12.044 9.99158 12.1524 10.0528C12.6276 10.3209 13.3459 10.7261 13.8381 11.2078C14.1458 11.5091 14.4383 11.9061 14.4914 12.3924C14.548 12.9097 14.3223 13.395 13.8697 13.8263C13.0887 14.5703 12.1515 15.1666 10.9393 15.1666H5.06045C3.84825 15.1666 2.91106 14.5703 2.13009 13.8263C1.67741 13.395 1.45177 12.9097 1.50831 12.3924C1.56147 11.9061 1.85391 11.5091 2.16169 11.2078C2.6538 10.7261 3.37214 10.3209 3.84735 10.0528C3.95578 9.99158 4.05158 9.93754 4.12912 9.89137C6.49848 8.48055 9.50126 8.48055 11.8706 9.89137Z\"\r\n fill=\"#697586\"\r\n />\r\n <path\r\n d=\"M4.49987 4.33325C4.49987 2.40026 6.06688 0.833252 7.99987 0.833252C9.93287 0.833252 11.4999 2.40026 11.4999 4.33325C11.4999 6.26625 9.93287 7.83325 7.99987 7.83325C6.06688 7.83325 4.49987 6.26625 4.49987 4.33325Z\"\r\n fill=\"#697586\"\r\n />\r\n </svg>\r\n )}\r\n </div>\r\n )}\r\n </div>\r\n </gb-avatar-contrast-inner-border>\r\n <gb-status-indicator class={`indicator ${this.size}`} status-icon={this.statusIcon} size={this.size} state={this.state}></gb-status-indicator>\r\n </div>,\r\n ];\r\n }\r\n}","@import './../../global/global.css';\r\n\r\n.inner_border{\r\n border-radius: var(--rounded-full);\r\n width: fit-content;\r\n height: fit-content;\r\n}\r\n\r\n.inner_border.very_light.no_border{\r\n border: 0.3px solid transparent;\r\n}\r\n\r\n.inner_border.light.no_border{\r\n border: 0.5px solid transparent;\r\n}\r\n\r\n.inner_border.regular.no_border{\r\n border: 0.75px solid transparent;\r\n}\r\n\r\n.inner_border.heavy.no_border{\r\n border: 1px solid transparent;\r\n}\r\n\r\n/* Weights */\r\n.inner_border.very_light{\r\n border: 0.3px solid var(--color-blanket-subtler, rgba(33, 44, 101, 0.2));\r\n}\r\n\r\n.inner_border.light{\r\n border: 0.5px solid var(--color-blanket-subtler, rgba(33, 44, 101, 0.2));\r\n}\r\n\r\n.inner_border.regular{\r\n border: 0.75px solid var(--color-blanket-subtler, rgba(33, 44, 101, 0.2));\r\n}\r\n\r\n.inner_border.heavy{\r\n border: 1px solid var(--color-blanket-subtler, rgba(33, 44, 101, 0.2));\r\n}","import { Component, h, Prop } from \"@stencil/core\";\r\nimport { BorderWeights, GeneralSizes } from \"../../models/reusableModels\";\r\n\r\n@Component({\r\n tag: 'gb-avatar-contrast-inner-border',\r\n styleUrl: 'gb-avatar-contrast-inner-border.css',\r\n shadow: true\r\n})\r\n\r\nexport class GbAvatarContrastInnerBorder {\r\n @Prop() weight: BorderWeights;\r\n @Prop() size: GeneralSizes;\r\n @Prop() showBorder: boolean = false;\r\n\r\n setWeight() {\r\n if(this.showBorder){\r\n switch (this.size) {\r\n case 'xl2':\r\n return BorderWeights.Regular;\r\n case 'xl':\r\n return BorderWeights.Regular;\r\n case 'lg':\r\n return BorderWeights.Regular;\r\n case 'md':\r\n return BorderWeights.Regular;\r\n case 'sm':\r\n return BorderWeights.Light;\r\n case 'xs':\r\n return BorderWeights.Light;\r\n case 'xxs':\r\n return BorderWeights.VeryLight;\r\n case 'profile_lg':\r\n return BorderWeights.Heavy;\r\n case 'profile_md':\r\n return BorderWeights.Heavy;\r\n case 'profile_sm':\r\n return BorderWeights.Regular;\r\n }\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n <div class={`inner_border ${this.size} ${this.weight} ${!this.showBorder ? 'no_border' : ''}`}>\r\n <slot></slot>\r\n </div>\r\n );\r\n }\r\n}","@import '../../global/global.css';\r\n\r\n.simple-dropdown {\r\n display: flex;\r\n width: 17rem;\r\n padding: 0px;\r\n flex-direction: column;\r\n align-items: flex-start;\r\n gap: 0px;\r\n border-radius: var(--rounded-sm);\r\n border: 1px solid var(--color-border-subtler, #e3e8ef);\r\n background: var(--color-surface, #ffffff);\r\n box-shadow: var(--shadow-lg);\r\n}\r\n\r\n.profile {\r\n display: flex;\r\n align-items: flex-start;\r\n gap: var(--spacing-none);\r\n border-radius: var(--rounded-none);\r\n border-bottom: 1px solid var(--color-border-subtler, #e3e8ef); \r\n padding: 0.5rem;\r\n flex: 1;\r\n width: 100%;\r\n box-sizing: border-box;\r\n}\r\n\r\n.complex-dropdown {\r\n width: 17rem;\r\n display: flex;\r\n padding: 0px;\r\n flex-direction: column;\r\n align-items: flex-start;\r\n gap: 0px;\r\n border-radius: var(--rounded-sm);\r\n border: 1px solid var(--color-border-subtler, #e3e8ef);\r\n background: var(--color-surface, #ffffff);\r\n box-shadow: var(--shadow-lg);\r\n}\r\n\r\n.menu-items {\r\n display: flex;\r\n width: 96.5%;\r\n padding: var(--spacing-none);\r\n flex-direction: column;\r\n align-items: flex-start;\r\n gap: var(--spacing-none);\r\n}\r\n\r\n.list {\r\n padding: var(--spacing-1) var(--spacing-none);\r\n align-self: stretch;\r\n border-radius: var(--rounded-none);\r\n}\r\n\r\n.list-group-one,\r\n.list-group-two,\r\n.list-group-three {\r\n width: 100%;\r\n padding: var(--spacing-1) var(--spacing-none);\r\n}\r\n\r\n.list-group-one,\r\n.list-group-two {\r\n border-bottom: 1px solid var(--color-border-subtler, #e3e8ef);\r\n}\r\n\r\n.item {\r\n width: 96.5%;\r\n}\r\n\r\n.label_group {\r\n display: flex;\r\n padding: 0px;\r\n align-items: center;\r\n gap: 12px;\r\n align-self: stretch;\r\n border-radius: var(--rounded-none);\r\n}\r\n\r\n.theme_tab {\r\n width: 100%;\r\n box-sizing: border-box;\r\n padding: var(--spacing-3);\r\n border-bottom: 1px solid var(--color-border-subtler, #e3e8ef);\r\n}\r\n\r\n.roles {\r\n width: 100%;\r\n display: flex;\r\n padding: var(--spacing-3);\r\n gap: var(--spacing-2);\r\n flex-direction: column;\r\n align-items: flex-start;\r\n border-bottom: 1px solid var(--color-border-subtler, #e3e8ef);\r\n color: var(--color-text, #4b5565);\r\n box-sizing: border-box;\r\n}\r\n\r\n.badges {\r\n width: 90%;\r\n display: flex;\r\n align-items: center;\r\n align-content: center;\r\n gap: 0.5rem var(--spacing-2);\r\n align-self: stretch;\r\n flex-wrap: wrap;\r\n}","import { Component, Element, Event, EventEmitter, Prop, h } from '@stencil/core';\r\nimport { ColorTypes, DropdownListGroup, DropdownRoles, ThemeTypes } from '../../models/reusableModels';\r\n@Component({\r\n tag: 'gb-avatar-dropdown',\r\n styleUrl: 'gb-avatar-dropdown.css',\r\n shadow: true,\r\n})\r\nexport class GbAvatarDropdown {\r\n @Prop() type: 'simple' | 'complex' = 'simple';\r\n @Prop() text: boolean = false;\r\n @Prop() showProfile: boolean;\r\n\r\n @Prop() showThemeTab: boolean;\r\n @Prop() showRoles: boolean = false;\r\n @Prop() roles: DropdownRoles[] = [\r\n // {\r\n // badgeLabel: 'Initiator',\r\n // badgeColor: 'information',\r\n // badgeType: 'badge_color',\r\n // },\r\n // {\r\n // badgeLabel: 'Authorizer',\r\n // badgeColor: 'success',\r\n // badgeType: 'badge_color',\r\n // },\r\n // {\r\n // badgeLabel: 'Viewer',\r\n // badgeColor: 'gray',\r\n // badgeType: 'badge_color',\r\n // },\r\n ];\r\n @Prop() showLogOut: boolean;\r\n @Prop() listGroupOne: DropdownListGroup[] = [\r\n // { label: 'View Profile', icon: 'assets/user.svg', shortcut: 'Ctrl K + P' },\r\n // { label: 'Documentation', icon: 'assets/book-open-02.svg', shortcut: 'Ctrl + T' },\r\n // { label: 'Support', icon: 'assets/customer-support.svg', shortcut: 'Ctrl + C' },\r\n ];\r\n @Prop() listGroupTwo: DropdownListGroup[] = [\r\n // { label: 'Configuration', icon: 'assets/user.svg', shortcut: 'Ctrl + S' },\r\n // { label: 'Team', icon: 'assets/book-open-02.svg', shortcut: 'Ctrl K + T' },\r\n // { label: 'Invite members', icon: 'assets/customer-support.svg', shortcut: 'Ctrl + I' },\r\n ];\r\n @Prop() color: ColorTypes;\r\n @Prop() showBorder: boolean = false;\r\n @Prop() currentTheme: ThemeTypes;\r\n @Element() el: HTMLElement;\r\n @Event() itemClicked: EventEmitter<string>;\r\n @Event() themeTabClicked: EventEmitter<string>;\r\n\r\n applyColorToInitials() {\r\n switch (this.color) {\r\n case 'gray':\r\n return 'gray';\r\n case 'blue':\r\n return 'blue';\r\n case 'cyan':\r\n return 'cyan';\r\n case 'pink':\r\n return 'pink';\r\n case 'purple':\r\n return 'purple';\r\n case 'green':\r\n return 'green';\r\n case 'yellow':\r\n return 'yellow';\r\n }\r\n }\r\n\r\n onItemClicked(item: string) {\r\n this.itemClicked.emit(item);\r\n }\r\n\r\n emitTheme(theme) {\r\n this.themeTabClicked.emit(theme);\r\n }\r\n\r\n componentDidLoad() {\r\n const slottedInitials = this.el.querySelector('[slot=\"initials\"]');\r\n const nameInitials = this.el.querySelector('[slot=\"name\"');\r\n const supportingTextSlot = this.el.querySelector('[slot=\"supporting_text\"');\r\n\r\n if (slottedInitials) {\r\n slottedInitials.classList.add('text-md-semi-bold');\r\n slottedInitials.classList.add(this.applyColorToInitials() || 'gray');\r\n }\r\n\r\n if (nameInitials) {\r\n nameInitials.classList.add('text-sm-semi-bold');\r\n }\r\n\r\n if (supportingTextSlot) {\r\n supportingTextSlot.classList.add('text-sm-regular');\r\n }\r\n }\r\n\r\n render() {\r\n if (this.type === 'simple') {\r\n return (\r\n <div class=\"simple-dropdown\">\r\n <div class=\"profile\">\r\n <gb-avatar-label-group size=\"md\" text={true} color={this.color} show-border={this.showBorder}>\r\n <slot name=\"name\" slot=\"name\"></slot>\r\n <slot name=\"initials\" slot=\"initials\"></slot>\r\n <slot name=\"supporting_text\" slot=\"supporting_text\"></slot>\r\n </gb-avatar-label-group>\r\n </div>\r\n <div class=\"menu-items\">\r\n <div class=\"list\">\r\n {this.showThemeTab && (\r\n <div class=\"theme_tab\">\r\n <gb-theme-tab current-active-tab={this.currentTheme} onThemeTabClicked={this.emitTheme.bind(this)}></gb-theme-tab>\r\n </div>\r\n )}\r\n {this.showProfile && (\r\n <gb-dropdown-items-with-shortcut\r\n icon\r\n iconSrc=\"assets/user_profile.svg\"\r\n label=\"View Profile\"\r\n shortcut\r\n shortcutIcon=\"K + P\"\r\n onClick={() => this.onItemClicked('view_profile')}\r\n ></gb-dropdown-items-with-shortcut>\r\n )}\r\n {this.showLogOut && (\r\n <gb-dropdown-items-with-shortcut\r\n icon\r\n iconSrc=\"assets/logout_button.svg\"\r\n label=\"Log out\"\r\n shortcut\r\n shortcutIcon=\"L\"\r\n onClick={() => this.onItemClicked('log_out')}\r\n ></gb-dropdown-items-with-shortcut>\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n }\r\n\r\n if (this.type === 'complex') {\r\n return (\r\n <div class=\"complex-dropdown\">\r\n <div class=\"profile\">\r\n <gb-avatar-label-group size=\"md\" class=\"label_group\" text={true} color={this.color}>\r\n <slot name=\"name\" slot=\"name\"></slot>\r\n <slot name=\"initials\" slot=\"initials\"></slot>\r\n <slot name=\"supporting_text\" slot=\"supporting_text\"></slot>\r\n </gb-avatar-label-group>\r\n </div>\r\n {this.showThemeTab && (\r\n <div class=\"theme_tab\">\r\n <gb-theme-tab current-active-tab={this.currentTheme} onThemeTabClicked={this.emitTheme.bind(this)}></gb-theme-tab>\r\n </div>\r\n )}\r\n {this.showRoles && (\r\n <div class=\"roles\">\r\n <p class=\"text-sm-medium\">Available roles</p>\r\n <div class=\"badges\">\r\n {this.roles.map(role => (\r\n <gb-badge size=\"md\" color={role.badgeColor} type={role.badgeType}>\r\n <p>{role.badgeLabel}</p>\r\n </gb-badge>\r\n ))}\r\n </div>\r\n </div>\r\n )}\r\n {this.listGroupOne.length > 0 && (\r\n <div class=\"list-group-one\">\r\n {this.listGroupOne.map(item => (\r\n <div class=\"item\">\r\n <gb-dropdown-items-with-shortcut\r\n icon\r\n iconSrc={item.icon}\r\n label={item.label}\r\n shortcut\r\n shortcutIcon={item.shortcut}\r\n onClick={() => this.onItemClicked(item.label.replace(/\\s+/g, '_').toLowerCase())}\r\n ></gb-dropdown-items-with-shortcut>\r\n </div>\r\n ))}\r\n </div>\r\n )}\r\n {this.listGroupTwo.length > 0 && (\r\n <div class=\"list-group-two\">\r\n {this.listGroupTwo.map(item => (\r\n <div class=\"item\">\r\n <gb-dropdown-items-with-shortcut\r\n icon\r\n iconSrc={item.icon}\r\n label={item.label}\r\n shortcut\r\n shortcutIcon={item.shortcut}\r\n onClick={() => this.onItemClicked(item.label.replace(/\\s+/g, '_').toLowerCase())}\r\n ></gb-dropdown-items-with-shortcut>\r\n </div>\r\n ))}\r\n </div>\r\n )}\r\n {this.showLogOut && (\r\n <div class=\"list-group-three\">\r\n <div class=\"item\">\r\n <gb-dropdown-items-with-shortcut\r\n icon\r\n iconSrc=\"assets/logout_button.svg\"\r\n label=\"Log out\"\r\n shortcut\r\n shortcutIcon=\"Ctrl + L\"\r\n onClick={() => this.onItemClicked('log_out')}\r\n ></gb-dropdown-items-with-shortcut>\r\n </div>\r\n </div>\r\n )}\r\n </div>\r\n );\r\n }\r\n }\r\n}\r\n","@import './../../global/global.css';\r\n\r\n:host{\r\n width: 100%;\r\n height: fit-content;\r\n}\r\n\r\n.label_pic{\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n}\r\n\r\n.label{\r\n width: 100%;\r\n display: flex;\r\n padding: var(--spacing-none);\r\n border-radius: var(--rounded-none);\r\n overflow: hidden;\r\n}\r\n\r\n/* Label Sizes */\r\n.label.sm{\r\n gap: 0.625rem;\r\n}\r\n\r\n.label.md{\r\n gap: var(--spacing-3);\r\n}\r\n\r\n.label.lg{\r\n gap: var(--spacing-3);\r\n}\r\n\r\n.label.xl{\r\n gap: var(--spacing-4);\r\n}\r\n\r\n.label_text{\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n gap: var(--spacing-2);\r\n flex: 1;\r\n overflow: hidden;\r\n}\r\n\r\n::slotted([slot=\"name\"]){\r\n color: var(--color-text, #4B5565) !important;\r\n width: 100%;\r\n overflow: hidden;\r\n white-space: nowrap;\r\n text-overflow: ellipsis;\r\n}\r\n\r\n::slotted([slot=\"supporting_text\"]){\r\n color: var(--color-text-subtle, #697586) !important;\r\n width: 100%;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n}","import { Component, Element, h, Prop } from \"@stencil/core\";\r\nimport { ColorTypes, GeneralSizes, OnlineIndicatorStates } from \"../../models/reusableModels\";\r\n\r\n@Component({\r\n tag: 'gb-avatar-label-group',\r\n styleUrl: 'gb-avatar-label-group.css',\r\n shadow: true,\r\n})\r\nexport class GbAvatarLabelGroup {\r\n @Prop() size: GeneralSizes;\r\n @Prop() statusIcon: string = '';\r\n @Prop() state: OnlineIndicatorStates = OnlineIndicatorStates.Online;\r\n @Prop() placeholder: boolean = false;\r\n @Prop() text: boolean = false;\r\n @Prop() color: ColorTypes;\r\n @Prop() showBorder: boolean = false;\r\n @Element() el: HTMLElement;\r\n\r\n getInitialsSize() {\r\n switch (this.size) {\r\n case 'xl2':\r\n return 'display-xs-semi-bold';\r\n case 'xl':\r\n return 'text-xl-semi-bold';\r\n case 'lg':\r\n return 'text-lg-semi-bold';\r\n case 'md':\r\n return 'text-md-semi-bold';\r\n case 'sm':\r\n return 'text-sm-semi-bold';\r\n case 'xs':\r\n return 'text-xs-semi-bold';\r\n }\r\n }\r\n\r\n getNameSize() {\r\n switch (this.size) {\r\n case 'xl':\r\n return 'text-lg-semi-bold';\r\n case 'lg':\r\n return 'text-md-semi-bold';\r\n case 'md':\r\n return 'text-sm-semi-bold';\r\n case 'sm':\r\n return 'text-sm-semi-bold';\r\n }\r\n }\r\n\r\n getOtherTextSize() {\r\n switch (this.size) {\r\n case 'xl':\r\n return 'text-md-regular';\r\n case 'lg':\r\n return 'text-md-regular';\r\n case 'md':\r\n return 'text-sm-regular';\r\n case 'sm':\r\n return 'text-xs-regular';\r\n }\r\n }\r\n\r\n applyColorToInitials() {\r\n switch (this.color) {\r\n case 'gray':\r\n return 'gray';\r\n case 'blue':\r\n return 'blue';\r\n case 'cyan':\r\n return 'cyan';\r\n case 'pink':\r\n return 'pink';\r\n case 'purple':\r\n return 'purple';\r\n case 'green':\r\n return 'green';\r\n case 'yellow':\r\n return 'yellow';\r\n }\r\n }\r\n\r\n componentDidLoad() {\r\n const slottedInitials = this.el.querySelector('[slot=\"initials\"]');\r\n const nameSlot = this.el.querySelector('[slot=\"name\"]');\r\n const othersSlot = this.el.querySelector('[slot=\"supporting_text\"]');\r\n\r\n if (slottedInitials) {\r\n slottedInitials.classList.add(this.getInitialsSize());\r\n slottedInitials.classList.add(this.applyColorToInitials() || 'gray');\r\n }\r\n\r\n if (nameSlot) {\r\n nameSlot.classList.add(this.getNameSize());\r\n }\r\n\r\n if (othersSlot) {\r\n othersSlot.classList.add(this.getOtherTextSize());\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n <div class={`label ${this.size}`}>\r\n <div class=\"label_pic\">\r\n <gb-avatar\r\n size={this.size}\r\n status-icon={this.statusIcon}\r\n state={this.state}\r\n text={true}\r\n placeholder={this.placeholder}\r\n color={!this.color ? 'gray' : this.color}\r\n show-border={this.showBorder}\r\n >\r\n {!this.text ? <slot name=\"image\" slot=\"image\"></slot> : <slot name=\"initials\" slot=\"initials\"></slot>}\r\n </gb-avatar>\r\n </div>\r\n <div class=\"label_text\">\r\n <slot name=\"name\"></slot>\r\n <slot name=\"supporting_text\"></slot>\r\n </div>\r\n </div>\r\n );\r\n }\r\n}","@import './../../global/global.css';\r\n\r\n.profile_photo{\r\n position: relative;\r\n width: fit-content;\r\n height: fit-content;\r\n background-color: var(--color-border-inverse, #FFFFFF);\r\n border-radius: var(--rounded-full);\r\n box-shadow: var(--shadow-md);\r\n padding: 0.2rem;\r\n}\r\n\r\n.placeholder{\r\n width: 100%;\r\n height: 100%;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n background-color: var(--color-background-gray-subtler, #EEF2F6);\r\n border-radius: var(--rounded-full);\r\n}\r\n\r\n::slotted(h1){\r\n color: var(--color-text, #4B5565) !important;\r\n}\r\n\r\n.user_avatar.sm{\r\n width: 2.25rem;\r\n height: 2.25rem;\r\n}\r\n\r\n.user_avatar.md{\r\n width: 3rem;\r\n height: 3rem;\r\n}\r\n.user_avatar.lg{\r\n width: 5rem;\r\n height: 5rem;\r\n}","import { Component, Element, h, Prop } from \"@stencil/core\";\r\nimport { BorderWeights, GeneralSizes } from \"../../models/reusableModels\";\r\n\r\n@Component({\r\n tag: 'gb-avatar-profile-photo',\r\n styleUrl: 'gb-avatar-profile-photo.css',\r\n shadow: true\r\n})\r\n\r\nexport class GbAvatarProfilePhoto {\r\n @Prop() placeholder: boolean = false;\r\n @Prop() text: boolean = false;\r\n @Prop() size: GeneralSizes;\r\n @Prop() verified: boolean = false;\r\n @Element() el: HTMLElement;\r\n @Prop() icon: string = 'user';\r\n\r\n getInitialsSize() {\r\n switch (this.size) {\r\n case 'lg': return 'display-xl-semi-bold';\r\n case 'md': return 'display-md-semi-bold';\r\n case 'sm': return 'display-sm-semi-bold';\r\n }\r\n }\r\n\r\n getProfileSize() {\r\n switch (this.size) {\r\n case 'lg': return 'profile_lg';\r\n case 'md': return 'profile_md';\r\n case 'sm': return 'profile_sm';\r\n }\r\n }\r\n\r\n setWeight() {\r\n switch (this.size) {\r\n case 'lg' : return BorderWeights.Heavy;\r\n case 'md' : return BorderWeights.Heavy;\r\n case 'sm' : return BorderWeights.Regular;\r\n }\r\n }\r\n\r\n componentDidLoad() {\r\n const slottedInitials = this.el.querySelector('h1');\r\n \r\n if (slottedInitials) {\r\n slottedInitials.classList.add(this.getInitialsSize());\r\n }\r\n }\r\n\r\n render() {\r\n const profileSize = this.getProfileSize();\r\n\r\n return (\r\n <div class={`profile_photo ${profileSize}`}>\r\n <gb-avatar\r\n size={profileSize}\r\n icon=\"user\"\r\n text={this.text}\r\n status-icon={this.verified && ('verified')}\r\n weight={this.setWeight()}\r\n color=\"gray\"\r\n >\r\n {!this.text ? (\r\n <slot name=\"image\" slot=\"image\"></slot>\r\n ) : (\r\n <slot name=\"initials\" slot=\"initials\"></slot>\r\n )}\r\n {this.placeholder && (\r\n <div class={`placeholder`}>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" class={`user_avatar ${this.size}`}>\r\n <path d=\"M11.8706 9.89137C11.9482 9.93754 12.044 9.99158 12.1524 10.0528C12.6276 10.3209 13.3459 10.7261 13.8381 11.2078C14.1458 11.5091 14.4383 11.9061 14.4914 12.3924C14.548 12.9097 14.3223 13.395 13.8697 13.8263C13.0887 14.5703 12.1515 15.1666 10.9393 15.1666H5.06045C3.84825 15.1666 2.91106 14.5703 2.13009 13.8263C1.67741 13.395 1.45177 12.9097 1.50831 12.3924C1.56147 11.9061 1.85391 11.5091 2.16169 11.2078C2.6538 10.7261 3.37214 10.3209 3.84735 10.0528C3.95578 9.99158 4.05158 9.93754 4.12912 9.89137C6.49848 8.48055 9.50126 8.48055 11.8706 9.89137Z\" fill=\"#697586\"/>\r\n <path d=\"M4.49987 4.33325C4.49987 2.40026 6.06688 0.833252 7.99987 0.833252C9.93287 0.833252 11.4999 2.40026 11.4999 4.33325C11.4999 6.26625 9.93287 7.83325 7.99987 7.83325C6.06688 7.83325 4.49987 6.26625 4.49987 4.33325Z\" fill=\"#697586\"/>\r\n </svg>\r\n </div>\r\n )}\r\n </gb-avatar>\r\n </div>\r\n );\r\n }\r\n}","@import './../../global/global.css';\r\n\r\n:host {\r\n display: flex;\r\n align-items: center;\r\n width: fit-content;\r\n}\r\n\r\ndiv {\r\n display: inline-flex;\r\n align-items: center;\r\n gap: 0px;\r\n flex-shrink: 0;\r\n text-align: center;\r\n}\r\n\r\n.label {\r\n padding: 2px;\r\n}\r\n\r\n.icon {\r\n display: flex;\r\n align-items: center;\r\n}\r\n\r\ndiv.sm {\r\n height: 22px;\r\n min-height: 22px;\r\n gap: 0.25rem;\r\n padding: var(--spacing-none) var(--spacing-2);\r\n}\r\n\r\ndiv.md {\r\n height: var(--spacing-6);\r\n min-height: var(--spacing-6);\r\n padding: var(--spacing-none) var(--spacing-2);\r\n gap: 0.38rem;\r\n}\r\n\r\ndiv.lg {\r\n height: 28px;\r\n min-height: 28px;\r\n gap: 0.38rem;\r\n padding: var(--spacing-none) var(--spacing-2);\r\n}\r\n\r\ndiv.pill_color {\r\n border-radius: var(--rounded-full);\r\n}\r\n\r\ndiv.pill_color.gray,\r\n.badge_color.gray {\r\n border: 1px solid var(--color-border-subtler, #e3e8ef);\r\n background: var(--color-background-gray-subtler, #eef2f6);\r\n color: var(--color-text, #4b5565) !important;\r\n}\r\n\r\n.pill_color.primary,\r\n.badge_color.primary {\r\n border: 1px solid var(--color-border-information-subtler, #c8e0f9);\r\n background: var(--color-background-information-subtlest, #e4f0fc);\r\n color: var(--color-text-brandDarkBlue, #212c65) !important;\r\n}\r\n\r\n.pill_color.error,\r\n.badge_color.error {\r\n border: 1px solid var(--color-border-danger-subtler, #fde3e5);\r\n background: var(--color-background-danger-subtlest, #fef1f2);\r\n color: var(--color-text-danger, #b51726) !important;\r\n}\r\n\r\n.pill_color.warning,\r\n.badge_color.warning {\r\n border: 1px solid var(--color-border-warning-subtler, #fef0c7);\r\n background: var(--color-background-warning-subtlest, #fffaeb);\r\n color: var(--color-text-warning, #dc6803) !important;\r\n}\r\n\r\n.pill_color.success,\r\n.badge_color.success {\r\n border: 1px solid var(--color-border-success-subtler, #dcfae6);\r\n background: var(--color-background-success-subtlest, #ecfdf3);\r\n color: var(--color-text-success, #079455) !important;\r\n}\r\n\r\n.pill_color.discovery,\r\n.badge_color.discovery {\r\n border: 1px solid var(--color-border-discovery-subtler, #e0f2fe);\r\n background: var(--color-background-discovery-subtlest, #f0f9ff);\r\n color: var(--color-text-discovery, #0086c9) !important;\r\n}\r\n\r\n.pill_color.information,\r\n.badge_color.information {\r\n border: 1px solid var(--color-border-information-subtler, #c8e0f9);\r\n background: var(--color-background-information-subtlest, #e4f0fc);\r\n}\r\n\r\n.pill_color.pink,\r\n.badge_color.pink {\r\n border: 1px solid var(--color-border-pink-subtler, #fce7f6);\r\n background: var(--color-background-pink-subtlest, #fdf2fa);\r\n color: var(--color-text-pink, #dd2590) !important;\r\n}\r\n\r\n.pill_color.purple,\r\n.badge_color.purple {\r\n border: 1px solid var(--color-border-purple-subtler, #ebe9fe);\r\n background: var(--color-background-purple-subtlest, #f4f3ff);\r\n color: var(--color-text-purple, #6938ef);\r\n}\r\n\r\n#badge_text_information {\r\n font-size: 13rem !important;\r\n color: var(--color-text-information, #064e94) !important;\r\n}\r\n\r\n.pill_color svg,\r\n.badge_color svg,\r\n.pill_outline svg,\r\n.badge_modern svg {\r\n width: var(--spacing-2);\r\n height: var(--spacing-2);\r\n display: flex;\r\n align-items: center;\r\n}\r\n\r\n.gray svg path[stroke] {\r\n stroke: var(--color-icon, #4b5565);\r\n}\r\n\r\n.gray svg path[fill] {\r\n fill: var(--color-icon, #4b5565);\r\n}\r\n\r\n.primary svg path[stroke] {\r\n stroke: var(--color-icon-brandDarkBlue, #212c65);\r\n}\r\n\r\n.primary svg path[fill] {\r\n fill: var(--color-icon-brandDarkBlue, #212c65);\r\n}\r\n\r\n.error svg path[stroke] {\r\n stroke: var(--color-icon-danger, #b51726);\r\n}\r\n\r\n.error svg path[fill] {\r\n fill: var(--color-icon-danger, #b51726);\r\n}\r\n\r\n.warning svg path[stroke] {\r\n stroke: var(--color-icon-warning, #dc6803);\r\n}\r\n\r\n.warning svg path[fill] {\r\n fill: var(--color-icon-warning, #dc6803);\r\n}\r\n\r\n.icon.success svg path[stroke] {\r\n stroke: var(--color-icon-success, #079455);\r\n}\r\n\r\n.success svg path[fill] {\r\n fill: var(--color-icon-success, #079455);\r\n}\r\n\r\n.discovery svg path[stroke] {\r\n stroke: var(--color-icon-discovery, #0086c9);\r\n}\r\n\r\n.discovery svg path[fill] {\r\n fill: var(--color-icon-discovery, #0086c9);\r\n}\r\n\r\n.information svg path[stroke] {\r\n stroke: var(--color-icon-information, #064e94);\r\n}\r\n\r\n.information svg path[fill] {\r\n fill: var(--color-icon-information, #064e94);\r\n}\r\n\r\n.pink svg path[stroke] {\r\n stroke: var(--color-icon-pink, #dd2590);\r\n}\r\n\r\n.pink svg path[fill] {\r\n fill: var(--color-icon-pink, #dd2590);\r\n}\r\n\r\n.purple svg path[stroke] {\r\n stroke: var(--color-icon-purple, #6938ef);\r\n}\r\n\r\n.purple svg path[fill] {\r\n fill: var(--color-icon-purple, #6938ef);\r\n}\r\n\r\n.pill_outline {\r\n border-radius: var(--rounded-full);\r\n}\r\n\r\n.pill_outline.gray {\r\n border: 1.5px solid var(--color-text, #4b5565);\r\n color: var(--color-text, #4b5565) !important;\r\n}\r\n\r\n.pill_outline.primary {\r\n border: 1.5px solid var(--color-text-brandDarkBlue, #212c65);\r\n color: var(--color-text-brandDarkBlue, #212c65) !important;\r\n}\r\n\r\n.pill_outline.error {\r\n border: 1.5px solid var(--color-text-danger, #b51726);\r\n color: var(--color-text-danger, #b51726) !important;\r\n}\r\n\r\n.pill_outline.warning {\r\n border: 1.5px solid var(--color-text-warning, #dc6803);\r\n color: var(--color-text-warning, #dc6803) !important;\r\n}\r\n\r\n.pill_outline.success {\r\n border: 1.5px solid var(--color-text-success, #079455);\r\n color: var(--color-text-success, #079455) !important;\r\n}\r\n\r\n.pill_outline.discovery {\r\n border: 1.5px solid var(--color-text-discovery, #0086c9);\r\n color: var(--color-text-discovery, #0086c9) !important;\r\n}\r\n\r\n.pill_outline.information {\r\n border: 1.5px solid var(--color-text-information, #064e94);\r\n}\r\n\r\n.pill_outline.pink {\r\n border: 1.5px solid var(--color-text-pink, #dd2590);\r\n color: var(--color-text-pink, #dd2590) !important;\r\n}\r\n\r\n.pill_outline.purple {\r\n border: 1.5px solid var(--color-text-purple, #6938ef);\r\n color: var(--color-text-purple, #6938ef);\r\n}\r\n\r\n.badge_color {\r\n border-radius: var(--rounded-xs);\r\n}\r\n\r\n.badge_modern {\r\n border-radius: var(--rounded-xs);\r\n border: 1px solid var(--color-border-subtler, #e3e8ef);\r\n box-shadow: 0px 1px 2px 0px rgba(16, 24, 40, 0.05);\r\n color: var(--color-text, #4b5565);\r\n}\r\n\r\n.badge_modern svg path {\r\n stroke: inherit; /* Inherit color from the parent, but set in the component */\r\n fill: inherit;\r\n}\r\n\r\n.icon svg {\r\n width: var(--spacing-4);\r\n height: var(--spacing-4);\r\n margin-top: -2px;\r\n}\r\n\r\n.icon svg path[stroke] {\r\n stroke: currentColor;\r\n}\r\n\r\n.icon svg path[fill] {\r\n fill: currentColor;\r\n}\r\n\r\n#icon-only svg {\r\n width: var(--spacing-3);\r\n height: var(--spacing-3);\r\n}\r\n\r\ndiv.md #icon-only svg {\r\n padding: 2px;\r\n}\r\n\r\n#icon-only {\r\n display: flex;\r\n padding: var(--spacing-none);\r\n justify-content: center;\r\n align-items: center;\r\n gap: var(--spacing-1);\r\n flex-shrink: 0;\r\n border-radius: var(--rounded-full);\r\n}\r\n","import { Component, Prop, getAssetPath, h, State, Element } from '@stencil/core';\r\nimport { BadgeIconTypes, BadgeTypes, GeneralColors, GeneralSizes } from '../../models/reusableModels';\r\n\r\n@Component({\r\n tag: 'gb-badge',\r\n styleUrl: 'gb-badge.css',\r\n shadow: true,\r\n assetsDirs: ['assets'],\r\n})\r\nexport class GbBadges {\r\n @Prop() size!: GeneralSizes;\r\n @Prop() icon: BadgeIconTypes;\r\n @Prop() iconLeadingSwap?: string;\r\n @Prop() iconTrailingSwap?: string;\r\n @Prop() flagSwap: string;\r\n @Prop() color!: GeneralColors;\r\n @Prop() type!: BadgeTypes;\r\n @Prop() closeButton?: boolean = false;\r\n @State() leadingIconContent: string;\r\n @State() trailingIconContent: string;\r\n @Element() el: HTMLElement;\r\n\r\n private getDotColor(color: GeneralColors): string {\r\n const colorMap = {\r\n gray: '#4B5565',\r\n primary: '#212C65',\r\n error: '#B51726',\r\n warning: '#DC6803',\r\n success: '#079455',\r\n discovery: '#0BA5EC',\r\n information: '#064E94',\r\n pink: '#DD2590',\r\n purple: '#6938EF',\r\n };\r\n\r\n if (this.type === 'badge_modern') {\r\n return colorMap[color] || color;\r\n }\r\n\r\n return 'currentColor';\r\n }\r\n\r\n async componentWillLoad() {\r\n if (this.iconLeadingSwap) {\r\n const iconLeadingSrc = getAssetPath(`${this.iconLeadingSwap}`);\r\n this.leadingIconContent = await this.fetchSvgContent(iconLeadingSrc);\r\n }\r\n\r\n if (this.iconTrailingSwap) {\r\n const iconTrailingSrc = getAssetPath(`${this.iconTrailingSwap}`);\r\n this.trailingIconContent = await this.fetchSvgContent(iconTrailingSrc);\r\n }\r\n }\r\n\r\n private async fetchSvgContent(src: string): Promise<string> {\r\n try {\r\n const response = await fetch(src);\r\n if (response.ok) {\r\n return await response.text();\r\n }\r\n return '';\r\n } catch (error) {\r\n console.error('Error fetching SVG:', error);\r\n return '';\r\n }\r\n }\r\n\r\n getTextClass() {\r\n switch (this.size) {\r\n case 'sm':\r\n return 'text-xs-medium';\r\n case 'md':\r\n return 'text-sm-medium';\r\n case 'lg':\r\n return 'text-sm-medium';\r\n }\r\n }\r\n\r\n componentDidLoad() {\r\n const slottedContent = this.el.querySelector('p');\r\n\r\n if (slottedContent) {\r\n slottedContent.classList.add(this.getTextClass());\r\n slottedContent.id = `badge_text_${this.color}`;\r\n // slottedContent.classList.add(`${this.color}`);\r\n }\r\n }\r\n\r\n render() {\r\n const classes = {\r\n badge: true,\r\n [this.type]: true,\r\n [this.color]: true,\r\n [this.size]: true,\r\n };\r\n\r\n const flagSwap = getAssetPath(`${this.flagSwap}`);\r\n const dotColor = this.type === 'badge_modern' ? this.getDotColor(this.color) : 'currentColor';\r\n\r\n return (\r\n <div class={classes}>\r\n {this.icon === 'dot' && (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"8\" height=\"8\" viewBox=\"0 0 8 8\" fill={dotColor}>\r\n <circle cx=\"4\" cy=\"4\" r=\"3\" />\r\n </svg>\r\n )}\r\n {this.icon === 'icon_leading' && this.iconLeadingSwap && <div class={`icon left-icon`} innerHTML={this.leadingIconContent}></div>}\r\n {this.icon === 'country' && <img src={flagSwap} alt=\"Country Icon\" />}\r\n {this.icon === 'avatar' && (\r\n <gb-avatar class=\"avatar-icon\" size=\"xxs\" status-icon=\"false\">\r\n <slot name=\"image\" slot=\"image\"></slot>\r\n </gb-avatar>\r\n )}\r\n {this.icon !== 'only' && <slot></slot>}\r\n {this.icon === 'icon_trailing' && this.iconTrailingSwap && <div class={`icon right-icon`} innerHTML={this.trailingIconContent}></div>}\r\n {this.icon === 'only' && (\r\n <div id=\"icon-only\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" stroke={dotColor}>\r\n <path d=\"M6 2L6 10M10 6L2 6\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </div>\r\n )}\r\n {this.closeButton && this.icon !== 'only' && <gb-badge-close color={this.color} type=\"rounded\"></gb-badge-close>}\r\n </div>\r\n );\r\n }\r\n}\r\n","@import './../../global/global.css';\r\n\r\ndiv {\r\n display: flex;\r\n padding: var(--spacing-half);\r\n justify-content: center;\r\n align-items: center;\r\n gap: var(--spacing-none);\r\n height: fit-content;\r\n width: fit-content;\r\n cursor: pointer;\r\n}\r\n\r\ndiv svg{\r\n width: var(--spacing-3);\r\n height: var(--spacing-3);\r\n}\r\n\r\ndiv.square {\r\n border-radius: 3px;\r\n}\r\n\r\ndiv.rounded {\r\n border-radius: 8px;\r\n}\r\n\r\ndiv.gray, div.primary, div.error, div.warning, div.success, div.discovery, div.information, div.pink {\r\n background-color: transparent;\r\n}\r\n\r\ndiv.gray path{\r\n stroke: var(--color-icon, #4B5565); \r\n}\r\n\r\ndiv.primary path{\r\n stroke: var(--color-icon-brandDarkBlue, #212C65);\r\n}\r\n\r\ndiv.error path{\r\n stroke: var(--color-icon-danger, #B51726);\r\n}\r\n\r\ndiv.warning path{\r\n stroke: var(--color-icon-warning, #DC6803);\r\n}\r\n\r\ndiv.success path{\r\n stroke: var(--color-icon-success, #079455); \r\n}\r\n\r\ndiv.discovery path{\r\n stroke: var(--color-icon-discovery, #0086C9);\r\n}\r\n\r\ndiv.information path{\r\n stroke: var(--color-icon-information, #064E94);\r\n}\r\n\r\ndiv.pink path{\r\n stroke: var(--color-icon-pink, #DD2590); \r\n}\r\n\r\ndiv.gray:hover {\r\n background: var(--color-background-gray-subtler, #EEF2F6);\r\n}\r\n\r\ndiv.primary:hover {\r\n background: var(--color-background-information-subtler, #C8E0F9);\r\n}\r\n\r\ndiv.error:hover {\r\n background: var(--color-background-danger-subtler, #FDE3E5);\r\n}\r\n\r\ndiv.warning:hover {\r\n background: var(--color-background-warning-subtler, #FEF0C7);\r\n}\r\n\r\ndiv.success:hover {\r\n background: var(--color-background-success-subtler, #DCFAE6);\r\n}\r\n\r\ndiv.discovery:hover {\r\n background: var(--color-background-discovery-subtler, #E0F2FE);\r\n}\r\n\r\ndiv.information:hover {\r\n background: var(--color-background-information-subtler, #C8E0F9);\r\n}\r\n\r\ndiv.pink:hover {\r\n background: var(--color-background-pink-subtler, #FCE7F6);\r\n}","import { Component, Prop, h } from '@stencil/core';\r\nimport { GeneralColors } from '../../models/reusableModels';\r\n\r\n@Component ({\r\n tag: 'gb-badge-close',\r\n styleUrl: 'gb-badge-close.css',\r\n shadow: true\r\n})\r\n\r\nexport class BadgeClose {\r\n @Prop() color: GeneralColors;\r\n @Prop() type: 'square' | 'rounded';\r\n\r\n render() {\r\n return (\r\n <div class={`${this.color} ${this.type}`}>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <path d=\"M9.50024 2.5L2.50024 9.5M2.50024 2.5L9.50024 9.5\" stroke=\"#4B5565\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </div>\r\n );\r\n }\r\n} ","@import './../../global/global.css';\r\n\r\n:host {\r\n --button-color: var(--primary-color);\r\n --icon-color: var(--primary-color);\r\n display: flex;\r\n align-items: center;\r\n}\r\n\r\nbutton {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n border: none;\r\n cursor: pointer;\r\n border-radius: var(--rounded-sm);\r\n width: 100%;\r\n transition: background-color 0.15s, color 0.15s;\r\n}\r\n\r\nbutton.only {\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n}\r\n\r\nbutton .icon {\r\n display: inline-flex;\r\n width: auto;\r\n height: auto;\r\n}\r\n\r\nbutton .icon svg path[fill] {\r\n fill: var(--icon-color);\r\n}\r\n\r\nbutton .icon svg path[stroke] {\r\n stroke: var(--icon-color);\r\n}\r\n\r\nbutton .icon svg circle {\r\n stroke: var(--icon-color);\r\n}\r\n\r\n/* Button Sizes Styles */\r\nbutton.xl2 {\r\n padding: var(--spacing-none) var(--spacing-6);\r\n height: 3.5rem;\r\n gap: var(--spacing-3);\r\n}\r\n\r\nbutton.xl {\r\n padding: var(--spacing-none) var(--spacing-5);\r\n height: 3rem;\r\n gap: var(--spacing-2);\r\n}\r\n\r\nbutton.lg {\r\n padding: 0.625rem 1.125rem;\r\n height: 2.75rem;\r\n gap: var(--spacing-2);\r\n}\r\n\r\nbutton.md {\r\n padding: var(--spacing-none) var(--spacing-4);\r\n height: 2.5rem;\r\n gap: var(--spacing-2);\r\n}\r\n\r\nbutton.sm {\r\n padding: var(--spacing-none) var(--spacing-3);\r\n height: 2.25rem;\r\n gap: var(--spacing-2);\r\n}\r\n\r\nbutton.only.xl2 {\r\n width: 3.5rem;\r\n height: 3.5rem;\r\n}\r\n\r\nbutton.only.xl {\r\n width: 3rem;\r\n height: 3rem;\r\n}\r\n\r\nbutton.only.lg {\r\n width: 2.75rem;\r\n height: 2.75rem;\r\n}\r\n\r\nbutton.only.md {\r\n width: 2.5rem;\r\n height: 2.5rem;\r\n}\r\n\r\nbutton.only.sm {\r\n width: 2.25rem;\r\n height: 2.25rem;\r\n}\r\n\r\nbutton.xl2 .icon svg {\r\n width: var(--spacing-6);\r\n height: var(--spacing-6);\r\n}\r\n\r\nbutton.xl .icon svg,\r\nbutton.lg .icon svg,\r\nbutton.md .icon svg,\r\nbutton.sm .icon svg {\r\n width: var(--spacing-5);\r\n height: var(--spacing-5);\r\n}\r\n\r\n/* Hierarchy Styles */\r\nbutton.primary {\r\n background-color: var(--color-background-brandRed, #e21b2e);\r\n --icon-color: var(--color-icon-inverse, #ffffff);\r\n}\r\n\r\n.slotted_button_text.primary {\r\n color: var(--color-text-inverse, #ffffff) !important;\r\n}\r\n\r\nbutton.secondary_gray {\r\n background-color: transparent;\r\n border: 1px solid var(--color-border, #9aa4b2);\r\n --icon-color: var(--color-icon, #4b5565);\r\n}\r\n\r\n.slotted_button_text.secondary_gray {\r\n color: var(--color-text, #4b5565) !important;\r\n}\r\n\r\nbutton.secondary_color {\r\n background-color: transparent;\r\n border: 1px solid var(--color-border-brandRed, #e21b2e);\r\n --icon-color: var(--color-icon-brandRed, #e21b2e);\r\n}\r\n\r\n.slotted_button_text.secondary_color {\r\n color: var(--color-text-brandRed, #e21b2e) !important;\r\n}\r\n\r\nbutton.tertiary_gray {\r\n background-color: transparent;\r\n --icon-color: var(--color-icon, #4b5565);\r\n}\r\n\r\n.slotted_button_text.tertiary_gray {\r\n color: var(--color-text, #4b5565) !important;\r\n}\r\n\r\nbutton.tertiary_color {\r\n background-color: transparent;\r\n --icon-color: var(--color-icon-brandRed, #e21b2e);\r\n}\r\n\r\n.slotted_button_text.tertiary_color {\r\n color: var(--color-text-brandRed, #e21b2e) !important;\r\n}\r\n\r\nbutton.link_gray {\r\n background-color: transparent;\r\n --icon-color: var(--color-icon, #4b5565);\r\n padding: var(--spacing-none);\r\n height: fit-content;\r\n justify-content: flex-start;\r\n}\r\n\r\n.slotted_button_text.link_gray {\r\n color: var(--color-text, #4b5565) !important;\r\n}\r\n\r\nbutton.link_color {\r\n background-color: transparent;\r\n --icon-color: var(--color-link, #075db2);\r\n padding: var(--spacing-none);\r\n height: fit-content;\r\n justify-content: flex-start;\r\n}\r\n\r\n.slotted_button_text.link_color {\r\n color: var(--color-link, #075db2) !important;\r\n}\r\n\r\n/* Button Destructive Styles */\r\nbutton.primary.destructive {\r\n background-color: var(--color-background-danger, #b51726);\r\n --icon-color: var(--color-icon-danger-inverse, #ffffff);\r\n}\r\n\r\n.slotted_button_text.primary.destructive {\r\n color: var(--color-text-inverse, #ffffff) !important;\r\n}\r\n\r\nbutton.secondary_gray.destructive,\r\nbutton.secondary_color.destructive {\r\n border: 1px solid var(--color-border-danger, #b51726);\r\n --icon-color: var(--color-icon-danger, #b51726);\r\n}\r\n\r\nbutton.tertiary_gray.destructive,\r\nbutton.tertiary_color.destructive {\r\n --icon-color: var(--color-icon-danger, #b51726);\r\n}\r\n\r\nbutton.link_gray.destructive,\r\nbutton.link_color.destructive {\r\n --icon-color: var(--color-icon-danger, #b51726);\r\n}\r\n\r\n.slotted_button_text.secondary_gray.destructive,\r\n.slotted_button_text.secondary_color.destructive,\r\n.slotted_button_text.tertiary_gray.destructive,\r\n.slotted_button_text.tertiary_color.destructive,\r\n.slotted_button_text.link_gray.destructive,\r\n.slotted_button_text.link_color.destructive {\r\n color: var(--color-text-danger, #b51726) !important;\r\n}\r\n\r\n/* Button States Styles */\r\nbutton.primary:hover {\r\n background-color: var(--color-background-brandRed-hover, #cc1a2a);\r\n}\r\n\r\nbutton.primary:active {\r\n background-color: var(--color-background-brandRed-pressed, #b51726);\r\n}\r\n\r\nbutton.secondary_gray:hover {\r\n background-color: var(--color-background-gray-subtler, #eef2f6);\r\n}\r\n\r\nbutton.secondary_gray:active {\r\n background-color: var(--color-background-gray-subtle, #e3e8ef);\r\n}\r\n\r\nbutton.secondary_color:hover {\r\n background-color: var(--color-background-danger-subtlest, #fef1f2);\r\n}\r\n\r\nbutton.secondary_color:active {\r\n background-color: var(--color-background-danger-subtler, #fde3e5);\r\n}\r\n\r\nbutton.tertiary_gray:hover {\r\n background-color: var(--color-background-gray-subtler, #eef2f6);\r\n}\r\n\r\nbutton.tertiary_gray:active {\r\n background-color: var(--color-background-gray-subtle, #e3e8ef);\r\n}\r\n\r\nbutton.tertiary_color:hover {\r\n background-color: var(--color-background-danger-subtlest, #fef1f2);\r\n}\r\n\r\nbutton.tertiary_color:active {\r\n background-color: var(--color-background-danger-subtler, #fde3e5);\r\n}\r\n\r\nbutton.link_gray:hover,\r\nbutton.link_color:hover {\r\n text-decoration: underline;\r\n}\r\n\r\nbutton.link_gray:active {\r\n text-decoration: none;\r\n color: var(--color-text-bold, #202939);\r\n}\r\n\r\nbutton.link_color:active {\r\n text-decoration: none;\r\n color: var(--color-link-pressed, #064e94);\r\n}\r\n\r\nbutton.primary.destructive:hover {\r\n background-color: var(--color-background-danger-bold, #8c121d);\r\n}\r\n\r\nbutton.primary.destructive:active {\r\n background-color: var(--color-background-brandRed-hover, #cc1a2a); /* ask Mr Gideon about this */\r\n}\r\n\r\nbutton.secondary_gray.destructive:hover,\r\nbutton.secondary_color.destructive:hover {\r\n background-color: var(--color-background-danger-subtlest, #fef1f2);\r\n}\r\n\r\nbutton.secondary_gray.destructive:active,\r\nbutton.secondary_color.destructive:active {\r\n background-color: var(--color-background-danger-subtler, #fde3e5);\r\n}\r\n\r\nbutton.tertiary_gray.destructive:hover,\r\nbutton.tertiary_color.destructive:hover {\r\n background-color: var(--color-background-danger-subtlest, #fef1f2);\r\n}\r\n\r\nbutton.tertiary_gray.destructive:active,\r\nbutton.tertiary_color.destructive:active {\r\n background-color: var(--color-background-danger-subtler, #fde3e5);\r\n}\r\n\r\nbutton.link_gray.destructive:active {\r\n color: var(--color-text-danger-bold, #8c121d);\r\n}\r\n\r\nbutton.link_color.destructive:active {\r\n color: var(--color-text-warning-bold, #93370d);\r\n}\r\n\r\n/* Button Disabled Styles */\r\nbutton.disabled {\r\n cursor: not-allowed;\r\n pointer-events: none;\r\n}\r\n\r\nbutton.primary.disabled {\r\n background-color: var(--color-background-btn-disabled, #eef2f6);\r\n --icon-color: var(--color-icon-disabled, #9aa4b2);\r\n}\r\n\r\nbutton.secondary_gray.disabled,\r\nbutton.secondary_color.disabled {\r\n --icon-color: var(--color-icon-disabled, #9aa4b2);\r\n color: var(--color-text-disabled, #9aa4b2) !important;\r\n border-color: var(--color-border-disabled, #e3e8ef);\r\n}\r\n\r\nbutton.tertiary_gray.disabled,\r\nbutton.tertiary_color.disabled,\r\nbutton.link_gray.disabled,\r\nbutton.link_color.disabled {\r\n --icon-color: var(--color-icon-disabled, #9aa4b2);\r\n color: var(--color-text-disabled, #9aa4b2);\r\n}\r\n\r\n.btn_text {\r\n white-space: nowrap;\r\n display: flex;\r\n align-items: center;\r\n}\r\n\r\n.btn_text::first-letter {\r\n text-transform: uppercase;\r\n}\r\n\r\n.loader {\r\n aspect-ratio: 1;\r\n border-radius: 50%;\r\n -webkit-mask: radial-gradient(farthest-side, #0000 calc(100% - 8px), #000 0);\r\n animation: l13 1s infinite linear;\r\n}\r\n\r\n/* Loader Sizes */\r\n.loader.default.sm,\r\n.loader.default.md,\r\n.loader.default.lg,\r\n.loader.default.xl {\r\n width: 1.8rem;\r\n}\r\n\r\n.loader.default.xl2 {\r\n width: 2rem;\r\n}\r\n\r\n.loader.only.sm,\r\n.loader.only.md,\r\n.loader.only.lg,\r\n.loader.only.xl {\r\n width: 1.5rem;\r\n}\r\n\r\n.loader.only.xl2 {\r\n width: 1.7rem;\r\n}\r\n\r\n/* Loader Colors */\r\n.loader.primary {\r\n background: radial-gradient(farthest-side, var(--color-text-inverse, #ffffff) 94%, #0000) top/8px 8px no-repeat, conic-gradient(#0000 30%, var(--color-text-inverse, #ffffff));\r\n}\r\n\r\n.loader.secondary_gray,\r\n.loader.tertiary_gray {\r\n background: radial-gradient(farthest-side, var(--color-text, #4b5565) 94%, #0000) top/8px 8px no-repeat, conic-gradient(#0000 30%, var(--color-text, #4b5565));\r\n}\r\n\r\n.loader.secondary_color,\r\n.loader.tertiary_color {\r\n background: radial-gradient(farthest-side, var(--color-text-brandRed, #e21b2e) 94%, #0000) top/8px 8px no-repeat, conic-gradient(#0000 30%, var(--color-text-brandRed, #e21b2e));\r\n}\r\n\r\n@keyframes l13 {\r\n 100% {\r\n transform: rotate(1turn);\r\n }\r\n}\r\n","import { Component, Element, getAssetPath, h, Prop, State, Fragment } from \"@stencil/core\";\r\nimport { GeneralHierarchies, GeneralSizes, StateType } from \"../../models/reusableModels\";\r\n\r\n@Component({\r\n tag: 'gb-btn',\r\n styleUrl: 'gb-btn.css',\r\n})\r\nexport class GbButton {\r\n @Prop() size: GeneralSizes;\r\n @Prop() hierarchy: GeneralHierarchies;\r\n @Prop() icon: 'default' | 'only';\r\n @Prop() destructive: boolean = false;\r\n @Prop() state: StateType;\r\n @Prop() iconLeading: boolean = false;\r\n @Prop() iconLeadingSwap: string;\r\n @Prop() iconTrailing: boolean = false;\r\n @Prop() iconTrailingSwap: string;\r\n @Element() el: HTMLElement;\r\n @State() leadingIconSvg: string = '';\r\n @State() trailingIconSvg: string = '';\r\n\r\n componentWillLoad() {\r\n if (this.iconLeading && this.iconLeadingSwap) {\r\n this.loadIcon(this.iconLeadingSwap, 'leading');\r\n }\r\n if (this.iconTrailing && this.iconTrailingSwap) {\r\n this.loadIcon(this.iconTrailingSwap, 'trailing');\r\n }\r\n\r\n const buttonSlot = this.el.querySelector('p');\r\n\r\n if(this.state === 'loading') {\r\n buttonSlot.style.display = 'none';\r\n }\r\n\r\n if (buttonSlot) {\r\n buttonSlot.classList.add(this.getButtonTextClasses());\r\n buttonSlot.classList.add('nowrap');\r\n buttonSlot.id = 'slotted_button_text'\r\n buttonSlot.classList.add('slotted_button_text');\r\n buttonSlot.classList.add(`${this.hierarchy}`);\r\n buttonSlot.classList.add(`${this.destructive ? 'destructive' : ''}`);\r\n buttonSlot.classList.add(`${this.state === 'disabled' ? 'disabled' : ''}`);\r\n }\r\n }\r\n\r\n async loadIcon(iconName: string, type: 'leading' | 'trailing') {\r\n const iconPath = getAssetPath(`${iconName}`);\r\n const response = await fetch(iconPath);\r\n const svg = await response.text();\r\n if (type === 'leading') {\r\n this.leadingIconSvg = svg;\r\n } else {\r\n this.trailingIconSvg = svg;\r\n }\r\n }\r\n\r\n // Helper to apply color styles based on the button state\r\n getButtonClasses() {\r\n return {\r\n button: true,\r\n [this.size]: true,\r\n [this.hierarchy]: true,\r\n destructive: this.destructive,\r\n disabled: this.state === 'disabled',\r\n loading: this.state === 'loading',\r\n only: this.icon === 'only',\r\n };\r\n }\r\n\r\n getButtonTextClasses() {\r\n switch (this.size) {\r\n case 'xl2':\r\n return 'text-lg-semi-bold';\r\n case 'xl':\r\n return 'text-md-semi-bold';\r\n case 'lg':\r\n return 'text-md-semi-bold';\r\n case 'md':\r\n return 'text-sm-semi-bold';\r\n case 'sm':\r\n return 'text-sm-semi-bold';\r\n }\r\n }\r\n\r\n renderLeadingIcon() {\r\n return <div class={`icon left-icon ${this.size}`} innerHTML={this.leadingIconSvg}></div>;\r\n }\r\n\r\n renderTrailingIcon() {\r\n return <div class=\"icon right-icon\" innerHTML={this.trailingIconSvg}></div>;\r\n }\r\n\r\n render() {\r\n return (\r\n <button class={this.getButtonClasses()}>\r\n {this.state === 'loading' && <div class={`loader ${this.hierarchy} ${this.size} ${this.icon}`}></div>}\r\n {this.state !== 'loading' && (\r\n <>\r\n {this.iconLeading && this.icon === 'default' && this.renderLeadingIcon()}\r\n {this.icon === 'default' && (\r\n <div class={`btn_text`}>\r\n <slot></slot>\r\n </div>\r\n )}\r\n {this.iconTrailing && this.renderTrailingIcon()}\r\n {this.icon === 'only' && this.renderLeadingIcon()}\r\n </>\r\n )}\r\n </button>\r\n );\r\n }\r\n}","@import './../../global/global.css';\r\n\r\n:host {\r\n --button-color: var(--primary-color);\r\n --icon-color: var(--primary-color);\r\n display: flex;\r\n align-items: center;\r\n /* width: 100%; */\r\n}\r\n\r\n.button_wrapper{\r\n position: relative;\r\n width: 100%;\r\n}\r\n\r\nbutton {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n border: none;\r\n cursor: pointer;\r\n border-radius: var(--rounded-sm);\r\n width: 100%;\r\n transition: background-color 0.15s, color 0.15s;\r\n}\r\n\r\nbutton.only {\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n}\r\n\r\nbutton .icon {\r\n display: inline-flex;\r\n width: auto;\r\n height: auto;\r\n}\r\n\r\nbutton .icon svg path[fill] {\r\n fill: var(--icon-color);\r\n}\r\n\r\nbutton .icon svg path[stroke] {\r\n stroke: var(--icon-color);\r\n}\r\n\r\nbutton .icon svg circle {\r\n stroke: var(--icon-color);\r\n}\r\n\r\n/* Button Sizes Styles */\r\nbutton.xl2 {\r\n padding: var(--spacing-none) var(--spacing-6);\r\n height: 3.5rem;\r\n gap: var(--spacing-3);\r\n}\r\n\r\nbutton.xl {\r\n padding: var(--spacing-none) var(--spacing-5);\r\n height: 3rem;\r\n gap: var(--spacing-2);\r\n}\r\n\r\nbutton.lg {\r\n padding: 0.625rem 1.125rem;\r\n height: 2.75rem;\r\n gap: var(--spacing-2);\r\n}\r\n\r\nbutton.md {\r\n padding: var(--spacing-none) var(--spacing-4);\r\n height: 2.5rem;\r\n gap: var(--spacing-2);\r\n}\r\n\r\nbutton.sm {\r\n padding: var(--spacing-none) var(--spacing-3);\r\n height: 2.25rem;\r\n gap: var(--spacing-2);\r\n}\r\n\r\nbutton.only{\r\n padding: 0;\r\n}\r\n\r\nbutton.only.xl2 {\r\n width: 3.5rem;\r\n height: 3.5rem;\r\n}\r\n\r\nbutton.only.xl {\r\n width: 3rem;\r\n height: 3rem;\r\n}\r\n\r\nbutton.only.lg {\r\n width: 2.75rem;\r\n height: 2.75rem;\r\n}\r\n\r\nbutton.only.md {\r\n width: 2.5rem;\r\n height: 2.5rem;\r\n /* padding: 0; */\r\n}\r\n\r\nbutton.only.sm {\r\n width: 2.25rem;\r\n height: 2.25rem;\r\n}\r\n\r\nbutton.xl2 .icon svg {\r\n width: var(--spacing-6);\r\n height: var(--spacing-6);\r\n}\r\n\r\nbutton.xl .icon svg,\r\nbutton.lg .icon svg,\r\nbutton.md .icon svg,\r\nbutton.sm .icon svg {\r\n width: var(--spacing-5);\r\n height: var(--spacing-5);\r\n}\r\n\r\n/* Hierarchy Styles */\r\nbutton.primary {\r\n background-color: var(--color-background-brandRed, #e21b2e);\r\n --icon-color: var(--color-icon-inverse, #ffffff);\r\n color: var(--color-text-inverse, #ffffff) !important;\r\n}\r\n\r\n.slotted_text.primary {\r\n}\r\n\r\nbutton.secondary_gray {\r\n background-color: transparent;\r\n border: 1px solid var(--color-border, #9aa4b2);\r\n --icon-color: var(--color-icon, #4b5565);\r\n color: var(--color-text, #4b5565) !important;\r\n}\r\n\r\n.slotted_text.secondary_gray {\r\n}\r\n\r\nbutton.secondary_color {\r\n background-color: transparent;\r\n border: 1px solid var(--color-border-brandRed, #e21b2e);\r\n color: var(--color-text-brandRed, #e21b2e) !important;\r\n --icon-color: var(--color-icon-brandRed, #e21b2e);\r\n}\r\n\r\n.slotted_text.secondary_color {\r\n}\r\n\r\nbutton.tertiary_gray {\r\n background-color: transparent;\r\n --icon-color: var(--color-icon, #4b5565);\r\n color: var(--color-text, #4b5565) !important;\r\n}\r\n\r\n.slotted_text.tertiary_gray {\r\n}\r\n\r\nbutton.tertiary_color {\r\n background-color: transparent;\r\n --icon-color: var(--color-icon-brandRed, #e21b2e);\r\n color: var(--color-text-brandRed, #e21b2e) !important;\r\n}\r\n\r\n.slotted_text.tertiary_color {\r\n}\r\n\r\nbutton.link_gray {\r\n background-color: transparent;\r\n --icon-color: var(--color-icon, #4b5565);\r\n padding: var(--spacing-none);\r\n height: fit-content;\r\n justify-content: flex-start;\r\n color: var(--color-text, #4b5565) !important;\r\n}\r\n\r\n.slotted_text.link_gray {\r\n}\r\n\r\nbutton.link_color {\r\n background-color: transparent;\r\n --icon-color: var(--color-link, #075db2);\r\n padding: var(--spacing-none);\r\n height: fit-content;\r\n justify-content: flex-start;\r\n color: var(--color-link, #075db2) !important;\r\n}\r\n\r\n.slotted_text.link_color {\r\n}\r\n\r\n/* Button Destructive Styles */\r\nbutton.primary.destructive {\r\n background-color: var(--color-background-danger, #b51726);\r\n color: var(--color-text-inverse, #ffffff);\r\n --icon-color: var(--color-icon-danger-inverse, #ffffff);\r\n}\r\n\r\nbutton.secondary_gray.destructive,\r\nbutton.secondary_color.destructive {\r\n border: 1px solid var(--color-border-danger, #b51726);\r\n --icon-color: var(--color-icon-danger, #b51726);\r\n}\r\n\r\nbutton.tertiary_gray.destructive,\r\nbutton.tertiary_color.destructive {\r\n --icon-color: var(--color-icon-danger, #b51726);\r\n}\r\n\r\nbutton.link_gray.destructive,\r\nbutton.link_color.destructive {\r\n --icon-color: var(--color-icon-danger, #b51726);\r\n}\r\n\r\nbutton.secondary_gray.destructive,\r\nbutton.secondary_color.destructive,\r\nbutton.tertiary_gray.destructive,\r\nbutton.tertiary_color.destructive,\r\nbutton.link_gray.destructive,\r\nbutton.link_color.destructive {\r\n color: var(--color-text-danger, #b51726) !important;\r\n}\r\n\r\n/* Button States Styles */\r\nbutton.primary:hover {\r\n background-color: var(--color-background-brandRed-hover, #cc1a2a);\r\n}\r\n\r\nbutton.primary:active {\r\n background-color: var(--color-background-brandRed-pressed, #b51726);\r\n}\r\n\r\nbutton.secondary_gray:hover {\r\n background-color: var(--color-background-gray-subtler, #eef2f6);\r\n}\r\n\r\nbutton.secondary_gray:active {\r\n background-color: var(--color-background-gray-subtle, #e3e8ef);\r\n}\r\n\r\nbutton.secondary_color:hover {\r\n background-color: var(--color-background-danger-subtlest, #fef1f2);\r\n}\r\n\r\nbutton.secondary_color:active {\r\n background-color: var(--color-background-danger-subtler, #fde3e5);\r\n}\r\n\r\nbutton.tertiary_gray:hover {\r\n background-color: var(--color-background-gray-subtler, #eef2f6);\r\n}\r\n\r\nbutton.tertiary_gray:active {\r\n background-color: var(--color-background-gray-subtle, #e3e8ef);\r\n}\r\n\r\nbutton.tertiary_color:hover {\r\n background-color: var(--color-background-danger-subtlest, #fef1f2);\r\n}\r\n\r\nbutton.tertiary_color:active {\r\n background-color: var(--color-background-danger-subtler, #fde3e5);\r\n}\r\n\r\nbutton.link_gray:hover,\r\nbutton.link_color:hover {\r\n text-decoration: underline;\r\n}\r\n\r\nbutton.link_gray:active {\r\n text-decoration: none;\r\n color: var(--color-text-bold, #202939);\r\n}\r\n\r\nbutton.link_color:active {\r\n text-decoration: none;\r\n color: var(--color-link-pressed, #064e94);\r\n}\r\n\r\nbutton.primary.destructive:hover {\r\n background-color: var(--color-background-danger-bold, #8c121d);\r\n}\r\n\r\nbutton.primary.destructive:active {\r\n background-color: var(--color-background-brandRed-hover, #cc1a2a); /* ask Mr Gideon about this */\r\n}\r\n\r\nbutton.secondary_gray.destructive:hover,\r\nbutton.secondary_color.destructive:hover {\r\n background-color: var(--color-background-danger-subtlest, #fef1f2);\r\n}\r\n\r\nbutton.secondary_gray.destructive:active,\r\nbutton.secondary_color.destructive:active {\r\n background-color: var(--color-background-danger-subtler, #fde3e5);\r\n}\r\n\r\nbutton.tertiary_gray.destructive:hover,\r\nbutton.tertiary_color.destructive:hover {\r\n background-color: var(--color-background-danger-subtlest, #fef1f2);\r\n}\r\n\r\nbutton.tertiary_gray.destructive:active,\r\nbutton.tertiary_color.destructive:active {\r\n background-color: var(--color-background-danger-subtler, #fde3e5);\r\n}\r\n\r\nbutton.link_gray.destructive:active {\r\n color: var(--color-text-danger-bold, #8c121d);\r\n}\r\n\r\nbutton.link_color.destructive:active {\r\n color: var(--color-text-warning-bold, #93370d);\r\n}\r\n\r\n/* Button Disabled Styles */\r\nbutton.disabled {\r\n cursor: not-allowed;\r\n pointer-events: none;\r\n}\r\n\r\nbutton.primary.disabled {\r\n background-color: var(--color-background-btn-disabled, #eef2f6);\r\n --icon-color: var(--color-icon-disabled, #9aa4b2);\r\n color: var(--color-text-disabled, #9aa4b2) !important;\r\n}\r\n\r\nbutton.secondary_gray.disabled,\r\nbutton.secondary_color.disabled {\r\n --icon-color: var(--color-icon-disabled, #9aa4b2);\r\n color: var(--color-text-disabled, #9aa4b2) !important;\r\n border-color: var(--color-border-disabled, #e3e8ef);\r\n}\r\n\r\nbutton.tertiary_gray.disabled,\r\nbutton.tertiary_color.disabled,\r\nbutton.link_gray.disabled,\r\nbutton.link_color.disabled {\r\n --icon-color: var(--color-icon-disabled, #9aa4b2);\r\n color: var(--color-text-disabled, #9aa4b2) !important;\r\n}\r\n\r\n.btn_text {\r\n white-space: nowrap;\r\n display: flex;\r\n align-items: center;\r\n}\r\n\r\n.btn_text::first-letter {\r\n text-transform: uppercase;\r\n}\r\n\r\n.loader {\r\n --loader-thickness: 4px;\r\n aspect-ratio: 1;\r\n border-radius: 50%;\r\n -webkit-mask: radial-gradient(farthest-side, #0000 calc(100% - 8px), #000 0);\r\n animation: l13 1s infinite linear;\r\n mask: radial-gradient(farthest-side, rgba(0,0,0,0) calc(100% - var(--loader-thickness)), #000 0);\r\n}\r\n\r\n.loader.default.sm,\r\n.loader.default.md,\r\n.loader.default.lg,\r\n.loader.default.xl {\r\n width: 1.8rem;\r\n}\r\n\r\n.loader.default.xl2 {\r\n width: 2rem;\r\n}\r\n\r\n.loader.only.sm,\r\n.loader.only.md,\r\n.loader.only.lg,\r\n.loader.only.xl {\r\n width: 1.5rem;\r\n}\r\n\r\n.loader.only.xl2 {\r\n width: 1.7rem;\r\n}\r\n\r\n.loader.primary,\r\n.loader.primary.destructive {\r\n background: radial-gradient(farthest-side, var(--color-text-inverse, #ffffff) 94%, #0000) top/var(--loader-thickness) var(--loader-thickness) no-repeat,\r\n conic-gradient(#0000 30%, var(--color-text-inverse, #ffffff));\r\n}\r\n\r\n.loader.secondary_gray,\r\n.loader.tertiary_gray{\r\n background:\r\n radial-gradient(farthest-side, var(--color-text, #4b5565) 94%, #0000) top/var(--loader-thickness) var(--loader-thickness) no-repeat,\r\n conic-gradient(#0000 30%, var(--color-text, #4b5565));\r\n}\r\n\r\n.loader.secondary_color,\r\n.loader.tertiary_color{\r\n background:\r\n radial-gradient(farthest-side, var(--color-text-brandRed, #e21b2e) 94%, #0000) top/var(--loader-thickness) var(--loader-thickness) no-repeat,\r\n conic-gradient(#0000 30%, var(--color-text-brandRed, #e21b2e));\r\n}\r\n\r\n.loader.destructive {\r\n background:\r\n radial-gradient(farthest-side, var(--color-text-danger-bold, #8c121d) 94%, #0000) top/var(--loader-thickness) var(--loader-thickness) no-repeat,\r\n conic-gradient(#0000 30%, var(--color-text-danger-bold, #8c121d));\r\n}\r\n\r\n@keyframes l13 {\r\n 100% {\r\n transform: rotate(1turn);\r\n }\r\n}\r\n\r\n.tooltip{\r\n position: absolute;\r\n left: 0;\r\n}\r\n\r\n.tooltip.sm{\r\n top: -120%;\r\n}\r\n\r\n.tooltip.md{\r\n top: -110%;\r\n}\r\n\r\n.tooltip.lg{\r\n top: -100%;\r\n}\r\n\r\n.tooltip.xl{\r\n top: -90%;\r\n}\r\n\r\n.tooltip.xl2{\r\n top: -75%;\r\n}","import { Component, Element, getAssetPath, h, Prop, State, Fragment } from '@stencil/core';\r\nimport { ArrowPositions, GeneralHierarchies, GeneralSizes, StateType } from '../../models/reusableModels';\r\n\r\n@Component({\r\n tag: 'gb-button',\r\n styleUrl: 'gb-button.css',\r\n shadow: true,\r\n assetsDirs: [''],\r\n})\r\nexport class GbButton {\r\n @Prop() size: GeneralSizes = 'xl';\r\n @Prop() hierarchy: GeneralHierarchies = 'primary';\r\n @Prop() icon!: 'default' | 'only';\r\n @Prop() destructive: boolean = false;\r\n @Prop() state: StateType = 'default';\r\n @Prop() iconLeading: boolean = false;\r\n @Prop() iconLeadingSwap: string;\r\n @Prop() iconTrailing: boolean = false;\r\n @Prop() iconTrailingSwap: string;\r\n @Prop() tooltipText: string = '';\r\n @Prop() arrow: ArrowPositions = 'bottom_center';\r\n @Element() el: HTMLElement;\r\n @State() leadingIconSvg: string = '';\r\n @State() trailingIconSvg: string = '';\r\n @State() internalButtonState: string = '';\r\n @State() internalIconLeadingState: string = '';\r\n @State() internalIconTrailingState: string = '';\r\n @State() tooltipShown: boolean = false;\r\n\r\n componentWillLoad() {\r\n if (this.iconLeading && this.iconLeadingSwap) {\r\n this.loadIcon(this.iconLeadingSwap, 'leading');\r\n }\r\n if (this.iconTrailing && this.iconTrailingSwap) {\r\n this.loadIcon(this.iconTrailingSwap, 'trailing');\r\n }\r\n\r\n const buttonSlot = this.el.querySelector('p');\r\n\r\n if (this.state === 'loading') {\r\n buttonSlot.style.display = 'none';\r\n }\r\n\r\n if (buttonSlot) {\r\n buttonSlot.classList.add(this.getButtonTextClasses());\r\n buttonSlot.classList.add('nowrap');\r\n buttonSlot.classList.add('slotted_button_text');\r\n buttonSlot.classList.add(`${this.hierarchy}`);\r\n }\r\n }\r\n\r\n async loadIcon(iconName: string, type: 'leading' | 'trailing') {\r\n const iconPath = getAssetPath(`${iconName}`);\r\n const response = await fetch(iconPath);\r\n const svg = await response.text();\r\n if (type === 'leading') {\r\n this.leadingIconSvg = svg;\r\n } else {\r\n this.trailingIconSvg = svg;\r\n }\r\n }\r\n\r\n // Helper to apply color styles based on the button state\r\n getButtonClasses() {\r\n return {\r\n button: true,\r\n [this.size]: true,\r\n [this.hierarchy]: true,\r\n destructive: this.destructive,\r\n disabled: this.state === 'disabled',\r\n only: this.icon === 'only',\r\n };\r\n }\r\n\r\n getButtonTextClasses() {\r\n switch (this.size) {\r\n case 'xl2':\r\n return 'text-lg-semi-bold';\r\n case 'xl':\r\n return 'text-md-semi-bold';\r\n case 'lg':\r\n return 'text-md-semi-bold';\r\n case 'md':\r\n return 'text-sm-semi-bold';\r\n case 'sm':\r\n return 'text-sm-semi-bold';\r\n }\r\n }\r\n\r\n renderLeadingIcon() {\r\n return <div class={`icon left-icon ${this.size}`} innerHTML={this.leadingIconSvg}></div>;\r\n }\r\n\r\n renderTrailingIcon() {\r\n return <div class=\"icon right-icon\" innerHTML={this.trailingIconSvg}></div>;\r\n }\r\n\r\n render() {\r\n return (\r\n <div class=\"button_wrapper\">\r\n <button disabled={this.state === 'disabled'} class={this.getButtonClasses()} onMouseEnter={() => this.tooltipShown = true} onMouseLeave={() => this.tooltipShown = false}>\r\n {this.state === 'loading' && <div class={`loader ${this.hierarchy} ${this.size} ${this.icon} ${this.destructive ? 'destructive' : ''}`}></div>}\r\n {this.state !== 'loading' && (\r\n <>\r\n {this.iconLeading && this.icon === 'default' && this.renderLeadingIcon()}\r\n {this.icon === 'default' && (\r\n <div class={`btn_text`}>\r\n <slot></slot>\r\n </div>\r\n )}\r\n {this.iconTrailing && this.renderTrailingIcon()}\r\n {this.icon === 'only' && this.renderLeadingIcon()}\r\n </>\r\n )}\r\n </button>\r\n {this.tooltipText && this.icon === 'only' && this.tooltipShown && (\r\n <gb-tooltip show-arrow={true} arrow={this.arrow} class={`tooltip ${this.size}`}>\r\n <p slot=\"label\">{this.tooltipText}</p>\r\n </gb-tooltip>\r\n )}\r\n </div>\r\n );\r\n }\r\n}\r\n","@import './../../global/global.css';\r\n\r\ndiv {\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n gap: var(--spacing-none);\r\n border-radius: var(--rounded-sm);\r\n height: fit-content;\r\n width: fit-content;\r\n cursor: pointer;\r\n}\r\n\r\n/* Sizes */\r\ndiv.lg {\r\n padding: 0.625rem;\r\n}\r\n\r\ndiv.lg svg {\r\n width: var(--spacing-6);\r\n height: var(--spacing-6);\r\n}\r\n\r\ndiv.md svg {\r\n width: var(--spacing-5);\r\n height: var(--spacing-5);\r\n}\r\n\r\ndiv.sm {\r\n padding: var(--spacing-2);\r\n}\r\n\r\ndiv.md {\r\n padding: 0.625rem;\r\n}\r\n\r\n/* Colors */\r\ndiv.primary,\r\ndiv.information,\r\ndiv.success,\r\ndiv.gray,\r\ndiv.warning,\r\ndiv.error,\r\ndiv.white {\r\n background-color: transparent;\r\n}\r\n\r\ndiv.white path {\r\n stroke: var(--color-icon-inverse, #FFFFFF);\r\n}\r\n\r\ndiv.primary path {\r\n stroke: var(--color-icon-brandDarkBlue, #212C65);\r\n}\r\n\r\ndiv.success path {\r\n stroke: var(--color-icon-success, #079455);\r\n}\r\n\r\ndiv.information path {\r\n stroke: var(--color-icon-information, #064E94);\r\n}\r\n\r\ndiv.gray path {\r\n stroke: var(--color-icon, #4b5565);\r\n}\r\n\r\ndiv.warning path {\r\n stroke: var(--color-icon-warning, #DC6803);\r\n}\r\n\r\ndiv.error path {\r\n stroke: var(--color-icon-danger, #B51726);\r\n}\r\n\r\n/* States */\r\ndiv.white:hover {\r\n background-color: var(--color-background-gray-bold, #9AA4B2);\r\n}\r\n\r\ndiv.primary:hover {\r\n background-color: var(--color-background-discovery-subtler, #E0F2FE);\r\n}\r\n\r\ndiv.primary:hover path {\r\n stroke: var(--color-icon-brandRed, #E21B2E);\r\n}\r\n\r\ndiv.white:active {\r\n background-color: var(--color-background-gray, #CDD5DF);\r\n}\r\n\r\ndiv.primary:active {\r\n background-color: var(--color-background-discovery-subtlest, #F0F9FF);\r\n}\r\n\r\ndiv.information:hover {\r\n background-color: var(--color-background-information-subtler, #C8E0F9);\r\n}\r\n\r\ndiv.information:hover path {\r\n stroke: var(--color-icon-information-bold, #042F59);\r\n}\r\n\r\ndiv.information:active {\r\n background-color: var(--color-background-information-subtlest, #E4F0FC);\r\n}\r\n\r\ndiv.success:hover {\r\n background-color: var(--color-background-success-subtler, #DCFAE6);\r\n}\r\n\r\ndiv.success:hover path {\r\n stroke: var(--color-icon-success-bold, #085D3A);\r\n}\r\n\r\ndiv.success:active {\r\n background-color: var(--color-background-success-subtlest, #ECFDF3);\r\n}\r\n\r\ndiv.gray:hover {\r\n background-color: var(--color-background-gray-subtler, #eef2f6);\r\n}\r\n\r\ndiv.gray:hover path {\r\n stroke: var(--color-icon-brandRed, #e21b2e);\r\n}\r\n\r\ndiv.gray:active {\r\n background-color: var(--color-background-gray-subtlest, #f6f8fa);\r\n}\r\n\r\ndiv.warning:hover {\r\n background-color: var(--color-background-warning-subtler, #FEF0C7);\r\n}\r\n\r\ndiv.warning:hover path {\r\n stroke: var(--color-icon-warning-bold, #93370D);\r\n}\r\n\r\ndiv.warning:active {\r\n background-color: var(--color-background-warning-subtlest, #FFFAEB);\r\n}\r\n\r\ndiv.error:hover {\r\n background-color: var(--color-background-danger-subtler, #FDE3E5);\r\n}\r\n\r\ndiv.error:hover path {\r\n stroke: var(--color-icon-danger-bold, #8C121D);\r\n}\r\n\r\ndiv.error:active {\r\n background-color: var(--color-background-danger-subtlest, #FEF1F2);\r\n}\r\n","import { Component, h, Prop } from '@stencil/core';\r\nimport { GeneralColors, GeneralSizes } from '../../models/reusableModels';\r\n@Component({\r\n tag: 'gb-button-close',\r\n styleUrl: 'gb-button-close.css',\r\n shadow: true\r\n})\r\n\r\nexport class GbButtonClose {\r\n @Prop() size!: GeneralSizes;\r\n @Prop() color!: GeneralColors;\r\n\r\n render() {\r\n return (\r\n <div class={`${this.size} ${this.color}`}>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" class={`${this.size}`}>\r\n <path d=\"M19.0005 4.99988L5.00049 18.9999M5.00049 4.99988L19.0005 18.9999\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </div>\r\n )\r\n }\r\n}","@import './../../global/global.css';\r\n\r\n.button_group_container{\r\n display: flex;\r\n flex-direction: column;\r\n gap: var(--spacing-2);\r\n}\r\n\r\n.dropdown_label{\r\n color: var(--color-text, #4B5565);\r\n}\r\n\r\n.button_group_wrapper {\r\n display: inline-flex;\r\n align-items: flex-start;\r\n width: fit-content;\r\n height: fit-content;\r\n border-radius: 0.5rem;\r\n border: 1px solid var(--color-border-subtle, #cdd5df);\r\n box-shadow: var(--shadow-xs);\r\n overflow: hidden;\r\n}\r\n","import { AttachInternals, Component, Event, EventEmitter, Prop, State, Watch, h } from '@stencil/core';\r\nimport { ButtonGroupTypes } from '../../models/reusableModels';\r\n\r\n@Component({\r\n tag: 'gb-button-group',\r\n styleUrl: 'gb-button-group.css',\r\n shadow: true,\r\n formAssociated: true,\r\n})\r\nexport class GbButtonGroup {\r\n @AttachInternals() internals: ElementInternals;\r\n @Prop() items: { label: string; current?: boolean; icon?: string }[] = [\r\n // { label: 'Male', current: true, icon: 'assets/calendar-02.svg' },\r\n // { label: 'Female', current: false, icon: 'assets/calendar-02.svg' },\r\n // { label: 'Hi', current: false, icon: 'assets/calendar-02.svg' },\r\n // { label: 'Gideon', current: false, icon: 'assets/calendar-02.svg' },\r\n // { label: 'Emmanuel', current: false, icon: 'assets/calendar-02.svg' },\r\n ];\r\n @Prop() icon: ButtonGroupTypes;\r\n @Prop() showLabel: boolean = false;\r\n @Prop() label: string = '';\r\n @State() internalItems: { label: string; current?: boolean; icon?: string }[] = [];\r\n @State() selectedValue: string = '';\r\n // @Event() valueChange: EventEmitter<{ value: string; current: boolean }>;\r\n @Event() optionChange: EventEmitter<string>;\r\n\r\n @Watch('items')\r\n onItemsUpdated(newValue: { label: string; current?: boolean; icon?: string }[]) {\r\n this.internalItems = newValue;\r\n }\r\n\r\n componentWillLoad() {\r\n this.internalItems = [...this.items];\r\n }\r\n\r\n handleSelect(index: number) {\r\n const selectedValue = this.internalItems[index].label;\r\n\r\n this.internalItems = this.internalItems.map((item, i) => ({\r\n ...item,\r\n current: i === index,\r\n }));\r\n\r\n this.selectedValue = selectedValue;\r\n\r\n this.optionChange.emit(this.selectedValue);\r\n // console.log(this.selectedValue)\r\n\r\n // console.log({ value: this.selectedValue, current: this.internalItems[index].current });\r\n // this.valueChange.emit({ value: this.selectedValue, current: this.internalItems[index].current });\r\n }\r\n\r\n render() {\r\n return (\r\n <div class=\"button_group_container\">\r\n {this.showLabel && <p class=\"dropdown_label text-sm-regular\">{this.label}</p>}\r\n <div class=\"button_group_wrapper\">\r\n {this.internalItems.map((item, index) => (\r\n <gb-button-group-base\r\n key={index}\r\n state=\"default\"\r\n icon={this.icon}\r\n label={item.label}\r\n current={item.current}\r\n onClick={() => this.handleSelect(index)}\r\n icon-src={item.icon}\r\n ></gb-button-group-base>\r\n ))}\r\n </div>\r\n </div>\r\n );\r\n }\r\n}\r\n","@import './../../global/global.css';\r\n\r\n.button_group_base_div {\r\n display: flex;\r\n height: 1.875rem;\r\n padding: var(--spacing-none) var(--spacing-4);\r\n justify-content: center;\r\n align-items: center;\r\n gap: 0.5rem;\r\n flex-shrink: 0;\r\n border-right: 1px solid var(--color-border-subtle, #cdd5df);\r\n cursor: pointer;\r\n}\r\n\r\n.button_group_base_div.leading {\r\n height: 2.5rem;\r\n}\r\n\r\n.button_group_base_div.dot,\r\n.button_group_base_div.checkbox {\r\n gap: 0.5rem;\r\n}\r\n\r\n.button_group_base_div.only {\r\n width: 2.5rem;\r\n height: 2.5rem;\r\n padding: var(--spacing-none);\r\n}\r\n\r\n.icon {\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n}\r\n\r\n.icon svg {\r\n width: 1.25rem;\r\n height: 1.25rem;\r\n}\r\n\r\n.dott {\r\n width: 0.625rem;\r\n height: 0.625rem;\r\n border-radius: var(--rounded-full);\r\n}\r\n\r\n.dott.default {\r\n background-color: var(--color-icon-success, #079455);\r\n}\r\n\r\n.dott.disabled {\r\n background-color: var(--color-icon-disabled, #cdd5df);\r\n}\r\n\r\n.button_group_base_div.default.false,\r\n.button_group_base_div.default.leading,\r\n.button_group_base_div.default.checkbox,\r\n.button_group_base_div.default.dot,\r\n.button_group_base_div.default.only {\r\n background: var(--color-background-card, #ffffff);\r\n color: var(--color-text, #4b5565);\r\n}\r\n\r\n.button_group_base_div.default.false.current,\r\n.button_group_base_div.default.leading.current,\r\n.button_group_base_div.default.checkbox.current,\r\n.button_group_base_div.default.dot.current,\r\n.button_group_base_div.default.only.current {\r\n background-color: var(--color-background-information-subtlest, #e4f0fc);\r\n color: var(--color-text-information, #064e94);\r\n}\r\n\r\n.button_group_base_div.default.false:hover,\r\n.button_group_base_div.default.leading:hover,\r\n.button_group_base_div.default.checkbox:hover,\r\n.button_group_base_div.default.dot:hover,\r\n.button_group_base_div.default.only:hover {\r\n background: var(--color-background-gray-subtler, #eef2f6);\r\n color: var(--color-text-bold, #202939);\r\n}\r\n\r\n.button_group_base_div.default.false.current:hover,\r\n.button_group_base_div.default.leading.current:hover,\r\n.button_group_base_div.default.checkbox.current:hover,\r\n.button_group_base_div.default.dot.current:hover,\r\n.button_group_base_div.default.only.current:hover {\r\n background-color: var(--color-background-information-subtler, #c8e0f9);\r\n color: var(--color-text-information-bold, #042f59);\r\n}\r\n\r\n.button_group_base_div.default.false:active,\r\n.button_group_base_div.default.leading:active,\r\n.button_group_base_div.default.checkbox:active,\r\n.button_group_base_div.default.dot:active,\r\n.button_group_base_div.default.only:active {\r\n background: var(--color-background-gray-subtle, #e3e8ef);\r\n color: var(--color-text-bold, #202939);\r\n}\r\n\r\n.button_group_base_div.default.false.current:active,\r\n.button_group_base_div.default.leading.current:active,\r\n.button_group_base_div.default.checkbox.current:active,\r\n.button_group_base_div.default.dot.current:active,\r\n.button_group_base_div.default.only.current:active {\r\n background-color: var(--color-background-information-subtle, #9ac7f4);\r\n color: var(--color-text-information-bold, #042f59);\r\n}\r\n\r\n.button_group_base_div.disabled,\r\n.button_group_base_div.current.disabled {\r\n color: var(--color-text-disabled, #cdd5df);\r\n background-color: var(--color-background-card, #ffffff);\r\n cursor: not-allowed;\r\n pointer-events: none;\r\n}\r\n\r\n.icon.default svg path[stroke] {\r\n stroke: var(--color-icon, #4b5565);\r\n}\r\n\r\n.button_group_base_div:hover .icon.default svg path[stroke],\r\n.button_group_base_div:active .icon.default svg path[stroke] {\r\n stroke: var(--color-icon-bold, #202939);\r\n}\r\n\r\n.icon.default.current svg path[stroke] {\r\n stroke: var(--color-icon-information, #064e94);\r\n}\r\n\r\n.button_group_base_div:hover .icon.default.current svg path[stroke] {\r\n stroke: var(--color-icon-information-bold, #042f59);\r\n}\r\n\r\n.icon.default svg path[fill] {\r\n fill: var(--color-icon, #4b5565);\r\n}\r\n\r\n.button_group_base_div:hover .icon.default svg path[fill],\r\n.button_group_base_div:active .icon.default svg path[fill] {\r\n fill: var(--color-icon-bold, #202939);\r\n}\r\n\r\n.icon.default.current svg path[fill] {\r\n fill: var(--color-icon-information, #064e94);\r\n}\r\n\r\n.button_group_base_div:hover .icon.default.current svg path[fill],\r\n.button_group_base_div:active .icon.default.current svg path[fill] {\r\n fill: var(--color-icon-information-bold, #042f59);\r\n}\r\n\r\n.icon.disabled svg path[stroke] {\r\n stroke: var(--color-icon-disabled, #cdd5df);\r\n}\r\n\r\n.icon.disabled svg path[fill] {\r\n fill: var(--color-icon-disabled, #cdd5df);\r\n}\r\n","import { Component, Prop, State, getAssetPath, h } from '@stencil/core';\r\nimport { ButtonGroupTypes, StateType } from '../../models/reusableModels';\r\n\r\n@Component({\r\n tag: 'gb-button-group-base',\r\n styleUrl: 'gb-button-group-base.css',\r\n shadow: true\r\n})\r\n\r\nexport class GbButtonGroupBase {\r\n @Prop() current: boolean = false;\r\n @Prop() icon: ButtonGroupTypes;\r\n @Prop() state: StateType;\r\n @Prop() label: string = '';\r\n @Prop() iconSrc: string = '';\r\n @State() leadingIconSvg: string = '';\r\n\r\n async loadIcon(iconName: string) {\r\n const iconPath = getAssetPath(`${iconName}`);\r\n const response = await fetch(iconPath);\r\n const svg = await response.text();\r\n this.leadingIconSvg = svg;\r\n }\r\n\r\n componentWillLoad() {\r\n this.loadIcon(this.iconSrc);\r\n }\r\n\r\n render() {\r\n return (\r\n <div class={`button_group_base_div ${this.current ? 'current' : ''} ${this.icon} ${this.state}`}>\r\n {this.icon === 'leading' && <div class={`icon ${this.current ? 'current' : ''} ${this.state}`} innerHTML={this.leadingIconSvg}></div>}\r\n {this.icon === 'only' && <div class={`icon ${this.current ? 'current' : ''} ${this.state}`} innerHTML={this.leadingIconSvg}></div>}\r\n {this.icon === 'checkbox' && (\r\n <gb-checkbox checked={this.current} indeterminate={false} size=\"sm\" type=\"radio\" state={this.state} text={true} supporting-text={false}>\r\n <p slot=\"label\">{this.label}</p>\r\n </gb-checkbox>\r\n )}\r\n {this.icon === 'dot' && (\r\n <div class=\"dot_div\">\r\n <div class={`dott ${this.state}`}></div>\r\n </div>\r\n )}\r\n {this.icon !== 'only' && this.icon !== 'checkbox' && <p class=\"text-sm-semi-bold\">{this.label}</p>}\r\n </div>\r\n );\r\n }\r\n}\r\n","@import './../../global/global.css';\r\n\r\n.checkbox_div{\r\n display: flex;\r\n justify-content: space-between;\r\n width: fit-content;\r\n}\r\n\r\n.checkbox_div{\r\n gap: var(--spacing-none);\r\n}\r\n\r\n.checkbox_div.text_class.sm{\r\n gap: var(--spacing-2);\r\n}\r\n\r\n.checkbox_div.text_class.md{\r\n gap: var(--spacing-3);\r\n}\r\n\r\n.checkbox_base.checkbox_no_supporting_text{\r\n margin-top: 0.22rem;\r\n}\r\n\r\n.text{\r\n display: flex;\r\n flex-direction: column;\r\n gap: var(--spacing-2);\r\n}\r\n\r\n.text.no_supporting_text{\r\n justify-content: center;\r\n}\r\n\r\n::slotted(p){\r\n color: var(--color-text, #4B5565) !important;\r\n}","import { Component, Element, Event, EventEmitter, h, Prop } from \"@stencil/core\";\r\nimport { CheckBoxVariants, GeneralSizes, StateType } from \"../../models/reusableModels\";\r\n\r\n@Component({\r\n tag: 'gb-checkbox',\r\n styleUrl: 'gb-checkbox.css',\r\n shadow: true,\r\n})\r\nexport class GbCheckbox {\r\n @Prop() checked: boolean = false;\r\n @Prop() indeterminate: boolean = false;\r\n @Prop() size: GeneralSizes;\r\n @Prop() type: CheckBoxVariants; \r\n @Prop() state: StateType = 'default';\r\n @Prop() text: boolean = false;\r\n @Prop() supportingText: boolean = false;\r\n @Element() el: HTMLElement;\r\n @Event() checkboxClicked: EventEmitter<boolean>;\r\n\r\n getMainTextClass() {\r\n switch (this.size) {\r\n case 'sm':\r\n return `text-sm-medium`;\r\n case 'md':\r\n return `text-md-medium`;\r\n }\r\n }\r\n\r\n getSupportingTextClass() {\r\n switch (this.size) {\r\n case 'sm':\r\n return 'text-xs-regular';\r\n case 'md':\r\n return 'text-sm-regular';\r\n }\r\n }\r\n\r\n componentDidLoad() {\r\n const mainTextSlot = this.el.querySelector('[slot=\"label\"]');\r\n const supportingTextSlot = this.el.querySelector('[slot=\"supporting_text\"]');\r\n\r\n if (mainTextSlot) {\r\n mainTextSlot.classList.add(this.getMainTextClass());\r\n }\r\n\r\n if (supportingTextSlot) {\r\n supportingTextSlot.classList.add(this.getSupportingTextClass());\r\n }\r\n }\r\n\r\n onCheckboxClicked(event) : void {\r\n this.checkboxClicked.emit(event.detail);\r\n }\r\n\r\n render() {\r\n return (\r\n <div class={`checkbox_div ${this.size} ${this.text ? 'text_class' : ''}`}>\r\n <div class={`checkbox_base ${!this.supportingText ? 'checkbox_no_supporting_text' : ''}`}>\r\n <gb-checkbox-base size={this.size} type={this.type} state={this.state} indeterminate={this.indeterminate} onCheckboxClicked={this.onCheckboxClicked.bind(this)} checked={this.checked}></gb-checkbox-base>\r\n </div>\r\n {this.text && (\r\n <div class={`text ${!this.supportingText ? 'no_supporting_text' : ''}`}>\r\n <slot name=\"label\"></slot>\r\n {this.supportingText && <slot name=\"supporting_text\"></slot>}\r\n </div>\r\n )}\r\n </div>\r\n );\r\n }\r\n}","@import './../../global/global.css';\r\n\r\n:host{\r\n width: fit-content;\r\n}\r\n\r\n/* Checkbox Styles */\r\n.checkbox_container{\r\n width: fit-content;\r\n height: fit-content;\r\n cursor: pointer;\r\n}\r\n\r\nsvg.sm{\r\n width: var(--spacing-4);\r\n height: var(--spacing-4);\r\n}\r\n\r\nsvg.md{\r\n width: var(--spacing-5);\r\n height: var(--spacing-5);\r\n}\r\n\r\n.checkbox_default_unchecked.hover:hover path{\r\n stroke: var(--color-border-selected, #075DB2);\r\n}\r\n\r\n.checkbox_default_checked:hover path, .checkbox_default_indeterminate:hover path{\r\n fill: var(--color-background-information, #064E94);\r\n}\r\n\r\n.checkbox_default_checked:hover .border, .checkbox_default_indeterminate:hover .border{\r\n stroke: var(--color-border-information, #064E94);\r\n}\r\n\r\n/* Radio Styles */\r\n.radio_default_unchecked:hover rect{\r\n stroke: var(--color-border-selected, #075DB2);\r\n}\r\n\r\n/* Check Circle Styles */\r\n.circle_default_unchecked:hover rect{\r\n stroke: var(--color-border-selected, #075DB2);\r\n}\r\n\r\n.circle_default_checked:hover rect{\r\n stroke: var(--color-border-information, #064E94);\r\n}\r\n\r\n.circle_default_checked:hover .background {\r\n fill: var(--color-background-information, #064E94);\r\n}","import { Component, Event, EventEmitter, h, Prop } from \"@stencil/core\";\r\nimport { CheckBoxVariants, GeneralSizes, StateType } from '../../models/reusableModels';\r\n\r\n@Component({\r\n tag: 'gb-checkbox-base',\r\n styleUrl: 'gb-checkbox-base.css',\r\n shadow: true,\r\n})\r\nexport class GbCheckboxBase {\r\n @Prop({ mutable: true }) state: StateType;\r\n @Prop() size: GeneralSizes;\r\n @Prop() type: CheckBoxVariants;\r\n @Prop({ mutable: true }) checked: boolean = false;\r\n @Prop({ mutable: true }) indeterminate: boolean = false;\r\n @Event() checkboxClicked: EventEmitter<boolean>;\r\n\r\n private renderSVG() {\r\n switch (this.type) {\r\n case 'checkbox':\r\n return this.renderCheckbox();\r\n case 'check_circle':\r\n return this.renderCircle();\r\n case 'radio':\r\n return this.renderRadio();\r\n default:\r\n return null;\r\n }\r\n }\r\n\r\n private renderCheckbox() {\r\n if (this.state === \"default\" && this.checked) {\r\n return (\r\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class={`checkbox_default_checked ${this.size}`}>\r\n <path\r\n d=\"M0.5 8C0.5 6.10025 0.501062 4.72573 0.641988 3.67754C0.78098 2.64373 1.04772 2.00253 1.52513 1.52513C2.00253 1.04772 2.64373 0.78098 3.67754 0.641988C4.72573 0.501062 6.10025 0.5 8 0.5C9.89975 0.5 11.2743 0.501062 12.3225 0.641988C13.3563 0.78098 13.9975 1.04772 14.4749 1.52513C14.9523 2.00253 15.219 2.64373 15.358 3.67754C15.4989 4.72573 15.5 6.10025 15.5 8C15.5 9.89975 15.4989 11.2743 15.358 12.3225C15.219 13.3563 14.9523 13.9975 14.4749 14.4749C13.9975 14.9523 13.3563 15.219 12.3225 15.358C11.2743 15.4989 9.89975 15.5 8 15.5C6.10025 15.5 4.72573 15.4989 3.67754 15.358C2.64373 15.219 2.00253 14.9523 1.52513 14.4749C1.04772 13.9975 0.78098 13.3563 0.641988 12.3225C0.501062 11.2743 0.5 9.89975 0.5 8Z\"\r\n fill=\"#075DB2\"\r\n />\r\n <path\r\n d=\"M0.5 8C0.5 6.10025 0.501062 4.72573 0.641988 3.67754C0.78098 2.64373 1.04772 2.00253 1.52513 1.52513C2.00253 1.04772 2.64373 0.78098 3.67754 0.641988C4.72573 0.501062 6.10025 0.5 8 0.5C9.89975 0.5 11.2743 0.501062 12.3225 0.641988C13.3563 0.78098 13.9975 1.04772 14.4749 1.52513C14.9523 2.00253 15.219 2.64373 15.358 3.67754C15.4989 4.72573 15.5 6.10025 15.5 8C15.5 9.89975 15.4989 11.2743 15.358 12.3225C15.219 13.3563 14.9523 13.9975 14.4749 14.4749C13.9975 14.9523 13.3563 15.219 12.3225 15.358C11.2743 15.4989 9.89975 15.5 8 15.5C6.10025 15.5 4.72573 15.4989 3.67754 15.358C2.64373 15.219 2.00253 14.9523 1.52513 14.4749C1.04772 13.9975 0.78098 13.3563 0.641988 12.3225C0.501062 11.2743 0.5 9.89975 0.5 8Z\"\r\n stroke=\"#075DB2\"\r\n class=\"border\"\r\n />\r\n <path d=\"M4.5 9.25C4.5 9.25 5.25 9.25 6.25 11C6.25 11 9.02941 6.41667 11.5 5.5\" stroke=\"white\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n );\r\n } else if (this.state === \"default\" && this.indeterminate) {\r\n return (\r\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class={`checkbox_default_indeterminate ${this.size}`}>\r\n <path\r\n d=\"M0.5 8C0.5 6.10025 0.501062 4.72573 0.641988 3.67754C0.78098 2.64373 1.04772 2.00253 1.52513 1.52513C2.00253 1.04772 2.64373 0.78098 3.67754 0.641988C4.72573 0.501062 6.10025 0.5 8 0.5C9.89975 0.5 11.2743 0.501062 12.3225 0.641988C13.3563 0.78098 13.9975 1.04772 14.4749 1.52513C14.9523 2.00253 15.219 2.64373 15.358 3.67754C15.4989 4.72573 15.5 6.10025 15.5 8C15.5 9.89975 15.4989 11.2743 15.358 12.3225C15.219 13.3563 14.9523 13.9975 14.4749 14.4749C13.9975 14.9523 13.3563 15.219 12.3225 15.358C11.2743 15.4989 9.89975 15.5 8 15.5C6.10025 15.5 4.72573 15.4989 3.67754 15.358C2.64373 15.219 2.00253 14.9523 1.52513 14.4749C1.04772 13.9975 0.78098 13.3563 0.641988 12.3225C0.501062 11.2743 0.5 9.89975 0.5 8Z\"\r\n fill=\"#075DB2\"\r\n />\r\n <path\r\n d=\"M0.5 8C0.5 6.10025 0.501062 4.72573 0.641988 3.67754C0.78098 2.64373 1.04772 2.00253 1.52513 1.52513C2.00253 1.04772 2.64373 0.78098 3.67754 0.641988C4.72573 0.501062 6.10025 0.5 8 0.5C9.89975 0.5 11.2743 0.501062 12.3225 0.641988C13.3563 0.78098 13.9975 1.04772 14.4749 1.52513C14.9523 2.00253 15.219 2.64373 15.358 3.67754C15.4989 4.72573 15.5 6.10025 15.5 8C15.5 9.89975 15.4989 11.2743 15.358 12.3225C15.219 13.3563 14.9523 13.9975 14.4749 14.4749C13.9975 14.9523 13.3563 15.219 12.3225 15.358C11.2743 15.4989 9.89975 15.5 8 15.5C6.10025 15.5 4.72573 15.4989 3.67754 15.358C2.64373 15.219 2.00253 14.9523 1.52513 14.4749C1.04772 13.9975 0.78098 13.3563 0.641988 12.3225C0.501062 11.2743 0.5 9.89975 0.5 8Z\"\r\n stroke=\"#075DB2\"\r\n class=\"border\"\r\n />\r\n <path d=\"M12 8L4 8\" stroke=\"white\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n );\r\n } else if (this.state === \"disabled\" && !this.checked) {\r\n return (\r\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class={`checkbox_disabled_unchecked ${this.size}`}>\r\n <path\r\n d=\"M0.5 8C0.5 6.10025 0.501062 4.72573 0.641988 3.67754C0.78098 2.64373 1.04772 2.00253 1.52513 1.52513C2.00253 1.04772 2.64373 0.78098 3.67754 0.641988C4.72573 0.501062 6.10025 0.5 8 0.5C9.89975 0.5 11.2743 0.501062 12.3225 0.641988C13.3563 0.78098 13.9975 1.04772 14.4749 1.52513C14.9523 2.00253 15.219 2.64373 15.358 3.67754C15.4989 4.72573 15.5 6.10025 15.5 8C15.5 9.89975 15.4989 11.2743 15.358 12.3225C15.219 13.3563 14.9523 13.9975 14.4749 14.4749C13.9975 14.9523 13.3563 15.219 12.3225 15.358C11.2743 15.4989 9.89975 15.5 8 15.5C6.10025 15.5 4.72573 15.4989 3.67754 15.358C2.64373 15.219 2.00253 14.9523 1.52513 14.4749C1.04772 13.9975 0.78098 13.3563 0.641988 12.3225C0.501062 11.2743 0.5 9.89975 0.5 8Z\"\r\n fill=\"#F6F8FA\"\r\n />\r\n <path\r\n d=\"M0.5 8C0.5 6.10025 0.501062 4.72573 0.641988 3.67754C0.78098 2.64373 1.04772 2.00253 1.52513 1.52513C2.00253 1.04772 2.64373 0.78098 3.67754 0.641988C4.72573 0.501062 6.10025 0.5 8 0.5C9.89975 0.5 11.2743 0.501062 12.3225 0.641988C13.3563 0.78098 13.9975 1.04772 14.4749 1.52513C14.9523 2.00253 15.219 2.64373 15.358 3.67754C15.4989 4.72573 15.5 6.10025 15.5 8C15.5 9.89975 15.4989 11.2743 15.358 12.3225C15.219 13.3563 14.9523 13.9975 14.4749 14.4749C13.9975 14.9523 13.3563 15.219 12.3225 15.358C11.2743 15.4989 9.89975 15.5 8 15.5C6.10025 15.5 4.72573 15.4989 3.67754 15.358C2.64373 15.219 2.00253 14.9523 1.52513 14.4749C1.04772 13.9975 0.78098 13.3563 0.641988 12.3225C0.501062 11.2743 0.5 9.89975 0.5 8Z\"\r\n stroke=\"#E3E8EF\"\r\n />\r\n </svg>\r\n );\r\n } else if (this.state === \"disabled\" && this.checked) {\r\n return (\r\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class={`${this.size}`}>\r\n <path\r\n d=\"M0.5 8C0.5 6.10025 0.501062 4.72573 0.641988 3.67754C0.78098 2.64373 1.04772 2.00253 1.52513 1.52513C2.00253 1.04772 2.64373 0.78098 3.67754 0.641988C4.72573 0.501062 6.10025 0.5 8 0.5H12C13.8998 0.5 15.2743 0.501062 16.3225 0.641988C17.3563 0.78098 17.9975 1.04772 18.4749 1.52513C18.9523 2.00253 19.219 2.64373 19.358 3.67754C19.4989 4.72573 19.5 6.10025 19.5 8V12C19.5 13.8998 19.4989 15.2743 19.358 16.3225C19.219 17.3563 18.9523 17.9975 18.4749 18.4749C17.9975 18.9523 17.3563 19.219 16.3225 19.358C15.2743 19.4989 13.8998 19.5 12 19.5H8C6.10025 19.5 4.72573 19.4989 3.67754 19.358C2.64373 19.219 2.00253 18.9523 1.52513 18.4749C1.04772 17.9975 0.78098 17.3563 0.641988 16.3225C0.501062 15.2743 0.5 13.8998 0.5 12V8Z\"\r\n fill=\"#9AA4B2\"\r\n />\r\n <path\r\n d=\"M0.5 8C0.5 6.10025 0.501062 4.72573 0.641988 3.67754C0.78098 2.64373 1.04772 2.00253 1.52513 1.52513C2.00253 1.04772 2.64373 0.78098 3.67754 0.641988C4.72573 0.501062 6.10025 0.5 8 0.5H12C13.8998 0.5 15.2743 0.501062 16.3225 0.641988C17.3563 0.78098 17.9975 1.04772 18.4749 1.52513C18.9523 2.00253 19.219 2.64373 19.358 3.67754C19.4989 4.72573 19.5 6.10025 19.5 8V12C19.5 13.8998 19.4989 15.2743 19.358 16.3225C19.219 17.3563 18.9523 17.9975 18.4749 18.4749C17.9975 18.9523 17.3563 19.219 16.3225 19.358C15.2743 19.4989 13.8998 19.5 12 19.5H8C6.10025 19.5 4.72573 19.4989 3.67754 19.358C2.64373 19.219 2.00253 18.9523 1.52513 18.4749C1.04772 17.9975 0.78098 17.3563 0.641988 16.3225C0.501062 15.2743 0.5 13.8998 0.5 12V8Z\"\r\n stroke=\"#9AA4B2\"\r\n />\r\n <path\r\n d=\"M5.3335 11.6667C5.3335 11.6667 6.3335 11.6667 7.66683 14C7.66683 14 11.3727 7.88888 14.6668 6.66666\"\r\n stroke=\"#E3E8EF\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n );\r\n } else if (this.state === \"disabled\" && this.indeterminate) {\r\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class={`${this.size}`}>\r\n <path\r\n d=\"M0.5 8C0.5 6.10025 0.501062 4.72573 0.641988 3.67754C0.78098 2.64373 1.04772 2.00253 1.52513 1.52513C2.00253 1.04772 2.64373 0.78098 3.67754 0.641988C4.72573 0.501062 6.10025 0.5 8 0.5H12C13.8998 0.5 15.2743 0.501062 16.3225 0.641988C17.3563 0.78098 17.9975 1.04772 18.4749 1.52513C18.9523 2.00253 19.219 2.64373 19.358 3.67754C19.4989 4.72573 19.5 6.10025 19.5 8V12C19.5 13.8998 19.4989 15.2743 19.358 16.3225C19.219 17.3563 18.9523 17.9975 18.4749 18.4749C17.9975 18.9523 17.3563 19.219 16.3225 19.358C15.2743 19.4989 13.8998 19.5 12 19.5H8C6.10025 19.5 4.72573 19.4989 3.67754 19.358C2.64373 19.219 2.00253 18.9523 1.52513 18.4749C1.04772 17.9975 0.78098 17.3563 0.641988 16.3225C0.501062 15.2743 0.5 13.8998 0.5 12V8Z\"\r\n fill=\"#9AA4B2\"\r\n />\r\n <path\r\n d=\"M0.5 8C0.5 6.10025 0.501062 4.72573 0.641988 3.67754C0.78098 2.64373 1.04772 2.00253 1.52513 1.52513C2.00253 1.04772 2.64373 0.78098 3.67754 0.641988C4.72573 0.501062 6.10025 0.5 8 0.5H12C13.8998 0.5 15.2743 0.501062 16.3225 0.641988C17.3563 0.78098 17.9975 1.04772 18.4749 1.52513C18.9523 2.00253 19.219 2.64373 19.358 3.67754C19.4989 4.72573 19.5 6.10025 19.5 8V12C19.5 13.8998 19.4989 15.2743 19.358 16.3225C19.219 17.3563 18.9523 17.9975 18.4749 18.4749C17.9975 18.9523 17.3563 19.219 16.3225 19.358C15.2743 19.4989 13.8998 19.5 12 19.5H8C6.10025 19.5 4.72573 19.4989 3.67754 19.358C2.64373 19.219 2.00253 18.9523 1.52513 18.4749C1.04772 17.9975 0.78098 17.3563 0.641988 16.3225C0.501062 15.2743 0.5 13.8998 0.5 12V8Z\"\r\n stroke=\"#9AA4B2\"\r\n />\r\n <path d=\"M15.3335 10L4.66683 10\" stroke=\"#E3E8EF\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>;\r\n } else {\r\n return (\r\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class={`checkbox_default_unchecked ${this.size}`}>\r\n <path\r\n d=\"M0.5 8C0.5 6.10025 0.501062 4.72573 0.641988 3.67754C0.78098 2.64373 1.04772 2.00253 1.52513 1.52513C2.00253 1.04772 2.64373 0.78098 3.67754 0.641988C4.72573 0.501062 6.10025 0.5 8 0.5C9.89975 0.5 11.2743 0.501062 12.3225 0.641988C13.3563 0.78098 13.9975 1.04772 14.4749 1.52513C14.9523 2.00253 15.219 2.64373 15.358 3.67754C15.4989 4.72573 15.5 6.10025 15.5 8C15.5 9.89975 15.4989 11.2743 15.358 12.3225C15.219 13.3563 14.9523 13.9975 14.4749 14.4749C13.9975 14.9523 13.3563 15.219 12.3225 15.358C11.2743 15.4989 9.89975 15.5 8 15.5C6.10025 15.5 4.72573 15.4989 3.67754 15.358C2.64373 15.219 2.00253 14.9523 1.52513 14.4749C1.04772 13.9975 0.78098 13.3563 0.641988 12.3225C0.501062 11.2743 0.5 9.89975 0.5 8Z\"\r\n stroke=\"#CDD5DF\"\r\n />\r\n </svg>\r\n );\r\n }\r\n }\r\n\r\n private renderCircle() {\r\n if (this.checked && this.state === \"default\") {\r\n return (\r\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class={`circle_default_checked ${this.size}`}>\r\n <rect x=\"0.5\" y=\"0.5\" width=\"15\" height=\"15\" rx=\"7.5\" fill=\"#075DB2\" class=\"background\" />\r\n <rect x=\"0.5\" y=\"0.5\" width=\"15\" height=\"15\" rx=\"7.5\" stroke=\"#075DB2\" />\r\n <path\r\n d=\"M5.0835 9.04166C5.0835 9.04166 5.7085 9.04166 6.54183 10.5C6.54183 10.5 8.85801 6.68055 10.9168 5.91666\"\r\n stroke=\"white\"\r\n stroke-width=\"1.66667\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n );\r\n } else if (!this.checked && this.state === \"default\") {\r\n return (\r\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class={`circle_default_unchecked ${this.size}`}>\r\n <rect x=\"0.5\" y=\"0.5\" width=\"15\" height=\"15\" rx=\"7.5\" stroke=\"#CDD5DF\" />\r\n </svg>\r\n );\r\n } else if (this.checked && this.state === \"disabled\") {\r\n return (\r\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class={`circle_disabled_checked ${this.size}`}>\r\n <rect x=\"0.5\" y=\"0.5\" width=\"19\" height=\"19\" rx=\"9.5\" fill=\"#9AA4B2\" />\r\n <rect x=\"0.5\" y=\"0.5\" width=\"19\" height=\"19\" rx=\"9.5\" stroke=\"#9AA4B2\" />\r\n <path\r\n d=\"M5.9165 11.4583C5.9165 11.4583 6.7915 11.4583 7.95817 13.5C7.95817 13.5 11.2008 8.15279 14.0832 7.08334\"\r\n stroke=\"#E3E8EF\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n );\r\n } else if (!this.checked && this.state === \"disabled\") {\r\n return (\r\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class={`circle_disabled_unchecked ${this.size}`}>\r\n <rect x=\"0.5\" y=\"0.5\" width=\"15\" height=\"15\" rx=\"7.5\" stroke=\"#E3E8EF\" />\r\n </svg>\r\n );\r\n }\r\n }\r\n\r\n private renderRadio() {\r\n if (this.state === \"default\" && this.checked) {\r\n return (\r\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class={`radio_default_checked ${this.size}`}>\r\n <rect x=\"0.5\" y=\"0.5\" width=\"15\" height=\"15\" rx=\"7.5\" stroke=\"#075DB2\" />\r\n <circle cx=\"8\" cy=\"8\" r=\"3\" fill=\"#075DB2\" />\r\n </svg>\r\n );\r\n } else if (this.state === \"disabled\" && !this.checked) {\r\n return (\r\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class={`radio_disabled_unchecked ${this.size}`}>\r\n <rect x=\"0.5\" y=\"0.5\" width=\"15\" height=\"15\" rx=\"7.5\" stroke=\"#E3E8EF\" />\r\n </svg>\r\n );\r\n } else if (this.state === \"disabled\" && this.checked) {\r\n return (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" class={`radio_disabled_checked ${this.size}`}>\r\n <rect x=\"0.5\" y=\"0.5\" width=\"19\" height=\"19\" rx=\"9.5\" stroke=\"#9AA4B2\" />\r\n <circle cx=\"10\" cy=\"10\" r=\"4\" fill=\"#9AA4B2\" />\r\n </svg>\r\n );\r\n } else {\r\n return (\r\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class={`radio_default_unchecked ${this.size}`}>\r\n <rect x=\"0.5\" y=\"0.5\" width=\"15\" height=\"15\" rx=\"7.5\" stroke=\"#CDD5DF\" />\r\n </svg>\r\n );\r\n }\r\n }\r\n\r\n private toggleCheckboxState() {\r\n if (this.state === \"default\" && !this.checked) {\r\n this.checked = true;\r\n // console.log(this.checked)\r\n this.checkboxClicked.emit(this.checked);\r\n } else if (this.state === \"default\" && this.checked) {\r\n this.checked = false;\r\n // console.log(this.checked);\r\n this.checkboxClicked.emit(this.checked);\r\n }\r\n }\r\n\r\n private toggleCheckCircleState() {\r\n if ((this.state === \"disabled\" && this.checked) || (this.state === \"disabled\" && !this.checked)) {\r\n return;\r\n }\r\n\r\n if (this.state === \"default\" && !this.checked) {\r\n this.checked = true;\r\n this.checkboxClicked.emit(this.checked);\r\n } else if (this.state == \"default\" && this.checked) {\r\n this.checked = false;\r\n this.checkboxClicked.emit(this.checked);\r\n }\r\n }\r\n\r\n private toggleRadioButtonState() {\r\n if ((this.state === \"disabled\" && !this.checked) || (this.state === \"disabled\" && this.checked)) {\r\n return;\r\n }\r\n if (this.state === \"default\" && !this.checked) {\r\n this.checked = true;\r\n this.checkboxClicked.emit(this.checked);\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n <div\r\n class={`checkbox_container ${this.size}`}\r\n onClick={() => {\r\n if (this.type === 'checkbox') {\r\n return this.toggleCheckboxState();\r\n } else if (this.type === 'check_circle') {\r\n return this.toggleCheckCircleState();\r\n } else if (this.type === 'radio') {\r\n return this.toggleRadioButtonState();\r\n }\r\n }}\r\n >\r\n {this.renderSVG()}\r\n </div>\r\n );\r\n }\r\n}","@import './../../global/global.css';\r\n\r\n.checkbox_group_item {\r\n display: flex;\r\n justify-content: space-between;\r\n /* align-items: center; */\r\n background-color: var(--color-background-card, #ffffff);\r\n border: 1px solid var(--color-border-subtle, #cdd5df);\r\n padding: 1rem;\r\n margin-bottom: 0.5rem;\r\n transition: all 0.1s ease-in-out;\r\n cursor: pointer;\r\n border-radius: var(--rounded-md);\r\n}\r\n\r\n.checkbox_group_item .avatar {\r\n /* this is correct*/\r\n flex: 1 0 0;\r\n margin-top: 0.5rem;\r\n border-radius: 12.5rem;\r\n border: 0.5px solid var(--color-blanket-subtler);\r\n}\r\n\r\n.checkbox_group_item.selected {\r\n border: 2px solid var(--color-border-selected, #075db2); /* Checked border color */\r\n background: var(--color-background-information-subtlest, #e4f0fc); /* Checked background color */\r\n}\r\n\r\n/* i'm using this to apply the hover effect but its turning white on hover??? */\r\n.checkbox_group_item:hover {\r\n background: var(--color-background-information-subtler, #c8e0f9);\r\n border-color: var(--color-border-selected, #075db2);\r\n}\r\n\r\n/* i'm using this to change icon color on hover */\r\n.checkbox_group_item:hover .icon-md,\r\n.checkbox_group_item:hover .svg-icon {\r\n fill: var(--color-icon-information, #064e94);\r\n}\r\n\r\n.item-content {\r\n display: flex;\r\n flex: 1 0 0;\r\n align-self: stretch;\r\n}\r\n\r\n.text-container {\r\n display: flex;\r\n flex-direction: column;\r\n gap: var(--spacing-3);\r\n margin-left: 1rem;\r\n}\r\n\r\n/* Icon Styles */\r\n.icon svg{\r\n width: 2rem;\r\n height: 2rem;\r\n}\r\n\r\n.icon.default path[stroke] {\r\n stroke: var(--color-icon-information, #064e94);\r\n}\r\n\r\n.icon.default path[fill] {\r\n fill: var(--color-icon-information, #064e94);\r\n}\r\n\r\n.icon.default path#Icon[stroke] {\r\n stroke: var(--color-icon-information, #064e94);\r\n}\r\n\r\n.icon.default path#Icon[fill] {\r\n fill: var(--color-icon-information, #064e94);\r\n}\r\n\r\n.icon.default circle[stroke] {\r\n stroke: var(--color-icon-information, #064e94);\r\n}\r\n\r\n.icon.default circle[fill] {\r\n fill: var(--color-icon-information, #064e94);\r\n}\r\n\r\n.icon.disabled path#Icon[stroke] {\r\n stroke: var(--color-icon-disabled, #808c9e);\r\n}\r\n\r\n.icon.disabled path#Icon[fill] {\r\n fill: var(--color-icon-disabled, #808c9e);\r\n}\r\n\r\n.icon.disabled path#Accent[stroke] {\r\n stroke: var(--color-icon-disabled, #808c9e);\r\n}\r\n\r\n.icon.disabled path#Accent[fill] {\r\n fill: var(--color-icon-disabled, #808c9e);\r\n}\r\n\r\n.icon.disabled circle[stroke] {\r\n stroke: var(--color-icon-disabled, #808c9e);\r\n}\r\n\r\n.icon.disabled circle[fill] {\r\n fill: var(--color-icon-disabled, #808c9e);\r\n}\r\n\r\n.icon.disabled path[stroke] {\r\n stroke: var(--color-icon-disabled, #808c9e);\r\n}\r\n\r\n.icon.disabled path[fill] {\r\n fill: var(--color-icon-disabled, #808c9e);\r\n}\r\n\r\n.icon.default path.has_opacity,\r\n.icon.default g.has_opacity,\r\n.icon.default circle.has_opacity,\r\n.icon.default path.has_opacity,\r\n.icon.default g.has_opacity,\r\n.icon.default circle.has_opacity {\r\n opacity: 0.5;\r\n}\r\n\r\n.label-cost {\r\n display: flex;\r\n align-items: center;\r\n flex-direction: row;\r\n gap: var(--spacing-3);\r\n}\r\n\r\n.label-cost.payment_icon {\r\n flex-direction: column;\r\n align-items: flex-start;\r\n gap: var(--spacing-3);\r\n}\r\n\r\n.label-cost span {\r\n font-size: 1rem;\r\n line-height: 1.2;\r\n}\r\n\r\n.checkbox_container {\r\n margin-left: 1rem;\r\n}\r\n\r\n.icon-md {\r\n width: 2rem;\r\n height: 2rem;\r\n}\r\n\r\n.svg-icon {\r\n width: 2rem;\r\n height: 2rem;\r\n}\r\n\r\n.button{\r\n margin-top: var(--spacing-2);\r\n}\r\n\r\n.buttons {\r\n display: flex;\r\n gap: var(--spacing-3);\r\n}\r\n\r\n/* State Styles */\r\n.checkbox_group_item.default {\r\n border: 1px solid var(--color-border-subtle, #cdd5df);\r\n background: var(--color-background-card, #ffffff);\r\n}\r\n\r\n.checkbox_group_item.default:hover {\r\n border: 1px solid var(--color-border-selected, #075db2);\r\n background: var(--color-background-card, #ffffff);\r\n}\r\n\r\n.checkbox_group_item.selected {\r\n border: 2px solid var(--color-border-selected, #075db2);\r\n background: var(--color-background-information-subtlest, #e4f0fc);\r\n}\r\n\r\n.checkbox_group_item.selected:hover .cost,\r\n.checkbox_group_item.selected:hover .supporting_text {\r\n color: var(--color-text-information, #064e94) !important;\r\n}\r\n\r\n.checkbox_group_item.selected:hover {\r\n border: 2px solid var(--color-border-selected, #075db2);\r\n background: var(--color-background-information-subtler, #c8e0f9);\r\n}\r\n\r\n.checkbox_group_item.disabled {\r\n border: 1px solid var(--color-border-disabled, #e3e8ef);\r\n background: var(--color-background-disabled, #f6f8fa);\r\n pointer-events: none;\r\n cursor: not-allowed;\r\n}\r\n\r\n.checkbox_group_item.selected.disabled {\r\n border: 2px solid var(--color-border-disabled, #e3e8ef);\r\n background: var(--color-background-disabled, #f6f8fa);\r\n pointer-events: none;\r\n cursor: not-allowed;\r\n}\r\n\r\n.checkbox_group_item ::slotted([slot='label']) {\r\n color: var(--color-text-bold, #202939) !important;\r\n}\r\n\r\n.checkbox_group_item.selected ::slotted([slot='label']) {\r\n color: var(--color-text-information-bold, #042f59) !important;\r\n}\r\n\r\n.checkbox_group_item ::slotted([slot='cost']) {\r\n color: var(--color-text, #4b5565) !important;\r\n}\r\n\r\n.checkbox_group_item.selected ::slotted([slot='cost']) {\r\n color: var(--color-text-information, #064e94) !important;\r\n}\r\n\r\n.checkbox_group_item ::slotted([slot='supporting_text']) {\r\n color: var(--color-text, #4b5565) !important;\r\n}\r\n\r\n.checkbox_group_item.selected ::slotted([slot='supporting_text']) {\r\n color: var(--color-text-information, #064e94) !important;\r\n}\r\n\r\n.checkbox_group_item.disabled ::slotted([slot='cost']),\r\n.checkbox_group_item.disabled ::slotted([slot='label']),\r\n.checkbox_group_item.disabled ::slotted([slot='supporting_text']) {\r\n color: var(--color-text-disabled, #cdd5df) !important;\r\n}\r\n\r\n.icon_simple_svg.disabled path[stroke] {\r\n stroke: var(--color-icon-disabled, #cdd5df);\r\n}\r\n\r\n.icon_simple_svg.disabled path[fill] {\r\n fill: var(--color-icon-disabled, #cdd5df);\r\n}\r\n","import { Component, h, Prop, Element, Event, EventEmitter, State, getAssetPath } from '@stencil/core';\r\nimport { GeneralSizes, StateEnum, BreakPoints, CheckBoxVariants } from '../../models/reusableModels';\r\n\r\n@Component({\r\n tag: 'gb-checkbox-group-item',\r\n styleUrl: 'gb-checkbox-group-item.css',\r\n shadow: true,\r\n})\r\nexport class GbCheckboxGroupItem {\r\n @Prop() size: GeneralSizes;\r\n @Prop() type: 'icon_simple' | 'avatar' | 'payment_icon' | 'radio_button' | 'checkbox';\r\n @Prop() state: StateEnum;\r\n @Prop() breakpoint: BreakPoints;\r\n @Prop() showCost: boolean = false; // to control cost visibility\r\n @Element() el: HTMLElement;\r\n @Prop({ mutable: true }) selected: boolean = false;\r\n @Prop() showButton: boolean = true;\r\n @Prop() buttonText: string = '';\r\n @Prop() icon: string = '';\r\n @Prop() checkboxType: CheckBoxVariants;\r\n @State() leadingIconSvg: string = '';\r\n @Event() buttonClicked: EventEmitter<void>;\r\n @Event() groupItemClicked: EventEmitter<boolean>;\r\n\r\n async loadIcon(iconName: string) {\r\n const iconPath = getAssetPath(`${iconName}`);\r\n const response = await fetch(iconPath);\r\n const svg = await response.text();\r\n\r\n const parser = new DOMParser();\r\n const svgDoc = parser.parseFromString(svg, 'image/svg+xml');\r\n const svgElement = svgDoc.documentElement;\r\n\r\n // Add `has-opacity` class to all elements that have an opacity attribute\r\n const elementsWithOpacity = svgElement.querySelectorAll('[opacity]');\r\n elementsWithOpacity.forEach(el => {\r\n el.classList.add('has_opacity');\r\n });\r\n\r\n // Serialize and store\r\n const modifiedSvg = svgElement.outerHTML;\r\n // console.log(modifiedSvg)\r\n this.leadingIconSvg = modifiedSvg;\r\n }\r\n\r\n onButtonClicked() {\r\n this.buttonClicked.emit();\r\n }\r\n\r\n componentWillLoad() {\r\n this.loadIcon(this.icon);\r\n }\r\n\r\n private getLabelSizeClass() {\r\n switch (this.size) {\r\n case 'md':\r\n return 'text-lg-semi-bold';\r\n case 'sm':\r\n return 'text-md-semi-bold';\r\n }\r\n }\r\n\r\n private getCostSizeClass() {\r\n switch (this.size) {\r\n case 'xl':\r\n return 'text-md-regular';\r\n case 'lg':\r\n return 'text-md-regular';\r\n case 'md':\r\n return 'text-sm-regular';\r\n case 'sm':\r\n return 'text-xs-regular';\r\n default:\r\n return 'text-xs-regular';\r\n }\r\n }\r\n\r\n private getSupportingTextClasses() {\r\n switch (this.size) {\r\n case 'md':\r\n return 'text-md-regular';\r\n case 'sm':\r\n return 'text-sm-regular';\r\n default:\r\n return 'text-sm-regular';\r\n }\r\n }\r\n\r\n private getLabelColorClasses() {\r\n switch (this.selected) {\r\n case true:\r\n return 'label_selected';\r\n case false:\r\n return 'label_not_selected';\r\n }\r\n }\r\n\r\n private getCostColorClasses() {\r\n switch (this.selected) {\r\n case true:\r\n return 'cost_selected';\r\n case false:\r\n return 'cost_not_selected';\r\n }\r\n }\r\n\r\n componentDidUpdate() {\r\n const labelSlot = this.el.querySelector('[slot=\"label\"]');\r\n const costSlot = this.el.querySelector('[slot=\"cost\"]');\r\n\r\n labelSlot.classList.add(this.getLabelColorClasses());\r\n costSlot.classList.add(this.getCostColorClasses());\r\n }\r\n\r\n componentDidLoad() {\r\n const labelSlot = this.el.querySelector('[slot=\"label\"]');\r\n const costSlot = this.el.querySelector('[slot=\"cost\"]');\r\n const supportingTextSlot = this.el.querySelector('[slot=\"supporting_text\"]');\r\n\r\n if (labelSlot) {\r\n labelSlot.classList.add(this.getLabelSizeClass());\r\n }\r\n\r\n if (costSlot) {\r\n costSlot.classList.add(this.getCostSizeClass());\r\n costSlot.classList.add(this.getCostColorClasses());\r\n }\r\n\r\n if (supportingTextSlot) {\r\n supportingTextSlot.classList.add(this.getSupportingTextClasses());\r\n supportingTextSlot.classList.add('supporting_text');\r\n }\r\n }\r\n\r\n private renderIcon() {\r\n switch (this.type) {\r\n case 'avatar':\r\n return (\r\n <gb-avatar class=\"icon-md\" size=\"md\" placeholder={false} icon=\"user\">\r\n <img src=\"build/assets/avatar_pic.jpg\" slot=\"image\"></img>\r\n </gb-avatar>\r\n );\r\n case 'payment_icon':\r\n return (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"46\" height=\"32\" viewBox=\"0 0 46 32\" fill=\"none\">\r\n <rect x=\"0.5\" y=\"0.5\" width=\"45\" height=\"31\" rx=\"5.5\" fill=\"white\" />\r\n <rect x=\"0.5\" y=\"0.5\" width=\"45\" height=\"31\" rx=\"5.5\" stroke=\"#F8FAFC\" />\r\n <path\r\n fill-rule=\"evenodd\"\r\n clip-rule=\"evenodd\"\r\n d=\"M14.3336 21.1444H11.5872L9.52784 13.0565C9.43009 12.6845 9.22255 12.3556 8.91725 12.2006C8.15535 11.811 7.31579 11.501 6.3999 11.3446V11.0332H10.824C11.4346 11.0332 11.8925 11.501 11.9689 12.0442L13.0374 17.8782L15.7824 11.0332H18.4524L14.3336 21.1444ZM19.9789 21.1444H17.3852L19.5209 11.0332H22.1146L19.9789 21.1444ZM25.4702 13.8343C25.5465 13.2898 26.0044 12.9784 26.5387 12.9784C27.3783 12.9002 28.2928 13.0566 29.0561 13.4448L29.514 11.2678C28.7508 10.9564 27.9112 10.8 27.1493 10.8C24.6319 10.8 22.8002 12.2006 22.8002 14.1444C22.8002 15.6231 24.0977 16.3995 25.0136 16.8673C26.0044 17.3337 26.3861 17.6451 26.3097 18.1114C26.3097 18.811 25.5465 19.1224 24.7846 19.1224C23.8687 19.1224 22.9528 18.8892 22.1146 18.4997L21.6567 20.678C22.5725 21.0662 23.5634 21.2226 24.4793 21.2226C27.3019 21.2994 29.0561 19.9002 29.0561 17.8001C29.0561 15.1553 25.4702 15.0003 25.4702 13.8343ZM38.1332 21.1444L36.0738 11.0332H33.8618C33.4038 11.0332 32.9459 11.3446 32.7932 11.811L28.9797 21.1444H31.6497L32.1826 19.667H35.4632L35.7685 21.1444H38.1332ZM34.2434 13.7562L35.0053 17.5669H32.8696L34.2434 13.7562Z\"\r\n fill=\"#172B85\"\r\n />\r\n </svg>\r\n );\r\n case 'icon_simple':\r\n return <div class={`icon ${this.state}`} innerHTML={this.leadingIconSvg}></div>;\r\n case 'radio_button':\r\n return <gb-checkbox size={this.size} type=\"radio\" state={this.state} checked={this.selected}></gb-checkbox>;\r\n case 'checkbox':\r\n return <gb-checkbox size={this.size} type=\"checkbox\" state={this.state} checked={this.selected}></gb-checkbox>;\r\n }\r\n }\r\n\r\n // Toggle selected state on checkbox click\r\n private toggleSelection() {\r\n if (this.state === 'default') {\r\n this.selected = !this.selected;\r\n }\r\n\r\n this.groupItemClicked.emit(this.selected);\r\n }\r\n\r\n render() {\r\n return [\r\n <div class={`checkbox_group_item ${this.size} ${this.state} ${this.selected ? 'selected' : ''} ${this.breakpoint}`} onClick={() => this.toggleSelection()}>\r\n <div class=\"item-content\">\r\n {this.renderIcon()}\r\n <div class=\"text-container\">\r\n <div class={`label-cost ${this.type}`}>\r\n <slot name=\"label\"></slot>\r\n {this.showCost && <slot name=\"cost\"></slot>}\r\n </div>\r\n {this.type === 'payment_icon' ? (\r\n <div class=\"buttons\">\r\n <gb-button size={this.size} hierarchy=\"link_gray\" icon=\"default\" state={this.state}>\r\n <p>Set as default</p>\r\n </gb-button>\r\n <gb-button size={this.size} hierarchy=\"link_color\" icon=\"default\" state={this.state}>\r\n <p>Edit</p>\r\n </gb-button>\r\n </div>\r\n ) : (\r\n <slot name=\"supporting_text\"></slot>\r\n )}\r\n <gb-button\r\n class=\"button\"\r\n size=\"lg\"\r\n state={this.state}\r\n hierarchy={this.selected ? 'link_color' : 'link_gray'}\r\n icon=\"default\"\r\n onClick={e => {\r\n this.onButtonClicked();\r\n e.stopPropagation();\r\n }}\r\n >\r\n <p>{this.buttonText}</p>\r\n </gb-button>\r\n </div>\r\n </div>\r\n {this.type === 'icon_simple' || this.type === 'avatar' || this.type === 'payment_icon' ? (\r\n <div class={`checkbox_container`}>\r\n <gb-checkbox type={this.checkboxType} size={this.size} state={this.state} checked={this.selected}></gb-checkbox>\r\n </div>\r\n ) : null}\r\n </div>,\r\n ];\r\n }\r\n}\r\n","@import './../../global/global.css';\r\n\r\n:host{\r\n position: relative;\r\n}\r\n\r\n.collapse_btn{\r\n background-color: transparent;\r\n border-radius: var(--rounded-full);\r\n display: flex;\r\n width: var(--spacing-7);\r\n height: var(--spacing-7);\r\n padding: var(--spacing-2);\r\n justify-content: center;\r\n align-items: center;\r\n gap: var(--spacing-2);\r\n cursor: pointer;\r\n}\r\n\r\n.collapse_btn.gray:hover{\r\n background-color: var(--color-background-gray-subtler, #EEF2F6);\r\n cursor: pointer;\r\n}\r\n\r\n.collapse_btn.gray:active{\r\n background-color: var(--color-background-gray-subtle, #E3E8EF);\r\n}\r\n\r\n.collapse_btn.white:hover{\r\n background-color: var(--color-blanket-subtle, rgba(33, 44, 101, 0.3));\r\n cursor: pointer;\r\n}\r\n\r\n.collapse_btn.white:active{\r\n background-color: var(--color-blanket, rgba(33, 44, 101, 0.4));\r\n}\r\n\r\n.icon{\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n}\r\n\r\n.icon.horizontal.expand svg{\r\n transform: rotate(180deg);\r\n}\r\n\r\n/* .icon.vertical.collapse svg{\r\n transform: rotate(90deg);\r\n} */\r\n\r\n.icon.vertical.expand svg{\r\n transform: rotate(180deg);\r\n}\r\n\r\n.icon.gray path{\r\n stroke: var(--color-icon, #4B5565);\r\n}\r\n\r\n.icon.white path{\r\n stroke: var(--base-white, #FFFFFF);\r\n}\r\n\r\n.tooltip.horizontal{\r\n position: absolute;\r\n left: 3.5rem;\r\n bottom: 2.7rem;\r\n}\r\n\r\n.tooltip.vertical{\r\n position: absolute;\r\n left: 0.5rem;\r\n bottom: 190%;\r\n}\r\n\r\n.text-xs-semi-bold{\r\n font-family: var(--font-family-body);\r\n font-size: var(--font-size-t-xs);\r\n font-weight: var(--font-weight-semi-bold);\r\n line-height: var(--font-line-height-t-xs);\r\n margin: var(--spacing-none);\r\n padding: var(--spacing-none);\r\n display: inline-block;\r\n position: relative;\r\n}\r\n\r\n.text-xs-semi-bold::before,\r\n.text-xs-semi-bold::after{\r\n content: \"\";\r\n display: table;\r\n}\r\n\r\n.text-xs-semi-bold::before{\r\n margin-bottom: -0.321em;\r\n}\r\n\r\n.text-xs-semi-bold::after{\r\n margin-top: -0.416em;\r\n}","import { Component, Method, Prop, State, getAssetPath, h } from '@stencil/core';\r\n\r\n@Component({\r\n tag: 'gb-collapse-button',\r\n styleUrl: 'gb-collapse-button.css',\r\n shadow: true,\r\n})\r\nexport class GbCollapseButton {\r\n @Prop() color: 'gray' | 'white';\r\n @Prop({ mutable: true }) isCollapsed: boolean = false;\r\n @Prop({ mutable: true }) action: string = 'collapse';\r\n @Prop({ mutable: true }) isHovered: boolean = false;\r\n @Prop() direction: 'horizontal' | 'vertical' = 'horizontal';\r\n @Prop() icon: string = '';\r\n @State() leadingIconSvg: string = '';\r\n\r\n async loadIcon(iconName: string) {\r\n const iconPath = getAssetPath(`${iconName}`);\r\n const response = await fetch(iconPath);\r\n const svg = await response.text();\r\n this.leadingIconSvg = svg;\r\n }\r\n\r\n componentWillLoad() {\r\n this.loadIcon(this.icon);\r\n }\r\n\r\n toggleIcon() {\r\n if (this.action === 'collapse') {\r\n this.action = 'expand';\r\n this.isHovered = false;\r\n } else if (this.action === 'expand') {\r\n this.action = 'collapse';\r\n this.isHovered = false;\r\n }\r\n }\r\n\r\n @Method()\r\n async collapseSidebar() {\r\n this.isCollapsed = true;\r\n }\r\n\r\n @Method()\r\n async expandSidebar() {\r\n this.isCollapsed = false;\r\n }\r\n\r\n render() {\r\n return [\r\n <div>\r\n <div class={`collapse_btn ${this.color}`} onClick={this.toggleIcon.bind(this)} onMouseOver={() => (this.isHovered = true)} onMouseOut={() => (this.isHovered = false)}>\r\n {/* {this.action === 'collapse' && [\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" class={`icon ${this.color}`}>\r\n <path\r\n d=\"M9.58321 15C9.58321 15 4.58326 11.3176 4.58325 9.99996C4.58324 8.68237 9.58325 5 9.58325 5M15.4165 15C15.4165 15 10.4166 11.3176 10.4166 9.99996C10.4166 8.68237 15.4166 5 15.4166 5\"\r\n stroke=\"#4B5565\"\r\n stroke-width=\"1.5\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>,\r\n ]}\r\n {this.action === 'expand' && (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" class={`icon ${this.color}`}>\r\n <path\r\n d=\"M10.4166 15C10.4166 15 15.4166 11.3176 15.4166 9.99996C15.4166 8.68237 10.4166 5 10.4166 5M4.58329 15C4.58329 15 9.58324 11.3176 9.58325 9.99996C9.58326 8.68237 4.58325 5 4.58325 5\"\r\n stroke=\"#4B5565\"\r\n stroke-width=\"1.5\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n )} */}\r\n <div class={`icon ${this.color} ${this.direction} ${this.action}`} innerHTML={this.leadingIconSvg}></div>\r\n </div>\r\n {this.isHovered && this.action === 'collapse' ? (\r\n <gb-tooltip class={`tooltip ${this.direction}`} show-arrow={true} arrow={this.direction === 'horizontal' ? 'left' : this.direction === 'vertical' ? 'bottom_left' : null}>\r\n <p slot=\"label\" class=\"text-xs-semi-bold\">\r\n Collapse\r\n </p>\r\n </gb-tooltip>\r\n ) : this.isHovered && this.action === 'expand' ? (\r\n <gb-tooltip class={`tooltip ${this.direction}`} show-arrow={true} arrow={this.direction === 'horizontal' ? 'left' : this.direction === 'vertical' ? 'bottom_left' : null}>\r\n <p slot=\"label\" class=\"text-xs-semi-bold\">\r\n Expand\r\n </p>\r\n </gb-tooltip>\r\n ) : null}\r\n </div>,\r\n ];\r\n }\r\n}\r\n","@import './../../global/global.css';\r\n\r\n.container{\r\n display: flex;\r\n width: 6rem;\r\n padding: var(--spacing-2) var(--spacing-none);\r\n flex-direction: column;\r\n align-items: center;\r\n gap: var(--spacing-1);\r\n cursor: pointer;\r\n}\r\n\r\n.wrapper{\r\n display: flex;\r\n height: 3rem;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n gap: 0.25rem;\r\n}\r\n\r\n.bar{\r\n position: absolute;\r\n left: 0;\r\n top: 0;\r\n height: 100%;\r\n}\r\n\r\n.icon{\r\n display: flex;\r\n align-items: center;\r\n}\r\n\r\n.icon svg{\r\n width: 1.5rem;\r\n height: 1.5rem;\r\n}\r\n\r\n.container{\r\n position: relative;\r\n}\r\n\r\n/* State Styles*/\r\n.container.default.colored_background:hover{\r\n background: var(--color-blanket, rgba(33, 44, 101, 0.2));\r\n}\r\n\r\n.container.colored_background.active{\r\n background: var(--color-background-information-bold, #042F59);\r\n}\r\n\r\n.container.default.plain_background:hover{\r\n background: var(--color-background-gray-subtler, #EEF2F6);\r\n}\r\n\r\n.container.plain_background.active{\r\n background: var(--color-background-information-subtler, #C8E0F9);\r\n}\r\n\r\n/* Icon Color Styles */\r\n.icon.plain_background path[stroke] {\r\n stroke: var(--color-icon, #4B5565);\r\n}\r\n\r\n.icon.plain_background.active path[stroke] {\r\n stroke: var(--color-icon-information-bold, #042F59);\r\n}\r\n\r\n.icon.plain_background.active path[fill] {\r\n fill: var(--color-icon-information-bold, #042F59);\r\n}\r\n\r\n.icon.plain_background path#Icon[fill] {\r\n fill: var(--color-icon, #4B5565);\r\n}\r\n\r\n.icon.plain_background.active path#Icon[fill] {\r\n fill: var(--color-icon-information-bold, #042F59);\r\n}\r\n\r\n.icon.plain_background.active path#Accent[fill] {\r\n fill: var(--color-icon-information-bold, #042F59);\r\n}\r\n\r\n.icon.plain_background circle[stroke] {\r\n stroke: var(--color-icon, #4B5565);\r\n}\r\n\r\n.icon.plain_background.active circle[fill] {\r\n fill: var(--color-icon-information-bold, #042F59);\r\n}\r\n\r\n.icon.colored_background path[stroke] {\r\n stroke: var(--color-icon-inverse, #FFFFFF);\r\n}\r\n\r\n.icon.colored_background.active path[fill] {\r\n fill: var(--color-icon-inverse, #FFFFFF);\r\n}\r\n\r\n.icon.colored_background path#Icon[fill] {\r\n fill: var(--color-icon-inverse, #FFFFFF);\r\n}\r\n\r\n.icon.colored_background.active path#Accent[fill] {\r\n fill: var(--color-icon-inverse, #FFFFFF);\r\n}\r\n\r\n.icon.colored_background circle[stroke] {\r\n stroke: var(--color-icon-inverse, #FFFFFF);\r\n}\r\n\r\n.icon.colored_background.active circle[fill] {\r\n fill: var(--color-icon-inverse, #FFFFFF);\r\n}\r\n\r\n.icon.plain_background.default path[fill],\r\n.icon.colored_background.default path[fill],\r\n.icon.plain_background.default circle[fill],\r\n.icon.colored_background.default circle[fill] {\r\n fill: transparent;\r\n}\r\n\r\n/* Text Styles */\r\n.label_text.colored_background {\r\n color: #FFFFFF; /**/\r\n}\r\n\r\n.label_text.plain_background {\r\n color: var(--color-text, #4B5565); \r\n} \r\n\r\n.label_text.plain_background.active {\r\n color: var(--color-text-information-bold, #042F59);\r\n}\r\n\r\n/* Compact Item Styles */\r\n.compact_container{\r\n display: flex;\r\n width: 6rem;\r\n padding: var(--spacing-2) 0rem;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n gap: var(--spacing-1);\r\n}\r\n\r\n.compact_wrapper{\r\n display: flex;\r\n width: 3rem;\r\n justify-content: center;\r\n align-items: center;\r\n gap: 0.5rem;\r\n border-radius: var(--rounded-sm);\r\n position: relative;\r\n cursor: pointer;\r\n}\r\n\r\n.compact_bar{\r\n position: absolute;\r\n top: 0.72rem;\r\n left: 0;\r\n}\r\n\r\n.compact_wrapper.colored_background:hover{\r\n background: var(--color-blanket, rgba(33, 44, 101, 0.2));\r\n}\r\n\r\n.compact_wrapper.colored_background.active{\r\n background: #042F59;\r\n}\r\n\r\n.compact_wrapper.plain_background:hover{\r\n background: var(--color-background-gray-subtler, #EEF2F6);\r\n}\r\n\r\n.compact_wrapper.plain_background.active{\r\n background: var(--color-background-information-subtler, #C8E0F9);\r\n}\r\n\r\n.compact_icon_container{\r\n display: flex;\r\n height: 3rem;\r\n padding: var(--spacing-none) var(--spacing-5);\r\n justify-content: center;\r\n align-items: center;\r\n flex: 1 0 0;\r\n border-radius: 62.4375rem;\r\n}\r\n\r\n.tooltip{\r\n position: absolute;\r\n top: 0.4rem;\r\n left: 3.3rem;\r\n}","import { Component, Element, Prop, State, getAssetPath, h, Fragment } from \"@stencil/core\";\r\nimport { GeneralBackgroundCategories } from \"../../models/reusableModels\";\r\n\r\n@Component({\r\n tag: 'gb-complex-primary-side-bar-item',\r\n styleUrl: 'gb-complex-primary-side-bar-item.css',\r\n shadow: true\r\n})\r\n\r\nexport class GbComplexPrimarySideBarItem {\r\n @Prop() category: GeneralBackgroundCategories;\r\n @Prop() itemStyle: 'standard' | 'compact';\r\n @Prop() state: 'default' | 'active';\r\n @Prop() icon: string = '';\r\n @Prop() label: string = 'Recruitment';\r\n @Prop({ mutable: true }) showTooltip: boolean = false;\r\n @State() leadingIconSvg: string = '';\r\n @Element() el: HTMLElement;\r\n\r\n async loadIcon(iconName: string) {\r\n const iconPath = getAssetPath(`${iconName}`);\r\n const response = await fetch(iconPath);\r\n const svg = await response.text();\r\n this.leadingIconSvg = svg;\r\n }\r\n\r\n componentWillLoad() {\r\n this.loadIcon(this.icon);\r\n }\r\n\r\n // componentDidLoad() {\r\n \r\n // }\r\n\r\n render() {\r\n const redBarSrc = getAssetPath(`assets/complex_bar_red.svg`);\r\n const whiteBarSrc = getAssetPath(`assets/complex_bar_white.svg`);\r\n const redCompactBarSrc = getAssetPath(`assets/compact_bar_red.svg`);\r\n const whiteCompactBarSrc = getAssetPath(`assets/compact_bar_white.svg`);\r\n\r\n return (\r\n <>\r\n {this.itemStyle === 'standard' && (\r\n <div class={`container ${this.state} ${this.category}`}>\r\n <div class={`wrapper ${this.state} ${this.category}`}>\r\n {this.state === 'active' && this.category === 'plain_background' && <img src={redBarSrc} alt=\"\" class=\"bar\" />}\r\n {this.state === 'active' && this.category === 'colored_background' && <img src={whiteBarSrc} alt=\"\" class=\"bar\" />}\r\n <div class=\"icon_container\">\r\n <div class={`icon ${this.state} ${this.category}`} innerHTML={this.leadingIconSvg}></div>\r\n </div>\r\n <p class={`label_text ${this.state} ${this.category} ${this.state === 'active' ? 'text-xs-semi-bold' : 'text-xs-regular'}`}>{this.label}</p>\r\n </div>\r\n </div>\r\n )}\r\n {this.itemStyle === 'compact' && (\r\n <div class=\"compact_container\">\r\n <div class={`compact_wrapper ${this.state} ${this.category}`} onMouseEnter={() => (this.showTooltip = true)} onMouseLeave={() => (this.showTooltip = false)}>\r\n {this.state === 'active' && this.category === 'plain_background' && <img src={redCompactBarSrc} alt=\"\" class=\"compact_bar\" />}\r\n {this.state === 'active' && this.category === 'colored_background' && <img src={whiteCompactBarSrc} alt=\"\" class=\"compact_bar\" />}\r\n <div class=\"compact_icon_container\">\r\n <div class={`icon ${this.state} ${this.category}`} innerHTML={this.leadingIconSvg}></div>\r\n </div>\r\n {this.itemStyle === 'compact' && this.showTooltip && (\r\n <gb-tooltip show-arrow={true} arrow=\"left\" class=\"tooltip\">\r\n <p slot=\"label\">{this.label}</p>\r\n </gb-tooltip>\r\n )}\r\n </div>\r\n </div>\r\n )}\r\n </>\r\n );\r\n }\r\n}","@import './../../global/global.css';\r\n\r\n:host {\r\n position: relative;\r\n}\r\n\r\n.container {\r\n display: flex;\r\n padding: var(--spacing-none) var(--spacing-4);\r\n flex-direction: column;\r\n gap: 0.5rem;\r\n}\r\n\r\n.icon{\r\n display: flex;\r\n align-items: center;\r\n}\r\n\r\n.container.full_with_label {\r\n width: 14.875rem;\r\n}\r\n\r\n.container.icon_only {\r\n width: fit-content;\r\n}\r\n\r\n.secondary_side_bar_item_div {\r\n display: flex;\r\n align-items: center;\r\n gap: var(--spacing-3);\r\n border-radius: var(--rounded-sm);\r\n padding: var(--spacing-2) var(--spacing-4);\r\n cursor: pointer;\r\n}\r\n\r\n.secondary_side_bar_item_div.icon_only {\r\n width: fit-content;\r\n}\r\n\r\n/* Category Styles */\r\n.secondary_side_bar_item_div.colored_background.default,\r\n.secondary_side_bar_item_div.plain_background.default {\r\n background: transparent;\r\n}\r\n\r\n.secondary_side_bar_item_div.colored_background.default:hover {\r\n background: var(--color-background-information-subtler, #c8e0f9);\r\n}\r\n\r\n.secondary_side_bar_item_div.colored_background.active {\r\n background: var(--color-background-information-subtle, #9ac7f4);\r\n}\r\n\r\n.secondary_side_bar_item_div.plain_background.default:hover {\r\n background: var(--color-background-gray-subtler, #eef2f6);\r\n}\r\n\r\n.secondary_side_bar_item_div.plain_background.active {\r\n background: var(--color-background-information-subtler, #c8e0f9);\r\n}\r\n\r\n/* Icon Color Styles */\r\n.icon.plain_background path[stroke] {\r\n stroke: var(--color-icon, #4b5565);\r\n}\r\n\r\n.icon.plain_background.active path[stroke] {\r\n stroke: var(--color-icon-information-bold, #042f59);\r\n}\r\n\r\n.icon.plain_background.active path[fill] {\r\n fill: var(--color-icon-information-bold, #042f59);\r\n}\r\n\r\n.icon.plain_background path#Icon[fill] {\r\n fill: var(--color-icon, #4b5565);\r\n}\r\n\r\n.icon.plain_background.active path#Icon[fill] {\r\n fill: var(--color-icon-information-bold, #042f59);\r\n}\r\n\r\n.icon.plain_background.active path#Accent[fill] {\r\n fill: var(--color-icon-information-bold, #042f59);\r\n}\r\n\r\n.icon.plain_background circle[stroke] {\r\n stroke: var(--color-icon, #4b5565);\r\n}\r\n\r\n.icon.plain_background.active circle[fill] {\r\n fill: var(--color-icon-information-bold, #042f59);\r\n}\r\n\r\n.icon.colored_background path[stroke] {\r\n stroke: var(--color-icon, #4B5565);\r\n}\r\n\r\n.icon.colored_background.active path[stroke] {\r\n stroke: var(--color-icon-information-bold, #042F59);\r\n}\r\n\r\n.icon.colored_background.active path[fill] {\r\n fill: var(--color-icon-information-bold, #042F59);\r\n}\r\n\r\n.icon.colored_background path#Icon[fill] {\r\n fill: var(--color-icon, #4B5565);\r\n}\r\n\r\n.icon.colored_background.active path#Icon[fill] {\r\n fill: var(--color-icon-information-bold, #042F59);\r\n}\r\n\r\n.icon.colored_background.active path#Accent[fill] {\r\n fill: var(--color-icon-information-bold, #042F59);\r\n}\r\n\r\n.icon.colored_background circle[stroke] {\r\n stroke: var(--color-icon, #4B5565);\r\n}\r\n\r\n.icon.colored_background.active circle[fill] {\r\n fill: var(--color-icon-information-bold, #042F59);\r\n}\r\n\r\n.icon.plain_background.default path[fill],\r\n.icon.colored_background.default path[fill],\r\n.icon.plain_background.default circle[fill],\r\n.icon.colored_background.default circle[fill] {\r\n fill: transparent;\r\n}\r\n\r\n/* Text Styles */\r\n.label_text.colored_background,\r\n.label_text.plain_background {\r\n color: var(--color-text, #4b5565); /**/\r\n}\r\n\r\n.label_text.colored_background.active,\r\n.label_text.plain_background.active {\r\n color: var(--color-text-information-bold, #042f59);\r\n}\r\n\r\n.tooltip {\r\n position: absolute;\r\n top: 0.3rem;\r\n left: 4.8rem;\r\n}\r\n","import { Component, Element, Prop, State, getAssetPath, h } from \"@stencil/core\";\r\nimport { GeneralBackgroundCategories } from \"../../models/reusableModels\";\r\n\r\n@Component({\r\n tag: 'gb-complex-secondary-side-bar-item',\r\n styleUrl: 'gb-complex-secondary-side-bar-item.css',\r\n shadow: true\r\n})\r\n\r\nexport class GbComplexSecondarySideBarItem {\r\n @Prop() state: 'default' | 'active';\r\n @Prop() type: 'full_with_label' | 'icon_only';\r\n @Prop() category: GeneralBackgroundCategories;\r\n @Prop() label: string = 'Appraisal';\r\n @Prop() icon: string = '';\r\n @Prop({ mutable: true }) showTooltip: boolean = false;\r\n @Element() el: HTMLElement;\r\n @State() leadingIconSvg: string = '';\r\n\r\n async loadIcon(iconName: string) {\r\n const iconPath = getAssetPath(`${iconName}`);\r\n const response = await fetch(iconPath);\r\n const svg = await response.text();\r\n this.leadingIconSvg = svg;\r\n }\r\n\r\n componentDidLoad() {\r\n this.loadIcon(this.icon);\r\n }\r\n\r\n render() {\r\n return (\r\n <div class={`container ${this.type}`}>\r\n <div\r\n class={`secondary_side_bar_item_div ${this.state} ${this.type} ${this.category}`}\r\n onMouseEnter={() => (this.showTooltip = true)}\r\n onMouseLeave={() => (this.showTooltip = false)}\r\n >\r\n <div class=\"icon\">\r\n <div class=\"icon_container\">\r\n <div class={`icon ${this.state} ${this.category}`} innerHTML={this.leadingIconSvg}></div>\r\n </div>\r\n </div>\r\n {this.type === 'full_with_label' && (\r\n <div class=\"text\">\r\n <p class={`label_text ${this.state} ${this.category} ${this.state !== 'active' ? 'text-md-medium' : 'text-md-semi-bold'}`}>{this.label}</p>\r\n </div>\r\n )}\r\n {this.type === 'icon_only' && this.showTooltip && (\r\n <gb-tooltip show-arrow={true} arrow=\"left\" class=\"tooltip\">\r\n <p slot=\"label\">{this.label}</p>\r\n </gb-tooltip>\r\n )}\r\n </div>\r\n </div>\r\n );\r\n }\r\n}","export var HOOKS = [\n \"onChange\",\n \"onClose\",\n \"onDayCreate\",\n \"onDestroy\",\n \"onKeyDown\",\n \"onMonthChange\",\n \"onOpen\",\n \"onParseConfig\",\n \"onReady\",\n \"onValueUpdate\",\n \"onYearChange\",\n \"onPreCalendarPosition\",\n];\nexport var defaults = {\n _disable: [],\n allowInput: false,\n allowInvalidPreload: false,\n altFormat: \"F j, Y\",\n altInput: false,\n altInputClass: \"form-control input\",\n animate: typeof window === \"object\" &&\n window.navigator.userAgent.indexOf(\"MSIE\") === -1,\n ariaDateFormat: \"F j, Y\",\n autoFillDefaultTime: true,\n clickOpens: true,\n closeOnSelect: true,\n conjunction: \", \",\n dateFormat: \"Y-m-d\",\n defaultHour: 12,\n defaultMinute: 0,\n defaultSeconds: 0,\n disable: [],\n disableMobile: false,\n enableSeconds: false,\n enableTime: false,\n errorHandler: function (err) {\n return typeof console !== \"undefined\" && console.warn(err);\n },\n getWeek: function (givenDate) {\n var date = new Date(givenDate.getTime());\n date.setHours(0, 0, 0, 0);\n date.setDate(date.getDate() + 3 - ((date.getDay() + 6) % 7));\n var week1 = new Date(date.getFullYear(), 0, 4);\n return (1 +\n Math.round(((date.getTime() - week1.getTime()) / 86400000 -\n 3 +\n ((week1.getDay() + 6) % 7)) /\n 7));\n },\n hourIncrement: 1,\n ignoredFocusElements: [],\n inline: false,\n locale: \"default\",\n minuteIncrement: 5,\n mode: \"single\",\n monthSelectorType: \"dropdown\",\n nextArrow: \"<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 17 17'><g></g><path d='M13.207 8.472l-7.854 7.854-0.707-0.707 7.146-7.146-7.146-7.148 0.707-0.707 7.854 7.854z' /></svg>\",\n noCalendar: false,\n now: new Date(),\n onChange: [],\n onClose: [],\n onDayCreate: [],\n onDestroy: [],\n onKeyDown: [],\n onMonthChange: [],\n onOpen: [],\n onParseConfig: [],\n onReady: [],\n onValueUpdate: [],\n onYearChange: [],\n onPreCalendarPosition: [],\n plugins: [],\n position: \"auto\",\n positionElement: undefined,\n prevArrow: \"<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 17 17'><g></g><path d='M5.207 8.471l7.146 7.147-0.707 0.707-7.853-7.854 7.854-7.853 0.707 0.707-7.147 7.146z' /></svg>\",\n shorthandCurrentMonth: false,\n showMonths: 1,\n static: false,\n time_24hr: false,\n weekNumbers: false,\n wrap: false,\n};\n","export var english = {\n weekdays: {\n shorthand: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n longhand: [\n \"Sunday\",\n \"Monday\",\n \"Tuesday\",\n \"Wednesday\",\n \"Thursday\",\n \"Friday\",\n \"Saturday\",\n ],\n },\n months: {\n shorthand: [\n \"Jan\",\n \"Feb\",\n \"Mar\",\n \"Apr\",\n \"May\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\",\n \"Oct\",\n \"Nov\",\n \"Dec\",\n ],\n longhand: [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\",\n ],\n },\n daysInMonth: [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],\n firstDayOfWeek: 0,\n ordinal: function (nth) {\n var s = nth % 100;\n if (s > 3 && s < 21)\n return \"th\";\n switch (s % 10) {\n case 1:\n return \"st\";\n case 2:\n return \"nd\";\n case 3:\n return \"rd\";\n default:\n return \"th\";\n }\n },\n rangeSeparator: \" to \",\n weekAbbreviation: \"Wk\",\n scrollTitle: \"Scroll to increment\",\n toggleTitle: \"Click to toggle\",\n amPM: [\"AM\", \"PM\"],\n yearAriaLabel: \"Year\",\n monthAriaLabel: \"Month\",\n hourAriaLabel: \"Hour\",\n minuteAriaLabel: \"Minute\",\n time_24hr: false,\n};\nexport default english;\n","export var pad = function (number, length) {\n if (length === void 0) { length = 2; }\n return (\"000\" + number).slice(length * -1);\n};\nexport var int = function (bool) { return (bool === true ? 1 : 0); };\nexport function debounce(fn, wait) {\n var t;\n return function () {\n var _this = this;\n var args = arguments;\n clearTimeout(t);\n t = setTimeout(function () { return fn.apply(_this, args); }, wait);\n };\n}\nexport var arrayify = function (obj) {\n return obj instanceof Array ? obj : [obj];\n};\n","export function toggleClass(elem, className, bool) {\n if (bool === true)\n return elem.classList.add(className);\n elem.classList.remove(className);\n}\nexport function createElement(tag, className, content) {\n var e = window.document.createElement(tag);\n className = className || \"\";\n content = content || \"\";\n e.className = className;\n if (content !== undefined)\n e.textContent = content;\n return e;\n}\nexport function clearNode(node) {\n while (node.firstChild)\n node.removeChild(node.firstChild);\n}\nexport function findParent(node, condition) {\n if (condition(node))\n return node;\n else if (node.parentNode)\n return findParent(node.parentNode, condition);\n return undefined;\n}\nexport function createNumberInput(inputClassName, opts) {\n var wrapper = createElement(\"div\", \"numInputWrapper\"), numInput = createElement(\"input\", \"numInput \" + inputClassName), arrowUp = createElement(\"span\", \"arrowUp\"), arrowDown = createElement(\"span\", \"arrowDown\");\n if (navigator.userAgent.indexOf(\"MSIE 9.0\") === -1) {\n numInput.type = \"number\";\n }\n else {\n numInput.type = \"text\";\n numInput.pattern = \"\\\\d*\";\n }\n if (opts !== undefined)\n for (var key in opts)\n numInput.setAttribute(key, opts[key]);\n wrapper.appendChild(numInput);\n wrapper.appendChild(arrowUp);\n wrapper.appendChild(arrowDown);\n return wrapper;\n}\nexport function getEventTarget(event) {\n try {\n if (typeof event.composedPath === \"function\") {\n var path = event.composedPath();\n return path[0];\n }\n return event.target;\n }\n catch (error) {\n return event.target;\n }\n}\n","import { int, pad } from \"../utils\";\nvar doNothing = function () { return undefined; };\nexport var monthToStr = function (monthNumber, shorthand, locale) { return locale.months[shorthand ? \"shorthand\" : \"longhand\"][monthNumber]; };\nexport var revFormat = {\n D: doNothing,\n F: function (dateObj, monthName, locale) {\n dateObj.setMonth(locale.months.longhand.indexOf(monthName));\n },\n G: function (dateObj, hour) {\n dateObj.setHours((dateObj.getHours() >= 12 ? 12 : 0) + parseFloat(hour));\n },\n H: function (dateObj, hour) {\n dateObj.setHours(parseFloat(hour));\n },\n J: function (dateObj, day) {\n dateObj.setDate(parseFloat(day));\n },\n K: function (dateObj, amPM, locale) {\n dateObj.setHours((dateObj.getHours() % 12) +\n 12 * int(new RegExp(locale.amPM[1], \"i\").test(amPM)));\n },\n M: function (dateObj, shortMonth, locale) {\n dateObj.setMonth(locale.months.shorthand.indexOf(shortMonth));\n },\n S: function (dateObj, seconds) {\n dateObj.setSeconds(parseFloat(seconds));\n },\n U: function (_, unixSeconds) { return new Date(parseFloat(unixSeconds) * 1000); },\n W: function (dateObj, weekNum, locale) {\n var weekNumber = parseInt(weekNum);\n var date = new Date(dateObj.getFullYear(), 0, 2 + (weekNumber - 1) * 7, 0, 0, 0, 0);\n date.setDate(date.getDate() - date.getDay() + locale.firstDayOfWeek);\n return date;\n },\n Y: function (dateObj, year) {\n dateObj.setFullYear(parseFloat(year));\n },\n Z: function (_, ISODate) { return new Date(ISODate); },\n d: function (dateObj, day) {\n dateObj.setDate(parseFloat(day));\n },\n h: function (dateObj, hour) {\n dateObj.setHours((dateObj.getHours() >= 12 ? 12 : 0) + parseFloat(hour));\n },\n i: function (dateObj, minutes) {\n dateObj.setMinutes(parseFloat(minutes));\n },\n j: function (dateObj, day) {\n dateObj.setDate(parseFloat(day));\n },\n l: doNothing,\n m: function (dateObj, month) {\n dateObj.setMonth(parseFloat(month) - 1);\n },\n n: function (dateObj, month) {\n dateObj.setMonth(parseFloat(month) - 1);\n },\n s: function (dateObj, seconds) {\n dateObj.setSeconds(parseFloat(seconds));\n },\n u: function (_, unixMillSeconds) {\n return new Date(parseFloat(unixMillSeconds));\n },\n w: doNothing,\n y: function (dateObj, year) {\n dateObj.setFullYear(2000 + parseFloat(year));\n },\n};\nexport var tokenRegex = {\n D: \"\",\n F: \"\",\n G: \"(\\\\d\\\\d|\\\\d)\",\n H: \"(\\\\d\\\\d|\\\\d)\",\n J: \"(\\\\d\\\\d|\\\\d)\\\\w+\",\n K: \"\",\n M: \"\",\n S: \"(\\\\d\\\\d|\\\\d)\",\n U: \"(.+)\",\n W: \"(\\\\d\\\\d|\\\\d)\",\n Y: \"(\\\\d{4})\",\n Z: \"(.+)\",\n d: \"(\\\\d\\\\d|\\\\d)\",\n h: \"(\\\\d\\\\d|\\\\d)\",\n i: \"(\\\\d\\\\d|\\\\d)\",\n j: \"(\\\\d\\\\d|\\\\d)\",\n l: \"\",\n m: \"(\\\\d\\\\d|\\\\d)\",\n n: \"(\\\\d\\\\d|\\\\d)\",\n s: \"(\\\\d\\\\d|\\\\d)\",\n u: \"(.+)\",\n w: \"(\\\\d\\\\d|\\\\d)\",\n y: \"(\\\\d{2})\",\n};\nexport var formats = {\n Z: function (date) { return date.toISOString(); },\n D: function (date, locale, options) {\n return locale.weekdays.shorthand[formats.w(date, locale, options)];\n },\n F: function (date, locale, options) {\n return monthToStr(formats.n(date, locale, options) - 1, false, locale);\n },\n G: function (date, locale, options) {\n return pad(formats.h(date, locale, options));\n },\n H: function (date) { return pad(date.getHours()); },\n J: function (date, locale) {\n return locale.ordinal !== undefined\n ? date.getDate() + locale.ordinal(date.getDate())\n : date.getDate();\n },\n K: function (date, locale) { return locale.amPM[int(date.getHours() > 11)]; },\n M: function (date, locale) {\n return monthToStr(date.getMonth(), true, locale);\n },\n S: function (date) { return pad(date.getSeconds()); },\n U: function (date) { return date.getTime() / 1000; },\n W: function (date, _, options) {\n return options.getWeek(date);\n },\n Y: function (date) { return pad(date.getFullYear(), 4); },\n d: function (date) { return pad(date.getDate()); },\n h: function (date) { return (date.getHours() % 12 ? date.getHours() % 12 : 12); },\n i: function (date) { return pad(date.getMinutes()); },\n j: function (date) { return date.getDate(); },\n l: function (date, locale) {\n return locale.weekdays.longhand[date.getDay()];\n },\n m: function (date) { return pad(date.getMonth() + 1); },\n n: function (date) { return date.getMonth() + 1; },\n s: function (date) { return date.getSeconds(); },\n u: function (date) { return date.getTime(); },\n w: function (date) { return date.getDay(); },\n y: function (date) { return String(date.getFullYear()).substring(2); },\n};\n","import { tokenRegex, revFormat, formats, } from \"./formatting\";\nimport { defaults } from \"../types/options\";\nimport { english } from \"../l10n/default\";\nexport var createDateFormatter = function (_a) {\n var _b = _a.config, config = _b === void 0 ? defaults : _b, _c = _a.l10n, l10n = _c === void 0 ? english : _c, _d = _a.isMobile, isMobile = _d === void 0 ? false : _d;\n return function (dateObj, frmt, overrideLocale) {\n var locale = overrideLocale || l10n;\n if (config.formatDate !== undefined && !isMobile) {\n return config.formatDate(dateObj, frmt, locale);\n }\n return frmt\n .split(\"\")\n .map(function (c, i, arr) {\n return formats[c] && arr[i - 1] !== \"\\\\\"\n ? formats[c](dateObj, locale, config)\n : c !== \"\\\\\"\n ? c\n : \"\";\n })\n .join(\"\");\n };\n};\nexport var createDateParser = function (_a) {\n var _b = _a.config, config = _b === void 0 ? defaults : _b, _c = _a.l10n, l10n = _c === void 0 ? english : _c;\n return function (date, givenFormat, timeless, customLocale) {\n if (date !== 0 && !date)\n return undefined;\n var locale = customLocale || l10n;\n var parsedDate;\n var dateOrig = date;\n if (date instanceof Date)\n parsedDate = new Date(date.getTime());\n else if (typeof date !== \"string\" &&\n date.toFixed !== undefined)\n parsedDate = new Date(date);\n else if (typeof date === \"string\") {\n var format = givenFormat || (config || defaults).dateFormat;\n var datestr = String(date).trim();\n if (datestr === \"today\") {\n parsedDate = new Date();\n timeless = true;\n }\n else if (config && config.parseDate) {\n parsedDate = config.parseDate(date, format);\n }\n else if (/Z$/.test(datestr) ||\n /GMT$/.test(datestr)) {\n parsedDate = new Date(date);\n }\n else {\n var matched = void 0, ops = [];\n for (var i = 0, matchIndex = 0, regexStr = \"\"; i < format.length; i++) {\n var token = format[i];\n var isBackSlash = token === \"\\\\\";\n var escaped = format[i - 1] === \"\\\\\" || isBackSlash;\n if (tokenRegex[token] && !escaped) {\n regexStr += tokenRegex[token];\n var match = new RegExp(regexStr).exec(date);\n if (match && (matched = true)) {\n ops[token !== \"Y\" ? \"push\" : \"unshift\"]({\n fn: revFormat[token],\n val: match[++matchIndex],\n });\n }\n }\n else if (!isBackSlash)\n regexStr += \".\";\n }\n parsedDate =\n !config || !config.noCalendar\n ? new Date(new Date().getFullYear(), 0, 1, 0, 0, 0, 0)\n : new Date(new Date().setHours(0, 0, 0, 0));\n ops.forEach(function (_a) {\n var fn = _a.fn, val = _a.val;\n return (parsedDate = fn(parsedDate, val, locale) || parsedDate);\n });\n parsedDate = matched ? parsedDate : undefined;\n }\n }\n if (!(parsedDate instanceof Date && !isNaN(parsedDate.getTime()))) {\n config.errorHandler(new Error(\"Invalid date provided: \" + dateOrig));\n return undefined;\n }\n if (timeless === true)\n parsedDate.setHours(0, 0, 0, 0);\n return parsedDate;\n };\n};\nexport function compareDates(date1, date2, timeless) {\n if (timeless === void 0) { timeless = true; }\n if (timeless !== false) {\n return (new Date(date1.getTime()).setHours(0, 0, 0, 0) -\n new Date(date2.getTime()).setHours(0, 0, 0, 0));\n }\n return date1.getTime() - date2.getTime();\n}\nexport function compareTimes(date1, date2) {\n return (3600 * (date1.getHours() - date2.getHours()) +\n 60 * (date1.getMinutes() - date2.getMinutes()) +\n date1.getSeconds() -\n date2.getSeconds());\n}\nexport var isBetween = function (ts, ts1, ts2) {\n return ts > Math.min(ts1, ts2) && ts < Math.max(ts1, ts2);\n};\nexport var calculateSecondsSinceMidnight = function (hours, minutes, seconds) {\n return hours * 3600 + minutes * 60 + seconds;\n};\nexport var parseSeconds = function (secondsSinceMidnight) {\n var hours = Math.floor(secondsSinceMidnight / 3600), minutes = (secondsSinceMidnight - hours * 3600) / 60;\n return [hours, minutes, secondsSinceMidnight - hours * 3600 - minutes * 60];\n};\nexport var duration = {\n DAY: 86400000,\n};\nexport function getDefaultHours(config) {\n var hours = config.defaultHour;\n var minutes = config.defaultMinute;\n var seconds = config.defaultSeconds;\n if (config.minDate !== undefined) {\n var minHour = config.minDate.getHours();\n var minMinutes = config.minDate.getMinutes();\n var minSeconds = config.minDate.getSeconds();\n if (hours < minHour) {\n hours = minHour;\n }\n if (hours === minHour && minutes < minMinutes) {\n minutes = minMinutes;\n }\n if (hours === minHour && minutes === minMinutes && seconds < minSeconds)\n seconds = config.minDate.getSeconds();\n }\n if (config.maxDate !== undefined) {\n var maxHr = config.maxDate.getHours();\n var maxMinutes = config.maxDate.getMinutes();\n hours = Math.min(hours, maxHr);\n if (hours === maxHr)\n minutes = Math.min(maxMinutes, minutes);\n if (hours === maxHr && minutes === maxMinutes)\n seconds = config.maxDate.getSeconds();\n }\n return { hours: hours, minutes: minutes, seconds: seconds };\n}\n","\"use strict\";\nif (typeof Object.assign !== \"function\") {\n Object.assign = function (target) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n if (!target) {\n throw TypeError(\"Cannot convert undefined or null to object\");\n }\n var _loop_1 = function (source) {\n if (source) {\n Object.keys(source).forEach(function (key) { return (target[key] = source[key]); });\n }\n };\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var source = args_1[_a];\n _loop_1(source);\n }\n return target;\n };\n}\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nimport { defaults as defaultOptions, HOOKS, } from \"./types/options\";\nimport English from \"./l10n/default\";\nimport { arrayify, debounce, int, pad } from \"./utils\";\nimport { clearNode, createElement, createNumberInput, findParent, toggleClass, getEventTarget, } from \"./utils/dom\";\nimport { compareDates, createDateParser, createDateFormatter, duration, isBetween, getDefaultHours, calculateSecondsSinceMidnight, parseSeconds, } from \"./utils/dates\";\nimport { tokenRegex, monthToStr } from \"./utils/formatting\";\nimport \"./utils/polyfills\";\nvar DEBOUNCED_CHANGE_MS = 300;\nfunction FlatpickrInstance(element, instanceConfig) {\n var self = {\n config: __assign(__assign({}, defaultOptions), flatpickr.defaultConfig),\n l10n: English,\n };\n self.parseDate = createDateParser({ config: self.config, l10n: self.l10n });\n self._handlers = [];\n self.pluginElements = [];\n self.loadedPlugins = [];\n self._bind = bind;\n self._setHoursFromDate = setHoursFromDate;\n self._positionCalendar = positionCalendar;\n self.changeMonth = changeMonth;\n self.changeYear = changeYear;\n self.clear = clear;\n self.close = close;\n self.onMouseOver = onMouseOver;\n self._createElement = createElement;\n self.createDay = createDay;\n self.destroy = destroy;\n self.isEnabled = isEnabled;\n self.jumpToDate = jumpToDate;\n self.updateValue = updateValue;\n self.open = open;\n self.redraw = redraw;\n self.set = set;\n self.setDate = setDate;\n self.toggle = toggle;\n function setupHelperFunctions() {\n self.utils = {\n getDaysInMonth: function (month, yr) {\n if (month === void 0) { month = self.currentMonth; }\n if (yr === void 0) { yr = self.currentYear; }\n if (month === 1 && ((yr % 4 === 0 && yr % 100 !== 0) || yr % 400 === 0))\n return 29;\n return self.l10n.daysInMonth[month];\n },\n };\n }\n function init() {\n self.element = self.input = element;\n self.isOpen = false;\n parseConfig();\n setupLocale();\n setupInputs();\n setupDates();\n setupHelperFunctions();\n if (!self.isMobile)\n build();\n bindEvents();\n if (self.selectedDates.length || self.config.noCalendar) {\n if (self.config.enableTime) {\n setHoursFromDate(self.config.noCalendar ? self.latestSelectedDateObj : undefined);\n }\n updateValue(false);\n }\n setCalendarWidth();\n var isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\n if (!self.isMobile && isSafari) {\n positionCalendar();\n }\n triggerEvent(\"onReady\");\n }\n function getClosestActiveElement() {\n var _a;\n return (((_a = self.calendarContainer) === null || _a === void 0 ? void 0 : _a.getRootNode())\n .activeElement || document.activeElement);\n }\n function bindToInstance(fn) {\n return fn.bind(self);\n }\n function setCalendarWidth() {\n var config = self.config;\n if (config.weekNumbers === false && config.showMonths === 1) {\n return;\n }\n else if (config.noCalendar !== true) {\n window.requestAnimationFrame(function () {\n if (self.calendarContainer !== undefined) {\n self.calendarContainer.style.visibility = \"hidden\";\n self.calendarContainer.style.display = \"block\";\n }\n if (self.daysContainer !== undefined) {\n var daysWidth = (self.days.offsetWidth + 1) * config.showMonths;\n self.daysContainer.style.width = daysWidth + \"px\";\n self.calendarContainer.style.width =\n daysWidth +\n (self.weekWrapper !== undefined\n ? self.weekWrapper.offsetWidth\n : 0) +\n \"px\";\n self.calendarContainer.style.removeProperty(\"visibility\");\n self.calendarContainer.style.removeProperty(\"display\");\n }\n });\n }\n }\n function updateTime(e) {\n if (self.selectedDates.length === 0) {\n var defaultDate = self.config.minDate === undefined ||\n compareDates(new Date(), self.config.minDate) >= 0\n ? new Date()\n : new Date(self.config.minDate.getTime());\n var defaults = getDefaultHours(self.config);\n defaultDate.setHours(defaults.hours, defaults.minutes, defaults.seconds, defaultDate.getMilliseconds());\n self.selectedDates = [defaultDate];\n self.latestSelectedDateObj = defaultDate;\n }\n if (e !== undefined && e.type !== \"blur\") {\n timeWrapper(e);\n }\n var prevValue = self._input.value;\n setHoursFromInputs();\n updateValue();\n if (self._input.value !== prevValue) {\n self._debouncedChange();\n }\n }\n function ampm2military(hour, amPM) {\n return (hour % 12) + 12 * int(amPM === self.l10n.amPM[1]);\n }\n function military2ampm(hour) {\n switch (hour % 24) {\n case 0:\n case 12:\n return 12;\n default:\n return hour % 12;\n }\n }\n function setHoursFromInputs() {\n if (self.hourElement === undefined || self.minuteElement === undefined)\n return;\n var hours = (parseInt(self.hourElement.value.slice(-2), 10) || 0) % 24, minutes = (parseInt(self.minuteElement.value, 10) || 0) % 60, seconds = self.secondElement !== undefined\n ? (parseInt(self.secondElement.value, 10) || 0) % 60\n : 0;\n if (self.amPM !== undefined) {\n hours = ampm2military(hours, self.amPM.textContent);\n }\n var limitMinHours = self.config.minTime !== undefined ||\n (self.config.minDate &&\n self.minDateHasTime &&\n self.latestSelectedDateObj &&\n compareDates(self.latestSelectedDateObj, self.config.minDate, true) ===\n 0);\n var limitMaxHours = self.config.maxTime !== undefined ||\n (self.config.maxDate &&\n self.maxDateHasTime &&\n self.latestSelectedDateObj &&\n compareDates(self.latestSelectedDateObj, self.config.maxDate, true) ===\n 0);\n if (self.config.maxTime !== undefined &&\n self.config.minTime !== undefined &&\n self.config.minTime > self.config.maxTime) {\n var minBound = calculateSecondsSinceMidnight(self.config.minTime.getHours(), self.config.minTime.getMinutes(), self.config.minTime.getSeconds());\n var maxBound = calculateSecondsSinceMidnight(self.config.maxTime.getHours(), self.config.maxTime.getMinutes(), self.config.maxTime.getSeconds());\n var currentTime = calculateSecondsSinceMidnight(hours, minutes, seconds);\n if (currentTime > maxBound && currentTime < minBound) {\n var result = parseSeconds(minBound);\n hours = result[0];\n minutes = result[1];\n seconds = result[2];\n }\n }\n else {\n if (limitMaxHours) {\n var maxTime = self.config.maxTime !== undefined\n ? self.config.maxTime\n : self.config.maxDate;\n hours = Math.min(hours, maxTime.getHours());\n if (hours === maxTime.getHours())\n minutes = Math.min(minutes, maxTime.getMinutes());\n if (minutes === maxTime.getMinutes())\n seconds = Math.min(seconds, maxTime.getSeconds());\n }\n if (limitMinHours) {\n var minTime = self.config.minTime !== undefined\n ? self.config.minTime\n : self.config.minDate;\n hours = Math.max(hours, minTime.getHours());\n if (hours === minTime.getHours() && minutes < minTime.getMinutes())\n minutes = minTime.getMinutes();\n if (minutes === minTime.getMinutes())\n seconds = Math.max(seconds, minTime.getSeconds());\n }\n }\n setHours(hours, minutes, seconds);\n }\n function setHoursFromDate(dateObj) {\n var date = dateObj || self.latestSelectedDateObj;\n if (date && date instanceof Date) {\n setHours(date.getHours(), date.getMinutes(), date.getSeconds());\n }\n }\n function setHours(hours, minutes, seconds) {\n if (self.latestSelectedDateObj !== undefined) {\n self.latestSelectedDateObj.setHours(hours % 24, minutes, seconds || 0, 0);\n }\n if (!self.hourElement || !self.minuteElement || self.isMobile)\n return;\n self.hourElement.value = pad(!self.config.time_24hr\n ? ((12 + hours) % 12) + 12 * int(hours % 12 === 0)\n : hours);\n self.minuteElement.value = pad(minutes);\n if (self.amPM !== undefined)\n self.amPM.textContent = self.l10n.amPM[int(hours >= 12)];\n if (self.secondElement !== undefined)\n self.secondElement.value = pad(seconds);\n }\n function onYearInput(event) {\n var eventTarget = getEventTarget(event);\n var year = parseInt(eventTarget.value) + (event.delta || 0);\n if (year / 1000 > 1 ||\n (event.key === \"Enter\" && !/[^\\d]/.test(year.toString()))) {\n changeYear(year);\n }\n }\n function bind(element, event, handler, options) {\n if (event instanceof Array)\n return event.forEach(function (ev) { return bind(element, ev, handler, options); });\n if (element instanceof Array)\n return element.forEach(function (el) { return bind(el, event, handler, options); });\n element.addEventListener(event, handler, options);\n self._handlers.push({\n remove: function () { return element.removeEventListener(event, handler, options); },\n });\n }\n function triggerChange() {\n triggerEvent(\"onChange\");\n }\n function bindEvents() {\n if (self.config.wrap) {\n [\"open\", \"close\", \"toggle\", \"clear\"].forEach(function (evt) {\n Array.prototype.forEach.call(self.element.querySelectorAll(\"[data-\" + evt + \"]\"), function (el) {\n return bind(el, \"click\", self[evt]);\n });\n });\n }\n if (self.isMobile) {\n setupMobile();\n return;\n }\n var debouncedResize = debounce(onResize, 50);\n self._debouncedChange = debounce(triggerChange, DEBOUNCED_CHANGE_MS);\n if (self.daysContainer && !/iPhone|iPad|iPod/i.test(navigator.userAgent))\n bind(self.daysContainer, \"mouseover\", function (e) {\n if (self.config.mode === \"range\")\n onMouseOver(getEventTarget(e));\n });\n bind(self._input, \"keydown\", onKeyDown);\n if (self.calendarContainer !== undefined) {\n bind(self.calendarContainer, \"keydown\", onKeyDown);\n }\n if (!self.config.inline && !self.config.static)\n bind(window, \"resize\", debouncedResize);\n if (window.ontouchstart !== undefined)\n bind(window.document, \"touchstart\", documentClick);\n else\n bind(window.document, \"mousedown\", documentClick);\n bind(window.document, \"focus\", documentClick, { capture: true });\n if (self.config.clickOpens === true) {\n bind(self._input, \"focus\", self.open);\n bind(self._input, \"click\", self.open);\n }\n if (self.daysContainer !== undefined) {\n bind(self.monthNav, \"click\", onMonthNavClick);\n bind(self.monthNav, [\"keyup\", \"increment\"], onYearInput);\n bind(self.daysContainer, \"click\", selectDate);\n }\n if (self.timeContainer !== undefined &&\n self.minuteElement !== undefined &&\n self.hourElement !== undefined) {\n var selText = function (e) {\n return getEventTarget(e).select();\n };\n bind(self.timeContainer, [\"increment\"], updateTime);\n bind(self.timeContainer, \"blur\", updateTime, { capture: true });\n bind(self.timeContainer, \"click\", timeIncrement);\n bind([self.hourElement, self.minuteElement], [\"focus\", \"click\"], selText);\n if (self.secondElement !== undefined)\n bind(self.secondElement, \"focus\", function () { return self.secondElement && self.secondElement.select(); });\n if (self.amPM !== undefined) {\n bind(self.amPM, \"click\", function (e) {\n updateTime(e);\n });\n }\n }\n if (self.config.allowInput) {\n bind(self._input, \"blur\", onBlur);\n }\n }\n function jumpToDate(jumpDate, triggerChange) {\n var jumpTo = jumpDate !== undefined\n ? self.parseDate(jumpDate)\n : self.latestSelectedDateObj ||\n (self.config.minDate && self.config.minDate > self.now\n ? self.config.minDate\n : self.config.maxDate && self.config.maxDate < self.now\n ? self.config.maxDate\n : self.now);\n var oldYear = self.currentYear;\n var oldMonth = self.currentMonth;\n try {\n if (jumpTo !== undefined) {\n self.currentYear = jumpTo.getFullYear();\n self.currentMonth = jumpTo.getMonth();\n }\n }\n catch (e) {\n e.message = \"Invalid date supplied: \" + jumpTo;\n self.config.errorHandler(e);\n }\n if (triggerChange && self.currentYear !== oldYear) {\n triggerEvent(\"onYearChange\");\n buildMonthSwitch();\n }\n if (triggerChange &&\n (self.currentYear !== oldYear || self.currentMonth !== oldMonth)) {\n triggerEvent(\"onMonthChange\");\n }\n self.redraw();\n }\n function timeIncrement(e) {\n var eventTarget = getEventTarget(e);\n if (~eventTarget.className.indexOf(\"arrow\"))\n incrementNumInput(e, eventTarget.classList.contains(\"arrowUp\") ? 1 : -1);\n }\n function incrementNumInput(e, delta, inputElem) {\n var target = e && getEventTarget(e);\n var input = inputElem ||\n (target && target.parentNode && target.parentNode.firstChild);\n var event = createEvent(\"increment\");\n event.delta = delta;\n input && input.dispatchEvent(event);\n }\n function build() {\n var fragment = window.document.createDocumentFragment();\n self.calendarContainer = createElement(\"div\", \"flatpickr-calendar\");\n self.calendarContainer.tabIndex = -1;\n if (!self.config.noCalendar) {\n fragment.appendChild(buildMonthNav());\n self.innerContainer = createElement(\"div\", \"flatpickr-innerContainer\");\n if (self.config.weekNumbers) {\n var _a = buildWeeks(), weekWrapper = _a.weekWrapper, weekNumbers = _a.weekNumbers;\n self.innerContainer.appendChild(weekWrapper);\n self.weekNumbers = weekNumbers;\n self.weekWrapper = weekWrapper;\n }\n self.rContainer = createElement(\"div\", \"flatpickr-rContainer\");\n self.rContainer.appendChild(buildWeekdays());\n if (!self.daysContainer) {\n self.daysContainer = createElement(\"div\", \"flatpickr-days\");\n self.daysContainer.tabIndex = -1;\n }\n buildDays();\n self.rContainer.appendChild(self.daysContainer);\n self.innerContainer.appendChild(self.rContainer);\n fragment.appendChild(self.innerContainer);\n }\n if (self.config.enableTime) {\n fragment.appendChild(buildTime());\n }\n toggleClass(self.calendarContainer, \"rangeMode\", self.config.mode === \"range\");\n toggleClass(self.calendarContainer, \"animate\", self.config.animate === true);\n toggleClass(self.calendarContainer, \"multiMonth\", self.config.showMonths > 1);\n self.calendarContainer.appendChild(fragment);\n var customAppend = self.config.appendTo !== undefined &&\n self.config.appendTo.nodeType !== undefined;\n if (self.config.inline || self.config.static) {\n self.calendarContainer.classList.add(self.config.inline ? \"inline\" : \"static\");\n if (self.config.inline) {\n if (!customAppend && self.element.parentNode)\n self.element.parentNode.insertBefore(self.calendarContainer, self._input.nextSibling);\n else if (self.config.appendTo !== undefined)\n self.config.appendTo.appendChild(self.calendarContainer);\n }\n if (self.config.static) {\n var wrapper = createElement(\"div\", \"flatpickr-wrapper\");\n if (self.element.parentNode)\n self.element.parentNode.insertBefore(wrapper, self.element);\n wrapper.appendChild(self.element);\n if (self.altInput)\n wrapper.appendChild(self.altInput);\n wrapper.appendChild(self.calendarContainer);\n }\n }\n if (!self.config.static && !self.config.inline)\n (self.config.appendTo !== undefined\n ? self.config.appendTo\n : window.document.body).appendChild(self.calendarContainer);\n }\n function createDay(className, date, _dayNumber, i) {\n var dateIsEnabled = isEnabled(date, true), dayElement = createElement(\"span\", className, date.getDate().toString());\n dayElement.dateObj = date;\n dayElement.$i = i;\n dayElement.setAttribute(\"aria-label\", self.formatDate(date, self.config.ariaDateFormat));\n if (className.indexOf(\"hidden\") === -1 &&\n compareDates(date, self.now) === 0) {\n self.todayDateElem = dayElement;\n dayElement.classList.add(\"today\");\n dayElement.setAttribute(\"aria-current\", \"date\");\n }\n if (dateIsEnabled) {\n dayElement.tabIndex = -1;\n if (isDateSelected(date)) {\n dayElement.classList.add(\"selected\");\n self.selectedDateElem = dayElement;\n if (self.config.mode === \"range\") {\n toggleClass(dayElement, \"startRange\", self.selectedDates[0] &&\n compareDates(date, self.selectedDates[0], true) === 0);\n toggleClass(dayElement, \"endRange\", self.selectedDates[1] &&\n compareDates(date, self.selectedDates[1], true) === 0);\n if (className === \"nextMonthDay\")\n dayElement.classList.add(\"inRange\");\n }\n }\n }\n else {\n dayElement.classList.add(\"flatpickr-disabled\");\n }\n if (self.config.mode === \"range\") {\n if (isDateInRange(date) && !isDateSelected(date))\n dayElement.classList.add(\"inRange\");\n }\n if (self.weekNumbers &&\n self.config.showMonths === 1 &&\n className !== \"prevMonthDay\" &&\n i % 7 === 6) {\n self.weekNumbers.insertAdjacentHTML(\"beforeend\", \"<span class='flatpickr-day'>\" + self.config.getWeek(date) + \"</span>\");\n }\n triggerEvent(\"onDayCreate\", dayElement);\n return dayElement;\n }\n function focusOnDayElem(targetNode) {\n targetNode.focus();\n if (self.config.mode === \"range\")\n onMouseOver(targetNode);\n }\n function getFirstAvailableDay(delta) {\n var startMonth = delta > 0 ? 0 : self.config.showMonths - 1;\n var endMonth = delta > 0 ? self.config.showMonths : -1;\n for (var m = startMonth; m != endMonth; m += delta) {\n var month = self.daysContainer.children[m];\n var startIndex = delta > 0 ? 0 : month.children.length - 1;\n var endIndex = delta > 0 ? month.children.length : -1;\n for (var i = startIndex; i != endIndex; i += delta) {\n var c = month.children[i];\n if (c.className.indexOf(\"hidden\") === -1 && isEnabled(c.dateObj))\n return c;\n }\n }\n return undefined;\n }\n function getNextAvailableDay(current, delta) {\n var givenMonth = current.className.indexOf(\"Month\") === -1\n ? current.dateObj.getMonth()\n : self.currentMonth;\n var endMonth = delta > 0 ? self.config.showMonths : -1;\n var loopDelta = delta > 0 ? 1 : -1;\n for (var m = givenMonth - self.currentMonth; m != endMonth; m += loopDelta) {\n var month = self.daysContainer.children[m];\n var startIndex = givenMonth - self.currentMonth === m\n ? current.$i + delta\n : delta < 0\n ? month.children.length - 1\n : 0;\n var numMonthDays = month.children.length;\n for (var i = startIndex; i >= 0 && i < numMonthDays && i != (delta > 0 ? numMonthDays : -1); i += loopDelta) {\n var c = month.children[i];\n if (c.className.indexOf(\"hidden\") === -1 &&\n isEnabled(c.dateObj) &&\n Math.abs(current.$i - i) >= Math.abs(delta))\n return focusOnDayElem(c);\n }\n }\n self.changeMonth(loopDelta);\n focusOnDay(getFirstAvailableDay(loopDelta), 0);\n return undefined;\n }\n function focusOnDay(current, offset) {\n var activeElement = getClosestActiveElement();\n var dayFocused = isInView(activeElement || document.body);\n var startElem = current !== undefined\n ? current\n : dayFocused\n ? activeElement\n : self.selectedDateElem !== undefined && isInView(self.selectedDateElem)\n ? self.selectedDateElem\n : self.todayDateElem !== undefined && isInView(self.todayDateElem)\n ? self.todayDateElem\n : getFirstAvailableDay(offset > 0 ? 1 : -1);\n if (startElem === undefined) {\n self._input.focus();\n }\n else if (!dayFocused) {\n focusOnDayElem(startElem);\n }\n else {\n getNextAvailableDay(startElem, offset);\n }\n }\n function buildMonthDays(year, month) {\n var firstOfMonth = (new Date(year, month, 1).getDay() - self.l10n.firstDayOfWeek + 7) % 7;\n var prevMonthDays = self.utils.getDaysInMonth((month - 1 + 12) % 12, year);\n var daysInMonth = self.utils.getDaysInMonth(month, year), days = window.document.createDocumentFragment(), isMultiMonth = self.config.showMonths > 1, prevMonthDayClass = isMultiMonth ? \"prevMonthDay hidden\" : \"prevMonthDay\", nextMonthDayClass = isMultiMonth ? \"nextMonthDay hidden\" : \"nextMonthDay\";\n var dayNumber = prevMonthDays + 1 - firstOfMonth, dayIndex = 0;\n for (; dayNumber <= prevMonthDays; dayNumber++, dayIndex++) {\n days.appendChild(createDay(\"flatpickr-day \" + prevMonthDayClass, new Date(year, month - 1, dayNumber), dayNumber, dayIndex));\n }\n for (dayNumber = 1; dayNumber <= daysInMonth; dayNumber++, dayIndex++) {\n days.appendChild(createDay(\"flatpickr-day\", new Date(year, month, dayNumber), dayNumber, dayIndex));\n }\n for (var dayNum = daysInMonth + 1; dayNum <= 42 - firstOfMonth &&\n (self.config.showMonths === 1 || dayIndex % 7 !== 0); dayNum++, dayIndex++) {\n days.appendChild(createDay(\"flatpickr-day \" + nextMonthDayClass, new Date(year, month + 1, dayNum % daysInMonth), dayNum, dayIndex));\n }\n var dayContainer = createElement(\"div\", \"dayContainer\");\n dayContainer.appendChild(days);\n return dayContainer;\n }\n function buildDays() {\n if (self.daysContainer === undefined) {\n return;\n }\n clearNode(self.daysContainer);\n if (self.weekNumbers)\n clearNode(self.weekNumbers);\n var frag = document.createDocumentFragment();\n for (var i = 0; i < self.config.showMonths; i++) {\n var d = new Date(self.currentYear, self.currentMonth, 1);\n d.setMonth(self.currentMonth + i);\n frag.appendChild(buildMonthDays(d.getFullYear(), d.getMonth()));\n }\n self.daysContainer.appendChild(frag);\n self.days = self.daysContainer.firstChild;\n if (self.config.mode === \"range\" && self.selectedDates.length === 1) {\n onMouseOver();\n }\n }\n function buildMonthSwitch() {\n if (self.config.showMonths > 1 ||\n self.config.monthSelectorType !== \"dropdown\")\n return;\n var shouldBuildMonth = function (month) {\n if (self.config.minDate !== undefined &&\n self.currentYear === self.config.minDate.getFullYear() &&\n month < self.config.minDate.getMonth()) {\n return false;\n }\n return !(self.config.maxDate !== undefined &&\n self.currentYear === self.config.maxDate.getFullYear() &&\n month > self.config.maxDate.getMonth());\n };\n self.monthsDropdownContainer.tabIndex = -1;\n self.monthsDropdownContainer.innerHTML = \"\";\n for (var i = 0; i < 12; i++) {\n if (!shouldBuildMonth(i))\n continue;\n var month = createElement(\"option\", \"flatpickr-monthDropdown-month\");\n month.value = new Date(self.currentYear, i).getMonth().toString();\n month.textContent = monthToStr(i, self.config.shorthandCurrentMonth, self.l10n);\n month.tabIndex = -1;\n if (self.currentMonth === i) {\n month.selected = true;\n }\n self.monthsDropdownContainer.appendChild(month);\n }\n }\n function buildMonth() {\n var container = createElement(\"div\", \"flatpickr-month\");\n var monthNavFragment = window.document.createDocumentFragment();\n var monthElement;\n if (self.config.showMonths > 1 ||\n self.config.monthSelectorType === \"static\") {\n monthElement = createElement(\"span\", \"cur-month\");\n }\n else {\n self.monthsDropdownContainer = createElement(\"select\", \"flatpickr-monthDropdown-months\");\n self.monthsDropdownContainer.setAttribute(\"aria-label\", self.l10n.monthAriaLabel);\n bind(self.monthsDropdownContainer, \"change\", function (e) {\n var target = getEventTarget(e);\n var selectedMonth = parseInt(target.value, 10);\n self.changeMonth(selectedMonth - self.currentMonth);\n triggerEvent(\"onMonthChange\");\n });\n buildMonthSwitch();\n monthElement = self.monthsDropdownContainer;\n }\n var yearInput = createNumberInput(\"cur-year\", { tabindex: \"-1\" });\n var yearElement = yearInput.getElementsByTagName(\"input\")[0];\n yearElement.setAttribute(\"aria-label\", self.l10n.yearAriaLabel);\n if (self.config.minDate) {\n yearElement.setAttribute(\"min\", self.config.minDate.getFullYear().toString());\n }\n if (self.config.maxDate) {\n yearElement.setAttribute(\"max\", self.config.maxDate.getFullYear().toString());\n yearElement.disabled =\n !!self.config.minDate &&\n self.config.minDate.getFullYear() === self.config.maxDate.getFullYear();\n }\n var currentMonth = createElement(\"div\", \"flatpickr-current-month\");\n currentMonth.appendChild(monthElement);\n currentMonth.appendChild(yearInput);\n monthNavFragment.appendChild(currentMonth);\n container.appendChild(monthNavFragment);\n return {\n container: container,\n yearElement: yearElement,\n monthElement: monthElement,\n };\n }\n function buildMonths() {\n clearNode(self.monthNav);\n self.monthNav.appendChild(self.prevMonthNav);\n if (self.config.showMonths) {\n self.yearElements = [];\n self.monthElements = [];\n }\n for (var m = self.config.showMonths; m--;) {\n var month = buildMonth();\n self.yearElements.push(month.yearElement);\n self.monthElements.push(month.monthElement);\n self.monthNav.appendChild(month.container);\n }\n self.monthNav.appendChild(self.nextMonthNav);\n }\n function buildMonthNav() {\n self.monthNav = createElement(\"div\", \"flatpickr-months\");\n self.yearElements = [];\n self.monthElements = [];\n self.prevMonthNav = createElement(\"span\", \"flatpickr-prev-month\");\n self.prevMonthNav.innerHTML = self.config.prevArrow;\n self.nextMonthNav = createElement(\"span\", \"flatpickr-next-month\");\n self.nextMonthNav.innerHTML = self.config.nextArrow;\n buildMonths();\n Object.defineProperty(self, \"_hidePrevMonthArrow\", {\n get: function () { return self.__hidePrevMonthArrow; },\n set: function (bool) {\n if (self.__hidePrevMonthArrow !== bool) {\n toggleClass(self.prevMonthNav, \"flatpickr-disabled\", bool);\n self.__hidePrevMonthArrow = bool;\n }\n },\n });\n Object.defineProperty(self, \"_hideNextMonthArrow\", {\n get: function () { return self.__hideNextMonthArrow; },\n set: function (bool) {\n if (self.__hideNextMonthArrow !== bool) {\n toggleClass(self.nextMonthNav, \"flatpickr-disabled\", bool);\n self.__hideNextMonthArrow = bool;\n }\n },\n });\n self.currentYearElement = self.yearElements[0];\n updateNavigationCurrentMonth();\n return self.monthNav;\n }\n function buildTime() {\n self.calendarContainer.classList.add(\"hasTime\");\n if (self.config.noCalendar)\n self.calendarContainer.classList.add(\"noCalendar\");\n var defaults = getDefaultHours(self.config);\n self.timeContainer = createElement(\"div\", \"flatpickr-time\");\n self.timeContainer.tabIndex = -1;\n var separator = createElement(\"span\", \"flatpickr-time-separator\", \":\");\n var hourInput = createNumberInput(\"flatpickr-hour\", {\n \"aria-label\": self.l10n.hourAriaLabel,\n });\n self.hourElement = hourInput.getElementsByTagName(\"input\")[0];\n var minuteInput = createNumberInput(\"flatpickr-minute\", {\n \"aria-label\": self.l10n.minuteAriaLabel,\n });\n self.minuteElement = minuteInput.getElementsByTagName(\"input\")[0];\n self.hourElement.tabIndex = self.minuteElement.tabIndex = -1;\n self.hourElement.value = pad(self.latestSelectedDateObj\n ? self.latestSelectedDateObj.getHours()\n : self.config.time_24hr\n ? defaults.hours\n : military2ampm(defaults.hours));\n self.minuteElement.value = pad(self.latestSelectedDateObj\n ? self.latestSelectedDateObj.getMinutes()\n : defaults.minutes);\n self.hourElement.setAttribute(\"step\", self.config.hourIncrement.toString());\n self.minuteElement.setAttribute(\"step\", self.config.minuteIncrement.toString());\n self.hourElement.setAttribute(\"min\", self.config.time_24hr ? \"0\" : \"1\");\n self.hourElement.setAttribute(\"max\", self.config.time_24hr ? \"23\" : \"12\");\n self.hourElement.setAttribute(\"maxlength\", \"2\");\n self.minuteElement.setAttribute(\"min\", \"0\");\n self.minuteElement.setAttribute(\"max\", \"59\");\n self.minuteElement.setAttribute(\"maxlength\", \"2\");\n self.timeContainer.appendChild(hourInput);\n self.timeContainer.appendChild(separator);\n self.timeContainer.appendChild(minuteInput);\n if (self.config.time_24hr)\n self.timeContainer.classList.add(\"time24hr\");\n if (self.config.enableSeconds) {\n self.timeContainer.classList.add(\"hasSeconds\");\n var secondInput = createNumberInput(\"flatpickr-second\");\n self.secondElement = secondInput.getElementsByTagName(\"input\")[0];\n self.secondElement.value = pad(self.latestSelectedDateObj\n ? self.latestSelectedDateObj.getSeconds()\n : defaults.seconds);\n self.secondElement.setAttribute(\"step\", self.minuteElement.getAttribute(\"step\"));\n self.secondElement.setAttribute(\"min\", \"0\");\n self.secondElement.setAttribute(\"max\", \"59\");\n self.secondElement.setAttribute(\"maxlength\", \"2\");\n self.timeContainer.appendChild(createElement(\"span\", \"flatpickr-time-separator\", \":\"));\n self.timeContainer.appendChild(secondInput);\n }\n if (!self.config.time_24hr) {\n self.amPM = createElement(\"span\", \"flatpickr-am-pm\", self.l10n.amPM[int((self.latestSelectedDateObj\n ? self.hourElement.value\n : self.config.defaultHour) > 11)]);\n self.amPM.title = self.l10n.toggleTitle;\n self.amPM.tabIndex = -1;\n self.timeContainer.appendChild(self.amPM);\n }\n return self.timeContainer;\n }\n function buildWeekdays() {\n if (!self.weekdayContainer)\n self.weekdayContainer = createElement(\"div\", \"flatpickr-weekdays\");\n else\n clearNode(self.weekdayContainer);\n for (var i = self.config.showMonths; i--;) {\n var container = createElement(\"div\", \"flatpickr-weekdaycontainer\");\n self.weekdayContainer.appendChild(container);\n }\n updateWeekdays();\n return self.weekdayContainer;\n }\n function updateWeekdays() {\n if (!self.weekdayContainer) {\n return;\n }\n var firstDayOfWeek = self.l10n.firstDayOfWeek;\n var weekdays = __spreadArrays(self.l10n.weekdays.shorthand);\n if (firstDayOfWeek > 0 && firstDayOfWeek < weekdays.length) {\n weekdays = __spreadArrays(weekdays.splice(firstDayOfWeek, weekdays.length), weekdays.splice(0, firstDayOfWeek));\n }\n for (var i = self.config.showMonths; i--;) {\n self.weekdayContainer.children[i].innerHTML = \"\\n <span class='flatpickr-weekday'>\\n \" + weekdays.join(\"</span><span class='flatpickr-weekday'>\") + \"\\n </span>\\n \";\n }\n }\n function buildWeeks() {\n self.calendarContainer.classList.add(\"hasWeeks\");\n var weekWrapper = createElement(\"div\", \"flatpickr-weekwrapper\");\n weekWrapper.appendChild(createElement(\"span\", \"flatpickr-weekday\", self.l10n.weekAbbreviation));\n var weekNumbers = createElement(\"div\", \"flatpickr-weeks\");\n weekWrapper.appendChild(weekNumbers);\n return {\n weekWrapper: weekWrapper,\n weekNumbers: weekNumbers,\n };\n }\n function changeMonth(value, isOffset) {\n if (isOffset === void 0) { isOffset = true; }\n var delta = isOffset ? value : value - self.currentMonth;\n if ((delta < 0 && self._hidePrevMonthArrow === true) ||\n (delta > 0 && self._hideNextMonthArrow === true))\n return;\n self.currentMonth += delta;\n if (self.currentMonth < 0 || self.currentMonth > 11) {\n self.currentYear += self.currentMonth > 11 ? 1 : -1;\n self.currentMonth = (self.currentMonth + 12) % 12;\n triggerEvent(\"onYearChange\");\n buildMonthSwitch();\n }\n buildDays();\n triggerEvent(\"onMonthChange\");\n updateNavigationCurrentMonth();\n }\n function clear(triggerChangeEvent, toInitial) {\n if (triggerChangeEvent === void 0) { triggerChangeEvent = true; }\n if (toInitial === void 0) { toInitial = true; }\n self.input.value = \"\";\n if (self.altInput !== undefined)\n self.altInput.value = \"\";\n if (self.mobileInput !== undefined)\n self.mobileInput.value = \"\";\n self.selectedDates = [];\n self.latestSelectedDateObj = undefined;\n if (toInitial === true) {\n self.currentYear = self._initialDate.getFullYear();\n self.currentMonth = self._initialDate.getMonth();\n }\n if (self.config.enableTime === true) {\n var _a = getDefaultHours(self.config), hours = _a.hours, minutes = _a.minutes, seconds = _a.seconds;\n setHours(hours, minutes, seconds);\n }\n self.redraw();\n if (triggerChangeEvent)\n triggerEvent(\"onChange\");\n }\n function close() {\n self.isOpen = false;\n if (!self.isMobile) {\n if (self.calendarContainer !== undefined) {\n self.calendarContainer.classList.remove(\"open\");\n }\n if (self._input !== undefined) {\n self._input.classList.remove(\"active\");\n }\n }\n triggerEvent(\"onClose\");\n }\n function destroy() {\n if (self.config !== undefined)\n triggerEvent(\"onDestroy\");\n for (var i = self._handlers.length; i--;) {\n self._handlers[i].remove();\n }\n self._handlers = [];\n if (self.mobileInput) {\n if (self.mobileInput.parentNode)\n self.mobileInput.parentNode.removeChild(self.mobileInput);\n self.mobileInput = undefined;\n }\n else if (self.calendarContainer && self.calendarContainer.parentNode) {\n if (self.config.static && self.calendarContainer.parentNode) {\n var wrapper = self.calendarContainer.parentNode;\n wrapper.lastChild && wrapper.removeChild(wrapper.lastChild);\n if (wrapper.parentNode) {\n while (wrapper.firstChild)\n wrapper.parentNode.insertBefore(wrapper.firstChild, wrapper);\n wrapper.parentNode.removeChild(wrapper);\n }\n }\n else\n self.calendarContainer.parentNode.removeChild(self.calendarContainer);\n }\n if (self.altInput) {\n self.input.type = \"text\";\n if (self.altInput.parentNode)\n self.altInput.parentNode.removeChild(self.altInput);\n delete self.altInput;\n }\n if (self.input) {\n self.input.type = self.input._type;\n self.input.classList.remove(\"flatpickr-input\");\n self.input.removeAttribute(\"readonly\");\n }\n [\n \"_showTimeInput\",\n \"latestSelectedDateObj\",\n \"_hideNextMonthArrow\",\n \"_hidePrevMonthArrow\",\n \"__hideNextMonthArrow\",\n \"__hidePrevMonthArrow\",\n \"isMobile\",\n \"isOpen\",\n \"selectedDateElem\",\n \"minDateHasTime\",\n \"maxDateHasTime\",\n \"days\",\n \"daysContainer\",\n \"_input\",\n \"_positionElement\",\n \"innerContainer\",\n \"rContainer\",\n \"monthNav\",\n \"todayDateElem\",\n \"calendarContainer\",\n \"weekdayContainer\",\n \"prevMonthNav\",\n \"nextMonthNav\",\n \"monthsDropdownContainer\",\n \"currentMonthElement\",\n \"currentYearElement\",\n \"navigationCurrentMonth\",\n \"selectedDateElem\",\n \"config\",\n ].forEach(function (k) {\n try {\n delete self[k];\n }\n catch (_) { }\n });\n }\n function isCalendarElem(elem) {\n return self.calendarContainer.contains(elem);\n }\n function documentClick(e) {\n if (self.isOpen && !self.config.inline) {\n var eventTarget_1 = getEventTarget(e);\n var isCalendarElement = isCalendarElem(eventTarget_1);\n var isInput = eventTarget_1 === self.input ||\n eventTarget_1 === self.altInput ||\n self.element.contains(eventTarget_1) ||\n (e.path &&\n e.path.indexOf &&\n (~e.path.indexOf(self.input) ||\n ~e.path.indexOf(self.altInput)));\n var lostFocus = !isInput &&\n !isCalendarElement &&\n !isCalendarElem(e.relatedTarget);\n var isIgnored = !self.config.ignoredFocusElements.some(function (elem) {\n return elem.contains(eventTarget_1);\n });\n if (lostFocus && isIgnored) {\n if (self.config.allowInput) {\n self.setDate(self._input.value, false, self.config.altInput\n ? self.config.altFormat\n : self.config.dateFormat);\n }\n if (self.timeContainer !== undefined &&\n self.minuteElement !== undefined &&\n self.hourElement !== undefined &&\n self.input.value !== \"\" &&\n self.input.value !== undefined) {\n updateTime();\n }\n self.close();\n if (self.config &&\n self.config.mode === \"range\" &&\n self.selectedDates.length === 1)\n self.clear(false);\n }\n }\n }\n function changeYear(newYear) {\n if (!newYear ||\n (self.config.minDate && newYear < self.config.minDate.getFullYear()) ||\n (self.config.maxDate && newYear > self.config.maxDate.getFullYear()))\n return;\n var newYearNum = newYear, isNewYear = self.currentYear !== newYearNum;\n self.currentYear = newYearNum || self.currentYear;\n if (self.config.maxDate &&\n self.currentYear === self.config.maxDate.getFullYear()) {\n self.currentMonth = Math.min(self.config.maxDate.getMonth(), self.currentMonth);\n }\n else if (self.config.minDate &&\n self.currentYear === self.config.minDate.getFullYear()) {\n self.currentMonth = Math.max(self.config.minDate.getMonth(), self.currentMonth);\n }\n if (isNewYear) {\n self.redraw();\n triggerEvent(\"onYearChange\");\n buildMonthSwitch();\n }\n }\n function isEnabled(date, timeless) {\n var _a;\n if (timeless === void 0) { timeless = true; }\n var dateToCheck = self.parseDate(date, undefined, timeless);\n if ((self.config.minDate &&\n dateToCheck &&\n compareDates(dateToCheck, self.config.minDate, timeless !== undefined ? timeless : !self.minDateHasTime) < 0) ||\n (self.config.maxDate &&\n dateToCheck &&\n compareDates(dateToCheck, self.config.maxDate, timeless !== undefined ? timeless : !self.maxDateHasTime) > 0))\n return false;\n if (!self.config.enable && self.config.disable.length === 0)\n return true;\n if (dateToCheck === undefined)\n return false;\n var bool = !!self.config.enable, array = (_a = self.config.enable) !== null && _a !== void 0 ? _a : self.config.disable;\n for (var i = 0, d = void 0; i < array.length; i++) {\n d = array[i];\n if (typeof d === \"function\" &&\n d(dateToCheck))\n return bool;\n else if (d instanceof Date &&\n dateToCheck !== undefined &&\n d.getTime() === dateToCheck.getTime())\n return bool;\n else if (typeof d === \"string\") {\n var parsed = self.parseDate(d, undefined, true);\n return parsed && parsed.getTime() === dateToCheck.getTime()\n ? bool\n : !bool;\n }\n else if (typeof d === \"object\" &&\n dateToCheck !== undefined &&\n d.from &&\n d.to &&\n dateToCheck.getTime() >= d.from.getTime() &&\n dateToCheck.getTime() <= d.to.getTime())\n return bool;\n }\n return !bool;\n }\n function isInView(elem) {\n if (self.daysContainer !== undefined)\n return (elem.className.indexOf(\"hidden\") === -1 &&\n elem.className.indexOf(\"flatpickr-disabled\") === -1 &&\n self.daysContainer.contains(elem));\n return false;\n }\n function onBlur(e) {\n var isInput = e.target === self._input;\n var valueChanged = self._input.value.trimEnd() !== getDateStr();\n if (isInput &&\n valueChanged &&\n !(e.relatedTarget && isCalendarElem(e.relatedTarget))) {\n self.setDate(self._input.value, true, e.target === self.altInput\n ? self.config.altFormat\n : self.config.dateFormat);\n }\n }\n function onKeyDown(e) {\n var eventTarget = getEventTarget(e);\n var isInput = self.config.wrap\n ? element.contains(eventTarget)\n : eventTarget === self._input;\n var allowInput = self.config.allowInput;\n var allowKeydown = self.isOpen && (!allowInput || !isInput);\n var allowInlineKeydown = self.config.inline && isInput && !allowInput;\n if (e.keyCode === 13 && isInput) {\n if (allowInput) {\n self.setDate(self._input.value, true, eventTarget === self.altInput\n ? self.config.altFormat\n : self.config.dateFormat);\n self.close();\n return eventTarget.blur();\n }\n else {\n self.open();\n }\n }\n else if (isCalendarElem(eventTarget) ||\n allowKeydown ||\n allowInlineKeydown) {\n var isTimeObj = !!self.timeContainer &&\n self.timeContainer.contains(eventTarget);\n switch (e.keyCode) {\n case 13:\n if (isTimeObj) {\n e.preventDefault();\n updateTime();\n focusAndClose();\n }\n else\n selectDate(e);\n break;\n case 27:\n e.preventDefault();\n focusAndClose();\n break;\n case 8:\n case 46:\n if (isInput && !self.config.allowInput) {\n e.preventDefault();\n self.clear();\n }\n break;\n case 37:\n case 39:\n if (!isTimeObj && !isInput) {\n e.preventDefault();\n var activeElement = getClosestActiveElement();\n if (self.daysContainer !== undefined &&\n (allowInput === false ||\n (activeElement && isInView(activeElement)))) {\n var delta_1 = e.keyCode === 39 ? 1 : -1;\n if (!e.ctrlKey)\n focusOnDay(undefined, delta_1);\n else {\n e.stopPropagation();\n changeMonth(delta_1);\n focusOnDay(getFirstAvailableDay(1), 0);\n }\n }\n }\n else if (self.hourElement)\n self.hourElement.focus();\n break;\n case 38:\n case 40:\n e.preventDefault();\n var delta = e.keyCode === 40 ? 1 : -1;\n if ((self.daysContainer &&\n eventTarget.$i !== undefined) ||\n eventTarget === self.input ||\n eventTarget === self.altInput) {\n if (e.ctrlKey) {\n e.stopPropagation();\n changeYear(self.currentYear - delta);\n focusOnDay(getFirstAvailableDay(1), 0);\n }\n else if (!isTimeObj)\n focusOnDay(undefined, delta * 7);\n }\n else if (eventTarget === self.currentYearElement) {\n changeYear(self.currentYear - delta);\n }\n else if (self.config.enableTime) {\n if (!isTimeObj && self.hourElement)\n self.hourElement.focus();\n updateTime(e);\n self._debouncedChange();\n }\n break;\n case 9:\n if (isTimeObj) {\n var elems = [\n self.hourElement,\n self.minuteElement,\n self.secondElement,\n self.amPM,\n ]\n .concat(self.pluginElements)\n .filter(function (x) { return x; });\n var i = elems.indexOf(eventTarget);\n if (i !== -1) {\n var target = elems[i + (e.shiftKey ? -1 : 1)];\n e.preventDefault();\n (target || self._input).focus();\n }\n }\n else if (!self.config.noCalendar &&\n self.daysContainer &&\n self.daysContainer.contains(eventTarget) &&\n e.shiftKey) {\n e.preventDefault();\n self._input.focus();\n }\n break;\n default:\n break;\n }\n }\n if (self.amPM !== undefined && eventTarget === self.amPM) {\n switch (e.key) {\n case self.l10n.amPM[0].charAt(0):\n case self.l10n.amPM[0].charAt(0).toLowerCase():\n self.amPM.textContent = self.l10n.amPM[0];\n setHoursFromInputs();\n updateValue();\n break;\n case self.l10n.amPM[1].charAt(0):\n case self.l10n.amPM[1].charAt(0).toLowerCase():\n self.amPM.textContent = self.l10n.amPM[1];\n setHoursFromInputs();\n updateValue();\n break;\n }\n }\n if (isInput || isCalendarElem(eventTarget)) {\n triggerEvent(\"onKeyDown\", e);\n }\n }\n function onMouseOver(elem, cellClass) {\n if (cellClass === void 0) { cellClass = \"flatpickr-day\"; }\n if (self.selectedDates.length !== 1 ||\n (elem &&\n (!elem.classList.contains(cellClass) ||\n elem.classList.contains(\"flatpickr-disabled\"))))\n return;\n var hoverDate = elem\n ? elem.dateObj.getTime()\n : self.days.firstElementChild.dateObj.getTime(), initialDate = self.parseDate(self.selectedDates[0], undefined, true).getTime(), rangeStartDate = Math.min(hoverDate, self.selectedDates[0].getTime()), rangeEndDate = Math.max(hoverDate, self.selectedDates[0].getTime());\n var containsDisabled = false;\n var minRange = 0, maxRange = 0;\n for (var t = rangeStartDate; t < rangeEndDate; t += duration.DAY) {\n if (!isEnabled(new Date(t), true)) {\n containsDisabled =\n containsDisabled || (t > rangeStartDate && t < rangeEndDate);\n if (t < initialDate && (!minRange || t > minRange))\n minRange = t;\n else if (t > initialDate && (!maxRange || t < maxRange))\n maxRange = t;\n }\n }\n var hoverableCells = Array.from(self.rContainer.querySelectorAll(\"*:nth-child(-n+\" + self.config.showMonths + \") > .\" + cellClass));\n hoverableCells.forEach(function (dayElem) {\n var date = dayElem.dateObj;\n var timestamp = date.getTime();\n var outOfRange = (minRange > 0 && timestamp < minRange) ||\n (maxRange > 0 && timestamp > maxRange);\n if (outOfRange) {\n dayElem.classList.add(\"notAllowed\");\n [\"inRange\", \"startRange\", \"endRange\"].forEach(function (c) {\n dayElem.classList.remove(c);\n });\n return;\n }\n else if (containsDisabled && !outOfRange)\n return;\n [\"startRange\", \"inRange\", \"endRange\", \"notAllowed\"].forEach(function (c) {\n dayElem.classList.remove(c);\n });\n if (elem !== undefined) {\n elem.classList.add(hoverDate <= self.selectedDates[0].getTime()\n ? \"startRange\"\n : \"endRange\");\n if (initialDate < hoverDate && timestamp === initialDate)\n dayElem.classList.add(\"startRange\");\n else if (initialDate > hoverDate && timestamp === initialDate)\n dayElem.classList.add(\"endRange\");\n if (timestamp >= minRange &&\n (maxRange === 0 || timestamp <= maxRange) &&\n isBetween(timestamp, initialDate, hoverDate))\n dayElem.classList.add(\"inRange\");\n }\n });\n }\n function onResize() {\n if (self.isOpen && !self.config.static && !self.config.inline)\n positionCalendar();\n }\n function open(e, positionElement) {\n if (positionElement === void 0) { positionElement = self._positionElement; }\n if (self.isMobile === true) {\n if (e) {\n e.preventDefault();\n var eventTarget = getEventTarget(e);\n if (eventTarget) {\n eventTarget.blur();\n }\n }\n if (self.mobileInput !== undefined) {\n self.mobileInput.focus();\n self.mobileInput.click();\n }\n triggerEvent(\"onOpen\");\n return;\n }\n else if (self._input.disabled || self.config.inline) {\n return;\n }\n var wasOpen = self.isOpen;\n self.isOpen = true;\n if (!wasOpen) {\n self.calendarContainer.classList.add(\"open\");\n self._input.classList.add(\"active\");\n triggerEvent(\"onOpen\");\n positionCalendar(positionElement);\n }\n if (self.config.enableTime === true && self.config.noCalendar === true) {\n if (self.config.allowInput === false &&\n (e === undefined ||\n !self.timeContainer.contains(e.relatedTarget))) {\n setTimeout(function () { return self.hourElement.select(); }, 50);\n }\n }\n }\n function minMaxDateSetter(type) {\n return function (date) {\n var dateObj = (self.config[\"_\" + type + \"Date\"] = self.parseDate(date, self.config.dateFormat));\n var inverseDateObj = self.config[\"_\" + (type === \"min\" ? \"max\" : \"min\") + \"Date\"];\n if (dateObj !== undefined) {\n self[type === \"min\" ? \"minDateHasTime\" : \"maxDateHasTime\"] =\n dateObj.getHours() > 0 ||\n dateObj.getMinutes() > 0 ||\n dateObj.getSeconds() > 0;\n }\n if (self.selectedDates) {\n self.selectedDates = self.selectedDates.filter(function (d) { return isEnabled(d); });\n if (!self.selectedDates.length && type === \"min\")\n setHoursFromDate(dateObj);\n updateValue();\n }\n if (self.daysContainer) {\n redraw();\n if (dateObj !== undefined)\n self.currentYearElement[type] = dateObj.getFullYear().toString();\n else\n self.currentYearElement.removeAttribute(type);\n self.currentYearElement.disabled =\n !!inverseDateObj &&\n dateObj !== undefined &&\n inverseDateObj.getFullYear() === dateObj.getFullYear();\n }\n };\n }\n function parseConfig() {\n var boolOpts = [\n \"wrap\",\n \"weekNumbers\",\n \"allowInput\",\n \"allowInvalidPreload\",\n \"clickOpens\",\n \"time_24hr\",\n \"enableTime\",\n \"noCalendar\",\n \"altInput\",\n \"shorthandCurrentMonth\",\n \"inline\",\n \"static\",\n \"enableSeconds\",\n \"disableMobile\",\n ];\n var userConfig = __assign(__assign({}, JSON.parse(JSON.stringify(element.dataset || {}))), instanceConfig);\n var formats = {};\n self.config.parseDate = userConfig.parseDate;\n self.config.formatDate = userConfig.formatDate;\n Object.defineProperty(self.config, \"enable\", {\n get: function () { return self.config._enable; },\n set: function (dates) {\n self.config._enable = parseDateRules(dates);\n },\n });\n Object.defineProperty(self.config, \"disable\", {\n get: function () { return self.config._disable; },\n set: function (dates) {\n self.config._disable = parseDateRules(dates);\n },\n });\n var timeMode = userConfig.mode === \"time\";\n if (!userConfig.dateFormat && (userConfig.enableTime || timeMode)) {\n var defaultDateFormat = flatpickr.defaultConfig.dateFormat || defaultOptions.dateFormat;\n formats.dateFormat =\n userConfig.noCalendar || timeMode\n ? \"H:i\" + (userConfig.enableSeconds ? \":S\" : \"\")\n : defaultDateFormat + \" H:i\" + (userConfig.enableSeconds ? \":S\" : \"\");\n }\n if (userConfig.altInput &&\n (userConfig.enableTime || timeMode) &&\n !userConfig.altFormat) {\n var defaultAltFormat = flatpickr.defaultConfig.altFormat || defaultOptions.altFormat;\n formats.altFormat =\n userConfig.noCalendar || timeMode\n ? \"h:i\" + (userConfig.enableSeconds ? \":S K\" : \" K\")\n : defaultAltFormat + (\" h:i\" + (userConfig.enableSeconds ? \":S\" : \"\") + \" K\");\n }\n Object.defineProperty(self.config, \"minDate\", {\n get: function () { return self.config._minDate; },\n set: minMaxDateSetter(\"min\"),\n });\n Object.defineProperty(self.config, \"maxDate\", {\n get: function () { return self.config._maxDate; },\n set: minMaxDateSetter(\"max\"),\n });\n var minMaxTimeSetter = function (type) { return function (val) {\n self.config[type === \"min\" ? \"_minTime\" : \"_maxTime\"] = self.parseDate(val, \"H:i:S\");\n }; };\n Object.defineProperty(self.config, \"minTime\", {\n get: function () { return self.config._minTime; },\n set: minMaxTimeSetter(\"min\"),\n });\n Object.defineProperty(self.config, \"maxTime\", {\n get: function () { return self.config._maxTime; },\n set: minMaxTimeSetter(\"max\"),\n });\n if (userConfig.mode === \"time\") {\n self.config.noCalendar = true;\n self.config.enableTime = true;\n }\n Object.assign(self.config, formats, userConfig);\n for (var i = 0; i < boolOpts.length; i++)\n self.config[boolOpts[i]] =\n self.config[boolOpts[i]] === true ||\n self.config[boolOpts[i]] === \"true\";\n HOOKS.filter(function (hook) { return self.config[hook] !== undefined; }).forEach(function (hook) {\n self.config[hook] = arrayify(self.config[hook] || []).map(bindToInstance);\n });\n self.isMobile =\n !self.config.disableMobile &&\n !self.config.inline &&\n self.config.mode === \"single\" &&\n !self.config.disable.length &&\n !self.config.enable &&\n !self.config.weekNumbers &&\n /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);\n for (var i = 0; i < self.config.plugins.length; i++) {\n var pluginConf = self.config.plugins[i](self) || {};\n for (var key in pluginConf) {\n if (HOOKS.indexOf(key) > -1) {\n self.config[key] = arrayify(pluginConf[key])\n .map(bindToInstance)\n .concat(self.config[key]);\n }\n else if (typeof userConfig[key] === \"undefined\")\n self.config[key] = pluginConf[key];\n }\n }\n if (!userConfig.altInputClass) {\n self.config.altInputClass =\n getInputElem().className + \" \" + self.config.altInputClass;\n }\n triggerEvent(\"onParseConfig\");\n }\n function getInputElem() {\n return self.config.wrap\n ? element.querySelector(\"[data-input]\")\n : element;\n }\n function setupLocale() {\n if (typeof self.config.locale !== \"object\" &&\n typeof flatpickr.l10ns[self.config.locale] === \"undefined\")\n self.config.errorHandler(new Error(\"flatpickr: invalid locale \" + self.config.locale));\n self.l10n = __assign(__assign({}, flatpickr.l10ns.default), (typeof self.config.locale === \"object\"\n ? self.config.locale\n : self.config.locale !== \"default\"\n ? flatpickr.l10ns[self.config.locale]\n : undefined));\n tokenRegex.D = \"(\" + self.l10n.weekdays.shorthand.join(\"|\") + \")\";\n tokenRegex.l = \"(\" + self.l10n.weekdays.longhand.join(\"|\") + \")\";\n tokenRegex.M = \"(\" + self.l10n.months.shorthand.join(\"|\") + \")\";\n tokenRegex.F = \"(\" + self.l10n.months.longhand.join(\"|\") + \")\";\n tokenRegex.K = \"(\" + self.l10n.amPM[0] + \"|\" + self.l10n.amPM[1] + \"|\" + self.l10n.amPM[0].toLowerCase() + \"|\" + self.l10n.amPM[1].toLowerCase() + \")\";\n var userConfig = __assign(__assign({}, instanceConfig), JSON.parse(JSON.stringify(element.dataset || {})));\n if (userConfig.time_24hr === undefined &&\n flatpickr.defaultConfig.time_24hr === undefined) {\n self.config.time_24hr = self.l10n.time_24hr;\n }\n self.formatDate = createDateFormatter(self);\n self.parseDate = createDateParser({ config: self.config, l10n: self.l10n });\n }\n function positionCalendar(customPositionElement) {\n if (typeof self.config.position === \"function\") {\n return void self.config.position(self, customPositionElement);\n }\n if (self.calendarContainer === undefined)\n return;\n triggerEvent(\"onPreCalendarPosition\");\n var positionElement = customPositionElement || self._positionElement;\n var calendarHeight = Array.prototype.reduce.call(self.calendarContainer.children, (function (acc, child) { return acc + child.offsetHeight; }), 0), calendarWidth = self.calendarContainer.offsetWidth, configPos = self.config.position.split(\" \"), configPosVertical = configPos[0], configPosHorizontal = configPos.length > 1 ? configPos[1] : null, inputBounds = positionElement.getBoundingClientRect(), distanceFromBottom = window.innerHeight - inputBounds.bottom, showOnTop = configPosVertical === \"above\" ||\n (configPosVertical !== \"below\" &&\n distanceFromBottom < calendarHeight &&\n inputBounds.top > calendarHeight);\n var top = window.pageYOffset +\n inputBounds.top +\n (!showOnTop ? positionElement.offsetHeight + 2 : -calendarHeight - 2);\n toggleClass(self.calendarContainer, \"arrowTop\", !showOnTop);\n toggleClass(self.calendarContainer, \"arrowBottom\", showOnTop);\n if (self.config.inline)\n return;\n var left = window.pageXOffset + inputBounds.left;\n var isCenter = false;\n var isRight = false;\n if (configPosHorizontal === \"center\") {\n left -= (calendarWidth - inputBounds.width) / 2;\n isCenter = true;\n }\n else if (configPosHorizontal === \"right\") {\n left -= calendarWidth - inputBounds.width;\n isRight = true;\n }\n toggleClass(self.calendarContainer, \"arrowLeft\", !isCenter && !isRight);\n toggleClass(self.calendarContainer, \"arrowCenter\", isCenter);\n toggleClass(self.calendarContainer, \"arrowRight\", isRight);\n var right = window.document.body.offsetWidth -\n (window.pageXOffset + inputBounds.right);\n var rightMost = left + calendarWidth > window.document.body.offsetWidth;\n var centerMost = right + calendarWidth > window.document.body.offsetWidth;\n toggleClass(self.calendarContainer, \"rightMost\", rightMost);\n if (self.config.static)\n return;\n self.calendarContainer.style.top = top + \"px\";\n if (!rightMost) {\n self.calendarContainer.style.left = left + \"px\";\n self.calendarContainer.style.right = \"auto\";\n }\n else if (!centerMost) {\n self.calendarContainer.style.left = \"auto\";\n self.calendarContainer.style.right = right + \"px\";\n }\n else {\n var doc = getDocumentStyleSheet();\n if (doc === undefined)\n return;\n var bodyWidth = window.document.body.offsetWidth;\n var centerLeft = Math.max(0, bodyWidth / 2 - calendarWidth / 2);\n var centerBefore = \".flatpickr-calendar.centerMost:before\";\n var centerAfter = \".flatpickr-calendar.centerMost:after\";\n var centerIndex = doc.cssRules.length;\n var centerStyle = \"{left:\" + inputBounds.left + \"px;right:auto;}\";\n toggleClass(self.calendarContainer, \"rightMost\", false);\n toggleClass(self.calendarContainer, \"centerMost\", true);\n doc.insertRule(centerBefore + \",\" + centerAfter + centerStyle, centerIndex);\n self.calendarContainer.style.left = centerLeft + \"px\";\n self.calendarContainer.style.right = \"auto\";\n }\n }\n function getDocumentStyleSheet() {\n var editableSheet = null;\n for (var i = 0; i < document.styleSheets.length; i++) {\n var sheet = document.styleSheets[i];\n if (!sheet.cssRules)\n continue;\n try {\n sheet.cssRules;\n }\n catch (err) {\n continue;\n }\n editableSheet = sheet;\n break;\n }\n return editableSheet != null ? editableSheet : createStyleSheet();\n }\n function createStyleSheet() {\n var style = document.createElement(\"style\");\n document.head.appendChild(style);\n return style.sheet;\n }\n function redraw() {\n if (self.config.noCalendar || self.isMobile)\n return;\n buildMonthSwitch();\n updateNavigationCurrentMonth();\n buildDays();\n }\n function focusAndClose() {\n self._input.focus();\n if (window.navigator.userAgent.indexOf(\"MSIE\") !== -1 ||\n navigator.msMaxTouchPoints !== undefined) {\n setTimeout(self.close, 0);\n }\n else {\n self.close();\n }\n }\n function selectDate(e) {\n e.preventDefault();\n e.stopPropagation();\n var isSelectable = function (day) {\n return day.classList &&\n day.classList.contains(\"flatpickr-day\") &&\n !day.classList.contains(\"flatpickr-disabled\") &&\n !day.classList.contains(\"notAllowed\");\n };\n var t = findParent(getEventTarget(e), isSelectable);\n if (t === undefined)\n return;\n var target = t;\n var selectedDate = (self.latestSelectedDateObj = new Date(target.dateObj.getTime()));\n var shouldChangeMonth = (selectedDate.getMonth() < self.currentMonth ||\n selectedDate.getMonth() >\n self.currentMonth + self.config.showMonths - 1) &&\n self.config.mode !== \"range\";\n self.selectedDateElem = target;\n if (self.config.mode === \"single\")\n self.selectedDates = [selectedDate];\n else if (self.config.mode === \"multiple\") {\n var selectedIndex = isDateSelected(selectedDate);\n if (selectedIndex)\n self.selectedDates.splice(parseInt(selectedIndex), 1);\n else\n self.selectedDates.push(selectedDate);\n }\n else if (self.config.mode === \"range\") {\n if (self.selectedDates.length === 2) {\n self.clear(false, false);\n }\n self.latestSelectedDateObj = selectedDate;\n self.selectedDates.push(selectedDate);\n if (compareDates(selectedDate, self.selectedDates[0], true) !== 0)\n self.selectedDates.sort(function (a, b) { return a.getTime() - b.getTime(); });\n }\n setHoursFromInputs();\n if (shouldChangeMonth) {\n var isNewYear = self.currentYear !== selectedDate.getFullYear();\n self.currentYear = selectedDate.getFullYear();\n self.currentMonth = selectedDate.getMonth();\n if (isNewYear) {\n triggerEvent(\"onYearChange\");\n buildMonthSwitch();\n }\n triggerEvent(\"onMonthChange\");\n }\n updateNavigationCurrentMonth();\n buildDays();\n updateValue();\n if (!shouldChangeMonth &&\n self.config.mode !== \"range\" &&\n self.config.showMonths === 1)\n focusOnDayElem(target);\n else if (self.selectedDateElem !== undefined &&\n self.hourElement === undefined) {\n self.selectedDateElem && self.selectedDateElem.focus();\n }\n if (self.hourElement !== undefined)\n self.hourElement !== undefined && self.hourElement.focus();\n if (self.config.closeOnSelect) {\n var single = self.config.mode === \"single\" && !self.config.enableTime;\n var range = self.config.mode === \"range\" &&\n self.selectedDates.length === 2 &&\n !self.config.enableTime;\n if (single || range) {\n focusAndClose();\n }\n }\n triggerChange();\n }\n var CALLBACKS = {\n locale: [setupLocale, updateWeekdays],\n showMonths: [buildMonths, setCalendarWidth, buildWeekdays],\n minDate: [jumpToDate],\n maxDate: [jumpToDate],\n positionElement: [updatePositionElement],\n clickOpens: [\n function () {\n if (self.config.clickOpens === true) {\n bind(self._input, \"focus\", self.open);\n bind(self._input, \"click\", self.open);\n }\n else {\n self._input.removeEventListener(\"focus\", self.open);\n self._input.removeEventListener(\"click\", self.open);\n }\n },\n ],\n };\n function set(option, value) {\n if (option !== null && typeof option === \"object\") {\n Object.assign(self.config, option);\n for (var key in option) {\n if (CALLBACKS[key] !== undefined)\n CALLBACKS[key].forEach(function (x) { return x(); });\n }\n }\n else {\n self.config[option] = value;\n if (CALLBACKS[option] !== undefined)\n CALLBACKS[option].forEach(function (x) { return x(); });\n else if (HOOKS.indexOf(option) > -1)\n self.config[option] = arrayify(value);\n }\n self.redraw();\n updateValue(true);\n }\n function setSelectedDate(inputDate, format) {\n var dates = [];\n if (inputDate instanceof Array)\n dates = inputDate.map(function (d) { return self.parseDate(d, format); });\n else if (inputDate instanceof Date || typeof inputDate === \"number\")\n dates = [self.parseDate(inputDate, format)];\n else if (typeof inputDate === \"string\") {\n switch (self.config.mode) {\n case \"single\":\n case \"time\":\n dates = [self.parseDate(inputDate, format)];\n break;\n case \"multiple\":\n dates = inputDate\n .split(self.config.conjunction)\n .map(function (date) { return self.parseDate(date, format); });\n break;\n case \"range\":\n dates = inputDate\n .split(self.l10n.rangeSeparator)\n .map(function (date) { return self.parseDate(date, format); });\n break;\n default:\n break;\n }\n }\n else\n self.config.errorHandler(new Error(\"Invalid date supplied: \" + JSON.stringify(inputDate)));\n self.selectedDates = (self.config.allowInvalidPreload\n ? dates\n : dates.filter(function (d) { return d instanceof Date && isEnabled(d, false); }));\n if (self.config.mode === \"range\")\n self.selectedDates.sort(function (a, b) { return a.getTime() - b.getTime(); });\n }\n function setDate(date, triggerChange, format) {\n if (triggerChange === void 0) { triggerChange = false; }\n if (format === void 0) { format = self.config.dateFormat; }\n if ((date !== 0 && !date) || (date instanceof Array && date.length === 0))\n return self.clear(triggerChange);\n setSelectedDate(date, format);\n self.latestSelectedDateObj =\n self.selectedDates[self.selectedDates.length - 1];\n self.redraw();\n jumpToDate(undefined, triggerChange);\n setHoursFromDate();\n if (self.selectedDates.length === 0) {\n self.clear(false);\n }\n updateValue(triggerChange);\n if (triggerChange)\n triggerEvent(\"onChange\");\n }\n function parseDateRules(arr) {\n return arr\n .slice()\n .map(function (rule) {\n if (typeof rule === \"string\" ||\n typeof rule === \"number\" ||\n rule instanceof Date) {\n return self.parseDate(rule, undefined, true);\n }\n else if (rule &&\n typeof rule === \"object\" &&\n rule.from &&\n rule.to)\n return {\n from: self.parseDate(rule.from, undefined),\n to: self.parseDate(rule.to, undefined),\n };\n return rule;\n })\n .filter(function (x) { return x; });\n }\n function setupDates() {\n self.selectedDates = [];\n self.now = self.parseDate(self.config.now) || new Date();\n var preloadedDate = self.config.defaultDate ||\n ((self.input.nodeName === \"INPUT\" ||\n self.input.nodeName === \"TEXTAREA\") &&\n self.input.placeholder &&\n self.input.value === self.input.placeholder\n ? null\n : self.input.value);\n if (preloadedDate)\n setSelectedDate(preloadedDate, self.config.dateFormat);\n self._initialDate =\n self.selectedDates.length > 0\n ? self.selectedDates[0]\n : self.config.minDate &&\n self.config.minDate.getTime() > self.now.getTime()\n ? self.config.minDate\n : self.config.maxDate &&\n self.config.maxDate.getTime() < self.now.getTime()\n ? self.config.maxDate\n : self.now;\n self.currentYear = self._initialDate.getFullYear();\n self.currentMonth = self._initialDate.getMonth();\n if (self.selectedDates.length > 0)\n self.latestSelectedDateObj = self.selectedDates[0];\n if (self.config.minTime !== undefined)\n self.config.minTime = self.parseDate(self.config.minTime, \"H:i\");\n if (self.config.maxTime !== undefined)\n self.config.maxTime = self.parseDate(self.config.maxTime, \"H:i\");\n self.minDateHasTime =\n !!self.config.minDate &&\n (self.config.minDate.getHours() > 0 ||\n self.config.minDate.getMinutes() > 0 ||\n self.config.minDate.getSeconds() > 0);\n self.maxDateHasTime =\n !!self.config.maxDate &&\n (self.config.maxDate.getHours() > 0 ||\n self.config.maxDate.getMinutes() > 0 ||\n self.config.maxDate.getSeconds() > 0);\n }\n function setupInputs() {\n self.input = getInputElem();\n if (!self.input) {\n self.config.errorHandler(new Error(\"Invalid input element specified\"));\n return;\n }\n self.input._type = self.input.type;\n self.input.type = \"text\";\n self.input.classList.add(\"flatpickr-input\");\n self._input = self.input;\n if (self.config.altInput) {\n self.altInput = createElement(self.input.nodeName, self.config.altInputClass);\n self._input = self.altInput;\n self.altInput.placeholder = self.input.placeholder;\n self.altInput.disabled = self.input.disabled;\n self.altInput.required = self.input.required;\n self.altInput.tabIndex = self.input.tabIndex;\n self.altInput.type = \"text\";\n self.input.setAttribute(\"type\", \"hidden\");\n if (!self.config.static && self.input.parentNode)\n self.input.parentNode.insertBefore(self.altInput, self.input.nextSibling);\n }\n if (!self.config.allowInput)\n self._input.setAttribute(\"readonly\", \"readonly\");\n updatePositionElement();\n }\n function updatePositionElement() {\n self._positionElement = self.config.positionElement || self._input;\n }\n function setupMobile() {\n var inputType = self.config.enableTime\n ? self.config.noCalendar\n ? \"time\"\n : \"datetime-local\"\n : \"date\";\n self.mobileInput = createElement(\"input\", self.input.className + \" flatpickr-mobile\");\n self.mobileInput.tabIndex = 1;\n self.mobileInput.type = inputType;\n self.mobileInput.disabled = self.input.disabled;\n self.mobileInput.required = self.input.required;\n self.mobileInput.placeholder = self.input.placeholder;\n self.mobileFormatStr =\n inputType === \"datetime-local\"\n ? \"Y-m-d\\\\TH:i:S\"\n : inputType === \"date\"\n ? \"Y-m-d\"\n : \"H:i:S\";\n if (self.selectedDates.length > 0) {\n self.mobileInput.defaultValue = self.mobileInput.value = self.formatDate(self.selectedDates[0], self.mobileFormatStr);\n }\n if (self.config.minDate)\n self.mobileInput.min = self.formatDate(self.config.minDate, \"Y-m-d\");\n if (self.config.maxDate)\n self.mobileInput.max = self.formatDate(self.config.maxDate, \"Y-m-d\");\n if (self.input.getAttribute(\"step\"))\n self.mobileInput.step = String(self.input.getAttribute(\"step\"));\n self.input.type = \"hidden\";\n if (self.altInput !== undefined)\n self.altInput.type = \"hidden\";\n try {\n if (self.input.parentNode)\n self.input.parentNode.insertBefore(self.mobileInput, self.input.nextSibling);\n }\n catch (_a) { }\n bind(self.mobileInput, \"change\", function (e) {\n self.setDate(getEventTarget(e).value, false, self.mobileFormatStr);\n triggerEvent(\"onChange\");\n triggerEvent(\"onClose\");\n });\n }\n function toggle(e) {\n if (self.isOpen === true)\n return self.close();\n self.open(e);\n }\n function triggerEvent(event, data) {\n if (self.config === undefined)\n return;\n var hooks = self.config[event];\n if (hooks !== undefined && hooks.length > 0) {\n for (var i = 0; hooks[i] && i < hooks.length; i++)\n hooks[i](self.selectedDates, self.input.value, self, data);\n }\n if (event === \"onChange\") {\n self.input.dispatchEvent(createEvent(\"change\"));\n self.input.dispatchEvent(createEvent(\"input\"));\n }\n }\n function createEvent(name) {\n var e = document.createEvent(\"Event\");\n e.initEvent(name, true, true);\n return e;\n }\n function isDateSelected(date) {\n for (var i = 0; i < self.selectedDates.length; i++) {\n var selectedDate = self.selectedDates[i];\n if (selectedDate instanceof Date &&\n compareDates(selectedDate, date) === 0)\n return \"\" + i;\n }\n return false;\n }\n function isDateInRange(date) {\n if (self.config.mode !== \"range\" || self.selectedDates.length < 2)\n return false;\n return (compareDates(date, self.selectedDates[0]) >= 0 &&\n compareDates(date, self.selectedDates[1]) <= 0);\n }\n function updateNavigationCurrentMonth() {\n if (self.config.noCalendar || self.isMobile || !self.monthNav)\n return;\n self.yearElements.forEach(function (yearElement, i) {\n var d = new Date(self.currentYear, self.currentMonth, 1);\n d.setMonth(self.currentMonth + i);\n if (self.config.showMonths > 1 ||\n self.config.monthSelectorType === \"static\") {\n self.monthElements[i].textContent =\n monthToStr(d.getMonth(), self.config.shorthandCurrentMonth, self.l10n) + \" \";\n }\n else {\n self.monthsDropdownContainer.value = d.getMonth().toString();\n }\n yearElement.value = d.getFullYear().toString();\n });\n self._hidePrevMonthArrow =\n self.config.minDate !== undefined &&\n (self.currentYear === self.config.minDate.getFullYear()\n ? self.currentMonth <= self.config.minDate.getMonth()\n : self.currentYear < self.config.minDate.getFullYear());\n self._hideNextMonthArrow =\n self.config.maxDate !== undefined &&\n (self.currentYear === self.config.maxDate.getFullYear()\n ? self.currentMonth + 1 > self.config.maxDate.getMonth()\n : self.currentYear > self.config.maxDate.getFullYear());\n }\n function getDateStr(specificFormat) {\n var format = specificFormat ||\n (self.config.altInput ? self.config.altFormat : self.config.dateFormat);\n return self.selectedDates\n .map(function (dObj) { return self.formatDate(dObj, format); })\n .filter(function (d, i, arr) {\n return self.config.mode !== \"range\" ||\n self.config.enableTime ||\n arr.indexOf(d) === i;\n })\n .join(self.config.mode !== \"range\"\n ? self.config.conjunction\n : self.l10n.rangeSeparator);\n }\n function updateValue(triggerChange) {\n if (triggerChange === void 0) { triggerChange = true; }\n if (self.mobileInput !== undefined && self.mobileFormatStr) {\n self.mobileInput.value =\n self.latestSelectedDateObj !== undefined\n ? self.formatDate(self.latestSelectedDateObj, self.mobileFormatStr)\n : \"\";\n }\n self.input.value = getDateStr(self.config.dateFormat);\n if (self.altInput !== undefined) {\n self.altInput.value = getDateStr(self.config.altFormat);\n }\n if (triggerChange !== false)\n triggerEvent(\"onValueUpdate\");\n }\n function onMonthNavClick(e) {\n var eventTarget = getEventTarget(e);\n var isPrevMonth = self.prevMonthNav.contains(eventTarget);\n var isNextMonth = self.nextMonthNav.contains(eventTarget);\n if (isPrevMonth || isNextMonth) {\n changeMonth(isPrevMonth ? -1 : 1);\n }\n else if (self.yearElements.indexOf(eventTarget) >= 0) {\n eventTarget.select();\n }\n else if (eventTarget.classList.contains(\"arrowUp\")) {\n self.changeYear(self.currentYear + 1);\n }\n else if (eventTarget.classList.contains(\"arrowDown\")) {\n self.changeYear(self.currentYear - 1);\n }\n }\n function timeWrapper(e) {\n e.preventDefault();\n var isKeyDown = e.type === \"keydown\", eventTarget = getEventTarget(e), input = eventTarget;\n if (self.amPM !== undefined && eventTarget === self.amPM) {\n self.amPM.textContent =\n self.l10n.amPM[int(self.amPM.textContent === self.l10n.amPM[0])];\n }\n var min = parseFloat(input.getAttribute(\"min\")), max = parseFloat(input.getAttribute(\"max\")), step = parseFloat(input.getAttribute(\"step\")), curValue = parseInt(input.value, 10), delta = e.delta ||\n (isKeyDown ? (e.which === 38 ? 1 : -1) : 0);\n var newValue = curValue + step * delta;\n if (typeof input.value !== \"undefined\" && input.value.length === 2) {\n var isHourElem = input === self.hourElement, isMinuteElem = input === self.minuteElement;\n if (newValue < min) {\n newValue =\n max +\n newValue +\n int(!isHourElem) +\n (int(isHourElem) && int(!self.amPM));\n if (isMinuteElem)\n incrementNumInput(undefined, -1, self.hourElement);\n }\n else if (newValue > max) {\n newValue =\n input === self.hourElement ? newValue - max - int(!self.amPM) : min;\n if (isMinuteElem)\n incrementNumInput(undefined, 1, self.hourElement);\n }\n if (self.amPM &&\n isHourElem &&\n (step === 1\n ? newValue + curValue === 23\n : Math.abs(newValue - curValue) > step)) {\n self.amPM.textContent =\n self.l10n.amPM[int(self.amPM.textContent === self.l10n.amPM[0])];\n }\n input.value = pad(newValue);\n }\n }\n init();\n return self;\n}\nfunction _flatpickr(nodeList, config) {\n var nodes = Array.prototype.slice\n .call(nodeList)\n .filter(function (x) { return x instanceof HTMLElement; });\n var instances = [];\n for (var i = 0; i < nodes.length; i++) {\n var node = nodes[i];\n try {\n if (node.getAttribute(\"data-fp-omit\") !== null)\n continue;\n if (node._flatpickr !== undefined) {\n node._flatpickr.destroy();\n node._flatpickr = undefined;\n }\n node._flatpickr = FlatpickrInstance(node, config || {});\n instances.push(node._flatpickr);\n }\n catch (e) {\n console.error(e);\n }\n }\n return instances.length === 1 ? instances[0] : instances;\n}\nif (typeof HTMLElement !== \"undefined\" &&\n typeof HTMLCollection !== \"undefined\" &&\n typeof NodeList !== \"undefined\") {\n HTMLCollection.prototype.flatpickr = NodeList.prototype.flatpickr = function (config) {\n return _flatpickr(this, config);\n };\n HTMLElement.prototype.flatpickr = function (config) {\n return _flatpickr([this], config);\n };\n}\nvar flatpickr = function (selector, config) {\n if (typeof selector === \"string\") {\n return _flatpickr(window.document.querySelectorAll(selector), config);\n }\n else if (selector instanceof Node) {\n return _flatpickr([selector], config);\n }\n else {\n return _flatpickr(selector, config);\n }\n};\nflatpickr.defaultConfig = {};\nflatpickr.l10ns = {\n en: __assign({}, English),\n default: __assign({}, English),\n};\nflatpickr.localize = function (l10n) {\n flatpickr.l10ns.default = __assign(__assign({}, flatpickr.l10ns.default), l10n);\n};\nflatpickr.setDefaults = function (config) {\n flatpickr.defaultConfig = __assign(__assign({}, flatpickr.defaultConfig), config);\n};\nflatpickr.parseDate = createDateParser({});\nflatpickr.formatDate = createDateFormatter({});\nflatpickr.compareDates = compareDates;\nif (typeof jQuery !== \"undefined\" && typeof jQuery.fn !== \"undefined\") {\n jQuery.fn.flatpickr = function (config) {\n return _flatpickr(this, config);\n };\n}\nDate.prototype.fp_incr = function (days) {\n return new Date(this.getFullYear(), this.getMonth(), this.getDate() + (typeof days === \"string\" ? parseInt(days, 10) : days));\n};\nif (typeof window !== \"undefined\") {\n window.flatpickr = flatpickr;\n}\nexport default flatpickr;\n",".date-picker-wrapper {\r\n position: relative;\r\n display: flex;\r\n align-items: center;\r\n border: 1px solid var(--border-color, #d1d5db);\r\n border-radius: var(--radius-md, 0.5rem);\r\n padding: 0.5rem 0.75rem;\r\n background-color: var(--surface-color, #fff);\r\n transition: border-color 0.2s ease;\r\n gap: var(--spacing-2);\r\n}\r\n\r\n.date-picker-wrapper:focus-within {\r\n border: 1.3px solid var(--color-border-selected, #075db2);\r\n}\r\n\r\n.date-picker-wrapper.is-disabled {\r\n opacity: 0.5;\r\n pointer-events: none;\r\n}\r\n\r\n.date-picker-wrapper input {\r\n border: none;\r\n outline: none;\r\n width: 100%;\r\n background: transparent;\r\n font-size: var(--Font-Size-T-sm, 0.875rem);\r\n font-style: normal;\r\n font-weight: var(--Font-Weight-Medium, 500);\r\n line-height: var(--Font-Line-height-T-sm, 1.5rem); /* 171.429% */\r\n letter-spacing: var(--Font-Letter-spacing-T-sm, 0);\r\n color: var(--color-text, #4b5565);\r\n text-overflow: ellipsis;\r\n}\r\n\r\n.inner_container{\r\n width: 100%;\r\n display: flex;\r\n align-items: center;\r\n gap: var(--spacing-2);\r\n}\r\n\r\n.calendar-container {\r\n width: fit-content;\r\n position: absolute;\r\n z-index: 9;\r\n}\r\n\r\n.calendar-container.left {\r\n top: 105%;\r\n left: 0;\r\n}\r\n\r\n.calendar-container.right {\r\n top: 105%;\r\n right: 0;\r\n}\r\n\r\n\r\n/* Flatpickr Overrides */\r\n:host ::part(flatpickr-calendar) {\r\n background-color: var(--surface-popover, #fff);\r\n border: 1px solid var(--border-color, #e5e7eb);\r\n}\r\n\r\n.flatpickr-calendar *,\r\ninput {\r\n font-family: var(--font-family-body);\r\n}\r\n\r\n.flatpickr-calendar {\r\n background: var(--color-background-card, #fff);\r\n border: 1px solid var(--border-color, #e5e7eb);\r\n box-shadow: var(--shadow-md);\r\n border-radius: var(--radius-md, 0.5rem);\r\n z-index: 1000;\r\n padding: var(--spacing-3);\r\n white-space: normal !important;\r\n overflow: visible;\r\n}\r\n\r\n.calendar-container.hidden {\r\n display: none;\r\n}\r\n\r\n.flatpickr-calendar.calendar_shown {\r\n display: block;\r\n}\r\n\r\n.flatpickr-weekdaycontainer {\r\n display: flex;\r\n padding: var(--spacing-2) 0;\r\n}\r\n\r\n.flatpickr-weekday {\r\n color: var(--color-text, #4b5565);\r\n}\r\n\r\n.flatpickr-day {\r\n width: 2.5rem;\r\n height: 2.5rem;\r\n cursor: pointer;\r\n}\r\n\r\n.flatpickr-day.selected {\r\n border-radius: 1.25rem;\r\n background: var(--color-background-selected, #075db2);\r\n color: var(--color-background-card, #ffffff);\r\n}\r\n\r\n.flatpickr-months {\r\n display: flex;\r\n width: 100%;\r\n justify-content: space-between;\r\n}\r\n\r\n.flatpickr-current-month {\r\n display: flex;\r\n flex: 1;\r\n gap: var(--spacing-2);\r\n}\r\n\r\n.flatpickr-month {\r\n display: flex;\r\n align-items: center;\r\n}\r\n\r\n.flatpickr-prev-month svg,\r\n.flatpickr-next-month svg {\r\n width: 20px;\r\n height: 20px;\r\n}\r\n\r\n.flatpickr-days {\r\n width: 17.5rem; /* whatever width you need */\r\n box-sizing: border-box;\r\n padding: 0;\r\n}\r\n\r\n.flatpickr-days .dayContainer {\r\n display: flex !important;\r\n flex-wrap: wrap !important;\r\n width: 100%;\r\n box-sizing: border-box;\r\n align-items: stretch;\r\n}\r\n\r\n/* make each day share 7 columns and center its content */\r\n.flatpickr-days .dayContainer .flatpickr-day {\r\n flex: 0 0 calc(100% / 7) !important; /* 7 columns */\r\n max-width: calc(100% / 7);\r\n box-sizing: border-box;\r\n text-align: center;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n white-space: normal !important;\r\n padding: 0.35rem 0; /* adjust spacing */\r\n}\r\n\r\n/* make weekday headers align with the columns */\r\n.flatpickr-weekdays .flatpickr-weekday {\r\n flex: 0 0 calc(100% / 7);\r\n max-width: calc(100% / 7);\r\n box-sizing: border-box;\r\n text-align: center;\r\n}\r\n\r\n.flatpickr-weekday {\r\n font-size: 0.875rem;\r\n font-style: normal;\r\n font-weight: 500;\r\n line-height: 1.25rem;\r\n}\r\n\r\n.flatpickr-day {\r\n font-family: var(--Font-Family-Body, Sora);\r\n font-size: var(--Font-Size-T-sm, 0.875rem);\r\n font-style: normal;\r\n font-weight: var(--Font-Weight-Regular, 400);\r\n line-height: var(--Font-Line-height-T-sm, 1.5rem); /* 171.429% */\r\n letter-spacing: var(--Font-Letter-spacing-T-sm, 0);\r\n color: var(--color-text, #4b5565);\r\n}\r\n\r\n.flatpickr-day.prevMonthDay,\r\n.flatpickr-day.nextMonthDay {\r\n color: var(--color-text-disabled, #808c9e);\r\n}\r\n\r\n/* Highlight background between start and end */\r\n.flatpickr-day.inRange {\r\n background: var(--color-background-gray-subtlest, #f6f8fa); /* light gray */\r\n border-radius: 0; /* remove default round shape */\r\n box-shadow: none;\r\n}\r\n\r\n/* Start and end bubbles */\r\n.flatpickr-day.startRange,\r\n.flatpickr-day.endRange {\r\n background: var(--color-background-selected, #075db2);\r\n color: var(--color-background-card, #ffffff);\r\n border-radius: 50%; /* make circles */\r\n}\r\n\r\n/* Connect rounded ends for smooth “pill” shape */\r\n.flatpickr-day.startRange.inRange,\r\n.flatpickr-day.endRange.inRange {\r\n border-radius: 50%;\r\n}\r\n\r\n/* Ensure spacing looks continuous */\r\n.flatpickr-day.flatpickr-disabled,\r\n.flatpickr-day.notAllowed {\r\n background: none;\r\n}\r\n\r\n.flatpickr-day.startRange {\r\n border-top-left-radius: 50px;\r\n border-bottom-left-radius: 50px;\r\n}\r\n\r\n.flatpickr-day.inRange + .flatpickr-day.endRange {\r\n border-top-right-radius: 50px;\r\n border-bottom-right-radius: 50px;\r\n}\r\n\r\n.flatpickr-day.today {\r\n position: relative;\r\n font-weight: 500;\r\n}\r\n\r\n/* Add a small dot below today's number */\r\n.flatpickr-day.today::after {\r\n content: '';\r\n position: absolute;\r\n bottom: 0.35rem; /* adjust vertical placement */\r\n left: 50%;\r\n transform: translateX(-50%);\r\n width: 0.3rem;\r\n height: 0.3rem;\r\n background-color: var(--color-icon-selected, #075db2); /* dot color */\r\n border-radius: 50%;\r\n}\r\n\r\n.calendar_arrow {\r\n display: flex;\r\n width: 2.5rem;\r\n height: 2.5rem;\r\n padding: var(--spacing-2);\r\n justify-content: center;\r\n align-items: center;\r\n gap: var(--spacing-none);\r\n cursor: pointer;\r\n background-color: transparent;\r\n border-radius: var(--rounded-sm);\r\n}\r\n\r\n.calendar_arrow:hover {\r\n background-color: var(--color-background-gray-subtler, #eef2f6);\r\n}\r\n\r\n.calendar_arrow:active {\r\n background-color: var(--color-background-gray-subtle, #e3e8ef);\r\n}\r\n\r\n/* Styling the month dropdown */\r\n.flatpickr-current-month select.flatpickr-monthDropdown-months,\r\n.flatpickr-current-month select.flatpickr-yearDropdown-years {\r\n border: 1px solid var(--color-border-input, #cdd5df);\r\n border-radius: 6px;\r\n color: var(--color-text, #4b5565);\r\n padding: 4px 8px;\r\n background-color: var(--color-background-card, #ffffff);\r\n appearance: none; /* hides browser default arrow */\r\n -webkit-appearance: none;\r\n -moz-appearance: none;\r\n cursor: pointer;\r\n outline: none;\r\n font-size: 0.875rem;\r\n font-style: normal;\r\n font-weight: 500;\r\n line-height: 1.25rem;\r\n}\r\n\r\n/* Optional: add custom arrow */\r\n.flatpickr-current-month select.flatpickr-yearDropdown-years {\r\n background-image: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" class=\"calendar_arrow\"><path d=\"M7.50004 5C7.50004 5 12.5 8.68244 12.5 10C12.5 11.3176 7.5 15 7.5 15\" stroke=\"var(--color-icon, #4B5565)\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>');\r\n background-repeat: no-repeat;\r\n background-position: right 8px center;\r\n background-size: 16px;\r\n padding-right: 24px; /* space for the arrow */\r\n}\r\n\r\n/* Styling the year input */\r\n/* Year input container */\r\n.flatpickr-current-month .numInputWrapper {\r\n display: inline-flex;\r\n align-items: center;\r\n width: fit-content;\r\n border: 1px solid var(--color-border-input, #cdd5df);\r\n border-radius: 6px;\r\n transition: all 0.2s ease-in-out;\r\n}\r\n\r\n/* .flatpickr-current-month .numInputWrapper:hover {\r\n background-color: #f3f4f6;\r\n border-color: #9ca3af;\r\n} */\r\n\r\n.flatpickr-current-month .numInputWrapper:focus-within {\r\n /* background-color: #fff; */\r\n border: 1.3px solid var(--color-border-selected, #075db2);\r\n}\r\n\r\n/* Year input field */\r\n.flatpickr-current-month input.cur-year {\r\n border: none;\r\n background: transparent;\r\n width: 3rem;\r\n text-align: center;\r\n appearance: textfield;\r\n color: var(--color-text, #4b5565);\r\n outline: none;\r\n font-size: 0.875rem;\r\n font-style: normal;\r\n font-weight: 500;\r\n line-height: 1.25rem;\r\n}\r\n\r\n/* Remove default number spinner arrows */\r\n.flatpickr-current-month input.cur-year::-webkit-outer-spin-button,\r\n.flatpickr-current-month input.cur-year::-webkit-inner-spin-button {\r\n -webkit-appearance: none;\r\n margin: 0;\r\n}\r\n\r\n.flatpickr-current-month input.cur-year[type='number'] {\r\n -moz-appearance: textfield;\r\n}\r\n","import { Component, Element, Event, EventEmitter, h, Prop, State } from '@stencil/core';\r\nimport flatpickr from 'flatpickr';\r\nimport 'flatpickr/dist/flatpickr.min.css';\r\nimport { CustomLocale } from 'flatpickr/dist/types/locale';\r\nimport { CloseButtonPositions } from '../../models/reusableModels';\r\n\r\n@Component({\r\n tag: 'gb-date-picker',\r\n styleUrl: 'gb-date-picker.css',\r\n shadow: true,\r\n})\r\nexport class GbDatePicker {\r\n @Element() el: HTMLElement;\r\n @Prop() placeholder: string = 'Start date - end date';\r\n @Prop({ mutable: true }) value?: string | string[];\r\n @Prop() format: string = 'M j, Y';\r\n @Prop() mode: 'single' | 'range' = 'single';\r\n @Prop() disabled: boolean = false;\r\n @Prop() iconPosition: CloseButtonPositions = 'left';\r\n @Prop() dropdownAlignment: CloseButtonPositions = 'left';\r\n\r\n @State() isCalendarShown: boolean = false;\r\n\r\n @Event() dateChange: EventEmitter<string | string[]>;\r\n\r\n private inputEl!: HTMLInputElement;\r\n private picker: flatpickr.Instance;\r\n\r\n componentDidLoad() {\r\n this.initializePicker();\r\n }\r\n\r\n disconnectedCallback() {\r\n if (this.picker) this.picker.destroy();\r\n }\r\n\r\n private initializePicker() {\r\n const calendarContainer = this.el.shadowRoot.querySelector('.calendar-container') as HTMLElement;\r\n const input = this.inputEl;\r\n\r\n const customLocale: Partial<CustomLocale> = {\r\n weekdays: {\r\n shorthand: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],\r\n longhand: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\r\n },\r\n rangeSeparator: ' - ',\r\n };\r\n\r\n if (!calendarContainer || !input) {\r\n console.warn('Calendar container or input not found.');\r\n return;\r\n }\r\n\r\n this.picker = flatpickr(input, {\r\n dateFormat: this.format,\r\n mode: this.mode,\r\n defaultDate: this.value,\r\n appendTo: calendarContainer, // keep inside shadow root\r\n clickOpens: false,\r\n allowInput: true,\r\n altInput: true,\r\n altFormat: this.format,\r\n closeOnSelect: false,\r\n locale: customLocale,\r\n disableMobile: true,\r\n prevArrow: `\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" class=\"calendar_arrow\">\r\n <path d=\"M12.5 4.99988C12.5 4.99988 7.50001 8.68232 7.5 9.99992C7.49999 11.3175 12.5 14.9999 12.5 14.9999\" stroke=\"var(--color-icon, #4B5565)\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n</svg>\r\n `,\r\n nextArrow: ` \r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" class=\"calendar_arrow\">\r\n <path d=\"M7.50004 5C7.50004 5 12.5 8.68244 12.5 10C12.5 11.3176 7.5 15 7.5 15\" stroke=\"var(--color-icon, #4B5565)\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n</svg>\r\n `,\r\n onChange: (selectedDates: Date[]) => {\r\n if (this.mode === 'range') {\r\n const formattedRange = selectedDates.map(d => this.picker.formatDate(d, this.format));\r\n this.value = formattedRange;\r\n this.dateChange.emit(formattedRange);\r\n } else if (selectedDates.length) {\r\n const formattedDate = this.picker.formatDate(selectedDates[0], this.format);\r\n this.value = formattedDate;\r\n this.dateChange.emit(formattedDate);\r\n }\r\n\r\n this.picker.open();\r\n },\r\n onOpen: () => {\r\n this.isCalendarShown = true;\r\n },\r\n onClose: () => {\r\n this.isCalendarShown = false;\r\n },\r\n });\r\n\r\n input.addEventListener('input', () => {\r\n const dateStr = input.value;\r\n const parsedDate = this.picker.parseDate(dateStr, this.format);\r\n\r\n if (parsedDate) {\r\n this.value = this.picker.formatDate(parsedDate, this.format);\r\n this.dateChange.emit(this.value);\r\n }\r\n\r\n if (!this.isCalendarShown) {\r\n this.picker.open();\r\n }\r\n });\r\n }\r\n\r\n private toggleCalendar(event?: Event) {\r\n if (event) {\r\n const target = event.target as HTMLElement;\r\n if (this.el.shadowRoot && this.el.shadowRoot.contains(target)) {\r\n const calendarEl = this.el.shadowRoot.querySelector('.calendar-container');\r\n if (calendarEl && calendarEl.contains(target)) {\r\n return; // Ignore clicks inside the calendar\r\n }\r\n }\r\n }\r\n\r\n if (!this.picker) return;\r\n\r\n if (this.isCalendarShown) {\r\n this.picker.close();\r\n } else {\r\n this.picker.open();\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n <div class=\"date-picker-wrapper\">\r\n <div\r\n class=\"inner_container\"\r\n onClick={() => {\r\n this.toggleCalendar();\r\n }}\r\n >\r\n {this.iconPosition === 'left' && (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M9.16658 10.0833C8.75237 10.0833 8.41658 10.4191 8.41658 10.8333C8.41658 11.2475 8.75237 11.5833 9.16658 11.5833V10.8333V10.0833ZM13.3333 11.5833C13.7475 11.5833 14.0833 11.2475 14.0833 10.8333C14.0833 10.4191 13.7475 10.0833 13.3333 10.0833V10.8333V11.5833ZM6.66658 10.0833C6.25237 10.0833 5.91659 10.4191 5.91659 10.8333C5.91659 11.2475 6.25237 11.5833 6.66658 11.5833V10.8333V10.0833ZM6.67407 11.5833C7.08828 11.5833 7.42407 11.2475 7.42407 10.8333C7.42407 10.4191 7.08828 10.0833 6.67407 10.0833V10.8333V11.5833ZM10.8333 14.9166C11.2475 14.9166 11.5833 14.5808 11.5833 14.1666C11.5833 13.7524 11.2475 13.4166 10.8333 13.4166V14.1666V14.9166ZM6.66658 13.4166C6.25237 13.4166 5.91659 13.7524 5.91659 14.1666C5.91659 14.5808 6.25237 14.9166 6.66658 14.9166V14.1666V13.4166ZM13.3333 14.9166C13.7475 14.9166 14.0833 14.5808 14.0833 14.1666C14.0833 13.7524 13.7475 13.4166 13.3333 13.4166V14.1666V14.9166ZM13.3258 13.4166C12.9116 13.4166 12.5758 13.7524 12.5758 14.1666C12.5758 14.5808 12.9116 14.9166 13.3258 14.9166V14.1666V13.4166ZM15.7499 1.66663C15.7499 1.25241 15.4141 0.916626 14.9999 0.916626C14.5857 0.916626 14.2499 1.25241 14.2499 1.66663H14.9999H15.7499ZM14.2499 3.33329C14.2499 3.74751 14.5857 4.08329 14.9999 4.08329C15.4141 4.08329 15.7499 3.74751 15.7499 3.33329H14.9999H14.2499ZM5.74992 1.66663C5.74992 1.25241 5.41413 0.916626 4.99992 0.916626C4.58571 0.916626 4.24992 1.25241 4.24992 1.66663H4.99992H5.74992ZM4.24992 3.33329C4.24992 3.74751 4.58571 4.08329 4.99992 4.08329C5.41413 4.08329 5.74992 3.74751 5.74992 3.33329H4.99992H4.24992ZM2.49992 5.91663C2.08571 5.91663 1.74992 6.25241 1.74992 6.66663C1.74992 7.08084 2.08571 7.41663 2.49992 7.41663V6.66663V5.91663ZM17.4999 7.41663C17.9141 7.41663 18.2499 7.08084 18.2499 6.66663C18.2499 6.25241 17.9141 5.91663 17.4999 5.91663V6.66663V7.41663ZM9.16658 10.8333V11.5833H13.3333V10.8333V10.0833H9.16658V10.8333ZM6.66658 10.8333V11.5833H6.67407V10.8333V10.0833H6.66658V10.8333ZM10.8333 14.1666V13.4166H6.66658V14.1666V14.9166H10.8333V14.1666ZM13.3333 14.1666V13.4166H13.3258V14.1666V14.9166H13.3333V14.1666ZM14.9999 1.66663H14.2499V3.33329H14.9999H15.7499V1.66663H14.9999ZM4.99992 1.66663H4.24992V3.33329H4.99992H5.74992V1.66663H4.99992ZM9.20825 2.49996V3.24996H10.7916V2.49996V1.74996H9.20825V2.49996ZM17.9166 10.2027H17.1666V10.6306H17.9166H18.6666V10.2027H17.9166ZM10.7916 18.3333V17.5833H9.20825V18.3333V19.0833H10.7916V18.3333ZM2.08325 10.6306H2.83325V10.2027H2.08325H1.33325V10.6306H2.08325ZM9.20825 18.3333V17.5833C7.506 17.5833 6.31079 17.5814 5.4071 17.4501C4.53136 17.3228 4.03943 17.0875 3.67726 16.696L3.12668 17.2053L2.57611 17.7145C3.25737 18.451 4.12685 18.7798 5.19134 18.9345C6.22789 19.0851 7.55174 19.0833 9.20825 19.0833V18.3333ZM2.08325 10.6306H1.33325C1.33325 12.4265 1.33189 13.8433 1.46941 14.9491C1.60893 16.071 1.90254 16.9864 2.57611 17.7145L3.12668 17.2053L3.67726 16.696C3.30739 16.2961 3.07929 15.7397 2.95795 14.764C2.83462 13.7723 2.83325 12.4658 2.83325 10.6306H2.08325ZM17.9166 10.6306H17.1666C17.1666 12.4658 17.1652 13.7723 17.0419 14.764C16.9205 15.7397 16.6924 16.2961 16.3226 16.696L16.8732 17.2053L17.4237 17.7145C18.0973 16.9864 18.3909 16.071 18.5304 14.9491C18.668 13.8433 18.6666 12.4265 18.6666 10.6306H17.9166ZM10.7916 18.3333V19.0833C12.4481 19.0833 13.7719 19.0851 14.8085 18.9345C15.873 18.7798 16.7425 18.451 17.4237 17.7145L16.8732 17.2053L16.3226 16.696C15.9604 17.0875 15.4685 17.3228 14.5927 17.4501C13.689 17.5814 12.4938 17.5833 10.7916 17.5833V18.3333ZM10.7916 2.49996V3.24996C12.4938 3.24996 13.689 3.25182 14.5927 3.38316C15.4685 3.51045 15.9604 3.74573 16.3226 4.13728L16.8732 3.62799L17.4237 3.11871C16.7425 2.38222 15.873 2.05348 14.8085 1.89876C13.7719 1.7481 12.4481 1.74996 10.7916 1.74996V2.49996ZM17.9166 10.2027H18.6666C18.6666 8.40677 18.668 6.98999 18.5304 5.88412C18.3909 4.76229 18.0973 3.84689 17.4237 3.11871L16.8732 3.62799L16.3226 4.13728C16.6924 4.53713 16.9205 5.09352 17.0419 6.06924C17.1652 7.06093 17.1666 8.36747 17.1666 10.2027H17.9166ZM9.20825 2.49996V1.74996C7.55174 1.74996 6.22789 1.7481 5.19134 1.89876C4.12685 2.05348 3.25737 2.38222 2.57611 3.11871L3.12668 3.62799L3.67726 4.13728C4.03943 3.74573 4.53136 3.51045 5.4071 3.38316C6.31079 3.25182 7.506 3.24996 9.20825 3.24996V2.49996ZM2.08325 10.2027H2.83325C2.83325 8.36747 2.83462 7.06093 2.95795 6.06924C3.07929 5.09352 3.30739 4.53713 3.67726 4.13728L3.12668 3.62799L2.57611 3.11871C1.90254 3.84689 1.60893 4.76229 1.46941 5.88412C1.33189 6.98999 1.33325 8.40677 1.33325 10.2027H2.08325ZM2.49992 6.66663V7.41663H17.4999V6.66663V5.91663H2.49992V6.66663Z\"\r\n fill=\"var(--color-icon, #4B5565)\"\r\n />\r\n </svg>\r\n )}\r\n <input type=\"text\" ref={el => (this.inputEl = el as HTMLInputElement)} placeholder={this.placeholder} disabled={this.disabled} value={this.value as string} />\r\n {this.iconPosition === 'right' && (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M9.16658 10.0833C8.75237 10.0833 8.41658 10.4191 8.41658 10.8333C8.41658 11.2475 8.75237 11.5833 9.16658 11.5833V10.8333V10.0833ZM13.3333 11.5833C13.7475 11.5833 14.0833 11.2475 14.0833 10.8333C14.0833 10.4191 13.7475 10.0833 13.3333 10.0833V10.8333V11.5833ZM6.66658 10.0833C6.25237 10.0833 5.91659 10.4191 5.91659 10.8333C5.91659 11.2475 6.25237 11.5833 6.66658 11.5833V10.8333V10.0833ZM6.67407 11.5833C7.08828 11.5833 7.42407 11.2475 7.42407 10.8333C7.42407 10.4191 7.08828 10.0833 6.67407 10.0833V10.8333V11.5833ZM10.8333 14.9166C11.2475 14.9166 11.5833 14.5808 11.5833 14.1666C11.5833 13.7524 11.2475 13.4166 10.8333 13.4166V14.1666V14.9166ZM6.66658 13.4166C6.25237 13.4166 5.91659 13.7524 5.91659 14.1666C5.91659 14.5808 6.25237 14.9166 6.66658 14.9166V14.1666V13.4166ZM13.3333 14.9166C13.7475 14.9166 14.0833 14.5808 14.0833 14.1666C14.0833 13.7524 13.7475 13.4166 13.3333 13.4166V14.1666V14.9166ZM13.3258 13.4166C12.9116 13.4166 12.5758 13.7524 12.5758 14.1666C12.5758 14.5808 12.9116 14.9166 13.3258 14.9166V14.1666V13.4166ZM15.7499 1.66663C15.7499 1.25241 15.4141 0.916626 14.9999 0.916626C14.5857 0.916626 14.2499 1.25241 14.2499 1.66663H14.9999H15.7499ZM14.2499 3.33329C14.2499 3.74751 14.5857 4.08329 14.9999 4.08329C15.4141 4.08329 15.7499 3.74751 15.7499 3.33329H14.9999H14.2499ZM5.74992 1.66663C5.74992 1.25241 5.41413 0.916626 4.99992 0.916626C4.58571 0.916626 4.24992 1.25241 4.24992 1.66663H4.99992H5.74992ZM4.24992 3.33329C4.24992 3.74751 4.58571 4.08329 4.99992 4.08329C5.41413 4.08329 5.74992 3.74751 5.74992 3.33329H4.99992H4.24992ZM2.49992 5.91663C2.08571 5.91663 1.74992 6.25241 1.74992 6.66663C1.74992 7.08084 2.08571 7.41663 2.49992 7.41663V6.66663V5.91663ZM17.4999 7.41663C17.9141 7.41663 18.2499 7.08084 18.2499 6.66663C18.2499 6.25241 17.9141 5.91663 17.4999 5.91663V6.66663V7.41663ZM9.16658 10.8333V11.5833H13.3333V10.8333V10.0833H9.16658V10.8333ZM6.66658 10.8333V11.5833H6.67407V10.8333V10.0833H6.66658V10.8333ZM10.8333 14.1666V13.4166H6.66658V14.1666V14.9166H10.8333V14.1666ZM13.3333 14.1666V13.4166H13.3258V14.1666V14.9166H13.3333V14.1666ZM14.9999 1.66663H14.2499V3.33329H14.9999H15.7499V1.66663H14.9999ZM4.99992 1.66663H4.24992V3.33329H4.99992H5.74992V1.66663H4.99992ZM9.20825 2.49996V3.24996H10.7916V2.49996V1.74996H9.20825V2.49996ZM17.9166 10.2027H17.1666V10.6306H17.9166H18.6666V10.2027H17.9166ZM10.7916 18.3333V17.5833H9.20825V18.3333V19.0833H10.7916V18.3333ZM2.08325 10.6306H2.83325V10.2027H2.08325H1.33325V10.6306H2.08325ZM9.20825 18.3333V17.5833C7.506 17.5833 6.31079 17.5814 5.4071 17.4501C4.53136 17.3228 4.03943 17.0875 3.67726 16.696L3.12668 17.2053L2.57611 17.7145C3.25737 18.451 4.12685 18.7798 5.19134 18.9345C6.22789 19.0851 7.55174 19.0833 9.20825 19.0833V18.3333ZM2.08325 10.6306H1.33325C1.33325 12.4265 1.33189 13.8433 1.46941 14.9491C1.60893 16.071 1.90254 16.9864 2.57611 17.7145L3.12668 17.2053L3.67726 16.696C3.30739 16.2961 3.07929 15.7397 2.95795 14.764C2.83462 13.7723 2.83325 12.4658 2.83325 10.6306H2.08325ZM17.9166 10.6306H17.1666C17.1666 12.4658 17.1652 13.7723 17.0419 14.764C16.9205 15.7397 16.6924 16.2961 16.3226 16.696L16.8732 17.2053L17.4237 17.7145C18.0973 16.9864 18.3909 16.071 18.5304 14.9491C18.668 13.8433 18.6666 12.4265 18.6666 10.6306H17.9166ZM10.7916 18.3333V19.0833C12.4481 19.0833 13.7719 19.0851 14.8085 18.9345C15.873 18.7798 16.7425 18.451 17.4237 17.7145L16.8732 17.2053L16.3226 16.696C15.9604 17.0875 15.4685 17.3228 14.5927 17.4501C13.689 17.5814 12.4938 17.5833 10.7916 17.5833V18.3333ZM10.7916 2.49996V3.24996C12.4938 3.24996 13.689 3.25182 14.5927 3.38316C15.4685 3.51045 15.9604 3.74573 16.3226 4.13728L16.8732 3.62799L17.4237 3.11871C16.7425 2.38222 15.873 2.05348 14.8085 1.89876C13.7719 1.7481 12.4481 1.74996 10.7916 1.74996V2.49996ZM17.9166 10.2027H18.6666C18.6666 8.40677 18.668 6.98999 18.5304 5.88412C18.3909 4.76229 18.0973 3.84689 17.4237 3.11871L16.8732 3.62799L16.3226 4.13728C16.6924 4.53713 16.9205 5.09352 17.0419 6.06924C17.1652 7.06093 17.1666 8.36747 17.1666 10.2027H17.9166ZM9.20825 2.49996V1.74996C7.55174 1.74996 6.22789 1.7481 5.19134 1.89876C4.12685 2.05348 3.25737 2.38222 2.57611 3.11871L3.12668 3.62799L3.67726 4.13728C4.03943 3.74573 4.53136 3.51045 5.4071 3.38316C6.31079 3.25182 7.506 3.24996 9.20825 3.24996V2.49996ZM2.08325 10.2027H2.83325C2.83325 8.36747 2.83462 7.06093 2.95795 6.06924C3.07929 5.09352 3.30739 4.53713 3.67726 4.13728L3.12668 3.62799L2.57611 3.11871C1.90254 3.84689 1.60893 4.76229 1.46941 5.88412C1.33189 6.98999 1.33325 8.40677 1.33325 10.2027H2.08325ZM2.49992 6.66663V7.41663H17.4999V6.66663V5.91663H2.49992V6.66663Z\"\r\n fill=\"var(--color-icon, #4B5565)\"\r\n />\r\n </svg>\r\n )}\r\n </div>\r\n\r\n {/* Always in DOM, just hidden by CSS */}\r\n <div class={`calendar-container ${!this.isCalendarShown ? 'hidden' : ''} ${this.dropdownAlignment}`}></div>\r\n </div>\r\n );\r\n }\r\n}\r\n","@import '../../global/global.css';\r\n\r\n.shortcut-container {\r\n display: flex;\r\n width: 100%;\r\n padding: var(--spacing-half) var(--spacing-1);\r\n align-items: center;\r\n gap: var(--spacing-none);\r\n border-radius: var(--rounded-none);\r\n cursor: pointer;\r\n}\r\n\r\n.shortcut {\r\n display: flex;\r\n padding: var(--spacing-2);\r\n justify-content: center;\r\n align-items: center;\r\n gap: var(--spacing-2);\r\n flex: 1 0 0;\r\n border-radius: var(--rounded-xs);\r\n}\r\n\r\n.shortcut.destructive:hover {\r\n background-color: var(--color-background-danger-subtlest, #fef1f2);\r\n}\r\n\r\n.shortcut.destructive:active {\r\n background-color: var(--color-background-danger-subtler, #fde3e5);\r\n}\r\n\r\n.label_div {\r\n flex-grow: 1;\r\n}\r\n\r\n.label {\r\n color: var(--color-text, #4b5565);\r\n}\r\n\r\n.label.destructive {\r\n color: var(--color-text-danger, #b51726);\r\n}\r\n\r\n.shortcut-icon {\r\n display: flex;\r\n justify-content: flex-end;\r\n color: var(--color-text, #4b5565);\r\n font-family: var(--Font-Family-Body, Sora);\r\n font-size: var(--Font-Size-T-xs, 12px);\r\n font-style: normal;\r\n font-weight: var(--Font-Weight-Regular, 400);\r\n line-height: var(--Font-Line-height-T-xs, 18px); /* 150% */\r\n letter-spacing: var(--Font-Letter-spacing-T-xs, 0px);\r\n}\r\n\r\n.icon{\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n}\r\n\r\n.icon svg {\r\n width: 1.25rem;\r\n height: 1.25rem;\r\n}\r\n\r\n.icon path[opacity]{\r\n opacity: 0;\r\n}\r\n\r\n.icon path[stroke] {\r\n stroke: var(--color-icon, #4b5565);\r\n}\r\n\r\n.icon path[fill] {\r\n fill: var(--color-icon, #4b5565);\r\n}\r\n\r\n.icon.disabled path[stroke],\r\n.icon.disabled.destructive path[stroke] {\r\n stroke: var(--color-icon-disabled, #cdd5df);\r\n}\r\n\r\n.icon.disabled path[fill],\r\n.icon.disabled.destructive path[fill] {\r\n fill: var(--color-icon-disabled, #cdd5df);\r\n}\r\n\r\n.icon.destructive path[stroke] {\r\n stroke: var(--color-icon-danger, #b51726);\r\n}\r\n\r\n.icon.destructive path[fill] {\r\n fill: var(--color-icon-danger, #b51726);\r\n}\r\n\r\ngb-checkbox {\r\n padding-top: 4px;\r\n padding-left: 7px;\r\n}\r\n\r\n.shortcut:hover {\r\n background-color: var(--color-background-gray-subtler, #eef2f6);\r\n}\r\n.shortcut:active {\r\n background: var(--color-background-gray-subtle, #e3e8ef);\r\n}\r\n\r\n.shortcut.disabled {\r\n background-color: var(---color-background-card, #ffffff);\r\n color: var(--color-text-disabled, #cdd5df);\r\n pointer-events: none;\r\n}\r\n\r\n.shortcut.disabled .label,\r\n.shortcut.disabled .shortcut-icon,\r\n.shortcut.disabled gb-checkbox {\r\n color: var(--color-text-disabled, #cdd5df); /* Ensures all text/icons use the disabled color */\r\n}\r\n\r\n.shortcut.disabled .icon img {\r\n opacity: 0.5;\r\n stroke: var(--color-icon-disabled, #cdd5df); /* Reduce opacity for the icon in disabled state */\r\n}\r\n\r\n/* Optional: You can also change the checkbox appearance */\r\n.shortcut.disabled gb-checkbox {\r\n pointer-events: none;\r\n opacity: 0.5; /* Dim the checkbox when disabled */\r\n}\r\n","import { Component, Prop, h, getAssetPath, Element, State } from '@stencil/core';\r\nimport { StateEnum } from '../../models/reusableModels';\r\n\r\n@Component({\r\n tag: 'gb-dropdown-items-with-shortcut',\r\n styleUrl: 'gb-dropdown-items-with-shortcut.css',\r\n shadow: true,\r\n})\r\nexport class GbDropdownShortcut {\r\n @Prop() icon: boolean = false;\r\n @Prop() iconSrc: string;\r\n @Prop() checkbox: boolean = false;\r\n @Prop() shortcut: boolean;\r\n @Prop() shortcutIcon: string = '';\r\n @Prop() label: string = '';\r\n @Prop() state: 'default' | 'disabled' = 'default';\r\n @Prop() destructive: boolean = false;\r\n @State() leadingIconSvg: string = '';\r\n @Element() el: HTMLElement;\r\n\r\n async loadIcon(iconName: string) {\r\n const iconPath = getAssetPath(`${iconName}`);\r\n const response = await fetch(iconPath);\r\n const svg = await response.text();\r\n this.leadingIconSvg = svg;\r\n\r\n // Parse SVG into DOM\r\n const parser = new DOMParser();\r\n const svgDoc = parser.parseFromString(svg, 'image/svg+xml');\r\n const svgElement = svgDoc.documentElement;\r\n\r\n // Select all path tags with an opacity attribute\r\n const pathsWithOpacity = svgElement.querySelectorAll('path[opacity]');\r\n\r\n pathsWithOpacity.forEach(path => {\r\n path.classList.add('has_opacity');\r\n });\r\n }\r\n\r\n componentWillLoad() {\r\n this.loadIcon(this.iconSrc);\r\n }\r\n\r\n render() {\r\n return (\r\n <div class=\"shortcut-container\">\r\n <div class={`shortcut ${this.state === 'disabled' ? 'disabled' : ''} ${this.destructive ? 'destructive' : ''}`}>\r\n {this.icon && (\r\n <div class=\"icon_div\">\r\n <div class={`icon ${this.state === 'disabled' ? 'disabled' : ''} ${this.destructive ? 'destructive' : ''}`} innerHTML={this.leadingIconSvg}></div>\r\n </div>\r\n )}\r\n {this.checkbox && !this.icon && <gb-checkbox class=\"checkbox\" size=\"sm\" type=\"checkbox\" state={StateEnum.Default}></gb-checkbox>}\r\n <span class=\"label_div\">\r\n <p class={`label text-sm-medium ${this.destructive ? 'destructive' : ''}`}>{this.label}</p>\r\n </span>\r\n {this.shortcut && (\r\n <span class=\"shortcut-icon\">\r\n <slot>{this.shortcutIcon}</slot>\r\n </span>\r\n )}\r\n </div>\r\n </div>\r\n );\r\n }\r\n}\r\n","@import './../../global/global.css';\r\n\r\n.export_dropdown{\r\n display: inline-flex;\r\n width: fit-content;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n gap: var(--spacing-none);\r\n border-radius: var(--rounded-sm);\r\n border: 1px solid var(--color-border-subtler, #E3E8EF);\r\n background: var(--color-surface, #FFFFFF);\r\n box-shadow: var(--shadow-sm);\r\n position: relative;\r\n z-index: 999;\r\n}\r\n\r\n.first_dropdown{\r\n position: absolute;\r\n top: 2rem;\r\n left: -10rem;\r\n z-index: 9999999;\r\n}\r\n\r\n.second_dropdown{\r\n position: absolute;\r\n top: 4rem;\r\n left: -10rem;\r\n z-index: 9999999;\r\n}","import { Component, Event, EventEmitter, h, Prop, State, Fragment, Element } from '@stencil/core';\r\nimport { StateEnum } from '../../models/reusableModels';\r\n\r\n@Component({\r\n tag: 'gb-export-dropdown',\r\n styleUrl: 'gb-export-dropdown.css',\r\n shadow: true,\r\n})\r\nexport class GbExportDropdown {\r\n @Prop() state: StateEnum;\r\n @Prop() showEntireData: boolean = false;\r\n @State() showFirstSubDropdown: boolean = false;\r\n @State() showSecondSubDropdown: boolean = false;\r\n @Prop() pdfState: StateEnum = StateEnum.Default;\r\n @Prop() csvState: StateEnum = StateEnum.Default;\r\n @Event() exportClicked: EventEmitter<{ exportType: string; dataType: string }>;\r\n @Element() el: HTMLElement;\r\n\r\n async onExportClicked(exportType: string, dataType: string) {\r\n this.exportClicked.emit({ exportType, dataType });\r\n // console.log({ exportType, dataType });\r\n }\r\n\r\n render() {\r\n return (\r\n <>\r\n <div class={`export_dropdown`}>\r\n <gb-export-dropdown-item\r\n type=\"pdf\"\r\n state={this.pdfState}\r\n onMouseOver={() => {\r\n if (this.pdfState === StateEnum.Default) {\r\n this.showFirstSubDropdown = true;\r\n }\r\n }}\r\n onMouseOut={() => (this.showFirstSubDropdown = false)}\r\n ></gb-export-dropdown-item>\r\n <gb-export-dropdown-item\r\n type=\"csv\"\r\n state={this.csvState}\r\n onMouseOver={() => {\r\n if (this.csvState === StateEnum.Default) {\r\n this.showSecondSubDropdown = true;\r\n }\r\n }}\r\n onMouseOut={() => (this.showSecondSubDropdown = false)}\r\n ></gb-export-dropdown-item>\r\n </div>\r\n {this.showFirstSubDropdown && (\r\n <gb-export-sub-dropdown\r\n class={`first_dropdown`}\r\n show-entire-data={this.showEntireData}\r\n onMouseOver={() => (this.showFirstSubDropdown = true)}\r\n onMouseOut={() => (this.showFirstSubDropdown = false)}\r\n >\r\n <p slot=\"label_one\" onClick={() => this.onExportClicked('pdf', 'entire_data')}>\r\n Entire Data\r\n </p>\r\n <p slot=\"label_two\" onClick={() => this.onExportClicked('pdf', 'data_on_view')}>\r\n Data on view\r\n </p>\r\n <p slot=\"label_three\" onClick={() => this.onExportClicked('pdf', 'filtered_data')}>\r\n Filtered Data\r\n </p>\r\n </gb-export-sub-dropdown>\r\n )}\r\n {this.showSecondSubDropdown && (\r\n <gb-export-sub-dropdown\r\n class={`second_dropdown`}\r\n show-entire-data={this.showEntireData}\r\n onMouseOver={() => (this.showSecondSubDropdown = true)}\r\n onMouseOut={() => (this.showSecondSubDropdown = false)}\r\n >\r\n <p slot=\"label_one\" onClick={() => this.onExportClicked('csv', 'entire_data')}>\r\n Entire Data\r\n </p>\r\n <p slot=\"label_two\" onClick={() => this.onExportClicked('csv', 'data_on_view')}>\r\n Data on view\r\n </p>\r\n <p slot=\"label_three\" onClick={() => this.onExportClicked('csv', 'filtered_data')}>\r\n Filtered Data\r\n </p>\r\n </gb-export-sub-dropdown>\r\n )}\r\n </>\r\n );\r\n }\r\n}\r\n","@import './../../global/global.css';\r\n\r\n.export_container{\r\n display: flex;\r\n width: 11rem;\r\n padding: var(--spacing-1);\r\n justify-content: center;\r\n align-items: center;\r\n gap: var(--spacing-2);\r\n border-radius: var(--rounded-none);\r\n}\r\n\r\n.export_container.disabled{\r\n cursor: not-allowed;\r\n pointer-events: none;\r\n}\r\n\r\n.content{\r\n display: flex;\r\n min-height: 2.5rem;\r\n padding: var(--spacing-none) var(--spacing-2);\r\n justify-content: space-between;\r\n align-items: center;\r\n flex: 1 0 0;\r\n border-radius: var(--rounded-xs);\r\n cursor: pointer;\r\n}\r\n\r\n.content:hover{\r\n background-color: var(--color-background-gray-subtler, #EEF2F6);\r\n}\r\n\r\n.content:active{\r\n background-color: var(--color-background-gray-subtle, #E3E8EF);\r\n}\r\n\r\n.wrapper{\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n flex: 1 0 0;\r\n}\r\n\r\n.container{\r\n display: flex;\r\n align-items: center;\r\n gap: var(--spacing-2);\r\n}\r\n\r\n.icon,\r\n.arrow{\r\n display: flex;\r\n align-items: center;\r\n}\r\n\r\n.pdf_svg path[stroke]{\r\n stroke: var(--color-icon-brandRed, #E21B2E);\r\n}\r\n\r\n.csv_svg path[stroke]{\r\n stroke: var(--color-icon-success, #079455);\r\n}\r\n\r\n.pdf_svg path[fill]{\r\n fill: var(--color-icon-brandRed, #E21B2E);\r\n}\r\n\r\n.csv_svg path[fill]{\r\n fill: var(--color-icon-success, #079455);\r\n}\r\n\r\n.pdf_svg.disabled path[stroke]{\r\n stroke: var(--color-icon-disabled, #CDD5DF);\r\n}\r\n\r\n.csv_svg.disabled path[stroke]{\r\n stroke: var(--color-icon-disabled, #CDD5DF);\r\n}\r\n\r\n.pdf_svg.disabled path[fill]{\r\n fill: var(--color-icon-disabled, #CDD5DF);\r\n}\r\n\r\n.csv_svg.disabled path[fill]{\r\n fill: var(--color-icon-disabled, #CDD5DF);\r\n}\r\n\r\n.text{\r\n color: var(--color-text, #4B5565);\r\n}\r\n\r\n.text.disabled{\r\n color: var(--color-text-disabled, #CDD5DF);\r\n}\r\n\r\n.arrow_svg.disabled path{\r\n stroke: var(--color-icon-disabled, #CDD5DF);\r\n}","import { Component, Element, h, Prop } from \"@stencil/core\";\r\nimport { StateEnum } from \"../../models/reusableModels\";\r\n\r\n@Component({\r\n tag: 'gb-export-dropdown-item',\r\n styleUrl: 'gb-export-dropdown-item.css',\r\n shadow: true\r\n})\r\nexport class GbExportDropdownItem {\r\n @Prop() icon: boolean = false;\r\n @Prop() state: StateEnum = StateEnum.Default;\r\n @Prop() type: 'pdf' | 'csv';\r\n @Element() el: HTMLElement;\r\n\r\n render() {\r\n return (\r\n <div class={`export_container ${this.state === 'disabled' ? 'disabled' : ''}`}>\r\n <div class={`content ${this.state === 'disabled' ? 'disabled' : ''}`}>\r\n <div class={`wrapper`}>\r\n <div class={`container`}>\r\n <div class={`icon`}>\r\n {this.type === 'pdf' ? (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"20\"\r\n height=\"20\"\r\n viewBox=\"0 0 20 20\"\r\n fill=\"none\"\r\n class={`pdf_svg ${this.type} ${this.state === 'disabled' ? 'disabled' : ''}`}\r\n >\r\n <path\r\n opacity=\"0.4\"\r\n d=\"M2.50117 9.15797C2.78483 8.46126 4.09165 7.08156 7.08171 7.08156C7.33288 7.08156 7.99177 6.82886 7.95767 5.45969C7.94376 4.22219 8.39482 1.77401 10.2871 1.66843C10.662 1.66663 11.0697 1.66663 11.5152 1.66663C13.0144 1.66663 13.764 1.66663 14.3627 1.87679C15.3252 2.21467 16.0844 2.92921 16.4434 3.83508C16.6667 4.39856 16.6667 5.10408 16.6667 6.51511V14.1666C16.6667 14.9411 16.6667 15.3283 16.6026 15.6503C16.3396 16.9726 15.3059 18.0062 13.9836 18.2692C13.6616 18.3333 13.2744 18.3333 12.5 18.3333H8.93939C6.22172 18.3333 4.86289 18.3333 3.91922 17.6684C3.64885 17.4779 3.40882 17.252 3.20642 16.9976C2.5 16.1094 2.5 14.8305 2.5 12.2727V10.1515C2.5 9.79565 2.5 9.46547 2.50117 9.15797Z\"\r\n fill=\"var(--color-icon-brandRed, #E21B2E)\"\r\n />\r\n <path\r\n d=\"M5.83333 15V12.9166M5.83333 12.9166V11.6666C5.83333 11.2738 5.83333 11.0774 5.96147 10.9553C6.08961 10.8333 6.29585 10.8333 6.70833 10.8333H7.29167C7.89573 10.8333 8.38542 11.2997 8.38542 11.875C8.38542 12.4503 7.89573 12.9166 7.29167 12.9166H5.83333ZM17.5 10.8333H16.4062C15.7188 10.8333 15.3751 10.8333 15.1615 11.0367C14.9479 11.2401 14.9479 11.5675 14.9479 12.2222V12.9166M14.9479 15V12.9166M14.9479 12.9166H16.7708M12.5 18.3333H8.93939C6.22172 18.3333 4.86289 18.3333 3.91922 17.6684C3.64885 17.4779 3.40882 17.252 3.20642 16.9976C2.5 16.1094 2.5 14.8305 2.5 12.2727V10.1515C2.5 7.68217 2.5 6.44751 2.89078 5.46142C3.51901 3.87614 4.84761 2.6257 6.53197 2.03442C7.57969 1.66663 8.89151 1.66663 11.5152 1.66663C13.0144 1.66663 13.764 1.66663 14.3627 1.87679C15.3252 2.21467 16.0844 2.92921 16.4434 3.83508C16.6667 4.39856 16.6667 5.10408 16.6667 6.51511V8.33329M2.5 9.99996C2.5 8.46584 3.74365 7.22218 5.27778 7.22218C5.8326 7.22218 6.4867 7.3194 7.02614 7.17486C7.50543 7.04643 7.8798 6.67206 8.00823 6.19276C8.15277 5.65332 8.05556 4.99922 8.05556 4.4444C8.05556 2.91028 9.29921 1.66663 10.8333 1.66663M13.125 12.9166C13.125 14.0672 12.1456 15 10.9375 15C10.6649 15 10.5286 15 10.4271 14.9441C10.184 14.8105 10.2083 14.5399 10.2083 14.3055V11.5277C10.2083 11.2933 10.184 11.0228 10.4271 10.8891C10.5286 10.8333 10.6649 10.8333 10.9375 10.8333C12.1456 10.8333 13.125 11.766 13.125 12.9166Z\"\r\n stroke=\"var(--color-icon-brandRed, #E21B2E)\"\r\n stroke-width=\"1.5\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n ) : (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"20\"\r\n height=\"20\"\r\n viewBox=\"0 0 20 20\"\r\n fill=\"none\"\r\n class={`csv_svg ${this.type} ${this.state === 'disabled' ? 'disabled' : ''}`}\r\n >\r\n <path\r\n opacity=\"0.4\"\r\n d=\"M2.50141 9.15797C2.78507 8.46126 4.0919 7.08156 7.08195 7.08156C7.33312 7.08156 7.99201 6.82886 7.95791 5.45969C7.94401 4.22219 8.39506 1.77401 10.2873 1.66843C10.6623 1.66663 11.0699 1.66663 11.5154 1.66663C13.0146 1.66663 13.7642 1.66663 14.3629 1.87679C15.3254 2.21467 16.0846 2.92921 16.4436 3.83508C16.6669 4.39856 16.6669 5.10408 16.6669 6.51511V14.1666C16.6669 14.9411 16.6669 15.3283 16.6029 15.6503C16.3398 16.9726 15.3062 18.0062 13.9839 18.2692C13.6619 18.3333 13.2747 18.3333 12.5002 18.3333H8.93964C6.22197 18.3333 4.86313 18.3333 3.91947 17.6684C3.64909 17.4779 3.40906 17.252 3.20666 16.9976C2.50024 16.1094 2.50024 14.8305 2.50024 12.2727V10.1515C2.50024 9.79565 2.50024 9.46547 2.50141 9.15797Z\"\r\n fill=\"var(--color-icon-success, #079455)\"\r\n />\r\n <path\r\n d=\"M7.82922 11.7147C7.84826 12.1285 8.19913 12.4485 8.6129 12.4294C9.02668 12.4104 9.34668 12.0595 9.32764 11.6458L7.82922 11.7147ZM9.32764 14.1875C9.34668 13.7737 9.02668 13.4229 8.6129 13.4038C8.19913 13.3848 7.84826 13.7048 7.82922 14.1185L9.32764 14.1875ZM18.2025 11.0961C18.3476 10.7081 18.1507 10.276 17.7628 10.1308C17.3748 9.98571 16.9427 10.1826 16.7975 10.5705L18.2025 11.0961ZM16.2804 14.0935L15.5779 13.8307L16.2804 14.0935ZM15.2442 14.0935L15.9467 13.8307L15.9467 13.8307L15.2442 14.0935ZM14.7271 10.5705C14.582 10.1826 14.1498 9.98571 13.7619 10.1308C13.3739 10.276 13.1771 10.7081 13.3222 11.0961L14.7271 10.5705ZM12.2678 11.5833C12.682 11.5833 13.0178 11.2475 13.0178 10.8333C13.0178 10.4191 12.682 10.0833 12.2678 10.0833V11.5833ZM10.5747 14.25C10.1605 14.25 9.82472 14.5857 9.82472 15C9.82472 15.4142 10.1605 15.75 10.5747 15.75V14.25ZM12.0709 14.9471L11.7841 14.2541H11.7841L12.0709 14.9471ZM12.0709 12.9695L12.3577 12.2765V12.2765L12.0709 12.9695ZM10.8439 12.8638L10.5571 13.5568H10.5571L10.8439 12.8638ZM10.8439 10.8862L10.5571 10.1932L10.8439 10.8862ZM12.5 13.943L11.75 13.9428V13.943H12.5ZM12.5 13.9736H11.75V13.9738L12.5 13.9736ZM12.5 19.0833C12.9142 19.0833 13.25 18.7475 13.25 18.3333C13.25 17.9191 12.9142 17.5833 12.5 17.5833V19.0833ZM15.9167 8.33329C15.9167 8.74751 16.2525 9.08329 16.6667 9.08329C17.0809 9.08329 17.4167 8.74751 17.4167 8.33329H15.9167ZM14.3627 1.87679L14.6111 1.16913V1.16913L14.3627 1.87679ZM16.4434 3.83508L17.1406 3.55877L16.4434 3.83508ZM2.89078 5.46142L3.58803 5.73773L2.89078 5.46142ZM6.53197 2.03442L6.78039 2.74208L6.78039 2.74208L6.53197 2.03442ZM3.91922 17.6684L3.48726 18.2815H3.48726L3.91922 17.6684ZM3.20642 16.9976L3.79339 16.5307H3.79339L3.20642 16.9976ZM1.75 9.99996C1.75 10.4142 2.08579 10.75 2.5 10.75C2.91421 10.75 3.25 10.4142 3.25 9.99996H1.75ZM5.27778 7.22218V7.97218H5.27778L5.27778 7.22218ZM8.00823 6.19276L8.73267 6.38688L8.00823 6.19276ZM7.02614 7.17486L7.22025 7.8993L7.22025 7.8993L7.02614 7.17486ZM10.8333 2.41663C11.2475 2.41663 11.5833 2.08084 11.5833 1.66663C11.5833 1.25241 11.2475 0.916626 10.8333 0.916626V2.41663ZM6.58333 13.6111V12.2222H5.08333V13.6111H6.58333ZM7.20935 11.5833C7.40441 11.5833 7.55042 11.585 7.67255 11.5962C7.79576 11.6076 7.84664 11.6251 7.86008 11.6311C7.86341 11.6326 7.85512 11.6293 7.84214 11.6181C7.82841 11.6064 7.81787 11.5931 7.81162 11.5826C7.80017 11.5633 7.82342 11.5885 7.82922 11.7147L9.32764 11.6458C9.31443 11.3586 9.25281 11.0713 9.10081 10.8158C8.94191 10.5486 8.71717 10.3715 8.47384 10.2624C8.05559 10.0749 7.54278 10.0833 7.20935 10.0833V11.5833ZM7.20935 15.75C7.54278 15.75 8.05558 15.7584 8.47384 15.5708C8.71717 15.4617 8.9419 15.2847 9.10081 15.0175C9.25281 14.7619 9.31443 14.4746 9.32764 14.1875L7.82922 14.1185C7.82342 14.2447 7.80017 14.2699 7.81162 14.2507C7.81787 14.2402 7.82841 14.2269 7.84214 14.2151C7.85512 14.204 7.86341 14.2006 7.86008 14.2021C7.84663 14.2082 7.79576 14.2257 7.67255 14.237C7.55042 14.2482 7.40441 14.25 7.20935 14.25V15.75ZM7.20935 10.0833C6.64056 10.0833 5.97423 10.1291 5.53243 10.5988C5.30662 10.8388 5.20075 11.1246 5.1472 11.3897C5.09514 11.6474 5.08333 11.9334 5.08333 12.2222H6.58333C6.58333 11.9575 6.59599 11.7932 6.6175 11.6867C6.63753 11.5876 6.65436 11.5953 6.62501 11.6265C6.59327 11.6603 6.57962 11.6457 6.66952 11.6244C6.76921 11.6007 6.93438 11.5833 7.20935 11.5833V10.0833ZM7.20935 14.25C6.93438 14.25 6.76921 14.2325 6.66952 14.2089C6.57962 14.1875 6.59327 14.173 6.62501 14.2067C6.65436 14.2379 6.63753 14.2457 6.6175 14.1465C6.59599 14.0401 6.58333 13.8758 6.58333 13.6111H5.08333C5.08333 13.8998 5.09514 14.1859 5.1472 14.4436C5.20075 14.7086 5.30662 14.9944 5.53243 15.2345C5.97423 15.7042 6.64056 15.75 7.20935 15.75V14.25ZM16.7975 10.5705L15.5779 13.8307L16.9829 14.3563L18.2025 11.0961L16.7975 10.5705ZM15.9467 13.8307L14.7271 10.5705L13.3222 11.0961L14.5418 14.3563L15.9467 13.8307ZM15.5779 13.8307C15.5206 13.9841 15.4742 14.108 15.4326 14.2123C15.3904 14.3182 15.3606 14.3847 15.3389 14.4262C15.3135 14.4749 15.3201 14.4479 15.3673 14.4025C15.3951 14.3758 15.4436 14.3363 15.515 14.3036C15.5898 14.2694 15.6746 14.2499 15.7623 14.2499V15.7499C16.0474 15.7499 16.2654 15.6199 16.4067 15.4841C16.5325 15.3632 16.6151 15.2229 16.6685 15.1205C16.7742 14.918 16.8777 14.6374 16.9829 14.3563L15.5779 13.8307ZM14.5418 14.3563C14.6469 14.6374 14.7504 14.918 14.8561 15.1205C14.9096 15.2228 14.9922 15.3632 15.118 15.4841C15.2593 15.6199 15.4772 15.7499 15.7623 15.7499V14.2499C15.8501 14.2499 15.9348 14.2694 16.0097 14.3036C16.0811 14.3363 16.1296 14.3758 16.1573 14.4025C16.2045 14.4479 16.2112 14.4749 16.1858 14.4262C16.1641 14.3847 16.1343 14.3182 16.092 14.2123C16.0505 14.108 16.0041 13.9841 15.9467 13.8307L14.5418 14.3563ZM12.2678 10.0833H11.4574V11.5833H12.2678V10.0833ZM11.4574 14.25H10.5747V15.75H11.4574V14.25ZM11.4574 15.75C11.6091 15.75 11.7604 15.7504 11.8887 15.7416C12.0238 15.7324 12.1873 15.7106 12.3577 15.6401L11.7841 14.2541C11.8268 14.2364 11.8455 14.2411 11.7867 14.2451C11.7212 14.2496 11.6296 14.25 11.4574 14.25V15.75ZM11.4574 13.6666C11.6296 13.6666 11.7212 13.667 11.7867 13.6715C11.8455 13.6755 11.8268 13.6802 11.7841 13.6625L12.3577 12.2765C12.1873 12.206 12.0238 12.1842 11.8887 12.175C11.7604 12.1662 11.6091 12.1666 11.4574 12.1666V13.6666ZM11.4574 12.1666C11.2852 12.1666 11.1936 12.1662 11.1281 12.1618C11.0693 12.1578 11.088 12.1531 11.1307 12.1708L10.5571 13.5568C10.7275 13.6273 10.891 13.6491 11.0261 13.6583C11.1544 13.667 11.3057 13.6666 11.4574 13.6666V12.1666ZM11.4574 10.0833C11.3057 10.0833 11.1544 10.0829 11.0261 10.0917C10.891 10.1009 10.7275 10.1226 10.5571 10.1932L11.1307 11.5792C11.088 11.5968 11.0693 11.5922 11.1281 11.5882C11.1936 11.5837 11.2852 11.5833 11.4574 11.5833V10.0833ZM9.66479 11.875C9.66479 12.0361 9.65694 12.3587 9.74777 12.6618C9.85618 13.0235 10.1032 13.3689 10.5571 13.5568L11.1307 12.1708C11.1226 12.1674 11.1414 12.1745 11.1638 12.2006C11.1842 12.2246 11.1877 12.2414 11.1846 12.2312C11.1805 12.2172 11.1733 12.1841 11.1691 12.1185C11.1647 12.0509 11.1648 11.9785 11.1648 11.875H9.66479ZM11.1648 11.875C11.1648 11.7714 11.1647 11.699 11.1691 11.6314C11.1733 11.5658 11.1805 11.5327 11.1846 11.5188C11.1877 11.5085 11.1842 11.5254 11.1638 11.5493C11.1414 11.5754 11.1226 11.5825 11.1307 11.5792L10.5571 10.1932C10.1032 10.381 9.85618 10.7265 9.74777 11.0882C9.65694 11.3913 9.66479 11.7138 9.66479 11.875H11.1648ZM13.25 13.9431C13.25 13.779 13.2563 13.4602 13.163 13.1583C13.0522 12.7998 12.8045 12.4614 12.3577 12.2765L11.7841 13.6625C11.7923 13.6659 11.7739 13.659 11.7518 13.6335C11.7314 13.6099 11.7273 13.5928 11.7299 13.6013C11.7337 13.6135 11.7408 13.6446 11.7452 13.7075C11.7497 13.7719 11.75 13.8428 11.75 13.9428L13.25 13.9431ZM11.75 13.9738C11.75 14.0738 11.7497 14.1446 11.7452 14.2091C11.7408 14.272 11.7337 14.3031 11.7299 14.3153C11.7273 14.3238 11.7314 14.3067 11.7518 14.2831C11.7739 14.2575 11.7923 14.2507 11.7841 14.2541L12.3577 15.6401C12.8045 15.4552 13.0522 15.1167 13.163 14.7583C13.2563 14.4564 13.25 14.1376 13.25 13.9735L11.75 13.9738ZM12.5 17.5833H8.93939V19.0833H12.5V17.5833ZM3.25 12.2727V10.1515H1.75V12.2727H3.25ZM15.9167 6.51511V8.33329H17.4167V6.51511H15.9167ZM11.5152 2.41663C13.0778 2.41663 13.6667 2.42733 14.1143 2.58446L14.6111 1.16913C13.8613 0.905919 12.9509 0.916626 11.5152 0.916626V2.41663ZM17.4167 6.51511C17.4167 5.81948 17.417 5.2615 17.3871 4.8079C17.3568 4.34761 17.2929 3.94316 17.1406 3.55877L15.7461 4.11139C15.8171 4.29048 15.8649 4.52053 15.8904 4.90662C15.9163 5.29941 15.9167 5.79971 15.9167 6.51511H17.4167ZM14.1143 2.58446C14.8827 2.8542 15.4714 3.41808 15.7461 4.11139L17.1406 3.55877C16.6974 2.44033 15.7677 1.57513 14.6111 1.16913L14.1143 2.58446ZM3.25 10.1515C3.25 8.90693 3.25038 8.00979 3.29722 7.2996C3.34362 6.59611 3.43332 6.12813 3.58803 5.73773L2.19354 5.18511C1.95747 5.7808 1.85177 6.42319 1.80047 7.20088C1.74962 7.97187 1.75 8.92671 1.75 10.1515H3.25ZM11.5152 0.916626C8.95498 0.916626 7.48237 0.905919 6.28355 1.32676L6.78039 2.74208C7.67701 2.42733 8.82804 2.41663 11.5152 2.41663V0.916626ZM3.58803 5.73773C4.13202 4.36502 5.29011 3.26523 6.78039 2.74208L6.28355 1.32676C4.40512 1.98616 2.906 3.38727 2.19354 5.18511L3.58803 5.73773ZM8.93939 17.5833C7.56444 17.5833 6.59125 17.5823 5.8418 17.5042C5.10432 17.4274 4.674 17.2828 4.35119 17.0553L3.48726 18.2815C4.10811 18.719 4.82904 18.9068 5.68631 18.9961C6.53161 19.0842 7.59668 19.0833 8.93939 19.0833V17.5833ZM1.75 12.2727C1.75 13.5334 1.74879 14.5444 1.84344 15.3489C1.94017 16.171 2.1452 16.8682 2.61944 17.4644L3.79339 16.5307C3.56122 16.2388 3.41304 15.8525 3.33316 15.1736C3.25121 14.4771 3.25 13.5697 3.25 12.2727H1.75ZM4.35119 17.0553C4.13817 16.9052 3.95058 16.7283 3.79339 16.5307L2.61944 17.4644C2.86705 17.7757 3.15953 18.0506 3.48726 18.2815L4.35119 17.0553ZM3.25 9.99996C3.25 8.88005 4.15787 7.97218 5.27778 7.97218V6.47218C3.32944 6.47218 1.75 8.05162 1.75 9.99996H3.25ZM7.28379 5.99865C7.22471 6.21912 7.0525 6.39134 6.83202 6.45041L7.22025 7.8993C7.95836 7.70152 8.5349 7.12499 8.73267 6.38688L7.28379 5.99865ZM10.8333 0.916626C8.885 0.916626 7.30556 2.49607 7.30556 4.4444H8.80556C8.80556 3.32449 9.71342 2.41663 10.8333 2.41663V0.916626ZM7.30556 4.4444C7.30556 4.60242 7.31245 4.76305 7.31929 4.91055C7.32638 5.06331 7.33339 5.20186 7.33626 5.33992C7.34208 5.62051 7.32806 5.83341 7.28379 5.99865L8.73267 6.38688C8.83294 6.01267 8.84258 5.62881 8.83593 5.30878C8.83257 5.14654 8.82431 4.98381 8.81768 4.84103C8.81081 4.69299 8.80556 4.56379 8.80556 4.4444H7.30556ZM5.27778 7.97218C5.39717 7.97218 5.52637 7.97744 5.67441 7.98431C5.81719 7.99093 5.97991 7.99919 6.14215 8.00256C6.46219 8.00921 6.84605 7.99957 7.22025 7.8993L6.83202 6.45041C6.66679 6.49469 6.45388 6.50871 6.1733 6.50288C6.03523 6.50002 5.89669 6.49301 5.74392 6.48592C5.59642 6.47908 5.4358 6.47218 5.27778 6.47218L5.27778 7.97218ZM13.25 13.9736V13.943H11.75V13.9736H13.25Z\"\r\n fill=\"var(--color-icon-success, #079455)\"\r\n />\r\n </svg>\r\n )}\r\n </div>\r\n <div class={`text ${this.state === 'disabled' ? 'disabled' : ''}`}>{this.type === 'pdf' ? <p class=\"text-sm-medium\">Export as PDF</p> : <p class=\"text-sm-medium\">Export as CSV</p>}</div>\r\n </div>\r\n <div class=\"arrow\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" class={`arrow_svg ${this.state === 'disabled' ? 'disabled' : ''}`}>\r\n <path\r\n d=\"M6.75004 4.5C6.75004 4.5 11.25 7.8142 11.25 9.00004C11.25 10.1859 6.75 13.5 6.75 13.5\"\r\n stroke=\"#4B5565\"\r\n stroke-width=\"1.5\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n }\r\n}","@import './../../global/global.css';\r\n\r\n.sub_dropdown_container{\r\n display: flex;\r\n padding: var(--spacing-half) var(--spacing-none);\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n width: 10.125rem;\r\n gap: var(--spacing-none);\r\n border-radius: var(--rounded-sm);\r\n border: 1px solid var(--color-border-subtler, #E3E8EF);\r\n background: var(--color-surface, #FFFFFF);\r\n box-shadow: var(--shadow-sm);\r\n}\r\n\r\n::slotted([slot=\"label_one\"]),\r\n::slotted([slot=\"label_two\"]),\r\n::slotted([slot=\"label_three\"]) {\r\n color: var(--color-text, #4B5565);\r\n}\r\n\r\n::slotted([slot=\"label\"].disabled),\r\n::slotted([slot=\"label_two\"].disabled),\r\n::slotted([slot=\"label_three\"].disabled) {\r\n color: var(--color-text-disabled, #CDD5DF);\r\n}","import { Component, Element, h, Prop } from \"@stencil/core\";\r\n\r\n@Component({\r\n tag: 'gb-export-sub-dropdown',\r\n styleUrl: 'gb-export-sub-dropdown.css',\r\n shadow: true,\r\n})\r\nexport class GbExportSubDropdown {\r\n @Prop() showEntireData: boolean = false;\r\n @Element() el: HTMLElement;\r\n\r\n componentDidLoad() {\r\n const labelOneSlot = this.el.querySelector('[slot=\"label_one\"]');\r\n const labelTwoSlot = this.el.querySelector('[slot=\"label_two\"]');\r\n const labelThreeSlot = this.el.querySelector('[slot=\"label_three\"]');\r\n\r\n if (labelOneSlot) {\r\n labelOneSlot.classList.add('text-sm-medium');\r\n labelTwoSlot.classList.add('text-sm-medium');\r\n labelThreeSlot.classList.add('text-sm-medium');\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n <div class={`sub_dropdown_container`}>\r\n {this.showEntireData && (\r\n <gb-export-sub-dropdown-item icon=\"assets/database.svg\">\r\n <slot name=\"label_one\" slot=\"label\"></slot>\r\n </gb-export-sub-dropdown-item>\r\n )}\r\n <gb-export-sub-dropdown-item icon=\"assets/laptop_gray.svg\">\r\n <slot name=\"label_two\" slot=\"label\"></slot>\r\n </gb-export-sub-dropdown-item>\r\n <gb-export-sub-dropdown-item icon=\"assets/filter-horizontal.svg\">\r\n <slot name=\"label_three\" slot=\"label\"></slot>\r\n </gb-export-sub-dropdown-item>\r\n </div>\r\n );\r\n }\r\n}","@import './../../global/global.css';\r\n\r\n:host{\r\n width: 100%;\r\n}\r\n\r\n.sub_dropdown_div{\r\n display: flex;\r\n padding: var(--spacing-1);\r\n align-items: center;\r\n}\r\n\r\n.sub_dropdown_div.disabled{\r\n cursor: not-allowed;\r\n pointer-events: none;\r\n}\r\n\r\n.content{\r\n display: flex;\r\n width: 100%;\r\n padding: var(--spacing-2);\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n gap: var(--spacing-2);\r\n flex: 1 0 0;\r\n border-radius: var(--rounded-xs);\r\n cursor: pointer;\r\n}\r\n\r\n.content:hover{\r\n background-color: var(--color-background-gray-subtler, #EEF2F6);\r\n}\r\n\r\n.content:active{\r\n background-color: var(--color-background-gray-subtle, #E3E8EF);\r\n}\r\n\r\n.icon{\r\n display: flex;\r\n align-items: center;\r\n}\r\n\r\n.text_and_suppporting_text{\r\n display: flex;\r\n align-items: center;\r\n gap: var(--spacing-2);\r\n align-self: stretch;\r\n}\r\n\r\n::slotted([slot=\"label\"]) {\r\n color: var(--color-text, #4B5565) !important;\r\n}\r\n\r\n::slotted([slot=\"label\"].disabled) {\r\n color: var(--color-text-disabled, #CDD5DF) !important;\r\n}","import { Component, Element, getAssetPath, h, Prop, State } from \"@stencil/core\";\r\n\r\n@Component({\r\n tag: 'gb-export-sub-dropdown-item',\r\n styleUrl: 'gb-export-sub-dropdown-item.css',\r\n shadow: true,\r\n})\r\nexport class GbExportSubDropdownItem {\r\n @Prop() icon: string = '';\r\n @Prop() state: 'default' | 'disabled';\r\n @State() leadingIconSvg: string = '';\r\n @Element() el: HTMLElement;\r\n\r\n async loadIcon(iconName: string) {\r\n const iconPath = getAssetPath(`${iconName}`);\r\n const response = await fetch(iconPath);\r\n const svg = await response.text();\r\n this.leadingIconSvg = svg;\r\n }\r\n\r\n componentDidLoad() {\r\n const labelSlot = this.el.querySelector('[slot=\"label\"]');\r\n\r\n if (labelSlot) {\r\n if (this.state === 'disabled') {\r\n labelSlot.classList.add('disabled');\r\n }\r\n\r\n labelSlot.classList.add('text-sm-medium');\r\n }\r\n\r\n this.loadIcon(this.icon)\r\n }\r\n\r\n render() {\r\n return (\r\n <div class={`sub_dropdown_div ${this.state === 'disabled' ? 'disabled' : ''}`}>\r\n <div class={`content`}>\r\n <div class={`text_and_suppporting_text`}>\r\n <div class={`icon ${this.state}`} innerHTML={this.leadingIconSvg}></div>\r\n <div class={`text`}>\r\n <slot name=\"label\"></slot>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n }\r\n}","@import '../../global/global.css';\r\n\r\n.filter_button_div{\r\n width: fit-content;\r\n position: relative;\r\n}\r\n\r\n.badge.applied{\r\n position: absolute;\r\n top: 0.5rem;\r\n right: -0.8rem;\r\n}","import { Component, Element, Prop, h } from '@stencil/core';\r\nimport { StateType } from '../../models/reusableModels';\r\n\r\n@Component({\r\n tag: 'gb-filter-button',\r\n styleUrl: 'gb-filter-button.css',\r\n shadow: true,\r\n})\r\nexport class GbFilterButton {\r\n @Prop() state: StateType;\r\n @Prop() iconOnly: boolean = false;\r\n @Element() el: HTMLElement;\r\n\r\n componentDidLoad() {\r\n const countSlot = this.el.querySelector('[slot=\"filter_count\"]');\r\n\r\n if(countSlot) {\r\n countSlot.classList.add('text-xs-medium');\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n <div class={`filter_button_div`}>\r\n <gb-button\r\n size=\"md\"\r\n state={this.state === 'disabled' ? 'disabled' : 'default'}\r\n hierarchy=\"secondary_gray\"\r\n icon={this.iconOnly ? 'only' : 'default'}\r\n icon-leading={true}\r\n icon-leading-swap=\"assets/filter-horizontal-stroke.svg\"\r\n >\r\n <p>Filter</p>\r\n </gb-button>\r\n {this.state === 'applied' && (\r\n <gb-badge size=\"sm\" type=\"pill_color\" color=\"error\" icon=\"false\" class={`badge ${this.state}`}>\r\n <slot name=\"filter_count\"></slot>\r\n </gb-badge>\r\n )}\r\n </div>\r\n );\r\n }\r\n}\r\n","@import '../../global/global.css';\r\n\r\n.header_div {\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n width: 100%;\r\n background: var(--color-surface, #ffffff);\r\n}\r\n\r\n.header_div.border {\r\n border-bottom: 0.7px solid var(--color-border-subtle, #cdd5df);\r\n}\r\n\r\n.content {\r\n display: flex;\r\n height: 4.5rem;\r\n padding: 0rem 2rem;\r\n justify-content: space-between;\r\n align-items: center;\r\n align-self: stretch;\r\n}\r\n\r\n.logo {\r\n display: block;\r\n}\r\n\r\n.icon_logo {\r\n display: none;\r\n}\r\n\r\n.header_logo {\r\n display: flex;\r\n align-items: center;\r\n gap: 0.69rem;\r\n}\r\n\r\n.inner_content {\r\n display: flex;\r\n justify-content: flex-end;\r\n align-items: center;\r\n gap: var(--spacing-4);\r\n flex: 1 0 0;\r\n position: relative;\r\n}\r\n\r\n.action {\r\n display: flex;\r\n gap: var(--spacing-2);\r\n}\r\n\r\n.search {\r\n width: 20rem;\r\n}\r\n\r\n.help,\r\n.notification {\r\n position: relative;\r\n}\r\n\r\n.avatar_dropdown {\r\n position: absolute;\r\n top: 110%;\r\n right: 0;\r\n z-index: 9999;\r\n}\r\n\r\n::slotted([slot='name'] p) {\r\n color: var(--color-text, #4b5565);\r\n width: 100%;\r\n overflow: hidden;\r\n white-space: nowrap;\r\n text-overflow: ellipsis;\r\n}\r\n\r\n::slotted([slot='supporting_text'] p) {\r\n color: var(--color-text-subtle, #697586);\r\n width: 100%;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n}\r\n\r\n.notification_dropdown {\r\n position: absolute;\r\n top: 110%;\r\n right: 0;\r\n z-index: 9999;\r\n}\r\n\r\n.help_dropdown {\r\n position: absolute;\r\n top: 110%;\r\n right: 0;\r\n z-index: 9999;\r\n}\r\n\r\n@media (max-width: 440px) {\r\n .content {\r\n padding: var(--spacing-none) var(--spacing-5);\r\n }\r\n}\r\n\r\n@media (max-width: 450px) {\r\n .logo {\r\n display: none;\r\n }\r\n\r\n .icon_logo {\r\n display: block;\r\n }\r\n}\r\n","import { Component, Element, Event, EventEmitter, getAssetPath, h, Prop, State, Listen } from '@stencil/core';\r\nimport { ColorTypes, DropdownListGroup, DropdownRoles, Notification, StateEnum } from '../../models/reusableModels';\r\n\r\n@Component({\r\n tag: 'gb-header',\r\n styleUrl: 'gb-header.css',\r\n shadow: true,\r\n})\r\nexport class GbHeader {\r\n @Prop() state: StateEnum;\r\n @Prop() showIndicator: boolean = false;\r\n @Prop() text: boolean = true;\r\n @Prop() placeholder: boolean = false;\r\n @Prop() color: ColorTypes = 'blue';\r\n @Prop() showBorder: boolean = true;\r\n @Prop() showNotification: boolean = false;\r\n @Prop() showHelp: boolean = false;\r\n @Prop() showLogo: boolean = false;\r\n @Prop() logo: string = '';\r\n @Prop() showSearch: boolean = false;\r\n @Prop() inputPlaceholder: string = '';\r\n @Prop() inputIcon: string = '';\r\n @Prop() avatarDropdownType: 'simple' | 'complex' = 'simple';\r\n @Prop() listGroupOne: DropdownListGroup[] = [\r\n // { label: 'View Profile', icon: 'assets/user.svg', shortcut: 'Ctrl K + P' },\r\n // { label: 'Documentation', icon: 'assets/book-open-02.svg', shortcut: 'Ctrl + T' },\r\n // { label: 'Support', icon: 'assets/customer-support.svg', shortcut: 'Ctrl + C' },\r\n ];\r\n @Prop() listGroupTwo: DropdownListGroup[] = [\r\n // { label: 'Configuration', icon: 'assets/user.svg', shortcut: 'Ctrl + S' },\r\n // { label: 'Team', icon: 'assets/book-open-02.svg', shortcut: 'Ctrl K + T' },\r\n // { label: 'Invite members', icon: 'assets/customer-support.svg', shortcut: 'Ctrl + I' },\r\n ];\r\n @Prop() showThemeTab: boolean = true;\r\n @Prop() showProfile: boolean = false;\r\n @Prop() showRoles: boolean = false;\r\n @Prop() roles: DropdownRoles[] = [\r\n // {\r\n // badgeLabel: 'Initiator',\r\n // badgeColor: 'information',\r\n // badgeType: 'badge_color',\r\n // },\r\n // {\r\n // badgeLabel: 'Authorizer',\r\n // badgeColor: 'success',\r\n // badgeType: 'badge_color',\r\n // },\r\n // {\r\n // badgeLabel: 'Viewer',\r\n // badgeColor: 'gray',\r\n // badgeType: 'badge_color',\r\n // },\r\n ];\r\n @Prop() showLogOut: boolean = false;\r\n @Prop() showLogError: boolean = false;\r\n @Prop() notificationState: 'empty' | 'notification_dropdown';\r\n @Prop({ mutable: true }) notifications: Notification[] = [\r\n // {\r\n // label: 'Flagged transaction',\r\n // time: 'Just now',\r\n // desc: 'Aisha, here is your weekly report',\r\n // icon: 'assets/arrow-right-02.svg',\r\n // },\r\n // {\r\n // label: 'Flagged transaction',\r\n // time: 'Just now',\r\n // desc: 'Aisha, here is your weekly report',\r\n // icon: 'assets/arrow-right-02.svg',\r\n // },\r\n // {\r\n // label: 'Flagged transaction',\r\n // time: 'Just now',\r\n // desc: 'Aisha, here is your weekly report',\r\n // icon: 'assets/arrow-right-02.svg',\r\n // },\r\n // {\r\n // label: 'Flagged transaction',\r\n // time: 'Just now',\r\n // desc: 'Aisha, here is your weekly report',\r\n // icon: 'assets/arrow-right-02.svg',\r\n // },\r\n // {\r\n // label: 'Flagged transaction',\r\n // time: 'Just now',\r\n // desc: 'Aisha, here is your weekly report',\r\n // icon: 'assets/arrow-right-02.svg',\r\n // },\r\n ];\r\n @State() avatarDropdownShown: boolean = false;\r\n @State() notificationDropdownShown: boolean = false;\r\n @State() helpDropdownShown: boolean = false;\r\n @State() initials: string = '';\r\n @Element() el: HTMLElement;\r\n @Event() navBarItemClicked: EventEmitter<string>;\r\n @Event() menuClicked: EventEmitter<void>;\r\n @Event() inputValueChanged: EventEmitter<string>;\r\n @Event() helpItemClicked: EventEmitter<string>;\r\n @Event() themeTabClicked: EventEmitter<string>;\r\n @Event() avatarDropdownItemClicked: EventEmitter<string>;\r\n\r\n avatarDropdown!: HTMLElement;\r\n notificationDropdown!: HTMLElement;\r\n helpDropdown!: HTMLElement;\r\n\r\n applyColorToInitials() {\r\n switch (this.color) {\r\n case 'gray':\r\n return 'gray';\r\n case 'blue':\r\n return 'blue';\r\n case 'cyan':\r\n return 'cyan';\r\n case 'pink':\r\n return 'pink';\r\n case 'purple':\r\n return 'purple';\r\n case 'green':\r\n return 'green';\r\n case 'yellow':\r\n return 'yellow';\r\n }\r\n }\r\n\r\n onSearch(item) {\r\n this.inputValueChanged.emit(item.detail);\r\n }\r\n\r\n componentDidLoad() {\r\n document.addEventListener('click', this.handleClickOutside);\r\n\r\n const name = this.el.querySelector(\"[slot='name']\");\r\n const supportingText = this.el.querySelector(\"[slot='supporting_text']\");\r\n const initials = this.el.querySelector(\"[slot='initials']\");\r\n\r\n if (initials) {\r\n initials.classList.add('text-md-semi-bold');\r\n initials.classList.add(this.applyColorToInitials());\r\n }\r\n\r\n if (name) {\r\n name.classList.add('text-sm-semi-bold');\r\n }\r\n\r\n if (supportingText) {\r\n supportingText.classList.add('text-sm-regular');\r\n }\r\n }\r\n\r\n componentWillLoad() {\r\n const initials = this.el.querySelector(\"[slot='initials']\");\r\n\r\n if (initials) {\r\n this.initials = initials.textContent;\r\n }\r\n }\r\n\r\n helpDropdownItemClicked(item) {\r\n this.helpItemClicked.emit(item.detail);\r\n }\r\n\r\n onThemeTabClicked(tab) {\r\n this.themeTabClicked.emit(tab.detail);\r\n }\r\n\r\n onAvatarDropdownItemClicked(item) {\r\n console.log(item.detail);\r\n this.avatarDropdownItemClicked.emit(item.detail);\r\n }\r\n\r\n onNotificationDropdownItemClicked(item) {\r\n console.log(item.detail);\r\n // this.avatarDropdownItemClicked.emit(item.detail);\r\n }\r\n\r\n @Listen('click', { target: 'document' })\r\n handleClickOutside(event: MouseEvent) {\r\n if (this.avatarDropdownShown && !this.el.contains(event.target as Node)) {\r\n this.avatarDropdownShown = false;\r\n }\r\n\r\n if (this.helpDropdownShown && !this.el.contains(event.target as Node)) {\r\n this.helpDropdownShown = false;\r\n }\r\n\r\n if (this.notificationDropdownShown && !this.el.contains(event.target as Node)) {\r\n this.notificationDropdownShown = false;\r\n }\r\n }\r\n\r\n renderLogo() {\r\n const logo = this.el.querySelector('[slot=\"logo\"]');\r\n const logoSrc = getAssetPath(`assets/globus_bank_logo.svg`);\r\n\r\n if (logo) {\r\n return <slot name=\"logo\"></slot>;\r\n } else {\r\n return (\r\n <div class=\"header_logo\">\r\n <img src={logoSrc} alt=\"\" />\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"117\" height=\"17\" viewBox=\"0 0 117 17\" fill=\"none\">\r\n <path\r\n fill-rule=\"evenodd\"\r\n clip-rule=\"evenodd\"\r\n d=\"M55.977 12.6264C56.3596 13.1025 56.8394 13.4915 57.3843 13.7674C57.9292 14.0434 58.5268 14.1998 59.137 14.2264C59.3682 14.2276 59.5989 14.2038 59.825 14.1554C60.0203 14.1134 60.2068 14.0376 60.376 13.9314C60.5266 13.8276 60.6514 13.6908 60.741 13.5314C60.8332 13.3494 60.8789 13.1473 60.874 12.9434C60.8797 12.7871 60.8427 12.6322 60.767 12.4954C60.6928 12.3641 60.5948 12.2478 60.478 12.1524C60.3548 12.0522 60.2206 11.9663 60.078 11.8964C59.9369 11.8205 59.7898 11.7567 59.638 11.7054C59.365 11.6054 59.092 11.4954 58.821 11.4054C58.55 11.3154 58.285 11.2194 58.009 11.1054C57.856 11.0544 57.668 10.9864 57.454 10.9054C57.2189 10.8192 56.9891 10.7191 56.766 10.6054C56.5267 10.4828 56.2967 10.3428 56.078 10.1864C55.8479 10.0188 55.6411 9.82143 55.463 9.59936C55.2755 9.3641 55.1254 9.10136 55.018 8.82037C54.8987 8.50077 54.841 8.16145 54.848 7.82037C54.8385 7.38435 54.9601 6.95552 55.197 6.58938C55.4368 6.22409 55.7548 5.91665 56.128 5.68935C56.5352 5.44285 56.9786 5.26199 57.442 5.15337C57.9371 5.03187 58.4452 4.9714 58.955 4.97335C59.7154 4.96345 60.4735 5.05835 61.208 5.25536C61.883 5.44235 62.5133 5.76379 63.061 6.20037L61.881 7.97738C61.675 7.77738 61.475 7.59837 61.276 7.43737C61.0823 7.28066 60.8736 7.14333 60.653 7.02737C60.4242 6.91238 60.1825 6.82509 59.933 6.76736C59.6405 6.70771 59.3425 6.67923 59.044 6.68237C58.8003 6.6793 58.5576 6.71302 58.324 6.78237C58.1425 6.83794 57.973 6.92678 57.824 7.04437C57.7018 7.14787 57.6053 7.27829 57.542 7.42538C57.4813 7.5669 57.4503 7.71939 57.451 7.87338C57.4479 8.03229 57.4929 8.18844 57.58 8.32137C57.6712 8.45192 57.7854 8.56477 57.917 8.65438C58.0598 8.75308 58.2135 8.83495 58.375 8.89837C58.549 8.96737 58.724 9.03036 58.903 9.08737C59.183 9.18737 59.467 9.28736 59.749 9.37936C60.031 9.47136 60.313 9.57035 60.592 9.66735C60.731 9.72035 60.902 9.77936 61.104 9.85336C61.3158 9.93021 61.522 10.0218 61.721 10.1274C61.945 10.2432 62.1576 10.3798 62.356 10.5354C62.571 10.6981 62.7616 10.8907 62.922 11.1074C63.0947 11.347 63.2296 11.6118 63.322 11.8924C63.4341 12.2242 63.4876 12.5731 63.48 12.9234C63.4886 13.3821 63.3593 13.8329 63.109 14.2174C62.8572 14.5968 62.5255 14.9167 62.137 15.1544C61.711 15.4162 61.2468 15.6099 60.761 15.7284C60.2447 15.8581 59.7143 15.923 59.182 15.9214C58.7286 15.9217 58.2755 15.896 57.825 15.8444C57.4131 15.7956 57.0069 15.7072 56.612 15.5804C56.2266 15.4585 55.8573 15.2906 55.512 15.0804C55.152 14.8574 54.8226 14.5884 54.532 14.2804L55.977 12.6264ZM46.023 5.15136V12.3824C46.0171 12.6297 46.0603 12.8758 46.15 13.1064C46.2233 13.2937 46.3378 13.4622 46.485 13.5994C46.6276 13.7299 46.7989 13.8251 46.985 13.8774C47.1837 13.9372 47.3905 13.9659 47.598 13.9624C48.1129 13.9605 48.6258 13.9001 49.127 13.7824C49.6297 13.6726 50.1117 13.4836 50.555 13.2224V5.14636H53.165V13.8624C53.1705 14.1064 53.1909 14.3498 53.226 14.5914C53.262 14.9064 53.326 15.2774 53.403 15.7014H50.93C50.916 15.6614 50.893 15.5894 50.866 15.4774C50.839 15.3654 50.805 15.2534 50.772 15.1304C50.739 15.0074 50.715 14.8904 50.687 14.7814C50.6662 14.7 50.6501 14.6176 50.639 14.5344C50.4019 14.7386 50.1461 14.9201 49.875 15.0764C49.5915 15.2448 49.2941 15.3887 48.986 15.5064C48.6826 15.626 48.3695 15.719 48.05 15.7844C47.7544 15.8493 47.4527 15.8828 47.15 15.8844C46.5406 15.9045 45.9328 15.8088 45.359 15.6024C44.9281 15.4446 44.5423 15.1836 44.2355 14.8422C43.9287 14.5009 43.7102 14.0897 43.599 13.6444C43.4774 13.1714 43.4179 12.6847 43.422 12.1964V5.14938L46.023 5.15136ZM34.173 14.0344C34.4914 14.1402 34.8178 14.2205 35.149 14.2744C35.5278 14.3366 35.9111 14.368 36.295 14.3684C36.6865 14.3713 37.0725 14.2764 37.418 14.0924C37.7682 13.8978 38.0679 13.6238 38.293 13.2924C38.5589 12.9056 38.7546 12.4751 38.871 12.0204C39.0127 11.4651 39.0799 10.8934 39.071 10.3204C39.0745 9.84945 39.0238 9.37971 38.92 8.92037C38.8359 8.53264 38.6762 8.1653 38.45 7.83938C38.2415 7.54414 37.9623 7.30585 37.638 7.14636C37.2658 6.97548 36.8594 6.89203 36.45 6.90237C36.2347 6.90349 36.0196 6.91785 35.806 6.94537C35.591 6.97637 35.384 7.01636 35.183 7.06536C34.9916 7.11019 34.8033 7.16699 34.619 7.23537C34.4596 7.29532 34.3062 7.37033 34.161 7.45937L34.173 14.0344ZM31.573 0.395379H34.173V5.94637C34.5815 5.64458 35.0369 5.41212 35.521 5.25835C36.0793 5.07415 36.6641 4.98329 37.252 4.98937C37.9775 4.97144 38.697 5.12493 39.352 5.43737C39.9085 5.71759 40.3919 6.12367 40.764 6.62338C41.1391 7.13643 41.4108 7.71756 41.564 8.33437C41.7346 8.99307 41.82 9.67094 41.818 10.3514C41.8392 11.1967 41.6831 12.037 41.36 12.8184C41.081 13.474 40.6682 14.0643 40.148 14.5514C39.6578 15.003 39.0812 15.3507 38.453 15.5734C37.838 15.79 37.1911 15.9022 36.539 15.9054C36.0383 15.9054 35.5797 15.9 35.163 15.8894C34.744 15.8774 34.338 15.8644 33.951 15.8464C33.564 15.8284 33.173 15.7994 32.791 15.7614C32.409 15.7234 32.007 15.6784 31.591 15.6234L31.573 0.395379ZM24.573 14.2164C24.984 14.2278 25.3873 14.103 25.72 13.8614C26.0497 13.616 26.3187 13.2982 26.506 12.9324C26.7225 12.5243 26.8769 12.0861 26.964 11.6324C27.066 11.1494 27.1166 10.657 27.115 10.1634C27.1164 9.72126 27.0718 9.28025 26.982 8.84737C26.9009 8.46194 26.7494 8.09478 26.535 7.76437C26.3324 7.45791 26.0577 7.20585 25.735 7.03036C25.3682 6.83692 24.9575 6.74183 24.543 6.75436C24.1538 6.74764 23.7699 6.845 23.431 7.03637C23.1073 7.23018 22.8334 7.49693 22.631 7.81536C22.4048 8.17634 22.2412 8.57292 22.147 8.98837C21.9311 9.90171 21.9243 10.852 22.127 11.7684C22.216 12.194 22.3705 12.6032 22.585 12.9814C22.7843 13.3379 23.0607 13.6453 23.394 13.8814C23.7431 14.1127 24.1554 14.2301 24.574 14.2174L24.573 14.2164ZM24.66 15.9734C23.8645 15.9875 23.0734 15.8518 22.328 15.5734C21.6834 15.3259 21.1025 14.937 20.628 14.4354C20.1558 13.9225 19.7994 13.3141 19.583 12.6514C19.335 11.9037 19.2134 11.12 19.223 10.3324C19.2197 9.63472 19.3305 8.94126 19.551 8.27938C19.7645 7.63603 20.1153 7.04677 20.5791 6.55242C21.0429 6.05807 21.6086 5.67044 22.237 5.41637C22.9955 5.11592 23.8064 4.97038 24.622 4.98837C25.43 4.96837 26.2335 5.11404 26.983 5.41637C27.6091 5.68005 28.1666 6.0833 28.613 6.59536C29.0478 7.1081 29.3694 7.70683 29.557 8.35238C29.7617 9.05529 29.8627 9.7843 29.857 10.5164C29.8615 11.2376 29.7414 11.9541 29.502 12.6344C29.2754 13.2745 28.9255 13.864 28.472 14.3694C28.0128 14.8682 27.4555 15.2669 26.835 15.5404C26.1487 15.8353 25.4079 15.9818 24.661 15.9704L24.66 15.9734ZM14.302 0.394372H16.902V13.1564C16.8789 13.4015 16.9368 13.6474 17.067 13.8564C17.1212 13.9252 17.191 13.9801 17.2706 14.0167C17.3503 14.0532 17.4375 14.0702 17.525 14.0664C17.7153 14.0716 17.9048 14.0415 18.084 13.9774C18.237 13.9214 18.417 13.8494 18.615 13.7774L19.055 15.0844C18.8809 15.2024 18.6984 15.3077 18.509 15.3994C18.3094 15.4997 18.1032 15.5865 17.892 15.6594C17.672 15.7336 17.4475 15.794 17.22 15.8404C16.9934 15.8855 16.763 15.9086 16.532 15.9094C16.2533 15.9095 15.9753 15.8797 15.703 15.8204C15.4428 15.7656 15.1996 15.6489 14.994 15.4804C14.7726 15.2971 14.6007 15.0612 14.494 14.7944C14.3574 14.4324 14.2942 14.047 14.308 13.6604L14.302 0.394372ZM12.602 14.6814C12.239 14.8724 11.868 15.0444 11.485 15.2064C11.0739 15.377 10.6508 15.517 10.219 15.6254C9.71274 15.7511 9.19858 15.8427 8.68001 15.8994C8.03877 15.9693 7.39406 16.0027 6.74901 15.9994C6.02384 16.0081 5.30187 15.9018 4.61001 15.6844C3.40238 15.3004 2.35048 14.5377 1.61001 13.5094C1.24144 13.0029 0.939006 12.4514 0.710011 11.8684C0.468973 11.2677 0.289379 10.6442 0.174001 10.0074C0.0576192 9.35516 -0.000605498 8.69388 4.74727e-06 8.03137C0.000633892 7.33814 0.0726773 6.64683 0.215001 5.96838C0.349412 5.31408 0.556361 4.67679 0.832006 4.06835C1.10146 3.48093 1.44454 2.9302 1.853 2.42938C2.67554 1.41797 3.78369 0.67779 5.03301 0.305352C5.72268 0.0959449 6.44028 -0.0069001 7.161 0.000359076C7.54 0.000359076 7.88701 0.012372 8.20301 0.032372C8.49632 0.0492166 8.78846 0.0826091 9.07801 0.132378C9.34144 0.177448 9.60066 0.244327 9.853 0.33236C10.107 0.419187 10.3543 0.52447 10.593 0.647362C10.8609 0.782467 11.1192 0.935843 11.366 1.10638C11.6327 1.28438 11.9263 1.49435 12.247 1.73635L10.797 3.68838C10.4912 3.41105 10.1686 3.15288 9.83101 2.91537C9.55631 2.72032 9.26083 2.55631 8.95 2.42635C8.66096 2.30636 8.35893 2.22046 8.05001 2.17037C7.70771 2.11985 7.362 2.0961 7.01601 2.09936C6.40137 2.08829 5.79444 2.23754 5.25501 2.53237C4.73856 2.82694 4.29629 3.23569 3.96201 3.72738C3.59548 4.26897 3.32706 4.87079 3.16901 5.50536C2.98332 6.22376 2.89254 6.9634 2.89901 7.70538C2.89341 8.4936 2.97049 9.28022 3.129 10.0524C3.26457 10.7479 3.51573 11.4158 3.87201 12.0284C4.19608 12.5805 4.64638 13.0479 5.18601 13.3924C5.76832 13.7417 6.43821 13.9176 7.11701 13.8994C7.33906 13.9036 7.56116 13.8939 7.782 13.8704C8.018 13.8414 8.25401 13.8234 8.49601 13.7874C8.73801 13.7514 8.972 13.7084 9.202 13.6594C9.432 13.6104 9.64401 13.5594 9.84601 13.5094V8.32836H12.595L12.602 14.6814Z\"\r\n fill=\"var(--color-text-brandDarkBlue, #212C65)\"\r\n />\r\n <path\r\n fill-rule=\"evenodd\"\r\n clip-rule=\"evenodd\"\r\n d=\"M109.442 9.51028L113.077 5.4953H116.426L111.367 10.3453L116.755 16.3633H113.547L109.447 11.6633V16.3633H106.768V0.58728H109.447L109.442 9.51028ZM94.8709 7.3573C94.8709 7.1413 94.871 6.86529 94.852 6.52429C94.8439 6.1785 94.8071 5.83398 94.742 5.49429H97.2649C97.2894 5.55963 97.3098 5.62644 97.326 5.69431C97.345 5.77631 97.3659 5.86929 97.3919 5.96429C97.4179 6.05929 97.4369 6.16428 97.4549 6.26428C97.4729 6.36428 97.486 6.46428 97.5 6.55228C97.687 6.38781 97.8877 6.23961 98.0999 6.10928C98.6115 5.78686 99.1757 5.55704 99.7669 5.4303C100.1 5.35753 100.44 5.32132 100.781 5.3223C101.328 5.31866 101.872 5.40723 102.39 5.58429C102.869 5.74685 103.312 6.00393 103.69 6.3403C104.063 6.67744 104.36 7.08984 104.562 7.55029C104.781 8.06212 104.89 8.61452 104.881 9.1713V16.3713H102.196V9.6713C102.203 9.29813 102.158 8.9258 102.061 8.56528C101.986 8.29345 101.849 8.04279 101.661 7.83328C101.484 7.64715 101.263 7.50943 101.018 7.43329C100.734 7.34463 100.438 7.30144 100.141 7.3053C99.9337 7.30661 99.7268 7.32297 99.5219 7.35428C99.2943 7.38247 99.069 7.42726 98.8479 7.48828C98.6183 7.5484 98.392 7.6205 98.17 7.70428C97.9553 7.77835 97.7466 7.86895 97.5459 7.97528V16.3753H94.8689L94.8709 7.3573ZM89.354 10.6903C88.693 10.7039 88.0352 10.7877 87.3919 10.9403C86.9571 11.0391 86.5446 11.2185 86.1759 11.4693C85.8984 11.6587 85.6811 11.9239 85.55 12.2333C85.4322 12.5398 85.3738 12.866 85.378 13.1943C85.3692 13.4439 85.403 13.6931 85.4779 13.9313C85.5355 14.1106 85.6361 14.273 85.771 14.4043C85.9046 14.5271 86.0668 14.6145 86.243 14.6583C86.4338 14.7108 86.631 14.7364 86.8289 14.7343C87.0219 14.7343 87.219 14.7223 87.419 14.7063C87.6305 14.6839 87.8398 14.6444 88.045 14.5883C88.266 14.5295 88.4818 14.4522 88.69 14.3573C88.9221 14.2504 89.144 14.1225 89.3529 13.9753L89.354 10.6903ZM82.841 6.9743C83.4506 6.43993 84.1574 6.02806 84.9229 5.76129C85.735 5.46771 86.5924 5.31913 87.456 5.3223C88.0356 5.3199 88.6134 5.38703 89.177 5.52228C89.6953 5.64191 90.1898 5.84778 90.6399 6.13129C91.0583 6.40027 91.4075 6.76412 91.659 7.1933C91.9212 7.66192 92.0524 8.19246 92.039 8.72928V13.5793C92.0359 13.7771 92.0499 13.9749 92.081 14.1703C92.0978 14.3025 92.1446 14.429 92.2179 14.5403C92.2808 14.6292 92.369 14.6971 92.471 14.7353C92.5948 14.7743 92.7242 14.7923 92.854 14.7883C92.9578 14.7841 93.0613 14.7741 93.164 14.7583C93.322 14.7363 93.466 14.7133 93.596 14.6893L93.885 15.8443C93.72 15.9443 93.553 16.0353 93.38 16.1263C93.2023 16.2182 93.0173 16.2955 92.8269 16.3573C92.6192 16.4261 92.4066 16.4793 92.1909 16.5163C91.9393 16.5572 91.6849 16.578 91.43 16.5783C90.9747 16.5916 90.5257 16.4694 90.1399 16.2273C89.9688 16.1147 89.822 15.969 89.708 15.7988C89.594 15.6286 89.515 15.4374 89.4759 15.2363C89.2019 15.4862 88.8999 15.7037 88.576 15.8843C88.2804 16.0533 87.9684 16.192 87.6449 16.2983C87.3372 16.399 87.0209 16.4713 86.6999 16.5143C86.3981 16.5528 86.0942 16.5735 85.7899 16.5763C85.333 16.5793 84.8783 16.5135 84.4409 16.3813C84.0636 16.2663 83.7154 16.0716 83.42 15.8103C83.1354 15.5561 82.913 15.24 82.7699 14.8863C82.6093 14.4719 82.5296 14.0307 82.5349 13.5863C82.5244 13.0864 82.6134 12.5894 82.797 12.1243C82.9638 11.7188 83.2106 11.3511 83.5229 11.0433C83.8465 10.733 84.2205 10.4801 84.6289 10.2953C85.0769 10.0896 85.5465 9.93463 86.029 9.83328C86.556 9.71543 87.0906 9.63457 87.6289 9.59128C88.1916 9.54528 88.7643 9.52228 89.347 9.52228V9.13028C89.3559 8.81548 89.3046 8.50188 89.196 8.2063C89.1028 7.96802 88.9568 7.75397 88.769 7.58029C88.5772 7.41846 88.3542 7.29763 88.1139 7.22528C87.8398 7.1455 87.5554 7.10642 87.2699 7.10928C87.021 7.10712 86.7724 7.12957 86.5279 7.1763C86.2826 7.22239 86.0443 7.30002 85.8189 7.40729C85.5603 7.53109 85.3142 7.67943 85.084 7.85028C84.7873 8.07003 84.5041 8.30746 84.2359 8.56128L82.841 6.9743ZM73.27 2.62628V7.3053H74.77C75.2355 7.31174 75.7001 7.26475 76.1549 7.16528C76.5333 7.08847 76.8941 6.94197 77.219 6.73328C77.5016 6.54416 77.7328 6.28785 77.8919 5.9873C78.0558 5.65844 78.1371 5.29461 78.1289 4.92728C78.1359 4.5799 78.0765 4.23441 77.9539 3.9093C77.8334 3.61742 77.6274 3.36884 77.3629 3.19629C77.0275 2.98493 76.6537 2.84156 76.263 2.77429C75.705 2.67186 75.1382 2.62464 74.571 2.6333L73.27 2.62628ZM73.27 9.33929V14.3393H75.4419C75.9397 14.3493 76.4358 14.2783 76.9109 14.1293C77.2868 14.0087 77.6365 13.8184 77.9419 13.5683C78.1976 13.3579 78.4026 13.0927 78.542 12.7923C78.6704 12.5222 78.7387 12.2274 78.742 11.9283C78.7423 11.585 78.6743 11.2451 78.542 10.9283C78.4091 10.6098 78.2008 10.3284 77.935 10.1083C77.6222 9.85665 77.2635 9.66817 76.8789 9.55328C76.3764 9.40636 75.8544 9.3369 75.331 9.34729L73.27 9.33929ZM75.5929 0.58728C76.3348 0.57908 77.0745 0.668854 77.7929 0.854279C78.3878 1.00832 78.9499 1.26888 79.4519 1.62329C79.8961 1.9476 80.2585 2.37119 80.51 2.86029C80.7629 3.38432 80.889 3.96052 80.878 4.5423C80.88 4.93957 80.7993 5.33292 80.641 5.6973C80.4802 6.07453 80.26 6.4236 79.9889 6.73129C79.708 7.04844 79.3819 7.32238 79.021 7.54428C78.6554 7.77312 78.2572 7.9451 77.8399 8.05429C78.2862 8.13489 78.721 8.2692 79.135 8.45428C79.582 8.65138 79.993 8.92179 80.3509 9.2543C80.7289 9.59946 81.0372 10.0139 81.2589 10.4753C81.5061 10.998 81.6277 11.5712 81.6139 12.1493C81.6124 12.6915 81.4898 13.2266 81.255 13.7153C81.0007 14.2375 80.6343 14.697 80.182 15.0613C79.66 15.4835 79.0628 15.8031 78.422 16.0033C77.6359 16.2543 76.8139 16.3742 75.9889 16.3583H70.429V0.581299L75.5929 0.58728Z\"\r\n fill=\"var(--color-text-brandDarkBlue, #212C65)\"\r\n />\r\n </svg>\r\n </div>\r\n );\r\n }\r\n }\r\n\r\n disconnectedCallback() {\r\n document.removeEventListener('click', this.handleClickOutside);\r\n }\r\n\r\n render() {\r\n const helpIconSrc = getAssetPath(`assets/help-circle.svg`);\r\n const notificationIconSrc = getAssetPath(`assets/notification-03.svg`);\r\n\r\n return (\r\n <div class={`header_div ${this.showBorder ? 'border' : ''}`}>\r\n <div class=\"content\">\r\n {this.renderLogo()}\r\n <div class=\"inner_content\">\r\n <div class={`action`}>\r\n {this.showSearch && (\r\n <div class=\"search\">\r\n <gb-input-field\r\n size=\"sm\"\r\n state=\"default\"\r\n type=\"icon_leading\"\r\n enable-cancel-button-function={true}\r\n placeholder={this.inputPlaceholder}\r\n icon-swap={this.inputIcon}\r\n onInputValueChanged={this.onSearch.bind(this)}\r\n ></gb-input-field>\r\n </div>\r\n )}\r\n {this.showHelp && (\r\n <div class=\"help\">\r\n <gb-header-icon\r\n state={StateEnum.Default}\r\n icon={helpIconSrc}\r\n onClick={() => (this.helpDropdownShown = !this.helpDropdownShown)}\r\n class=\"help_button\"\r\n ></gb-header-icon>\r\n {this.helpDropdownShown && (\r\n <gb-help-dropdown class=\"help_dropdown\" show-log-error={this.showLogError} onHelpItemClicked={this.helpDropdownItemClicked.bind(this)}></gb-help-dropdown>\r\n )}\r\n </div>\r\n )}\r\n {this.showNotification && (\r\n <div class=\"notification\">\r\n <gb-header-icon\r\n state={this.state}\r\n icon={notificationIconSrc}\r\n show-indicator={this.showIndicator}\r\n onClick={() => (this.notificationDropdownShown = !this.notificationDropdownShown)}\r\n ></gb-header-icon>\r\n {this.notificationDropdownShown && (\r\n <gb-notification-pane state={this.notificationState} class=\"notification_dropdown\" notifications={this.notifications}>\r\n <p slot=\"label\">No notification</p>\r\n <p slot=\"supporting_text\">Your notification inbox is empty at the moment. Rest assured, you'll be promptly notified of any new events</p>\r\n </gb-notification-pane>\r\n )}\r\n </div>\r\n )}\r\n </div>\r\n <gb-avatar\r\n size=\"md\"\r\n text={this.text}\r\n placeholder={this.placeholder}\r\n color={this.color}\r\n show-border={this.showBorder}\r\n onClick={() => (this.avatarDropdownShown = !this.avatarDropdownShown)}\r\n >\r\n {this.text ? <slot slot=\"initials\" name=\"initials\"></slot> : <slot name=\"image\" slot=\"image\"></slot>}\r\n </gb-avatar>\r\n {this.avatarDropdownShown && (\r\n <gb-avatar-dropdown\r\n ref={el => (this.avatarDropdown = el)}\r\n class=\"avatar_dropdown\"\r\n type={this.avatarDropdownType}\r\n show-theme-tab={this.showThemeTab}\r\n show-profile={this.showProfile}\r\n show-log-out={this.showLogOut}\r\n listGroupOne={this.listGroupOne}\r\n listGroupTwo={this.listGroupTwo}\r\n color={this.color}\r\n roles={this.roles}\r\n show-roles={this.showRoles}\r\n current-theme=\"light\"\r\n onThemeTabClicked={this.onThemeTabClicked.bind(this)}\r\n onItemClicked={this.onAvatarDropdownItemClicked.bind(this)}\r\n >\r\n <slot slot=\"name\" name=\"name\"></slot>\r\n <slot slot=\"supporting_text\" name=\"supporting_text\"></slot>\r\n <h1 slot=\"initials\" class={`text-md-semi-bold`}>\r\n {this.initials}\r\n </h1>\r\n </gb-avatar-dropdown>\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n }\r\n}\r\n","@import './../../global/global.css';\r\n\r\n:host {\r\n position: relative;\r\n}\r\n\r\nsvg {\r\n width: var(--spacing-5);\r\n height: var(--spacing-5);\r\n}\r\n\r\n.background.default{\r\n width: var(--spacing-8);\r\n height: var(--spacing-8);\r\n background-color: transparent;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n border-radius: var(--rounded-sm);\r\n}\r\n\r\n.background:hover {\r\n background-color: var(--color-background-gray-subtler, #EEF2F6);\r\n cursor: pointer;\r\n}\r\n\r\n.background:active {\r\n background-color: var(--color-background-gray-subtle, #E3E8EF);\r\n}\r\n\r\n.background.disabled:hover{\r\n cursor: not-allowed;\r\n background: none;\r\n}\r\n\r\n.red_dot {\r\n width: 0.52rem;\r\n height: var(--spacing-2);\r\n border-radius: var(--rounded-full);\r\n background-color: var(--color-icon-brandRed, #E21B2E);\r\n border: 2px solid var(--color-surface, #FFFFFF);\r\n position: absolute;\r\n top: 0.6rem;\r\n left: 1.2rem;\r\n}\r\n\r\n.icon.default path[stroke] {\r\n stroke: var(--color-icon, #4B5565);\r\n}\r\n\r\n.icon.default path[fill] {\r\n fill: var(--color-icon, #4B5565);\r\n}","import { Component, h, Prop, Fragment, State, getAssetPath } from '@stencil/core';\r\nimport { StateEnum } from '../../models/reusableModels';\r\n\r\n@Component({\r\n tag: 'gb-header-icon',\r\n styleUrl: 'gb-header-icon.css',\r\n shadow: true,\r\n})\r\nexport class GbHeaderIcon {\r\n @Prop() state: StateEnum;\r\n @Prop() showIndicator: boolean = false;\r\n @Prop() icon: string = '';\r\n @State() leadingIconSvg: string = '';\r\n\r\n async loadIcon(iconName: string) {\r\n const iconPath = getAssetPath(`${iconName}`);\r\n const response = await fetch(iconPath);\r\n const svg = await response.text();\r\n\r\n const parser = new DOMParser();\r\n const svgDoc = parser.parseFromString(svg, 'image/svg+xml');\r\n const svgElement = svgDoc.documentElement;\r\n\r\n // Add `has-opacity` class to all elements that have an opacity attribute\r\n const elementsWithOpacity = svgElement.querySelectorAll('[opacity]');\r\n elementsWithOpacity.forEach(el => {\r\n el.classList.add('has_opacity');\r\n });\r\n\r\n // Serialize and store\r\n const modifiedSvg = svgElement.outerHTML;\r\n // console.log(modifiedSvg)\r\n this.leadingIconSvg = modifiedSvg;\r\n }\r\n\r\n componentWillLoad() {\r\n this.loadIcon(this.icon);\r\n }\r\n\r\n render() {\r\n return (\r\n <div class={`background ${this.state}`}>\r\n <div class={`icon ${this.state === StateEnum.Default ? 'default' : this.state === StateEnum.Disabled ? 'disabled' : ''}`} innerHTML={this.leadingIconSvg}></div>\r\n <>{this.showIndicator && <div class=\"red_dot\"></div>}</>\r\n </div>\r\n );\r\n }\r\n}\r\n","@import '../../global/global.css';\r\n\r\n.dropdown-container {\r\n display: flex;\r\n width: 13.3125rem;\r\n padding: var(--spacing-half) 0;\r\n flex-direction: column;\r\n justify-content: center;\r\n gap: var(--spacing-half);\r\n border-radius: var(--rounded-sm);\r\n border: 1px solid var(--color-border-subtler, #E3E8EF);\r\n background: var(--color-surface, #FFFFFF);\r\n box-shadow: var(--shadow-sm);\r\n}\r\n\r\n.user_guide,\r\n.bug,\r\n.log_error{\r\n width: 96.5%;\r\n}\r\n\r\ngb-dropdown-items-with-shortcut {\r\n width: fit-content;\r\n max-width: 100%;\r\n}\r\n\r\ngb-dropdown-items-with-shortcut.shortcut-container {\r\n width: 205px;\r\n}","import {Component, Event, EventEmitter, Prop, h } from '@stencil/core';\r\n\r\n@Component({\r\n tag: 'gb-help-dropdown',\r\n styleUrl: 'gb-help-dropdown.css',\r\n shadow: true\r\n})\r\n\r\nexport class GbHelpDropdown {\r\n @Prop() showLogError: boolean;\r\n @Event() helpItemClicked: EventEmitter<string>;\r\n\r\n onHelpItemClicked(item: string) {\r\n this.helpItemClicked.emit(item)\r\n }\r\n\r\n render(){\r\n return (\r\n <div class=\"dropdown-container\">\r\n <div class=\"user_guide\">\r\n <gb-dropdown-items-with-shortcut\r\n icon\r\n iconSrc=\"assets/book_open.svg\"\r\n label=\"Download user guide\"\r\n onClick={() => this.onHelpItemClicked('download_user_guide')}\r\n ></gb-dropdown-items-with-shortcut>\r\n </div>\r\n <div class=\"bug\">\r\n <gb-dropdown-items-with-shortcut\r\n icon\r\n iconSrc=\"assets/bug_02.svg\"\r\n label=\"Report a bug\"\r\n onClick={() => this.onHelpItemClicked('report_a_bug')}\r\n ></gb-dropdown-items-with-shortcut>\r\n </div>\r\n {this.showLogError && (\r\n <div class=\"log_error\">\r\n <gb-dropdown-items-with-shortcut\r\n icon\r\n iconSrc=\"assets/alert_02.svg\"\r\n label=\"Log a profile error\"\r\n onClick={() => this.onHelpItemClicked('log_a_profile_error')}\r\n ></gb-dropdown-items-with-shortcut>\r\n </div>\r\n )}\r\n </div>\r\n );\r\n }\r\n}","@import './../../global/global.css';\r\n\r\n.help_tooltip{\r\n display: flex;\r\n position: relative;\r\n width: fit-content;\r\n height: fit-content;\r\n}\r\n\r\n.tooltip{\r\n position: absolute;\r\n top: -7rem;\r\n right: 5.75rem;\r\n}","import { Component, Prop, h, State, Element } from \"@stencil/core\";\r\n\r\n@Component({\r\n tag: 'gb-help-tooltip',\r\n styleUrl: 'gb-help-tooltip.css',\r\n shadow: true,\r\n})\r\nexport class GbHelpTooltip {\r\n @State() showHelpTooltip: boolean = false;\r\n @Prop() showArrow: boolean = false;\r\n @Prop() showSupportingText: boolean = false;\r\n @Element() el: HTMLElement;\r\n\r\n componentDidLoad() {\r\n const mainTextSlot = this.el.querySelector('[slot=\"label\"]');\r\n const supportingTextSlot = this.el.querySelector('[slot=\"supporting_text\"]');\r\n\r\n if (mainTextSlot) {\r\n mainTextSlot.classList.add('text-xs-semi-bold');\r\n }\r\n\r\n if (supportingTextSlot) {\r\n supportingTextSlot.classList.add('text-xs-regular');\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n <div class={`help_tooltip`}>\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"16\"\r\n height=\"16\"\r\n viewBox=\"0 0 16 16\"\r\n fill=\"none\"\r\n onMouseEnter={() => (this.showHelpTooltip = true)}\r\n onMouseLeave={() => (this.showHelpTooltip = false)}\r\n class=\"help_circle\"\r\n >\r\n <path\r\n d=\"M6.66659 6C6.66659 5.26362 7.26354 4.66666 7.99992 4.66666C8.7363 4.66666 9.33325 5.26362 9.33325 6C9.33325 6.26543 9.25569 6.51275 9.12199 6.72052C8.72352 7.33978 7.99992 7.93028 7.99992 8.66666V9M7.99458 11.3333H8.00057M14.6666 8C14.6666 11.6819 11.6818 14.6667 7.99992 14.6667C4.31802 14.6667 1.33325 11.6819 1.33325 8C1.33325 4.3181 4.31802 1.33333 7.99992 1.33333C11.6818 1.33333 14.6666 4.3181 14.6666 8Z\"\r\n stroke=\"#697586\"\r\n stroke-width=\"1.5\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n {this.showHelpTooltip && (\r\n <gb-tooltip show-arrow={true} arrow=\"bottom_right\" show-supporting-text={this.showSupportingText} class=\"tooltip\">\r\n <slot name=\"label\" slot=\"label\"></slot>\r\n <slot name=\"supporting_text\" slot=\"supporting_text\"></slot>\r\n </gb-tooltip>\r\n )}\r\n </div>\r\n );\r\n }\r\n}","@import './../../global/global.css';\r\n\r\n.icon_button_base_container {\r\n position: relative;\r\n}\r\n\r\n.icon_button_base_div {\r\n display: flex;\r\n width: 100%;\r\n height: 2rem;\r\n padding: var(--spacing-none);\r\n justify-content: center;\r\n align-items: center;\r\n gap: 0.5rem;\r\n border-radius: var(--rounded-xs);\r\n cursor: pointer;\r\n}\r\n\r\n.icon_button_base_div:hover {\r\n background-color: var(--color-background-gray-subtle, #e3e8ef);\r\n}\r\n\r\n.icon_button_base_div:active {\r\n background-color: transparent;\r\n}\r\n\r\n.icon_button_base_div.current {\r\n background-color: var(--color-background-card, #ffffff);\r\n box-shadow: var(--shadow-md);\r\n}\r\n\r\n.icon_button_base_div.current:hover {\r\n background-color: var(--color-background-information-subtler, #c8e0f9);\r\n}\r\n\r\n.icon_button_base_div.current:active {\r\n background-color: var(--color-background-information-subtlest, #e4f0fc);\r\n}\r\n\r\n.icon {\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n}\r\n\r\n.icon svg path[stroke] {\r\n stroke: var(--color-icon, #4b5565);\r\n}\r\n\r\n.icon svg path[fill] {\r\n fill: none; \r\n}\r\n\r\n.icon.current svg path[stroke] {\r\n stroke: var(--color-icon-selected, #075db2);\r\n}\r\n\r\n.icon.current svg path[fill] {\r\n fill: var(--color-icon-selected, #075db2);\r\n}\r\n\r\n.tooltip {\r\n position: absolute;\r\n right: 100%;\r\n top: -130%;\r\n}\r\n","import { Component, Prop, State, getAssetPath, h } from '@stencil/core';\r\n\r\n@Component({\r\n tag: 'gb-icon-button-base',\r\n styleUrl: 'gb-icon-button-base.css',\r\n shadow: true,\r\n})\r\nexport class GbIconButtonBase {\r\n @Prop() current: boolean = false;\r\n @Prop() icon: string = '';\r\n @Prop() label: string = '';\r\n @State() leadingIconSvg: string = '';\r\n @State() showTooltip: boolean = false;\r\n\r\n async loadIcon(iconName: string) {\r\n const iconPath = getAssetPath(`${iconName}`);\r\n const response = await fetch(iconPath);\r\n const svg = await response.text();\r\n this.leadingIconSvg = svg;\r\n }\r\n\r\n componentWillLoad() {\r\n this.loadIcon(this.icon);\r\n }\r\n\r\n render() {\r\n return (\r\n <div class=\"icon_button_base_container\">\r\n {this.showTooltip && (\r\n <gb-tooltip show-arrow={true} arrow=\"bottom_center\" class=\"tooltip\">\r\n <p slot=\"label\">{this.label}</p>\r\n </gb-tooltip>\r\n )}\r\n <div class={`icon_button_base_div ${this.current ? 'current' : ''}`} onMouseEnter={() => (this.showTooltip = true)} onMouseLeave={() => (this.showTooltip = false)}>\r\n <div class={`icon ${this.current ? 'current' : ''}`} innerHTML={this.leadingIconSvg}></div>\r\n </div>\r\n </div>\r\n );\r\n }\r\n}\r\n","@import './../../global/global.css';\r\n\r\n.input_dropdown_div {\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n border-radius: 0.5rem;\r\n gap: var(--spacing-3);\r\n border: 1px solid var(--color-border-input, #808c9e);\r\n background-color: var(--color-background-card, #ffffff);\r\n padding: var(--spacing-none) var(--spacing-3);\r\n cursor: pointer;\r\n position: relative;\r\n}\r\n\r\n.input_dropdown_container {\r\n display: flex;\r\n flex-direction: column;\r\n gap: var(--spacing-2);\r\n}\r\n\r\n.input_dropdown_container.tag {\r\n min-height: 3rem;\r\n}\r\n\r\n.icon {\r\n display: flex;\r\n align-items: center;\r\n}\r\n\r\n.input_with_label {\r\n display: flex;\r\n flex-direction: column;\r\n gap: var(--spacing-2);\r\n}\r\n\r\n.dropdown_label{\r\n color: var(--color-text, #4B5565);\r\n}\r\n\r\n.hint_text {\r\n color: var(--color-text-subtle, #697586);\r\n}\r\n\r\n.error_text {\r\n color: var(--color-text-danger, #b51726);\r\n}\r\n\r\n/* Size Styles */\r\n.input_dropdown_div.sm {\r\n height: 2.5rem;\r\n}\r\n\r\n.input_dropdown_div.md {\r\n height: 3rem;\r\n}\r\n\r\n.dot.sm {\r\n width: var(--spacing-2);\r\n height: var(--spacing-2);\r\n}\r\n\r\n.dot.md {\r\n width: 0.625rem;\r\n height: 0.625rem;\r\n}\r\n\r\n/* State Styles */\r\n.input_dropdown_div.focused {\r\n border-color: var(--color-border-selected, #075db2);\r\n}\r\n\r\n.input_dropdown_div.destructive {\r\n border-color: var(--color-border-danger, #b51726);\r\n}\r\n\r\n.input_dropdown_div.disabled {\r\n background-color: var(--color-background-disabled, #f6f8fa);\r\n pointer-events: none;\r\n cursor: not-allowed;\r\n}\r\n\r\n.placeholder {\r\n display: flex;\r\n justify-content: stretch;\r\n width: 100%;\r\n white-space: nowrap;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n}\r\n\r\n.placeholder p{\r\n width: 100%;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n color: var(--color-text-disabled, #808C9E);\r\n}\r\n\r\n.content {\r\n display: flex;\r\n gap: var(--spacing-2);\r\n overflow: hidden; /* Clip overflowing content */\r\n /* width: 50px; */\r\n flex: 1 0 0;\r\n}\r\n\r\n.text.tag {\r\n display: flex;\r\n /* justify-content: flex-start;\r\n align-items: stretch;\r\n flex-wrap: wrap; */\r\n gap: 0.38rem; \r\n border: 1px solid red;\r\n}\r\n\r\n.supporting_text {\r\n display: flex;\r\n align-items: center;\r\n}\r\n\r\n.added_tag {\r\n width: fit-content;\r\n}\r\n\r\n.help_icon {\r\n display: flex;\r\n align-items: center;\r\n height: fit-content;\r\n}\r\n\r\n.dropdown_icon {\r\n display: flex;\r\n align-items: center;\r\n}\r\n\r\nsvg.disabled path {\r\n stroke: var(--color-icon-disabled, #cdd5df);\r\n}\r\n\r\n.dropdown_menu {\r\n display: flex;\r\n width: 100%;\r\n max-height: 300px;\r\n padding: var(--spacing-none);\r\n flex-direction: column;\r\n align-items: flex-start;\r\n align-items: stretch;\r\n border-radius: var(--rounded-sm);\r\n border: 1px solid var(--color-border-subtler, #e3e8ef);\r\n background: var(--color-surface, #ffffff);\r\n box-shadow: var(--shadow-sm);\r\n position: absolute;\r\n gap: var(--spacing-none);\r\n transition: 1s ease-in-out;\r\n overflow-y: auto;\r\n}\r\n\r\n.dropdown_menu.top {\r\n bottom: 105%;\r\n left: 0;\r\n z-index: 999;\r\n}\r\n\r\n.dropdown_menu.bottom {\r\n top: 105%;\r\n left: 0;\r\n z-index: 999;\r\n}\r\n\r\n.dropdown_menu::-webkit-scrollbar{\r\n right: 0rem;\r\n bottom: -1.53125rem;\r\n width: 0.8rem;\r\n margin-top: 1rem;\r\n}\r\n\r\n.dropdown_menu::-webkit-scrollbar-track{\r\n width: 0.5rem;\r\n padding: var(--spacing-1);\r\n border: none;\r\n}\r\n\r\n.dropdown_menu::-webkit-scrollbar-thumb{\r\n width: 0.5rem;\r\n height: 11.75rem;\r\n border: 0.25rem solid var(--color-background-card, #FFFFFF);\r\n border-radius: var(--rounded-full);\r\n background: var(--color-border-subtle, #CDD5DF);\r\n}\r\n\r\n/* .input_dropdown_div.sm.tag{\r\n min-height: 2.5rem;\r\n} */\r\n\r\n.input_dropdown_div.tag {\r\n min-height: 3rem;\r\n height: fit-content;\r\n}\r\n\r\n.input_dropdown_div.md.tag {\r\n min-height: 2.5rem;\r\n}\r\n\r\n.input_dropdown_div.md.tag {\r\n min-height: 3rem;\r\n}\r\n\r\n.opened {\r\n transform: rotate(180deg);\r\n transition: 0.2s ease-in-out;\r\n}\r\n\r\n::slotted([slot='tooltip_label']) {\r\n white-space: nowrap;\r\n color: var(--color-text, #4b5565);\r\n}\r\n\r\n::slotted([slot='tooltip_supporting_text']) {\r\n min-width: fit-content;\r\n max-width: 18.5rem;\r\n color: var(--color-text-subtle, #697586);\r\n margin-top: 5rem;\r\n}\r\n\r\n::slotted([slot='initials'].gray) {\r\n color: #4b5565;\r\n}\r\n\r\n::slotted([slot='initials'].blue) {\r\n color: var(--color-text-information, #064e94);\r\n}\r\n\r\n::slotted([slot='initials'].cyan) {\r\n color: var(--color-text-discovery, #0086c9);\r\n}\r\n\r\n::slotted([slot='initials'].pink) {\r\n color: var(--color-text-pink, #dd2590);\r\n}\r\n\r\n::slotted([slot='initials'].purple) {\r\n color: var(--color-text-purple, #6938ef);\r\n}\r\n\r\n::slotted([slot='initials'].green) {\r\n color: var(--color-text-success, #079455);\r\n}\r\n\r\n::slotted([slot='initials'].yellow) {\r\n color: var(--color-text-warning, #dc6803);\r\n}\r\n\r\n.dropdown_search_field {\r\n background: var(--color-surface, #ffffff);\r\n padding: var(--spacing-2) var(--spacing-2) var(--spacing-none) var(--spacing-2);\r\n position: sticky;\r\n top: 0;\r\n z-index: 999;\r\n}\r\n\r\n.empty_state {\r\n margin: auto;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n}\r\n\r\n.background {\r\n position: relative;\r\n width: 80%;\r\n}\r\n\r\n.message_background {\r\n position: absolute;\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n gap: var(--spacing-1);\r\n}\r\n\r\n.illustration {\r\n width: 100px;\r\n height: 100px;\r\n}\r\n\r\n.message {\r\n color: var(--color-text-bold, #202939);\r\n}\r\n\r\n.text {\r\n display: flex;\r\n align-items: center;\r\n /* flex: 1 1 auto; */\r\n overflow: hidden; /* Prevent content from overflowing */\r\n}\r\n\r\n.selected_text {\r\n overflow: hidden; /* Hide overflowing text */\r\n text-overflow: ellipsis;\r\n white-space: nowrap; /* Prevent wrapping */\r\n flex: 1 1 auto; /* Take up available space and adjust dynamically */\r\n min-width: 0; /* Ensures it respects parent width in flexbox */\r\n color: var(--color-text, #4B5565);\r\n}\r\n\r\n.search_input {\r\n display: flex;\r\n flex: 1 0 0;\r\n width: 100%;\r\n}\r\n\r\ninput {\r\n border: none;\r\n color: var(--color-text, #4b5565);\r\n}\r\n\r\ninput:focus {\r\n outline: none;\r\n}\r\n\r\ninput::placeholder {\r\n color: var(--color-text-disabled, #cdd5df);\r\n}\r\n\r\n.close_button {\r\n position: absolute;\r\n}\r\n\r\n.close_button.sm {\r\n right: 0.2rem;\r\n top: 0.15rem;\r\n}\r\n\r\n.close_button.md {\r\n right: 0.3rem;\r\n top: 0.25rem;\r\n}\r\n\r\n.loader_div {\r\n width: 100%;\r\n height: 10rem;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n}\r\n\r\n.loader {\r\n border: 4px solid var(--color-background-gray, #cdd5df); /* Light grey */\r\n border-top: 4px solid var(--color-background-selected, #075db2); /* Blue */\r\n border-radius: 50%;\r\n width: 30px;\r\n height: 30px;\r\n animation: spin 2s linear infinite;\r\n}\r\n\r\n@keyframes spin {\r\n 0% {\r\n transform: rotate(0deg);\r\n }\r\n 100% {\r\n transform: rotate(360deg);\r\n }\r\n}\r\n","import { Component, Prop, h, Fragment, Element, State, getAssetPath, Listen, Event, EventEmitter, Watch, Method } from '@stencil/core';\r\nimport { ColorTypes, DropdownTypes, GeneralSizes, StateEnum } from '../../models/reusableModels';\r\n@Component({\r\n tag: 'gb-input-dropdown',\r\n styleUrl: 'gb-input-dropdown.css',\r\n shadow: true,\r\n})\r\nexport class GbInputDropdown {\r\n @Prop() type: DropdownTypes;\r\n @Prop({ mutable: true }) state: 'default' | 'focused' | 'disabled' | 'filled';\r\n @Prop() size: GeneralSizes;\r\n @Prop() showLabel: boolean = false;\r\n @Prop() label: string = '';\r\n @Prop() placeholder: string = '';\r\n @Prop() showHintText: boolean;\r\n @Prop() hintText: string = '';\r\n @Prop() showHelpIcon: boolean;\r\n @Prop() showLeadingIcon: boolean = false;\r\n @Prop() iconSwap: string = '';\r\n @Prop() text: boolean = false;\r\n @Prop() leadingIcon: string = '';\r\n @Prop() icon: 'country' | 'avatar' | 'dot' | 'false';\r\n @Prop({ mutable: true }) items: any[] = [\r\n // { name: 'Mock Item A iusbrviubw vwiuhvw vwiurhvwr vwoiuh', username: 1 },\r\n // { name: 'Mock Item B', username: 3 },\r\n // { name: 'Mock Item C', username: 3 },\r\n // { name: 'Mock Item D', username: 3 },\r\n // { name: 'Mock Item E', username: 3 },\r\n // 45,\r\n // 50,\r\n // 20,\r\n // 25,\r\n // 90,\r\n // 92,\r\n // 53,\r\n // 'Activated',\r\n // 'Deactivated',\r\n // 'John Doe',\r\n // 'John smith',\r\n // 'Jane leo'\r\n ];\r\n @Prop({ mutable: true }) value: any[] = [\r\n // { name: 'Mock Item A', username: 1, selected: false },\r\n // { name: 'Mock Item B', username: 2, selected: false },\r\n // { name: 'Mock Item C', username: 3, selected: false },\r\n // 45,\r\n // 50,\r\n // 20,\r\n // 25,\r\n // 90,\r\n // 'Activated',\r\n // 'Deactivated',\r\n // 'Transaction Status',\r\n ];\r\n @Prop() supportingText: boolean = false;\r\n @Prop() color: ColorTypes;\r\n @Prop() showBorder: boolean = false;\r\n @Prop() menuPosition: 'top' | ' bottom';\r\n @Prop() showSearchInput: boolean = false;\r\n @Prop() inputValue: string;\r\n @Prop({ mutable: true }) destructive: boolean = false;\r\n @Prop() errorText: string = '';\r\n @Prop({ mutable: true }) loading: boolean = false;\r\n @Prop() formatLabel: boolean = true;\r\n @State() leadingIconSvg: string = '';\r\n @State() dropdownOpen: boolean = false;\r\n @State() selectedItem: any;\r\n @State() selectedItems: any[] = [];\r\n @State() unselectedItems: any[] = [];\r\n @State() searchItem: any;\r\n @State() searchResults: any;\r\n @State() internalItems: any[] = [...this.items];\r\n @State() showCloseButton: boolean = false;\r\n @State() internalLoading: boolean = this.loading;\r\n @Element() el: HTMLElement;\r\n // @Event() dropdownValue: EventEmitter<any>;\r\n @Event() dropdownItemSelected: EventEmitter<any>;\r\n @Event() inputValueChanged: EventEmitter<string>;\r\n\r\n dropdownRef!: HTMLElement;\r\n inputRef: HTMLInputElement;\r\n\r\n @Method()\r\n async clearSelection() {\r\n if (this.selectedItem && this.selectedItem.length > 0) {\r\n this.selectedItem = [];\r\n }\r\n\r\n if (this.selectedItems && this.selectedItems.length > 0) {\r\n this.selectedItems = [];\r\n }\r\n\r\n if (this.value && this.value.length > 0) {\r\n this.value = [];\r\n this.selectedItems = [];\r\n this.selectedItem = [];\r\n }\r\n\r\n this.unselectedItems = [...this.items];\r\n this.state = 'default';\r\n }\r\n\r\n @Method()\r\n async isDestructive() {\r\n this.destructive = true;\r\n }\r\n\r\n @Method()\r\n async isNotDestructive() {\r\n this.destructive = false;\r\n }\r\n\r\n clearInput() {\r\n if (this.inputRef) {\r\n this.inputRef.value = '';\r\n this.inputValue = this.inputRef.value;\r\n this.showCloseButton = false;\r\n this.inputValueChanged.emit(this.inputValue);\r\n }\r\n }\r\n\r\n @Watch('items')\r\n updateResultsAndShowInDropdown(newItems: any[]) {\r\n this.internalItems = [...newItems];\r\n }\r\n\r\n @Watch('loading')\r\n onLoadingChanged(newLoading: boolean) {\r\n this.internalLoading = newLoading;\r\n\r\n if (newLoading) this.dropdownOpen = true;\r\n }\r\n\r\n emitInputValueToUseForSearch() {\r\n if (this.inputRef.value.length > 0 && this.internalItems.length === 0) {\r\n this.loading = true;\r\n } else if (this.inputRef.value.length > 0 && this.internalItems.length > 0) {\r\n this.showCloseButton = true;\r\n this.inputValueChanged.emit(this.inputRef.value);\r\n } else {\r\n this.showCloseButton = false;\r\n this.dropdownOpen = false;\r\n this.loading = false;\r\n }\r\n }\r\n\r\n searchItemsInDropdownMenu(event: CustomEvent<any>) {\r\n this.searchItem = event.detail;\r\n this.searchResults = this.items.filter(item => {\r\n if (typeof item === 'string') return item.toLowerCase().includes(this.searchItem.toLowerCase());\r\n\r\n if (typeof item === 'number') return item.toString().includes(this.searchItem.toString());\r\n\r\n if (typeof item === 'object') return item.name.toLowerCase().includes(this.searchItem.toLowerCase());\r\n });\r\n }\r\n\r\n @Watch('destructive')\r\n watchDestructive() {\r\n this.destructive = this.destructive;\r\n }\r\n\r\n disconnectedCallback() {\r\n document.removeEventListener('click', this.handleClickOutside);\r\n }\r\n\r\n @Listen('click', { target: 'document' })\r\n handleClickOutside(event: MouseEvent) {\r\n if (this.dropdownOpen && !this.el.contains(event.target as Node)) {\r\n this.dropdownOpen = false;\r\n }\r\n }\r\n\r\n toggleDropdown(event: MouseEvent) {\r\n if (this.state !== 'disabled') {\r\n this.dropdownOpen = !this.dropdownOpen;\r\n }\r\n\r\n event.stopPropagation();\r\n }\r\n\r\n isItemSelected(item) {\r\n const isObject = typeof item === 'object';\r\n if (this.value.length === 0) {\r\n return this.selectedItems.some(i => (isObject ? i.name === item.name : i === item));\r\n } else if (this.value.length > 0) {\r\n return this.value.some(i => (isObject ? i.name === item.name : i === item));\r\n }\r\n }\r\n\r\n async loadIcon(iconName: string) {\r\n const iconPath = getAssetPath(`${iconName}`);\r\n const response = await fetch(iconPath);\r\n const svg = await response.text();\r\n this.leadingIconSvg = svg;\r\n }\r\n\r\n getAvatarSize() {\r\n switch (this.size) {\r\n case 'sm':\r\n return 'xs';\r\n case 'md':\r\n return 'xs';\r\n }\r\n }\r\n\r\n sortDropdownItems(menuItems: any[]): any[] {\r\n return menuItems.sort((a, b) => {\r\n if (a.selected && !b.selected) {\r\n return -1; // Move selected items up\r\n } else if (!a.selected && b.selected) {\r\n return 1; // Keep unselected items down\r\n }\r\n return 0; // Keep order if both are selected or unselected\r\n });\r\n }\r\n\r\n handleItemSelect(item?: any) {\r\n this.destructive = false;\r\n\r\n if (this.type === 'tags') {\r\n if (this.state === 'default') {\r\n this.selectMultipleItems(item);\r\n // console.log(this.state);\r\n } else if (this.state === 'filled' && this.value.length > 0) {\r\n this.state = 'default';\r\n this.value.length = 0;\r\n // console.log(this.state);\r\n this.selectMultipleItems(item);\r\n } else if (this.state === 'filled' && this.value.length === 0) {\r\n this.selectMultipleItems(item);\r\n // console.log(this.state);\r\n }\r\n } else {\r\n if (!item) {\r\n this.state = 'default';\r\n this.dropdownOpen = false;\r\n this.selectedItem = null;\r\n this.dropdownItemSelected.emit('');\r\n this.selectedItems = [];\r\n this.value = [];\r\n } else {\r\n if (this.state === 'default') {\r\n this.singleItemSelect(item);\r\n // console.log(this.state);\r\n } else if (this.state === 'filled' && this.value.length > 0) {\r\n this.state = 'default';\r\n this.value.length = 0;\r\n this.singleItemSelect(item);\r\n // console.log(this.state);\r\n } else if (this.state === 'filled' && this.value.length === 0) {\r\n this.singleItemSelect(item);\r\n // console.log(this.state);\r\n }\r\n }\r\n }\r\n\r\n this.state = this.selectedItems.length > 0 ? 'filled' : 'default';\r\n // console.log(this.state)\r\n }\r\n\r\n singleItemSelect(item) {\r\n // Handle single selection for other types\r\n this.selectedItem = item; // Store single selected item\r\n this.selectedItems = [item]; // Ensure only one item in selectedItems\r\n\r\n // Close the dropdown after selection for single selection types\r\n this.dropdownOpen = false;\r\n // console.log(this.selectedItems);\r\n this.dropdownItemSelected.emit(this.selectedItem);\r\n }\r\n\r\n selectMultipleItems(item) {\r\n const isObject = typeof item === 'object';\r\n\r\n const isSelected = this.selectedItems.some(i => (isObject ? i.name === item.name : i === item));\r\n\r\n if (isSelected) {\r\n // Unselect item: Move it from selectedItems to unselectedItems\r\n this.selectedItems = this.selectedItems.filter(i => (isObject ? i.name !== item.name : i !== item));\r\n if (!this.unselectedItems.some(i => (isObject ? i.name === item.name : i === item))) {\r\n this.unselectedItems = [...this.unselectedItems, item];\r\n }\r\n this.dropdownItemSelected.emit(this.selectedItems);\r\n } else {\r\n // Select item: Move it from unselectedItems to selectedItems\r\n this.selectedItems = [...this.selectedItems, item];\r\n this.unselectedItems = this.unselectedItems.filter(i => (isObject ? i.name !== item.name : i !== item));\r\n\r\n this.dropdownItemSelected.emit(this.selectedItems);\r\n }\r\n }\r\n\r\n handleTagRemove(item) {\r\n if (this.value.length === 0) {\r\n const isObject = typeof item === 'object';\r\n\r\n // Remove item from selectedItems\r\n this.selectedItems = this.selectedItems.filter(i => (isObject ? i.name !== item.name : i !== item));\r\n\r\n // Add item back to unselectedItems if not already present\r\n if (!this.unselectedItems.some(i => (isObject ? i.name === item.name : i === item))) {\r\n this.unselectedItems = [...this.unselectedItems, item];\r\n }\r\n\r\n this.dropdownItemSelected.emit(this.selectedItems);\r\n\r\n // Optionally update state or emit event\r\n this.state = this.selectedItems.length > 0 ? 'filled' : 'default';\r\n } else if (this.value.length > 0) {\r\n const isObject = typeof item === 'object';\r\n\r\n // Remove item from selectedItems\r\n this.value = this.value.filter(i => (isObject ? i.name !== item.name : i !== item));\r\n this.selectedItems = this.value;\r\n\r\n // Add item back to unselectedItems if not already present\r\n if (!this.unselectedItems.some(i => (isObject ? i.name === item.name : i === item))) {\r\n this.unselectedItems = [...this.unselectedItems, item];\r\n }\r\n\r\n this.dropdownItemSelected.emit(this.selectedItems);\r\n\r\n // Optionally update state or emit event\r\n this.state = this.selectedItems.length > 0 ? 'filled' : 'default';\r\n }\r\n }\r\n\r\n componentWillRender() {\r\n if (this.value.length > 0 && this.state === 'default') {\r\n this.state = 'filled';\r\n }\r\n }\r\n\r\n componentWillLoad() {\r\n this.loadIcon(this.leadingIcon);\r\n\r\n // setTimeout(() => {\r\n // this.loading = true;\r\n\r\n // setTimeout(() => {\r\n // this.items = ['Hi', '8', 'Omo', 98];\r\n // }, 5000);\r\n // }, 2000);\r\n\r\n if (this.type !== 'tags') {\r\n this.selectedItem = null; // For single selection types\r\n }\r\n\r\n if (this.value.length > 0) {\r\n if (Array.isArray(this.items)) {\r\n this.selectedItems = [];\r\n this.unselectedItems = [];\r\n\r\n // Separate objects from primitive values\r\n const objectValues = this.value.filter(val => typeof val === 'object' && val !== null);\r\n const primitiveValues = this.value.filter(val => typeof val !== 'object');\r\n\r\n // Find selected items\r\n this.selectedItems = this.items.filter(item => {\r\n if (typeof item === 'object' && item !== null) {\r\n return objectValues.some(val => val.name === item.name);\r\n } else {\r\n return primitiveValues.includes(item);\r\n }\r\n });\r\n\r\n // Find unselected items\r\n this.unselectedItems = this.items.filter(item => {\r\n if (typeof item === 'object' && item !== null) {\r\n return !objectValues.some(val => val.name === item.name);\r\n } else {\r\n return !primitiveValues.includes(item);\r\n }\r\n });\r\n }\r\n } else {\r\n // If value array is empty, all items are unselected\r\n this.selectedItems = [];\r\n this.unselectedItems = [...this.items];\r\n }\r\n\r\n // console.log('Selected Items:', this.selectedItems);\r\n // console.log('Unselected Items:', this.unselectedItems);\r\n }\r\n\r\n componentDidLoad() {\r\n if (this.type !== 'tags') {\r\n document.addEventListener('click', this.handleClickOutside);\r\n }\r\n\r\n const slottedInitials = this.el.querySelector('[slot=\"initials\"]');\r\n\r\n const mainTextSlot = this.el.querySelector('[slot=\"tooltip_label\"]');\r\n const supportingTextSlot = this.el.querySelector('[slot=\"tooltip_supporting_text\"]');\r\n\r\n if (slottedInitials) {\r\n slottedInitials.classList.add('text-xxs-semi-bold');\r\n }\r\n\r\n if (mainTextSlot) {\r\n mainTextSlot.classList.add('text-xs-semi-bold');\r\n }\r\n\r\n if (supportingTextSlot) {\r\n supportingTextSlot.classList.add('text-xs-regular');\r\n }\r\n }\r\n\r\n applyColorToInitials() {\r\n switch (this.color) {\r\n case 'gray':\r\n return 'gray';\r\n case 'blue':\r\n return 'blue';\r\n case 'cyan':\r\n return 'cyan';\r\n case 'pink':\r\n return 'pink';\r\n case 'purple':\r\n return 'purple';\r\n case 'green':\r\n return 'green';\r\n case 'yellow':\r\n return 'yellow';\r\n }\r\n }\r\n\r\n render() {\r\n const emptyStateBackground = getAssetPath('assets/empty-state-background.svg');\r\n const illustration = getAssetPath('assets/empty-state-no-data.svg');\r\n\r\n return [\r\n <div class={`input_dropdown_container ${this.type === 'tags' ? 'tag' : ''}`}>\r\n <div class={`input_with_label`}>\r\n {this.showLabel && (\r\n <>\r\n {this.formatLabel ? (\r\n <p class=\"dropdown_label text-sm-medium\">{this.label.charAt(0).toUpperCase() + this.label.slice(1).toLowerCase()}</p>\r\n ) : (\r\n <p class=\"dropdown_label text-sm-medium\">{this.label}</p>\r\n )}\r\n </>\r\n )}\r\n <div\r\n class={`input_dropdown_div ${this.size} ${this.state} ${this.destructive ? 'destructive' : ''} ${this.type === 'tags' ? 'tag' : ''} ${\r\n this.dropdownOpen ? 'focused' : ''\r\n }`}\r\n onClick={e => this.toggleDropdown(e)}\r\n >\r\n {/* {this.type === 'icon_leading' && (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M5.48131 12.9013C4.30234 13.6033 1.21114 15.0368 3.09388 16.8305C4.01359 17.7067 5.03791 18.3333 6.32572 18.3333H13.6743C14.9621 18.3333 15.9864 17.7067 16.9061 16.8305C18.7889 15.0368 15.6977 13.6033 14.5187 12.9013C11.754 11.2551 8.24599 11.2551 5.48131 12.9013Z\"\r\n stroke=\"#697586\"\r\n stroke-width=\"1.66667\"\r\n />\r\n <path\r\n d=\"M13.75 5.41667C13.75 7.48774 12.0711 9.16667 10 9.16667C7.92893 9.16667 6.25 7.48774 6.25 5.41667C6.25 3.3456 7.92893 1.66667 10 1.66667C12.0711 1.66667 13.75 3.3456 13.75 5.41667Z\"\r\n stroke=\"#697586\"\r\n stroke-width=\"1.66667\"\r\n />\r\n </svg>\r\n )} */}\r\n {this.type === 'avatar_leading' && (\r\n <>\r\n {this.state === 'default' && (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M5.48131 12.9013C4.30234 13.6033 1.21114 15.0368 3.09388 16.8305C4.01359 17.7067 5.03791 18.3333 6.32572 18.3333H13.6743C14.9621 18.3333 15.9864 17.7067 16.9061 16.8305C18.7889 15.0368 15.6977 13.6033 14.5187 12.9013C11.754 11.2551 8.24599 11.2551 5.48131 12.9013Z\"\r\n stroke=\"#4B5565\"\r\n stroke-width=\"1.66667\"\r\n />\r\n <path\r\n d=\"M13.75 5.41666C13.75 7.48772 12.0711 9.16666 10 9.16666C7.92893 9.16666 6.25 7.48772 6.25 5.41666C6.25 3.34559 7.92893 1.66666 10 1.66666C12.0711 1.66666 13.75 3.34559 13.75 5.41666Z\"\r\n stroke=\"#4B5565\"\r\n stroke-width=\"1.66667\"\r\n />\r\n </svg>\r\n )}\r\n {this.state === 'filled' && (\r\n <gb-avatar size=\"xs\" text={this.text} color={this.color} show-border={this.showBorder}>\r\n {this.selectedItems.map(item => (\r\n <>\r\n {typeof item === 'object' ? (\r\n <h1 slot=\"initials\">{item.name.split(' ').map(part => part.charAt(0).toUpperCase())}</h1>\r\n ) : (\r\n <h1 slot=\"initials\">{item.split(' ').map(part => part.charAt(0).toUpperCase())}</h1>\r\n )}\r\n </>\r\n ))}\r\n </gb-avatar>\r\n )}\r\n </>\r\n )}\r\n {this.showLeadingIcon && (\r\n <>{this.type === 'search' || this.type === 'tags' || this.type === 'icon_leading' ? <div class={`icon`} innerHTML={this.leadingIconSvg}></div> : null}</>\r\n )}\r\n {this.type === 'dot_leading' && (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"none\" class={`dot ${this.size}`}>\r\n <circle cx=\"5\" cy=\"5\" r=\"4\" fill=\"#079455\" />\r\n </svg>\r\n )}\r\n <>\r\n {this.state === 'default' && this.type !== 'search' && (\r\n <>\r\n {this.placeholder && (\r\n <div class=\"placeholder\">\r\n <p class={`text-${this.size}-regular`} style={{ color: '#CDD5DF' }}>\r\n {this.placeholder}\r\n </p>\r\n </div>\r\n )}\r\n </>\r\n )}\r\n {this.state === 'default' && this.type === 'search' && (\r\n <div class=\"search_input\">\r\n <input\r\n type=\"text\"\r\n placeholder={this.placeholder}\r\n class={`text-${this.size}-regular`}\r\n ref={el => (this.inputRef = el)}\r\n onInput={this.emitInputValueToUseForSearch.bind(this)}\r\n />\r\n {this.showCloseButton && (\r\n <gb-button\r\n class={`close_button ${this.size}`}\r\n size={this.size}\r\n hierarchy=\"tertiary_gray\"\r\n icon=\"only\"\r\n state=\"default\"\r\n icon-leading={true}\r\n icon-leading-swap=\"assets/cancel-01.svg\"\r\n onClick={() => this.clearInput()}\r\n ></gb-button>\r\n )}\r\n </div>\r\n )}\r\n {this.state === 'filled' && (\r\n <>\r\n <div class={`content`}>\r\n {this.type === 'tags' ? (\r\n <>\r\n {this.value.length === 0 ? (\r\n <>\r\n {this.selectedItems.map((item, index) =>\r\n typeof item === 'object' ? (\r\n <div class=\"added_tag\" key={index}>\r\n <gb-tag size=\"sm\" icon={this.icon ? this.icon : 'avatar'} action=\"X_close\" onClick={() => this.handleTagRemove(item)}>\r\n <p class=\"text-xs-medium\">{item.name.split(' ')[0]}</p>\r\n <h1 slot=\"initials\" class=\"text-xxs-semi-bold\">\r\n {item.name\r\n .split(' ')\r\n .map(part => part.charAt(0).toUpperCase())\r\n .join('')}\r\n </h1>\r\n </gb-tag>\r\n </div>\r\n ) : (\r\n <div class=\"added_tag\" key={index}>\r\n <gb-tag size=\"sm\" icon={this.icon ? this.icon : 'avatar'} action=\"X_close\" onClick={() => this.handleTagRemove(item)}>\r\n <p class=\"text-xs-medium\">{item}</p>\r\n </gb-tag>\r\n </div>\r\n ),\r\n )}\r\n </>\r\n ) : (\r\n <>\r\n {this.value.map((item, index) =>\r\n typeof item === 'object' ? (\r\n <div class=\"added_tag\" key={index}>\r\n <gb-tag size=\"sm\" icon={this.icon ? this.icon : 'avatar'} action=\"X_close\" onClick={() => this.handleTagRemove(item)}>\r\n <p class=\"text-xs-medium\">{item.name.split(' ')[0]}</p>\r\n <h1 slot=\"initials\" class=\"text-xxs-semi-bold\">\r\n {item.name\r\n .split(' ')\r\n .map(part => part.charAt(0).toUpperCase())\r\n .join('')}\r\n </h1>\r\n </gb-tag>\r\n </div>\r\n ) : (\r\n <div class=\"added_tag\" key={index}>\r\n <gb-tag size=\"sm\" icon={this.icon ? this.icon : 'avatar'} action=\"X_close\" onClick={() => this.handleTagRemove(item)}>\r\n <p class=\"text-xs-medium\">{item}</p>\r\n </gb-tag>\r\n </div>\r\n ),\r\n )}\r\n </>\r\n )}\r\n </>\r\n ) : (\r\n <p class={`selected_text text-${this.size}-regular`}>\r\n {this.value.length === 0 ? this.selectedItem?.name || this.selectedItem : <>{this.value.map(item => (typeof item === 'object' ? item.name : item))}</>}\r\n </p>\r\n )}\r\n {this.supportingText && (\r\n <div class={`supporting_text text-${this.size}-regular`} style={{ color: '#697586' }}>\r\n {this.type !== 'tags' && (\r\n <>{this.value.length === 0 ? <>{this.selectedItem.username}</> : <>{this.value.map(item => typeof item === 'object' && item.username)}</>}</>\r\n )}\r\n </div>\r\n )}\r\n </div>\r\n </>\r\n )}\r\n {this.state === 'disabled' && (\r\n <>\r\n <div class={`content`}>\r\n <div class={`text text-md-regular ${this.type === 'tags' ? 'tag' : ''}`} style={{ color: '#4B5565' }}>\r\n {this.type === 'tags' ? (\r\n <>\r\n {this.value.map((item, index) =>\r\n typeof item === 'object' ? (\r\n <div class=\"added_tag\" key={index}>\r\n <gb-tag size=\"sm\" icon={this.icon ? this.icon : 'avatar'} action=\"X_close\">\r\n <p class=\"text-xs-medium\">{item.name.split(' ')[0]}</p>\r\n <h1 slot=\"initials\" class=\"text-xxs-semi-bold\">\r\n {item.name\r\n .split(' ')\r\n .map(part => part.charAt(0).toUpperCase())\r\n .join('')}\r\n </h1>\r\n </gb-tag>\r\n </div>\r\n ) : (\r\n <div class=\"added_tag\" key={index}>\r\n <gb-tag size=\"sm\" icon={this.icon ? this.icon : 'avatar'} action=\"X_close\">\r\n <p class=\"text-xs-medium\">{item}</p>\r\n </gb-tag>\r\n </div>\r\n ),\r\n )}\r\n </>\r\n ) : (\r\n <>{<>{this.value.map(item => (typeof item === 'object' ? item.name : item))}</>}</>\r\n )}\r\n </div>\r\n {this.supportingText && (\r\n <div class=\"supporting_text text-sm-regular\" style={{ color: '#697586' }}>\r\n {this.type !== 'tags' && (\r\n <>{this.value.length === 0 ? <>{this.selectedItem.username}</> : <>{this.value.map(item => typeof item === 'object' && <>{item.username}</>)}</>}</>\r\n )}\r\n </div>\r\n )}\r\n </div>\r\n </>\r\n )}\r\n </>\r\n {this.showHelpIcon && (\r\n <div class={`help_icon`}>\r\n <gb-help-tooltip show-supporting-text={true}>\r\n <slot name=\"tooltip_label\" slot=\"label\"></slot>\r\n <slot name=\"tooltip_supporting_text\" slot=\"supporting_text\"></slot>\r\n </gb-help-tooltip>\r\n </div>\r\n )}\r\n {this.type !== 'search' && (\r\n <div class={`dropdown_icon ${this.dropdownOpen ? 'opened' : ''}`}>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" class={`${this.state}`}>\r\n <path\r\n d=\"M15 7.50004C15 7.50004 11.3176 12.5 9.99996 12.5C8.68237 12.5 5 7.5 5 7.5\"\r\n stroke=\"#697586\"\r\n stroke-width=\"1.66667\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n </div>\r\n )}\r\n <>\r\n {this.dropdownOpen && (\r\n <div class={`dropdown_menu ${this.menuPosition}`} ref={el => (this.dropdownRef = el)} onClick={e => e.stopPropagation()}>\r\n {this.showSearchInput && (\r\n <div class=\"dropdown_search_field\">\r\n <gb-input-field\r\n size=\"sm\"\r\n value={this.inputValue}\r\n show-close-button={this.inputValue ? true : false}\r\n icon-swap=\"assets/search-01.svg\"\r\n placeholder={this.placeholder}\r\n type=\"icon_leading\"\r\n labelText=\"label\"\r\n idOfInput=\"3\"\r\n onInputValueChanged={this.searchItemsInDropdownMenu.bind(this)}\r\n ></gb-input-field>\r\n </div>\r\n )}\r\n {this.loading && (\r\n <div class=\"loader_div\">\r\n <div class=\"loader\"></div>\r\n </div>\r\n )}\r\n {this.searchItem ? (\r\n <>\r\n {this.searchItem !== '' && this.searchResults.length > 0 ? (\r\n <>\r\n {this.searchResults.map(item => (\r\n <gb-input-dropdown-menu-item\r\n type={this.type === 'tags' ? 'checkbox' : this.type}\r\n state={StateEnum.Default}\r\n supporting-text={this.supportingText}\r\n selected={this.isItemSelected(item)}\r\n onClick={() => this.handleItemSelect(item)}\r\n >\r\n {typeof item === 'object' ? (\r\n <>\r\n <p slot=\"name\">{item.name}</p>\r\n <p slot=\"supporting_text\">{item.username}</p>\r\n </>\r\n ) : (\r\n <p slot=\"name\">{item}</p>\r\n )}\r\n </gb-input-dropdown-menu-item>\r\n ))}\r\n </>\r\n ) : this.searchItem !== '' && this.searchResults.length === 0 ? (\r\n //Empty state for when there are no search results\r\n <div class=\"empty_state\">\r\n <img src={emptyStateBackground} class=\"background\" alt=\"\" />\r\n <div class=\"message_background\">\r\n <img src={illustration} alt=\"\" class=\"illustration\" />\r\n <p class=\"message text-md-semi-bold\">No results available</p>\r\n </div>\r\n </div>\r\n ) : null}\r\n </>\r\n ) : (\r\n <>\r\n {this.type === 'tags' ? (\r\n <>\r\n {this.selectedItems.map(item => (\r\n <gb-input-dropdown-menu-item\r\n type={this.type === 'search' ? 'checkbox' : this.type === 'tags' ? 'checkbox' : this.type}\r\n state={StateEnum.Default}\r\n supporting-text={this.supportingText}\r\n selected={true}\r\n onClick={() => this.handleItemSelect(item)}\r\n >\r\n {typeof item === 'object' ? (\r\n <>\r\n <p slot=\"name\">{item.name}</p>\r\n <p slot=\"supporting_text\">{item.username}</p>\r\n <h1 slot=\"initials\">{item.name.split(' ').map(part => part.charAt(0).toUpperCase())}</h1>\r\n </>\r\n ) : (\r\n <>\r\n <p slot=\"name\">{item}</p>\r\n <h1 slot=\"initials\">{item.split(' ').map(part => part.charAt(0).toUpperCase())}</h1>\r\n </>\r\n )}\r\n </gb-input-dropdown-menu-item>\r\n ))}\r\n {this.unselectedItems.map(item => (\r\n <gb-input-dropdown-menu-item\r\n type={this.type === 'search' ? 'checkbox' : this.type === 'tags' ? 'checkbox' : this.type}\r\n state={StateEnum.Default}\r\n supporting-text={this.supportingText}\r\n selected={false}\r\n onClick={() => this.handleItemSelect(item)}\r\n >\r\n {typeof item === 'object' ? (\r\n <>\r\n <p slot=\"name\">{item.name}</p>\r\n <p slot=\"supporting_text\">{item.username}</p>\r\n </>\r\n ) : (\r\n <p slot=\"name\">{item}</p>\r\n )}\r\n </gb-input-dropdown-menu-item>\r\n ))}\r\n </>\r\n ) : (\r\n <>\r\n <gb-input-dropdown-menu-item state={StateEnum.Default} supporting-text={this.supportingText} color={this.color} onClick={() => this.handleItemSelect()}>\r\n <p slot=\"name\">--{this.placeholder}--</p>\r\n </gb-input-dropdown-menu-item>\r\n {this.items.map(item => [\r\n <gb-input-dropdown-menu-item\r\n type={this.type === 'tags' ? 'checkbox' : this.type}\r\n state={StateEnum.Default}\r\n supporting-text={this.supportingText}\r\n selected={this.isItemSelected(item)}\r\n color={this.color}\r\n onClick={() => this.handleItemSelect(item)}\r\n >\r\n {typeof item === 'object' ? (\r\n <>\r\n <p slot=\"name\">{item.name}</p>\r\n <h1 slot=\"initials\">\r\n {item.name\r\n .split(' ')\r\n .map(part => part.charAt(0).toUpperCase())\r\n .join('')}\r\n </h1>\r\n <p slot=\"supporting_text\">{item.username}</p>\r\n </>\r\n ) : typeof item === 'string' ? (\r\n <>\r\n <p slot=\"name\">{item}</p>\r\n <h1 slot=\"initials\">\r\n {item\r\n .split(' ')\r\n .map(part => part.charAt(0).toUpperCase())\r\n .join('')}\r\n </h1>\r\n </>\r\n ) : (\r\n <>\r\n <p slot=\"name\">{item}</p>\r\n <h1 slot=\"initials\">{item}</h1>\r\n </>\r\n )}\r\n </gb-input-dropdown-menu-item>,\r\n ])}\r\n </>\r\n )}\r\n </>\r\n )}\r\n </div>\r\n )}\r\n </>\r\n </div>\r\n </div>\r\n {/* <button onClick={() => this.clearValue()}>Clear</button> */}\r\n {this.showHintText && <>{!this.destructive ? <p class=\"hint_text text-sm-regular\">{this.hintText}</p> : <p class=\"error_text text-sm-regular\">{this.errorText}</p>}</>}\r\n </div>,\r\n ];\r\n }\r\n}\r\n","@import './../../global/global.css';\r\n\r\n.dropdown-container {\r\n display: flex;\r\n padding: var(--spacing-1);\r\n align-items: center;\r\n gap: var(--spacing-none);\r\n border-radius: var(--rounded-none);\r\n cursor: pointer;\r\n}\r\n\r\n.dropdown-item {\r\n display: flex;\r\n justify-content: flex-start;\r\n align-items: center;\r\n gap: var(--spacing-2);\r\n flex: 1 0 0;\r\n min-width: 0;\r\n border-radius: var(--rounded-xs);\r\n cursor: pointer;\r\n font-family: var(--Font-Family-Body, Sora);\r\n font-style: normal;\r\n letter-spacing: var(--Font-Letter-spacing-T-md, 0px);\r\n}\r\n\r\n/* .name_text{\r\n max-width: 5rem;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n} */\r\n\r\n.content {\r\n display: flex;\r\n align-items: center;\r\n gap: 0.5rem; /* if needed */\r\n min-width: 0; /* ❗ critical for ellipsis to work */\r\n}\r\n\r\n::slotted([slot='name']) {\r\n width: 100%;\r\n /* max-width: 15rem; */\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n flex: 1 1 auto;\r\n white-space: nowrap;\r\n color: var(--color-text, #4b5565) !important;\r\n}\r\n\r\n::slotted([slot='supporting_text']) {\r\n font-size: var(--Font-Size-T-sm, 14px);\r\n font-weight: var(--Font-Weight-Regular, 400);\r\n line-height: var(--Font-Line-height-T-sm, 20px); /* 142.857% */\r\n overflow: hidden;\r\n white-space: nowrap;\r\n text-overflow: ellipsis;\r\n color: var(--color-text, #4b5565) !important;\r\n}\r\n\r\n/* Icon Styles */\r\n.icon_leading {\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n}\r\n\r\n.icon_leading svg {\r\n width: 1.25rem;\r\n height: 1.25rem;\r\n}\r\n\r\n.icon_leading path[fill] {\r\n fill: var(--color-icon, #4B5565);\r\n}\r\n\r\n.icon_leading path[stroke] {\r\n stroke: var(--color-icon, #4B5565);\r\n}\r\n\r\n.icon_leading path#Icon[fill] {\r\n fill: var(--color-icon, #4B5565);\r\n}\r\n\r\n.icon_leading path#Icon[stroke] {\r\n stroke: var(--color-icon, #4B5565);\r\n}\r\n\r\n.icon_leading path#Accent[fill] {\r\n fill: var(--color-Accent, #4B5565);\r\n}\r\n\r\n.icon_leading path#Icon[stroke] {\r\n stroke: var(--color-icon, #4B5565);\r\n}\r\n\r\n.icon_leading circle[fill] {\r\n fill: var(--color-icon, #4B5565);\r\n}\r\n\r\n.icon_leading circle[stroke] {\r\n stroke: var(--color-icon, #4B5565);\r\n}\r\n\r\n/* State Styles */\r\n.dropdown-item:hover {\r\n background-color: var(--color-background-gray-subtler, #eef2f6);\r\n}\r\n\r\n.dropdown-item:active {\r\n background-color: var(--color-background-gray-subtle, #e3e8ef);\r\n}\r\n\r\n.dropdown-item.default.selected,\r\n.dropdown-item.icon_leading.selected,\r\n.dropdown-item.avatar_leading.selected,\r\n.dropdown-item.dot_leading.selected {\r\n background-color: var(--color-background-information-subtlest, #e4f0fc);\r\n}\r\n\r\n.dropdown-item.default.selected:hover,\r\n.dropdown-item.icon_leading.selected:hover,\r\n.dropdown-item.avatar_leading.selected:hover,\r\n.dropdown-item.dot_leading.selected:hover {\r\n background-color: var(--color-background-discovery-subtlest, #f0f9ff);\r\n}\r\n\r\n.dropdown-item.default.selected:active,\r\n.dropdown-item.icon_leading.selected:active,\r\n.dropdown-item.avatar_leading.selected:active,\r\n.dropdown-item.dot_leading.selected:active {\r\n background-color: var(--color-background-information-subtler, #c8e0f9);\r\n}\r\n\r\n.dropdown-item.default.selected.disabled,\r\n.dropdown-item.icon_leading.selected.disabled,\r\n.dropdown-item.avatar_leading.selected.disabled,\r\n.dropdown-item.dot_leading.selected.disabled,\r\n.dropdown-item.checkbox.selected.disabled {\r\n background-color: transparent;\r\n color: var(--color-text-disabled, #cdd5df);\r\n}\r\n\r\n.content {\r\n display: flex;\r\n min-height: 2.5rem;\r\n padding: 0 var(--spacing-2);\r\n justify-content: flex-start;\r\n align-items: center;\r\n gap: var(--spacing-2);\r\n flex: 1 0 0;\r\n}\r\n\r\n.dropdown-item--selected slot {\r\n flex-grow: 1;\r\n margin-right: 8px;\r\n}\r\n\r\n.dropdown-item--selected svg:last-of-type {\r\n display: flex;\r\n align-items: center;\r\n}\r\n\r\n.tick {\r\n display: flex;\r\n align-items: center;\r\n padding-right: var(--spacing-2);\r\n}\r\n","import { Component, Element, Prop, h, Fragment, Event, EventEmitter, State, getAssetPath } from '@stencil/core';\r\nimport { ColorTypes, DropdownTypes, StateEnum } from '../../models/reusableModels';\r\n\r\n@Component({\r\n tag: 'gb-input-dropdown-menu-item',\r\n styleUrl: 'gb-input-dropdown-menu-item.css',\r\n shadow: true,\r\n})\r\nexport class GbInputDropdownMenuItem {\r\n @Prop() type: DropdownTypes;\r\n @Prop() supportingText: boolean = false;\r\n @Prop({ mutable: true }) selected: boolean = false;\r\n @Prop() state: StateEnum;\r\n @Prop() color: ColorTypes;\r\n @Prop() iconLeading: boolean = false;\r\n @Prop() iconLeadingSwap: string = '';\r\n @State() leadingIconSvg: string = '';\r\n @Event() dropdownItemClicked: EventEmitter<void>;\r\n\r\n @Element() el: HTMLElement;\r\n\r\n async loadIcon(iconName: string) {\r\n const iconPath = getAssetPath(`${iconName}`);\r\n const response = await fetch(iconPath);\r\n const svg = await response.text();\r\n\r\n const parser = new DOMParser();\r\n const svgDoc = parser.parseFromString(svg, 'image/svg+xml');\r\n const svgElement = svgDoc.documentElement;\r\n\r\n // Add `has-opacity` class to all elements that have an opacity attribute\r\n const elementsWithOpacity = svgElement.querySelectorAll('[opacity]');\r\n elementsWithOpacity.forEach(el => {\r\n el.classList.add('has_opacity');\r\n });\r\n\r\n // Serialize and store\r\n const modifiedSvg = svgElement.outerHTML;\r\n // console.log(modifiedSvg)\r\n this.leadingIconSvg = modifiedSvg;\r\n }\r\n\r\n componentWillLoad() {\r\n this.loadIcon(this.iconLeadingSwap);\r\n }\r\n\r\n componentDidLoad() {\r\n const nameSlot = this.el.querySelector('[slot=\"name\"]');\r\n const supportingTextSlot = this.el.querySelector('[slot=\"supporting_text\"]');\r\n const initialsSlot = this.el.querySelector('[slot=\"initials\"]');\r\n\r\n if (nameSlot) {\r\n nameSlot.classList.add('text-md-medium');\r\n nameSlot.classList.add('no_wrap');\r\n }\r\n\r\n if (initialsSlot) {\r\n initialsSlot.classList.add('text-xs-semi-bold');\r\n }\r\n\r\n if (supportingTextSlot) {\r\n supportingTextSlot.classList.add('text-sm-regular');\r\n }\r\n }\r\n\r\n async handleClick() {\r\n this.dropdownItemClicked.emit();\r\n }\r\n\r\n render() {\r\n return (\r\n // <div class=\"dropdown-container\" onClick={() => (this.selected = !this.selected)}>\r\n <div class=\"dropdown-container\" onClick={() => this.handleClick()}>\r\n <div\r\n class={{\r\n 'dropdown-item': true,\r\n 'selected': this.selected,\r\n 'disabled': this.state === 'disabled',\r\n 'checkbox': this.type === 'checkbox',\r\n [this.type]: true,\r\n }}\r\n role=\"option\"\r\n aria-selected={this.selected ? 'true' : 'false'}\r\n aria-disabled={this.state === 'disabled' ? 'true' : 'false'}\r\n >\r\n <div class=\"content\">\r\n {this.type === 'icon_leading' && this.iconLeading && <div class={`icon_leading ${this.state}`} innerHTML={this.leadingIconSvg}></div>}\r\n {this.type === 'avatar_leading' && (\r\n <gb-avatar class=\"avatar-icon\" size=\"xs\" color={this.color} text={true}>\r\n <slot name=\"initials\" slot=\"initials\"></slot>\r\n </gb-avatar>\r\n )}\r\n {this.type === 'dot_leading' && (\r\n <>\r\n {this.state === 'default' ? (\r\n <svg id=\"icon\" xmlns=\"http://www.w3.org/2000/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 10 10\" fill=\"none\">\r\n <circle cx=\"5\" cy=\"5\" r=\"4\" fill=\"#17B26A\" />\r\n </svg>\r\n ) : (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"none\">\r\n <circle cx=\"5\" cy=\"5\" r=\"4\" fill=\"#EEF2F6\" />\r\n </svg>\r\n )}\r\n </>\r\n )}\r\n {this.type === 'checkbox' && <gb-checkbox class=\"checkbox\" size=\"md\" type=\"checkbox\" state={this.state} checked={this.selected}></gb-checkbox>}\r\n <slot name=\"name\"></slot>\r\n {this.supportingText && (\r\n <span>\r\n <slot name=\"supporting_text\"></slot>\r\n </span>\r\n )}\r\n </div>\r\n {this.selected && this.type !== 'checkbox' && (\r\n <div class={`tick`}>\r\n {this.state !== 'disabled' ? (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" class={`${this.state}`}>\r\n <path\r\n d=\"M4.16669 12.0834C4.16669 12.0834 5.41669 12.0834 7.08335 15C7.08335 15 11.7157 7.36115 15.8334 5.83337\"\r\n stroke=\"#075DB2\"\r\n stroke-width=\"1.66667\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n ) : (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M4.16669 12.0834C4.16669 12.0834 5.41669 12.0834 7.08335 15C7.08335 15 11.7157 7.36115 15.8334 5.83337\"\r\n stroke=\"#CDD5DF\"\r\n stroke-width=\"1.66667\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n )}\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n );\r\n }\r\n}\r\n","@import './../../global/global.css';\r\n:host {\r\n position: relative;\r\n}\r\n\r\ninput {\r\n background: transparent;\r\n border: none;\r\n outline: none;\r\n}\r\n\r\n/* Target Chrome/Edge/Safari autofill */\r\ninput:-webkit-autofill,\r\ninput:-webkit-autofill:hover,\r\ninput:-webkit-autofill:focus,\r\ninput:-webkit-autofill:active {\r\n /* Make the text use your normal color */\r\n -webkit-text-fill-color: var(--color-text, #4b5565);\r\n\r\n /* Remove the yellow background Chrome applies by covering it */\r\n transition: background-color 9999s ease-in-out 0s;\r\n\r\n /* Or explicitly paint your own background */\r\n box-shadow: 0 0 0 1000px transparent inset !important;\r\n}\r\n\r\n/* Firefox */\r\ninput:autofill {\r\n background-color: transparent !important;\r\n color: var(--color-text, #4b5565);\r\n}\r\n\r\n.input_container,\r\n.input_with_label {\r\n display: flex;\r\n flex-direction: column;\r\n gap: var(--spacing-2);\r\n}\r\n\r\n.label {\r\n color: var(--color-text, #4b5565);\r\n}\r\n\r\n.hint_text {\r\n color: var(--color-text-subtle, #697586);\r\n}\r\n\r\n.error_text {\r\n color: var(--color-text-danger, #b51726);\r\n}\r\n\r\n.content {\r\n width: 100%;\r\n height: 100%;\r\n border: none;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n color: var(--color-text, #4b5565);\r\n}\r\n\r\n.content::placeholder,\r\n.input_like::placeholder {\r\n color: var(--color-text-disabled, #cdd5df);\r\n}\r\n\r\n.content:focus,\r\n.input_like:focus {\r\n outline: none;\r\n}\r\n\r\n.icon {\r\n display: flex;\r\n align-items: center;\r\n}\r\n\r\n.input {\r\n display: flex;\r\n align-items: center;\r\n gap: var(--spacing-2);\r\n align-self: stretch;\r\n border-radius: var(--rounded-sm);\r\n}\r\n\r\n.input,\r\n.input.icon_leading,\r\n.password_input {\r\n border: 1px solid var(--color-border-input, #cdd5df);\r\n background: var(--color-background-card, #ffffff);\r\n}\r\n\r\n.input.leading_text {\r\n flex-grow: 1;\r\n border-radius: var(--rounded-none, 0rem) 0.5rem 0.5rem var(--rounded-none, 0rem);\r\n}\r\n\r\n.leading_text_input {\r\n display: flex;\r\n gap: var(--spacing-none);\r\n padding: var(--spacing-none);\r\n}\r\n\r\n.add_on {\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n border: 1px solid var(--color-border-input, #cdd5df);\r\n border-right: none;\r\n padding: var(--spacing-2) var(--spacing-3);\r\n border-radius: 0.5rem var(--rounded-none) var(--rounded-none) 0.5rem;\r\n}\r\n\r\n.text_input {\r\n flex-grow: 1;\r\n height: 100%;\r\n}\r\n\r\n.trailing_button_text_input,\r\n.leading_dropdown_text_input {\r\n display: flex;\r\n flex-grow: 1;\r\n gap: var(--spacing-2);\r\n}\r\n\r\n.trailing_button_text_input.sm,\r\n.trailing_button_text_input.md {\r\n padding: var(--spacing-none) 0 0 var(--spacing-3);\r\n}\r\n\r\n.input.trailing_button.sm.default,\r\n.input.trailing_button.md.default {\r\n padding: 0;\r\n}\r\n\r\n.leading_dropdown_dropdown,\r\n.trailing_dropdown_dropdown {\r\n display: flex;\r\n align-items: center;\r\n gap: var(--spacing-1);\r\n cursor: pointer;\r\n}\r\n\r\n.leading_dropdown_dropdown.disabled {\r\n padding-left: var(--spacing-2);\r\n}\r\n\r\n.dropdown_arrow {\r\n display: flex;\r\n align-items: center;\r\n}\r\n\r\n.tick {\r\n width: 1.25rem;\r\n height: 1.25rem;\r\n}\r\n\r\n.help_circle {\r\n display: flex;\r\n align-items: center;\r\n}\r\n\r\n/* .input.tags{\r\n position: relative;\r\n} */\r\n\r\n/* Size Styles */\r\n.input.sm {\r\n min-height: 2.5rem;\r\n}\r\n\r\n.input.md {\r\n min-height: 3rem;\r\n}\r\n\r\n.input.sm.default,\r\n.input.sm.password_icon_leading {\r\n padding: var(--spacing-none) var(--spacing-3);\r\n}\r\n\r\n.input.sm.icon_leading {\r\n position: relative;\r\n padding: var(--spacing-none) var(--spacing-2) var(--spacing-none) var(--spacing-3);\r\n}\r\n\r\n.input.sm.payment_input {\r\n padding: var(--spacing-none) var(--spacing-3);\r\n}\r\n\r\n.input.md.default {\r\n padding: var(--spacing-none) 0.875rem var(--spacing-none) var(--spacing-3);\r\n}\r\n\r\n.input.md.icon_leading {\r\n position: relative;\r\n padding: var(--spacing-none) var(--spacing-2) var(--spacing-none) var(--spacing-3);\r\n}\r\n\r\n.input.md.password_icon_leading {\r\n padding: var(--spacing-none) var(--spacing-2) var(--spacing-none) var(--spacing-3);\r\n}\r\n\r\n.input.md.payment_input {\r\n padding: 0 0.875rem 0 var(--spacing-3);\r\n}\r\n\r\n/* State Styles */\r\n.input:focus-within,\r\n.password_input:focus-within,\r\n.count_text_input:focus-within,\r\n.input_like_parent:focus-within {\r\n border: 1.3px solid var(--color-border-selected, #075db2);\r\n}\r\n\r\n.input.disabled,\r\n.password_input.disabled,\r\n.count_text_input.disabled,\r\n.action.disabled,\r\n.input_like_parent.disabled {\r\n border: 1px solid var(--color-border-disabled, #e3e8ef);\r\n}\r\n\r\n.input.disabled,\r\n.content.disabled,\r\n.password_input.disabled,\r\n.count_text_input.disabled,\r\n.input_like_parent.disabled,\r\n.input_like.disabled {\r\n background: var(--color-background-disabled, #f6f8fa);\r\n color: var(--color-text-subtle, #697586);\r\n cursor: not-allowed;\r\n pointer-events: none;\r\n}\r\n\r\n.input_group.disabled {\r\n cursor: not-allowed;\r\n pointer-events: none;\r\n}\r\n\r\n.icon path[fill] {\r\n fill: var(--color-icon, #4b5565);\r\n}\r\n\r\n.icon path[stroke] {\r\n stroke: var(--color-icon, #4b5565);\r\n}\r\n\r\n.icon.disabled path[stroke] {\r\n stroke: var(--color-icon-disabled, #cdd5df);\r\n}\r\n\r\n.input.destructive,\r\n.input.icon_leading.destructive,\r\n.count_text_input.destructive,\r\n.input_like_parent.destructive {\r\n border: 1px solid var(--color-border-danger, #b51726);\r\n}\r\n\r\n::slotted([slot='tooltip_label']) {\r\n white-space: nowrap;\r\n color: var(--color-text, #4b5565);\r\n}\r\n\r\n::slotted([slot='tooltip_supporting_text']) {\r\n min-width: fit-content;\r\n max-width: 18.5rem;\r\n color: var(--color-text-subtle, #697586);\r\n margin-top: 5rem;\r\n}\r\n\r\n::slotted([slot='text'].text_slot) {\r\n color: var(--color-text, #4b5565);\r\n}\r\n\r\n::slotted([slot='text'].text_slot.disabled) {\r\n color: var(--color-text-disabled, #cdd5df);\r\n}\r\n\r\n/* Type Styles */\r\n.password_input {\r\n display: flex;\r\n gap: var(--spacing-3);\r\n align-items: center;\r\n align-self: stretch;\r\n border-radius: var(--rounded-sm);\r\n}\r\n\r\n.password_content {\r\n display: flex;\r\n gap: var(--spacing-2);\r\n padding: 0.625rem var(--spacing-none) 0.625rem 0.875rem;\r\n flex-grow: 1;\r\n}\r\n\r\n.dropdown {\r\n padding-right: var(--spacing-half);\r\n padding-left: var(--spacing-3);\r\n}\r\n\r\n.password_icon_leading_content {\r\n display: flex;\r\n align-items: center;\r\n flex-grow: 1;\r\n gap: var(--spacing-2);\r\n}\r\n\r\n.count_input {\r\n display: flex;\r\n gap: var(--spacing-none);\r\n}\r\n\r\n.count_text_input {\r\n display: flex;\r\n padding: var(--spacing-none) var(--spacing-3);\r\n align-items: center;\r\n gap: var(--spacing-2);\r\n flex: 1 0 0;\r\n align-self: stretch;\r\n border: 1px solid var(--color-border-input, #cdd5df);\r\n border-radius: 0.5rem var(--rounded-none) var(--rounded-none) 0.5rem;\r\n}\r\n\r\n.action {\r\n border: 1px solid var(--color-border-input, #cdd5df);\r\n border-left: none;\r\n display: flex;\r\n /* padding-right: var(--spacing-1); */\r\n align-items: center;\r\n gap: var(--spacing-none);\r\n align-self: stretch;\r\n border-radius: var(--rounded-none) 0.5rem 0.5rem var(--rounded-none);\r\n}\r\n\r\n/* hr{\r\n height: 100%;\r\n border-right: 0.5px solid var(--color-border-input, #CDD5DF);\r\n} */\r\n\r\n.vertical_line {\r\n width: 1px;\r\n height: 100%;\r\n background-color: var(--color-border-input, #cdd5df);\r\n /* border-right: 1px solid var(--color-border-input, #CDD5DF); */\r\n}\r\n\r\n.trailing_dropdown_content {\r\n display: flex;\r\n align-items: center;\r\n flex-grow: 1;\r\n gap: var(--spacing-2);\r\n}\r\n\r\n.country_icon {\r\n display: flex;\r\n align-items: center;\r\n}\r\n\r\n.dropdown_menu {\r\n display: flex;\r\n width: fit-content;\r\n min-height: fit-content;\r\n padding: var(--spacing-none);\r\n flex-direction: column;\r\n align-items: flex-start;\r\n align-items: stretch;\r\n border-radius: var(--rounded-sm);\r\n border: 1px solid var(--color-border-subtler, #e3e8ef);\r\n background: var(--color-surface, #ffffff);\r\n box-shadow: var(--shadow-sm);\r\n position: absolute;\r\n z-index: 10;\r\n gap: var(--spacing-none);\r\n}\r\n\r\n.dropdown_menu.leading_dropdown,\r\n.dropdown_menu.trailing_dropdown {\r\n height: fit-content;\r\n overflow-y: auto;\r\n}\r\n\r\n.dropdown_menu.leading_dropdown.top.sm {\r\n bottom: 4rem;\r\n left: 0;\r\n}\r\n\r\n.dropdown_menu.leading_dropdown.top.md {\r\n bottom: 4.5rem;\r\n left: 0;\r\n}\r\n\r\n.dropdown_menu.leading_dropdown.bottom.sm {\r\n top: 4rem;\r\n left: 0;\r\n}\r\n\r\n.dropdown_menu.leading_dropdown.bottom.md {\r\n top: 4.5rem;\r\n left: 0;\r\n}\r\n\r\n.dropdown_menu.trailing_dropdown.top.sm {\r\n bottom: 3rem;\r\n right: 0;\r\n}\r\n\r\n.dropdown_menu.trailing_dropdown.top.md {\r\n bottom: 3.5rem;\r\n right: 0;\r\n}\r\n\r\n.dropdown_menu.trailing_dropdown.bottom.sm {\r\n top: 4rem;\r\n right: 0;\r\n}\r\n\r\n.dropdown_menu.trailing_dropdown.bottom.md {\r\n top: 4.5rem;\r\n right: 0;\r\n}\r\n\r\n/* Input Tags Styles */\r\n.input_group {\r\n --height: auto;\r\n --inputheight: 4.5rem;\r\n --weight: 100%;\r\n /* flex-direction: row-reverse; */\r\n display: flex;\r\n flex-direction: column;\r\n position: relative;\r\n}\r\n\r\n.input_like_parent {\r\n border: 1px solid var(--color-border-input, #cdd5df);\r\n border-radius: var(--rounded-sm);\r\n display: flex;\r\n cursor: pointer;\r\n /* flex-wrap: wrap; */\r\n}\r\n\r\n.input_like_parent.sm,\r\n.input_like_parent.md {\r\n padding: var(--spacing-2);\r\n}\r\n\r\n.input_field {\r\n display: flex;\r\n gap: var(--spacing-2);\r\n align-items: center;\r\n}\r\n\r\n.hidden-span {\r\n visibility: hidden;\r\n position: absolute;\r\n max-width: 100%;\r\n white-space: pre; /* Preserves spaces */\r\n}\r\n\r\n.input_like {\r\n border: none;\r\n color: var(--color-text, #4b5565);\r\n}\r\n\r\n.results_display {\r\n display: flex;\r\n flex-wrap: wrap;\r\n position: relative;\r\n gap: 0.5rem;\r\n background-color: var(--color-surface, #ffffff);\r\n}\r\n\r\n.results_display.disabled {\r\n background: var(--color-background-disabled, #f6f8fa);\r\n}\r\n\r\n.tags {\r\n padding-top: 1rem;\r\n}\r\n\r\n.dropdown_list.show {\r\n display: block;\r\n}\r\n\r\n.tags_dropdown_menu {\r\n display: flex;\r\n min-width: 100%;\r\n width: fit-content;\r\n max-height: 15rem;\r\n padding: var(--spacing-none);\r\n flex-direction: column;\r\n align-items: stretch;\r\n border-radius: var(--rounded-sm);\r\n border: 1px solid var(--color-border-subtler, #e3e8ef);\r\n background: var(--color-surface, #ffffff);\r\n box-shadow: var(--shadow-sm);\r\n position: absolute;\r\n z-index: 99999;\r\n gap: var(--spacing-none);\r\n transition: 1s ease-in-out;\r\n overflow-y: auto;\r\n}\r\n\r\n.tags_dropdown_menu.top {\r\n bottom: 105%;\r\n}\r\n\r\n.tags_dropdown_menu.bottom {\r\n top: 105%;\r\n}\r\n\r\n.input_close_button {\r\n position: absolute;\r\n z-index: 9999;\r\n}\r\n\r\n.input_close_button.sm {\r\n right: 0.2rem;\r\n top: 0.15rem;\r\n}\r\n\r\n.input_close_button.md {\r\n right: 0.3rem;\r\n top: 0.25rem;\r\n}\r\n\r\n.loader {\r\n border: 3px solid var(--color-background-gray, #cdd5df); /* Light grey */\r\n border-top: 3px solid var(--color-background-selected, #075db2); /* Blue */\r\n border-radius: 50%;\r\n width: 10px;\r\n height: 10px;\r\n animation: spin 2s linear infinite;\r\n}\r\n\r\n@keyframes spin {\r\n 0% {\r\n transform: rotate(0deg);\r\n }\r\n 100% {\r\n transform: rotate(360deg);\r\n }\r\n}\r\n","import { Component, Prop, h, State, Event, EventEmitter, Fragment, Element, getAssetPath, Watch, Listen, AttachInternals, Method } from '@stencil/core';\r\nimport { GeneralSizes, InputFieldTypes, StateEnum } from '../../models/reusableModels';\r\n\r\n@Component({\r\n tag: 'gb-input-field',\r\n styleUrl: 'gb-input-field.css',\r\n shadow: true,\r\n formAssociated: true,\r\n})\r\nexport class GbInputField {\r\n @AttachInternals() internals: ElementInternals;\r\n @Prop() size: GeneralSizes;\r\n @Prop() type: InputFieldTypes;\r\n @Prop() inputType: string = 'text';\r\n @Prop() minLength: number;\r\n @Prop() maxLength: number;\r\n @Prop({ mutable: true }) destructive: boolean = false;\r\n @Prop() state: 'default' | 'filled' | 'active' | 'disabled';\r\n @Prop() showLabel: boolean = false;\r\n @Prop() label: string = '';\r\n @Prop() showHintText: boolean = false;\r\n @Prop() hintText: string = '';\r\n @Prop() errorText: string = '';\r\n @Prop() showPlaceholder: boolean = false;\r\n @Prop() placeholder: string = '';\r\n @Prop() showHelpIcon: boolean = false;\r\n @Prop() showValidation: boolean = false;\r\n @Prop() showCountryIcon: boolean = false;\r\n @Prop() iconSwap?: string;\r\n @Prop() enableCancelButtonFunction: boolean = false;\r\n @Prop({ mutable: true }) options: string[] = [\r\n // '+234', '+124'\r\n ];\r\n @Prop({ reflect: true }) idOfInput: string;\r\n @Prop({ reflect: true }) labelText: string;\r\n @Prop({ reflect: true }) isReadOnly: boolean = false;\r\n @Prop({ mutable: true }) results: any[] = [\r\n // { objectName: 'John Doe', objectValue: 'john.doe@example.com' },\r\n // { objectName: 'Jane Smith', objectValue: 'jane.smith@example.com' },\r\n // { objectName: 'Alice Johnson', objectValue: 'alice.johnson@example.com' },\r\n // { objectName: 'Emmanuel Kadiri', objectValue: 'kadiri2047@gmail.com' },\r\n // { objectName: 'Gideon Ogunkola', objectValue: 'gideon@example.com' },\r\n // 10,\r\n // 20,\r\n // 30,\r\n // 40,\r\n // 50,\r\n ];\r\n @Prop() menuPosition: 'top' | 'bottom';\r\n @Prop() icon: 'country' | 'avatar' | 'dot' | 'false';\r\n @Prop({ mutable: true }) value: any = [\r\n // { objectName: 'John Doe', objectValue: 'john.doe@example.com' },\r\n // { objectName: 'Jane Smith', objectValue: 'jane.smith@example.com' },\r\n // { objectName: 'Alice Johnson', objectValue: 'alice.johnson@example.com' },\r\n // { objectName: 'Emmanuel Kadiri', objectValue: 'kadiri2047@gmail.com' },\r\n // 10,\r\n ];\r\n @Prop({ reflect: true }) required: boolean = false;\r\n @Prop({ mutable: true }) loading: boolean = false;\r\n @Prop() formatLabel: boolean = true;\r\n @Prop() formatNumber: boolean = true;\r\n @State() showCloseButton?: boolean = false;\r\n @State() inputValue: string = '';\r\n @State() tags: string[] = [];\r\n @State() leadingIconSvg: string = '';\r\n @State() isPasswordVisible: boolean = false;\r\n @State() showDropdown: boolean = false;\r\n @State() selectedItem: string = '';\r\n @State() selectedItems: any[] = [];\r\n @State() unselectedItems: any[] = [];\r\n @State() paddingLeft: string = '1rem';\r\n @State() paddingTop: string = '0rem';\r\n @State() dropdownOpen: boolean = false;\r\n @State() show: boolean = false;\r\n @State() showSpinner: boolean = false;\r\n @State() internalLoading: boolean = this.loading;\r\n @Event() inputValueChanged: EventEmitter<any>;\r\n @Event() buttonClicked: EventEmitter<void>;\r\n @Event() plusButtonClicked: EventEmitter<void>;\r\n @Event() minusButtonClicked: EventEmitter<void>;\r\n @Element() el: HTMLElement;\r\n\r\n private hiddenSpan: HTMLElement;\r\n private minWidth: number = 10;\r\n\r\n inputRef: HTMLInputElement;\r\n dropdownRef!: HTMLElement;\r\n inputElement!: HTMLInputElement;\r\n resultsDisplayElement!: HTMLDivElement;\r\n inputGroupElement!: HTMLDivElement;\r\n\r\n @Method()\r\n async isDestructive() {\r\n this.destructive = true;\r\n }\r\n\r\n @Method()\r\n async isNotDestructive() {\r\n this.destructive = false;\r\n }\r\n\r\n // formAssociatedCallback() {\r\n // // console.log('✅ formAssociatedCallback triggered');\r\n\r\n // this.internals.setValidity({});\r\n\r\n // // Optional: store reference to form\r\n // // const form = this.internals?.form;\r\n // // if (form) {\r\n // // console.log('🔗 Associated form:', form);\r\n // // }\r\n // }\r\n\r\n formResetCallback() {\r\n this.inputValue = '';\r\n this.value = '';\r\n this.internals.setValidity({});\r\n this.internals.setFormValue('');\r\n }\r\n\r\n // formDisabledCallback(disabled: boolean) {\r\n // if (disabled) {\r\n // this.state = 'disabled';\r\n // }\r\n // }\r\n\r\n // private runValidation() {\r\n // if (this.required && !this.inputValue.trim()) {\r\n // this.internals.setValidity({ valueMissing: true }, 'This field is required.', this.el.shadowRoot.querySelector('input'));\r\n // this.destructive = true;\r\n // } else {\r\n // this.internals.setValidity({});\r\n // this.destructive = false;\r\n // }\r\n // }\r\n\r\n async loadIcon(iconName: string) {\r\n const iconPath = getAssetPath(`${iconName}`);\r\n const response = await fetch(iconPath);\r\n const svg = await response.text();\r\n this.leadingIconSvg = svg;\r\n }\r\n\r\n handleTagInput(event: Event) {\r\n const target = event.target as HTMLInputElement;\r\n this.inputValue = target.value; // Update the value\r\n\r\n if (this.inputValue.trim() === '') {\r\n this.showDropdown = false;\r\n // this.results = [];\r\n return;\r\n }\r\n\r\n this.showSpinner = true;\r\n\r\n // Simulate API call\r\n setTimeout(() => {\r\n // this.results = this.mockStaffSearch(this.inputValue);\r\n this.showDropdown = this.results.length > 0;\r\n }, 1000);\r\n\r\n this.updateInputWidth();\r\n }\r\n\r\n // mockStaffSearch(query: string) {\r\n // const mockData = this.results;\r\n\r\n // return mockData.filter(staff => staff.name.toLowerCase().includes(query.toLowerCase()));\r\n // }\r\n\r\n selectDropdownItem(item: any) {\r\n if (this.value.length === 0) {\r\n const isObject = typeof item === 'object';\r\n const isSelected = this.selectedItems.some(i => (isObject ? i.objectName === item.objectName : i === item));\r\n if (isSelected) {\r\n // Unselect item: Move it from selectedItems to unselectedItems\r\n this.selectedItems = this.selectedItems.filter(i => (isObject ? i.objectName !== item.objectName : i !== item));\r\n if (!this.unselectedItems.some(i => (isObject ? i.objectName === item.objectName : i === item))) {\r\n this.unselectedItems = [...this.unselectedItems, item];\r\n }\r\n this.inputValueChanged.emit(this.selectedItems);\r\n } else {\r\n // Select item: Move it from unselectedItems to selectedItems\r\n this.selectedItems = [...this.selectedItems, item];\r\n this.unselectedItems = this.unselectedItems.filter(i => (isObject ? i.objectName !== item.objectName : i !== item));\r\n this.inputValueChanged.emit(this.selectedItems);\r\n }\r\n } else {\r\n const isObject = typeof item === 'object';\r\n const isSelected = this.selectedItems.some(i => (isObject ? i.objectName === item.objectName : i === item));\r\n\r\n if (isSelected) {\r\n this.value = this.value.filter(i => (isObject ? i.objectName !== item.objectName : i !== item));\r\n this.inputValueChanged.emit(this.value);\r\n } else {\r\n this.value = [...this.value, item]; // Add item to array\r\n this.inputValueChanged.emit(this.value);\r\n }\r\n }\r\n\r\n this.updateStyles();\r\n }\r\n\r\n handleTagRemove(index: number) {\r\n if (this.value.length > 0) {\r\n this.value = [...this.value.slice(0, index), ...this.value.slice(index + 1)];\r\n this.inputValueChanged.emit(this.value);\r\n // this.updateStyles();\r\n } else {\r\n this.selectedItems = [...this.selectedItems.slice(0, index), ...this.selectedItems.slice(index + 1)];\r\n this.inputValueChanged.emit(this.selectedItems);\r\n this.updateStyles();\r\n }\r\n }\r\n\r\n updateStyles() {\r\n setTimeout(() => {\r\n if (this.resultsDisplayElement) {\r\n const resultsWidth = this.resultsDisplayElement.offsetWidth;\r\n const inputWidth = this.inputElement.offsetWidth;\r\n\r\n this.paddingLeft = this.selectedItems.length === 0 ? '1rem' : `${resultsWidth + 10}px`;\r\n\r\n this.paddingTop = this.selectedItems.length > 2 ? '1rem' : `${inputWidth + 10}px`;\r\n }\r\n });\r\n\r\n if (this.destructive) {\r\n this.destructive = false;\r\n }\r\n this.inputValue = '';\r\n }\r\n\r\n exportSelectedStaff() {\r\n this.inputValueChanged.emit(this.selectedItems);\r\n }\r\n\r\n // private copyToClipboard = () => {\r\n // if (this.inputRef) {\r\n // this.inputRef.select();\r\n // document.execCommand('copy'); // Deprecated but works in most browsers\r\n // // For modern browsers:\r\n // navigator.clipboard.writeText(this.inputRef.value);\r\n // }\r\n // };\r\n\r\n onButtonClicked() {\r\n this.buttonClicked.emit();\r\n }\r\n\r\n onPlusButtonClicked() {\r\n this.plusButtonClicked.emit();\r\n }\r\n\r\n onMinusButtonClicked() {\r\n this.minusButtonClicked.emit();\r\n }\r\n\r\n @Listen('click', { target: 'document' })\r\n handleClickOutside(event: MouseEvent) {\r\n if (this.showDropdown && !this.el.contains(event.target as Node)) {\r\n this.showDropdown = false;\r\n }\r\n }\r\n\r\n /* Function to handle and emit the inputted values */\r\n handleInput(event: Event) {\r\n const target = event.target as HTMLInputElement;\r\n // read raw characters\r\n let raw = target.value.replace(/,/g, '');\r\n\r\n if (this.inputType === 'number') {\r\n // keep raw numeric value for data/form\r\n raw = raw.replace(/[^\\d.]/g, '');\r\n // format for display\r\n if(this.formatNumber) {\r\n this.inputValue = this.formatNumberWithCommas(raw);\r\n this.value = this.inputValue;\r\n } else {\r\n this.inputValue = raw;\r\n }\r\n } else {\r\n this.inputValue = target.value;\r\n }\r\n\r\n if (this.inputValue && this.enableCancelButtonFunction) {\r\n this.showCloseButton = true;\r\n } else {\r\n this.showCloseButton = false;\r\n }\r\n\r\n let emittedValue: any = this.inputValue;\r\n\r\n if (this.type === 'leading_dropdown') {\r\n emittedValue = {\r\n combined: `${this.selectedItem}${this.inputValue}`,\r\n prefix: this.selectedItem,\r\n value: this.inputValue,\r\n };\r\n }\r\n\r\n console.log('emitting:', emittedValue);\r\n this.inputValueChanged.emit(emittedValue);\r\n }\r\n\r\n // Prevent typing non-numeric characters when inputType === 'number'\r\n handleNumericKeyDown = (e: KeyboardEvent) => {\r\n if (this.inputType !== 'number') return;\r\n const key = e.key;\r\n\r\n // Allow navigation, editing and common shortcuts\r\n const allowed = [\r\n 'Backspace','Tab','Enter','Escape','ArrowLeft','ArrowRight','ArrowUp','ArrowDown',\r\n 'Delete','Home','End'\r\n ];\r\n if (allowed.includes(key) || e.ctrlKey || e.metaKey) return;\r\n\r\n // Allow digits and a single dot (.) for decimals\r\n const isDigit = /^[0-9]$/.test(key);\r\n if (key === '.') {\r\n const target = e.target as HTMLInputElement;\r\n if (target && target.value.includes('.')) {\r\n e.preventDefault();\r\n }\r\n return;\r\n }\r\n\r\n if (!isDigit) {\r\n e.preventDefault();\r\n }\r\n };\r\n\r\n // Sanitize pasted text for numeric inputs\r\n handleNumericPaste = (e: ClipboardEvent) => {\r\n if (this.inputType !== 'number') return;\r\n const clipboard = (e.clipboardData || (window as any).clipboardData)?.getData('text') || '';\r\n const sanitized = clipboard.replace(/[^0-9.]/g, '');\r\n if (sanitized !== clipboard) {\r\n e.preventDefault();\r\n const input = e.target as HTMLInputElement;\r\n const start = input.selectionStart ?? 0;\r\n const end = input.selectionEnd ?? 0;\r\n const newVal = input.value.slice(0, start) + sanitized + input.value.slice(end);\r\n input.value = newVal;\r\n // trigger input event so component picks up change\r\n input.dispatchEvent(new window.Event('input', { bubbles: true }));\r\n }\r\n }\r\n\r\n formatNumberWithCommas(value: string): string {\r\n if (!value) return '';\r\n if(!this.formatNumber) return;\r\n // Handle decimals properly\r\n const parts = value.split('.');\r\n parts[0] = parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',');\r\n return parts.join('.');\r\n }\r\n\r\n handleInputFocus() {\r\n if (this.destructive) {\r\n this.destructive = false;\r\n }\r\n }\r\n\r\n clearInput() {\r\n if (this.inputRef) {\r\n this.inputRef.value = '';\r\n this.inputValue = this.inputRef.value;\r\n this.showCloseButton = false;\r\n this.inputValueChanged.emit(this.inputValue);\r\n }\r\n }\r\n\r\n /* Function to handle and emit the inputted values */\r\n togglePasswordVisibility() {\r\n this.isPasswordVisible = !this.isPasswordVisible;\r\n }\r\n\r\n @Watch('options')\r\n optionsChanged(newOptions: string[]) {\r\n // Update selectedItem when options are loaded or changed\r\n if (newOptions.length > 0 && !this.selectedItem) {\r\n this.selectedItem = newOptions[0];\r\n }\r\n }\r\n\r\n @Watch('loading')\r\n onLoadingChanged(newLoading: boolean) {\r\n this.internalLoading = newLoading;\r\n }\r\n\r\n isItemSelected(option) {\r\n return this.selectedItem === option;\r\n }\r\n\r\n isTagItemSelected(item) {\r\n // return this.selectedStaff.some(i => i.name === item.name);\r\n\r\n const isObject = typeof item === 'object';\r\n return this.selectedItems.some(i => (isObject ? i.objectName === item.objectName : i === item));\r\n }\r\n\r\n handleItemSelect(option) {\r\n // For other types, allow only one selection\r\n this.selectedItem = option;\r\n this.showDropdown = false; // Close the dropdown\r\n }\r\n\r\n @Watch('value')\r\n updateSelectedItems(newValue: any[]) {\r\n if (Array.isArray(newValue) && newValue.length > 0) {\r\n this.selectedItems = [];\r\n this.unselectedItems = [];\r\n\r\n const objectValues = newValue.filter(val => typeof val === 'object' && val !== null);\r\n const primitiveValues = newValue.filter(val => typeof val !== 'object');\r\n\r\n this.selectedItems = this.results.filter(item =>\r\n typeof item === 'object' && item !== null\r\n ? objectValues.some(val => JSON.stringify(val) === JSON.stringify(item)) // Avoid object reference issues\r\n : primitiveValues.includes(item),\r\n );\r\n\r\n this.unselectedItems = this.results.filter(item =>\r\n typeof item === 'object' && item !== null ? !objectValues.some(val => JSON.stringify(val) === JSON.stringify(item)) : !primitiveValues.includes(item),\r\n );\r\n } else {\r\n this.selectedItems = [];\r\n this.unselectedItems = [...this.results];\r\n }\r\n }\r\n\r\n componentWillLoad() {\r\n // setTimeout(() => {\r\n // this.loading = true;\r\n // }, 3000);\r\n\r\n this.selectedItem = this.options[0];\r\n\r\n this.loadIcon(this.iconSwap);\r\n\r\n if (this.type !== 'tags') {\r\n this.selectedItem = null; // For single selection types\r\n\r\n if(this.value) {\r\n this.inputValue = this.value;\r\n }\r\n }\r\n\r\n this.updateSelectedItems(this.value);\r\n\r\n // console.log('Selected Items:', this.selectedItems);\r\n // console.log('Unselected Items:', this.unselectedItems);\r\n }\r\n\r\n componentDidLoad() {\r\n if (this.options && this.options.length > 0) {\r\n this.selectedItem = this.options[0]; // Set the first item as default\r\n }\r\n\r\n const mainTextSlot = this.el.querySelector('[slot=\"tooltip_label\"]');\r\n const supportingTextSlot = this.el.querySelector('[slot=\"tooltip_supporting_text\"]');\r\n const textSlot = this.el.querySelector('[slot=\"text\"]');\r\n\r\n if (mainTextSlot) {\r\n mainTextSlot.classList.add('text-xs-semi-bold');\r\n }\r\n\r\n if (supportingTextSlot) {\r\n supportingTextSlot.classList.add('text-xs-regular');\r\n }\r\n\r\n if (textSlot) {\r\n textSlot.classList.add('text_slot');\r\n\r\n if (this.state === 'disabled') {\r\n textSlot.classList.add('disabled');\r\n }\r\n\r\n textSlot.classList.add('text-md-regular');\r\n }\r\n\r\n if (this.type === 'tags') {\r\n document.addEventListener('click', this.handleClickOutside);\r\n }\r\n // this.inputElement.addEventListener('input', this.handleTagInput.bind(this));\r\n this.updateInputWidth();\r\n }\r\n\r\n updateInputWidth() {\r\n if (this.hiddenSpan) {\r\n const input = this.el.shadowRoot.querySelector('input') as HTMLInputElement;\r\n\r\n // Update input width based on span's width or use minimum width\r\n const calculatedWidth = Math.max(this.hiddenSpan.offsetWidth + 10, this.minWidth);\r\n input.style.width = `${calculatedWidth}px`;\r\n }\r\n }\r\n\r\n handleWrapperClick() {\r\n this.inputElement.focus(); // Focus the input field\r\n }\r\n\r\n // disconnectedCallback() {\r\n // document.removeEventListener('click', this.handleClickOutside);\r\n // this.inputElement.removeEventListener('input', this.handleTagInput.bind(this));\r\n // }\r\n\r\n render() {\r\n return (\r\n <div class={`input_container`}>\r\n <div class={`input_with_label`}>\r\n {this.showLabel && (\r\n <>\r\n {this.formatLabel ? (\r\n <p class=\"label text-sm-medium\">{this.label.charAt(0).toUpperCase() + this.label.slice(1).toLowerCase()}</p>\r\n ) : (\r\n <p class=\"label text-sm-medium\">{this.label}</p>\r\n )}\r\n </>\r\n )}\r\n {this.type === 'default' && [\r\n <div class={`input ${this.type} ${this.size} ${this.state} ${this.destructive ? 'destructive' : ''}`}>\r\n <input\r\n class={`content text-md-regular ${this.type} ${this.state}`}\r\n type={this.inputType === 'number' ? 'text' : this.inputType}\r\n inputMode={this.inputType === 'number' ? 'numeric' : undefined}\r\n pattern={this.inputType === 'number' ? '[0-9]*' : undefined}\r\n minLength={this.minLength}\r\n maxLength={this.maxLength}\r\n placeholder={this.placeholder ? this.placeholder : ''}\r\n onInput={event => this.handleInput(event)}\r\n onFocus={() => this.handleInputFocus()}\r\n onKeyDown={e => this.handleNumericKeyDown(e as KeyboardEvent)}\r\n onPaste={e => this.handleNumericPaste(e as ClipboardEvent)}\r\n value={this.value}\r\n />\r\n <>\r\n {this.loading && <div class=\"loader\"></div>}\r\n {this.showValidation && (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M7.03831 9.9735C6.6785 9.76829 6.22047 9.89362 6.01526 10.2534C5.81005 10.6132 5.93538 11.0713 6.29518 11.2765L7.03831 9.9735ZM8.66675 12.5L8.0231 12.885C8.16612 13.1241 8.42989 13.2642 8.70808 13.2489C8.98627 13.2335 9.23302 13.0652 9.34885 12.8118L8.66675 12.5ZM13.6933 7.32469C14.0567 7.12594 14.1902 6.67022 13.9914 6.3068C13.7927 5.94338 13.337 5.80988 12.9736 6.00863L13.6933 7.32469ZM19.0834 9.99999C19.0834 4.9834 15.0167 0.916656 10.0001 0.916656V2.41666C14.1882 2.41666 17.5834 5.81183 17.5834 9.99999H19.0834ZM10.0001 0.916656C4.98349 0.916656 0.916748 4.9834 0.916748 9.99999H2.41675C2.41675 5.81183 5.81192 2.41666 10.0001 2.41666V0.916656ZM0.916748 9.99999C0.916748 15.0166 4.98349 19.0833 10.0001 19.0833V17.5833C5.81192 17.5833 2.41675 14.1881 2.41675 9.99999H0.916748ZM10.0001 19.0833C15.0167 19.0833 19.0834 15.0166 19.0834 9.99999H17.5834C17.5834 14.1881 14.1882 17.5833 10.0001 17.5833V19.0833ZM6.66675 10.625C6.29518 11.2765 6.29506 11.2764 6.29494 11.2763C6.2949 11.2763 6.29478 11.2763 6.29472 11.2762C6.29458 11.2761 6.29446 11.2761 6.29437 11.276C6.29417 11.2759 6.29406 11.2758 6.29402 11.2758C6.29394 11.2758 6.29418 11.2759 6.29472 11.2762C6.2958 11.2768 6.2981 11.2782 6.30155 11.2802C6.30845 11.2843 6.31994 11.2911 6.33556 11.3006C6.36683 11.3196 6.41441 11.3492 6.47453 11.3886C6.59518 11.4676 6.76402 11.5846 6.9516 11.7329C7.33643 12.0371 7.75673 12.4397 8.0231 12.885L9.31039 12.115C8.9101 11.4458 8.3304 10.9108 7.8819 10.5562C7.65281 10.3751 7.44665 10.2322 7.29647 10.1338C7.22117 10.0845 7.15938 10.046 7.11512 10.0191C7.09298 10.0056 7.07518 9.99502 7.06222 9.98739C7.05574 9.98358 7.05047 9.98051 7.04646 9.97819C7.04446 9.97703 7.04278 9.97606 7.04142 9.97528C7.04073 9.97489 7.04013 9.97454 7.03962 9.97425C7.03936 9.9741 7.03912 9.97396 7.0389 9.97384C7.03879 9.97377 7.03865 9.97369 7.03859 9.97366C7.03845 9.97358 7.03831 9.9735 6.66675 10.625ZM8.66675 12.5C9.34885 12.8118 9.3488 12.8119 9.34876 12.812C9.34876 12.812 9.34872 12.8121 9.34871 12.8121C9.3487 12.8122 9.34871 12.8121 9.34876 12.812C9.34884 12.8118 9.34905 12.8114 9.34938 12.8107C9.35003 12.8092 9.35117 12.8068 9.35277 12.8033C9.35599 12.7964 9.36109 12.7855 9.36805 12.7708C9.38196 12.7413 9.40327 12.6967 9.43164 12.6386C9.48841 12.5226 9.57333 12.3531 9.68378 12.1445C9.90507 11.7264 10.2268 11.1546 10.628 10.5403C11.4489 9.28341 12.5314 7.96007 13.6933 7.32469L12.9736 6.00863C11.4687 6.83158 10.218 8.4249 9.37213 9.72011C8.93998 10.3818 8.59509 10.9949 8.35805 11.4427C8.23933 11.667 8.14717 11.8508 8.08415 11.9797C8.05262 12.0441 8.02836 12.0949 8.01167 12.1303C8.00333 12.1479 7.99688 12.1617 7.99236 12.1715C7.9901 12.1763 7.98833 12.1802 7.98704 12.183C7.98639 12.1844 7.98587 12.1855 7.98547 12.1864C7.98527 12.1868 7.9851 12.1872 7.98496 12.1875C7.9849 12.1876 7.98482 12.1878 7.98478 12.1879C7.98471 12.188 7.98464 12.1882 8.66675 12.5Z\"\r\n fill=\"#079455\"\r\n />\r\n </svg>\r\n )}\r\n {this.showHelpIcon && (\r\n <div class={`help_circle`}>\r\n {!this.destructive ? (\r\n <gb-help-tooltip show-supporting-text={true}>\r\n <slot name=\"tooltip_label\" slot=\"label\"></slot>\r\n <slot name=\"tooltip_supporting_text\" slot=\"supporting_text\"></slot>\r\n </gb-help-tooltip>\r\n ) : (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M7.99458 10H8.00057M7.99992 8.00001V5.33334M14.6666 8.00001C14.6666 11.6819 11.6818 14.6667 7.99992 14.6667C4.31802 14.6667 1.33325 11.6819 1.33325 8.00001C1.33325 4.31811 4.31802 1.33334 7.99992 1.33334C11.6818 1.33334 14.6666 4.31811 14.6666 8.00001Z\"\r\n stroke=\"#B51726\"\r\n stroke-width=\"1.33333\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n )}\r\n </div>\r\n )}\r\n </>\r\n </div>,\r\n ]}\r\n {this.type === 'icon_leading' && [\r\n <div class={`input ${this.type} ${this.size} ${this.state} ${this.destructive ? 'destructive' : ''}`}>\r\n <div class={`icon ${this.size} ${this.state}`} innerHTML={this.leadingIconSvg}></div>\r\n <input\r\n class={`content text-${this.size}-regular ${this.type} ${this.state}`}\r\n type={this.inputType === 'number' ? 'text' : this.inputType}\r\n inputMode={this.inputType === 'number' ? 'numeric' : undefined}\r\n pattern={this.inputType === 'number' ? '[0-9]*' : undefined}\r\n minLength={this.minLength}\r\n maxLength={this.maxLength}\r\n placeholder={this.placeholder ? this.placeholder : ''}\r\n onInput={event => this.handleInput(event)}\r\n value={this.value}\r\n ref={el => (this.inputRef = el as HTMLInputElement)}\r\n onFocus={() => this.handleInputFocus()}\r\n onKeyDown={e => this.handleNumericKeyDown(e as KeyboardEvent)} // <- added\r\n onPaste={e => this.handleNumericPaste(e as ClipboardEvent)}\r\n />\r\n <>\r\n {this.loading && <div class=\"loader\"></div>}\r\n {this.showValidation && !this.destructive && (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M7.03831 9.9735C6.6785 9.76829 6.22047 9.89362 6.01526 10.2534C5.81005 10.6132 5.93538 11.0713 6.29518 11.2765L7.03831 9.9735ZM8.66675 12.5L8.0231 12.885C8.16612 13.1241 8.42989 13.2642 8.70808 13.2489C8.98627 13.2335 9.23302 13.0652 9.34885 12.8118L8.66675 12.5ZM13.6933 7.32469C14.0567 7.12594 14.1902 6.67022 13.9914 6.3068C13.7927 5.94338 13.337 5.80988 12.9736 6.00863L13.6933 7.32469ZM19.0834 9.99999C19.0834 4.9834 15.0167 0.916656 10.0001 0.916656V2.41666C14.1882 2.41666 17.5834 5.81183 17.5834 9.99999H19.0834ZM10.0001 0.916656C4.98349 0.916656 0.916748 4.9834 0.916748 9.99999H2.41675C2.41675 5.81183 5.81192 2.41666 10.0001 2.41666V0.916656ZM0.916748 9.99999C0.916748 15.0166 4.98349 19.0833 10.0001 19.0833V17.5833C5.81192 17.5833 2.41675 14.1881 2.41675 9.99999H0.916748ZM10.0001 19.0833C15.0167 19.0833 19.0834 15.0166 19.0834 9.99999H17.5834C17.5834 14.1881 14.1882 17.5833 10.0001 17.5833V19.0833ZM6.66675 10.625C6.29518 11.2765 6.29506 11.2764 6.29494 11.2763C6.2949 11.2763 6.29478 11.2763 6.29472 11.2762C6.29458 11.2761 6.29446 11.2761 6.29437 11.276C6.29417 11.2759 6.29406 11.2758 6.29402 11.2758C6.29394 11.2758 6.29418 11.2759 6.29472 11.2762C6.2958 11.2768 6.2981 11.2782 6.30155 11.2802C6.30845 11.2843 6.31994 11.2911 6.33556 11.3006C6.36683 11.3196 6.41441 11.3492 6.47453 11.3886C6.59518 11.4676 6.76402 11.5846 6.9516 11.7329C7.33643 12.0371 7.75673 12.4397 8.0231 12.885L9.31039 12.115C8.9101 11.4458 8.3304 10.9108 7.8819 10.5562C7.65281 10.3751 7.44665 10.2322 7.29647 10.1338C7.22117 10.0845 7.15938 10.046 7.11512 10.0191C7.09298 10.0056 7.07518 9.99502 7.06222 9.98739C7.05574 9.98358 7.05047 9.98051 7.04646 9.97819C7.04446 9.97703 7.04278 9.97606 7.04142 9.97528C7.04073 9.97489 7.04013 9.97454 7.03962 9.97425C7.03936 9.9741 7.03912 9.97396 7.0389 9.97384C7.03879 9.97377 7.03865 9.97369 7.03859 9.97366C7.03845 9.97358 7.03831 9.9735 6.66675 10.625ZM8.66675 12.5C9.34885 12.8118 9.3488 12.8119 9.34876 12.812C9.34876 12.812 9.34872 12.8121 9.34871 12.8121C9.3487 12.8122 9.34871 12.8121 9.34876 12.812C9.34884 12.8118 9.34905 12.8114 9.34938 12.8107C9.35003 12.8092 9.35117 12.8068 9.35277 12.8033C9.35599 12.7964 9.36109 12.7855 9.36805 12.7708C9.38196 12.7413 9.40327 12.6967 9.43164 12.6386C9.48841 12.5226 9.57333 12.3531 9.68378 12.1445C9.90507 11.7264 10.2268 11.1546 10.628 10.5403C11.4489 9.28341 12.5314 7.96007 13.6933 7.32469L12.9736 6.00863C11.4687 6.83158 10.218 8.4249 9.37213 9.72011C8.93998 10.3818 8.59509 10.9949 8.35805 11.4427C8.23933 11.667 8.14717 11.8508 8.08415 11.9797C8.05262 12.0441 8.02836 12.0949 8.01167 12.1303C8.00333 12.1479 7.99688 12.1617 7.99236 12.1715C7.9901 12.1763 7.98833 12.1802 7.98704 12.183C7.98639 12.1844 7.98587 12.1855 7.98547 12.1864C7.98527 12.1868 7.9851 12.1872 7.98496 12.1875C7.9849 12.1876 7.98482 12.1878 7.98478 12.1879C7.98471 12.188 7.98464 12.1882 8.66675 12.5Z\"\r\n fill=\"#079455\"\r\n />\r\n </svg>\r\n )}\r\n {this.showHelpIcon && (\r\n <div class={`help_circle`}>\r\n {!this.destructive ? (\r\n <gb-help-tooltip show-supporting-text={true}>\r\n <slot name=\"tooltip_label\" slot=\"label\"></slot>\r\n <slot name=\"tooltip_supporting_text\" slot=\"supporting_text\"></slot>\r\n </gb-help-tooltip>\r\n ) : (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M7.99458 10H8.00057M7.99992 8.00001V5.33334M14.6666 8.00001C14.6666 11.6819 11.6818 14.6667 7.99992 14.6667C4.31802 14.6667 1.33325 11.6819 1.33325 8.00001C1.33325 4.31811 4.31802 1.33334 7.99992 1.33334C11.6818 1.33334 14.6666 4.31811 14.6666 8.00001Z\"\r\n stroke=\"#B51726\"\r\n stroke-width=\"1.33333\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n )}\r\n </div>\r\n )}\r\n {this.showCloseButton && !this.destructive && (\r\n <gb-button\r\n size={this.size}\r\n hierarchy=\"tertiary_gray\"\r\n icon=\"only\"\r\n state=\"default\"\r\n icon-leading={true}\r\n icon-leading-swap=\"assets/cancel-01.svg\"\r\n onClick={() => this.clearInput()}\r\n class={`input_close_button ${this.size}`}\r\n ></gb-button>\r\n )}\r\n </>\r\n </div>,\r\n ]}\r\n {this.type === 'leading_dropdown' && [\r\n <div class={`input ${this.type} ${this.size} ${this.state} ${this.destructive ? 'destructive' : ''}`}>\r\n <div class={`leading_dropdown_dropdown ${this.state}`} onClick={() => (this.showDropdown = !this.showDropdown)}>\r\n {this.showCountryIcon && (\r\n <div class={`country_icon`}>\r\n <img src=\"build/assets/NG.svg\" alt=\"\" />\r\n </div>\r\n )}\r\n <div class={`dropdown_text`}>\r\n <p class={`text-${this.size}-regular`} style={{ color: 'var(--color-text, #4B5565)' }}>\r\n {this.selectedItem}\r\n </p>\r\n </div>\r\n <div class={`dropdown_arrow`}>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M15 7.50004C15 7.50004 11.3176 12.5 9.99996 12.5C8.68237 12.5 5 7.5 5 7.5\"\r\n stroke=\"#4B5565\"\r\n stroke-width=\"1.66667\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n </div>\r\n </div>\r\n <div class={`leading_dropdown_text_input`}>\r\n <input\r\n class={`content text-${this.size}-regular ${this.type} ${this.state}`}\r\n type={this.inputType === 'number' ? 'text' : this.inputType}\r\n inputMode={this.inputType === 'number' ? 'numeric' : undefined}\r\n pattern={this.inputType === 'number' ? '[0-9]*' : undefined}\r\n minLength={this.minLength}\r\n maxLength={this.maxLength}\r\n placeholder={this.placeholder ? this.placeholder : ''}\r\n onInput={event => this.handleInput(event)}\r\n value={this.value}\r\n onFocus={() => this.handleInputFocus()}\r\n onKeyDown={e => this.handleNumericKeyDown(e as KeyboardEvent)} // <- added\r\n onPaste={e => this.handleNumericPaste(e as ClipboardEvent)}\r\n />\r\n {this.loading && <div class=\"loader\"></div>}\r\n {this.showValidation && !this.destructive && (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M7.03831 9.9735C6.6785 9.76829 6.22047 9.89362 6.01526 10.2534C5.81005 10.6132 5.93538 11.0713 6.29518 11.2765L7.03831 9.9735ZM8.66675 12.5L8.0231 12.885C8.16612 13.1241 8.42989 13.2642 8.70808 13.2489C8.98627 13.2335 9.23302 13.0652 9.34885 12.8118L8.66675 12.5ZM13.6933 7.32469C14.0567 7.12594 14.1902 6.67022 13.9914 6.3068C13.7927 5.94338 13.337 5.80988 12.9736 6.00863L13.6933 7.32469ZM19.0834 9.99999C19.0834 4.9834 15.0167 0.916656 10.0001 0.916656V2.41666C14.1882 2.41666 17.5834 5.81183 17.5834 9.99999H19.0834ZM10.0001 0.916656C4.98349 0.916656 0.916748 4.9834 0.916748 9.99999H2.41675C2.41675 5.81183 5.81192 2.41666 10.0001 2.41666V0.916656ZM0.916748 9.99999C0.916748 15.0166 4.98349 19.0833 10.0001 19.0833V17.5833C5.81192 17.5833 2.41675 14.1881 2.41675 9.99999H0.916748ZM10.0001 19.0833C15.0167 19.0833 19.0834 15.0166 19.0834 9.99999H17.5834C17.5834 14.1881 14.1882 17.5833 10.0001 17.5833V19.0833ZM6.66675 10.625C6.29518 11.2765 6.29506 11.2764 6.29494 11.2763C6.2949 11.2763 6.29478 11.2763 6.29472 11.2762C6.29458 11.2761 6.29446 11.2761 6.29437 11.276C6.29417 11.2759 6.29406 11.2758 6.29402 11.2758C6.29394 11.2758 6.29418 11.2759 6.29472 11.2762C6.2958 11.2768 6.2981 11.2782 6.30155 11.2802C6.30845 11.2843 6.31994 11.2911 6.33556 11.3006C6.36683 11.3196 6.41441 11.3492 6.47453 11.3886C6.59518 11.4676 6.76402 11.5846 6.9516 11.7329C7.33643 12.0371 7.75673 12.4397 8.0231 12.885L9.31039 12.115C8.9101 11.4458 8.3304 10.9108 7.8819 10.5562C7.65281 10.3751 7.44665 10.2322 7.29647 10.1338C7.22117 10.0845 7.15938 10.046 7.11512 10.0191C7.09298 10.0056 7.07518 9.99502 7.06222 9.98739C7.05574 9.98358 7.05047 9.98051 7.04646 9.97819C7.04446 9.97703 7.04278 9.97606 7.04142 9.97528C7.04073 9.97489 7.04013 9.97454 7.03962 9.97425C7.03936 9.9741 7.03912 9.97396 7.0389 9.97384C7.03879 9.97377 7.03865 9.97369 7.03859 9.97366C7.03845 9.97358 7.03831 9.9735 6.66675 10.625ZM8.66675 12.5C9.34885 12.8118 9.3488 12.8119 9.34876 12.812C9.34876 12.812 9.34872 12.8121 9.34871 12.8121C9.3487 12.8122 9.34871 12.8121 9.34876 12.812C9.34884 12.8118 9.34905 12.8114 9.34938 12.8107C9.35003 12.8092 9.35117 12.8068 9.35277 12.8033C9.35599 12.7964 9.36109 12.7855 9.36805 12.7708C9.38196 12.7413 9.40327 12.6967 9.43164 12.6386C9.48841 12.5226 9.57333 12.3531 9.68378 12.1445C9.90507 11.7264 10.2268 11.1546 10.628 10.5403C11.4489 9.28341 12.5314 7.96007 13.6933 7.32469L12.9736 6.00863C11.4687 6.83158 10.218 8.4249 9.37213 9.72011C8.93998 10.3818 8.59509 10.9949 8.35805 11.4427C8.23933 11.667 8.14717 11.8508 8.08415 11.9797C8.05262 12.0441 8.02836 12.0949 8.01167 12.1303C8.00333 12.1479 7.99688 12.1617 7.99236 12.1715C7.9901 12.1763 7.98833 12.1802 7.98704 12.183C7.98639 12.1844 7.98587 12.1855 7.98547 12.1864C7.98527 12.1868 7.9851 12.1872 7.98496 12.1875C7.9849 12.1876 7.98482 12.1878 7.98478 12.1879C7.98471 12.188 7.98464 12.1882 8.66675 12.5Z\"\r\n fill=\"#079455\"\r\n />\r\n </svg>\r\n )}\r\n {this.showHelpIcon && (\r\n <div class={`help_circle`}>\r\n {!this.destructive ? (\r\n <gb-help-tooltip show-supporting-text={true}>\r\n <slot name=\"tooltip_label\" slot=\"label\"></slot>\r\n <slot name=\"tooltip_supporting_text\" slot=\"supporting_text\"></slot>\r\n </gb-help-tooltip>\r\n ) : (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M7.99458 10H8.00057M7.99992 8.00001V5.33334M14.6666 8.00001C14.6666 11.6819 11.6818 14.6667 7.99992 14.6667C4.31802 14.6667 1.33325 11.6819 1.33325 8.00001C1.33325 4.31811 4.31802 1.33334 7.99992 1.33334C11.6818 1.33334 14.6666 4.31811 14.6666 8.00001Z\"\r\n stroke=\"#B51726\"\r\n stroke-width=\"1.33333\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n )}\r\n </div>\r\n )}\r\n </div>\r\n </div>,\r\n <>\r\n {this.showDropdown && (\r\n <div class={`dropdown_menu ${this.type} ${this.size} ${this.menuPosition}`} ref={el => (this.dropdownRef = el)}>\r\n {this.options.map(option => (\r\n <gb-input-dropdown-menu-item\r\n type=\"default\"\r\n state={this.options.length === 1 ? StateEnum.Disabled : StateEnum.Default}\r\n selected={this.isItemSelected(option)}\r\n onClick={() => this.handleItemSelect(option)}\r\n >\r\n <p slot=\"name\">{option}</p>\r\n </gb-input-dropdown-menu-item>\r\n ))}\r\n </div>\r\n )}\r\n </>,\r\n ]}\r\n {this.type === 'trailing_dropdown' && [\r\n <div class={`input ${this.type} ${this.size} ${this.state} ${this.destructive ? 'destructive' : ''}`}>\r\n <div class={`trailing_dropdown_content`}>\r\n <p class={`text-${this.size}-regular`} style={{ color: 'var(--color-text, #4B5565)' }}>\r\n $\r\n </p>\r\n <input\r\n class={`content text-${this.size}-regular ${this.type} ${this.state}`}\r\n type={this.inputType === 'number' ? 'text' : this.inputType}\r\n inputMode={this.inputType === 'number' ? 'numeric' : undefined}\r\n pattern={this.inputType === 'number' ? '[0-9]*' : undefined}\r\n minLength={this.minLength}\r\n maxLength={this.maxLength}\r\n placeholder={this.placeholder ? this.placeholder : ''}\r\n onInput={event => this.handleInput(event)}\r\n value={this.value}\r\n onFocus={() => this.handleInputFocus()}\r\n onKeyDown={e => this.handleNumericKeyDown(e as KeyboardEvent)} // <- added\r\n onPaste={e => this.handleNumericPaste(e as ClipboardEvent)}\r\n // onBlur={() => this.runValidation()}\r\n />\r\n {this.loading && <div class=\"loader\"></div>}\r\n {this.showHelpIcon && (\r\n <div class={`help_circle`}>\r\n {!this.destructive ? (\r\n <gb-help-tooltip show-supporting-text={true}>\r\n <slot name=\"tooltip_label\" slot=\"label\"></slot>\r\n <slot name=\"tooltip_supporting_text\" slot=\"supporting_text\"></slot>\r\n </gb-help-tooltip>\r\n ) : (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M7.99458 10H8.00057M7.99992 8.00001V5.33334M14.6666 8.00001C14.6666 11.6819 11.6818 14.6667 7.99992 14.6667C4.31802 14.6667 1.33325 11.6819 1.33325 8.00001C1.33325 4.31811 4.31802 1.33334 7.99992 1.33334C11.6818 1.33334 14.6666 4.31811 14.6666 8.00001Z\"\r\n stroke=\"#B51726\"\r\n stroke-width=\"1.33333\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n )}\r\n </div>\r\n )}\r\n </div>\r\n <div class={`trailing_dropdown_dropdown`} onClick={() => (this.showDropdown = !this.showDropdown)}>\r\n <div class={`dropdown_text`}>\r\n <p class={`text-${this.size}-regular`} style={{ color: 'var(--color-text, #4B5565)' }}>\r\n {this.selectedItem}\r\n </p>\r\n </div>\r\n <div class={`dropdown_arrow`}>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M15 7.50004C15 7.50004 11.3176 12.5 9.99996 12.5C8.68237 12.5 5 7.5 5 7.5\"\r\n stroke=\"#4B5565\"\r\n stroke-width=\"1.66667\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n </div>\r\n </div>\r\n </div>,\r\n <>\r\n {this.showDropdown && (\r\n <div class={`dropdown_menu ${this.type} ${this.size} ${this.menuPosition}`} ref={el => (this.dropdownRef = el)}>\r\n {this.options.map(option => (\r\n <gb-input-dropdown-menu-item type=\"default\" state={StateEnum.Default} selected={this.isItemSelected(option)} onClick={() => this.handleItemSelect(option)}>\r\n <p slot=\"name\">{option}</p>\r\n </gb-input-dropdown-menu-item>\r\n ))}\r\n </div>\r\n )}\r\n </>,\r\n ]}\r\n {this.type === 'leading_text' && [\r\n <div class=\"leading_text_input\">\r\n <div class={`add_on`}>\r\n {/* <p class={`text-${this.size}-regular`} style={{ color: this.state === 'disabled' ? 'var(--color-text-disabled, #CDD5DF)' : 'var(--color-text, #4B5565)' }}>\r\n http://\r\n </p> */}\r\n <slot name=\"text\"></slot>\r\n </div>\r\n <div class={`input ${this.type} ${this.size} ${this.state} ${this.destructive ? 'destructive' : ''}`}>\r\n <input\r\n class={`content text-${this.size}-regular ${this.type} ${this.state}`}\r\n type={this.inputType === 'number' ? 'text' : this.inputType}\r\n inputMode={this.inputType === 'number' ? 'numeric' : undefined}\r\n pattern={this.inputType === 'number' ? '[0-9]*' : undefined}\r\n minLength={this.minLength}\r\n maxLength={this.maxLength}\r\n placeholder={this.placeholder ? this.placeholder : ''}\r\n onInput={event => this.handleInput(event)}\r\n value={this.value}\r\n onFocus={() => this.handleInputFocus()}\r\n onKeyDown={e => this.handleNumericKeyDown(e as KeyboardEvent)} // <- added\r\n onPaste={e => this.handleNumericPaste(e as ClipboardEvent)}\r\n // onBlur={() => this.runValidation()}\r\n />\r\n {this.loading && <div class=\"loader\"></div>}\r\n {this.showValidation && !this.destructive && (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M7.03831 9.9735C6.6785 9.76829 6.22047 9.89362 6.01526 10.2534C5.81005 10.6132 5.93538 11.0713 6.29518 11.2765L7.03831 9.9735ZM8.66675 12.5L8.0231 12.885C8.16612 13.1241 8.42989 13.2642 8.70808 13.2489C8.98627 13.2335 9.23302 13.0652 9.34885 12.8118L8.66675 12.5ZM13.6933 7.32469C14.0567 7.12594 14.1902 6.67022 13.9914 6.3068C13.7927 5.94338 13.337 5.80988 12.9736 6.00863L13.6933 7.32469ZM19.0834 9.99999C19.0834 4.9834 15.0167 0.916656 10.0001 0.916656V2.41666C14.1882 2.41666 17.5834 5.81183 17.5834 9.99999H19.0834ZM10.0001 0.916656C4.98349 0.916656 0.916748 4.9834 0.916748 9.99999H2.41675C2.41675 5.81183 5.81192 2.41666 10.0001 2.41666V0.916656ZM0.916748 9.99999C0.916748 15.0166 4.98349 19.0833 10.0001 19.0833V17.5833C5.81192 17.5833 2.41675 14.1881 2.41675 9.99999H0.916748ZM10.0001 19.0833C15.0167 19.0833 19.0834 15.0166 19.0834 9.99999H17.5834C17.5834 14.1881 14.1882 17.5833 10.0001 17.5833V19.0833ZM6.66675 10.625C6.29518 11.2765 6.29506 11.2764 6.29494 11.2763C6.2949 11.2763 6.29478 11.2763 6.29472 11.2762C6.29458 11.2761 6.29446 11.2761 6.29437 11.276C6.29417 11.2759 6.29406 11.2758 6.29402 11.2758C6.29394 11.2758 6.29418 11.2759 6.29472 11.2762C6.2958 11.2768 6.2981 11.2782 6.30155 11.2802C6.30845 11.2843 6.31994 11.2911 6.33556 11.3006C6.36683 11.3196 6.41441 11.3492 6.47453 11.3886C6.59518 11.4676 6.76402 11.5846 6.9516 11.7329C7.33643 12.0371 7.75673 12.4397 8.0231 12.885L9.31039 12.115C8.9101 11.4458 8.3304 10.9108 7.8819 10.5562C7.65281 10.3751 7.44665 10.2322 7.29647 10.1338C7.22117 10.0845 7.15938 10.046 7.11512 10.0191C7.09298 10.0056 7.07518 9.99502 7.06222 9.98739C7.05574 9.98358 7.05047 9.98051 7.04646 9.97819C7.04446 9.97703 7.04278 9.97606 7.04142 9.97528C7.04073 9.97489 7.04013 9.97454 7.03962 9.97425C7.03936 9.9741 7.03912 9.97396 7.0389 9.97384C7.03879 9.97377 7.03865 9.97369 7.03859 9.97366C7.03845 9.97358 7.03831 9.9735 6.66675 10.625ZM8.66675 12.5C9.34885 12.8118 9.3488 12.8119 9.34876 12.812C9.34876 12.812 9.34872 12.8121 9.34871 12.8121C9.3487 12.8122 9.34871 12.8121 9.34876 12.812C9.34884 12.8118 9.34905 12.8114 9.34938 12.8107C9.35003 12.8092 9.35117 12.8068 9.35277 12.8033C9.35599 12.7964 9.36109 12.7855 9.36805 12.7708C9.38196 12.7413 9.40327 12.6967 9.43164 12.6386C9.48841 12.5226 9.57333 12.3531 9.68378 12.1445C9.90507 11.7264 10.2268 11.1546 10.628 10.5403C11.4489 9.28341 12.5314 7.96007 13.6933 7.32469L12.9736 6.00863C11.4687 6.83158 10.218 8.4249 9.37213 9.72011C8.93998 10.3818 8.59509 10.9949 8.35805 11.4427C8.23933 11.667 8.14717 11.8508 8.08415 11.9797C8.05262 12.0441 8.02836 12.0949 8.01167 12.1303C8.00333 12.1479 7.99688 12.1617 7.99236 12.1715C7.9901 12.1763 7.98833 12.1802 7.98704 12.183C7.98639 12.1844 7.98587 12.1855 7.98547 12.1864C7.98527 12.1868 7.9851 12.1872 7.98496 12.1875C7.9849 12.1876 7.98482 12.1878 7.98478 12.1879C7.98471 12.188 7.98464 12.1882 8.66675 12.5Z\"\r\n fill=\"#079455\"\r\n />\r\n </svg>\r\n )}\r\n {this.showHelpIcon && (\r\n <div class={`help_circle`}>\r\n {!this.destructive ? (\r\n <gb-help-tooltip show-supporting-text={true}>\r\n <slot name=\"tooltip_label\" slot=\"label\"></slot>\r\n <slot name=\"tooltip_supporting_text\" slot=\"supporting_text\"></slot>\r\n </gb-help-tooltip>\r\n ) : (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M7.99458 10H8.00057M7.99992 8.00001V5.33334M14.6666 8.00001C14.6666 11.6819 11.6818 14.6667 7.99992 14.6667C4.31802 14.6667 1.33325 11.6819 1.33325 8.00001C1.33325 4.31811 4.31802 1.33334 7.99992 1.33334C11.6818 1.33334 14.6666 4.31811 14.6666 8.00001Z\"\r\n stroke=\"#B51726\"\r\n stroke-width=\"1.33333\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n )}\r\n </div>\r\n )}\r\n </div>\r\n </div>,\r\n ]}\r\n {this.type === 'payment_input' && (\r\n <div class={`input ${this.type} ${this.size} ${this.state} ${this.destructive ? 'destructive' : ''}`}>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"23\" height=\"14\" viewBox=\"0 0 23 14\" fill=\"none\">\r\n <path\r\n fill-rule=\"evenodd\"\r\n clip-rule=\"evenodd\"\r\n d=\"M11.179 11.8294C9.99493 12.8275 8.45902 13.43 6.78069 13.43C3.03582 13.43 0 10.4303 0 6.72997C0 3.02966 3.03582 0.0299683 6.78069 0.0299683C8.45902 0.0299683 9.99493 0.632466 11.179 1.63051C12.363 0.632466 13.8989 0.0299683 15.5773 0.0299683C19.3221 0.0299683 22.358 3.02966 22.358 6.72997C22.358 10.4303 19.3221 13.43 15.5773 13.43C13.8989 13.43 12.363 12.8275 11.179 11.8294Z\"\r\n fill=\"#ED0006\"\r\n />\r\n <path\r\n fill-rule=\"evenodd\"\r\n clip-rule=\"evenodd\"\r\n d=\"M11.179 11.8294C12.6369 10.6005 13.5614 8.77192 13.5614 6.72997C13.5614 4.68801 12.6369 2.85941 11.179 1.63051C12.363 0.632465 13.8989 0.0299683 15.5772 0.0299683C19.3221 0.0299683 22.3579 3.02966 22.3579 6.72997C22.3579 10.4303 19.3221 13.43 15.5772 13.43C13.8989 13.43 12.363 12.8275 11.179 11.8294Z\"\r\n fill=\"#F9A000\"\r\n />\r\n <path\r\n fill-rule=\"evenodd\"\r\n clip-rule=\"evenodd\"\r\n d=\"M11.179 11.8294C12.6369 10.6005 13.5614 8.77193 13.5614 6.72999C13.5614 4.68805 12.6369 2.85946 11.179 1.63055C9.72109 2.85946 8.79663 4.68805 8.79663 6.72999C8.79663 8.77193 9.72109 10.6005 11.179 11.8294Z\"\r\n fill=\"#FF5E00\"\r\n />\r\n </svg>\r\n <input\r\n class={`content text-${this.size}-regular ${this.type} ${this.state}`}\r\n type={this.inputType === 'number' ? 'text' : this.inputType}\r\n inputMode={this.inputType === 'number' ? 'numeric' : undefined}\r\n pattern={this.inputType === 'number' ? '[0-9]*' : undefined}\r\n minLength={this.minLength}\r\n maxLength={this.maxLength}\r\n placeholder={this.placeholder ? this.placeholder : ''}\r\n onInput={event => this.handleInput(event)}\r\n value={this.value}\r\n onFocus={() => this.handleInputFocus()}\r\n onKeyDown={e => this.handleNumericKeyDown(e as KeyboardEvent)} // <- added\r\n onPaste={e => this.handleNumericPaste(e as ClipboardEvent)}\r\n />\r\n <>\r\n {this.loading && <div class=\"loader\"></div>}\r\n {this.showValidation && !this.destructive && (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M7.03831 9.9735C6.6785 9.76829 6.22047 9.89362 6.01526 10.2534C5.81005 10.6132 5.93538 11.0713 6.29518 11.2765L7.03831 9.9735ZM8.66675 12.5L8.0231 12.885C8.16612 13.1241 8.42989 13.2642 8.70808 13.2489C8.98627 13.2335 9.23302 13.0652 9.34885 12.8118L8.66675 12.5ZM13.6933 7.32469C14.0567 7.12594 14.1902 6.67022 13.9914 6.3068C13.7927 5.94338 13.337 5.80988 12.9736 6.00863L13.6933 7.32469ZM19.0834 9.99999C19.0834 4.9834 15.0167 0.916656 10.0001 0.916656V2.41666C14.1882 2.41666 17.5834 5.81183 17.5834 9.99999H19.0834ZM10.0001 0.916656C4.98349 0.916656 0.916748 4.9834 0.916748 9.99999H2.41675C2.41675 5.81183 5.81192 2.41666 10.0001 2.41666V0.916656ZM0.916748 9.99999C0.916748 15.0166 4.98349 19.0833 10.0001 19.0833V17.5833C5.81192 17.5833 2.41675 14.1881 2.41675 9.99999H0.916748ZM10.0001 19.0833C15.0167 19.0833 19.0834 15.0166 19.0834 9.99999H17.5834C17.5834 14.1881 14.1882 17.5833 10.0001 17.5833V19.0833ZM6.66675 10.625C6.29518 11.2765 6.29506 11.2764 6.29494 11.2763C6.2949 11.2763 6.29478 11.2763 6.29472 11.2762C6.29458 11.2761 6.29446 11.2761 6.29437 11.276C6.29417 11.2759 6.29406 11.2758 6.29402 11.2758C6.29394 11.2758 6.29418 11.2759 6.29472 11.2762C6.2958 11.2768 6.2981 11.2782 6.30155 11.2802C6.30845 11.2843 6.31994 11.2911 6.33556 11.3006C6.36683 11.3196 6.41441 11.3492 6.47453 11.3886C6.59518 11.4676 6.76402 11.5846 6.9516 11.7329C7.33643 12.0371 7.75673 12.4397 8.0231 12.885L9.31039 12.115C8.9101 11.4458 8.3304 10.9108 7.8819 10.5562C7.65281 10.3751 7.44665 10.2322 7.29647 10.1338C7.22117 10.0845 7.15938 10.046 7.11512 10.0191C7.09298 10.0056 7.07518 9.99502 7.06222 9.98739C7.05574 9.98358 7.05047 9.98051 7.04646 9.97819C7.04446 9.97703 7.04278 9.97606 7.04142 9.97528C7.04073 9.97489 7.04013 9.97454 7.03962 9.97425C7.03936 9.9741 7.03912 9.97396 7.0389 9.97384C7.03879 9.97377 7.03865 9.97369 7.03859 9.97366C7.03845 9.97358 7.03831 9.9735 6.66675 10.625ZM8.66675 12.5C9.34885 12.8118 9.3488 12.8119 9.34876 12.812C9.34876 12.812 9.34872 12.8121 9.34871 12.8121C9.3487 12.8122 9.34871 12.8121 9.34876 12.812C9.34884 12.8118 9.34905 12.8114 9.34938 12.8107C9.35003 12.8092 9.35117 12.8068 9.35277 12.8033C9.35599 12.7964 9.36109 12.7855 9.36805 12.7708C9.38196 12.7413 9.40327 12.6967 9.43164 12.6386C9.48841 12.5226 9.57333 12.3531 9.68378 12.1445C9.90507 11.7264 10.2268 11.1546 10.628 10.5403C11.4489 9.28341 12.5314 7.96007 13.6933 7.32469L12.9736 6.00863C11.4687 6.83158 10.218 8.4249 9.37213 9.72011C8.93998 10.3818 8.59509 10.9949 8.35805 11.4427C8.23933 11.667 8.14717 11.8508 8.08415 11.9797C8.05262 12.0441 8.02836 12.0949 8.01167 12.1303C8.00333 12.1479 7.99688 12.1617 7.99236 12.1715C7.9901 12.1763 7.98833 12.1802 7.98704 12.183C7.98639 12.1844 7.98587 12.1855 7.98547 12.1864C7.98527 12.1868 7.9851 12.1872 7.98496 12.1875C7.9849 12.1876 7.98482 12.1878 7.98478 12.1879C7.98471 12.188 7.98464 12.1882 8.66675 12.5Z\"\r\n fill=\"#079455\"\r\n />\r\n </svg>\r\n )}\r\n {this.showHelpIcon && (\r\n <div class={`help_circle`}>\r\n {!this.destructive ? (\r\n <gb-help-tooltip show-supporting-text={true}>\r\n <slot name=\"tooltip_label\" slot=\"label\"></slot>\r\n <slot name=\"tooltip_supporting_text\" slot=\"supporting_text\"></slot>\r\n </gb-help-tooltip>\r\n ) : (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M7.99458 10H8.00057M7.99992 8.00001V5.33334M14.6666 8.00001C14.6666 11.6819 11.6818 14.6667 7.99992 14.6667C4.31802 14.6667 1.33325 11.6819 1.33325 8.00001C1.33325 4.31811 4.31802 1.33334 7.99992 1.33334C11.6818 1.33334 14.6666 4.31811 14.6666 8.00001Z\"\r\n stroke=\"#B51726\"\r\n stroke-width=\"1.33333\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n )}\r\n </div>\r\n )}\r\n </>\r\n </div>\r\n )}\r\n {this.type === 'trailing_button' && (\r\n <div class={`input ${this.type} ${this.size} ${this.state} ${this.destructive ? 'destructive' : ''}`}>\r\n <div class={`trailing_button_text_input ${this.size}`}>\r\n <input\r\n class={`content text-${this.size}-regular ${this.type} ${this.state}`}\r\n type={this.inputType === 'number' ? 'text' : this.inputType}\r\n inputMode={this.inputType === 'number' ? 'numeric' : undefined}\r\n pattern={this.inputType === 'number' ? '[0-9]*' : undefined}\r\n minLength={this.minLength}\r\n maxLength={this.maxLength}\r\n placeholder={this.placeholder ? this.placeholder : ''}\r\n onInput={event => this.handleInput(event)}\r\n ref={el => (this.inputRef = el as HTMLInputElement)}\r\n value={this.value}\r\n onFocus={() => this.handleInputFocus()}\r\n onKeyDown={e => this.handleNumericKeyDown(e as KeyboardEvent)} // <- added\r\n onPaste={e => this.handleNumericPaste(e as ClipboardEvent)}\r\n // onBlur={() => this.runValidation()}\r\n />\r\n {this.loading && <div class=\"loader\"></div>}\r\n {this.showValidation && !this.destructive && (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M7.03831 9.9735C6.6785 9.76829 6.22047 9.89362 6.01526 10.2534C5.81005 10.6132 5.93538 11.0713 6.29518 11.2765L7.03831 9.9735ZM8.66675 12.5L8.0231 12.885C8.16612 13.1241 8.42989 13.2642 8.70808 13.2489C8.98627 13.2335 9.23302 13.0652 9.34885 12.8118L8.66675 12.5ZM13.6933 7.32469C14.0567 7.12594 14.1902 6.67022 13.9914 6.3068C13.7927 5.94338 13.337 5.80988 12.9736 6.00863L13.6933 7.32469ZM19.0834 9.99999C19.0834 4.9834 15.0167 0.916656 10.0001 0.916656V2.41666C14.1882 2.41666 17.5834 5.81183 17.5834 9.99999H19.0834ZM10.0001 0.916656C4.98349 0.916656 0.916748 4.9834 0.916748 9.99999H2.41675C2.41675 5.81183 5.81192 2.41666 10.0001 2.41666V0.916656ZM0.916748 9.99999C0.916748 15.0166 4.98349 19.0833 10.0001 19.0833V17.5833C5.81192 17.5833 2.41675 14.1881 2.41675 9.99999H0.916748ZM10.0001 19.0833C15.0167 19.0833 19.0834 15.0166 19.0834 9.99999H17.5834C17.5834 14.1881 14.1882 17.5833 10.0001 17.5833V19.0833ZM6.66675 10.625C6.29518 11.2765 6.29506 11.2764 6.29494 11.2763C6.2949 11.2763 6.29478 11.2763 6.29472 11.2762C6.29458 11.2761 6.29446 11.2761 6.29437 11.276C6.29417 11.2759 6.29406 11.2758 6.29402 11.2758C6.29394 11.2758 6.29418 11.2759 6.29472 11.2762C6.2958 11.2768 6.2981 11.2782 6.30155 11.2802C6.30845 11.2843 6.31994 11.2911 6.33556 11.3006C6.36683 11.3196 6.41441 11.3492 6.47453 11.3886C6.59518 11.4676 6.76402 11.5846 6.9516 11.7329C7.33643 12.0371 7.75673 12.4397 8.0231 12.885L9.31039 12.115C8.9101 11.4458 8.3304 10.9108 7.8819 10.5562C7.65281 10.3751 7.44665 10.2322 7.29647 10.1338C7.22117 10.0845 7.15938 10.046 7.11512 10.0191C7.09298 10.0056 7.07518 9.99502 7.06222 9.98739C7.05574 9.98358 7.05047 9.98051 7.04646 9.97819C7.04446 9.97703 7.04278 9.97606 7.04142 9.97528C7.04073 9.97489 7.04013 9.97454 7.03962 9.97425C7.03936 9.9741 7.03912 9.97396 7.0389 9.97384C7.03879 9.97377 7.03865 9.97369 7.03859 9.97366C7.03845 9.97358 7.03831 9.9735 6.66675 10.625ZM8.66675 12.5C9.34885 12.8118 9.3488 12.8119 9.34876 12.812C9.34876 12.812 9.34872 12.8121 9.34871 12.8121C9.3487 12.8122 9.34871 12.8121 9.34876 12.812C9.34884 12.8118 9.34905 12.8114 9.34938 12.8107C9.35003 12.8092 9.35117 12.8068 9.35277 12.8033C9.35599 12.7964 9.36109 12.7855 9.36805 12.7708C9.38196 12.7413 9.40327 12.6967 9.43164 12.6386C9.48841 12.5226 9.57333 12.3531 9.68378 12.1445C9.90507 11.7264 10.2268 11.1546 10.628 10.5403C11.4489 9.28341 12.5314 7.96007 13.6933 7.32469L12.9736 6.00863C11.4687 6.83158 10.218 8.4249 9.37213 9.72011C8.93998 10.3818 8.59509 10.9949 8.35805 11.4427C8.23933 11.667 8.14717 11.8508 8.08415 11.9797C8.05262 12.0441 8.02836 12.0949 8.01167 12.1303C8.00333 12.1479 7.99688 12.1617 7.99236 12.1715C7.9901 12.1763 7.98833 12.1802 7.98704 12.183C7.98639 12.1844 7.98587 12.1855 7.98547 12.1864C7.98527 12.1868 7.9851 12.1872 7.98496 12.1875C7.9849 12.1876 7.98482 12.1878 7.98478 12.1879C7.98471 12.188 7.98464 12.1882 8.66675 12.5Z\"\r\n fill=\"#079455\"\r\n />\r\n </svg>\r\n )}\r\n {this.showHelpIcon && (\r\n <div class={`help_circle`}>\r\n {!this.destructive ? (\r\n <gb-help-tooltip show-supporting-text={true}>\r\n <slot name=\"tooltip_label\" slot=\"label\"></slot>\r\n <slot name=\"tooltip_supporting_text\" slot=\"supporting_text\"></slot>\r\n </gb-help-tooltip>\r\n ) : (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M7.99458 10H8.00057M7.99992 8.00001V5.33334M14.6666 8.00001C14.6666 11.6819 11.6818 14.6667 7.99992 14.6667C4.31802 14.6667 1.33325 11.6819 1.33325 8.00001C1.33325 4.31811 4.31802 1.33334 7.99992 1.33334C11.6818 1.33334 14.6666 4.31811 14.6666 8.00001Z\"\r\n stroke=\"#B51726\"\r\n stroke-width=\"1.33333\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n )}\r\n </div>\r\n )}\r\n </div>\r\n {this.loading && <div class=\"loader\"></div>}\r\n <gb-button\r\n size=\"lg\"\r\n hierarchy=\"tertiary_gray\"\r\n icon=\"only\"\r\n state={this.state === 'disabled' ? 'disabled' : 'default'}\r\n icon-leading={true}\r\n icon-leading-swap={this.iconSwap}\r\n onClick={() => this.onButtonClicked()}\r\n ></gb-button>\r\n </div>\r\n )}\r\n {this.type === 'password' && (\r\n <div class={`password_input ${this.type} ${this.size} ${this.state} ${this.destructive ? 'destructive' : ''}`}>\r\n <div class={`password_content`}>\r\n <input\r\n class={`content text-${this.size}-regular ${this.type} ${this.state}`}\r\n type={this.isPasswordVisible ? 'text' : 'password'}\r\n placeholder={this.placeholder ? this.placeholder : ''}\r\n onInput={event => this.handleInput(event)}\r\n onFocus={() => this.handleInputFocus()}\r\n />\r\n {this.loading && <div class=\"loader\"></div>}\r\n {this.showValidation && !this.destructive && (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M7.03831 9.9735C6.6785 9.76829 6.22047 9.89362 6.01526 10.2534C5.81005 10.6132 5.93538 11.0713 6.29518 11.2765L7.03831 9.9735ZM8.66675 12.5L8.0231 12.885C8.16612 13.1241 8.42989 13.2642 8.70808 13.2489C8.98627 13.2335 9.23302 13.0652 9.34885 12.8118L8.66675 12.5ZM13.6933 7.32469C14.0567 7.12594 14.1902 6.67022 13.9914 6.3068C13.7927 5.94338 13.337 5.80988 12.9736 6.00863L13.6933 7.32469ZM19.0834 9.99999C19.0834 4.9834 15.0167 0.916656 10.0001 0.916656V2.41666C14.1882 2.41666 17.5834 5.81183 17.5834 9.99999H19.0834ZM10.0001 0.916656C4.98349 0.916656 0.916748 4.9834 0.916748 9.99999H2.41675C2.41675 5.81183 5.81192 2.41666 10.0001 2.41666V0.916656ZM0.916748 9.99999C0.916748 15.0166 4.98349 19.0833 10.0001 19.0833V17.5833C5.81192 17.5833 2.41675 14.1881 2.41675 9.99999H0.916748ZM10.0001 19.0833C15.0167 19.0833 19.0834 15.0166 19.0834 9.99999H17.5834C17.5834 14.1881 14.1882 17.5833 10.0001 17.5833V19.0833ZM6.66675 10.625C6.29518 11.2765 6.29506 11.2764 6.29494 11.2763C6.2949 11.2763 6.29478 11.2763 6.29472 11.2762C6.29458 11.2761 6.29446 11.2761 6.29437 11.276C6.29417 11.2759 6.29406 11.2758 6.29402 11.2758C6.29394 11.2758 6.29418 11.2759 6.29472 11.2762C6.2958 11.2768 6.2981 11.2782 6.30155 11.2802C6.30845 11.2843 6.31994 11.2911 6.33556 11.3006C6.36683 11.3196 6.41441 11.3492 6.47453 11.3886C6.59518 11.4676 6.76402 11.5846 6.9516 11.7329C7.33643 12.0371 7.75673 12.4397 8.0231 12.885L9.31039 12.115C8.9101 11.4458 8.3304 10.9108 7.8819 10.5562C7.65281 10.3751 7.44665 10.2322 7.29647 10.1338C7.22117 10.0845 7.15938 10.046 7.11512 10.0191C7.09298 10.0056 7.07518 9.99502 7.06222 9.98739C7.05574 9.98358 7.05047 9.98051 7.04646 9.97819C7.04446 9.97703 7.04278 9.97606 7.04142 9.97528C7.04073 9.97489 7.04013 9.97454 7.03962 9.97425C7.03936 9.9741 7.03912 9.97396 7.0389 9.97384C7.03879 9.97377 7.03865 9.97369 7.03859 9.97366C7.03845 9.97358 7.03831 9.9735 6.66675 10.625ZM8.66675 12.5C9.34885 12.8118 9.3488 12.8119 9.34876 12.812C9.34876 12.812 9.34872 12.8121 9.34871 12.8121C9.3487 12.8122 9.34871 12.8121 9.34876 12.812C9.34884 12.8118 9.34905 12.8114 9.34938 12.8107C9.35003 12.8092 9.35117 12.8068 9.35277 12.8033C9.35599 12.7964 9.36109 12.7855 9.36805 12.7708C9.38196 12.7413 9.40327 12.6967 9.43164 12.6386C9.48841 12.5226 9.57333 12.3531 9.68378 12.1445C9.90507 11.7264 10.2268 11.1546 10.628 10.5403C11.4489 9.28341 12.5314 7.96007 13.6933 7.32469L12.9736 6.00863C11.4687 6.83158 10.218 8.4249 9.37213 9.72011C8.93998 10.3818 8.59509 10.9949 8.35805 11.4427C8.23933 11.667 8.14717 11.8508 8.08415 11.9797C8.05262 12.0441 8.02836 12.0949 8.01167 12.1303C8.00333 12.1479 7.99688 12.1617 7.99236 12.1715C7.9901 12.1763 7.98833 12.1802 7.98704 12.183C7.98639 12.1844 7.98587 12.1855 7.98547 12.1864C7.98527 12.1868 7.9851 12.1872 7.98496 12.1875C7.9849 12.1876 7.98482 12.1878 7.98478 12.1879C7.98471 12.188 7.98464 12.1882 8.66675 12.5Z\"\r\n fill=\"#079455\"\r\n />\r\n </svg>\r\n )}\r\n {this.showHelpIcon && (\r\n <div class={`help_circle`}>\r\n {!this.destructive ? (\r\n <gb-help-tooltip show-supporting-text={true}>\r\n <slot name=\"tooltip_label\" slot=\"label\"></slot>\r\n <slot name=\"tooltip_supporting_text\" slot=\"supporting_text\"></slot>\r\n </gb-help-tooltip>\r\n ) : (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M7.99458 10H8.00057M7.99992 8.00001V5.33334M14.6666 8.00001C14.6666 11.6819 11.6818 14.6667 7.99992 14.6667C4.31802 14.6667 1.33325 11.6819 1.33325 8.00001C1.33325 4.31811 4.31802 1.33334 7.99992 1.33334C11.6818 1.33334 14.6666 4.31811 14.6666 8.00001Z\"\r\n stroke=\"#B51726\"\r\n stroke-width=\"1.33333\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n )}\r\n </div>\r\n )}\r\n </div>\r\n <div class={`dropdown`}>\r\n <gb-password-button onClick={() => this.togglePasswordVisibility()}></gb-password-button>\r\n </div>\r\n </div>\r\n )}\r\n {this.type === 'password_icon_leading' && (\r\n <div class={`password_icon_leading_input input ${this.type} ${this.size} ${this.state} ${this.destructive ? 'destructive' : ''}`}>\r\n <div class={`password_icon_leading_content`}>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M12.0759 12.1667C11.6617 12.1667 11.3259 12.5025 11.3259 12.9167C11.3259 13.3309 11.6617 13.6667 12.0759 13.6667V12.1667ZM12.0833 13.6667C12.4976 13.6667 12.8333 13.3309 12.8333 12.9167C12.8333 12.5025 12.4976 12.1667 12.0833 12.1667V13.6667ZM7.91668 12.1667C7.50246 12.1667 7.16668 12.5025 7.16668 12.9167C7.16668 13.3309 7.50246 13.6667 7.91668 13.6667V12.1667ZM7.92415 13.6667C8.33836 13.6667 8.67415 13.3309 8.67415 12.9167C8.67415 12.5025 8.33836 12.1667 7.92415 12.1667V13.6667ZM16.4435 10.1294L17.1868 10.0293L16.4435 10.1294ZM13.7003 7.58258L13.7347 6.83337L13.7003 7.58258ZM13.7003 18.2508L13.7347 19L13.7003 18.2508ZM16.4435 15.704L15.7002 15.6039L16.4435 15.704ZM6.29973 7.58258L6.33417 8.33179L6.29973 7.58258ZM3.55652 10.1294L2.81323 10.0293L3.55652 10.1294ZM6.29973 18.2508L6.33417 17.5015L6.29973 18.2508ZM3.55652 15.704L4.29981 15.6039L3.55652 15.704ZM5.50001 7.5C5.50001 7.91422 5.8358 8.25 6.25001 8.25C6.66422 8.25 7.00001 7.91422 7.00001 7.5H5.50001ZM13 7.5C13 7.91422 13.3358 8.25 13.75 8.25C14.1642 8.25 14.5 7.91422 14.5 7.5H13ZM12.0759 13.6667H12.0833V12.1667H12.0759V13.6667ZM7.91668 13.6667H7.92415V12.1667H7.91668V13.6667ZM10 17.5833C8.69057 17.5833 7.50287 17.5553 6.33417 17.5015L6.26528 19C7.45761 19.0548 8.66829 19.0833 10 19.0833V17.5833ZM13.6659 17.5015C12.4972 17.5553 11.3094 17.5833 10 17.5833V19.0833C11.3317 19.0833 12.5424 19.0548 13.7347 19L13.6659 17.5015ZM17.1868 15.804C17.3105 14.8853 17.4167 13.9152 17.4167 12.9167H15.9167C15.9167 13.8142 15.8211 14.7058 15.7002 15.6039L17.1868 15.804ZM17.4167 12.9167C17.4167 11.9181 17.3105 10.948 17.1868 10.0293L15.7002 10.2295C15.8211 11.1275 15.9167 12.0192 15.9167 12.9167H17.4167ZM10 8.25C11.3095 8.25 12.4972 8.27806 13.6659 8.33179L13.7347 6.83337C12.5424 6.77856 11.3317 6.75 10 6.75V8.25ZM6.33417 8.33179C7.50287 8.27806 8.69057 8.25 10 8.25V6.75C8.66829 6.75 7.45761 6.77856 6.26528 6.83337L6.33417 8.33179ZM2.81323 10.0293C2.68953 10.948 2.58334 11.9181 2.58334 12.9167H4.08334C4.08334 12.0192 4.1789 11.1275 4.29981 10.2295L2.81323 10.0293ZM2.58334 12.9167C2.58334 13.9152 2.68953 14.8853 2.81323 15.804L4.29981 15.6039C4.1789 14.7058 4.08334 13.8142 4.08334 12.9167H2.58334ZM17.1868 10.0293C16.9527 8.29067 15.5122 6.91509 13.7347 6.83337L13.6659 8.33179C14.6943 8.37907 15.5595 9.18437 15.7002 10.2295L17.1868 10.0293ZM13.7347 19C15.5122 18.9183 16.9527 17.5427 17.1868 15.804L15.7002 15.6039C15.5595 16.649 14.6943 17.4543 13.6659 17.5015L13.7347 19ZM6.26528 6.83337C4.48781 6.91508 3.04732 8.29067 2.81323 10.0293L4.29981 10.2295C4.44052 9.18437 5.30576 8.37907 6.33417 8.33179L6.26528 6.83337ZM6.33417 17.5015C5.30576 17.4543 4.44052 16.649 4.29981 15.6039L2.81323 15.804C3.04732 17.5427 4.48782 18.9183 6.26528 19L6.33417 17.5015ZM7.00001 7.5V5.41667H5.50001V7.5H7.00001ZM13 5.41667V7.5H14.5V5.41667H13ZM10 2.41667C11.6569 2.41667 13 3.75981 13 5.41667H14.5C14.5 2.93139 12.4853 0.916668 10 0.916668V2.41667ZM7.00001 5.41667C7.00001 3.75981 8.34316 2.41667 10 2.41667V0.916668C7.51473 0.916668 5.50001 2.93139 5.50001 5.41667H7.00001Z\"\r\n fill=\"var(--color-icon, #4B5565)\"\r\n />\r\n </svg>\r\n <input\r\n class={`content text-${this.size}-regular ${this.type} ${this.state}`}\r\n type={this.isPasswordVisible ? 'text' : 'password'}\r\n placeholder={this.placeholder ? this.placeholder : ''}\r\n onInput={event => this.handleInput(event)}\r\n />\r\n </div>\r\n {this.loading && <div class=\"loader\"></div>}\r\n {this.showValidation && !this.destructive && (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M7.03831 9.9735C6.6785 9.76829 6.22047 9.89362 6.01526 10.2534C5.81005 10.6132 5.93538 11.0713 6.29518 11.2765L7.03831 9.9735ZM8.66675 12.5L8.0231 12.885C8.16612 13.1241 8.42989 13.2642 8.70808 13.2489C8.98627 13.2335 9.23302 13.0652 9.34885 12.8118L8.66675 12.5ZM13.6933 7.32469C14.0567 7.12594 14.1902 6.67022 13.9914 6.3068C13.7927 5.94338 13.337 5.80988 12.9736 6.00863L13.6933 7.32469ZM19.0834 9.99999C19.0834 4.9834 15.0167 0.916656 10.0001 0.916656V2.41666C14.1882 2.41666 17.5834 5.81183 17.5834 9.99999H19.0834ZM10.0001 0.916656C4.98349 0.916656 0.916748 4.9834 0.916748 9.99999H2.41675C2.41675 5.81183 5.81192 2.41666 10.0001 2.41666V0.916656ZM0.916748 9.99999C0.916748 15.0166 4.98349 19.0833 10.0001 19.0833V17.5833C5.81192 17.5833 2.41675 14.1881 2.41675 9.99999H0.916748ZM10.0001 19.0833C15.0167 19.0833 19.0834 15.0166 19.0834 9.99999H17.5834C17.5834 14.1881 14.1882 17.5833 10.0001 17.5833V19.0833ZM6.66675 10.625C6.29518 11.2765 6.29506 11.2764 6.29494 11.2763C6.2949 11.2763 6.29478 11.2763 6.29472 11.2762C6.29458 11.2761 6.29446 11.2761 6.29437 11.276C6.29417 11.2759 6.29406 11.2758 6.29402 11.2758C6.29394 11.2758 6.29418 11.2759 6.29472 11.2762C6.2958 11.2768 6.2981 11.2782 6.30155 11.2802C6.30845 11.2843 6.31994 11.2911 6.33556 11.3006C6.36683 11.3196 6.41441 11.3492 6.47453 11.3886C6.59518 11.4676 6.76402 11.5846 6.9516 11.7329C7.33643 12.0371 7.75673 12.4397 8.0231 12.885L9.31039 12.115C8.9101 11.4458 8.3304 10.9108 7.8819 10.5562C7.65281 10.3751 7.44665 10.2322 7.29647 10.1338C7.22117 10.0845 7.15938 10.046 7.11512 10.0191C7.09298 10.0056 7.07518 9.99502 7.06222 9.98739C7.05574 9.98358 7.05047 9.98051 7.04646 9.97819C7.04446 9.97703 7.04278 9.97606 7.04142 9.97528C7.04073 9.97489 7.04013 9.97454 7.03962 9.97425C7.03936 9.9741 7.03912 9.97396 7.0389 9.97384C7.03879 9.97377 7.03865 9.97369 7.03859 9.97366C7.03845 9.97358 7.03831 9.9735 6.66675 10.625ZM8.66675 12.5C9.34885 12.8118 9.3488 12.8119 9.34876 12.812C9.34876 12.812 9.34872 12.8121 9.34871 12.8121C9.3487 12.8122 9.34871 12.8121 9.34876 12.812C9.34884 12.8118 9.34905 12.8114 9.34938 12.8107C9.35003 12.8092 9.35117 12.8068 9.35277 12.8033C9.35599 12.7964 9.36109 12.7855 9.36805 12.7708C9.38196 12.7413 9.40327 12.6967 9.43164 12.6386C9.48841 12.5226 9.57333 12.3531 9.68378 12.1445C9.90507 11.7264 10.2268 11.1546 10.628 10.5403C11.4489 9.28341 12.5314 7.96007 13.6933 7.32469L12.9736 6.00863C11.4687 6.83158 10.218 8.4249 9.37213 9.72011C8.93998 10.3818 8.59509 10.9949 8.35805 11.4427C8.23933 11.667 8.14717 11.8508 8.08415 11.9797C8.05262 12.0441 8.02836 12.0949 8.01167 12.1303C8.00333 12.1479 7.99688 12.1617 7.99236 12.1715C7.9901 12.1763 7.98833 12.1802 7.98704 12.183C7.98639 12.1844 7.98587 12.1855 7.98547 12.1864C7.98527 12.1868 7.9851 12.1872 7.98496 12.1875C7.9849 12.1876 7.98482 12.1878 7.98478 12.1879C7.98471 12.188 7.98464 12.1882 8.66675 12.5Z\"\r\n fill=\"#079455\"\r\n />\r\n </svg>\r\n )}\r\n {this.showHelpIcon && (\r\n <div class={`help_circle`}>\r\n {!this.destructive ? (\r\n <gb-help-tooltip show-supporting-text={true}>\r\n <slot name=\"tooltip_label\" slot=\"label\"></slot>\r\n <slot name=\"tooltip_supporting_text\" slot=\"supporting_text\"></slot>\r\n </gb-help-tooltip>\r\n ) : (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M7.99458 10H8.00057M7.99992 8.00001V5.33334M14.6666 8.00001C14.6666 11.6819 11.6818 14.6667 7.99992 14.6667C4.31802 14.6667 1.33325 11.6819 1.33325 8.00001C1.33325 4.31811 4.31802 1.33334 7.99992 1.33334C11.6818 1.33334 14.6666 4.31811 14.6666 8.00001Z\"\r\n stroke=\"#B51726\"\r\n stroke-width=\"1.33333\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n )}\r\n </div>\r\n )}\r\n <gb-password-button onClick={() => this.togglePasswordVisibility()}></gb-password-button>\r\n </div>\r\n )}\r\n {this.type === 'count' && [\r\n <div class={`count_input`}>\r\n <div class={`count_text_input ${this.destructive ? 'destructive' : ''} ${this.state}`}>\r\n <input\r\n class={`content text-${this.size}-regular ${this.type} ${this.state}`}\r\n type={this.inputType === 'number' ? 'text' : this.inputType}\r\n inputMode={this.inputType === 'number' ? 'numeric' : undefined}\r\n pattern={this.inputType === 'number' ? '[0-9]*' : undefined}\r\n minLength={this.minLength}\r\n maxLength={this.maxLength}\r\n placeholder={this.placeholder ? this.placeholder : ''}\r\n onInput={event => this.handleInput(event)}\r\n value={this.value}\r\n onFocus={() => this.handleInputFocus()}\r\n onKeyDown={e => this.handleNumericKeyDown(e as KeyboardEvent)} // <- added\r\n onPaste={e => this.handleNumericPaste(e as ClipboardEvent)}\r\n />\r\n {this.loading && <div class=\"loader\"></div>}\r\n {this.showHelpIcon && (\r\n <div class={`help_circle`}>\r\n {!this.destructive ? (\r\n <gb-help-tooltip show-supporting-text={true}>\r\n <slot name=\"tooltip_label\" slot=\"label\"></slot>\r\n <slot name=\"tooltip_supporting_text\" slot=\"supporting_text\"></slot>\r\n </gb-help-tooltip>\r\n ) : (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M7.99458 10H8.00057M7.99992 8.00001V5.33334M14.6666 8.00001C14.6666 11.6819 11.6818 14.6667 7.99992 14.6667C4.31802 14.6667 1.33325 11.6819 1.33325 8.00001C1.33325 4.31811 4.31802 1.33334 7.99992 1.33334C11.6818 1.33334 14.6666 4.31811 14.6666 8.00001Z\"\r\n stroke=\"#B51726\"\r\n stroke-width=\"1.33333\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n )}\r\n </div>\r\n )}\r\n </div>\r\n <div class={`action ${this.state}`}>\r\n <gb-button\r\n size=\"xl\"\r\n state={this.state === 'disabled' ? 'disabled' : 'default'}\r\n hierarchy=\"tertiary_gray\"\r\n icon=\"only\"\r\n icon-leading=\"true\"\r\n icon-leading-swap=\"assets/minus_sign.svg\"\r\n onClick={() => this.onMinusButtonClicked()}\r\n ></gb-button>\r\n {/* <hr /> */}\r\n <div class=\"vertical_line\"></div>\r\n <gb-button\r\n size=\"xl\"\r\n state={this.state === 'disabled' ? 'disabled' : 'default'}\r\n hierarchy=\"tertiary_gray\"\r\n icon=\"only\"\r\n icon-leading=\"true\"\r\n icon-leading-swap=\"assets/plus_sign.svg\"\r\n onClick={() => this.onPlusButtonClicked()}\r\n ></gb-button>\r\n </div>\r\n </div>,\r\n ]}\r\n {this.type === 'tags' && (\r\n <div class={`input_group ${this.state}`} ref={el => (this.inputGroupElement = el as HTMLDivElement)} onClick={() => this.handleWrapperClick()}>\r\n <div class={`input_like_parent ${this.size} ${this.state} ${this.destructive ? 'destructive' : ''}`} onClick={() => (this.dropdownOpen = !this.dropdownOpen)}>\r\n {/* ${this.selectedStaff.length >= 1 ? 'show_results' : ''} */}\r\n <div class={`results_display ${this.state === 'disabled' ? 'disabled' : ''}`} ref={el => (this.resultsDisplayElement = el as HTMLDivElement)}>\r\n {this.value.length === 0 ? (\r\n <>\r\n {this.selectedItems.map((item, index) => (\r\n <>\r\n {typeof item === 'object' ? (\r\n <gb-tag size=\"sm\" action=\"X_close\" icon={this.icon ? this.icon : 'avatar'} onClick={() => this.handleTagRemove(index)}>\r\n <h1 class=\"text-xxs-semi-bold\" slot=\"initials\">\r\n {item.objectName.split(' ').map(part => part.charAt(0).toUpperCase())}\r\n </h1>\r\n <p>{item.objectName.split(' ')[0]}</p>\r\n </gb-tag>\r\n ) : (\r\n <gb-tag size=\"sm\" action=\"X_close\" icon={this.icon ? this.icon : 'avatar'} onClick={() => this.handleTagRemove(index)}>\r\n <p>{item}</p>\r\n </gb-tag>\r\n )}\r\n </>\r\n ))}\r\n </>\r\n ) : (\r\n <>\r\n {this.value.map((val, index) => (\r\n <>\r\n {typeof val === 'object' ? (\r\n <gb-tag size=\"sm\" action=\"X_close\" icon={this.icon ? this.icon : 'avatar'} onClick={() => this.handleTagRemove(index)}>\r\n <h1 class=\"text-xxs-semi-bold\" slot=\"initials\">\r\n {val.objectName.split(' ').map(part => part.charAt(0).toUpperCase())}\r\n </h1>\r\n <p>{val.objectName.split(' ')[0]}</p>\r\n </gb-tag>\r\n ) : (\r\n <gb-tag size=\"sm\" action=\"X_close\" icon={this.icon ? this.icon : 'avatar'} onClick={() => this.handleTagRemove(index)}>\r\n <p>{val}</p>\r\n </gb-tag>\r\n )}\r\n </>\r\n ))}\r\n </>\r\n )}\r\n <span class=\"hidden-span\" ref={el => (this.hiddenSpan = el as HTMLElement)}>\r\n {this.inputValue || ' '}\r\n </span>\r\n <div class=\"input_field\">\r\n <input\r\n id={this.idOfInput}\r\n class={`input_like text-${this.size}-regular ${this.state}`}\r\n type=\"text\"\r\n // placeholder={this.placeholder && this.selectedStaff.length === 0 ? this.placeholder : ''}\r\n value={this.inputValue}\r\n readOnly={this.isReadOnly}\r\n ref={el => (this.inputElement = el as HTMLInputElement)}\r\n onBlur={() => this.exportSelectedStaff()}\r\n onInput={event => this.handleTagInput(event)}\r\n onFocus={() => this.handleInputFocus()}\r\n />\r\n </div>\r\n </div>\r\n {/* {this.showValidation && !this.destructive && (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M4.16675 12.0833C4.16675 12.0833 5.41675 12.0833 7.08341 15C7.08341 15 11.7158 7.36112 15.8334 5.83334\"\r\n stroke=\"#079455\"\r\n stroke-width=\"1.5\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n )}\r\n {this.showHelpIcon && (\r\n <div class={`help_circle`}>\r\n {!this.destructive ? (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M6.66668 5.99998C6.66668 5.2636 7.26363 4.66665 8.00001 4.66665C8.73639 4.66665 9.33334 5.2636 9.33334 5.99998C9.33334 6.26541 9.25578 6.51273 9.12209 6.72051C8.72361 7.33976 8.00001 7.93027 8.00001 8.66665V8.99998M7.99467 11.3333H8.00066M14.6667 7.99998C14.6667 11.6819 11.6819 14.6666 8.00001 14.6666C4.31811 14.6666 1.33334 11.6819 1.33334 7.99998C1.33334 4.31808 4.31811 1.33331 8.00001 1.33331C11.6819 1.33331 14.6667 4.31808 14.6667 7.99998Z\"\r\n stroke=\"#697586\"\r\n stroke-width=\"1.5\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n ) : (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M7.99458 10H8.00057M7.99992 8.00001V5.33334M14.6666 8.00001C14.6666 11.6819 11.6818 14.6667 7.99992 14.6667C4.31802 14.6667 1.33325 11.6819 1.33325 8.00001C1.33325 4.31811 4.31802 1.33334 7.99992 1.33334C11.6818 1.33334 14.6666 4.31811 14.6666 8.00001Z\"\r\n stroke=\"#B51726\"\r\n stroke-width=\"1.33333\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n )}\r\n </div>\r\n )} */}\r\n </div>\r\n {this.showDropdown && (\r\n <div class={`tags_dropdown_menu ${this.show ? 'show' : ''} ${this.menuPosition}`}>\r\n {this.results.map(item => (\r\n <gb-input-dropdown-menu-item\r\n type=\"checkbox\"\r\n supporting-text={true}\r\n state={StateEnum.Default}\r\n onClick={() => this.selectDropdownItem(item)}\r\n selected={this.isTagItemSelected(item)}\r\n >\r\n {typeof item === 'object'\r\n ? [<p slot=\"name\">{item.objectName}</p>, <p slot=\"supporting_text\">{item.objectValue}</p>]\r\n : typeof item !== 'object' && <p slot=\"name\">{item}</p>}\r\n </gb-input-dropdown-menu-item>\r\n ))}\r\n </div>\r\n )}\r\n </div>\r\n )}\r\n </div>\r\n {this.showHintText && <>{!this.destructive ? <p class=\"hint_text text-sm-regular\">{this.hintText}</p> : <p class=\"error_text text-sm-regular\">{this.errorText}</p>}</>}\r\n </div>\r\n );\r\n }\r\n}\r\n","@import './../../global/global.css';\r\n.action-container {\r\n display: flex;\r\n align-items: center;\r\n /* justify-content: space-evenly; */\r\n gap: var(--spacing-8);\r\n padding: var(--spacing-4) var(--spacing-6);\r\n background-color: var(--color-background-card, #ffffff);\r\n border-top: 1px solid var(--color-border-subtler, #e3e8ef);\r\n}\r\n\r\n.action-container.multiple {\r\n display: flex;\r\n gap: var(--spacing-8);\r\n align-items: center;\r\n padding: var(--spacing-4) var(--spacing-6);\r\n align-self: stretch;\r\n}\r\n\r\n.frame {\r\n display: flex;\r\n justify-content: flex-end;\r\n align-items: center;\r\n gap: var(--spacing-5);\r\n flex: 1 0 0;\r\n /* margin-left: auto; */\r\n}\r\n\r\n.action {\r\n display: flex;\r\n align-items: center;\r\n gap: var(--spacing-3);\r\n}\r\n\r\n.action-container.double {\r\n gap: 12px;\r\n justify-content: center;\r\n align-items: center;\r\n padding: var(--spacing-4, 16px) var(--spacing-6, 24px);\r\n}\r\n\r\n.button {\r\n width: 100%;\r\n}\r\n\r\n.first_icon,\r\n.second_icon {\r\n position: relative;\r\n}\r\n\r\n.first_icon_button_tooltip {\r\n position: absolute;\r\n left: 0rem;\r\n top: -100%;\r\n}\r\n\r\n.second_icon_button_tooltip{\r\n position: absolute;\r\n left: -2rem;\r\n top: -100%;\r\n}\r\n\r\n.action-container.single {\r\n padding: var(--spacing-4) var(--spacing-6);\r\n justify-content: flex-end;\r\n align-items: center;\r\n}\r\n\r\n.single_button {\r\n width: fit-content;\r\n}\r\n\r\n.single_button.full_width{\r\n width: 100%;\r\n}","import { Component, Event, EventEmitter, Prop, State, h } from '@stencil/core';\r\n\r\n@Component({\r\n tag: 'gb-modal-action',\r\n styleUrl: 'gb-modal-action.css',\r\n shadow: true,\r\n})\r\nexport class GbModalAction {\r\n @Prop() actionType: 'single' | 'multiple' | 'double' = 'multiple';\r\n @Prop() destructive: boolean = false;\r\n @Prop() fullWidth: boolean = false;\r\n\r\n // For the 'multiple' type\r\n @Prop() showSecondaryAction: boolean = true;\r\n @Prop() showFirstButton: boolean = true;\r\n @Prop() showSecondButton: boolean = true;\r\n @Prop() showThirdButton: boolean = true;\r\n @Prop() firstButtonText: string = '';\r\n @Prop() secondButtonText: string = '';\r\n @Prop() thirdButtonText: string = '';\r\n @Prop() firstIconButtonSwap: string = '';\r\n @Prop() secondIconButtonSwap: string = '';\r\n @Prop() firstButtonIconLeadingSwap: string = '';\r\n @Prop() secondButtonIconLeadingSwap: string = '';\r\n @Prop() thirdButtonIconLeadingSwap: string = '';\r\n @Prop() firstButtonIconTrailingSwap: string = '';\r\n @Prop() secondButtonIconTrailingSwap: string = '';\r\n @Prop() thirdButtonIconTrailingSwap: string = '';\r\n\r\n // If secondary action is shown\r\n @Prop() showFirstIconButton: boolean = true;\r\n @Prop() showSecondIconButton: boolean = true;\r\n @Prop() showCheckBox: boolean = true;\r\n @Prop() checkboxLabel: string = '';\r\n @State() firstIconButtonTooltipShown: boolean = false;\r\n @State() secondIconButtonTooltipShown: boolean = false;\r\n @Event() firstButtonClicked: EventEmitter<void>;\r\n @Event() secondButtonClicked: EventEmitter<void>;\r\n @Event() thirdButtonClicked: EventEmitter<void>;\r\n\r\n private renderMultiple() {\r\n return (\r\n <div class=\"action-container multiple\">\r\n {this.showSecondaryAction && (\r\n <div class=\"action\">\r\n <div class=\"first_icon\">\r\n {this.showFirstIconButton && (\r\n <gb-button\r\n size=\"md\"\r\n hierarchy=\"tertiary_gray\"\r\n icon=\"only\"\r\n icon-leading=\"true\"\r\n icon-leading-swap={this.firstIconButtonSwap}\r\n onMouseEnter={() => (this.firstIconButtonTooltipShown = true)}\r\n onMouseLeave={() => (this.firstIconButtonTooltipShown = false)}\r\n ></gb-button>\r\n )}\r\n {this.firstIconButtonTooltipShown && (\r\n <gb-tooltip show-arrow={true} arrow=\"bottom_left\" class=\"first_icon_button_tooltip\">\r\n <p slot=\"label\">Refresh</p>\r\n </gb-tooltip>\r\n )}\r\n </div>\r\n <div class=\"second_icon\">\r\n {this.showSecondIconButton && (\r\n <gb-button\r\n size=\"md\"\r\n hierarchy=\"tertiary_gray\"\r\n icon=\"only\"\r\n icon-leading=\"true\"\r\n icon-leading-swap={this.secondIconButtonSwap}\r\n onMouseEnter={() => (this.secondIconButtonTooltipShown = true)}\r\n onMouseLeave={() => (this.secondIconButtonTooltipShown = false)}\r\n ></gb-button>\r\n )}\r\n {this.secondIconButtonTooltipShown && (\r\n <gb-tooltip show-arrow={true} arrow=\"bottom_right\" class=\"second_icon_button_tooltip\">\r\n <p slot=\"label\">Refresh</p>\r\n </gb-tooltip>\r\n )}\r\n </div>\r\n {this.showCheckBox && (\r\n <gb-checkbox checked={false} indeterminate={false} size=\"sm\" type=\"checkbox\" state=\"default\" text={true} supporting-text=\"false\">\r\n <p slot=\"label\">{this.checkboxLabel}</p>\r\n </gb-checkbox>\r\n )}\r\n </div>\r\n )}\r\n\r\n <div class=\"frame\">\r\n {this.showThirdButton && (\r\n <div class=\"multiple_button\">\r\n <gb-button\r\n destructive={this.destructive}\r\n size=\"xl\"\r\n hierarchy=\"secondary_gray\"\r\n icon=\"default\"\r\n state=\"default\"\r\n icon-leading={this.thirdButtonIconLeadingSwap ? true : false}\r\n icon-leading-swap={this.thirdButtonIconLeadingSwap}\r\n icon-trailing={this.thirdButtonIconTrailingSwap ? true : false}\r\n icon-trailing-swap={this.thirdButtonIconTrailingSwap}\r\n onClick={() => this.onThirdButtonClicked()}\r\n >\r\n <p>{this.thirdButtonText}</p>\r\n </gb-button>\r\n </div>\r\n )}\r\n {this.showSecondButton && (\r\n <div class=\"multiple_button\">\r\n <gb-button\r\n destructive={this.destructive}\r\n size=\"xl\"\r\n hierarchy=\"secondary_color\"\r\n icon=\"default\"\r\n state=\"default\"\r\n icon-leading={this.secondButtonIconLeadingSwap ? true : false}\r\n icon-leading-swap={this.secondButtonIconLeadingSwap}\r\n icon-trailing={this.secondButtonIconTrailingSwap ? true : false}\r\n icon-trailing-swap={this.secondButtonIconTrailingSwap}\r\n onClick={() => this.onSecondButtonClicked()}\r\n >\r\n <p>{this.secondButtonText}</p>\r\n </gb-button>\r\n </div>\r\n )}\r\n {this.showFirstButton && (\r\n <div class=\"multiple_button\">\r\n <gb-button\r\n destructive={this.destructive}\r\n size=\"xl\"\r\n hierarchy=\"primary\"\r\n icon=\"default\"\r\n state=\"default\"\r\n icon-leading={this.firstButtonIconLeadingSwap ? true : false}\r\n icon-leading-swap={this.firstButtonIconLeadingSwap}\r\n icon-trailing={this.firstButtonIconTrailingSwap ? true : false}\r\n icon-trailing-swap={this.firstButtonIconTrailingSwap}\r\n onClick={() => this.onFirstButtonClicked()}\r\n >\r\n <p>{this.firstButtonText}</p>\r\n </gb-button>\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n );\r\n }\r\n\r\n private renderDouble() {\r\n return (\r\n <div class=\"action-container double\">\r\n <div class=\"button\">\r\n <gb-button\r\n destructive={this.destructive}\r\n size=\"xl\"\r\n hierarchy=\"secondary_gray\"\r\n icon=\"default\"\r\n state=\"default\"\r\n icon-leading={this.secondButtonIconLeadingSwap ? true : false}\r\n icon-leading-swap={this.secondButtonIconLeadingSwap}\r\n icon-trailing={this.secondButtonIconTrailingSwap ? true : false}\r\n icon-trailing-swap={this.secondButtonIconTrailingSwap}\r\n onClick={() => this.onSecondButtonClicked()}\r\n >\r\n <p>{this.secondButtonText}</p>\r\n </gb-button>\r\n </div>\r\n <div class=\"button\">\r\n <gb-button\r\n destructive={this.destructive}\r\n size=\"xl\"\r\n hierarchy=\"primary\"\r\n icon=\"default\"\r\n state=\"default\"\r\n icon-leading={this.firstButtonIconLeadingSwap ? true : false}\r\n icon-leading-swap={this.firstButtonIconLeadingSwap}\r\n icon-trailing={this.firstButtonIconTrailingSwap ? true : false}\r\n icon-trailing-swap={this.firstButtonIconTrailingSwap}\r\n onClick={() => this.onFirstButtonClicked()}\r\n >\r\n <p>{this.firstButtonText}</p>\r\n </gb-button>\r\n </div>\r\n </div>\r\n );\r\n }\r\n\r\n private renderSingle() {\r\n return (\r\n <div class=\"action-container single\">\r\n <div class={`single_button ${this.fullWidth ? 'full_width' : ''}`}>\r\n <gb-button\r\n destructive={this.destructive}\r\n size=\"xl\"\r\n hierarchy=\"primary\"\r\n icon=\"default\"\r\n state=\"default\"\r\n icon-leading={this.firstButtonIconLeadingSwap ? true : false}\r\n icon-leading-swap={this.firstButtonIconLeadingSwap}\r\n icon-trailing={this.firstButtonIconTrailingSwap ? true : false}\r\n icon-trailing-swap={this.firstButtonIconTrailingSwap}\r\n onClick={() => this.onFirstButtonClicked()}\r\n >\r\n <p>{this.firstButtonText}</p>\r\n </gb-button>\r\n </div>\r\n </div>\r\n );\r\n }\r\n\r\n onFirstButtonClicked() {\r\n this.firstButtonClicked.emit();\r\n }\r\n\r\n onSecondButtonClicked() {\r\n this.secondButtonClicked.emit();\r\n }\r\n\r\n onThirdButtonClicked() {\r\n this.thirdButtonClicked.emit();\r\n }\r\n\r\n render() {\r\n switch (this.actionType) {\r\n case 'single':\r\n return this.renderSingle();\r\n case 'double':\r\n return this.renderDouble();\r\n case 'multiple':\r\n default:\r\n return this.renderMultiple();\r\n }\r\n }\r\n}\r\n"," @import './../../global/global.css';\r\n \r\n:host{\r\n position: relative;\r\n}\r\n\r\n.container {\r\n background-color: var(--color-background-card, #ffffff);\r\n padding: var(--spacing-6); \r\n border-bottom: 1px solid var(--color-border-subtler, #e3e8ef);\r\n}\r\n\r\n.title {\r\n color: var(--color-text-bold, #202939);\r\n margin: 0; /* Remove default paragraph margins */\r\n}\r\n\r\n.title-with-left-button {\r\n padding-left: 3rem; /* Add space when button is on the left */\r\n} \r\n\r\n.close-button-left {\r\n position: absolute;\r\n left: 0.5rem;\r\n top: 0.9375rem;\r\n}\r\n\r\n.close-button-right {\r\n position: absolute;\r\n right: 0.75rem;\r\n top: 0.89375rem;\r\n}","import { Component, Event, EventEmitter, h, Prop } from '@stencil/core';\r\nimport { CloseButtonPositions } from '../../models/reusableModels';\r\n\r\n@Component({\r\n tag: 'gb-modal-header',\r\n styleUrl: 'gb-modal-header.css',\r\n shadow: true,\r\n})\r\nexport class GbModalHeader {\r\n @Prop() text: string = '';\r\n @Prop({ reflect: true }) closeButtonPosition: CloseButtonPositions = 'right';\r\n @Event() closeButtonClicked: EventEmitter<void>;\r\n\r\n render() {\r\n const buttonClass = this.closeButtonPosition === 'left' ? 'close-button-left' : 'close-button-right';\r\n const titleClass = this.closeButtonPosition === 'left' ? 'title title-with-left-button' : 'title';\r\n\r\n const button = <gb-button-close class={buttonClass} size=\"sm\" color=\"gray\"></gb-button-close>;\r\n\r\n return (\r\n <div class=\"container\">\r\n {this.closeButtonPosition === 'left' && button}\r\n <p class={`${titleClass} display-xs-semi-bold`}>{this.text}</p>\r\n {this.closeButtonPosition === 'right' && button}\r\n </div>\r\n );\r\n }\r\n}\r\n",".top_bar_div {\r\n display: flex;\r\n width: 100%;\r\n height: 5rem;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n flex-shrink: 0;\r\n position: relative;\r\n}\r\n\r\n.top_bar_div.border.plain_background {\r\n border-bottom: 1px solid var(--color-border-subtler, #e3e8ef);\r\n}\r\n\r\n.top_bar_div.border.colored_background {\r\n border-bottom: 1px solid var(--color-border-subtler, #e3e8ef);\r\n}\r\n\r\n.top_bar_div.colored_background {\r\n background: linear-gradient(63deg, #075db2 16.72%, #053e77 68.99%, #042f59 83.39%);\r\n}\r\n\r\n.top_bar_div.plain_background {\r\n background: var(--color-surface);\r\n}\r\n\r\n.top_bar_content {\r\n display: flex;\r\n padding: 0rem 2rem;\r\n justify-content: space-between;\r\n align-items: center;\r\n flex: 1 0 0;\r\n align-self: stretch;\r\n}\r\n\r\n.content {\r\n display: flex;\r\n align-items: center;\r\n gap: 1rem;\r\n flex: 1 0 0;\r\n overflow: hidden;\r\n}\r\n\r\n.content.shown {\r\n overflow: visible;\r\n}\r\n\r\n.pattern {\r\n position: absolute;\r\n top: 0;\r\n width: 100%;\r\n height: 100%;\r\n overflow: hidden;\r\n mix-blend-mode: multiply;\r\n}\r\n\r\n.more {\r\n position: relative;\r\n}\r\n\r\n.dropdown_menu {\r\n position: absolute;\r\n top: 112%;\r\n right: 0;\r\n\r\n display: flex;\r\n width: fit-content;\r\n min-width: 10rem;\r\n padding-right: var(--spacing-2);\r\n flex-direction: column;\r\n align-items: flex-start;\r\n align-items: stretch;\r\n border-radius: var(--rounded-sm);\r\n border: 1px solid var(--color-border-subtler, #e3e8ef);\r\n background: var(--color-surface, #ffffff);\r\n box-shadow: var(--shadow-sm);\r\n position: absolute;\r\n gap: var(--spacing-none);\r\n transition: 1s ease-in-out;\r\n z-index: 9;\r\n}\r\n","import { Component, Element, Event, EventEmitter, Prop, State, Watch, getAssetPath, h } from '@stencil/core';\r\nimport { GeneralBackgroundCategories } from '../../models/reusableModels';\r\n\r\n@Component({\r\n tag: 'gb-nav-bar',\r\n styleUrl: 'gb-nav-bar.css',\r\n shadow: true,\r\n})\r\nexport class GbNavBar {\r\n @Prop() category: GeneralBackgroundCategories;\r\n @Prop({ mutable: true }) items: { label: string; icon?: string; iconOnly: boolean; index: number }[] = [\r\n {\r\n label: 'First',\r\n icon: 'assets/home-02.svg',\r\n iconOnly: false,\r\n index: 0,\r\n },\r\n {\r\n label: 'Second',\r\n icon: 'assets/bank.svg',\r\n iconOnly: false,\r\n index: 1,\r\n },\r\n {\r\n label: 'Second',\r\n icon: 'assets/money-02.svg',\r\n iconOnly: false,\r\n index: 2,\r\n },\r\n {\r\n label: 'Second',\r\n icon: 'assets/invoice-01.svg',\r\n iconOnly: false,\r\n index: 3,\r\n },\r\n {\r\n label: 'Second',\r\n icon: 'assets/money-exchange-03.svg',\r\n iconOnly: false,\r\n index: 4,\r\n },\r\n {\r\n label: 'Second',\r\n icon: 'assets/percent.svg',\r\n iconOnly: false,\r\n index: 5,\r\n },\r\n {\r\n label: 'Second',\r\n icon: 'assets/qr-code.svg',\r\n iconOnly: false,\r\n index: 6,\r\n },\r\n {\r\n label: 'Second',\r\n icon: 'assets/coins-dollar.svg',\r\n iconOnly: false,\r\n index: 7,\r\n },\r\n {\r\n label: 'Second',\r\n icon: 'assets/star.svg',\r\n iconOnly: false,\r\n index: 8,\r\n },\r\n {\r\n label: 'Second',\r\n icon: 'assets/star.svg',\r\n iconOnly: false,\r\n index: 9,\r\n },\r\n {\r\n label: 'Second',\r\n icon: 'assets/star.svg',\r\n iconOnly: false,\r\n index: 10,\r\n },\r\n {\r\n label: 'Second',\r\n icon: 'assets/star.svg',\r\n iconOnly: false,\r\n index: 11,\r\n },\r\n {\r\n label: 'Second',\r\n icon: 'assets/star.svg',\r\n iconOnly: false,\r\n index: 12,\r\n },\r\n {\r\n label: 'Second',\r\n icon: 'assets/star.svg',\r\n iconOnly: false,\r\n index: 13,\r\n },\r\n {\r\n label: 'Second',\r\n icon: 'assets/star.svg',\r\n iconOnly: false,\r\n index: 14,\r\n },\r\n {\r\n label: 'Second',\r\n icon: 'assets/star.svg',\r\n iconOnly: false,\r\n index: 15,\r\n },\r\n ];\r\n @Prop() showBorder: boolean = true;\r\n @Prop({ mutable: true }) activeIndex: number = 0;\r\n @Element() el: HTMLElement;\r\n @State() internalItems: { label: string; icon?: string; iconOnly: boolean; index: number }[] = [...this.items];\r\n @State() visibleItems: typeof this.items = [];\r\n @State() overflowItems: typeof this.items = [];\r\n @State() measured: boolean = false;\r\n @State() dropdownOpen: boolean = false;\r\n @State() dropdownItemClicked: boolean = false;\r\n @Event() navBarItemClicked: EventEmitter<number>;\r\n\r\n private containerEl!: HTMLElement;\r\n\r\n onTabItemClicked(index: number, clicked?: boolean) {\r\n this.dropdownItemClicked = false;\r\n this.activeIndex = index;\r\n this.navBarItemClicked.emit(index);\r\n\r\n if (clicked) {\r\n this.dropdownItemClicked = true;\r\n this.dropdownOpen = false;\r\n }\r\n }\r\n\r\n @Watch('items')\r\n onItemsChanged(newValue: { label: string; icon: string; iconOnly: boolean; index: number }[], _oldValue) {\r\n console.log(newValue);\r\n this.internalItems = [...newValue];\r\n // console.log(this.internalItems);\r\n\r\n setTimeout(() => {\r\n this.calculateOverflow();\r\n this.measured = true;\r\n }, 0);\r\n window.addEventListener('resize', this.handleResize);\r\n }\r\n\r\n componentWillLoad() {\r\n // setTimeout(() => {\r\n // this.items = [\r\n // {\r\n // label: 'First',\r\n // icon: 'assets/star.svg',\r\n // iconOnly: false,\r\n // index: 0,\r\n // },\r\n // ];\r\n // }, 3000);\r\n\r\n this.internalItems = this.items; // copy initial prop value safely\r\n }\r\n\r\n private handleResize = () => {\r\n setTimeout(() => {\r\n this.calculateOverflow();\r\n }, 0);\r\n };\r\n\r\n componentDidLoad() {\r\n setTimeout(() => {\r\n this.calculateOverflow();\r\n this.measured = true;\r\n }, 0);\r\n window.addEventListener('resize', this.handleResize);\r\n }\r\n\r\n disconnectedCallback() {\r\n window.removeEventListener('resize', this.handleResize);\r\n }\r\n\r\n calculateOverflow() {\r\n const hiddenContainer = this.el.shadowRoot.querySelector('[style*=\"visibility: hidden\"]');\r\n if (!hiddenContainer) return;\r\n\r\n let containerWidth = this.containerEl.offsetWidth;\r\n let usedWidth = 0;\r\n const visible = [];\r\n const hidden = [];\r\n\r\n const allItems = Array.from(hiddenContainer.querySelectorAll('gb-nav-bar-item'));\r\n\r\n allItems.forEach((el, i) => {\r\n const itemWidth = (el as HTMLElement).offsetWidth + 16;\r\n if (usedWidth + itemWidth < containerWidth - 120) {\r\n usedWidth += itemWidth;\r\n visible.push(this.internalItems[i]);\r\n } else {\r\n hidden.push(this.internalItems[i]);\r\n }\r\n });\r\n\r\n this.visibleItems = visible;\r\n console.log(this.visibleItems);\r\n this.overflowItems = hidden;\r\n }\r\n\r\n toggleDropdown() {\r\n this.dropdownOpen = !this.dropdownOpen;\r\n }\r\n\r\n render() {\r\n const patternSrc = getAssetPath(`assets/top_bar_pattern.svg`);\r\n\r\n return (\r\n <div class={`top_bar_div ${this.category} ${this.showBorder ? 'border' : ''}`}>\r\n {this.category === 'colored_background' && (\r\n <div class=\"pattern\">\r\n <img src={patternSrc} alt=\"\" />\r\n </div>\r\n )}\r\n <div class=\"top_bar_content\">\r\n {/* Hidden measurement container for overflow calculation */}\r\n <div style={{ visibility: 'hidden', position: 'absolute', height: '0', overflow: 'hidden', pointerEvents: 'none' }}>\r\n {this.internalItems.map(tab => (\r\n <gb-nav-bar-item\r\n state={this.activeIndex === tab.index ? 'active' : 'default'}\r\n icon-only={tab.iconOnly}\r\n category={this.category}\r\n icon={tab.icon}\r\n label={tab.label}\r\n ></gb-nav-bar-item>\r\n ))}\r\n </div>\r\n <div class={`content ${this.dropdownOpen ? 'shown' : ''}`} ref={el => (this.containerEl = el)}>\r\n {(this.measured ? this.visibleItems : this.internalItems).map(tab => (\r\n <gb-nav-bar-item\r\n state={this.activeIndex === tab.index ? 'active' : 'default'}\r\n icon-only={tab.iconOnly}\r\n category={this.category}\r\n icon={tab.icon}\r\n label={tab.label}\r\n onClick={() => this.onTabItemClicked(tab.index)}\r\n ></gb-nav-bar-item>\r\n ))}\r\n {this.measured && this.overflowItems.length > 0 && (\r\n <div class=\"more\">\r\n <gb-nav-bar-item\r\n state={this.dropdownItemClicked ? 'active' : 'default'}\r\n icon-only={false}\r\n category={this.category}\r\n icon=\"assets/more.svg\"\r\n label=\"More\"\r\n class=\"more_button\"\r\n onClick={() => this.toggleDropdown()}\r\n ></gb-nav-bar-item>\r\n {this.dropdownOpen && (\r\n <div class=\"dropdown_menu\">\r\n {this.overflowItems.map(tab => (\r\n <gb-dropdown-items-with-shortcut\r\n icon\r\n state=\"default\"\r\n iconSrc={tab.icon}\r\n label={tab.label}\r\n onClick={() => this.onTabItemClicked(tab.index, true)}\r\n ></gb-dropdown-items-with-shortcut>\r\n ))}\r\n </div>\r\n )}\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n }\r\n}\r\n","@import './../../global/global.css';\r\n\r\n.top_bar_item_div {\r\n display: inline-flex;\r\n padding: var(--spacing-none);\r\n flex-direction: column;\r\n width: fit-content;\r\n align-items: flex-start;\r\n gap: 0.5rem;\r\n background: transparent;\r\n border-radius: var(--rounded-sm);\r\n cursor: pointer;\r\n position: relative;\r\n}\r\n\r\n.top_bar_item_div.colored_background:hover {\r\n background: rgba(33, 44, 101, 0.4);\r\n}\r\n\r\n.top_bar_item_div.colored_background.active {\r\n background: #042f59;\r\n}\r\n\r\n.top_bar_item_div.plain_background:hover {\r\n background: var(--color-background-gray-subtler, #eef2f6);\r\n}\r\n\r\n.top_bar_item_div.plain_background.active {\r\n background: var(--color-background-information-subtler, #c8e0f9);\r\n}\r\n\r\n.top_bar_content {\r\n display: flex;\r\n padding: var(--spacing-3) var(--spacing-5);\r\n align-items: center;\r\n gap: var(--spacing-3);\r\n}\r\n\r\n.bar {\r\n position: absolute;\r\n bottom: 0;\r\n width: calc(100% - 2.5rem);\r\n height: 0.15rem;\r\n border-radius: var(--rounded-full);\r\n}\r\n\r\n.bar.colored_background {\r\n background-color: #fff;\r\n}\r\n\r\n.bar.plain_background {\r\n background-color: var(--color-background-brandRed, #e21b2e);\r\n}\r\n\r\n.icon {\r\n width: 1.25rem;\r\n height: 1.25rem;\r\n}\r\n\r\n.icon.colored_background path[stroke] {\r\n stroke: #fff;\r\n}\r\n\r\n.icon.colored_background path[fill] {\r\n fill: #fff;\r\n}\r\n\r\n.icon.colored_background.active path[fill] {\r\n fill: #fff;\r\n}\r\n\r\n.icon.colored_background.active path.has_opacity[fill][opacity] {\r\n /* fill: transparent; */\r\n opacity: 0.5;\r\n}\r\n\r\n.icon.colored_background.active g.has_opacity[fill][opacity] {\r\n /* fill: transparent; */\r\n opacity: 0.5;\r\n}\r\n\r\n.icon.plain_background path[stroke] {\r\n stroke: var(--color-icon, #4b5565);\r\n}\r\n\r\n.icon.plain_background path[fill] {\r\n fill: var(--color-icon, #4b5565);\r\n}\r\n\r\n.icon.plain_background path.has_opacity,\r\n.icon.plain_background g.has_opacity,\r\n.icon.plain_background circle.has_opacity,\r\n.icon.colored_background path.has_opacity,\r\n.icon.colored_background g.has_opacity,\r\n.icon.colored_background circle.has_opacity {\r\n opacity: 0;\r\n}\r\n\r\n.icon.plain_background.active path.has_opacity,\r\n.icon.plain_background.active g.has_opacity,\r\n.icon.plain_background.active circle.has_opacity,\r\n.icon.colored_background.active path.has_opacity,\r\n.icon.colored_background.active g.has_opacity,\r\n.icon.colored_background.active circle.has_opacity {\r\n opacity: 0.5;\r\n}\r\n\r\n/* .icon.plain_background path[fill].has_opacity,\r\n.icon.plain_background g.has_opacity,\r\n.icon.colored_background path[fill].has_opacity,\r\n.icon.colored_background g.has_opacity {\r\n fill: transparent;\r\n} */\r\n\r\n.icon.plain_background.active path[stroke] {\r\n stroke: var(--color-icon-information-bold, #042f59);\r\n}\r\n\r\n.icon.plain_background.active path[fill] {\r\n fill: var(--color-icon-information-bold, #042f59);\r\n}\r\n\r\n.label_text{\r\n white-space: nowrap;\r\n}\r\n\r\n.label_text.colored_background {\r\n color: #fff;\r\n}\r\n\r\n.label_text.plain_background {\r\n color: var(--color-text, #4b5565);\r\n}\r\n\r\n.label_text.plain_background.active {\r\n color: var(--color-text-information-bold, #042f59);\r\n}\r\n\r\n.tooltip {\r\n position: absolute;\r\n bottom: 198%;\r\n left: -0.7rem;\r\n}\r\n","import { Component, Prop, State, getAssetPath, h } from '@stencil/core';\r\nimport { GeneralBackgroundCategories } from '../../models/reusableModels';\r\n\r\n@Component({\r\n tag: 'gb-nav-bar-item',\r\n styleUrl: 'gb-nav-bar-item.css',\r\n shadow: true,\r\n})\r\nexport class GbNavBarItem {\r\n @Prop() state: 'default' | 'active';\r\n @Prop() iconOnly: boolean = false;\r\n @Prop() category: GeneralBackgroundCategories;\r\n @Prop() label: string = '';\r\n @Prop() icon: string = '';\r\n @State() leadingIconSvg: string = '';\r\n @State() showTooltip: boolean = false;\r\n\r\n async loadIcon(iconName: string) {\r\n const iconPath = getAssetPath(`${iconName}`);\r\n const response = await fetch(iconPath);\r\n const svg = await response.text();\r\n\r\n // Parse SVG into DOM\r\n const parser = new DOMParser();\r\n const svgDoc = parser.parseFromString(svg, 'image/svg+xml');\r\n const svgElement = svgDoc.documentElement;\r\n\r\n // Select all path tags with an opacity attribute\r\n const pathsWithOpacity = svgElement.querySelectorAll('path[opacity]');\r\n const gWithOpacity = svgElement.querySelectorAll('g[opacity]');\r\n\r\n // Add a class to each\r\n pathsWithOpacity.forEach(path => {\r\n path.classList.add('has_opacity');\r\n });\r\n\r\n gWithOpacity.forEach(g => {\r\n g.classList.add('has_opacity');\r\n });\r\n\r\n // Convert the modified SVG back to a string\r\n const modifiedSvg = svgElement.outerHTML;\r\n\r\n // Save or inject it into your component\r\n this.leadingIconSvg = modifiedSvg;\r\n }\r\n\r\n componentWillLoad() {\r\n this.loadIcon(this.icon);\r\n }\r\n\r\n render() {\r\n return (\r\n <div class={`top_bar_item_div ${this.category} ${this.state}`} onMouseEnter={() => (this.showTooltip = true)} onMouseLeave={() => (this.showTooltip = false)}>\r\n <div class={`top_bar_content`}>\r\n {this.icon && <div class={`icon ${this.category} ${this.state}`} innerHTML={this.leadingIconSvg}></div>}\r\n {!this.iconOnly && (\r\n <div class=\"label\">\r\n <p class={`label_text ${this.state === 'active' ? 'text-md-semi-bold' : 'text-md-medium'} ${this.category} ${this.state}`}>{this.label}</p>\r\n </div>\r\n )}\r\n {this.state === 'active' && this.category === 'colored_background' && <div class={`bar ${this.category}`}></div>}\r\n {this.state === 'active' && this.category === 'plain_background' && <div class={`bar ${this.category}`}></div>}\r\n </div> \r\n {this.iconOnly && this.showTooltip && (\r\n <gb-tooltip show-arrow={true} arrow=\"bottom_center\" class=\"tooltip\">\r\n <p slot=\"label\">{this.label}</p>\r\n </gb-tooltip>\r\n )}\r\n </div>\r\n );\r\n }\r\n}\r\n",".nav_bar_wrapper {\r\n display: flex;\r\n width: 17.5rem;\r\n height: 100%;\r\n padding: var(--spacing-6) var(--spacing-7);\r\n flex-direction: column;\r\n justify-content: space-between;\r\n align-items: flex-start;\r\n border-right: 1px solid var(--color-border-subtler, #e3e8ef);\r\n background: var(--color-surface, #ffffff);\r\n box-sizing: border-box;\r\n}\r\n\r\n.vertical_tabs {\r\n width: 100%;\r\n}\r\n\r\n.wrapper {\r\n display: flex;\r\n padding: var(--spacing-4) var(--spacing-5) var(--spacing-5) var(--spacing-5);\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: flex-start;\r\n gap: var(--spacing-4);\r\n align-self: stretch;\r\n border-radius: var(--rounded-sm);\r\n border: 1px solid var(--color-border-subtler, #e3e8ef);\r\n background: var(--color-background-gray-subtlest, #f6f8fa);\r\n position: relative;\r\n height: auto;\r\n overflow: hidden;\r\n}\r\n\r\n.wrapper_pattern {\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\r\n mix-blend-mode: multiply;\r\n}\r\n\r\n::slotted([slot='application_name']) {\r\n color: var(--color-text-information-bold, #042f59) !important;\r\n}\r\n\r\n.application_icon path[stroke]{\r\n stroke: var(--color-icon-information-bold, #042F59);\r\n}\r\n\r\n.application_icon path[fill]{\r\n fill: var(--color-icon-information-bold, #042F59);\r\n}","import { Component, Element, Event, EventEmitter, Prop, State, getAssetPath, h } from '@stencil/core';\r\n\r\n@Component({\r\n tag: 'gb-nav-bar-sidemenu',\r\n styleUrl: 'gb-nav-bar-sidemenu.css',\r\n shadow: true,\r\n})\r\nexport class GbNavBarSidemenu {\r\n @Prop() applicationName: string = '';\r\n @Prop() applicationIcon: string = '';\r\n @Prop() activeIndex: number = 0;\r\n @Prop() tabs: { name: string; index: number }[] = [\r\n {\r\n name: 'Accounts',\r\n index: 0,\r\n },\r\n {\r\n name: 'Transaction history',\r\n index: 1,\r\n },\r\n {\r\n name: 'TPP report',\r\n index: 1,\r\n },\r\n {\r\n name: 'Check dump history',\r\n index: 1,\r\n },\r\n ];\r\n @State() leadingIconSvg: string = '';\r\n @Element() el: HTMLElement;\r\n @Event() navBarItemClicked: EventEmitter<void>;\r\n\r\n async loadIcon(iconName: string) {\r\n const iconPath = getAssetPath(`${iconName}`);\r\n const response = await fetch(iconPath);\r\n const svg = await response.text();\r\n this.leadingIconSvg = svg;\r\n }\r\n\r\n onTabItemClicked(event) {\r\n this.navBarItemClicked.emit(event.detail);\r\n }\r\n\r\n componentWillLoad() {\r\n this.loadIcon(this.applicationIcon);\r\n }\r\n\r\n componentDidLoad() {\r\n const applicationName = this.el.querySelector('[slot=\"application_name\"]');\r\n\r\n if (applicationName) {\r\n applicationName.classList.add('text-lg-bold');\r\n }\r\n }\r\n\r\n render() {\r\n const patternSrc = getAssetPath(`assets/pattern_wrapper.svg`);\r\n\r\n // return (\r\n // <div class=\"top_bar_sidemenu_div\">\r\n // <div class=\"vertical_tabs_div\">\r\n // <gb-vertical-tabs size=\"md\" tabs={this.tabs} type=\"button_primary\" active-index={this.activeIndex} onTabItemClicked={this.onTabItemClicked.bind(this)}></gb-vertical-tabs>\r\n // </div>\r\n // <div class=\"wrapper\">\r\n // <div class=\"wrapper_pattern\">\r\n // <img src={patternSrc} alt=\"\" />\r\n // </div>\r\n // <div class={`application_icon`} innerHTML={this.leadingIconSvg}></div>\r\n // <div class=\"application_name\">\r\n // <slot name=\"application_name\"></slot>\r\n // </div>\r\n // </div>\r\n // </div>\r\n // );\r\n\r\n return (\r\n <div class=\"nav_bar_wrapper\">\r\n <gb-vertical-tabs\r\n class=\"vertical_tabs\"\r\n size=\"sm\"\r\n tabs={this.tabs}\r\n type=\"button_primary\"\r\n active-index={this.activeIndex}\r\n onTabItemClicked={this.onTabItemClicked.bind(this)}\r\n ></gb-vertical-tabs>\r\n <div class=\"wrapper\">\r\n <div class=\"wrapper_pattern\">\r\n <img src={patternSrc} alt=\"\" />\r\n </div>\r\n <div class={`application_icon`} innerHTML={this.leadingIconSvg}></div>\r\n <slot name=\"application_name\"></slot>\r\n </div>\r\n </div>\r\n );\r\n }\r\n}\r\n","@import './../../global/global.css';\r\n\r\n.notification_container {\r\n display: inline-flex;\r\n padding: var(--spacing-6) var(--spacing-2);\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: flex-start;\r\n gap: var(--spacing-2);\r\n border-radius: var(--rounded-none);\r\n border-bottom: 0.6px solid var(--color-border-subtler, #E3E8EF);\r\n}\r\n\r\n.notification_container:hover {\r\n background-color: var(--color-background-information-subtlest, #E4F0FC);\r\n}\r\n\r\n.icon img {\r\n fill: var(--color-icon-selected, #075DB2);\r\n stroke: var(--color-icon-selected, #075DB2);\r\n}\r\n\r\nlabel{\r\n color: #202939;\r\n /* Text md/Medium */\r\n font-family: var(--Font-Family-Body, Sora);\r\n font-size: var(--Font-Size-T-md, 16px);\r\n font-style: normal;\r\n font-weight: var(--Font-Weight-Medium, 500);\r\n line-height: var(--Font-Line-height-T-md, 24px); /* 150% */\r\n letter-spacing: var(--Font-Letter-spacing-T-md, 0px);\r\n}\r\n\r\n.time {\r\n color: #697586;\r\n /* Text xs/Regular */\r\n font-family: var(--Font-Family-Body, Sora);\r\n font-size: var(--Font-Size-T-xs, 12px);\r\n font-style: normal;\r\n font-weight: var(--Font-Weight-Regular, 400);\r\n line-height: var(--Font-Line-height-T-xs, 18px); /* 150% */\r\n letter-spacing: var(--Font-Letter-spacing-T-xs, 0px);\r\n}\r\n\r\n.notification_title {\r\n display: flex;\r\n width: 335px;\r\n padding: 0px;\r\n align-items: center;\r\n gap: var(--spacing-2);\r\n}\r\n\r\n.supporting_text {\r\n padding-left: 28px;\r\n color:var(--color-text, #4B5565);\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n}","import {Component, Prop, h, getAssetPath} from '@stencil/core'\r\n\r\n@Component({\r\n tag: 'gb-notification-content',\r\n styleUrl: 'gb-notification-content.css',\r\n shadow: true\r\n})\r\n\r\nexport class GbNotificationContent {\r\n @Prop() icon: string;\r\n @Prop() label: string = '';\r\n @Prop() time: string = '';\r\n @Prop() supportingText: string = '';\r\n\r\n render() {\r\n\r\n const iconSrc = getAssetPath(`${this.icon}`);\r\n\r\n return (\r\n <div class=\"notification_container\">\r\n <div class=\"notification_title\">\r\n {this.icon && (\r\n <div class=\"icon\">\r\n <img src={iconSrc} alt=\"Icon\" />\r\n </div>\r\n )}\r\n <label>{this.label}</label>\r\n <span class=\"time\">\r\n {this.time}\r\n </span>\r\n </div> \r\n <div class=\"supporting_text\">\r\n <p class=\"text-sm-regular\">{this.supportingText}</p>\r\n </div>\r\n </div>\r\n );\r\n }\r\n}","@import '../../global/global.css';\r\n\r\n.notification_pane_div{\r\n display: inline-flex;\r\n padding: var(--spacing-2);\r\n flex-direction: column;\r\n align-items: flex-start;\r\n gap: var(--spacing-2);\r\n border-radius: var(--rounded-md);\r\n border: 1px solid var(--color-border-subtler, #E3E8EF);\r\n background: var(--color-surface, #FFFFFF);\r\n box-shadow: var(--shadow-md);\r\n cursor: pointer;\r\n}\r\n\r\n.content_wrapper{\r\n display: flex;\r\n flex-direction: column;\r\n width: fit-content;\r\n height: 24.5rem;\r\n overflow-y: auto;\r\n}\r\n\r\n::-webkit-scrollbar{\r\n right: 0rem;\r\n bottom: -1.53125rem;\r\n width: 0.8rem;\r\n margin-top: 1rem;\r\n}\r\n\r\n::-webkit-scrollbar-track{\r\n width: 0.5rem;\r\n padding: var(--spacing-1);\r\n border: none;\r\n}\r\n\r\n::-webkit-scrollbar-thumb{\r\n width: 0.5rem;\r\n height: 11.75rem;\r\n border: 0.25rem solid var(--color-background-card, #FFFFFF);\r\n border-radius: 0.5rem;\r\n background: var(--color-border-subtle, #CDD5DF);\r\n}\r\n\r\n.container{\r\n position: relative;\r\n display: flex;\r\n width: 24.3125rem;\r\n height: 24.5rem;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n border-bottom: 0.5px solid var(--color-border-subtler, #E3E8EF);\r\n}\r\n\r\n.frame{\r\n display: flex;\r\n /* width: 24.8125rem; */\r\n height: 26.5rem;\r\n padding: var(--spacing-Positive-spacing-None, 0rem) var(--spacing-7);\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n gap: var(--spacing-Positive-spacing-2, 0.5rem);\r\n flex-shrink: 0;\r\n}\r\n\r\n.empty_state_pattern{\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n mix-blend-mode: multiply;\r\n /* z-index: -1; */\r\n}\r\n\r\n.empty_state{\r\n display: flex;\r\n height: 15rem;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n gap: var(--spacing-3);\r\n flex-shrink: 0;\r\n align-self: stretch;\r\n}\r\n\r\n.content{\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n gap: var(--spacing-5);\r\n align-self: stretch;\r\n}\r\n\r\n.text{\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n text-align: center;\r\n gap: var(--spacing-3);\r\n}\r\n\r\n.bell_icon{\r\n z-index: 9;\r\n}\r\n\r\n.button{\r\n width: 100%;\r\n}\r\n\r\n::slotted([slot=\"label\"]) {\r\n color: var(--color-text-bold, #202939) !important;\r\n}\r\n\r\n::slotted([slot=\"supporting_text\"]) {\r\n color: var(--color-text, #4B5565) !important;\r\n}","import { Component, Prop, h, getAssetPath, Element, Fragment } from '@stencil/core';\r\nimport { Notification } from '../../models/reusableModels';\r\n\r\n@Component({\r\n tag: 'gb-notification-pane',\r\n styleUrl: 'gb-notification-pane.css',\r\n shadow: true,\r\n})\r\nexport class GbNotificationPane {\r\n @Prop() state: 'empty' | 'notification_dropdown';\r\n @Prop({ mutable: true }) notifications: Notification[] = [\r\n // {\r\n // label: 'Flagged transaction',\r\n // time: 'Just now',\r\n // desc: 'Aisha, here is your weekly report',\r\n // icon: 'assets/arrow-right-02.svg',\r\n // },\r\n // {\r\n // label: 'Flagged transaction',\r\n // time: 'Just now',\r\n // desc: 'Aisha, here is your weekly report',\r\n // icon: 'assets/arrow-right-02.svg',\r\n // },\r\n // {\r\n // label: 'Flagged transaction',\r\n // time: 'Just now',\r\n // desc: 'Aisha, here is your weekly report',\r\n // icon: 'assets/arrow-right-02.svg',\r\n // },\r\n // {\r\n // label: 'Flagged transaction',\r\n // time: 'Just now',\r\n // desc: 'Aisha, here is your weekly report',\r\n // icon: 'assets/arrow-right-02.svg',\r\n // },\r\n // {\r\n // label: 'Flagged transaction',\r\n // time: 'Just now',\r\n // desc: 'Aisha, here is your weekly report',\r\n // icon: 'assets/arrow-right-02.svg',\r\n // },\r\n ];\r\n @Element() el: HTMLElement;\r\n\r\n markAllAsRead() {\r\n this.notifications = [];\r\n }\r\n\r\n componentDidLoad() {\r\n const labelSlot = this.el.querySelector('[slot=\"label\"]');\r\n const supportingTextSlot = this.el.querySelector('[slot=\"supporting_text\"]');\r\n\r\n if (labelSlot) {\r\n labelSlot.classList.add('text-lg-semi-bold');\r\n }\r\n\r\n if (supportingTextSlot) {\r\n supportingTextSlot.classList.add('text-sm-regular');\r\n }\r\n }\r\n\r\n render() {\r\n const patternSrc = getAssetPath(`assets/notification_background_pattern.svg`);\r\n const illustrationSrc = getAssetPath(`assets/notification_illustration.svg`);\r\n\r\n return (\r\n <div class=\"notification_pane_div\">\r\n {this.state === 'empty' && [\r\n <div class={`container`}>\r\n <div class=\"frame\">\r\n <img src={patternSrc} alt=\"\" class=\"empty_state_pattern\" />\r\n <div class=\"empty_state\">\r\n <div class=\"content\">\r\n <img src={illustrationSrc} alt=\"bell-icon\" class=\"bell_icon\" />\r\n <div class=\"text\">\r\n <slot name=\"label\"></slot>\r\n <slot name=\"supporting_text\"></slot>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>,\r\n <div class={`button`}>\r\n <gb-button size=\"sm\" hierarchy=\"tertiary_color\" icon=\"default\" state=\"disabled\" icon-leading={true} icon-leading-swap=\"assets/blush_brush.svg\">\r\n <p>Mark all as read</p>\r\n </gb-button>\r\n </div>,\r\n ]}\r\n {this.state === 'notification_dropdown' && (\r\n <>\r\n {this.notifications.length > 0 ? (\r\n <div class=\"notification_dropdown\">\r\n <div class={`content_wrapper`}>\r\n {this.notifications.map(notification => (\r\n <gb-notification-content\r\n label={notification.label}\r\n time={notification.time}\r\n supporting-text={notification.desc}\r\n icon={notification.icon}\r\n ></gb-notification-content>\r\n ))}\r\n </div>\r\n <gb-button size=\"sm\" hierarchy=\"tertiary_color\" icon=\"default\" icon-leading={true} icon-leading-swap=\"assets/blush_brush.svg\" onClick={() => this.markAllAsRead()}>\r\n <p>Mark all as read</p>\r\n </gb-button>\r\n </div>\r\n ) : (\r\n [\r\n <div class={`container`}>\r\n <div class=\"frame\">\r\n <img src={patternSrc} alt=\"\" class=\"empty_state_pattern\" />\r\n <div class=\"empty_state\">\r\n <div class=\"content\">\r\n <img src={illustrationSrc} alt=\"bell-icon\" class=\"bell_icon\" />\r\n <div class=\"text\">\r\n {/* <p class=\"label text-lg-semi-bold\">No notification</p>\r\n <p class=\"supporting_text text-sm-regular\">Your notification inbox is empty at the moment. Rest assured, you'll be promptly notified of any new events</p> */}\r\n <slot name=\"label\"></slot>\r\n <slot name=\"supporting_text\"></slot>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>,\r\n <div class={`button`}>\r\n <gb-button size=\"sm\" hierarchy=\"tertiary_color\" icon=\"default\" state=\"disabled\" icon-leading={true} icon-leading-swap=\"assets/blush_brush.svg\">\r\n <p>Mark all as read</p>\r\n </gb-button>\r\n </div>,\r\n ]\r\n )}\r\n </>\r\n )}\r\n </div>\r\n );\r\n }\r\n}\r\n","@import './../../global/global.css';\r\n\r\n.pagination_div{\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n}\r\n\r\n.pagination_entries{\r\n display: flex;\r\n gap: var(--spacing-2);\r\n align-items: center;\r\n}\r\n\r\n.pagination_btns{\r\n display: flex;\r\n gap: var(--spacing-3);\r\n}\r\n\r\n.entries_dropdown{\r\n width: 6rem;\r\n}\r\n\r\ngb-input-dropdown{\r\n z-index: 99;\r\n}\r\n\r\n.pagination_numbers{\r\n display: flex;\r\n align-items: flex-start;\r\n gap: var(--spacing-half);\r\n}\r\n\r\n.pagination_button_group{\r\n display: flex;\r\n border-radius: var(--rounded-sm);\r\n border: 1px solid var(--color-border-subtle, #CDD5DF);\r\n box-shadow: var(--shadow-xs);\r\n align-items: center;\r\n overflow: hidden;\r\n}\r\n\r\n.page_numbers{\r\n color: var(--color-text, #4B5565);\r\n}\r\n\r\n/* Pagination Type Styles */\r\n.pagination_div.page_default.desktop,\r\n.pagination_div.page_minimal_center_aligned.desktop{\r\n padding-top: var(--spacing-5);\r\n}\r\n\r\n.pagination_div.card_default.desktop,\r\n.pagination_div.card_minimal_right_aligned.desktop,\r\n.pagination_div.card_minimal_left_aligned.desktop,\r\n.pagination_div.card_minimal_center_aligned.desktop,\r\n.pagination_div.card_button_group_right_aligned.desktop,\r\n.pagination_div.card_button_group_left_aligned.desktop{\r\n padding: var(--spacing-3) var(--spacing-6) var(--spacing-4) var(--spacing-6);\r\n}\r\n\r\n.pagination_div.page_default.mobile,\r\n.pagination_div.page_minimal_center_aligned.mobile{\r\n padding-top: var(--spacing-4);\r\n}\r\n\r\n.pagination_div.card_button_group_center_aligned.desktop{\r\n display: flex;\r\n padding: var(--spacing-3) var(--spacing-6) var(--spacing-4) var(--spacing-6);\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n gap: 0.5rem;\r\n}\r\n\r\n.pagination_div.card_default.mobile,\r\n.pagination_div.card_minimal_left_aligned.mobile,\r\n.pagination_div.card_minimal_right_aligned.mobile,\r\n.pagination_div.card_minimal_center_aligned.mobile{\r\n padding: var(--spacing-3) var(--spacing-4);\r\n}\r\n\r\n.pagination_div.card_button_group_right_aligned.mobile{\r\n display: flex;\r\n padding: var(--spacing-3) var(--spacing-4);\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: flex-end;\r\n gap: 0.5rem;\r\n}\r\n\r\n.pagination_div.card_button_group_left_aligned.mobile{\r\n display: flex;\r\n padding: var(--spacing-3) var(--spacing-4);\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: flex-start;\r\n gap: 0.5rem;\r\n}\r\n\r\n.pagination_div.card_button_group_center_aligned.mobile{\r\n display: flex;\r\n padding: var(--spacing-3) var(--spacing-4);\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n gap: 0.5rem;\r\n}","import { Component, Prop, h, Fragment, State, Event, EventEmitter, Watch } from '@stencil/core';\r\nimport { BreakPoints, PaginationNumberShapes, PaginationTypes } from '../../models/reusableModels';\r\n\r\n@Component({\r\n tag: 'gb-pagination',\r\n styleUrl: 'gb-pagination.css',\r\n shadow: true,\r\n})\r\nexport class GbPagination {\r\n @Prop() type: PaginationTypes;\r\n @Prop() shape: PaginationNumberShapes;\r\n @Prop({ mutable: true }) breakpoint: BreakPoints;\r\n @Prop({ mutable: true }) currentPage: number = 1;\r\n @Prop({ mutable: true }) totalPages: number;\r\n @Prop({ mutable: true }) entries: number[] = [10, 20, 50, 80, 100];\r\n @State() selectedPageSize: number | string | object = this.entries[0];\r\n @State() defaultSelected: any;\r\n @State() pages = [];\r\n @State() width: number = window.innerWidth;\r\n @State() internalTotalPages: number;\r\n @Event() pageItemSelected: EventEmitter<{ pageSize: any; pageNumber: number }>;\r\n\r\n private handleResize = () => {\r\n this.width = window.innerWidth;\r\n this.updatePaginationSize();\r\n };\r\n\r\n updatePaginationSize() {\r\n this.breakpoint = this.width < 730 ? 'mobile' : 'desktop';\r\n }\r\n\r\n onPreviousButtonClicked() {\r\n if (this.internalTotalPages > 1) {\r\n if (this.currentPage === this.internalTotalPages || this.currentPage > 1) {\r\n this.currentPage = this.currentPage - 1;\r\n // console.log(this.currentPage);\r\n }\r\n this.pageItemSelected.emit({ pageSize: this.selectedPageSize, pageNumber: this.currentPage });\r\n }\r\n }\r\n\r\n onNextButtonClicked() {\r\n if (this.internalTotalPages > 1) {\r\n if (this.currentPage === 1 || this.currentPage <= this.internalTotalPages - 1) {\r\n this.currentPage = this.currentPage + 1;\r\n // console.log(this.currentPage);\r\n }\r\n this.pageItemSelected.emit({ pageSize: this.selectedPageSize, pageNumber: this.currentPage });\r\n }\r\n }\r\n \r\n componentWillLoad() {\r\n this.internalTotalPages = this.totalPages;\r\n this.pages = [];\r\n\r\n if (this.totalPages <= 5) {\r\n // Show all pages if totalPages <= 5\r\n for (let i = 1; i <= this.totalPages; i++) {\r\n // console.log(i)\r\n this.pages.push(i)\r\n }\r\n }\r\n\r\n this.updatePaginationSize(); // Set initial variant\r\n window.addEventListener('resize', this.handleResize);\r\n\r\n this.defaultSelected = [this.selectedPageSize];\r\n // console.log(this.currentPage)\r\n this.pageItemSelected.emit({ pageSize: this.selectedPageSize, pageNumber: this.currentPage });\r\n }\r\n\r\n generatePages() {\r\n const tempPages = [];\r\n if (this.internalTotalPages <= 5) {\r\n for (let i = 1; i <= this.internalTotalPages; i++) {\r\n tempPages.push(i);\r\n }\r\n } else {\r\n // Optional: logic for > 5 pages if needed\r\n }\r\n this.pages = tempPages;\r\n }\r\n\r\n // componentWillLoad() {\r\n // setTimeout(() => {this.totalPages = 5}, 2000)\r\n // }\r\n\r\n @Watch('totalPages')\r\n onTotalPagesChange(newValue: number, _oldValue: number) {\r\n // console.log('totalPages changed from', oldValue, 'to', newValue);\r\n this.internalTotalPages = newValue;\r\n this.generatePages();\r\n }\r\n\r\n handlePageSizeSelect(item) {\r\n this.selectedPageSize = item.detail;\r\n this.pageItemSelected.emit({ pageSize: this.selectedPageSize, pageNumber: this.currentPage });\r\n }\r\n\r\n setCurrentPage(number: number) {\r\n this.currentPage = number;\r\n this.pageItemSelected.emit({ pageSize: this.selectedPageSize, pageNumber: this.currentPage });\r\n }\r\n\r\n render() {\r\n return (\r\n <div class={`pagination_div ${this.type} ${this.breakpoint}`}>\r\n {/* Desktop Breakpoint Pagination */}\r\n {this.type === 'page_default' && this.breakpoint === 'desktop' && (\r\n <>\r\n <gb-button\r\n size=\"sm\"\r\n hierarchy=\"tertiary_gray\"\r\n icon=\"default\"\r\n state=\"default\"\r\n icon-leading={true}\r\n icon-leading-swap=\"assets/arrow-left-02.svg\"\r\n onClick={() => this.onPreviousButtonClicked()}\r\n >\r\n <p>Previous</p>\r\n </gb-button>\r\n\r\n <div class=\"pagination_numbers\">\r\n {this.internalTotalPages <= 5 &&\r\n this.pages.map(page => (\r\n <gb-pagination-number-base shape={this.shape} state={this.currentPage === page ? 'active' : 'default'} onClick={() => this.setCurrentPage(page)}>\r\n <p slot=\"page_number\">{page}</p>\r\n </gb-pagination-number-base>\r\n ))}\r\n {this.internalTotalPages >= 6 && (\r\n <>\r\n <gb-pagination-number-base shape={this.shape} state={this.currentPage === 1 ? 'active' : 'default'} onClick={() => this.setCurrentPage(1)}>\r\n <p slot=\"page_number\">1</p>\r\n </gb-pagination-number-base>\r\n <gb-pagination-number-base shape={this.shape} state={this.currentPage === 2 ? 'active' : 'default'} onClick={() => this.setCurrentPage(2)}>\r\n <p slot=\"page_number\">2</p>\r\n </gb-pagination-number-base>\r\n <gb-pagination-number-base shape={this.shape} state={this.currentPage === 3 ? 'active' : 'default'} onClick={() => this.setCurrentPage(3)}>\r\n <p slot=\"page_number\">3</p>\r\n </gb-pagination-number-base>\r\n {this.currentPage > 3 && this.currentPage <= this.internalTotalPages / 2 ? (\r\n <gb-pagination-number-base shape={this.shape} state={this.currentPage > 3 && this.currentPage <= this.internalTotalPages / 2 ? 'active' : 'default'}>\r\n <p slot=\"page_number\">{this.currentPage}</p>\r\n </gb-pagination-number-base>\r\n ) : null}\r\n <gb-pagination-number-base shape={this.shape}>\r\n <p slot=\"page_number\">...</p>\r\n </gb-pagination-number-base>\r\n {this.currentPage > this.internalTotalPages / 2 && this.currentPage < this.internalTotalPages - 2 ? (\r\n <gb-pagination-number-base\r\n shape={this.shape}\r\n state={this.currentPage > this.internalTotalPages / 2 && this.currentPage < this.internalTotalPages ? 'active' : 'default'}\r\n >\r\n <p slot=\"page_number\">{this.currentPage}</p>\r\n </gb-pagination-number-base>\r\n ) : null}\r\n <gb-pagination-number-base\r\n shape={this.shape}\r\n state={this.currentPage === this.internalTotalPages - 2 ? 'active' : 'default'}\r\n onClick={() => this.setCurrentPage(this.internalTotalPages - 2)}\r\n >\r\n <p slot=\"page_number\">{this.internalTotalPages - 2}</p>\r\n </gb-pagination-number-base>\r\n <gb-pagination-number-base\r\n shape={this.shape}\r\n state={this.currentPage === this.internalTotalPages - 1 ? 'active' : 'default'}\r\n onClick={() => this.setCurrentPage(this.internalTotalPages - 1)}\r\n >\r\n <p slot=\"page_number\">{this.internalTotalPages - 1}</p>\r\n </gb-pagination-number-base>\r\n <gb-pagination-number-base\r\n shape={this.shape}\r\n state={this.currentPage === this.internalTotalPages ? 'active' : 'default'}\r\n onClick={() => this.setCurrentPage(this.internalTotalPages)}\r\n >\r\n <p slot=\"page_number\">{this.internalTotalPages}</p>\r\n </gb-pagination-number-base>\r\n </>\r\n )}\r\n </div>\r\n <gb-button\r\n size=\"sm\"\r\n hierarchy=\"tertiary_gray\"\r\n icon=\"default\"\r\n state=\"default\"\r\n icon-trailing={true}\r\n icon-trailing-swap=\"assets/arrow-right-02.svg\"\r\n onClick={() => this.onNextButtonClicked()}\r\n >\r\n <p>Next</p>\r\n </gb-button>\r\n </>\r\n )}\r\n {this.type === 'page_minimal_center_aligned' && this.breakpoint === 'desktop' && (\r\n <>\r\n <gb-button\r\n size=\"sm\"\r\n hierarchy=\"secondary_gray\"\r\n icon=\"default\"\r\n state=\"default\"\r\n icon-leading={true}\r\n icon-leading-swap=\"assets/arrow-left-02.svg\"\r\n onClick={() => this.onPreviousButtonClicked()}\r\n >\r\n <p>Previous</p>\r\n </gb-button>\r\n <div class=\"pagination_numbers\">\r\n {this.internalTotalPages <= 5 && (\r\n <>\r\n {this.internalTotalPages <= 5 &&\r\n this.pages.map(page => (\r\n <gb-pagination-number-base shape={this.shape} state={this.currentPage === page ? 'active' : 'default'} onClick={() => this.setCurrentPage(page)}>\r\n <p slot=\"page_number\">{page}</p>\r\n </gb-pagination-number-base>\r\n ))}\r\n </>\r\n )}\r\n {this.internalTotalPages >= 6 && (\r\n <>\r\n <gb-pagination-number-base shape={this.shape} state={this.currentPage === 1 ? 'active' : 'default'} onClick={() => this.setCurrentPage(1)}>\r\n <p slot=\"page_number\">1</p>\r\n </gb-pagination-number-base>\r\n <gb-pagination-number-base shape={this.shape} state={this.currentPage === 2 ? 'active' : 'default'} onClick={() => this.setCurrentPage(2)}>\r\n <p slot=\"page_number\">2</p>\r\n </gb-pagination-number-base>\r\n <gb-pagination-number-base shape={this.shape} state={this.currentPage === 3 ? 'active' : 'default'} onClick={() => this.setCurrentPage(3)}>\r\n <p slot=\"page_number\">3</p>\r\n </gb-pagination-number-base>\r\n {this.currentPage > 3 && this.currentPage <= this.internalTotalPages / 2 ? (\r\n <gb-pagination-number-base shape={this.shape} state={this.currentPage > 3 && this.currentPage <= this.internalTotalPages / 2 ? 'active' : 'default'}>\r\n <p slot=\"page_number\">{this.currentPage}</p>\r\n </gb-pagination-number-base>\r\n ) : null}\r\n <gb-pagination-number-base shape={this.shape}>\r\n <p slot=\"page_number\">...</p>\r\n </gb-pagination-number-base>\r\n {this.currentPage > this.internalTotalPages / 2 && this.currentPage < this.internalTotalPages - 2 ? (\r\n <gb-pagination-number-base\r\n shape={this.shape}\r\n state={this.currentPage > this.internalTotalPages / 2 && this.currentPage < this.internalTotalPages ? 'active' : 'default'}\r\n >\r\n <p slot=\"page_number\">{this.currentPage}</p>\r\n </gb-pagination-number-base>\r\n ) : null}\r\n <gb-pagination-number-base\r\n shape={this.shape}\r\n state={this.currentPage === this.internalTotalPages - 2 ? 'active' : 'default'}\r\n onClick={() => this.setCurrentPage(this.internalTotalPages - 2)}\r\n >\r\n <p slot=\"page_number\">{this.internalTotalPages - 2}</p>\r\n </gb-pagination-number-base>\r\n <gb-pagination-number-base\r\n shape={this.shape}\r\n state={this.currentPage === this.internalTotalPages - 1 ? 'active' : 'default'}\r\n onClick={() => this.setCurrentPage(this.internalTotalPages - 1)}\r\n >\r\n <p slot=\"page_number\">{this.internalTotalPages - 1}</p>\r\n </gb-pagination-number-base>\r\n <gb-pagination-number-base\r\n shape={this.shape}\r\n state={this.currentPage === this.internalTotalPages ? 'active' : 'default'}\r\n onClick={() => this.setCurrentPage(this.internalTotalPages)}\r\n >\r\n <p slot=\"page_number\">{this.internalTotalPages}</p>\r\n </gb-pagination-number-base>\r\n </>\r\n )}\r\n </div>\r\n <gb-button\r\n size=\"sm\"\r\n hierarchy=\"secondary_gray\"\r\n icon=\"default\"\r\n state=\"default\"\r\n icon-trailing={true}\r\n icon-trailing-swap=\"assets/arrow-right-02.svg\"\r\n onClick={() => this.onNextButtonClicked()}\r\n >\r\n <p>Next</p>\r\n </gb-button>\r\n </>\r\n )}\r\n {this.type === 'card_default' && this.breakpoint === 'desktop' && (\r\n <>\r\n <div class=\"pagination_entries\">\r\n <div class=\"entries_text\">\r\n <p class={`text-sm-medium`} style={{ color: 'var(--color-text, #4B5565)' }}>\r\n Entries\r\n </p>\r\n </div>\r\n <div class={`entries_dropdown`}>\r\n <gb-input-dropdown\r\n type=\"default\"\r\n state=\"default\"\r\n size=\"sm\"\r\n show-label={false}\r\n show-hint-text={false}\r\n show-supporting-text={false}\r\n show-help-icon={false}\r\n items={this.entries}\r\n menu-position=\"top\"\r\n onDropdownItemSelected={this.handlePageSizeSelect.bind(this)}\r\n value={this.defaultSelected}\r\n ></gb-input-dropdown>\r\n </div>\r\n </div>\r\n <div class=\"pagination_numbers\">\r\n {this.internalTotalPages <= 5 &&\r\n this.pages.map(page => (\r\n <gb-pagination-number-base shape={this.shape} state={this.currentPage === page ? 'active' : 'default'} onClick={() => this.setCurrentPage(page)}>\r\n <p slot=\"page_number\">{page}</p>\r\n </gb-pagination-number-base>\r\n ))}\r\n {this.internalTotalPages >= 6 && (\r\n <>\r\n <gb-pagination-number-base shape={this.shape} state={this.currentPage === 1 ? 'active' : 'default'} onClick={() => this.setCurrentPage(1)}>\r\n <p slot=\"page_number\">1</p>\r\n </gb-pagination-number-base>\r\n <gb-pagination-number-base shape={this.shape} state={this.currentPage === 2 ? 'active' : 'default'} onClick={() => this.setCurrentPage(2)}>\r\n <p slot=\"page_number\">2</p>\r\n </gb-pagination-number-base>\r\n <gb-pagination-number-base shape={this.shape} state={this.currentPage === 3 ? 'active' : 'default'} onClick={() => this.setCurrentPage(3)}>\r\n <p slot=\"page_number\">3</p>\r\n </gb-pagination-number-base>\r\n {this.currentPage > 3 && this.currentPage <= this.internalTotalPages / 2 ? (\r\n <gb-pagination-number-base shape={this.shape} state={this.currentPage > 3 && this.currentPage <= this.internalTotalPages / 2 ? 'active' : 'default'}>\r\n <p slot=\"page_number\">{this.currentPage}</p>\r\n </gb-pagination-number-base>\r\n ) : null}\r\n <gb-pagination-number-base shape={this.shape} state=\"default\">\r\n <p slot=\"page_number\">...</p>\r\n </gb-pagination-number-base>\r\n {this.currentPage > this.internalTotalPages / 2 && this.currentPage < this.internalTotalPages - 2 ? (\r\n <gb-pagination-number-base\r\n shape={this.shape}\r\n state={this.currentPage > this.internalTotalPages / 2 && this.currentPage < this.internalTotalPages ? 'active' : 'default'}\r\n >\r\n <p slot=\"page_number\">{this.currentPage}</p>\r\n </gb-pagination-number-base>\r\n ) : null}\r\n <gb-pagination-number-base\r\n shape={this.shape}\r\n state={this.currentPage === this.internalTotalPages - 2 ? 'active' : 'default'}\r\n onClick={() => this.setCurrentPage(this.internalTotalPages - 2)}\r\n >\r\n <p slot=\"page_number\">{this.internalTotalPages - 2}</p>\r\n </gb-pagination-number-base>\r\n <gb-pagination-number-base\r\n shape={this.shape}\r\n state={this.currentPage === this.internalTotalPages - 1 ? 'active' : 'default'}\r\n onClick={() => this.setCurrentPage(this.internalTotalPages - 1)}\r\n >\r\n <p slot=\"page_number\">{this.internalTotalPages - 1}</p>\r\n </gb-pagination-number-base>\r\n <gb-pagination-number-base\r\n shape={this.shape}\r\n state={this.currentPage === this.internalTotalPages ? 'active' : 'default'}\r\n onClick={() => this.setCurrentPage(this.internalTotalPages)}\r\n >\r\n <p slot=\"page_number\">{this.internalTotalPages}</p>\r\n </gb-pagination-number-base>\r\n </>\r\n )}\r\n </div>\r\n <div class=\"pagination_btns\">\r\n <gb-button\r\n size=\"sm\"\r\n hierarchy=\"secondary_gray\"\r\n icon=\"only\"\r\n state={this.totalPages === 1 && this.currentPage === 1 ? 'disabled' : this.currentPage === 1 ? 'disabled' : 'default'}\r\n icon-leading={true}\r\n icon-leading-swap=\"assets/arrow-left-02.svg\"\r\n onClick={() => this.onPreviousButtonClicked()}\r\n ></gb-button>\r\n <gb-button\r\n size=\"sm\"\r\n hierarchy=\"secondary_gray\"\r\n icon=\"only\"\r\n state={this.currentPage === this.internalTotalPages ? 'disabled' : this.currentPage === 1 && this.totalPages === 1 ? 'disabled' : 'default'}\r\n icon-leading={true}\r\n icon-leading-swap=\"assets/arrow-right-02.svg\"\r\n onClick={() => this.onNextButtonClicked()}\r\n ></gb-button>\r\n </div>\r\n </>\r\n )}\r\n {this.type === 'card_minimal_right_aligned' && this.breakpoint === 'desktop' && (\r\n <>\r\n <div class=\"pagination_entries\">\r\n <div class=\"entries_text\">\r\n <p class={`text-sm-medium`} style={{ color: 'var(--color-text, #4B5565)' }}>\r\n Entries\r\n </p>\r\n </div>\r\n <div class={`entries_dropdown`}>\r\n <gb-input-dropdown\r\n type=\"default\"\r\n state={'default'}\r\n size=\"sm\"\r\n show-label={false}\r\n show-hint-text={false}\r\n show-supporting-text={false}\r\n show-hep-icon={false}\r\n items={this.entries}\r\n menu-position=\"top\"\r\n onDropdownItemSelected={this.handlePageSizeSelect.bind(this)}\r\n value={this.defaultSelected}\r\n ></gb-input-dropdown>\r\n </div>\r\n </div>\r\n <div class=\"page_number_text\">\r\n <p class=\"page_numbers text-sm-medium\">\r\n Page {this.currentPage} of {this.internalTotalPages}\r\n </p>\r\n </div>\r\n <div class=\"pagination_btns\">\r\n <gb-button size=\"sm\" hierarchy=\"secondary_gray\" icon=\"default\" state=\"default\" onClick={() => this.onPreviousButtonClicked()}>\r\n <p>Previous</p>\r\n </gb-button>\r\n <gb-button size=\"sm\" hierarchy=\"secondary_gray\" icon=\"default\" state=\"default\" onClick={() => this.onNextButtonClicked()}>\r\n <p>Next</p>\r\n </gb-button>\r\n </div>\r\n </>\r\n )}\r\n {this.type === 'card_minimal_left_aligned' && this.breakpoint === 'desktop' && (\r\n <>\r\n <div class=\"pagination_btns\">\r\n <gb-button size=\"sm\" hierarchy=\"secondary_gray\" icon=\"default\" state=\"default\" onClick={() => this.onPreviousButtonClicked()}>\r\n <p>Previous</p>\r\n </gb-button>\r\n <gb-button size=\"sm\" hierarchy=\"secondary_gray\" icon=\"default\" state=\"default\" onClick={() => this.onNextButtonClicked()}>\r\n <p>Next</p>\r\n </gb-button>\r\n </div>\r\n <div class=\"page_number_text\">\r\n <p class=\"text-sm-medium\">\r\n Page {this.currentPage} of {this.internalTotalPages}\r\n </p>\r\n </div>\r\n <div class=\"pagination_entries\">\r\n <div class=\"entries_text\">\r\n <p class={`text-sm-medium`} style={{ color: 'var(--color-text, #4B5565)' }}>\r\n Entries\r\n </p>\r\n </div>\r\n <div class={`entries_dropdown`}>\r\n <gb-input-dropdown\r\n type=\"default\"\r\n state={'default'}\r\n size=\"sm\"\r\n show-label={false}\r\n show-hint-text={false}\r\n show-supporting-text={false}\r\n show-hep-icon={false}\r\n items={this.entries}\r\n menu-position=\"top\"\r\n onDropdownItemSelected={this.handlePageSizeSelect.bind(this)}\r\n value={this.defaultSelected}\r\n ></gb-input-dropdown>\r\n </div>\r\n </div>\r\n </>\r\n )}\r\n {this.type === 'card_minimal_center_aligned' && this.breakpoint === 'desktop' && (\r\n <>\r\n <gb-button size=\"sm\" hierarchy=\"secondary_gray\" icon=\"default\" state=\"default\" onClick={() => this.onPreviousButtonClicked()}>\r\n <p>Previous</p>\r\n </gb-button>\r\n <div class=\"page_number_text\">\r\n <p class=\"page_numbers text-sm-medium\">\r\n Page {this.currentPage} of {this.internalTotalPages}\r\n </p>\r\n </div>\r\n <gb-button size=\"sm\" hierarchy=\"secondary_gray\" icon=\"default\" state=\"default\" onClick={() => this.onNextButtonClicked()}>\r\n <p>Next</p>\r\n </gb-button>\r\n </>\r\n )}\r\n {this.type === 'card_button_group_right_aligned' && this.breakpoint === 'desktop' && (\r\n <>\r\n <div class=\"pagination_entries\">\r\n <div class=\"entries_text\">\r\n <p class={`text-sm-medium`} style={{ color: 'var(--color-text, #4B5565)' }}>\r\n Entries\r\n </p>\r\n </div>\r\n <div class={`entries_dropdown`}>\r\n <gb-input-dropdown\r\n type=\"default\"\r\n state={'default'}\r\n size=\"sm\"\r\n show-label={false}\r\n show-hint-text={false}\r\n show-supporting-text={false}\r\n show-hep-icon={false}\r\n items={this.entries}\r\n menu-position=\"top\"\r\n onDropdownItemSelected={this.handlePageSizeSelect.bind(this)}\r\n value={this.defaultSelected}\r\n ></gb-input-dropdown>\r\n </div>\r\n </div>\r\n <div class=\"pagination_button_group\">\r\n <gb-pagination-button-group-base icon=\"leading\" onClick={() => this.onPreviousButtonClicked()}>\r\n <p>Previous</p>\r\n </gb-pagination-button-group-base>\r\n {this.internalTotalPages <= 5 && (\r\n <>\r\n {this.pages.map(page => (\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage === page ? 'active' : 'default'} onClick={() => (this.currentPage = page)}>\r\n <p>{page}</p>\r\n </gb-pagination-button-group-base>\r\n ))}\r\n </>\r\n )}\r\n {this.internalTotalPages >= 6 && (\r\n <>\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage === 1 ? 'active' : 'default'} onClick={() => (this.currentPage = 1)}>\r\n <p>1</p>\r\n </gb-pagination-button-group-base>\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage === 2 ? 'active' : 'default'} onClick={() => (this.currentPage = 2)}>\r\n <p>2</p>\r\n </gb-pagination-button-group-base>\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage === 3 ? 'active' : 'default'} onClick={() => (this.currentPage = 3)}>\r\n <p>3</p>\r\n </gb-pagination-button-group-base>\r\n {this.currentPage > 3 && this.currentPage <= this.internalTotalPages / 2 ? (\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage > 3 && this.currentPage <= this.internalTotalPages / 2 ? 'active' : 'default'}>\r\n <p>{this.currentPage}</p>\r\n </gb-pagination-button-group-base>\r\n ) : null}\r\n <gb-pagination-button-group-base icon=\"false\">\r\n <p>...</p>\r\n </gb-pagination-button-group-base>\r\n {this.currentPage > this.internalTotalPages / 2 && this.currentPage < this.internalTotalPages - 2 ? (\r\n <gb-pagination-button-group-base\r\n icon=\"false\"\r\n state={this.currentPage > this.internalTotalPages / 2 && this.currentPage < this.internalTotalPages ? 'active' : 'default'}\r\n >\r\n <p>{this.currentPage}</p>\r\n </gb-pagination-button-group-base>\r\n ) : null}\r\n <gb-pagination-button-group-base\r\n icon=\"false\"\r\n state={this.currentPage === this.internalTotalPages - 2 ? 'active' : 'default'}\r\n onClick={() => (this.currentPage = this.internalTotalPages - 2)}\r\n >\r\n <p>{this.internalTotalPages - 2}</p>\r\n </gb-pagination-button-group-base>\r\n <gb-pagination-button-group-base\r\n icon=\"false\"\r\n state={this.currentPage === this.internalTotalPages - 1 ? 'active' : 'default'}\r\n onClick={() => (this.currentPage = this.internalTotalPages - 1)}\r\n >\r\n <p>{this.internalTotalPages - 1}</p>\r\n </gb-pagination-button-group-base>\r\n <gb-pagination-button-group-base\r\n icon=\"false\"\r\n state={this.currentPage === this.internalTotalPages ? 'active' : 'default'}\r\n onClick={() => (this.currentPage = this.internalTotalPages)}\r\n >\r\n <p>{this.internalTotalPages}</p>\r\n </gb-pagination-button-group-base>\r\n </>\r\n )}\r\n <gb-pagination-button-group-base icon=\"trailing\" onClick={() => this.onNextButtonClicked()}>\r\n <p>Next</p>\r\n </gb-pagination-button-group-base>\r\n </div>\r\n </>\r\n )}\r\n {this.type === 'card_button_group_left_aligned' && this.breakpoint === 'desktop' && (\r\n <>\r\n <div class=\"pagination_button_group\">\r\n <gb-pagination-button-group-base icon=\"leading\" onClick={() => this.onPreviousButtonClicked()}>\r\n <p>Previous</p>\r\n </gb-pagination-button-group-base>\r\n {this.internalTotalPages <= 5 && (\r\n <>\r\n {this.pages.map(page => (\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage === page ? 'active' : 'default'} onClick={() => (this.currentPage = page)}>\r\n <p>{page}</p>\r\n </gb-pagination-button-group-base>\r\n ))}\r\n </>\r\n )}\r\n {this.internalTotalPages >= 6 && (\r\n <>\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage === 1 ? 'active' : 'default'} onClick={() => (this.currentPage = 1)}>\r\n <p>1</p>\r\n </gb-pagination-button-group-base>\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage === 2 ? 'active' : 'default'} onClick={() => (this.currentPage = 2)}>\r\n <p>2</p>\r\n </gb-pagination-button-group-base>\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage === 3 ? 'active' : 'default'} onClick={() => (this.currentPage = 3)}>\r\n <p>3</p>\r\n </gb-pagination-button-group-base>\r\n {this.currentPage > 3 && this.currentPage <= this.internalTotalPages / 2 ? (\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage > 3 && this.currentPage <= this.internalTotalPages / 2 ? 'active' : 'default'}>\r\n <p>{this.currentPage}</p>\r\n </gb-pagination-button-group-base>\r\n ) : null}\r\n <gb-pagination-button-group-base icon=\"false\">\r\n <p>...</p>\r\n </gb-pagination-button-group-base>\r\n {this.currentPage > this.internalTotalPages / 2 && this.currentPage < this.internalTotalPages - 2 ? (\r\n <gb-pagination-button-group-base\r\n icon=\"false\"\r\n state={this.currentPage > this.internalTotalPages / 2 && this.currentPage < this.internalTotalPages ? 'active' : 'default'}\r\n >\r\n <p>{this.currentPage}</p>\r\n </gb-pagination-button-group-base>\r\n ) : null}\r\n <gb-pagination-button-group-base\r\n icon=\"false\"\r\n state={this.currentPage === this.internalTotalPages - 2 ? 'active' : 'default'}\r\n onClick={() => (this.currentPage = this.internalTotalPages - 2)}\r\n >\r\n <p>{this.internalTotalPages - 2}</p>\r\n </gb-pagination-button-group-base>\r\n <gb-pagination-button-group-base\r\n icon=\"false\"\r\n state={this.currentPage === this.internalTotalPages - 1 ? 'active' : 'default'}\r\n onClick={() => (this.currentPage = this.internalTotalPages - 1)}\r\n >\r\n <p>{this.internalTotalPages - 1}</p>\r\n </gb-pagination-button-group-base>\r\n <gb-pagination-button-group-base\r\n icon=\"false\"\r\n state={this.currentPage === this.internalTotalPages ? 'active' : 'default'}\r\n onClick={() => (this.currentPage = this.internalTotalPages)}\r\n >\r\n <p>{this.internalTotalPages}</p>\r\n </gb-pagination-button-group-base>\r\n </>\r\n )}\r\n <gb-pagination-button-group-base icon=\"trailing\" onClick={() => this.onNextButtonClicked()}>\r\n <p>Next</p>\r\n </gb-pagination-button-group-base>\r\n </div>\r\n <div class=\"pagination_entries\">\r\n <div class=\"entries_text\">\r\n <p class={`text-sm-medium`} style={{ color: 'var(--color-text, #4B5565)' }}>\r\n Entries\r\n </p>\r\n </div>\r\n <div class={`entries_dropdown`}>\r\n <gb-input-dropdown\r\n type=\"default\"\r\n state={'default'}\r\n size=\"sm\"\r\n show-label={false}\r\n show-hint-text={false}\r\n show-supporting-text={false}\r\n show-hep-icon={false}\r\n items={this.entries}\r\n menu-position=\"top\"\r\n onDropdownItemSelected={this.handlePageSizeSelect.bind(this)}\r\n value={this.defaultSelected}\r\n ></gb-input-dropdown>\r\n </div>\r\n </div>\r\n </>\r\n )}\r\n {this.type === 'card_button_group_center_aligned' && this.breakpoint === 'desktop' && (\r\n <>\r\n <div class=\"pagination_button_group\">\r\n <gb-pagination-button-group-base icon=\"leading\" onClick={() => this.onPreviousButtonClicked()}>\r\n <p>Previous</p>\r\n </gb-pagination-button-group-base>\r\n {this.internalTotalPages <= 5 && (\r\n <>\r\n {this.pages.map(page => (\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage === page ? 'active' : 'default'} onClick={() => (this.currentPage = page)}>\r\n <p>{page}</p>\r\n </gb-pagination-button-group-base>\r\n ))}\r\n </>\r\n )}\r\n {this.internalTotalPages >= 6 && (\r\n <>\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage === 1 ? 'active' : 'default'} onClick={() => (this.currentPage = 1)}>\r\n <p>1</p>\r\n </gb-pagination-button-group-base>\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage === 2 ? 'active' : 'default'} onClick={() => (this.currentPage = 2)}>\r\n <p>2</p>\r\n </gb-pagination-button-group-base>\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage === 3 ? 'active' : 'default'} onClick={() => (this.currentPage = 3)}>\r\n <p>3</p>\r\n </gb-pagination-button-group-base>\r\n {this.currentPage > 3 && this.currentPage <= this.internalTotalPages / 2 ? (\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage > 3 && this.currentPage <= this.internalTotalPages / 2 ? 'active' : 'default'}>\r\n <p>{this.currentPage}</p>\r\n </gb-pagination-button-group-base>\r\n ) : null}\r\n <gb-pagination-button-group-base icon=\"false\">\r\n <p>...</p>\r\n </gb-pagination-button-group-base>\r\n {this.currentPage > this.internalTotalPages / 2 && this.currentPage < this.internalTotalPages - 2 ? (\r\n <gb-pagination-button-group-base\r\n icon=\"false\"\r\n state={this.currentPage > this.internalTotalPages / 2 && this.currentPage < this.internalTotalPages ? 'active' : 'default'}\r\n >\r\n <p>{this.currentPage}</p>\r\n </gb-pagination-button-group-base>\r\n ) : null}\r\n <gb-pagination-button-group-base\r\n icon=\"false\"\r\n state={this.currentPage === this.internalTotalPages - 2 ? 'active' : 'default'}\r\n onClick={() => (this.currentPage = this.internalTotalPages - 2)}\r\n >\r\n <p>{this.internalTotalPages - 2}</p>\r\n </gb-pagination-button-group-base>\r\n <gb-pagination-button-group-base\r\n icon=\"false\"\r\n state={this.currentPage === this.internalTotalPages - 1 ? 'active' : 'default'}\r\n onClick={() => (this.currentPage = this.internalTotalPages - 1)}\r\n >\r\n <p>{this.internalTotalPages - 1}</p>\r\n </gb-pagination-button-group-base>\r\n <gb-pagination-button-group-base\r\n icon=\"false\"\r\n state={this.currentPage === this.internalTotalPages ? 'active' : 'default'}\r\n onClick={() => (this.currentPage = this.internalTotalPages)}\r\n >\r\n <p>{this.internalTotalPages}</p>\r\n </gb-pagination-button-group-base>\r\n </>\r\n )}\r\n <gb-pagination-button-group-base icon=\"trailing\" onClick={() => this.onNextButtonClicked()}>\r\n <p>Next</p>\r\n </gb-pagination-button-group-base>\r\n </div>\r\n </>\r\n )}\r\n {/* Mobile Breakpoint Pagination */}\r\n {this.type === 'page_default' && this.breakpoint === 'mobile' && (\r\n <>\r\n <gb-button\r\n size=\"sm\"\r\n hierarchy=\"secondary_gray\"\r\n icon=\"only\"\r\n state=\"default\"\r\n icon-leading={true}\r\n icon-leading-swap=\"assets/arrow-left-02.svg\"\r\n onClick={() => this.onPreviousButtonClicked()}\r\n ></gb-button>\r\n <div class=\"page_number_text\">\r\n <p class=\"page_numbers text-sm-medium\">\r\n Page {this.currentPage} of {this.internalTotalPages}\r\n </p>\r\n </div>\r\n <gb-button\r\n size=\"sm\"\r\n hierarchy=\"secondary_gray\"\r\n icon=\"only\"\r\n state=\"default\"\r\n icon-leading={true}\r\n icon-leading-swap=\"assets/arrow-right-02.svg\"\r\n onClick={() => this.onNextButtonClicked()}\r\n ></gb-button>\r\n </>\r\n )}\r\n {this.type === 'page_minimal_center_aligned' && this.breakpoint === 'mobile' && (\r\n <>\r\n <gb-button\r\n size=\"sm\"\r\n hierarchy=\"secondary_gray\"\r\n icon=\"only\"\r\n state=\"default\"\r\n icon-leading={true}\r\n icon-leading-swap=\"assets/arrow-left-02.svg\"\r\n onClick={() => this.onPreviousButtonClicked()}\r\n ></gb-button>\r\n <div class=\"page_number_text\">\r\n <p class=\"page_numbers text-sm-medium\">\r\n Page {this.currentPage} of {this.internalTotalPages}\r\n </p>\r\n </div>\r\n <gb-button\r\n size=\"sm\"\r\n hierarchy=\"secondary_gray\"\r\n icon=\"only\"\r\n state=\"default\"\r\n icon-leading={true}\r\n icon-leading-swap=\"assets/arrow-right-02.svg\"\r\n onClick={() => this.onNextButtonClicked()}\r\n ></gb-button>\r\n </>\r\n )}\r\n {this.type === 'card_default' && this.breakpoint === 'mobile' && (\r\n <>\r\n <gb-button\r\n size=\"sm\"\r\n hierarchy=\"secondary_gray\"\r\n icon=\"only\"\r\n state=\"default\"\r\n icon-leading={true}\r\n icon-leading-swap=\"assets/arrow-left-02.svg\"\r\n onClick={() => this.onPreviousButtonClicked()}\r\n ></gb-button>\r\n <div class=\"page_number_text\">\r\n <p class=\"page_numbers text-sm-medium\">\r\n Page {this.currentPage} of {this.internalTotalPages}\r\n </p>\r\n </div>\r\n <gb-button\r\n size=\"sm\"\r\n hierarchy=\"secondary_gray\"\r\n icon=\"only\"\r\n state=\"default\"\r\n icon-leading={true}\r\n icon-leading-swap=\"assets/arrow-right-02.svg\"\r\n onClick={() => this.onNextButtonClicked()}\r\n ></gb-button>\r\n </>\r\n )}\r\n {this.type === 'card_minimal_right_aligned' && this.breakpoint === 'mobile' && (\r\n <>\r\n <gb-button\r\n size=\"sm\"\r\n hierarchy=\"secondary_gray\"\r\n icon=\"only\"\r\n state=\"default\"\r\n icon-leading={true}\r\n icon-leading-swap=\"assets/arrow-left-02.svg\"\r\n onClick={() => this.onPreviousButtonClicked()}\r\n ></gb-button>\r\n <div class=\"page_number_text\">\r\n <p class=\"page_numbers text-sm-medium\">\r\n Page {this.currentPage} of {this.internalTotalPages}\r\n </p>\r\n </div>\r\n <gb-button\r\n size=\"sm\"\r\n hierarchy=\"secondary_gray\"\r\n icon=\"only\"\r\n state=\"default\"\r\n icon-leading={true}\r\n icon-leading-swap=\"assets/arrow-right-02.svg\"\r\n onClick={() => this.onNextButtonClicked()}\r\n ></gb-button>\r\n </>\r\n )}\r\n {this.type === 'card_minimal_left_aligned' && this.breakpoint === 'mobile' && (\r\n <>\r\n <gb-button\r\n size=\"sm\"\r\n hierarchy=\"secondary_gray\"\r\n icon=\"only\"\r\n state=\"default\"\r\n icon-leading={true}\r\n icon-leading-swap=\"assets/arrow-left-02.svg\"\r\n onClick={() => this.onPreviousButtonClicked()}\r\n ></gb-button>\r\n <div class=\"page_number_text\">\r\n <p class=\"page_numbers text-sm-medium\">\r\n Page {this.currentPage} of {this.internalTotalPages}\r\n </p>\r\n </div>\r\n <gb-button\r\n size=\"sm\"\r\n hierarchy=\"secondary_gray\"\r\n icon=\"only\"\r\n state=\"default\"\r\n icon-leading={true}\r\n icon-leading-swap=\"assets/arrow-right-02.svg\"\r\n onClick={() => this.onNextButtonClicked()}\r\n ></gb-button>\r\n </>\r\n )}\r\n {this.type === 'card_minimal_center_aligned' && this.breakpoint === 'mobile' && (\r\n <>\r\n <gb-button\r\n size=\"sm\"\r\n hierarchy=\"secondary_gray\"\r\n icon=\"only\"\r\n state=\"default\"\r\n icon-leading={true}\r\n icon-leading-swap=\"assets/arrow-left-02.svg\"\r\n onClick={() => this.onPreviousButtonClicked()}\r\n ></gb-button>\r\n <div class=\"page_number_text\">\r\n <p class=\"page_numbers text-sm-medium\">\r\n Page {this.currentPage} of {this.internalTotalPages}\r\n </p>\r\n </div>\r\n <gb-button\r\n size=\"sm\"\r\n hierarchy=\"secondary_gray\"\r\n icon=\"only\"\r\n state=\"default\"\r\n icon-leading={true}\r\n icon-leading-swap=\"assets/arrow-right-02.svg\"\r\n onClick={() => this.onNextButtonClicked()}\r\n ></gb-button>\r\n </>\r\n )}\r\n {this.type === 'card_button_group_right_aligned' && this.breakpoint === 'mobile' && (\r\n <div class=\"pagination_button_group\">\r\n <gb-pagination-button-group-base icon=\"only\" icon-src=\"assets/arrow-left-02.svg\" onClick={() => this.onPreviousButtonClicked()}></gb-pagination-button-group-base>\r\n {this.internalTotalPages <= 5 && (\r\n <>\r\n {this.pages.map(page => (\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage === page ? 'active' : 'default'} onClick={() => (this.currentPage = page)}>\r\n <p>{page}</p>\r\n </gb-pagination-button-group-base>\r\n ))}\r\n </>\r\n )}\r\n {this.internalTotalPages >= 6 && (\r\n <>\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage === 1 ? 'active' : 'default'} onClick={() => (this.currentPage = 1)}>\r\n <p>1</p>\r\n </gb-pagination-button-group-base>\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage === 2 ? 'active' : 'default'} onClick={() => (this.currentPage = 2)}>\r\n <p>2</p>\r\n </gb-pagination-button-group-base>\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage === 3 ? 'active' : 'default'} onClick={() => (this.currentPage = 3)}>\r\n <p>3</p>\r\n </gb-pagination-button-group-base>\r\n {this.currentPage > 3 && this.currentPage <= this.internalTotalPages / 2 ? (\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage > 3 && this.currentPage <= this.internalTotalPages / 2 ? 'active' : 'default'}>\r\n <p>{this.currentPage}</p>\r\n </gb-pagination-button-group-base>\r\n ) : null}\r\n <gb-pagination-button-group-base icon=\"false\">\r\n <p>...</p>\r\n </gb-pagination-button-group-base>\r\n {this.currentPage > this.internalTotalPages / 2 && this.currentPage < this.internalTotalPages - 2 ? (\r\n <gb-pagination-button-group-base\r\n icon=\"false\"\r\n state={this.currentPage > this.internalTotalPages / 2 && this.currentPage < this.internalTotalPages ? 'active' : 'default'}\r\n >\r\n <p>{this.currentPage}</p>\r\n </gb-pagination-button-group-base>\r\n ) : null}\r\n <gb-pagination-button-group-base\r\n icon=\"false\"\r\n state={this.currentPage === this.internalTotalPages - 2 ? 'active' : 'default'}\r\n onClick={() => (this.currentPage = this.internalTotalPages - 2)}\r\n >\r\n <p>{this.internalTotalPages - 2}</p>\r\n </gb-pagination-button-group-base>\r\n <gb-pagination-button-group-base\r\n icon=\"false\"\r\n state={this.currentPage === this.internalTotalPages - 1 ? 'active' : 'default'}\r\n onClick={() => (this.currentPage = this.internalTotalPages - 1)}\r\n >\r\n <p>{this.internalTotalPages - 1}</p>\r\n </gb-pagination-button-group-base>\r\n <gb-pagination-button-group-base\r\n icon=\"false\"\r\n state={this.currentPage === this.internalTotalPages ? 'active' : 'default'}\r\n onClick={() => (this.currentPage = this.internalTotalPages)}\r\n >\r\n <p>{this.internalTotalPages}</p>\r\n </gb-pagination-button-group-base>\r\n </>\r\n )}\r\n <gb-pagination-button-group-base icon=\"only\" icon-src=\"assets/arrow-right-02.svg\" onClick={() => this.onNextButtonClicked()}></gb-pagination-button-group-base>\r\n </div>\r\n )}\r\n {this.type === 'card_button_group_left_aligned' && this.breakpoint === 'mobile' && (\r\n <div class=\"pagination_button_group\">\r\n <gb-pagination-button-group-base icon=\"only\" icon-src=\"assets/arrow-left-02.svg\" onClick={() => this.onPreviousButtonClicked()}></gb-pagination-button-group-base>\r\n {this.internalTotalPages <= 5 && (\r\n <>\r\n {this.pages.map(page => (\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage === page ? 'active' : 'default'} onClick={() => (this.currentPage = page)}>\r\n <p>{page}</p>\r\n </gb-pagination-button-group-base>\r\n ))}\r\n </>\r\n )}\r\n {this.internalTotalPages >= 6 && (\r\n <>\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage === 1 ? 'active' : 'default'} onClick={() => (this.currentPage = 1)}>\r\n <p>1</p>\r\n </gb-pagination-button-group-base>\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage === 2 ? 'active' : 'default'} onClick={() => (this.currentPage = 2)}>\r\n <p>2</p>\r\n </gb-pagination-button-group-base>\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage === 3 ? 'active' : 'default'} onClick={() => (this.currentPage = 3)}>\r\n <p>3</p>\r\n </gb-pagination-button-group-base>\r\n {this.currentPage > 3 && this.currentPage <= this.internalTotalPages / 2 ? (\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage > 3 && this.currentPage <= this.internalTotalPages / 2 ? 'active' : 'default'}>\r\n <p>{this.currentPage}</p>\r\n </gb-pagination-button-group-base>\r\n ) : null}\r\n <gb-pagination-button-group-base icon=\"false\">\r\n <p>...</p>\r\n </gb-pagination-button-group-base>\r\n {this.currentPage > this.internalTotalPages / 2 && this.currentPage < this.internalTotalPages - 2 ? (\r\n <gb-pagination-button-group-base\r\n icon=\"false\"\r\n state={this.currentPage > this.internalTotalPages / 2 && this.currentPage < this.internalTotalPages ? 'active' : 'default'}\r\n >\r\n <p>{this.currentPage}</p>\r\n </gb-pagination-button-group-base>\r\n ) : null}\r\n <gb-pagination-button-group-base\r\n icon=\"false\"\r\n state={this.currentPage === this.internalTotalPages - 2 ? 'active' : 'default'}\r\n onClick={() => (this.currentPage = this.internalTotalPages - 2)}\r\n >\r\n <p>{this.internalTotalPages - 2}</p>\r\n </gb-pagination-button-group-base>\r\n <gb-pagination-button-group-base\r\n icon=\"false\"\r\n state={this.currentPage === this.internalTotalPages - 1 ? 'active' : 'default'}\r\n onClick={() => (this.currentPage = this.internalTotalPages - 1)}\r\n >\r\n <p>{this.internalTotalPages - 1}</p>\r\n </gb-pagination-button-group-base>\r\n <gb-pagination-button-group-base\r\n icon=\"false\"\r\n state={this.currentPage === this.internalTotalPages ? 'active' : 'default'}\r\n onClick={() => (this.currentPage = this.internalTotalPages)}\r\n >\r\n <p>{this.internalTotalPages}</p>\r\n </gb-pagination-button-group-base>\r\n </>\r\n )}\r\n <gb-pagination-button-group-base icon=\"only\" icon-src=\"assets/arrow-right-02.svg\" onClick={() => this.onNextButtonClicked()}></gb-pagination-button-group-base>\r\n </div>\r\n )}\r\n {this.type === 'card_button_group_center_aligned' && this.breakpoint === 'mobile' && (\r\n <div class=\"pagination_button_group\">\r\n <gb-pagination-button-group-base icon=\"only\" icon-src=\"assets/arrow-left-02.svg\" onClick={() => this.onPreviousButtonClicked()}></gb-pagination-button-group-base>\r\n {this.internalTotalPages <= 5 && (\r\n <>\r\n {this.pages.map(page => (\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage === page ? 'active' : 'default'} onClick={() => (this.currentPage = page)}>\r\n <p>{page}</p>\r\n </gb-pagination-button-group-base>\r\n ))}\r\n </>\r\n )}\r\n {this.internalTotalPages >= 6 && (\r\n <>\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage === 1 ? 'active' : 'default'} onClick={() => (this.currentPage = 1)}>\r\n <p>1</p>\r\n </gb-pagination-button-group-base>\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage === 2 ? 'active' : 'default'} onClick={() => (this.currentPage = 2)}>\r\n <p>2</p>\r\n </gb-pagination-button-group-base>\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage === 3 ? 'active' : 'default'} onClick={() => (this.currentPage = 3)}>\r\n <p>3</p>\r\n </gb-pagination-button-group-base>\r\n {this.currentPage > 3 && this.currentPage <= this.internalTotalPages / 2 ? (\r\n <gb-pagination-button-group-base icon=\"false\" state={this.currentPage > 3 && this.currentPage <= this.internalTotalPages / 2 ? 'active' : 'default'}>\r\n <p>{this.currentPage}</p>\r\n </gb-pagination-button-group-base>\r\n ) : null}\r\n <gb-pagination-button-group-base icon=\"false\">\r\n <p>...</p>\r\n </gb-pagination-button-group-base>\r\n {this.currentPage > this.internalTotalPages / 2 && this.currentPage < this.internalTotalPages - 2 ? (\r\n <gb-pagination-button-group-base\r\n icon=\"false\"\r\n state={this.currentPage > this.internalTotalPages / 2 && this.currentPage < this.internalTotalPages ? 'active' : 'default'}\r\n >\r\n <p>{this.currentPage}</p>\r\n </gb-pagination-button-group-base>\r\n ) : null}\r\n <gb-pagination-button-group-base\r\n icon=\"false\"\r\n state={this.currentPage === this.internalTotalPages - 2 ? 'active' : 'default'}\r\n onClick={() => (this.currentPage = this.internalTotalPages - 2)}\r\n >\r\n <p>{this.internalTotalPages - 2}</p>\r\n </gb-pagination-button-group-base>\r\n <gb-pagination-button-group-base\r\n icon=\"false\"\r\n state={this.currentPage === this.internalTotalPages - 1 ? 'active' : 'default'}\r\n onClick={() => (this.currentPage = this.internalTotalPages - 1)}\r\n >\r\n <p>{this.internalTotalPages - 1}</p>\r\n </gb-pagination-button-group-base>\r\n <gb-pagination-button-group-base\r\n icon=\"false\"\r\n state={this.currentPage === this.internalTotalPages ? 'active' : 'default'}\r\n onClick={() => (this.currentPage = this.internalTotalPages)}\r\n >\r\n <p>{this.internalTotalPages}</p>\r\n </gb-pagination-button-group-base>\r\n </>\r\n )}\r\n <gb-pagination-button-group-base icon=\"only\" icon-src=\"assets/arrow-right-02.svg\" onClick={() => this.onNextButtonClicked()}></gb-pagination-button-group-base>\r\n </div>\r\n )}\r\n </div>\r\n );\r\n }\r\n}\r\n",".button_base_div{\r\n display: flex;\r\n align-items: center;\r\n align-self: stretch;\r\n border-right: 1px solid var(--color-border-subtle, #CDD5DF);\r\n justify-content: center;\r\n cursor: pointer;\r\n width: fit-content;\r\n}\r\n\r\n.button_base_div:hover{\r\n background: var(--color-background-gray-subtler, #EEF2F6);\r\n}\r\n\r\n.button_base_div.active{\r\n background: var(--color-background-gray-subtler, #EEF2F6);\r\n}\r\n\r\n.button_base_div:active{\r\n background: none;\r\n}\r\n\r\n.button_base_div.false{\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n width: 2.5rem;\r\n height: 2.5rem;\r\n padding: var(--spacing-none);\r\n}\r\n\r\n.button_base_div.leading,\r\n.button_base_div.trailing{\r\n height: 2.5rem;\r\n gap: 0.5rem;\r\n padding: var(--spacing-none) var(--spacing-4);\r\n}\r\n\r\n.button_base_div.only{\r\n width: 2.5rem;\r\n height: 2.5rem;\r\n}\r\n\r\n::slotted(p){\r\n color: var(--color-text, #4B5565);\r\n}\r\n\r\n::slotted(p.active_text){\r\n color: var(--color-text-bold, #202939);\r\n}","import { Component, Prop, h, Fragment, Element, getAssetPath, State } from \"@stencil/core\";\r\n\r\n@Component({\r\n tag: 'gb-pagination-button-group-base',\r\n styleUrl: 'gb-pagination-button-group-base.css',\r\n shadow: true,\r\n})\r\nexport class GbPaginationButtonGroupBase {\r\n @Prop() icon: 'false' | 'only' | 'trailing' | 'leading';\r\n @Prop() state: 'default' | 'active';\r\n @Prop() iconSrc: string;\r\n @State() leadingIconSvg: string = '';\r\n @Element() el: HTMLElement;\r\n\r\n componentDidLoad() {\r\n const slottedContent = this.el.querySelector('p');\r\n\r\n if (slottedContent) {\r\n slottedContent.classList.add('text-sm-semi-bold');\r\n }\r\n\r\n if(this.state === 'active') {\r\n slottedContent.classList.add('active_text');\r\n }\r\n\r\n this.loadIcon(this.iconSrc);\r\n }\r\n\r\n async loadIcon(iconName: string) {\r\n const iconPath = getAssetPath(`${iconName}`);\r\n const response = await fetch(iconPath);\r\n const svg = await response.text();\r\n this.leadingIconSvg = svg;\r\n }\r\n\r\n render() {\r\n return (\r\n <div class={`button_base_div ${this.icon} ${this.state}`}>\r\n {this.icon === 'false' && <slot></slot>}\r\n {this.icon === 'leading' && (\r\n <>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M3.33325 9.99981H16.6666M3.33325 9.99981C3.33326 11.0978 7.49975 14.1667 7.49975 14.1667M3.33325 9.99981C3.33324 8.90182 7.49978 5.83334 7.49978 5.83334\"\r\n stroke=\"#4B5565\"\r\n stroke-width=\"1.67\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n <slot></slot>\r\n </>\r\n )}\r\n {this.icon === 'trailing' && (\r\n <>\r\n <slot></slot>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M16.6668 9.99984H3.3335M16.6668 9.99984C16.6668 11.0978 12.5003 14.1667 12.5003 14.1667M16.6668 9.99984C16.6669 8.90185 12.5002 5.83337 12.5002 5.83337\"\r\n stroke=\"#4B5565\"\r\n stroke-width=\"1.5\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n </>\r\n )}\r\n {this.icon === 'only' && (\r\n <>\r\n <div class={`icon`} innerHTML={this.leadingIconSvg}></div>\r\n </>\r\n )}\r\n </div>\r\n );\r\n }\r\n}","@import './../../global/global.css';\r\n\r\n.page_number_base{\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n width: 2.5rem;\r\n height: 2.5rem;\r\n cursor: pointer;\r\n}\r\n\r\n/* Shape Styles */\r\n.page_number_base.square{\r\n border-radius: var(--rounded-sm);\r\n}\r\n\r\n.page_number_base.circle{\r\n border-radius: 1.25rem;\r\n}\r\n\r\n/* State Styles */\r\n.page_number_base:hover{\r\n background-color: var(--color-background-information-subtler, #C8E0F9);\r\n}\r\n\r\n.page_number_base:active,\r\n.page_number_base.active{\r\n background-color: var(--color-background-information-subtle, #9AC7F4);\r\n}\r\n\r\n::slotted([slot=\"page_number\"].default) {\r\n color: var(--color-text, #4B5565);\r\n}\r\n\r\n::slotted([slot=\"page_number\"].active) {\r\n color: var(--color-text-bold, #202939);\r\n}","import { Component, Element, Prop, h } from \"@stencil/core\";\r\nimport { PaginationNumberShapes } from \"../../models/reusableModels\";\r\n\r\n@Component({\r\n tag: 'gb-pagination-number-base',\r\n styleUrl: 'gb-pagination-number-base.css',\r\n shadow: true,\r\n})\r\nexport class GbPaginationNumberBase {\r\n @Prop() shape: PaginationNumberShapes;\r\n @Prop() state: 'default' | 'active' | 'pressed';\r\n @Element() el: HTMLElement;\r\n\r\n componentDidLoad() {\r\n const slottedContent = this.el.querySelector('[slot=\"page_number\"]');\r\n\r\n if (slottedContent) {\r\n slottedContent.classList.add('text-sm-medium');\r\n }\r\n\r\n if (this.state === 'default') {\r\n slottedContent.classList.add('default');\r\n }\r\n\r\n if (this.state === 'active') {\r\n slottedContent.classList.add('active');\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n <div class={`page_number_base ${this.shape} ${this.state}`}>\r\n <slot name=\"page_number\"></slot>\r\n </div>\r\n );\r\n }\r\n}","@import './../../global/global.css';\r\n\r\n:host{\r\n display: flex;\r\n align-items: center;\r\n height: 100%;\r\n}\r\n\r\ndiv {\r\n display: inline-flex;\r\n align-items: flex-start;\r\n}","import { Component, h, Prop, State } from '@stencil/core';\r\n\r\n@Component({\r\n tag: 'gb-password-button',\r\n styleUrl: 'gb-password-button.css',\r\n shadow: true\r\n})\r\nexport class GbPasswordButton {\r\n @State() isPasswordVisible: boolean = false;\r\n @Prop() state: 'default' | 'disabled';\r\n\r\n togglePasswordVisibility() {\r\n this.isPasswordVisible = !this.isPasswordVisible;\r\n }\r\n\r\n render() {\r\n return (\r\n <div>\r\n <gb-btn size=\"sm\" hierarchy=\"link_gray\" state=\"default\" onClick={() => this.togglePasswordVisibility()}>\r\n {this.isPasswordVisible ? (\r\n <gb-button size=\"sm\" hierarchy=\"tertiary_gray\" icon=\"default\" state={this.state}>\r\n <p>HIDE</p>\r\n </gb-button>\r\n ) : (\r\n <gb-button size=\"sm\" hierarchy=\"tertiary_gray\" icon=\"default\" state={this.state}>\r\n <p>SHOW</p>\r\n </gb-button>\r\n )}\r\n </gb-btn>\r\n </div>\r\n );\r\n }\r\n}\r\n","@import './../../global/global.css';\r\n\r\n/* Simple Sidebar Styles */\r\n.simple_sidebar_div{\r\n transition: all 0.3s ease-in-out;\r\n position: relative;\r\n height: 100vh;\r\n}\r\n\r\n.pattern{\r\n position: absolute;\r\n top: 0;\r\n width: 100%;\r\n height: 100%;\r\n overflow: hidden;\r\n mix-blend-mode: multiply;\r\n}\r\n\r\n.simple_sidebar_div .pattern img\r\n.primary_side_menu .pattern img{\r\n width: 100%;\r\n height: auto;\r\n}\r\n\r\n.simple_sidebar_div.expanded{\r\n display: inline-flex;\r\n flex-direction: column;\r\n justify-content: space-between;\r\n width: 16.75rem;\r\n}\r\n\r\n.simple_sidebar_div.collapsed{\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n width: 5rem;\r\n}\r\n\r\n.nav{\r\n display: flex;\r\n width: 100%;\r\n flex-direction: column;\r\n gap: var(--spacing-6);\r\n}\r\n\r\n.sidebar_header.expanded{\r\n display: flex;\r\n padding: var(--spacing-none) var(--spacing-4) var(--spacing-none) var(--spacing-6);\r\n justify-content: space-between;\r\n align-items: center;\r\n margin-top: 1rem;\r\n}\r\n\r\n.sidebar_header.collapsed{\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n margin-top: 1rem;\r\n gap: 1.5rem;\r\n}\r\n\r\n.logo_and_name.expanded{\r\n display: flex;\r\n justify-content: flex-start;\r\n align-items: center;\r\n}\r\n\r\n.logo_and_name.collapsed{\r\n display: flex;\r\n justify-content: center;\r\n}\r\n\r\n.sidebar_logo{\r\n display: flex;\r\n align-items: center;\r\n gap: 0.69rem;\r\n}\r\n\r\n.collapse_button.collapsed{\r\n display: flex;\r\n justify-content: center;\r\n}\r\n\r\n.application_name{\r\n display: flex;\r\n padding: var(--spacing-6);\r\n}\r\n\r\n.wrapper{\r\n display: flex;\r\n padding: var(--spacing-4) var(--spacing-5) var(--spacing-5) var(--spacing-5);\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: flex-start;\r\n gap: var(--spacing-4);\r\n align-self: stretch;\r\n border-radius: var(--rounded-sm);\r\n position: relative;\r\n width: 13.75rem;\r\n height: auto;\r\n overflow: hidden;\r\n}\r\n\r\n.application_icon svg{\r\n width: 2.5rem;\r\n height: 2.5rem;\r\n}\r\n\r\n.application_icon.plain_background path[stroke] {\r\n stroke: var(--color-icon-information-bold, #042F59);\r\n}\r\n\r\n.application_icon.plain_background path[fill] {\r\n fill: var(--color-icon-information-bold, #042F59);\r\n}\r\n\r\n.application_icon.colored_background path[stroke] {\r\n stroke: var(--base-white, #FFFFFF);\r\n}\r\n\r\n.application_icon.colored_background path[fill] {\r\n fill: var(--base-white, #FFFFFF);\r\n}\r\n\r\n.application_name_pattern{\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n mix-blend-mode: multiply;\r\n}\r\n\r\n.application_name_pattern img{\r\n width: 100%;\r\n}\r\n\r\n.wrapper{\r\n width: 100%;\r\n}\r\n\r\n.wrapper.colored_background{\r\n border: 1px solid rgba(255, 255, 255, 0.10);\r\n background: rgba(0, 0, 0, 0.10);\r\n}\r\n\r\n.wrapper.plain_background{\r\n background: var(--color-background-gray-subtlest, #F6F8FA);\r\n border: 1px solid var(--color-border-subtler, #E3E8EF);\r\n}\r\n\r\n::slotted([slot=\"application_name\"].plain_background) {\r\n color: var(--color-text-information-bold, #042F59) !important;\r\n}\r\n\r\n::slotted([slot=\"application_name\"].colored_background) {\r\n color: var(--base-white, #FFFFFF) !important;\r\n}\r\n\r\n/* Simple Sidebar Category Styles */\r\n.simple_sidebar_div.plain_background{\r\n border-right: 0.7px solid var(--color-border-subtle, #CDD5DF);\r\n background: var(--color-surface, #FFFFFF);\r\n}\r\n\r\n.simple_sidebar_div.colored_background{\r\n background-image: linear-gradient(180deg, #064E94 0%, #02182E 100%);\r\n background-size: cover;\r\n}\r\n\r\n.item{\r\n display: flex;\r\n flex-direction: column;\r\n width: 100%;\r\n gap: var(--spacing-1);\r\n}\r\n\r\n/* Complex Sidebar Styles */\r\n.sidebar_and_nav{\r\n width: fit-content;\r\n transition: all 0.3s ease-in-out;\r\n}\r\n\r\n.complex_sidebar_div{\r\n display: flex;\r\n gap: 0;\r\n width: fit-content;\r\n height: 100vh;\r\n}\r\n\r\n.primary_side_menu{\r\n position: relative;\r\n width: 6rem;\r\n}\r\n\r\n.primary_side_menu.standard{\r\n padding: var(--spacing-4) var(--spacing-none) 0.5rem var(--spacing-none);\r\n}\r\n\r\n.primary_side_menu.compact{\r\n padding: var(--spacing-2) var(--spacing-none) 0.5rem var(--spacing-none);\r\n}\r\n\r\n.primary_side_menu_container{\r\n width: 100%;\r\n}\r\n\r\n.nav_div{\r\n display: flex;\r\n height: 4.5rem;\r\n padding: 0.5rem var(--spacing-5) 0.5rem var(--spacing-7);\r\n align-items: center;\r\n gap: 1.5rem;\r\n flex: 1 0 0;\r\n border-bottom: 1px solid var(--color-border-subtler, #E3E8EF);\r\n background: var(--color-surface, #FFFFFF);\r\n}\r\n\r\n.logo_and_button{\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n flex: 1 0 0;\r\n}\r\n\r\n/* Complex Sidebar Category Styles */\r\n.primary_side_menu.plain_background{\r\n border-right: 0.7px solid var(--color-border-subtle, #CDD5DF);\r\n background: var(--color-surface, #FFFFFF);\r\n}\r\n\r\n.primary_side_menu.colored_background{\r\n background-image: linear-gradient(180deg, #064E94 0%, #02182E 100%);\r\n background-size: cover;\r\n}\r\n\r\n/* Complex Sidebar State Styles */\r\n.secondary_side_menu{\r\n width: fit-content;\r\n}\r\n\r\n.secondary_side_menu.colored_background{\r\n background: var(--color-background-information-subtlest, #E4F0FC);\r\n}\r\n\r\n.secondary_side_menu.plain_background{\r\n background: var(--color-surface, #FFFFFF);\r\n border-right: 0.7px solid var(--color-border-subtle, #CDD5DF);\r\n}\r\n\r\n.sside_menu{\r\n display: flex;\r\n flex-direction: column;\r\n gap: var(--spacing-2);\r\n height: 100vh;\r\n padding: var(--spacing-4) var(--spacing-none);\r\n}\r\n\r\n.information_header{\r\n display: flex;\r\nalign-items: center;\r\ngap: var(--spacing-2);\r\nalign-self: stretch;\r\n}\r\n\r\n.help_icon.plain_background path[stroke]{\r\n stroke: var(--color-text-brandDarkBlue, #212C65)\r\n}\r\n\r\n.help_icon.plain_background path[fill]{\r\n fill: var(--color-text-brandDarkBlue, #212C65)\r\n}\r\n\r\n.help_icon.colored_background path[stroke]{\r\n stroke: var(--base-white, #FFFFFF)\r\n}\r\n\r\n.help_icon.colored_background path[fill]{\r\n fill: var(--base-white, #FFFFFF)\r\n}\r\n\r\n\r\n.need_help.plain_background{\r\n color: var(--color-text-brandDarkBlue, #212C65);\r\n}\r\n\r\n.need_help.colored_background{\r\n color: var(--base-white, #FFFFFF);\r\n}\r\n\r\n.info.colored_background {\r\n color: var(--base-white, #FFFFFF);\r\n}\r\n\r\n.info.plain_background{\r\n color: var(--color-text-bold, #202939);\r\n}\r\n\r\n.phone_no{\r\n width: 100%;\r\n word-wrap: break-word;\r\n}","import { Component, Element, h, Prop, Fragment, State, getAssetPath, Method, Event, EventEmitter } from '@stencil/core';\r\nimport { GeneralBackgroundCategories, ThemeTypes } from '../../models/reusableModels';\r\n\r\n@Component({\r\n tag: 'gb-sidebar',\r\n styleUrl: 'gb-sidebar.css',\r\n shadow: true,\r\n})\r\nexport class GbSidebar {\r\n @Prop({ mutable: true }) state: 'expanded' | 'collapsed' = 'expanded';\r\n @Prop() category: GeneralBackgroundCategories;\r\n @Prop() navItemStyle: 'standard' | 'compact';\r\n @Prop() type: 'simple' | 'complex';\r\n @Prop() showSecondCategory: boolean = false;\r\n @Prop() iconInstance: string = '';\r\n @Prop() firstItemIcon: string = '';\r\n @Prop() secondItemIcon: string = '';\r\n @Prop() thirdItemIcon: string = '';\r\n @Prop() fourthItemIcon: string = '';\r\n @Prop() fifthItemIcon: string = '';\r\n @Prop() sixthItemIcon: string = '';\r\n @Prop() seventhItemIcon: string = '';\r\n @Prop() eighthItemIcon: string = '';\r\n @Prop() ninthItemIcon: string = '';\r\n @Prop() tenthItemIcon: string = '';\r\n @Prop() firstItemLabel: string = '';\r\n @Prop() secondItemLabel: string = '';\r\n @Prop() thirdItemLabel: string = '';\r\n @Prop() fourthItemLabel: string = '';\r\n @Prop() fifthItemLabel: string = '';\r\n @Prop() sixthItemLabel: string = '';\r\n @Prop() seventhItemLabel: string = '';\r\n @Prop() eighthItemLabel: string = '';\r\n @Prop() ninthItemLabel: string = '';\r\n @Prop() tenthItemLabel: string = '';\r\n @Prop() complexSidebarData: any = {\r\n // Recruitment: {\r\n // icon: 'assets/user-search-01.svg', // Icon class or path for Recruitment\r\n // items: [\r\n // { label: 'Overview', icon: 'assets/star.svg' },\r\n // { label: 'My Profile', icon: 'assets/star.svg' },\r\n // { label: 'Appraisal', icon: 'assets/star.svg' },\r\n // { label: 'Staff Management', icon: 'assets/star.svg' },\r\n // { label: 'Leave Management', icon: 'assets/star.svg' },\r\n // { label: 'Resignation Portal', icon: 'assets/star.svg' },\r\n // ],\r\n // },\r\n // Staff: {\r\n // icon: 'assets/user-account.svg',\r\n // items: [\r\n // { label: 'Staff Overview', icon: 'assets/star.svg' },\r\n // { label: 'Payroll Management', icon: 'assets/dashboard-square-03.svg' },\r\n // { label: 'Attendance', icon: 'assets/dashboard-square-03.svg' },\r\n // { label: 'New', icon: 'assets/dashboard-square-03.svg' },\r\n // ],\r\n // },\r\n };\r\n @Prop({ mutable: true }) activeIndex: number;\r\n @Prop({ mutable: true }) activePrimaryItem: string = 'Staff';\r\n @Prop({ mutable: true }) activeSecondaryItem: string = 'Attendance Tracking';\r\n @Prop() hasInfo: boolean = false;\r\n @Prop() email: string = '';\r\n @Prop() phoneNumber: string = '';\r\n @Prop() theme: ThemeTypes = 'system';\r\n @State() isDarkTheme: boolean = false;\r\n @Element() el: HTMLElement;\r\n @State() leadingIconSvg: string = '';\r\n @Event() simpleSidebarItemClicked: EventEmitter<number>;\r\n @Event() secondaryItemClicked: EventEmitter<number>;\r\n @Event() primaryItemClicked: EventEmitter<{ primary: number; secondary: number }>;\r\n @Event() sidebarState: EventEmitter<string>;\r\n\r\n async loadIcon(iconName: string) {\r\n const iconPath = getAssetPath(`${iconName}`);\r\n const response = await fetch(iconPath);\r\n const svg = await response.text();\r\n this.leadingIconSvg = svg;\r\n }\r\n\r\n collapseSideBar() {\r\n if (this.state === 'expanded') {\r\n this.state = 'collapsed';\r\n }\r\n this.sidebarState.emit('collapsed');\r\n }\r\n\r\n expandSideBar() {\r\n if (this.state === 'collapsed') {\r\n this.state = 'expanded';\r\n }\r\n this.sidebarState.emit('expanded');\r\n }\r\n\r\n @Method()\r\n async sideBarItemClicked(index: number) {\r\n this.activeIndex = index;\r\n // console.log(index);\r\n this.simpleSidebarItemClicked.emit(index);\r\n }\r\n\r\n handlePrimaryClick(item: string, _index: number) {\r\n this.activePrimaryItem = item;\r\n this.activeSecondaryItem = this.complexSidebarData[item].items[0].label; // Reset to the first secondary item\r\n // console.log(index)\r\n }\r\n\r\n handleSecondaryClick(item: string, _index: number) {\r\n this.activeSecondaryItem = item;\r\n // console.log(index);\r\n }\r\n\r\n componentDidLoad() {\r\n const applicationName = this.el.querySelector('[slot=\"application_name\"]');\r\n\r\n if (applicationName) {\r\n applicationName.classList.add('text-lg-bold');\r\n applicationName.classList.add('application_name');\r\n applicationName.classList.add(`${this.category}`);\r\n }\r\n }\r\n\r\n changeTheme() {\r\n if (this.theme === 'system') {\r\n if (window.matchMedia('(prefers-color-scheme: dark)').matches) {\r\n this.isDarkTheme = true;\r\n } else {\r\n this.isDarkTheme = false;\r\n }\r\n } else if (this.theme === 'light') {\r\n this.isDarkTheme = false;\r\n } else if (this.theme === 'dark') {\r\n this.isDarkTheme = true;\r\n }\r\n }\r\n\r\n componentWillLoad() {\r\n this.loadIcon(this.iconInstance);\r\n\r\n this.changeTheme();\r\n }\r\n\r\n render() {\r\n const patternSrc = getAssetPath(`assets/pattern_wrapper.svg`);\r\n const logoSrc = getAssetPath(`assets/globus_bank_logo.svg`);\r\n const blueLogoSrc = getAssetPath(`assets/globus_bank_logo_blue.svg`);\r\n\r\n return (\r\n <>\r\n {this.type === 'simple' && (\r\n <div class={`simple_sidebar_div ${this.state} ${this.category}`}>\r\n {this.category === 'colored_background' && (\r\n <div class=\"pattern\">\r\n <img src={patternSrc} alt=\"\" />\r\n </div>\r\n )}\r\n <div class=\"nav\">\r\n <div class={`sidebar_header ${this.state}`}>\r\n <div class={`logo_and_name ${this.state}`}>\r\n {this.state === 'expanded' && (\r\n <div class=\"sidebar_logo\">\r\n <img src={logoSrc} alt=\"\" />\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"117\" height=\"17\" viewBox=\"0 0 117 17\" fill=\"none\">\r\n <path\r\n fill-rule=\"evenodd\"\r\n clip-rule=\"evenodd\"\r\n d=\"M55.977 12.6264C56.3596 13.1025 56.8394 13.4915 57.3843 13.7674C57.9292 14.0434 58.5268 14.1998 59.137 14.2264C59.3682 14.2276 59.5989 14.2038 59.825 14.1554C60.0203 14.1134 60.2068 14.0376 60.376 13.9314C60.5266 13.8276 60.6514 13.6908 60.741 13.5314C60.8332 13.3494 60.8789 13.1473 60.874 12.9434C60.8797 12.7871 60.8427 12.6322 60.767 12.4954C60.6928 12.3641 60.5948 12.2478 60.478 12.1524C60.3548 12.0522 60.2206 11.9663 60.078 11.8964C59.9369 11.8205 59.7898 11.7567 59.638 11.7054C59.365 11.6054 59.092 11.4954 58.821 11.4054C58.55 11.3154 58.285 11.2194 58.009 11.1054C57.856 11.0544 57.668 10.9864 57.454 10.9054C57.2189 10.8192 56.9891 10.7191 56.766 10.6054C56.5267 10.4828 56.2967 10.3428 56.078 10.1864C55.8479 10.0188 55.6411 9.82143 55.463 9.59936C55.2755 9.3641 55.1254 9.10136 55.018 8.82037C54.8987 8.50077 54.841 8.16145 54.848 7.82037C54.8385 7.38435 54.9601 6.95552 55.197 6.58938C55.4368 6.22409 55.7548 5.91665 56.128 5.68935C56.5352 5.44285 56.9786 5.26199 57.442 5.15337C57.9371 5.03187 58.4452 4.9714 58.955 4.97335C59.7154 4.96345 60.4735 5.05835 61.208 5.25536C61.883 5.44235 62.5133 5.76379 63.061 6.20037L61.881 7.97738C61.675 7.77738 61.475 7.59837 61.276 7.43737C61.0823 7.28066 60.8736 7.14333 60.653 7.02737C60.4242 6.91238 60.1825 6.82509 59.933 6.76736C59.6405 6.70771 59.3425 6.67923 59.044 6.68237C58.8003 6.6793 58.5576 6.71302 58.324 6.78237C58.1425 6.83794 57.973 6.92678 57.824 7.04437C57.7018 7.14787 57.6053 7.27829 57.542 7.42538C57.4813 7.5669 57.4503 7.71939 57.451 7.87338C57.4479 8.03229 57.4929 8.18844 57.58 8.32137C57.6712 8.45192 57.7854 8.56477 57.917 8.65438C58.0598 8.75308 58.2135 8.83495 58.375 8.89837C58.549 8.96737 58.724 9.03036 58.903 9.08737C59.183 9.18737 59.467 9.28736 59.749 9.37936C60.031 9.47136 60.313 9.57035 60.592 9.66735C60.731 9.72035 60.902 9.77936 61.104 9.85336C61.3158 9.93021 61.522 10.0218 61.721 10.1274C61.945 10.2432 62.1576 10.3798 62.356 10.5354C62.571 10.6981 62.7616 10.8907 62.922 11.1074C63.0947 11.347 63.2296 11.6118 63.322 11.8924C63.4341 12.2242 63.4876 12.5731 63.48 12.9234C63.4886 13.3821 63.3593 13.8329 63.109 14.2174C62.8572 14.5968 62.5255 14.9167 62.137 15.1544C61.711 15.4162 61.2468 15.6099 60.761 15.7284C60.2447 15.8581 59.7143 15.923 59.182 15.9214C58.7286 15.9217 58.2755 15.896 57.825 15.8444C57.4131 15.7956 57.0069 15.7072 56.612 15.5804C56.2266 15.4585 55.8573 15.2906 55.512 15.0804C55.152 14.8574 54.8226 14.5884 54.532 14.2804L55.977 12.6264ZM46.023 5.15136V12.3824C46.0171 12.6297 46.0603 12.8758 46.15 13.1064C46.2233 13.2937 46.3378 13.4622 46.485 13.5994C46.6276 13.7299 46.7989 13.8251 46.985 13.8774C47.1837 13.9372 47.3905 13.9659 47.598 13.9624C48.1129 13.9605 48.6258 13.9001 49.127 13.7824C49.6297 13.6726 50.1117 13.4836 50.555 13.2224V5.14636H53.165V13.8624C53.1705 14.1064 53.1909 14.3498 53.226 14.5914C53.262 14.9064 53.326 15.2774 53.403 15.7014H50.93C50.916 15.6614 50.893 15.5894 50.866 15.4774C50.839 15.3654 50.805 15.2534 50.772 15.1304C50.739 15.0074 50.715 14.8904 50.687 14.7814C50.6662 14.7 50.6501 14.6176 50.639 14.5344C50.4019 14.7386 50.1461 14.9201 49.875 15.0764C49.5915 15.2448 49.2941 15.3887 48.986 15.5064C48.6826 15.626 48.3695 15.719 48.05 15.7844C47.7544 15.8493 47.4527 15.8828 47.15 15.8844C46.5406 15.9045 45.9328 15.8088 45.359 15.6024C44.9281 15.4446 44.5423 15.1836 44.2355 14.8422C43.9287 14.5009 43.7102 14.0897 43.599 13.6444C43.4774 13.1714 43.4179 12.6847 43.422 12.1964V5.14938L46.023 5.15136ZM34.173 14.0344C34.4914 14.1402 34.8178 14.2205 35.149 14.2744C35.5278 14.3366 35.9111 14.368 36.295 14.3684C36.6865 14.3713 37.0725 14.2764 37.418 14.0924C37.7682 13.8978 38.0679 13.6238 38.293 13.2924C38.5589 12.9056 38.7546 12.4751 38.871 12.0204C39.0127 11.4651 39.0799 10.8934 39.071 10.3204C39.0745 9.84945 39.0238 9.37971 38.92 8.92037C38.8359 8.53264 38.6762 8.1653 38.45 7.83938C38.2415 7.54414 37.9623 7.30585 37.638 7.14636C37.2658 6.97548 36.8594 6.89203 36.45 6.90237C36.2347 6.90349 36.0196 6.91785 35.806 6.94537C35.591 6.97637 35.384 7.01636 35.183 7.06536C34.9916 7.11019 34.8033 7.16699 34.619 7.23537C34.4596 7.29532 34.3062 7.37033 34.161 7.45937L34.173 14.0344ZM31.573 0.395379H34.173V5.94637C34.5815 5.64458 35.0369 5.41212 35.521 5.25835C36.0793 5.07415 36.6641 4.98329 37.252 4.98937C37.9775 4.97144 38.697 5.12493 39.352 5.43737C39.9085 5.71759 40.3919 6.12367 40.764 6.62338C41.1391 7.13643 41.4108 7.71756 41.564 8.33437C41.7346 8.99307 41.82 9.67094 41.818 10.3514C41.8392 11.1967 41.6831 12.037 41.36 12.8184C41.081 13.474 40.6682 14.0643 40.148 14.5514C39.6578 15.003 39.0812 15.3507 38.453 15.5734C37.838 15.79 37.1911 15.9022 36.539 15.9054C36.0383 15.9054 35.5797 15.9 35.163 15.8894C34.744 15.8774 34.338 15.8644 33.951 15.8464C33.564 15.8284 33.173 15.7994 32.791 15.7614C32.409 15.7234 32.007 15.6784 31.591 15.6234L31.573 0.395379ZM24.573 14.2164C24.984 14.2278 25.3873 14.103 25.72 13.8614C26.0497 13.616 26.3187 13.2982 26.506 12.9324C26.7225 12.5243 26.8769 12.0861 26.964 11.6324C27.066 11.1494 27.1166 10.657 27.115 10.1634C27.1164 9.72126 27.0718 9.28025 26.982 8.84737C26.9009 8.46194 26.7494 8.09478 26.535 7.76437C26.3324 7.45791 26.0577 7.20585 25.735 7.03036C25.3682 6.83692 24.9575 6.74183 24.543 6.75436C24.1538 6.74764 23.7699 6.845 23.431 7.03637C23.1073 7.23018 22.8334 7.49693 22.631 7.81536C22.4048 8.17634 22.2412 8.57292 22.147 8.98837C21.9311 9.90171 21.9243 10.852 22.127 11.7684C22.216 12.194 22.3705 12.6032 22.585 12.9814C22.7843 13.3379 23.0607 13.6453 23.394 13.8814C23.7431 14.1127 24.1554 14.2301 24.574 14.2174L24.573 14.2164ZM24.66 15.9734C23.8645 15.9875 23.0734 15.8518 22.328 15.5734C21.6834 15.3259 21.1025 14.937 20.628 14.4354C20.1558 13.9225 19.7994 13.3141 19.583 12.6514C19.335 11.9037 19.2134 11.12 19.223 10.3324C19.2197 9.63472 19.3305 8.94126 19.551 8.27938C19.7645 7.63603 20.1153 7.04677 20.5791 6.55242C21.0429 6.05807 21.6086 5.67044 22.237 5.41637C22.9955 5.11592 23.8064 4.97038 24.622 4.98837C25.43 4.96837 26.2335 5.11404 26.983 5.41637C27.6091 5.68005 28.1666 6.0833 28.613 6.59536C29.0478 7.1081 29.3694 7.70683 29.557 8.35238C29.7617 9.05529 29.8627 9.7843 29.857 10.5164C29.8615 11.2376 29.7414 11.9541 29.502 12.6344C29.2754 13.2745 28.9255 13.864 28.472 14.3694C28.0128 14.8682 27.4555 15.2669 26.835 15.5404C26.1487 15.8353 25.4079 15.9818 24.661 15.9704L24.66 15.9734ZM14.302 0.394372H16.902V13.1564C16.8789 13.4015 16.9368 13.6474 17.067 13.8564C17.1212 13.9252 17.191 13.9801 17.2706 14.0167C17.3503 14.0532 17.4375 14.0702 17.525 14.0664C17.7153 14.0716 17.9048 14.0415 18.084 13.9774C18.237 13.9214 18.417 13.8494 18.615 13.7774L19.055 15.0844C18.8809 15.2024 18.6984 15.3077 18.509 15.3994C18.3094 15.4997 18.1032 15.5865 17.892 15.6594C17.672 15.7336 17.4475 15.794 17.22 15.8404C16.9934 15.8855 16.763 15.9086 16.532 15.9094C16.2533 15.9095 15.9753 15.8797 15.703 15.8204C15.4428 15.7656 15.1996 15.6489 14.994 15.4804C14.7726 15.2971 14.6007 15.0612 14.494 14.7944C14.3574 14.4324 14.2942 14.047 14.308 13.6604L14.302 0.394372ZM12.602 14.6814C12.239 14.8724 11.868 15.0444 11.485 15.2064C11.0739 15.377 10.6508 15.517 10.219 15.6254C9.71274 15.7511 9.19858 15.8427 8.68001 15.8994C8.03877 15.9693 7.39406 16.0027 6.74901 15.9994C6.02384 16.0081 5.30187 15.9018 4.61001 15.6844C3.40238 15.3004 2.35048 14.5377 1.61001 13.5094C1.24144 13.0029 0.939006 12.4514 0.710011 11.8684C0.468973 11.2677 0.289379 10.6442 0.174001 10.0074C0.0576192 9.35516 -0.000605498 8.69388 4.74727e-06 8.03137C0.000633892 7.33814 0.0726773 6.64683 0.215001 5.96838C0.349412 5.31408 0.556361 4.67679 0.832006 4.06835C1.10146 3.48093 1.44454 2.9302 1.853 2.42938C2.67554 1.41797 3.78369 0.67779 5.03301 0.305352C5.72268 0.0959449 6.44028 -0.0069001 7.161 0.000359076C7.54 0.000359076 7.88701 0.012372 8.20301 0.032372C8.49632 0.0492166 8.78846 0.0826091 9.07801 0.132378C9.34144 0.177448 9.60066 0.244327 9.853 0.33236C10.107 0.419187 10.3543 0.52447 10.593 0.647362C10.8609 0.782467 11.1192 0.935843 11.366 1.10638C11.6327 1.28438 11.9263 1.49435 12.247 1.73635L10.797 3.68838C10.4912 3.41105 10.1686 3.15288 9.83101 2.91537C9.55631 2.72032 9.26083 2.55631 8.95 2.42635C8.66096 2.30636 8.35893 2.22046 8.05001 2.17037C7.70771 2.11985 7.362 2.0961 7.01601 2.09936C6.40137 2.08829 5.79444 2.23754 5.25501 2.53237C4.73856 2.82694 4.29629 3.23569 3.96201 3.72738C3.59548 4.26897 3.32706 4.87079 3.16901 5.50536C2.98332 6.22376 2.89254 6.9634 2.89901 7.70538C2.89341 8.4936 2.97049 9.28022 3.129 10.0524C3.26457 10.7479 3.51573 11.4158 3.87201 12.0284C4.19608 12.5805 4.64638 13.0479 5.18601 13.3924C5.76832 13.7417 6.43821 13.9176 7.11701 13.8994C7.33906 13.9036 7.56116 13.8939 7.782 13.8704C8.018 13.8414 8.25401 13.8234 8.49601 13.7874C8.73801 13.7514 8.972 13.7084 9.202 13.6594C9.432 13.6104 9.64401 13.5594 9.84601 13.5094V8.32836H12.595L12.602 14.6814Z\"\r\n fill=\"var(--color-text-brandDarkBlue, #212C65)\"\r\n />\r\n <path\r\n fill-rule=\"evenodd\"\r\n clip-rule=\"evenodd\"\r\n d=\"M109.442 9.51028L113.077 5.4953H116.426L111.367 10.3453L116.755 16.3633H113.547L109.447 11.6633V16.3633H106.768V0.58728H109.447L109.442 9.51028ZM94.8709 7.3573C94.8709 7.1413 94.871 6.86529 94.852 6.52429C94.8439 6.1785 94.8071 5.83398 94.742 5.49429H97.2649C97.2894 5.55963 97.3098 5.62644 97.326 5.69431C97.345 5.77631 97.3659 5.86929 97.3919 5.96429C97.4179 6.05929 97.4369 6.16428 97.4549 6.26428C97.4729 6.36428 97.486 6.46428 97.5 6.55228C97.687 6.38781 97.8877 6.23961 98.0999 6.10928C98.6115 5.78686 99.1757 5.55704 99.7669 5.4303C100.1 5.35753 100.44 5.32132 100.781 5.3223C101.328 5.31866 101.872 5.40723 102.39 5.58429C102.869 5.74685 103.312 6.00393 103.69 6.3403C104.063 6.67744 104.36 7.08984 104.562 7.55029C104.781 8.06212 104.89 8.61452 104.881 9.1713V16.3713H102.196V9.6713C102.203 9.29813 102.158 8.9258 102.061 8.56528C101.986 8.29345 101.849 8.04279 101.661 7.83328C101.484 7.64715 101.263 7.50943 101.018 7.43329C100.734 7.34463 100.438 7.30144 100.141 7.3053C99.9337 7.30661 99.7268 7.32297 99.5219 7.35428C99.2943 7.38247 99.069 7.42726 98.8479 7.48828C98.6183 7.5484 98.392 7.6205 98.17 7.70428C97.9553 7.77835 97.7466 7.86895 97.5459 7.97528V16.3753H94.8689L94.8709 7.3573ZM89.354 10.6903C88.693 10.7039 88.0352 10.7877 87.3919 10.9403C86.9571 11.0391 86.5446 11.2185 86.1759 11.4693C85.8984 11.6587 85.6811 11.9239 85.55 12.2333C85.4322 12.5398 85.3738 12.866 85.378 13.1943C85.3692 13.4439 85.403 13.6931 85.4779 13.9313C85.5355 14.1106 85.6361 14.273 85.771 14.4043C85.9046 14.5271 86.0668 14.6145 86.243 14.6583C86.4338 14.7108 86.631 14.7364 86.8289 14.7343C87.0219 14.7343 87.219 14.7223 87.419 14.7063C87.6305 14.6839 87.8398 14.6444 88.045 14.5883C88.266 14.5295 88.4818 14.4522 88.69 14.3573C88.9221 14.2504 89.144 14.1225 89.3529 13.9753L89.354 10.6903ZM82.841 6.9743C83.4506 6.43993 84.1574 6.02806 84.9229 5.76129C85.735 5.46771 86.5924 5.31913 87.456 5.3223C88.0356 5.3199 88.6134 5.38703 89.177 5.52228C89.6953 5.64191 90.1898 5.84778 90.6399 6.13129C91.0583 6.40027 91.4075 6.76412 91.659 7.1933C91.9212 7.66192 92.0524 8.19246 92.039 8.72928V13.5793C92.0359 13.7771 92.0499 13.9749 92.081 14.1703C92.0978 14.3025 92.1446 14.429 92.2179 14.5403C92.2808 14.6292 92.369 14.6971 92.471 14.7353C92.5948 14.7743 92.7242 14.7923 92.854 14.7883C92.9578 14.7841 93.0613 14.7741 93.164 14.7583C93.322 14.7363 93.466 14.7133 93.596 14.6893L93.885 15.8443C93.72 15.9443 93.553 16.0353 93.38 16.1263C93.2023 16.2182 93.0173 16.2955 92.8269 16.3573C92.6192 16.4261 92.4066 16.4793 92.1909 16.5163C91.9393 16.5572 91.6849 16.578 91.43 16.5783C90.9747 16.5916 90.5257 16.4694 90.1399 16.2273C89.9688 16.1147 89.822 15.969 89.708 15.7988C89.594 15.6286 89.515 15.4374 89.4759 15.2363C89.2019 15.4862 88.8999 15.7037 88.576 15.8843C88.2804 16.0533 87.9684 16.192 87.6449 16.2983C87.3372 16.399 87.0209 16.4713 86.6999 16.5143C86.3981 16.5528 86.0942 16.5735 85.7899 16.5763C85.333 16.5793 84.8783 16.5135 84.4409 16.3813C84.0636 16.2663 83.7154 16.0716 83.42 15.8103C83.1354 15.5561 82.913 15.24 82.7699 14.8863C82.6093 14.4719 82.5296 14.0307 82.5349 13.5863C82.5244 13.0864 82.6134 12.5894 82.797 12.1243C82.9638 11.7188 83.2106 11.3511 83.5229 11.0433C83.8465 10.733 84.2205 10.4801 84.6289 10.2953C85.0769 10.0896 85.5465 9.93463 86.029 9.83328C86.556 9.71543 87.0906 9.63457 87.6289 9.59128C88.1916 9.54528 88.7643 9.52228 89.347 9.52228V9.13028C89.3559 8.81548 89.3046 8.50188 89.196 8.2063C89.1028 7.96802 88.9568 7.75397 88.769 7.58029C88.5772 7.41846 88.3542 7.29763 88.1139 7.22528C87.8398 7.1455 87.5554 7.10642 87.2699 7.10928C87.021 7.10712 86.7724 7.12957 86.5279 7.1763C86.2826 7.22239 86.0443 7.30002 85.8189 7.40729C85.5603 7.53109 85.3142 7.67943 85.084 7.85028C84.7873 8.07003 84.5041 8.30746 84.2359 8.56128L82.841 6.9743ZM73.27 2.62628V7.3053H74.77C75.2355 7.31174 75.7001 7.26475 76.1549 7.16528C76.5333 7.08847 76.8941 6.94197 77.219 6.73328C77.5016 6.54416 77.7328 6.28785 77.8919 5.9873C78.0558 5.65844 78.1371 5.29461 78.1289 4.92728C78.1359 4.5799 78.0765 4.23441 77.9539 3.9093C77.8334 3.61742 77.6274 3.36884 77.3629 3.19629C77.0275 2.98493 76.6537 2.84156 76.263 2.77429C75.705 2.67186 75.1382 2.62464 74.571 2.6333L73.27 2.62628ZM73.27 9.33929V14.3393H75.4419C75.9397 14.3493 76.4358 14.2783 76.9109 14.1293C77.2868 14.0087 77.6365 13.8184 77.9419 13.5683C78.1976 13.3579 78.4026 13.0927 78.542 12.7923C78.6704 12.5222 78.7387 12.2274 78.742 11.9283C78.7423 11.585 78.6743 11.2451 78.542 10.9283C78.4091 10.6098 78.2008 10.3284 77.935 10.1083C77.6222 9.85665 77.2635 9.66817 76.8789 9.55328C76.3764 9.40636 75.8544 9.3369 75.331 9.34729L73.27 9.33929ZM75.5929 0.58728C76.3348 0.57908 77.0745 0.668854 77.7929 0.854279C78.3878 1.00832 78.9499 1.26888 79.4519 1.62329C79.8961 1.9476 80.2585 2.37119 80.51 2.86029C80.7629 3.38432 80.889 3.96052 80.878 4.5423C80.88 4.93957 80.7993 5.33292 80.641 5.6973C80.4802 6.07453 80.26 6.4236 79.9889 6.73129C79.708 7.04844 79.3819 7.32238 79.021 7.54428C78.6554 7.77312 78.2572 7.9451 77.8399 8.05429C78.2862 8.13489 78.721 8.2692 79.135 8.45428C79.582 8.65138 79.993 8.92179 80.3509 9.2543C80.7289 9.59946 81.0372 10.0139 81.2589 10.4753C81.5061 10.998 81.6277 11.5712 81.6139 12.1493C81.6124 12.6915 81.4898 13.2266 81.255 13.7153C81.0007 14.2375 80.6343 14.697 80.182 15.0613C79.66 15.4835 79.0628 15.8031 78.422 16.0033C77.6359 16.2543 76.8139 16.3742 75.9889 16.3583H70.429V0.581299L75.5929 0.58728Z\"\r\n fill=\"var(--color-text-brandDarkBlue, #212C65)\"\r\n />\r\n </svg>\r\n </div>\r\n )}\r\n {this.state === 'collapsed' && <img src={logoSrc} alt=\"\" />}\r\n </div>\r\n <div class={`collapse_button ${this.state}`}>\r\n <gb-collapse-button\r\n icon=\"assets/collapse_arrow.svg\"\r\n color={this.category === 'plain_background' ? 'gray' : 'white'}\r\n action={this.state === 'collapsed' ? 'expand' : 'collapse'}\r\n onClick={() => (this.state === 'collapsed' ? this.expandSideBar() : this.collapseSideBar())}\r\n ></gb-collapse-button>\r\n </div>\r\n </div>\r\n <div class=\"navigation\">\r\n <div class=\"item\">\r\n <gb-simple-side-bar-item\r\n state={this.activeIndex === 0 ? 'active' : 'default'}\r\n icon={this.firstItemIcon}\r\n category={this.category}\r\n type={this.state === 'collapsed' ? 'icon_only' : 'full_with_label'}\r\n onClick={() => this.sideBarItemClicked(0)}\r\n label={this.firstItemLabel}\r\n ></gb-simple-side-bar-item>\r\n <gb-simple-side-bar-item\r\n state={this.activeIndex === 1 ? 'active' : 'default'}\r\n icon={this.secondItemIcon}\r\n category={this.category}\r\n type={this.state === 'collapsed' ? 'icon_only' : 'full_with_label'}\r\n onClick={() => this.sideBarItemClicked(1)}\r\n label={this.secondItemLabel}\r\n ></gb-simple-side-bar-item>\r\n {this.thirdItemLabel && (\r\n <gb-simple-side-bar-item\r\n state={this.activeIndex === 2 ? 'active' : 'default'}\r\n icon={this.thirdItemIcon}\r\n category={this.category}\r\n type={this.state === 'collapsed' ? 'icon_only' : 'full_with_label'}\r\n onClick={() => this.sideBarItemClicked(2)}\r\n label={this.thirdItemLabel}\r\n ></gb-simple-side-bar-item>\r\n )}\r\n {this.fourthItemLabel && (\r\n <gb-simple-side-bar-item\r\n state={this.activeIndex === 3 ? 'active' : 'default'}\r\n icon={this.fourthItemIcon}\r\n category={this.category}\r\n type={this.state === 'collapsed' ? 'icon_only' : 'full_with_label'}\r\n onClick={() => this.sideBarItemClicked(3)}\r\n label={this.fourthItemLabel}\r\n ></gb-simple-side-bar-item>\r\n )}\r\n {this.fifthItemLabel && (\r\n <gb-simple-side-bar-item\r\n state={this.activeIndex === 4 ? 'active' : 'default'}\r\n icon={this.fifthItemIcon}\r\n category={this.category}\r\n type={this.state === 'collapsed' ? 'icon_only' : 'full_with_label'}\r\n onClick={() => this.sideBarItemClicked(4)}\r\n label={this.fifthItemLabel}\r\n ></gb-simple-side-bar-item>\r\n )}\r\n </div>\r\n </div>\r\n {this.showSecondCategory && (\r\n <div class=\"navigation\">\r\n <div class=\"item\">\r\n {this.sixthItemLabel && (\r\n <gb-simple-side-bar-item\r\n state={this.activeIndex === 5 ? 'active' : 'default'}\r\n icon={this.sixthItemIcon}\r\n category={this.category}\r\n type={this.state === 'collapsed' ? 'icon_only' : 'full_with_label'}\r\n onClick={() => this.sideBarItemClicked(5)}\r\n label={this.sixthItemLabel}\r\n ></gb-simple-side-bar-item>\r\n )}\r\n {this.seventhItemLabel && (\r\n <gb-simple-side-bar-item\r\n state={this.activeIndex === 6 ? 'active' : 'default'}\r\n icon={this.seventhItemIcon}\r\n category={this.category}\r\n type={this.state === 'collapsed' ? 'icon_only' : 'full_with_label'}\r\n onClick={() => this.sideBarItemClicked(6)}\r\n label={this.seventhItemLabel}\r\n ></gb-simple-side-bar-item>\r\n )}\r\n {this.eighthItemLabel && (\r\n <gb-simple-side-bar-item\r\n state={this.activeIndex === 7 ? 'active' : 'default'}\r\n icon={this.eighthItemIcon}\r\n category={this.category}\r\n type={this.state === 'collapsed' ? 'icon_only' : 'full_with_label'}\r\n onClick={() => this.sideBarItemClicked(7)}\r\n label={this.eighthItemLabel}\r\n ></gb-simple-side-bar-item>\r\n )}\r\n {this.ninthItemLabel && (\r\n <gb-simple-side-bar-item\r\n state={this.activeIndex === 8 ? 'active' : 'default'}\r\n icon={this.ninthItemIcon}\r\n category={this.category}\r\n type={this.state === 'collapsed' ? 'icon_only' : 'full_with_label'}\r\n onClick={() => this.sideBarItemClicked(8)}\r\n label={this.ninthItemLabel}\r\n ></gb-simple-side-bar-item>\r\n )}\r\n {this.tenthItemLabel && (\r\n <gb-simple-side-bar-item\r\n state={this.activeIndex === 9 ? 'active' : 'default'}\r\n icon={this.tenthItemIcon}\r\n category={this.category}\r\n type={this.state === 'collapsed' ? 'icon_only' : 'full_with_label'}\r\n onClick={() => this.sideBarItemClicked(9)}\r\n label={this.tenthItemLabel}\r\n ></gb-simple-side-bar-item>\r\n )}\r\n </div>\r\n </div>\r\n )}\r\n </div>\r\n {this.state === 'expanded' && (\r\n <div class=\"application_name\">\r\n <div class={`wrapper ${this.category}`}>\r\n {this.category === 'plain_background' && (\r\n <div class=\"application_name_pattern\">\r\n <img src={patternSrc} alt=\"\" />\r\n </div>\r\n )}\r\n {this.hasInfo ? (\r\n <>\r\n <div class=\"information_header\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" class={`help_icon ${this.category}`}>\r\n <path\r\n opacity=\"0.4\"\r\n d=\"M22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22C17.5228 22 22 17.5228 22 12Z\"\r\n fill=\"var(--color-text-brandDarkBlue, #212C65)\"\r\n />\r\n <path\r\n d=\"M11.2422 17C11.2422 17.5523 11.6899 18 12.2422 18C12.7945 18 13.2422 17.5523 13.2422 17H11.2422ZM11.2422 10C10.6899 10 10.2422 10.4477 10.2422 11C10.2422 11.5523 10.6899 12 11.2422 12V10ZM12.0957 11.1464L12.8028 10.4393L12.0957 11.1464ZM11.992 7C11.4397 7 10.992 7.44772 10.992 8C10.992 8.55228 11.4397 9 11.992 9V7ZM12.001 9C12.5533 9 13.001 8.55228 13.001 8C13.001 7.44772 12.5533 7 12.001 7V9ZM23 12C23 5.92487 18.0751 1 12 1V3C16.9706 3 21 7.02944 21 12H23ZM12 1C5.92487 1 1 5.92487 1 12H3C3 7.02944 7.02944 3 12 3V1ZM1 12C1 18.0751 5.92487 23 12 23V21C7.02944 21 3 16.9706 3 12H1ZM12 23C18.0751 23 23 18.0751 23 12H21C21 16.9706 16.9706 21 12 21V23ZM11.2422 12V17H13.2422V12H11.2422ZM11.2422 12C11.3638 12 11.4531 12.0001 11.5286 12.002C11.6046 12.0039 11.6417 12.0072 11.6576 12.0094C11.6729 12.0114 11.6408 12.009 11.5864 11.9866C11.524 11.9609 11.4526 11.9176 11.3886 11.8536L12.8028 10.4393C12.5129 10.1493 12.1711 10.0604 11.9241 10.0272C11.7058 9.99788 11.4496 10 11.2422 10V12ZM13.2422 12C13.2422 11.7926 13.2443 11.5364 13.215 11.3181C13.1818 11.0711 13.0928 10.7293 12.8028 10.4393L11.3886 11.8536C11.3246 11.7896 11.2813 11.7181 11.2556 11.6558C11.2332 11.6014 11.2307 11.5693 11.2328 11.5846C11.2349 11.6005 11.2383 11.6376 11.2402 11.7136C11.2421 11.789 11.2422 11.8784 11.2422 12H13.2422ZM11.992 9H12.001V7H11.992V9Z\"\r\n fill=\"var(--color-text-brandDarkBlue, #212C65)\"\r\n />\r\n </svg>\r\n <p class={`need_help ${this.category} text-lg-bold`}>Need help?</p>\r\n </div>\r\n {/* <p class={`info ${this.category} text-sm-medium`}>Info@globusbank.com</p> */}\r\n {/* <p class={`info ${this.category} text-sm-medium`}>(+234) 123 4324 122</p> */}\r\n <p class={`info phone_no ${this.category} text-sm-medium`}>{this.email}</p>\r\n {this.phoneNumber && <p class={`info ${this.category} text-sm-medium`}>{this.phoneNumber}</p>}\r\n </>\r\n ) : (\r\n <>\r\n <div class={`application_icon ${this.category}`} innerHTML={this.leadingIconSvg}></div>\r\n <slot name=\"application_name\"></slot>\r\n </>\r\n )}\r\n </div>\r\n </div>\r\n )}\r\n </div>\r\n )}\r\n {this.type === 'complex' && (\r\n <div class={`sidebar_and_nav ${this.state}`}>\r\n <div class=\"nav_div\">\r\n <div class=\"logo_and_button\">\r\n {this.state === 'expanded' && <img src={blueLogoSrc} />}\r\n {this.state === 'collapsed' && <img src={logoSrc} alt=\"\" />}\r\n <gb-collapse-button\r\n color=\"gray\"\r\n action={this.state === 'collapsed' ? 'expand' : 'collapse'}\r\n onClick={() => (this.state === 'collapsed' ? this.expandSideBar() : this.collapseSideBar())}\r\n ></gb-collapse-button>\r\n </div>\r\n </div>\r\n <div class=\"complex_sidebar_div\">\r\n <div class={`primary_side_menu ${this.category} ${this.navItemStyle}`}>\r\n {this.category === 'colored_background' && (\r\n <div class=\"pattern\">\r\n <img src={patternSrc} alt=\"\" />\r\n </div>\r\n )}\r\n <div class=\"primary_side_menu_container\">\r\n {Object.keys(this.complexSidebarData).map((primaryItem, index) => (\r\n <gb-complex-primary-side-bar-item\r\n key={`${index}`} // Unique key\r\n label={primaryItem}\r\n category={this.category}\r\n item-style={this.navItemStyle}\r\n icon={this.complexSidebarData[primaryItem].icon}\r\n state={this.activePrimaryItem === primaryItem ? 'active' : 'default'}\r\n onClick={() => this.handlePrimaryClick(primaryItem, index)}\r\n ></gb-complex-primary-side-bar-item>\r\n ))}\r\n </div>\r\n </div>\r\n <div class={`secondary_side_menu ${this.category} ${this.state}`}>\r\n <div class=\"sside_menu\">\r\n {this.complexSidebarData[this.activePrimaryItem].items.map((secondaryItem, index) => (\r\n <gb-complex-secondary-side-bar-item\r\n key={`${this.activePrimaryItem}-${index}`} // Unique key\r\n type={this.state === 'expanded' ? 'full_with_label' : 'icon_only'}\r\n label={secondaryItem.label}\r\n category={this.category}\r\n icon={secondaryItem.icon}\r\n state={this.activeSecondaryItem === secondaryItem.label ? 'active' : 'default'}\r\n onClick={() => this.handleSecondaryClick(secondaryItem.label, index)}\r\n ></gb-complex-secondary-side-bar-item>\r\n ))}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n )}\r\n </>\r\n );\r\n }\r\n}\r\n","@import './../../global/global.css';\r\n\r\n:host {\r\n position: relative;\r\n}\r\n\r\n.side_bar_item_container {\r\n padding: 0 var(--spacing-4);\r\n}\r\n\r\n.nav_item_base.icon_only {\r\n width: fit-content;\r\n}\r\n\r\n.nav_item_base {\r\n display: flex;\r\n padding: var(--spacing-2) var(--spacing-3);\r\n justify-content: space-between;\r\n align-items: center;\r\n gap: 0.5rem;\r\n align-self: stretch;\r\n border-radius: var(--rounded-sm);\r\n cursor: pointer;\r\n position: relative;\r\n flex-grow: 1;\r\n}\r\n\r\n.content {\r\n display: flex;\r\n align-items: center;\r\n gap: 0.75rem;\r\n flex-grow: 1;\r\n max-width: 100%;\r\n}\r\n\r\n.bar {\r\n position: absolute;\r\n left: 0rem;\r\n width: 0.25rem;\r\n height: 1.25rem;\r\n}\r\n\r\n.bar.plain_background {\r\n border-radius: var(--rounded-full);\r\n background: var(--color-border-brandRed, #E21B2E);\r\n}\r\n\r\n.bar.colored_background {\r\n border-radius: var(--rounded-full);\r\n background: var(--base-white, #FFFFFF);\r\n}\r\n\r\n.icon {\r\n display: flex;\r\n align-items: center;\r\n width: 1.5rem;\r\n height: 1.5rem;\r\n}\r\n\r\n.label_text {\r\n max-width: 100%;\r\n overflow-x: hidden;\r\n overflow-y: none;\r\n white-space: nowrap;\r\n text-overflow: ellipsis;\r\n scrollbar-width: none;\r\n}\r\n\r\n.label_text::-webkit-scrollbar {\r\n display: none;\r\n}\r\n\r\n/* State and Category Styles */\r\n.nav_item_base.plain_background.default,\r\n.nav_item_base.colored_background.default {\r\n background: transparent;\r\n}\r\n\r\n.nav_item_base.plain_background.active {\r\n background: var(--color-background-information-subtler, #c8e0f9);\r\n}\r\n\r\n.nav_item_base.default.plain_background:hover {\r\n background: var(--color-background-gray-subtler, #eef2f6);\r\n}\r\n\r\n.nav_item_base.colored_background.active {\r\n background: var(--blue-800, #042f59);\r\n}\r\n\r\n.nav_item_base.default.colored_background:hover {\r\n background: rgba(33, 44, 101, 0.4);\r\n}\r\n\r\n.label_text.plain_background.default {\r\n color: var(--color-text, #4b5565);\r\n}\r\n\r\n.label_text.plain_background.active {\r\n color: var(--color-text-information-bold, #042f59);\r\n}\r\n\r\n.label_text.colored_background {\r\n color: var(--base-white, #ffffff);\r\n}\r\n\r\n/* Icon Color Styles */\r\n.icon.plain_background.default path[stroke] {\r\n stroke: var(--color-icon, #4b5565);\r\n}\r\n\r\n.icon.plain_background.default path[fill] {\r\n fill: var(--color-icon, #4b5565);\r\n}\r\n\r\n.icon.plain_background.active path[stroke] {\r\n stroke: var(--color-icon-information-bold, #042f59);\r\n}\r\n\r\n.icon.plain_background.active path[fill] {\r\n fill: var(--color-icon-information-bold, #042f59);\r\n}\r\n\r\n.icon.plain_background.default path#Icon[stroke] {\r\n stroke: var(--color-icon, #4b5565);\r\n}\r\n\r\n.icon.plain_background.default path#Icon[fill] {\r\n fill: var(--color-icon, #4b5565);\r\n}\r\n\r\n.icon.plain_background.active path#Icon[stroke] {\r\n stroke: var(--color-icon-information-bold, #042f59);\r\n}\r\n\r\n.icon.plain_background.active path#Icon[fill] {\r\n fill: var(--color-icon-information-bold, #042f59);\r\n}\r\n\r\n.icon.plain_background.active path#Accent[stroke] {\r\n stroke: var(--color-icon-information-bold, #042f59);\r\n}\r\n\r\n.icon.plain_background.active path#Accent[fill] {\r\n fill: var(--color-icon-information-bold, #042f59);\r\n}\r\n\r\n.icon.plain_background.default circle[stroke] {\r\n stroke: var(--color-icon, #4b5565);\r\n}\r\n\r\n.icon.plain_background.active circle[fill] {\r\n fill: var(--color-icon-information-bold, #042f59);\r\n}\r\n\r\n.icon.colored_background.default path[stroke] {\r\n stroke: var(--base-white, #ffffff);\r\n}\r\n\r\n.icon.colored_background.default path[fill] {\r\n fill: var(--base-white, #ffffff);\r\n}\r\n\r\n.icon.colored_background.active path[stroke] {\r\n stroke: var(--base-white, #ffffff);\r\n}\r\n\r\n.icon.colored_background.active path[fill] {\r\n fill: var(--base-white, #ffffff);\r\n}\r\n\r\n.icon.colored_background path#Icon[stroke] {\r\n stroke: var(--base-white, #ffffff);\r\n}\r\n\r\n.icon.colored_background path#Icon[fill] {\r\n fill: var(--base-white, #ffffff);\r\n}\r\n\r\n.icon.colored_background.active path#Accent[stroke] {\r\n stroke: var(--base-white, #ffffff);\r\n}\r\n\r\n.icon.colored_background.active path#Accent[fill] {\r\n fill: var(--base-white, #ffffff);\r\n}\r\n\r\n.icon.colored_background circle[stroke] {\r\n stroke: var(--base-white, #ffffff);\r\n}\r\n\r\n.icon.colored_background circle[fill] {\r\n fill: var(--base-white, #ffffff);\r\n}\r\n\r\n.icon.colored_background.active circle[stroke] {\r\n stroke: var(--base-white, #ffffff);\r\n}\r\n\r\n.icon.colored_background.active circle[fill] {\r\n fill: var(--base-white, #ffffff);\r\n}\r\n\r\n/* .icon.plain_background.default path[fill],\r\n.icon.colored_background.default path[fill],\r\n.icon.plain_background.default circle[fill],\r\n.icon.colored_background.default circle[fill] {\r\n fill: transparent;\r\n} */\r\n\r\n.icon.plain_background.default path.has_opacity,\r\n.icon.plain_background.default g.has_opacity,\r\n.icon.plain_background.default circle.has_opacity,\r\n.icon.colored_background.default path.has_opacity,\r\n.icon.colored_background.default g.has_opacity,\r\n.icon.colored_background.default circle.has_opacity {\r\n opacity: 0;\r\n}\r\n\r\n.icon.plain_background.active path.has_opacity,\r\n.icon.plain_background.active g.has_opacity,\r\n.icon.plain_background.active circle.has_opacity,\r\n.icon.colored_background.active path.has_opacity,\r\n.icon.colored_background.active g.has_opacity,\r\n.icon.colored_background.active circle.has_opacity {\r\n opacity: 0.5;\r\n}\r\n\r\n/* .icon.plain_background.default path[fill].has_opacity,\r\n.icon.plain_background.default g.has_opacity,\r\n.icon.colored_background.default path[fill].has_opacity,\r\n.icon.colored_background.default g.has_opacity{\r\n fill: transparent;\r\n} */\r\n\r\n/* Arrow Color Styles */\r\n.arrow.default.plain_background path {\r\n stroke: var(--color-icon, #4b5565);\r\n}\r\n\r\n.arrow.active.plain_background path {\r\n stroke: var(--color-icon-information-bold, #042f59);\r\n}\r\n\r\n.arrow.default.colored_background path {\r\n stroke: var(--color-icon-inverse, #ffffff);\r\n}\r\n\r\n.arrow.active.colored_background path {\r\n stroke: var(--color-icon-inverse, #ffffff);\r\n}\r\n\r\n.tooltip {\r\n position: absolute;\r\n top: 0.2rem;\r\n left: 4.3rem;\r\n}\r\n","import { Component, h, Prop, Fragment, getAssetPath, State, Event, EventEmitter, Element, Watch } from \"@stencil/core\";\r\nimport { GeneralBackgroundCategories } from \"../../models/reusableModels\";\r\n\r\n@Component({\r\n tag: 'gb-simple-side-bar-item',\r\n styleUrl: 'gb-simple-side-bar-item.css',\r\n shadow: true,\r\n})\r\nexport class GbSimpleSideBarItem {\r\n @Prop() state: 'default' | 'active';\r\n @Prop() type: 'full_with_label' | 'icon_only';\r\n @Prop() label: string = '';\r\n @Prop() icon: string = '';\r\n @Prop() category: GeneralBackgroundCategories;\r\n @Prop() showArrow: boolean = false;\r\n @Prop() showBadge: boolean = false;\r\n @Prop({ mutable: true }) showTooltip: boolean = false;\r\n @State() leadingIconSvg: string = '';\r\n @State() internalIcon: string = '';\r\n @Event() sideBarItemClicked: EventEmitter<void>;\r\n @Element() el: HTMLElement;\r\n\r\n async loadIcon(iconName: string) {\r\n const iconPath = getAssetPath(`${iconName}`);\r\n const response = await fetch(iconPath);\r\n const svg = await response.text();\r\n\r\n const parser = new DOMParser();\r\n const svgDoc = parser.parseFromString(svg, 'image/svg+xml');\r\n const svgElement = svgDoc.documentElement;\r\n\r\n // Add `has-opacity` class to all elements that have an opacity attribute\r\n const elementsWithOpacity = svgElement.querySelectorAll('[opacity]');\r\n elementsWithOpacity.forEach(el => {\r\n el.classList.add('has_opacity');\r\n });\r\n\r\n const gWithOpacity = svgElement.querySelectorAll('g[opacity]');\r\n\r\n gWithOpacity.forEach(g => {\r\n g.classList.add('has_opacity');\r\n });\r\n\r\n // Serialize and store\r\n const modifiedSvg = svgElement.outerHTML;\r\n // console.log(modifiedSvg)\r\n this.leadingIconSvg = modifiedSvg;\r\n }\r\n\r\n @Watch('icon')\r\n updateSidebarIcon(newValue: string, _oldValue: string) {\r\n this.internalIcon = newValue;\r\n }\r\n\r\n componentWillLoad() {\r\n this.loadIcon(this.icon);\r\n\r\n this.internalIcon = this.icon;\r\n }\r\n\r\n onSideBarItemClicked() {\r\n this.sideBarItemClicked.emit();\r\n }\r\n\r\n render() {\r\n return (\r\n <div class={`side_bar_item_container`} onMouseEnter={() => (this.showTooltip = true)} onMouseLeave={() => (this.showTooltip = false)}>\r\n <div class={`nav_item_base ${this.state} ${this.type} ${this.category}`}>\r\n {this.state === 'active' && <div class={`bar ${this.category}`}></div>}\r\n <div class=\"content\">\r\n {this.icon && <div class={`icon ${this.state} ${this.category}`} innerHTML={this.leadingIconSvg}></div>}\r\n {this.type === 'full_with_label' && (\r\n <p class={`label_text ${this.category} ${this.state} ${this.state === 'active' ? 'text-md-semi-bold' : 'text-md-medium'}`}>{this.label}</p>\r\n )}\r\n </div>\r\n {this.type === 'full_with_label' && (\r\n <>\r\n {this.showBadge && (\r\n <gb-badge size=\"sm\" type=\"pill_outline\" color={this.state === 'active' ? 'information' : 'gray'}>\r\n <p>10</p>\r\n </gb-badge>\r\n )}\r\n {this.showArrow && (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" class={`arrow ${this.state} ${this.category}`}>\r\n <path\r\n d=\"M6.00003 4C6.00003 4 9.99999 6.94596 10 8.00003C10 9.05411 6 12 6 12\"\r\n stroke=\"#212C65\"\r\n stroke-width=\"1.5\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n )}\r\n </>\r\n )}\r\n </div>\r\n {this.type === 'icon_only' && this.showTooltip && (\r\n <gb-tooltip show-arrow={true} arrow=\"left\" class=\"tooltip\">\r\n <p slot=\"label\">{this.label}</p>\r\n </gb-tooltip>\r\n )}\r\n </div>\r\n );\r\n }\r\n}","@import './../../global/global.css';\r\n\r\n.online_icon{\r\n border: 1.5px solid var(--color-boarder-inverse, #FFFFFF);\r\n border-radius: var(--rounded-full);\r\n}\r\n\r\n/* Online Indicator States */\r\n.online_icon.offline{\r\n background-color: var(--color-background-gray, #CDD5DF);\r\n}\r\n\r\n.online_icon.online{\r\n background-color: var(--color-icon-success, #079455);\r\n}\r\n\r\n/* Online Indicator Sizes */\r\n.online_icon.xxs{\r\n width: 0.25rem;\r\n height: 0.25rem;\r\n}\r\n\r\n.online_icon.xs{\r\n width: 0.375rem;\r\n height: 0.375rem;\r\n}\r\n\r\n.online_icon.sm{\r\n width: var(--spacing-2);\r\n height: var(--spacing-2);\r\n}\r\n\r\n.online_icon.md{\r\n width: 0.625rem;\r\n height: 0.625rem;\r\n}\r\n\r\n.online_icon.lg{\r\n width: var(--spacing-3);\r\n height: var(--spacing-3);\r\n}\r\n\r\n.online_icon.xl{\r\n width: 0.875rem;\r\n height: 0.875rem;\r\n}\r\n\r\n.online_icon.xl2{\r\n width: var(--spacing-4);\r\n height: var(--spacing-4);\r\n}\r\n\r\n/* Verified Tick Sizes */\r\n.verified.xxs{\r\n width: 0.375rem;\r\n height: 0.375rem;\r\n}\r\n\r\n.verified.xs{\r\n width: 0.625rem;\r\n height: 0.625rem;\r\n}\r\n\r\n.verified.sm{\r\n width: var(--spacing-3);\r\n height: var(--spacing-3);\r\n}\r\n\r\n.verified.md{\r\n width: 0.875rem;\r\n height: 0.875rem;\r\n}\r\n\r\n.verified.lg{\r\n width: var(--spacing-4);\r\n height: var(--spacing-4);\r\n}\r\n\r\n.verified.xl{\r\n width: 1.125rem;\r\n height: 1.125rem;\r\n}\r\n\r\n.verified.xl2{\r\n width: var(--spacing-5);\r\n height: var(--spacing-5);\r\n}\r\n\r\n.verified.xl3{\r\n width: var(--spacing-6);\r\n height: var(--spacing-6);\r\n}\r\n\r\n.verified.xl4{\r\n width: var(--spacing-7);\r\n height: var(--spacing-7);\r\n}\r\n\r\n.verified.profile_sm{\r\n width: var(--spacing-5);\r\n height: var(--spacing-5);\r\n position: absolute;\r\n bottom: 0.15rem;\r\n right: 0.01rem;\r\n}\r\n\r\n.verified.profile_md{\r\n width: var(--spacing-6);\r\n height: var(--spacing-6);\r\n position: absolute;\r\n bottom: 0.25rem;\r\n right: 0.2rem;\r\n}\r\n\r\n.verified.profile_lg{\r\n width: var(--spacing-7);\r\n height: var(--spacing-7);\r\n position: absolute;\r\n bottom: 0.5rem;\r\n right: 0.2rem;\r\n}\r\n\r\n/* Company Icon Sizes */\r\n.company.xs{\r\n width: 0.25rem;\r\n height: 0.25rem;\r\n}\r\n\r\n.company.xs{\r\n width: 0.625rem;\r\n height: 0.625rem;\r\n}\r\n\r\n.company.sm{\r\n width: 0.75rem;\r\n height: var(--spacing-3);\r\n}\r\n\r\n.company.md{\r\n width: 0.875rem;\r\n height: 0.875rem;\r\n}\r\n\r\n.company.lg{\r\n width: 1rem;\r\n height: var(--spacing-4);\r\n}\r\n\r\n.company.xl{\r\n width: 1.125rem;\r\n height: 1.125rem;\r\n}\r\n\r\n.company.xl2{\r\n width: 1.25rem;\r\n height: var(--spacing-5);\r\n}","import { Component, h, Prop } from \"@stencil/core\";\r\nimport { GeneralSizes, OnlineIndicatorStates } from \"../../models/reusableModels\";\r\n\r\n@Component({\r\n tag: 'gb-status-indicator',\r\n styleUrl: 'gb-status-indicator.css',\r\n shadow: true\r\n})\r\n\r\nexport class GbStatusIndicator {\r\n @Prop() statusIcon: string = '';\r\n @Prop() size: GeneralSizes;\r\n @Prop() state: OnlineIndicatorStates = OnlineIndicatorStates.Offline;\r\n @Prop() indicatorStateClass: string = this.state;\r\n\r\n render() {\r\n return [\r\n <div>\r\n {this.statusIcon === 'online_indicator' && <div class={`online_icon ${this.size} ${this.indicatorStateClass}`}></div>}\r\n {this.statusIcon === 'verified' && (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" fill=\"none\" class={`verified ${this.size}`}>\r\n <g clip-path=\"url(#clip0_0_21453)\">\r\n <path\r\n d=\"M24.7109 5.66715C25.0148 6.40217 25.5982 6.98642 26.3328 7.29145L28.9086 8.35837C29.6436 8.66285 30.2277 9.24688 30.5321 9.98196C30.8366 10.717 30.8366 11.543 30.5321 12.2781L29.466 14.852C29.1614 15.5874 29.1609 16.4142 29.467 17.1492L30.5313 19.7224C30.6822 20.0865 30.7599 20.4767 30.76 20.8708C30.7601 21.265 30.6825 21.6553 30.5316 22.0194C30.3808 22.3835 30.1597 22.7143 29.881 22.993C29.6022 23.2716 29.2713 23.4926 28.9072 23.6433L26.3332 24.7095C25.5982 25.0134 25.0139 25.5968 24.7089 26.3314L23.642 28.9071C23.3375 29.6422 22.7535 30.2262 22.0184 30.5307C21.2833 30.8352 20.4574 30.8352 19.7223 30.5307L17.1484 29.4646C16.4133 29.1608 15.5876 29.1614 14.853 29.4663L12.2772 30.5317C11.5425 30.8355 10.7173 30.8352 9.98284 30.531C9.24835 30.2267 8.66466 29.6434 8.35997 28.9091L7.29273 26.3326C6.98881 25.5975 6.40543 25.0133 5.67087 24.7083L3.09509 23.6413C2.36033 23.337 1.77648 22.7533 1.47188 22.0187C1.16729 21.284 1.16688 20.4585 1.47073 19.7235L2.53689 17.1496C2.84062 16.4145 2.84 15.5888 2.53517 14.8542L1.47054 12.2766C1.3196 11.9125 1.24188 11.5222 1.24181 11.1281C1.24175 10.734 1.31935 10.3437 1.47017 9.97956C1.621 9.61544 1.8421 9.2846 2.12083 9.00595C2.39957 8.72731 2.73047 8.50632 3.09465 8.35561L5.66858 7.28945C6.40297 6.98579 6.98687 6.40316 7.29212 5.66944L8.35904 3.09366C8.66352 2.35857 9.24754 1.77455 9.98263 1.47007C10.7177 1.16559 11.5436 1.16559 12.2787 1.47007L14.8527 2.53623C15.5878 2.83996 16.4134 2.83934 17.148 2.5345L19.7249 1.47172C20.4599 1.16741 21.2856 1.16748 22.0206 1.4719C22.7555 1.77632 23.3395 2.36017 23.644 3.09507L24.7112 5.67161L24.7109 5.66715Z\"\r\n fill=\"#0086C9\"\r\n />\r\n <path d=\"M10 18.1818C10 18.1818 11.2857 18.1818 13 22C13 22 17.7647 12 22 10\" stroke=\"white\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_0_21453\">\r\n <rect width=\"32\" height=\"32\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n )}\r\n {this.statusIcon === 'company' && (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" class={`company ${this.size}`}>\r\n <path\r\n d=\"M18.8322 3.70039C16.9123 2.11995 14.5039 1.25399 12.0172 1.25001C10.6041 1.24776 9.20439 1.52413 7.89818 2.06333C6.59198 2.60252 5.4049 3.39397 4.40485 4.39237C2.64504 6.1493 1.54876 8.462 1.30275 10.9365C1.05674 13.411 1.67622 15.8943 3.05566 17.9633C4.43511 20.0323 6.48919 21.5591 8.86802 22.2836C11.2469 23.0081 13.8033 22.8855 16.1019 21.9367C18.4004 20.9878 20.299 19.2715 21.474 17.0799C22.6491 14.8884 23.0281 12.3572 22.5464 9.91759C22.0647 7.47798 20.7521 5.28082 18.8322 3.70039Z\"\r\n fill=\"#FF0033\"\r\n stroke=\"white\"\r\n stroke-width=\"1.5\"\r\n />\r\n <path\r\n fill-rule=\"evenodd\"\r\n clip-rule=\"evenodd\"\r\n d=\"M12.8942 13.7488V11.865L15.2835 11.8807C15.5231 11.8822 15.7598 11.9336 15.9785 12.0314C16.1973 12.1293 16.3933 12.2715 16.5541 12.449C16.715 12.6266 16.8373 12.8357 16.9131 13.063C16.989 13.2903 17.0168 13.5308 16.9948 13.7694C16.9948 16.4275 12.901 16.9969 12.8973 13.7488M12.8973 8.75316C17.3054 6.44066 17.6942 11.5213 15.0323 11.2788H12.886L12.8973 8.75316ZM16.7385 11.5113C19.8985 10.3013 17.2573 5.5894 12.0854 8.5044C11.5544 8.07132 10.9218 7.78073 10.2473 7.66004C8.96979 7.40066 7.25604 7.62628 6.29479 8.52378L6.75917 8.97941C7.2569 8.55053 7.86627 8.27194 8.51626 8.17611C9.16625 8.08028 9.83009 8.17117 10.4304 8.43816C10.6321 8.53335 10.8098 8.67262 10.9505 8.8457C11.0911 9.01879 11.191 9.22127 11.2429 9.43817L11.266 13.7669C11.0785 16.7738 7.20354 16.5413 7.20354 13.7669V11.8682H10.2492V11.295H5.59729V13.1644C5.60917 16.7175 9.93104 17.315 12.0717 15.5863C12.9471 16.2353 14.0184 16.5649 15.1073 16.52C18.9442 16.4938 19.7323 12.3563 16.7273 11.5144L16.7385 11.5113Z\"\r\n fill=\"white\"\r\n />\r\n </svg>\r\n )}\r\n </div>,\r\n ];\r\n }\r\n}","@import './../../global/global.css';\r\n\r\n:host{\r\n display: flex;\r\n}\r\n\r\n.tab_button_div{\r\n display: flex;\r\n /* align-self: stretch; */\r\n cursor: pointer;\r\n width: 100%;\r\n}\r\n\r\n.tab_button_div.horizontal{\r\n justify-content: center;\r\n align-items: center;\r\n}\r\n\r\n.tab_button_div.vertical{\r\n justify-content: flex-start;\r\n align-items: center;\r\n}\r\n\r\n.tab_text{\r\n color: var(--color-text, #4B5565);\r\n}\r\n\r\n.tab_button_div.button_primary,\r\n.tab_button_div.button_gray,\r\n.tab_button_div.button_white{\r\n display: inline-flex;\r\n border-radius: var(--rounded-xs);\r\n}\r\n\r\n.rounded_button_white{\r\n display: inline-flex;\r\n align-items: center;\r\n border-radius: var(--rounded-full);\r\n}\r\n\r\n.underline,\r\n.underline_filled,\r\n.line{\r\n display: inline-flex;\r\n border-radius: var(--rounded-none);\r\n}\r\n\r\n/* Spacing Styles */\r\n.button_primary,\r\n.button_gray,\r\n.button_white,\r\n.rounded_button_white,\r\n.underline_filled,\r\n.line{\r\n gap: var(--spacing-2);\r\n}\r\n\r\n.underline{\r\n gap: 0.5rem;\r\n}\r\n\r\n/* Tab Type Styles */\r\n.tab_button_div.button_primary,\r\n.tab_button_div.button_gray,\r\n.tab_button_div.button_white,\r\n.tab_button_div.rounded_button_white,\r\n.tab_button_div.underline_filled,\r\n.tab_button_div.line{\r\n background: transparent;\r\n color: var(--color-text, #4B5565);\r\n}\r\n\r\n.tab_button_div.button_white.current{\r\n box-shadow: var(--shadow-md);\r\n}\r\n\r\n/* Tab State Styles */\r\n.tab_button_div.button_primary:hover{\r\n background: var(--color-background-gray-subtler, #EEF2F6);\r\n color: var(--color-text-bold, #202939);\r\n}\r\n\r\n.tab_button_div.button_primary:active{\r\n background: transparent;\r\n color: var(--color-text, #4B5565);\r\n}\r\n\r\n.tab_button_div.button_gray:hover,\r\n.tab_button_div.button_white:hover,\r\n.tab_button_div.rounded_button_white:hover{\r\n background: var(--color-background-gray-subtle, #E3E8EF);\r\n color: var(--color-text, #4B5565);\r\n}\r\n\r\n.tab_button_div.button_gray:active,\r\n.tab_button_div.button_white:active,\r\n.tab_button_div.rounded_button_white:active{\r\n background: transparent;\r\n color: var(--color-text, #4B5565);\r\n}\r\n\r\n.tab_button_div.underline:hover,\r\n.tab_button_div.underline_filled:hover{\r\n border-bottom: 1px solid var(--color-border-subtle, #CDD5DF);\r\n background: var(--color-background-gray-subtler, #EEF2F6);\r\n color: var(--color-text-bold, #202939);\r\n}\r\n\r\n.tab_button_div.underline:active,\r\n.tab_button_div.underline_filled:active{\r\n background: transparent;\r\n border: none;\r\n color: var(--color-text, #4B5565);\r\n}\r\n\r\n.tab_button_div.line:hover{\r\n border-radius: var(--rounded-xs);\r\n background: var(--color-background-gray-subtler, #EEF2F6);\r\n}\r\n\r\n.tab_button_div.line:active{\r\n border-radius: var(--rounded-none);\r\n background: transparent;\r\n}\r\n\r\n.tab_button_div.button_primary.current:hover{\r\n background: var(--color-background-information-subtler, #C8E0F9);\r\n color: var(--color-text-information, #064E94);\r\n}\r\n\r\n.tab_button_div.button_primary.current:active{\r\n background: var(--color-background-information-subtlest, #E4F0FC);\r\n color: var(--color-text-selected, #075DB2);\r\n}\r\n\r\n.tab_button_div.button_gray.current:hover,\r\n.tab_button_div.button_white.current:hover,\r\n.tab_button_div.rounded_button_white.current:hover{\r\n background: var(--color-background-gray-subtler, #EEF2F6);\r\n color: var(--color-text-bold, #202939);\r\n}\r\n\r\n.tab_button_div.button_gray.current:active{\r\n background: var(--color-background-gray-subtlest, #F6F8FA);\r\n color: var(--color-text-bold, #202939);\r\n}\r\n\r\n.tab_button_div.button_white.current:active,\r\n.tab_button_div.rounded_button_white.current:active{\r\n background: var(--color-background-card, #FFFFFF);\r\n color: var(--color-text-bold, #202939);\r\n}\r\n\r\n.tab_button_div.underline.current:hover{\r\n background: var(--color-background-information-subtlest, #E4F0FC);\r\n color: var(--color-text-information, #064E94);\r\n border-color: var(--color-border-information, #064E94);\r\n}\r\n\r\n.tab_button_div.underline.current:active{\r\n background: transparent;\r\n color: var(--color-text-selected, #075DB2);\r\n border-color: var(--color-border-selected, #075DB2);\r\n}\r\n\r\n.tab_button_div.underline_filled.current:hover{\r\n background: var(--color-background-information-subtler, #C8E0F9);\r\n color: var(--color-text-information, #064E94);\r\n border-color: var(--color-border-information, #064E94);\r\n}\r\n\r\n.tab_button_div.underline_filled.current:active{\r\n background: var(--color-background-information-subtlest, #E4F0FC);\r\n color: var(--color-text-selected, #075DB2);\r\n border-color: var(--color-border-selected, #075DB2);\r\n}\r\n\r\n.tab_button_div.line.current:hover{\r\n border-radius: var(--rounded-xs);\r\n background: var(--color-background-information-subtlest, #E4F0FC);\r\n color: var(--color-text-information, #064E94);\r\n border-color: var(--color-border-information, #064E94);\r\n}\r\n\r\n.tab_button_div.line.current:active{\r\n border-radius: var(--rounded-none);\r\n background: transparent;\r\n color: var(--color-text-selected, #075DB2);\r\n border-left: 2px solid var(--color-border-selected, #075DB2);\r\n}\r\n\r\n/* Tab Current Styles */\r\n.tab_button_div.button_primary.current{\r\n background: var(--color-background-information-subtlest, #E4F0FC);\r\n color: var(--color-text-selected, #075DB2);\r\n}\r\n\r\n.tab_button_div.button_gray.current{\r\n background: var(--color-background-gray-subtlest, #F6F8FA);\r\n color: var(--color-text-bold, #202939);\r\n}\r\n\r\n.tab_button_div.button_white.current,\r\n.tab_button_div.rounded_button_white.current{\r\n background: var(--color-background-card, #FFFFFF);\r\n color: var(--color-text-bold, #202939);\r\n box-shadow: var(--shadow-md);\r\n}\r\n\r\n.tab_button_div.underline.current{\r\n background: transparent;\r\n color: var(--color-text-selected, #075DB2);\r\n border-bottom: 2px solid var(--color-border-selected, #075DB2);\r\n}\r\n\r\n.tab_button_div.underline_filled.current{\r\n background: var(--color-background-information-subtlest, #E4F0FC);\r\n color: var(--color-text-selected, #075DB2);\r\n border-bottom: 2px solid var(--color-border-selected, #075DB2);\r\n}\r\n\r\n.tab_button_div.line.current{\r\n background: transparent;\r\n color: var(--color-text-selected, #075DB2);\r\n border-left: 2px solid var(--color-border-selected, #075DB2);\r\n}\r\n\r\n/* Tab Size Styles */\r\n.button_primary.sm,\r\n.button_gray.sm,\r\n.button_white.sm,\r\n.rounded_button_white.sm,\r\n.underline.sm{\r\n height: 2.375rem;\r\n padding: var(--spacing-none) var(--spacing-4);\r\n}\r\n\r\n.underline_filled.sm,\r\n.line.sm{\r\n height: 2.375rem;\r\n padding: var(--spacing-none) var(--spacing-3);\r\n}\r\n\r\n.button_primary.md,\r\n.button_gray.md,\r\n.button_white.md,\r\n.rounded_button_white.md,\r\n.underline.md,\r\n.underline_filled.md,\r\n.line.md{\r\n height: 2.75rem;\r\n padding: var(--spacing-none) var(--spacing-3);\r\n}\r\n\r\n.button_primary.full_width.sm,\r\n.button_gray.full_width.sm,\r\n.button_white.full_width.sm,\r\n.rounded_button_white.full_width.sm{\r\n width: 100%;\r\n height: 2.375rem;\r\n padding: var(--spacing-none) var(--spacing-3);\r\n}\r\n\r\n.underline.full_width.sm,\r\n.underline_filled.full_width.sm{\r\n width: 100%;\r\n height: 2.375rem;\r\n padding: var(--spacing-none) var(--spacing-3);\r\n}\r\n\r\n.button_primary.full_width.md,\r\n.button_gray.full_width.md,\r\n.button_white.full_width.md,\r\n.rounded_button_white.full_width.md{\r\n width: 100%;\r\n height: 2.25rem;\r\n padding: var(--spacing-none) var(--spacing-3);\r\n}\r\n\r\n.underline.full_width.md,\r\n.underline_filled.full_width.md{\r\n width: 100%;\r\n height: 2.25rem;\r\n padding: var(--spacing-none) var(--spacing-3);\r\n}","import { Component, Element, Event, EventEmitter, Prop, h } from \"@stencil/core\";\r\nimport { GeneralSizes, TabTypes } from \"../../models/reusableModels\";\r\n\r\n@Component({\r\n tag: 'gb-tab-button-base',\r\n styleUrl: 'gb-tab-button-base.css',\r\n shadow: true,\r\n})\r\nexport class GbTabButtonBase {\r\n @Prop() current: boolean = false;\r\n @Prop() size: GeneralSizes;\r\n @Prop() fullWidth: boolean = false;\r\n @Prop() badge: boolean = false;\r\n @Prop() type: TabTypes;\r\n @Prop() tabName: string = '';\r\n @Prop() alignment: 'horizontal' | 'vertical';\r\n @Element() el: HTMLElement;\r\n @Event() tabClicked: EventEmitter<void>;\r\n\r\n getTextClasses() {\r\n switch (this.size) {\r\n case 'sm':\r\n return 'text-sm-medium';\r\n case 'md':\r\n return 'text-md-medium';\r\n }\r\n }\r\n\r\n getCurrentTextClasses() {\r\n switch (this.size) {\r\n case 'sm':\r\n return 'text-sm-semi-bold';\r\n case 'md':\r\n return 'text-md-semi-bold';\r\n }\r\n }\r\n\r\n getCountTextClasses() {\r\n switch (this.size) {\r\n case 'sm':\r\n return 'text-xs-medium';\r\n case 'md':\r\n return 'text-sm-medium';\r\n }\r\n }\r\n\r\n componentDidLoad() {\r\n const tabCount = this.el.querySelector('[slot=\"count\"]');\r\n\r\n if(tabCount) {\r\n tabCount.classList.add(this.getCountTextClasses());\r\n }\r\n }\r\n\r\n handleClick() {\r\n this.tabClicked.emit();\r\n }\r\n\r\n render() {\r\n return (\r\n <div \r\n class={`tab_button_div ${this.type}\r\n ${this.current ? 'current' : ''} \r\n ${this.fullWidth ? 'full_width' : ''} \r\n ${this.size}\r\n ${this.alignment}`} \r\n onClick={() => this.handleClick()}\r\n >\r\n <p class={`${!this.current ? 'tab_text' : ''} ${this.current ? this.getCurrentTextClasses() : this.getTextClasses()}`}>{this.tabName}</p>\r\n {this.badge && (\r\n <gb-badge\r\n size=\"sm\"\r\n type=\"pill_color\"\r\n color={\r\n this.current && this.type === 'button_primary'\r\n ? 'information'\r\n : this.current && this.type === 'underline'\r\n ? 'information'\r\n : this.current && this.type === 'underline_filled'\r\n ? 'information'\r\n :\r\n this.current && this.type === 'line'\r\n ? 'information'\r\n : 'gray'\r\n }\r\n >\r\n <slot name=\"count\"></slot>\r\n </gb-badge>\r\n )}\r\n </div>\r\n );\r\n }\r\n}","@import '../../global/global.css';\r\n\r\n.table_header_div {\r\n display: flex;\r\n width: 100%;\r\n height: fit-content;\r\n flex-direction: column;\r\n align-items: flex-start;\r\n gap: 1.25rem;\r\n flex-shrink: 0;\r\n background: var(--color-background-card, #ffffff);\r\n}\r\n\r\n.table_header_content {\r\n display: flex;\r\n padding: var(--spacing-5) var(--spacing-6);\r\n justify-content: space-between;\r\n align-items: center;\r\n gap: var(--spacing-5);\r\n align-self: stretch;\r\n border-bottom: 1px solid var(--color-border-subtle, #cdd5df);\r\n}\r\n\r\n.table_heading {\r\n color: var(--color-text-bold);\r\n}\r\n\r\n.date_filters {\r\n display: flex;\r\n align-items: center;\r\n gap: var(--spacing-4);\r\n flex: 1 0 0;\r\n min-width: 0;\r\n}\r\n\r\n.date_dropdown,\r\n.date_input {\r\n width: 100%;\r\n max-width: 13rem;\r\n min-width: 0;\r\n}\r\n\r\n.actions {\r\n display: flex;\r\n max-width: 50.25rem;\r\n justify-content: flex-end;\r\n align-items: center;\r\n gap: var(--spacing-4);\r\n flex: 1 0 0;\r\n}\r\n\r\n.input_field {\r\n flex-grow: 1;\r\n width: 100%;\r\n max-width: 20rem;\r\n}\r\n\r\n.action {\r\n display: flex;\r\n padding: 0rem 0rem 0rem var(--spacing-none);\r\n justify-content: flex-end;\r\n align-items: center;\r\n gap: var(--spacing-4);\r\n}\r\n\r\n.export {\r\n position: relative;\r\n}\r\n\r\n.dropdown {\r\n position: absolute;\r\n}\r\n\r\n.dropdown.left{\r\n top: 100%;\r\n left: 0;\r\n}\r\n\r\n.dropdown.right{\r\n top: 100%;\r\n right: 0;\r\n}\r\n\r\n.refresh_button {\r\n width: 2.5rem;\r\n}\r\n\r\n/* Breakpoints (Responsiveness) */\r\n/* Mobile */\r\n@media (max-width: 700px) {\r\n .table_header_content {\r\n flex-direction: column;\r\n align-items: flex-start;\r\n }\r\n\r\n .dropdown {\r\n position: absolute;\r\n top: 100%;\r\n left: 0;\r\n }\r\n\r\n .actions {\r\n flex-direction: column;\r\n width: 100%;\r\n align-items: flex-start;\r\n }\r\n}\r\n\r\n@media (max-width: 390px) {\r\n .date_filters {\r\n display: flex;\r\n flex-direction: column;\r\n width: 100%;\r\n }\r\n\r\n .date_dropdown,\r\n .date_input {\r\n width: 100%;\r\n max-width: none;\r\n }\r\n}\r\n","import { Component, Element, Event, EventEmitter, Listen, Prop, State, h } from '@stencil/core';\r\nimport { CloseButtonPositions, StateEnum, StateType } from '../../models/reusableModels';\r\n\r\n@Component({\r\n tag: 'gb-table-header',\r\n styleUrl: 'gb-table-header.css',\r\n shadow: true,\r\n})\r\nexport class GbTableHeader {\r\n @Prop() showFilter: boolean = false;\r\n @Prop() showColumnOptions: boolean = false;\r\n @Prop() tableHeading: boolean = true;\r\n @Prop() showSearch: boolean = false;\r\n @Prop() showExport: boolean = false;\r\n @Prop() showRefreshButton: boolean = false;\r\n @Prop() tableHeadingLabel: string = '';\r\n @Prop() showLayoutToggle: boolean = false;\r\n @Prop() filterState: StateType;\r\n @Prop() filterCount: number = 0;\r\n @Prop() showEntireData: boolean = false;\r\n @Prop() exportButtonState: StateType = 'default';\r\n @Prop() pdfState: StateEnum = StateEnum.Default;\r\n @Prop() csvState: StateEnum = StateEnum.Default;\r\n @Prop() showDateFilter: boolean = false;\r\n @State() items = [\r\n { label: 'grid', current: false, icon: 'assets/grid-view.svg' },\r\n { label: 'list', current: true, icon: 'assets/left-to-right-list-dash.svg' },\r\n ];\r\n @Prop() dateItems: any[] = [\r\n // { name: 'Mock Item A iusbrviubw vwiuhvw vwiurhvwr vwoiuh', username: 1 },\r\n // { name: 'Mock Item B', username: 3 },\r\n // { name: 'Mock Item C', username: 3 },\r\n // { name: 'Mock Item D', username: 3 },\r\n // { name: 'Mock Item E', username: 3 },\r\n // 45,\r\n // 50,\r\n // 20,\r\n // 25,\r\n // 90,\r\n // 92,\r\n // 53, \r\n // 'Activated',\r\n // 'Deactivated',\r\n // 'John Doe',\r\n // 'John smith',\r\n // 'Jane leo'\r\n ];\r\n @Prop() mode: 'single' | 'range' = 'single';\r\n @Prop() datePickerPlaceholder: string = 'Start date - end date';\r\n @Prop() exportDropdownPosition: CloseButtonPositions = 'right';\r\n @State() width: number = window.innerWidth;\r\n @State() buttonIcon: 'default' | 'only';\r\n @State() showExportDropdown: boolean = false;\r\n @State() isDatePickerShown: boolean = false;\r\n @Event() inputValueChanged: EventEmitter<void>;\r\n @Event() filterButtonClicked: EventEmitter<void>;\r\n @Event() exportClicked: EventEmitter<void>;\r\n @Event() refreshButtonClicked: EventEmitter<void>;\r\n @Event() layoutButtonClicked: EventEmitter<string>;\r\n @Event() dateChange: EventEmitter<string | string[]>;\r\n @Element() el: HTMLElement;\r\n\r\n exportDropdown!: HTMLElement;\r\n\r\n componentDidLoad() {\r\n document.addEventListener('click', this.handleClickOutside);\r\n }\r\n\r\n componentWillLoad() {\r\n this.updateButtonIcon(); // Set initial variant\r\n window.addEventListener('resize', this.handleResize);\r\n this.dateItems.unshift('Custom');\r\n }\r\n\r\n extractDropdownItemSelected(item) {\r\n if (item.detail === 'Custom') {\r\n this.isDatePickerShown = true;\r\n } else {\r\n this.isDatePickerShown = false;\r\n }\r\n }\r\n\r\n emitDateSelected(date) {\r\n this.dateChange.emit(date.detail);\r\n }\r\n\r\n toggleDropdown() {\r\n this.showExportDropdown = !this.showExportDropdown;\r\n }\r\n\r\n private handleResize = () => {\r\n this.width = window.innerWidth;\r\n this.updateButtonIcon();\r\n };\r\n\r\n private updateButtonIcon() {\r\n this.buttonIcon = this.width < 1007 ? 'only' : 'default';\r\n }\r\n\r\n emitValue(inputValue) {\r\n this.inputValueChanged.emit(inputValue);\r\n }\r\n\r\n onFilterButtonClicked() {\r\n this.filterButtonClicked.emit();\r\n }\r\n\r\n emitSelection(selection) {\r\n this.exportClicked.emit(selection);\r\n }\r\n\r\n onRefreshButtonClicked() {\r\n this.refreshButtonClicked.emit();\r\n }\r\n\r\n onLayoutButtonClicked(layout) {\r\n // console.log(layout.detail)\r\n this.layoutButtonClicked.emit(layout.detail);\r\n }\r\n\r\n @Listen('click', { target: 'document' })\r\n handleClickOutside(event: MouseEvent) {\r\n if (this.showExportDropdown && !this.el.contains(event.target as Node)) {\r\n this.showExportDropdown = false;\r\n }\r\n }\r\n\r\n disconnectedCallback() {\r\n document.removeEventListener('click', this.handleClickOutside);\r\n }\r\n\r\n render() {\r\n return (\r\n <div class=\"table_header_div\">\r\n <div class=\"table_header_content\">\r\n {this.tableHeading && <p class=\"table_heading text-lg-semi-bold\">{this.tableHeadingLabel}</p>}\r\n {this.showDateFilter && (\r\n <div class=\"date_filters\">\r\n <div class=\"date_dropdown\">\r\n <gb-input-dropdown\r\n show-placeholder=\"true\"\r\n placeholder=\"Select a period\"\r\n size=\"sm\"\r\n state=\"default\"\r\n type=\"icon_leading\"\r\n color=\"blue\"\r\n show-leading-icon=\"true\"\r\n leading-icon=\"assets/calendar-02.svg\"\r\n menu-position=\"bottom\"\r\n icon=\"false\"\r\n items={this.dateItems}\r\n onDropdownItemSelected={this.extractDropdownItemSelected.bind(this)}\r\n >\r\n <h1 slot=\"initials\">EK</h1>\r\n <p slot=\"tooltip_label\">This is a label</p>\r\n <p slot=\"tooltip_supporting_text\">This is a supporting text for the tooltip</p>\r\n </gb-input-dropdown>\r\n </div>\r\n {this.isDatePickerShown && (\r\n <div class=\"date_input\">\r\n <gb-date-picker mode={this.mode} placeholder={this.datePickerPlaceholder} onDateChange={this.emitDateSelected.bind(this)}></gb-date-picker>\r\n </div>\r\n )}\r\n </div>\r\n )}\r\n <div class=\"actions\">\r\n {this.showSearch && (\r\n <div class=\"input_field\">\r\n <gb-input-field\r\n size=\"sm\"\r\n type=\"icon_leading\"\r\n icon-swap=\"assets/search-01.svg\"\r\n placeholder=\"Search\"\r\n enable-cancel-button-function={true}\r\n onInputValueChanged={this.emitValue.bind(this)}\r\n ></gb-input-field>\r\n </div>\r\n )}\r\n <div class=\"action\">\r\n {this.showLayoutToggle && <gb-button-group items={this.items} icon=\"only\" onOptionChange={this.onLayoutButtonClicked.bind(this)}></gb-button-group>}\r\n {this.showColumnOptions && (\r\n <gb-button size=\"md\" hierarchy=\"secondary_gray\" icon={this.width <= 1007 ? 'only' : 'default'} icon-leading={true} icon-leading-swap=\"assets/column-insert.svg\">\r\n <p>Columns</p>\r\n </gb-button>\r\n )}\r\n {this.showFilter && (\r\n <gb-filter-button state={this.filterState} icon-only={this.width <= 1007 ? true : false} onClick={() => this.onFilterButtonClicked()}>\r\n <p slot=\"filter_count\">{this.filterCount}</p>\r\n </gb-filter-button>\r\n )}\r\n {this.showExport && (\r\n <div class=\"export\">\r\n <gb-button\r\n size=\"md\"\r\n state={this.exportButtonState}\r\n hierarchy=\"secondary_gray\"\r\n icon={this.width <= 1007 ? 'only' : 'default'}\r\n icon-leading={true}\r\n icon-leading-swap=\"assets/file-export.svg\"\r\n icon-trailing={this.width <= 1007 ? false : true}\r\n icon-trailing-swap=\"assets/arrow-down-01.svg\"\r\n onClick={() => this.toggleDropdown()}\r\n >\r\n <p>Export</p>\r\n </gb-button>\r\n {this.showExportDropdown && (\r\n <gb-export-dropdown\r\n ref={el => (this.exportDropdown = el)}\r\n show-entire-data={this.showEntireData}\r\n pdf-state={this.pdfState}\r\n csv-state={this.csvState}\r\n onExportClicked={() => this.emitSelection.bind(this)}\r\n class={`dropdown ${this.exportDropdownPosition}`}\r\n ></gb-export-dropdown>\r\n )}\r\n </div>\r\n )}\r\n {this.showRefreshButton && (\r\n <div class=\"refresh_button\">\r\n <gb-button\r\n size=\"md\"\r\n hierarchy=\"secondary_gray\"\r\n icon={this.width <= 1007 ? 'only' : 'default'}\r\n icon-leading={true}\r\n icon-leading-swap=\"assets/refresh.svg\"\r\n onClick={() => this.onRefreshButtonClicked()}\r\n ></gb-button>\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n }\r\n}\r\n","@import './../../global/global.css';\r\n\r\n:host{\r\n display: flex;\r\n align-items: center;\r\n width: fit-content;\r\n}\r\n\r\n.container {\r\n display: inline-flex;\r\n justify-content: center;\r\n align-items: center;\r\n gap: var(--spacing-1);\r\n flex-shrink: 0;\r\n border-radius: var(--rounded-xs);\r\n border: 1px solid var(--color-boarder-subtle, #CDD5DF);\r\n background: var(--color-background-card, #FFFFFF); \r\n}\r\n\r\n.content {\r\n display: flex;\r\n padding: var(--spacing-none);\r\n text-align: center;\r\n align-items: center;\r\n border-radius: var(--rounded-none);\r\n font-family: var(--Font-Family-Body, Sora);\r\n font-style: normal;\r\n font-weight: var(--Font-Weight-Medium, 500);\r\n letter-spacing: var(--Font-Letter-spacing-T-sm, 0rem);\r\n}\r\n\r\n::slotted(p){\r\n color: var(--color-text, #4B5565) !important;\r\n}\r\n\r\n.icon {\r\n border: none;\r\n}\r\n\r\n.container.sm {\r\n height: var(--spacing-6);\r\n padding: var(--spacing-none) var(--spacing-1) var(--spacing-none) var(--spacing-2);\r\n}\r\n\r\n.container.md {\r\n height: 1.75rem;\r\n padding: var(--spacing-none) var(--spacing-1) var(--spacing-none) var(--spacing-2);\r\n}\r\n\r\n.container.lg {\r\n height: var(--spacing-7);\r\n padding: var(--spacing-none) var(--spacing-1) var(--spacing-none) var(--spacing-2);\r\n}\r\n\r\n.content.sm {\r\n gap: var(--spacing-1);\r\n font-size: var(--Font-Size-T-xs, 0.75rem);\r\n line-height: var(--Font-Line-height-T-xs, 1.125rem);\r\n}\r\n\r\n.content.md {\r\n gap: 0.3125rem;\r\n font-size: var(--Font-Size-T-sm, 0.875rem); \r\n line-height: var(--Font-Line-height-T-sm, 1.25rem); \r\n}\r\n\r\n.content.lg {\r\n gap: 0.375rem;\r\n font-size: var(--Font-Size-T-sm, 0.875rem);\r\n line-height: var(--Font-Line-height-T-sm, 1.25rem); /* 142.857% */\r\n}\r\n\r\n.label{\r\n display: flex;\r\n align-items: center;\r\n}","import { Component, Method, Prop, getAssetPath, h, Fragment, Event, EventEmitter, Element } from '@stencil/core';\r\nimport { GeneralSizes } from '../../models/reusableModels';\r\n\r\n@Component({\r\n tag: 'gb-tag',\r\n styleUrl: 'gb-tag.css',\r\n shadow: true,\r\n})\r\nexport class GbTag {\r\n @Prop() size: GeneralSizes;\r\n @Prop() icon?: 'country' | 'avatar' | 'dot' | 'false';\r\n @Prop() action: 'X_close' | 'text_only' | 'count';\r\n @Prop() flagSwap: string;\r\n @Prop() checkbox?: boolean;\r\n @Event() checkboxClicked: EventEmitter<void>;\r\n @Element() el: HTMLElement;\r\n\r\n @Method()\r\n async onTagClose() {\r\n // console.log('close tag clicked');\r\n }\r\n\r\n onCheckboxClicked() {\r\n // this.checkboxClicked.emit()\r\n }\r\n\r\n componentDidLoad() {\r\n const labelSlot = this.el.querySelector('p');\r\n\r\n if(labelSlot) {\r\n if(this.size === 'sm') {\r\n labelSlot.classList.add('text-xs-medium');\r\n } else if(this.size === 'md') {\r\n labelSlot.classList.add('text-sm-medium');\r\n } else if(this.size === 'lg') {\r\n labelSlot.classList.add('text-sm-medium');\r\n }\r\n }\r\n }\r\n\r\n render() {\r\n const flagSwap = getAssetPath(`${this.flagSwap}`);\r\n\r\n return (\r\n <div class={`container ${this.size}`}>\r\n <div class={`content ${this.size}`}>\r\n {this.checkbox && <gb-tag-checkbox size={this.size}></gb-tag-checkbox>}\r\n {this.icon === 'false' && <></>}\r\n {this.icon === 'country' && (\r\n <div class=\"icon left-icon\">\r\n <img src={flagSwap} alt=\"Country Icon\" />\r\n </div>\r\n )}\r\n {this.icon === 'avatar' && (\r\n <gb-avatar class=\"avatar-icon\" size=\"xxs\" status-icon=\"false\" text={false} color=\"gray\">\r\n {/* <slot name=\"initials\" slot=\"initials\"></slot> */}\r\n <slot name=\"image\" slot=\"image\"></slot>\r\n </gb-avatar>\r\n )}\r\n {this.icon === 'dot' && (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"8\" height=\"8\" viewBox=\"0 0 8 8\" fill=\"none\">\r\n <circle cx=\"4\" cy=\"4\" r=\"3\" fill=\"#17B26A\" />\r\n </svg>\r\n )}\r\n <div class=\"label\">\r\n <slot></slot>\r\n </div>\r\n {this.action === 'count' && (\r\n <gb-tag-count size={this.size}>\r\n <slot slot=\"count\" name=\"count\"></slot>\r\n </gb-tag-count>\r\n )}\r\n </div>\r\n {this.action === 'X_close' && <gb-tag-close size={this.size} onClick={() => this.onTagClose()}></gb-tag-close>}\r\n </div>\r\n );\r\n }\r\n}","@import './../../global/global.css';\r\n\r\n.checkbox-container {\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n position: relative;\r\n cursor: pointer;\r\n}\r\n\r\ninput[type=\"checkbox\"] {\r\n opacity: 0;\r\n position: absolute;\r\n width: 100%;\r\n height: 100%;\r\n cursor: pointer;\r\n}\r\n\r\n.custom-checkbox {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n border-radius: var(--rounded-xs);\r\n border: 1px solid var(--color-border-input, #CDD5DF);\r\n background: transparent;\r\n transition: background 0.2s, border 0.2s;\r\n margin-top: 10px;\r\n}\r\n\r\n.sm {\r\n width: 14px;\r\n height: 14px;\r\n}\r\n\r\n.md {\r\n width: var(--spacing-4);\r\n height: var(--spacing-4);\r\n flex-shrink: 0;\r\n}\r\n\r\n.lg {\r\n width: 18px;\r\n height: 18px;\r\n}\r\n\r\ninput[type=\"checkbox\"]:checked + .custom-checkbox {\r\n background: var(--color-background-selected, #075DB2);\r\n border: 1px solid var(--color-border-selected, #075DB2);\r\n}\r\n\r\ninput[type=\"checkbox\"]:checked + .custom-checkbox .checkmark {\r\n display: block;\r\n}\r\n\r\n.checkmark {\r\n display: none;\r\n width: var(--spacing-3);\r\n height: var(--spacing-3);\r\n}\r\n\r\n.checkbox-container:hover .custom-checkbox {\r\n border: 1px solid var(--color-border-selected, #075DB2);\r\n}\r\n\r\n.checkbox-container.disabled .custom-checkbox {\r\n background: var(--color-background-disabled, #F6F8FA);\r\n border: 1px solid var(--color-border-disabled, #E3E8EF);\r\n}\r\n\r\n.checkbox-container.disabled .checkmark {\r\n fill: var(--color-icon-disabled, #CDD5DF);\r\n}\r\n\r\n","import { Component, Event, EventEmitter, Prop, h} from \"@stencil/core\";\r\nimport { GeneralSizes } from \"../../models/reusableModels\";\r\n\r\n@Component({\r\n tag: 'gb-tag-checkbox',\r\n styleUrl: 'gb-tag-checkbox.css',\r\n shadow: true\r\n})\r\n\r\nexport class GbTagCheckbox {\r\n @Prop() checked: boolean = false;\r\n @Prop() size: GeneralSizes = 'md';\r\n @Prop() disabled: boolean = false;\r\n @Event() tagCheckboxClicked: EventEmitter<boolean>;\r\n \r\n render() {\r\n return (\r\n <label class={`checkbox-container ${this.size} ${this.disabled ? 'disabled' : ''}`}>\r\n <input \r\n type=\"checkbox\" \r\n checked={this.checked} \r\n disabled={this.disabled} \r\n />\r\n <span class={`custom-checkbox ${this.size}`}>\r\n <svg class=\"checkmark\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <path d=\"M2.5 7.25C2.5 7.25 3.25 7.25 4.25 9C4.25 9 7.02941 4.41667 9.5 3.5\" stroke=\"white\" stroke-width=\"1.71429\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </span>\r\n </label>\r\n );\r\n }\r\n}\r\n","@import './../../global/global.css';\r\n\r\ndiv {\r\n display: flex;\r\n flex-direction: column;\r\n align-items: flex-start;\r\n gap: var(--spacing-none);\r\n border-radius: 3px;\r\n cursor: pointer;\r\n}\r\n\r\ndiv:hover {\r\n background: var(--color-background-gray-subtlest, #F6F8FA);\r\n}\r\n\r\ndiv:hover svg path {\r\n stroke: var(--color-icon-bold, #202939);\r\n}\r\n\r\ndiv.sm,\r\ndiv.md {\r\n padding: var(--spacing-half);\r\n}\r\n\r\ndiv.lg {\r\n padding: 3px;\r\n}\r\n\r\ndiv.sm svg{\r\n width: 10px;\r\n height: 10px;\r\n}\r\n\r\ndiv.md svg{\r\n width: var(--spacing-3);\r\n height: var(--spacing-3);\r\n}\r\n\r\ndiv.lg svg{\r\n width: 14px;\r\n height: 14px;\r\n}","import {Component, Prop, h} from '@stencil/core'\r\nimport { GeneralSizes } from '../../models/reusableModels';\r\n\r\n@Component({\r\n tag: 'gb-tag-close',\r\n styleUrl: 'gb-tag-close.css',\r\n shadow: true\r\n})\r\n\r\nexport class GbTagClose{\r\n @Prop() size: GeneralSizes;\r\n\r\n render() {\r\n return (\r\n <div class={this.size}>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"none\">\r\n <path d=\"M7.91683 2.08328L2.0835 7.91662M2.0835 2.08328L7.91683 7.91662\" stroke=\"#4B5565\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </div>\r\n )\r\n }\r\n}","@import './../../global/global.css';\r\n\r\ndiv {\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n gap: var(--spacing-none);\r\n flex-shrink: 0;\r\n border-radius: 3px;\r\n background-color: var(--color-background-gray-subtler, #EEF2F6);\r\n} \r\n\r\ndiv.sm {\r\n width: 16px;\r\n height: 16px;\r\n padding: var(--spacing-none) var(--spacing-1);\r\n}\r\n\r\n.sm p{\r\n width: 8px;\r\n height: 16px; \r\n font-size: var(--Font-Size-T-xs, 0.75rem);\r\n line-height: var(--Font-Line-height-T-xs, 1.125rem);\r\n}\r\n\r\ndiv.md {\r\n width: 1.125rem;\r\n height: 1.125rem;\r\n padding: var(--spacing-none) 5px;\r\n}\r\n\r\n.md p{\r\n width: 0.5625rem;\r\n height: 1.125rem;\r\n font-size: var(--Font-Size-T-xs, 0.75rem);\r\n line-height: var(--Font-Line-height-T-xs, 1.125rem); \r\n}\r\n\r\ndiv.lg {\r\n width: 1.25rem;\r\n height: 1.25rem;\r\n}\r\n\r\n.lg p{\r\n font-size: var(--Font-Size-T-sm, 0.875rem);\r\n line-height: var(--Font-Line-height-T-sm, 1.25rem);\r\n}\r\n\r\np{\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n flex-shrink: 0;\r\n color: var(--color-text, #4B5565);\r\n text-align: center;\r\n font-family: var(--Font-Family-Body, Sora);\r\n font-style: normal;\r\n font-weight: var(--Font-Weight-Medium, 500);\r\n letter-spacing: var(--Font-Letter-spacing-T-sm, 0px);\r\n}\r\n\r\n\r\n","import {Component, Prop, h} from '@stencil/core';\r\nimport { GeneralSizes } from '../../models/reusableModels';\r\n\r\n@Component({\r\n tag: 'gb-tag-count',\r\n styleUrl: 'gb-tag-count.css',\r\n shadow: true\r\n})\r\n\r\nexport class GbTagCount{\r\n @Prop() size: GeneralSizes;\r\n\r\n render() {\r\n return (\r\n <div class={this.size}>\r\n <slot name=\"count\"></slot>\r\n </div>\r\n )\r\n }\r\n}","@import '../../global/global.css';\r\n\r\n.textarea_container{\r\n display: flex;\r\n flex-direction: column;\r\n gap: var(--spacing-2);\r\n}\r\n\r\n.input_with_label{\r\n display: flex;\r\n flex-direction: column;\r\n gap: var(--spacing-2);\r\n}\r\n\r\n.textarea{\r\n border: 1px solid var(--color-border-input, #CDD5DF);\r\n border-radius: var(--rounded-sm);\r\n padding: 0.75rem 0.875rem;\r\n font-family: var(--font-family-body);\r\n resize: none;\r\n min-height: 7.5rem;\r\n overflow: visible;\r\n background: transparent;\r\n color: var(--color-text);\r\n}\r\n\r\n.default_textarea:focus{\r\n border-color: #075DB2;\r\n outline: #075DB2;\r\n}\r\n\r\n.textarea::placeholder{\r\n color: var(--color-text-subtle, #697586);\r\n}\r\n\r\n.results_display {\r\n display: flex;\r\n flex-wrap: wrap;\r\n position: relative;\r\n gap: 0.5rem;\r\n width: 100%;\r\n background-color: var(--color-surface, #FFFFFF);\r\n}\r\n\r\n.results_display.disabled{\r\n background: var(--color-background-disabled, #F6F8FA);\r\n}\r\n\r\n.textarea_tags{\r\n --weight: fit-content;\r\n /* flex-direction: row-reverse; */\r\n display: flex;\r\n flex-direction: column;\r\n position: relative;\r\n}\r\n\r\n.textarea.tags{\r\n display: flex;\r\n}\r\n\r\n.input_like,\r\n.results_display{\r\n height: fit-content;\r\n}\r\n\r\n.input_like{\r\n border: none;\r\n font-family: var(--font-family-body);\r\n}\r\n\r\n.input_like:focus{\r\n outline: none;\r\n}\r\n\r\n.input_like.disabled{\r\n background: var(--color-background-disabled, #F6F8FA);\r\n}\r\n\r\n.hidden-span {\r\n visibility: hidden;\r\n position: absolute;\r\n max-width: 100%;\r\n white-space: pre;\r\n}\r\n\r\n/* State Styles */\r\n.textarea:focus-within{\r\n border: 1.3px solid var(--color-border-selected, #075DB2);\r\n outline-color: transparent;\r\n}\r\n\r\n.textarea.destructive{\r\n border: 1px solid var(--color-border-danger, #B51726);\r\n}\r\n\r\n.textarea.disabled{\r\n background: var(--color-background-gray-subtlest, #F6F8FA);\r\n border: 1px solid var(--color-border-disabled, #E3E8EF);\r\n cursor: not-allowed;\r\n pointer-events: none;\r\n}\r\n\r\n.label {\r\n color: var(--color-text, #4B5565);\r\n}\r\n\r\n.hint_text{\r\n color: var(--color-text-subtle, #697586);\r\n}\r\n\r\n.hint_text.destructive{\r\n color: var(--color-border-danger, #B51726);\r\n}\r\n\r\n.dropdown_menu{\r\n display: flex;\r\n min-width: 100%;\r\n width: fit-content;\r\n max-height: 15rem;\r\n padding: var(--spacing-none);\r\n flex-direction: column;\r\n align-items: stretch;\r\n border-radius: var(--rounded-sm);\r\n border: 1px solid var(--color-border-subtler, #E3E8EF);\r\n background: var(--color-surface, #FFFFFF);\r\n box-shadow: var(--shadow-sm);\r\n position: absolute;\r\n z-index: 99999;\r\n gap: var(--spacing-none);\r\n transition: 1s ease-in-out;\r\n overflow-y: auto;\r\n top: 105%;\r\n}","import { Component, Element, Prop, State, h, Fragment, Event, EventEmitter, Listen, Watch } from '@stencil/core';\r\nimport { StateEnum } from '../../models/reusableModels';\r\n\r\n@Component({\r\n tag: 'gb-textarea-input-field',\r\n styleUrl: 'gb-textarea-input-field.css',\r\n shadow: true,\r\n})\r\nexport class GbTextareaInputField {\r\n @Prop() type: 'default' | 'tags';\r\n @Prop({ mutable: true }) state: 'default' | 'filled' | 'active' | 'disabled';\r\n @Prop() destructive: boolean = false;\r\n @Prop() placeholderText: string = '';\r\n @Prop() showLabel: boolean = false;\r\n @Prop() label: string = '';\r\n @Prop() showHintText: boolean = false;\r\n @Prop() hintText: string = '';\r\n @Prop() errorText: string = '';\r\n @Prop({ reflect: true }) idOfInput!: string;\r\n @Prop({ reflect: true }) isReadOnly: boolean = false;\r\n @Prop({ mutable: true }) value: any = [\r\n // { objectName: 'John Doe', objectValue: 'john.doe@example.com' },\r\n // { objectName: 'Jane Smith', objectValue: 'jane.smith@example.com' },\r\n // { objectName: 'Alice Johnson', objectValue: 'alice.johnson@example.com' },\r\n // { objectName: 'Emmanuel Kadiri', objectValue: 'kadiri2047@gmail.com' },\r\n // { objectName: 'Gideon Ogunkola', objectValue: 'gideon@example.com' },\r\n ];\r\n @Prop() icon: 'country' | 'avatar' | 'dot' | 'false';\r\n @Prop({ mutable: true }) results: any[] = [\r\n // { objectName: 'John Doe', objectValue: 'john.doe@example.com' },\r\n // { objectName: 'Jane Smith', objectValue: 'jane.smith@example.com' },\r\n // { objectName: 'Alice Johnson', objectValue: 'alice.johnson@example.com' },\r\n // { objectName: 'Emmanuel Kadiri', objectValue: 'kadiri2047@gmail.com' },\r\n // { objectName: 'Gideon Ogunkola', objectValue: 'gideon@example.com' },\r\n // 10,\r\n // 20,\r\n // 30,\r\n // 40,\r\n // 50,\r\n ];\r\n @Element() el: HTMLElement;\r\n @State() content: string = '';\r\n @State() inputValue: string = '';\r\n @State() selectedStaff: any[] = [];\r\n @State() paddingLeft: string = '1rem';\r\n @State() paddingTop: string = '0rem';\r\n @State() show: boolean = false;\r\n @State() staffInfo: any[] = [];\r\n @State() selectedItems: any[] = [];\r\n @State() unselectedItems: any[] = [];\r\n @Event() textareaValueChanged: EventEmitter<any>;\r\n\r\n private textarea!: HTMLTextAreaElement;\r\n inputElement!: HTMLInputElement;\r\n resultsDisplayElement!: HTMLDivElement;\r\n private hiddenSpan: HTMLElement;\r\n private minWidth: number = 10;\r\n\r\n connectedCallback() {\r\n if (this.type === 'tags') {\r\n document.addEventListener('click', this.handleClickOutside);\r\n this.inputElement?.addEventListener('input', this.handleTagInput.bind(this));\r\n } else {\r\n this.inputElement?.addEventListener('input', this.handleInput.bind(this));\r\n }\r\n }\r\n\r\n componentDidLoad() {\r\n this.updateInputWidth();\r\n }\r\n\r\n componentWillLoad() {\r\n this.updateSelectedItems(this.value);\r\n }\r\n\r\n disconnectedCallback() {\r\n if(this.type === 'tags') {\r\n this.inputElement?.removeEventListener('input', this.handleTagInput.bind(this));\r\n document.removeEventListener('click', this.handleClickOutside);\r\n } else {\r\n this.inputElement?.removeEventListener('input', this.handleInput.bind(this));\r\n }\r\n }\r\n\r\n handleInput() {\r\n this.textarea.style.height = 'auto'; // Reset height to calculate the new height\r\n this.textarea.style.height = `${this.textarea.scrollHeight - 22}px`; // Set the height to the scrollHeight\r\n this.textareaValueChanged.emit(this.textarea.value);\r\n }\r\n\r\n handleInputFocus() {\r\n if (this.destructive) {\r\n this.destructive = false;\r\n }\r\n }\r\n\r\n handleTagInput(event: Event) {\r\n const target = event.target as HTMLInputElement;\r\n this.inputValue = target.value; // Update the value\r\n this.textareaValueChanged.emit(this.selectedItems);\r\n\r\n if (this.inputValue.trim() === '') {\r\n this.show = false;\r\n // this.results = [];\r\n return;\r\n }\r\n\r\n // Simulate API call\r\n setTimeout(() => {\r\n // this.results = this.mockStaffSearch(this.inputValue);\r\n this.show = this.results.length > 0;\r\n }, 1000);\r\n\r\n this.updateInputWidth();\r\n }\r\n\r\n emitInputValue() {\r\n this.textareaValueChanged.emit(this.selectedItems);\r\n }\r\n\r\n handleTagRemove(index: number) {\r\n if (this.value.length > 0) {\r\n this.value = [...this.value.slice(0, index), ...this.value.slice(index + 1)];\r\n this.updateStyles();\r\n this.emitInputValue();\r\n } else {\r\n this.selectedItems = [...this.selectedItems.slice(0, index), ...this.selectedItems.slice(index + 1)];\r\n this.updateStyles();\r\n this.emitInputValue();\r\n }\r\n }\r\n\r\n updateStyles() {\r\n setTimeout(() => {\r\n if (this.resultsDisplayElement) {\r\n const resultsWidth = this.resultsDisplayElement.offsetWidth;\r\n const inputWidth = this.inputElement.offsetWidth;\r\n\r\n this.paddingLeft = this.selectedItems.length === 0 ? '1rem' : `${resultsWidth + 10}px`;\r\n\r\n this.paddingTop = this.selectedItems.length > 2 ? '1rem' : `${inputWidth + 10}px`;\r\n }\r\n });\r\n\r\n if (this.destructive) {\r\n this.destructive = false;\r\n }\r\n this.inputValue = '';\r\n }\r\n\r\n mockStaffSearch(query: string) {\r\n const mockData = this.results;\r\n\r\n return mockData.filter(staff => staff.objectName.toLowerCase().includes(query.toLowerCase()));\r\n }\r\n\r\n selectStaff(staff: any) {\r\n this.selectedStaff = [...this.selectedStaff, staff];\r\n this.inputValue = '';\r\n this.staffInfo = [];\r\n this.updateStyles();\r\n }\r\n\r\n updateInputWidth() {\r\n if (this.hiddenSpan) {\r\n const input = this.el.shadowRoot.querySelector('input') as HTMLInputElement;\r\n\r\n // Update input width based on span's width or use minimum width\r\n const calculatedWidth = Math.max(this.hiddenSpan.offsetWidth + 10, this.minWidth);\r\n input.style.width = `${calculatedWidth}px`;\r\n }\r\n }\r\n\r\n handleWrapperClick() {\r\n this.inputElement.focus(); // Focus the input field\r\n }\r\n\r\n selectDropdownItem(item: any) {\r\n if (this.value.length === 0) {\r\n const isObject = typeof item === 'object';\r\n const isSelected = this.selectedItems.some(i => (isObject ? i.objectName === item.objectName : i === item));\r\n if (isSelected) {\r\n // Unselect item: Move it from selectedItems to unselectedItems\r\n this.selectedItems = this.selectedItems.filter(i => (isObject ? i.objectName !== item.objectName : i !== item));\r\n if (!this.unselectedItems.some(i => (isObject ? i.objectName === item.objectName : i === item))) {\r\n this.unselectedItems = [...this.unselectedItems, item];\r\n }\r\n this.textareaValueChanged.emit(this.selectedItems);\r\n } else {\r\n // Select item: Move it from unselectedItems to selectedItems\r\n this.selectedItems = [...this.selectedItems, item];\r\n this.unselectedItems = this.unselectedItems.filter(i => (isObject ? i.objectName !== item.objectName : i !== item));\r\n this.textareaValueChanged.emit(this.selectedItems);\r\n }\r\n } else {\r\n const isObject = typeof item === 'object';\r\n const isSelected = this.selectedItems.some(i => (isObject ? i.objectName === item.objectName : i === item));\r\n\r\n if (isSelected) {\r\n this.value = this.value.filter(i => (isObject ? i.objectName !== item.objectName : i !== item));\r\n console.log(this.value);\r\n this.textareaValueChanged.emit(this.value);\r\n } else {\r\n this.value = [...this.value, item]; // Add item to array\r\n this.textareaValueChanged.emit(this.value);\r\n }\r\n }\r\n\r\n this.updateStyles();\r\n }\r\n\r\n @Watch('value')\r\n updateSelectedItems(newValue: any[]) {\r\n if (Array.isArray(newValue) && newValue.length > 0) {\r\n this.selectedItems = [];\r\n this.unselectedItems = [];\r\n\r\n const objectValues = newValue.filter(val => typeof val === 'object' && val !== null);\r\n const primitiveValues = newValue.filter(val => typeof val !== 'object');\r\n\r\n this.selectedItems = this.results.filter(item =>\r\n typeof item === 'object' && item !== null\r\n ? objectValues.some(val => JSON.stringify(val) === JSON.stringify(item)) // Avoid object reference issues\r\n : primitiveValues.includes(item),\r\n );\r\n\r\n this.unselectedItems = this.results.filter(item =>\r\n typeof item === 'object' && item !== null ? !objectValues.some(val => JSON.stringify(val) === JSON.stringify(item)) : !primitiveValues.includes(item),\r\n );\r\n } else {\r\n this.selectedItems = [];\r\n this.unselectedItems = [...this.results];\r\n }\r\n }\r\n\r\n isTagItemSelected(item) {\r\n // return this.selectedStaff.some(i => i.name === item.name);\r\n\r\n const isObject = typeof item === 'object';\r\n return this.selectedItems.some(i => (isObject ? i.objectName === item.objectName : i === item));\r\n }\r\n\r\n @Listen('click', { target: 'document' })\r\n handleClickOutside(event: MouseEvent) {\r\n if (this.show && !this.el.contains(event.target as Node)) {\r\n this.show = false;\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n <div class=\"textarea_container\">\r\n <div class=\"input_with_label\">\r\n {this.showLabel && <p class={`label text-sm-medium`}>{this.label}</p>}\r\n {this.type === 'default' && (\r\n <textarea\r\n ref={el => (this.textarea = el as HTMLTextAreaElement)}\r\n onInput={() => this.handleInput()}\r\n onFocus={() => this.handleInputFocus()}\r\n class={`textarea default_textarea ${this.state} ${this.destructive ? 'destructive' : ''}`}\r\n placeholder={this.placeholderText}\r\n value={this.inputValue}\r\n ></textarea>\r\n )}\r\n {this.type === 'tags' && (\r\n <div class=\"textarea_tags\">\r\n <div class={`textarea ${this.type} ${this.state} ${this.destructive ? 'destructive' : ''}`} onClick={() => this.handleWrapperClick()}>\r\n <div class={`results_display ${this.state === 'disabled' ? 'disabled' : ''}`} ref={el => (this.resultsDisplayElement = el as HTMLDivElement)}>\r\n {this.value.length === 0 ? (\r\n <>\r\n {this.selectedItems.map((item, index) => (\r\n <>\r\n {typeof item === 'object' ? (\r\n <div class=\"added_tag\" key={index}>\r\n <gb-tag size=\"sm\" icon={this.icon ? this.icon : 'avatar'} action=\"X_close\" onClick={() => this.handleTagRemove(index)}>\r\n <p class=\"text-xs-medium\">{item.objectName.split(' ')[0]}</p>\r\n <h1 slot=\"initials\" class=\"text-xxs-semi-bold\">\r\n {item.objectName\r\n .split(' ')\r\n .map(part => part.charAt(0).toUpperCase())\r\n .join('')}\r\n </h1>\r\n </gb-tag>\r\n </div>\r\n ) : (\r\n <div class=\"added_tag\" key={index}>\r\n <gb-tag size=\"sm\" icon={this.icon ? this.icon : 'avatar'} action=\"X_close\" onClick={() => this.handleTagRemove(index)}>\r\n <p class=\"text-xs-medium\">{item}</p>\r\n </gb-tag>\r\n </div>\r\n )}\r\n </>\r\n ))}\r\n </>\r\n ) : (\r\n <>\r\n {this.value.map((val, index) => (\r\n <>\r\n {typeof val === 'object' ? (\r\n <gb-tag size=\"sm\" action=\"X_close\" icon={this.icon ? this.icon : 'avatar'} onClick={() => this.handleTagRemove(index)} key={index}>\r\n <h1 class=\"text-xxs-semi-bold\" slot=\"initials\">\r\n {val.objectName.split(' ').map(part => part.charAt(0).toUpperCase())}\r\n </h1>\r\n <p>{val.objectName.split(' ')[0]}</p>\r\n </gb-tag>\r\n ) : (\r\n <gb-tag size=\"sm\" action=\"X_close\" icon={this.icon ? this.icon : 'avatar'} onClick={() => this.handleTagRemove(index)} key={index}>\r\n <p>{val}</p>\r\n </gb-tag>\r\n )}\r\n </>\r\n ))}\r\n </>\r\n )}\r\n <span class=\"hidden-span\" ref={el => (this.hiddenSpan = el as HTMLElement)}>\r\n {this.inputValue || ' '}\r\n </span>\r\n <div class=\"input_field\">\r\n <input\r\n id={this.idOfInput}\r\n class={`input_like text-md-regular ${this.state}`}\r\n type=\"text\"\r\n // placeholder={this.placeholderText}\r\n value={this.inputValue}\r\n readOnly={this.isReadOnly}\r\n ref={el => (this.inputElement = el as HTMLInputElement)}\r\n onBlur={() => this.emitInputValue()}\r\n />\r\n </div>\r\n </div>\r\n {this.destructive && (\r\n <div class=\"help_icon\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M7.9947 10H8.00069M8.00004 8.00004V5.33337M14.6667 8.00004C14.6667 11.6819 11.6819 14.6667 8.00004 14.6667C4.31814 14.6667 1.33337 11.6819 1.33337 8.00004C1.33337 4.31814 4.31814 1.33337 8.00004 1.33337C11.6819 1.33337 14.6667 4.31814 14.6667 8.00004Z\"\r\n stroke=\"#B51726\"\r\n stroke-width=\"1.33333\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n </div>\r\n )}\r\n </div>\r\n {this.show && (\r\n <div class={`dropdown_menu`}>\r\n {this.results.map(item => (\r\n <gb-input-dropdown-menu-item\r\n type=\"checkbox\"\r\n supporting-text={true}\r\n state={StateEnum.Default}\r\n onClick={() => this.selectDropdownItem(item)}\r\n selected={this.isTagItemSelected(item)}\r\n >\r\n {typeof item === 'object'\r\n ? [<p slot=\"name\">{item.objectName}</p>, <p slot=\"supporting_text\">{item.objectValue}</p>]\r\n : typeof item !== 'object' && <p slot=\"name\">{item}</p>}\r\n </gb-input-dropdown-menu-item>\r\n ))}\r\n </div>\r\n )}\r\n </div>\r\n )}\r\n </div>\r\n {this.showHintText && <>{!this.destructive ? <p class=\"hint_text text-sm-regular\">{this.hintText}</p> : <p class=\"error_text text-sm-regular\">{this.errorText}</p>}</>}\r\n </div>\r\n );\r\n }\r\n}\r\n",".theme_tab_div {\r\n display: flex;\r\n padding: 0.375rem;\r\n justify-content: space-between;\r\n align-items: center;\r\n gap: 0.5rem;\r\n border-radius: 0.5rem;\r\n border: 1px solid var(--color-border-subtler, #E3E8EF);\r\n background: var(--color-background-gray-subtler, #EEF2F6);\r\n flex-grow: 1;\r\n}\r\n\r\n.tab{\r\n width: 100%;\r\n}","import { Component, Element, Event, EventEmitter, Prop, getAssetPath, h } from '@stencil/core';\r\nimport { ThemeTypes } from '../../models/reusableModels';\r\n\r\n@Component({\r\n tag: 'gb-theme-tab',\r\n styleUrl: 'gb-theme-tab.css',\r\n shadow: true,\r\n})\r\nexport class GbThemeTab {\r\n @Prop({ mutable: true }) theme: ThemeTypes;\r\n @Event() themeTabClicked: EventEmitter<string>;\r\n @Prop({ mutable: true }) currentActiveTab: string = 'system';\r\n @Element() el: HTMLElement;\r\n\r\n tabClicked(theme: string) {\r\n this.currentActiveTab = theme;\r\n this.themeTabClicked.emit(theme);\r\n // this.el.dispatchEvent(\r\n // new CustomEvent('themeChange', {\r\n // detail: { theme },\r\n // bubbles: true,\r\n // composed: true, // This is key\r\n // }),\r\n // ); \r\n }\r\n\r\n render() {\r\n const systemIconSrc = getAssetPath(`assets/laptop.svg`);\r\n const sunSrc = getAssetPath(`assets/sun-02.svg`);\r\n const moonSrc = getAssetPath(`assets/moon-02.svg`);\r\n\r\n return (\r\n <div class={`theme_tab_div`}>\r\n <div class=\"tab\">\r\n <gb-icon-button-base\r\n current={this.currentActiveTab === 'system' ? true : false}\r\n icon={systemIconSrc}\r\n label=\"System\"\r\n onClick={() => this.tabClicked('system')}\r\n ></gb-icon-button-base>\r\n </div>\r\n <div class=\"tab\">\r\n <gb-icon-button-base\r\n current={this.currentActiveTab === 'light' ? true : false}\r\n icon={sunSrc}\r\n label=\"Light\"\r\n onClick={() => this.tabClicked('light')}\r\n ></gb-icon-button-base>\r\n </div>\r\n <div class=\"tab\">\r\n <gb-icon-button-base current={this.currentActiveTab === 'dark' ? true : false} icon={moonSrc} label=\"Dark\" onClick={() => this.tabClicked('dark')}></gb-icon-button-base>\r\n </div>\r\n </div>\r\n );\r\n }\r\n}\r\n","@import './../../global/global.css';\r\n\r\n.toast_div{\r\n display: flex;\r\n align-items: center;\r\n gap: var(--spacing-4);\r\n position: relative;\r\n}\r\n\r\n/* Toast Size Styles */\r\n.toast_div.floating{\r\n border-radius: var(--rounded-md);\r\n box-shadow: var(--shadow-xs);\r\n padding: var(--spacing-3) var(--spacing-4);\r\n}\r\n\r\n.container.desktop{\r\n display: flex;\r\n padding: 0.75rem 2rem;\r\n width: 100%;\r\n}\r\n\r\n.container.mobile{\r\n display: flex;\r\n padding: var(--spacing-3) var(--spacing-4);\r\n align-items: center;\r\n gap: var(--spacing-3);\r\n}\r\n\r\n.full_width_content.desktop{\r\n display: flex;\r\n align-items: center;\r\n gap: 0.75rem;\r\n flex: 1 0 0;\r\n}\r\n\r\n.full_width_content.mobile{\r\n display: flex;\r\n flex-direction: column;\r\n gap: 0.75rem;\r\n}\r\n\r\n.inner_content.desktop{\r\n display: flex;\r\n align-items: center;\r\n gap: var(--spacing-4);\r\n flex-grow: 1;\r\n}\r\n\r\n.inner_content.mobile{\r\n display: flex;\r\n align-items: center;\r\n gap: var(--spacing-4);\r\n flex-grow: 1;\r\n}\r\n\r\n.icon_container{\r\n width: fit-content;\r\n display: flex;\r\n align-self: stretch;\r\n}\r\n\r\n.content{\r\n display: flex;\r\n flex-grow: 1;\r\n flex-wrap: wrap;\r\n}\r\n\r\n.content.floating{\r\n flex-direction: column;\r\n gap: var(--spacing-3);\r\n}\r\n\r\n.content.full_width{\r\n flex-direction: row;\r\n justify-content: space-between;\r\n gap: var(--spacing-3);\r\n}\r\n\r\n.content.actions{\r\n flex-direction: row;\r\n justify-content: space-between;\r\n align-items: center;\r\n}\r\n\r\n.text.floating{\r\n display: flex;\r\n flex-direction: column;\r\n gap: var(--spacing-2);\r\n}\r\n\r\n.text.full_width{\r\n display: flex;\r\n gap: 0.38rem;\r\n align-items: center;\r\n}\r\n\r\n.text.mobile{\r\n display: flex;\r\n flex-direction: column;\r\n align-items: flex-start;\r\n}\r\n\r\n.actions{\r\n display: flex;\r\n gap: var(--spacing-5);\r\n}\r\n\r\n.actions.floating{\r\n display: flex;\r\n}\r\n\r\n.actions.full_width{\r\n width: fit-content;\r\n}\r\n\r\n.actions.only_actions{\r\n width: fit-content;\r\n}\r\n\r\n.actions.mobile{\r\n margin-left: 2.8rem;\r\n}\r\n\r\n/* Toast Color Styles */\r\n.toast_div.floating.default{\r\n border: 1px solid var(--color-border-subtler, #E3E8EF);\r\n background: var(--color-background-card, #FFFFFF);\r\n}\r\n\r\n.toast_div.floating.gray{\r\n border: 1px solid var(--color-border-subtle, #CDD5DF);\r\n background: var(--color-background-gray-subtlest, #F6F8FA);\r\n}\r\n\r\n.toast_div.floating.information{\r\n border: 1px solid var(--color-border-infromation-subtle, #9AC7F4);\r\n background: var(--color-background-information-subtlest, #E4F0FC);\r\n}\r\n\r\n.toast_div.floating.error{\r\n border: 1px solid var(--color-border-danger-subtle, #F9B4BA);\r\n background: var(--color-background-danger-subtlest, #FEF1F2);\r\n}\r\n\r\n.toast_div.floating.warning{\r\n border: 1px solid var(--color-border-warning-subtle, #FEDF89);\r\n background: var(--color-background-warning-subtlest, #FFFAEB);\r\n}\r\n\r\n.toast_div.floating.success{\r\n border: 1px solid var(--color-border-success-subtle, #A9EFC5);\r\n background: var(--color-background-success-subtlest, #ECFDF3);\r\n}\r\n\r\n.toast_div.full_width.default{\r\n border-top: 1px solid var(--color-border-subtler, #E3E8EF);\r\n border-bottom: 1px solid var(--color-border-subtler, #E3E8EF);\r\n background: var(--color-background-card, #FFFFFF);\r\n}\r\n\r\n.toast_div.full_width.gray{\r\n border-top: 1px solid var(--color-border-subtle, #CDD5DF);\r\n border-bottom: 1px solid var(--color-border-subtle, #CDD5DF);\r\n background: var(--color-background-gray-subtlest, #F6F8FA);\r\n}\r\n\r\n.toast_div.full_width.information{\r\n border-top: 1px solid var(--color-border-infromation-subtle, #9AC7F4);\r\n border-bottom: 1px solid var(--color-border-infromation-subtle, #9AC7F4);\r\n background: var(--color-background-information-subtlest, #E4F0FC);\r\n}\r\n\r\n.toast_div.full_width.error{\r\n border-top: 1px solid var(--color-border-danger-subtle, #F9B4BA);\r\n border-bottom: 1px solid var(--color-border-danger-subtle, #F9B4BA);\r\n background: var(--color-background-danger-subtlest, #FEF1F2);\r\n}\r\n\r\n.toast_div.full_width.warning{\r\n border-top: 1px solid var(--color-border-warning-subtle, #FEDF89);\r\n border-bottom: 1px solid var(--color-border-warning-subtle, #FEDF89);\r\n background: var(--color-background-warning-subtlest, #FFFAEB);\r\n}\r\n\r\n.toast_div.full_width.success{\r\n border-top: 1px solid var(--color-border-success-subtle, #A9EFC5);\r\n border-bottom: 1px solid var(--color-border-success-subtle, #A9EFC5);\r\n background: var(--color-background-success-subtlest, #ECFDF3);\r\n}\r\n\r\n.svg_icon.default path,\r\n.svg_icon.gray path{\r\n fill: var(--color-icon, #4B5565);\r\n}\r\n\r\n.svg_icon.information path{\r\n fill: var(--color-icon-information, #064E94);\r\n}\r\n\r\n.svg_icon.error path{\r\n fill: var(--color-icon-danger, #B51726);\r\n}\r\n\r\n.svg_icon.warning path{\r\n fill: var(--color-icon-warning, #DC6803);\r\n}\r\n\r\n.svg_icon.success path{\r\n fill: var(--color-icon-success, #079455);\r\n}\r\n\r\n.main_text_default,\r\n.main_text_gray{\r\n color: var(--color-text, #4B5565);\r\n}\r\n\r\n.main_text_information{\r\n color: var(--color-text-information, #064E94);\r\n}\r\n\r\n.main_text_error{\r\n color: var(--color-text-danger, #B51726);\r\n}\r\n\r\n.main_text_warning{\r\n color: var(--color-text-warning, #DC6803);\r\n}\r\n\r\n.main_text_success{\r\n color: var(--color-text-success, #079455);\r\n}\r\n\r\n.supporting_text_default,\r\n.supporting_text_gray{\r\n color: var(--color-text, #4B5565);\r\n}\r\n\r\n.supporting_text_information{\r\n color: var(--color-text-information, #064E94);\r\n}\r\n\r\n.supporting_text_error{\r\n color: var(--color-text-danger, #B51726);\r\n}\r\n\r\n.supporting_text_warning{\r\n color: var(--color-text-warning, #DC6803);\r\n}\r\n\r\n.supporting_text_success{\r\n color: var(--color-text-success, #079455);\r\n}\r\n\r\n.toast_div.full_width.desktop{\r\n display: flex;\r\n justify-content: center;\r\n}\r\n\r\n@media (max-width: 468px) {\r\n .actions.floating{\r\n width: 100%;\r\n }\r\n}","import { Component, Prop, h, Fragment, Element, Event, EventEmitter, State, Watch } from '@stencil/core';\r\nimport { BreakPoints, GeneralColors, StateEnum } from '../../models/reusableModels';\r\n\r\n@Component({\r\n tag: 'gb-toast',\r\n styleUrl: 'gb-toast.css',\r\n shadow: true,\r\n})\r\nexport class GbToast {\r\n @Prop({ mutable: true }) color: GeneralColors;\r\n @Prop() mainText: string = '';\r\n @Prop() supportingText: string = '';\r\n @Prop() size: 'floating' | 'full_width';\r\n @Prop() breakpoint: BreakPoints;\r\n @Prop() icon: string = '';\r\n @Prop() xCloseButton: boolean = true;\r\n @Prop() actions: boolean = false;\r\n @Prop() showSupportingText: boolean = false;\r\n @State() internalColor: GeneralColors;\r\n @Element() el: HTMLElement;\r\n @Event() dismiss: EventEmitter<void>;\r\n @Event() viewChanges: EventEmitter<void>;\r\n @Event() close: EventEmitter<void>;\r\n\r\n @Watch('color')\r\n onColorChange(newValue: GeneralColors, _oldValue: GeneralColors) {\r\n this.internalColor = newValue;\r\n }\r\n\r\n componentWillLoad() {\r\n this.internalColor = this.color;\r\n }\r\n\r\n closeToast() {\r\n this.close.emit();\r\n }\r\n\r\n render() {\r\n return (\r\n <div class={`toast_div ${this.internalColor} ${this.size} ${this.breakpoint}`}>\r\n {this.size === 'floating' && (\r\n <>\r\n <div class={`icon_container`}>\r\n {this.internalColor === 'success' ? (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"28\" height=\"29\" viewBox=\"0 0 28 29\" fill=\"none\" class={`svg_icon ${this.internalColor}`}>\r\n <path\r\n opacity=\"0.4\"\r\n d=\"M14.0666 2.24988H14.0665H13.9331H13.9331C11.3773 2.24986 9.36985 2.24985 7.80253 2.46057C6.19643 2.67651 4.92213 3.12805 3.9209 4.12928C2.91967 5.13051 2.46813 6.40481 2.2522 8.01091C2.04148 9.57822 2.04149 11.5857 2.0415 14.1415V14.1415V14.2749V14.2749C2.04149 16.8307 2.04148 18.8382 2.2522 20.4055C2.46813 22.0116 2.91967 23.2859 3.9209 24.2871C4.92213 25.2884 6.19643 25.7399 7.80253 25.9559C9.36985 26.1666 11.3773 26.1666 13.9331 26.1665H14.0665C16.6223 26.1666 18.6298 26.1666 20.1971 25.9559C21.8032 25.7399 23.0775 25.2884 24.0788 24.2871C25.08 23.2859 25.5315 22.0116 25.7475 20.4055C25.9582 18.8382 25.9582 16.8308 25.9582 14.2749V14.1415C25.9582 11.5857 25.9582 9.57822 25.7475 8.01091C25.5315 6.40481 25.08 5.13051 24.0788 4.12928C23.0775 3.12805 21.8032 2.67651 20.1971 2.46057C18.6298 2.24985 16.6224 2.24986 14.0666 2.24988Z\"\r\n fill=\"var(--color-icon-success, #079455)\"\r\n />\r\n <path\r\n d=\"M19.2265 11.1487C19.7918 10.8396 19.9995 10.1307 19.6903 9.56536C19.3811 9.00004 18.6722 8.79238 18.1069 9.10154C15.9735 10.2683 14.2094 12.5199 13.0232 14.3362C12.5849 15.0074 12.2104 15.6429 11.9108 16.1812C11.6313 15.9101 11.3545 15.6747 11.1069 15.479C10.783 15.2228 10.4915 15.0208 10.2789 14.8816L9.91136 14.6534C9.35166 14.3342 8.63915 14.5291 8.31994 15.0888C8.0008 15.6484 8.19559 16.3607 8.75499 16.68L9.00033 16.8335C9.16695 16.9426 9.40042 17.1043 9.6598 17.3093C10.1936 17.7314 10.7696 18.2846 11.1321 18.8907C11.3546 19.2626 11.7649 19.4806 12.1977 19.4567C12.6303 19.4328 13.0142 19.1708 13.1944 18.7769L13.309 18.5372C13.388 18.3756 13.5063 18.1396 13.6603 17.8487C13.9689 17.2657 14.4176 16.4684 14.9769 15.612C16.1241 13.8554 17.6266 12.0237 19.2265 11.1487Z\"\r\n fill=\"var(--color-icon-success, #079455)\"\r\n />\r\n </svg>\r\n ) : this.color === 'error' ? (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"28\" height=\"29\" viewBox=\"0 0 28 29\" fill=\"none\" class={`svg_icon ${this.internalColor}`}>\r\n <path\r\n opacity=\"0.4\"\r\n d=\"M14.0665 2.49945C16.6224 2.49944 18.6298 2.49942 20.1971 2.71014C21.8032 2.92608 23.0775 3.37762 24.0788 4.37885C25.08 5.38008 25.5315 6.65438 25.7475 8.26048C25.9582 9.82779 25.9582 11.8352 25.9582 14.391V14.3911V14.5245V14.5245C25.9582 17.0803 25.9582 19.0878 25.7475 20.6551C25.5315 22.2612 25.08 23.5355 24.0788 24.5367C23.0775 25.538 21.8032 25.9895 20.1971 26.2054C18.6298 26.4161 16.6224 26.4161 14.0666 26.4161H14.0665H13.9331H13.9331C11.3773 26.4161 9.36984 26.4161 7.80253 26.2054C6.19643 25.9895 4.92213 25.538 3.9209 24.5367C2.91967 23.5355 2.46813 22.2612 2.2522 20.6551C2.04148 19.0878 2.04149 17.0803 2.0415 14.5245V14.3911C2.04149 11.8353 2.04148 9.8278 2.2522 8.26048C2.46813 6.65438 2.91967 5.38008 3.9209 4.37885C4.92213 3.37762 6.19643 2.92608 7.80253 2.71014C9.36985 2.49942 11.3773 2.49944 13.9331 2.49945H14.0665Z\"\r\n fill=\"var(--color-icon-danger, #B51726)\"\r\n />\r\n <path\r\n fill-rule=\"evenodd\"\r\n clip-rule=\"evenodd\"\r\n d=\"M12.8335 19.7075C12.8335 19.0632 13.3535 18.5409 13.9949 18.5409H14.0054C14.6468 18.5409 15.1668 19.0632 15.1668 19.7075C15.1668 20.3519 14.6468 20.8742 14.0054 20.8742H13.9949C13.3535 20.8742 12.8335 20.3519 12.8335 19.7075Z\"\r\n fill=\"var(--color-icon-danger, #B51726)\"\r\n />\r\n <path\r\n fill-rule=\"evenodd\"\r\n clip-rule=\"evenodd\"\r\n d=\"M14.0003 16.2075C13.356 16.2075 12.8336 15.6852 12.8336 15.0409L12.8336 10.3742C12.8336 9.72985 13.356 9.20752 14.0003 9.20752C14.6446 9.20752 15.167 9.72985 15.167 10.3742L15.167 15.0409C15.167 15.6852 14.6446 16.2075 14.0003 16.2075Z\"\r\n fill=\"var(--color-icon-danger, #B51726)\"\r\n />\r\n </svg>\r\n ) : (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"28\" height=\"28\" viewBox=\"0 0 28 28\" fill=\"none\" class={`svg_icon ${this.internalColor}`}>\r\n <path\r\n opacity=\"0.4\"\r\n d=\"M14.0667 2.04163C16.6225 2.04161 18.63 2.0416 20.1973 2.25232C21.8034 2.46825 23.0777 2.91979 24.079 3.92102C25.0802 4.92226 25.5317 6.19655 25.7477 7.80265C25.9584 9.36996 25.9584 11.3774 25.9584 13.9332V13.9333V14.0667V14.0667C25.9584 16.6225 25.9584 18.63 25.7477 20.1973C25.5317 21.8034 25.0802 23.0777 24.079 24.0789C23.0777 25.0801 21.8034 25.5317 20.1973 25.7476C18.63 25.9583 16.6226 25.9583 14.0668 25.9583H14.0667H13.9333H13.9333C11.3775 25.9583 9.37003 25.9583 7.80271 25.7476C6.19661 25.5317 4.92232 25.0801 3.92109 24.0789C2.91985 23.0777 2.46831 21.8034 2.25238 20.1973C2.04166 18.6299 2.04167 16.6225 2.04169 14.0667V13.9333C2.04167 11.3774 2.04166 9.36997 2.25238 7.80265C2.46831 6.19655 2.91985 4.92226 3.92109 3.92102C4.92232 2.91979 6.19661 2.46825 7.80271 2.25232C9.37003 2.0416 11.3775 2.04161 13.9333 2.04163H14.0667Z\"\r\n fill=\"var(--color-icon, #4B5565)\"\r\n />\r\n <path\r\n fill-rule=\"evenodd\"\r\n clip-rule=\"evenodd\"\r\n d=\"M13.6289 12.2818C13.9171 12.3206 14.3158 12.4243 14.6541 12.7626C14.9924 13.101 15.0962 13.4997 15.1349 13.7879C15.167 14.0266 15.1669 14.3043 15.1667 14.5375C15.1667 14.553 15.1667 14.5683 15.1667 14.5834V19.2501C15.1667 19.8944 14.6444 20.4167 14 20.4167C13.3557 20.4167 12.8334 19.8944 12.8334 19.2501V14.5834C12.189 14.5834 11.6667 14.0611 11.6667 13.4167C11.6667 12.7724 12.189 12.2501 12.8334 12.2501C12.8485 12.2501 12.8638 12.2501 12.8793 12.2501C13.1125 12.2499 13.3901 12.2497 13.6289 12.2818Z\"\r\n fill=\"var(--color-icon, #4B5565)\"\r\n />\r\n <path\r\n fill-rule=\"evenodd\"\r\n clip-rule=\"evenodd\"\r\n d=\"M12.8333 8.75004C12.8333 8.10571 13.3533 7.58337 13.9947 7.58337H14.0051C14.6466 7.58337 15.1666 8.10571 15.1666 8.75004C15.1666 9.39437 14.6466 9.91671 14.0051 9.91671H13.9947C13.3533 9.91671 12.8333 9.39437 12.8333 8.75004Z\"\r\n fill=\"var(--color-icon, #4B5565)\"\r\n />\r\n </svg>\r\n )}\r\n </div>\r\n <div class={`content ${this.size} ${this.actions ? ' actions' : ''}`}>\r\n <div class={`text ${this.size}`}>\r\n <p class={`text-md-semi-bold main_text_${this.internalColor}`}>{this.mainText}</p>\r\n {this.showSupportingText && <p class={`text-sm-regular supporting_text_${this.internalColor}`}>{this.supportingText}</p>}\r\n </div>\r\n {this.actions && (\r\n <div class={`actions ${this.size} ${!this.showSupportingText ? 'only_actions' : ''}`}>\r\n {this.color === 'default' ? (\r\n <>\r\n <gb-button size=\"sm\" icon=\"default\" state=\"default\" hierarchy=\"link_gray\">\r\n <p>Dismiss</p>\r\n </gb-button>\r\n <gb-button size=\"sm\" icon=\"default\" state=\"default\" hierarchy=\"link_color\">\r\n <p>View changes</p>\r\n </gb-button>\r\n </>\r\n ) : (\r\n <>\r\n <gb-toast-button state={StateEnum.Default} color={this.internalColor}>\r\n <p>Dismiss</p>\r\n </gb-toast-button>\r\n <gb-toast-button state={StateEnum.Default} color={this.internalColor}>\r\n <p>View changes</p>\r\n </gb-toast-button>\r\n </>\r\n )}\r\n </div>\r\n )}\r\n </div>\r\n {this.xCloseButton && (\r\n <gb-button-close\r\n size=\"sm\"\r\n color={this.internalColor === 'default' ? 'gray' : this.internalColor === 'gray' ? 'gray' : this.internalColor}\r\n class={`close_button ${this.size}`}\r\n onClick={() => this.closeToast()}\r\n ></gb-button-close>\r\n )}\r\n </>\r\n )}\r\n {this.size === 'full_width' && (\r\n <div class={`container ${this.breakpoint}`}>\r\n <div class={`full_width_content ${this.breakpoint}`}>\r\n <div class={`inner_content ${this.breakpoint}`}>\r\n <div class={`icon_container`}>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"28\" height=\"28\" viewBox=\"0 0 28 28\" fill=\"none\" class={`svg_icon ${this.internalColor}`}>\r\n <path\r\n opacity=\"0.4\"\r\n d=\"M14.0667 2.04163C16.6225 2.04161 18.63 2.0416 20.1973 2.25232C21.8034 2.46825 23.0777 2.91979 24.079 3.92102C25.0802 4.92226 25.5317 6.19655 25.7477 7.80265C25.9584 9.36996 25.9584 11.3774 25.9584 13.9332V13.9333V14.0667V14.0667C25.9584 16.6225 25.9584 18.63 25.7477 20.1973C25.5317 21.8034 25.0802 23.0777 24.079 24.0789C23.0777 25.0801 21.8034 25.5317 20.1973 25.7476C18.63 25.9583 16.6226 25.9583 14.0668 25.9583H14.0667H13.9333H13.9333C11.3775 25.9583 9.37003 25.9583 7.80271 25.7476C6.19661 25.5317 4.92232 25.0801 3.92109 24.0789C2.91985 23.0777 2.46831 21.8034 2.25238 20.1973C2.04166 18.6299 2.04167 16.6225 2.04169 14.0667V13.9333C2.04167 11.3774 2.04166 9.36997 2.25238 7.80265C2.46831 6.19655 2.91985 4.92226 3.92109 3.92102C4.92232 2.91979 6.19661 2.46825 7.80271 2.25232C9.37003 2.0416 11.3775 2.04161 13.9333 2.04163H14.0667Z\"\r\n fill=\"#4B5565\"\r\n />\r\n <path\r\n fill-rule=\"evenodd\"\r\n clip-rule=\"evenodd\"\r\n d=\"M13.6289 12.2818C13.9171 12.3206 14.3158 12.4243 14.6541 12.7626C14.9924 13.101 15.0962 13.4997 15.1349 13.7879C15.167 14.0266 15.1669 14.3043 15.1667 14.5375C15.1667 14.553 15.1667 14.5683 15.1667 14.5834V19.2501C15.1667 19.8944 14.6444 20.4167 14 20.4167C13.3557 20.4167 12.8334 19.8944 12.8334 19.2501V14.5834C12.189 14.5834 11.6667 14.0611 11.6667 13.4167C11.6667 12.7724 12.189 12.2501 12.8334 12.2501C12.8485 12.2501 12.8638 12.2501 12.8793 12.2501C13.1125 12.2499 13.3901 12.2497 13.6289 12.2818Z\"\r\n fill=\"#4B5565\"\r\n />\r\n <path\r\n fill-rule=\"evenodd\"\r\n clip-rule=\"evenodd\"\r\n d=\"M12.8333 8.75004C12.8333 8.10571 13.3533 7.58337 13.9947 7.58337H14.0051C14.6466 7.58337 15.1666 8.10571 15.1666 8.75004C15.1666 9.39437 14.6466 9.91671 14.0051 9.91671H13.9947C13.3533 9.91671 12.8333 9.39437 12.8333 8.75004Z\"\r\n fill=\"#4B5565\"\r\n />\r\n </svg>\r\n </div>\r\n <div class={`text ${this.size} ${this.breakpoint}`}>\r\n <p class={`text-sm-semi-bold main_text_${this.internalColor}`}>{this.mainText}</p>\r\n {this.showSupportingText && <p class={`text-xs-regular supporting_text_${this.internalColor}`}>{this.supportingText}</p>}\r\n </div>\r\n </div>\r\n {this.actions && (\r\n <div class={`actions ${this.size} ${this.breakpoint} ${!this.showSupportingText ? 'only_actions' : ''}`}>\r\n {this.color === 'default' ? (\r\n <>\r\n <gb-button size=\"sm\" icon=\"default\" state=\"default\" hierarchy=\"link_gray\">\r\n <p>Dismiss</p>\r\n </gb-button>\r\n <gb-button size=\"sm\" icon=\"default\" state=\"default\" hierarchy=\"link_color\">\r\n <p>View changes</p>\r\n </gb-button>\r\n </>\r\n ) : (\r\n <>\r\n <gb-toast-button state={StateEnum.Default} color={this.internalColor}>\r\n <p>Dismiss</p>\r\n </gb-toast-button>\r\n <gb-toast-button state={StateEnum.Default} color={this.internalColor}>\r\n <p>View changes</p>\r\n </gb-toast-button>\r\n </>\r\n )}\r\n </div>\r\n )}\r\n {this.xCloseButton && (\r\n <gb-button-close\r\n size=\"sm\"\r\n color={this.internalColor === 'default' ? 'gray' : this.internalColor === 'gray' ? 'gray' : this.internalColor}\r\n class={`close_button ${this.breakpoint}`}\r\n onClick={() => this.closeToast()}\r\n ></gb-button-close>\r\n )}\r\n </div>\r\n </div>\r\n )}\r\n </div>\r\n );\r\n }\r\n}\r\n","@import './../../global/global.css';\r\n\r\n.toast_button{\r\n width: fit-content;\r\n cursor: pointer;\r\n}\r\n\r\n/* Toast Button Color Styles */\r\n.toast_button.gray{\r\n color: var(--color-text, #4B5565);\r\n}\r\n\r\n.toast_button.information{\r\n color: var(--color-text-information, #064E94);\r\n}\r\n\r\n.toast_button.error{\r\n color: var(--color-text-danger, #B51726);\r\n}\r\n\r\n.toast_button.success{\r\n color: var(--color-text-success, #079455);\r\n}\r\n\r\n.toast_button.warning{\r\n color: var(--color-text-warning, #DC6803);\r\n}\r\n\r\n/* Toast Button State Styles */\r\n.toast_button:hover ::slotted(p){\r\n text-decoration: underline;\r\n}\r\n\r\n.toast_button:active ::slotted(p){\r\n text-decoration: none;\r\n}\r\n\r\n.toast_button.gray:active ::slotted(p){\r\n color: var(--color-text-bold, #202939);\r\n}\r\n\r\n.toast_button.information:active ::slotted(p){\r\n color: var(--color-text-information-bold, #042F59);\r\n}\r\n\r\n.toast_button.error:active ::slotted(p){\r\n color: var(--color-text-danger-bold, #8C121D);\r\n}\r\n\r\n.toast_button.success:active ::slotted(p){\r\n color: var(--color-text-success-bold, #085D3A);\r\n}\r\n.toast_button.warning:active ::slotted(p){\r\n color: var(--color-text-warning-bold, #93370D);\r\n}\r\n\r\n.toast_button.disabled{\r\n cursor: not-allowed;\r\n pointer-events: none;\r\n}\r\n\r\n.toast_button.disabled ::slotted(p){\r\n color: var(--color-text-disabled, #CDD5DF);\r\n}","import { Component, Element, Prop, h } from \"@stencil/core\";\r\nimport { GeneralColors, StateEnum } from \"../../models/reusableModels\";\r\n\r\n@Component({\r\n tag: 'gb-toast-button',\r\n styleUrl: 'gb-toast-button.css',\r\n shadow: true\r\n})\r\n\r\nexport class GbToastButton {\r\n @Prop() state: StateEnum;\r\n @Prop() color: GeneralColors;\r\n @Element() el: HTMLElement;\r\n\r\n componentDidLoad() {\r\n const slottedContent = this.el.querySelector('p');\r\n\r\n slottedContent.classList.add('text-sm-semi-bold');\r\n }\r\n\r\n render() {\r\n return (\r\n <div class={`toast_button ${this.state} ${this.color}`}>\r\n <slot></slot>\r\n </div>\r\n );\r\n }\r\n}",".toggle_div{\r\n display: flex;\r\n justify-content: space-between;\r\n width: fit-content;\r\n}\r\n\r\n.toggle_div.sm{\r\n gap: var(--spacing-2);\r\n}\r\n\r\n.toggle_div.md{\r\n gap: var(--spacing-3);\r\n}\r\n\r\n.text{\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n gap: var(--spacing-2);\r\n}\r\n\r\n.text.div_centered{\r\n padding-bottom: 0.2rem;\r\n}\r\n\r\n::slotted(p){\r\n color: var(--color-text, #4B5565) !important;\r\n}","import { Component, Element, Event, EventEmitter, h, Prop, Fragment } from '@stencil/core';\r\nimport { GeneralSizes, StateEnum } from '../../models/reusableModels';\r\n\r\n@Component({\r\n tag: 'gb-toggle',\r\n styleUrl: 'gb-toggle.css',\r\n shadow: true,\r\n})\r\nexport class GbToggle {\r\n @Prop() size: GeneralSizes;\r\n @Prop() state: StateEnum;\r\n @Prop() text: boolean = false;\r\n @Prop() supportingText: boolean = false;\r\n @Prop() pressed: boolean = false;\r\n @Prop() position: 'left' | 'right' = 'right';\r\n @Element() el: HTMLElement;\r\n @Event() toggleClicked: EventEmitter<boolean>;\r\n\r\n getMainTextClass() {\r\n switch (this.size) {\r\n case 'sm':\r\n return `text-sm-medium`;\r\n case 'md':\r\n return `text-md-medium`;\r\n }\r\n }\r\n\r\n getSupportingTextClass() {\r\n switch (this.size) {\r\n case 'sm':\r\n return 'text-sm-regular';\r\n case 'md':\r\n return 'text-md-regular';\r\n }\r\n }\r\n\r\n onToggle(event) {\r\n this.toggleClicked.emit(event.detail);\r\n }\r\n\r\n componentDidLoad() {\r\n const mainTextSlot = this.el.querySelector('[slot=\"main_text\"]');\r\n const supportingTextSlot = this.el.querySelector('[slot=\"supporting_text\"]');\r\n const mainDiv = this.el.querySelector('.text');\r\n\r\n if (mainTextSlot) {\r\n mainTextSlot.classList.add(this.getMainTextClass());\r\n }\r\n\r\n if (supportingTextSlot) {\r\n supportingTextSlot.classList.add(this.getSupportingTextClass());\r\n }\r\n\r\n if (mainDiv) {\r\n if (!this.supportingText) {\r\n mainDiv.classList.add('div_centered');\r\n }\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n <div class={`toggle_div ${this.size}`}>\r\n {this.position === 'left' && (\r\n <>\r\n {this.text && (\r\n <div class=\"text\">\r\n <slot name=\"main_text\"></slot>\r\n {this.supportingText && <slot name=\"supporting_text\"></slot>}\r\n </div>\r\n )}\r\n </>\r\n )}\r\n <div class=\"toggle_base\">\r\n <gb-toggle-base size={this.size} state={this.state} pressed={this.pressed} onToggleClicked={this.onToggle.bind(this)}></gb-toggle-base>\r\n </div>\r\n {this.position === 'right' && (\r\n <>\r\n {this.text && (\r\n <div class=\"text\">\r\n <slot name=\"main_text\"></slot>\r\n {this.supportingText && <slot name=\"supporting_text\"></slot>}\r\n </div>\r\n )}\r\n </>\r\n )}\r\n </div>\r\n );\r\n }\r\n}\r\n","@import './../../global/global.css';\r\n\r\n/* Basic Styles for the Toggle */\r\ninput[type=\"checkbox\"] {\r\n display: none; /* Hide native checkbox */\r\n}\r\n\r\nlabel {\r\n display: inline-block;\r\n border-radius: var(--rounded-lg);\r\n position: relative;\r\n background-color: var(--color-background-gray-subtle, #E3E8EF);\r\n cursor: pointer;\r\n transition: background-color 0.3s ease;\r\n padding: 0.125rem;\r\n}\r\n\r\nlabel.sm{\r\n width: 2.25rem;\r\n height: 1.25rem;\r\n}\r\n\r\nlabel.md{\r\n width: 2.75rem;\r\n height: 1.5rem;\r\n}\r\n\r\nlabel.pressed.default {\r\n background-color: var(--color-background-selected, #075db2);\r\n}\r\n\r\nlabel.disabled{\r\n background-color: var(--color-background-disabled, #F6F8FA);\r\n}\r\n\r\nlabel.pressed.disabled {\r\n background-color: var(--color-background-gray-subtle, #E3E8EF); /* Light gray background when pressed and in disabled state */\r\n}\r\n\r\n/* Circle inside the toggle */\r\nlabel::before {\r\n content: '';\r\n position: absolute;\r\n background-color: var(--color-icon-inverse, #FFFFFF);\r\n border-radius: 50%;\r\n transition: transform 0.3s ease;\r\n filter: drop-shadow(0px 1px 2px rgba(16, 24, 40, 0.06)) drop-shadow(0px 1px 3px rgba(16, 24, 40, 0.10));\r\n}\r\n\r\nlabel.sm::before{\r\n width: 1rem;\r\n height: 1rem;\r\n top: 0.25rem;\r\n left: 0.25rem;\r\n}\r\n\r\nlabel.md::before{\r\n width: 1.25rem;\r\n height: 1.25rem;\r\n top: 0.24rem;\r\n left: 0.25rem;\r\n}\r\n\r\nlabel.sm.pressed::before {\r\n transform: translateX(16px); /* Move the white circle to the right when pressed */\r\n}\r\n\r\nlabel.md.pressed::before {\r\n transform: translateX(20px); /* Move the white circle to the right when pressed */\r\n}\r\n\r\nlabel.disabled::before {\r\n background-color: var(--color-icon-disabled, #CDD5DF); /* Change circle background when disabled */\r\n}\r\n\r\nlabel.pressed.disabled::before {\r\n background-color: var(--color-background-gray-bold, #9AA4B2); /* Change circle background when disabled */\r\n}\r\n\r\n/* Checkmark SVG Styles */\r\n.default_checked_svg,\r\n.disabled_checked_svg {\r\n position: absolute;\r\n transform: translate(-50%, -50%);\r\n width: 12px;\r\n height: 12px;\r\n display: none; /* Hidden by default */\r\n}\r\n\r\n.pressed .default_checked_svg {\r\n display: block; /* Show checkmark when pressed and default */\r\n}\r\n\r\n.pressed .disabled_checked_svg {\r\n display: block; /* Show checkmark when pressed and disabled */\r\n}\r\n\r\n.default_checked_svg.sm,\r\n.disabled_checked_svg.sm{\r\n top: 0.75rem;\r\n right: 0;\r\n}\r\n\r\n.default_checked_svg.md,\r\n.disabled_checked_svg.md{\r\n top: 0.85rem;\r\n right: 0.1rem;\r\n}\r\n\r\n\r\n","import { Component, Event, EventEmitter, h, Prop } from \"@stencil/core\";\r\nimport { GeneralSizes, StateEnum } from \"../../models/reusableModels\";\r\n\r\n@Component({\r\n tag: 'gb-toggle-base',\r\n styleUrl: 'gb-toggle-base.css',\r\n shadow: true,\r\n})\r\nexport class GbToggleBase {\r\n @Prop() size: GeneralSizes;\r\n @Prop() state: StateEnum;\r\n @Prop({ mutable: true }) pressed: boolean = false;\r\n @Event() toggleClicked: EventEmitter<boolean>;\r\n\r\n private handleToggleClick() {\r\n if (this.state === 'default') {\r\n this.pressed = !this.pressed;\r\n this.toggleClicked.emit(this.pressed);\r\n }\r\n }\r\n\r\n render() {\r\n return [\r\n <input type=\"checkbox\" id=\"customCheckbox\" class={`${this.pressed ? 'pressed' : ''}`} readonly />,\r\n <label\r\n onClick={() => this.handleToggleClick()}\r\n class={`${this.size} ${this.state} ${this.pressed ? 'pressed' : ''}`}\r\n htmlFor=\"customCheckbox\"\r\n >\r\n {this.pressed && this.state === 'default' ? (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"none\" class={`default_checked_svg ${this.size}`}>\r\n <path\r\n d=\"M2.08325 6.04167C2.08325 6.04167 2.70825 6.04167 3.54159 7.5C3.54159 7.5 5.85776 3.68056 7.91659 2.91667\"\r\n stroke=\"#075DB2\"\r\n stroke-width=\"1.5\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n ) : this.pressed && this.state === 'disabled' ? (\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"none\" class={`disabled_checked_svg ${this.size}`}>\r\n <path\r\n d=\"M2.08325 6.04167C2.08325 6.04167 2.70825 6.04167 3.54159 7.5C3.54159 7.5 5.85776 3.68056 7.91659 2.91667\"\r\n stroke=\"#E3E8EF\"\r\n stroke-width=\"1.5\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n ) : null}\r\n </label>,\r\n ];\r\n }\r\n}","@import './../../global/global.css';\r\n\r\n:host{\r\n display: block;\r\n}\r\n\r\n.tooltip_container {\r\n position: relative;\r\n}\r\n \r\n.tooltip {\r\n position: absolute;\r\n background-color: var(--color-surface-bold, #FCFCFC);\r\n border: 0.5px solid var(--color-border-subtler, #E3E8EF);\r\n border-radius: var(--rounded-sm);\r\n box-shadow: var(--shadow-sm);\r\n padding: var(--spacing-3);\r\n z-index: 100;\r\n}\r\n\r\n.tooltip_content{\r\n display: flex;\r\n flex-direction: column;\r\n gap: var(--spacing-3);\r\n \r\n}\r\n \r\n.arrow {\r\n width: 0;\r\n height: 0;\r\n border-style: solid;\r\n position: absolute;\r\n}\r\n\r\n.arrow::before {\r\n content: '';\r\n position: absolute;\r\n width: 0;\r\n height: 0;\r\n border-style: solid;\r\n}\r\n \r\n.arrow.bottom_center {\r\n top: 100%;\r\n left: 50%;\r\n border-width: 7.5px 7.5px 0 7.5px;\r\n border-color: var(--color-border-subtler, #E3E8EF) transparent transparent transparent;\r\n transform: translateX(-50%);\r\n}\r\n\r\n.arrow.bottom_center::before {\r\n left: -0.39rem;\r\n bottom: 0.1rem;\r\n border-width: 0 9.6px 9.6px 9.6px;\r\n transform: translateY(-50%) rotate(135deg);\r\n border-color: transparent var(--color-surface-bold, #FCFCFC) transparent transparent;\r\n}\r\n \r\n.arrow.left {\r\n top: 50%;\r\n right: 100%;\r\n border-width: 6px 0 6px 6px;\r\n border-color: transparent transparent transparent var(--color-border-subtler, #E3E8EF);\r\n transform: translateY(-50%) rotate(180deg);\r\n}\r\n\r\n.arrow.left::before {\r\n left: -8px;\r\n top: 50%;\r\n transform: translateY(-50%);\r\n border-width: 7.5px 0 7.5px 7.5px;\r\n border-color: transparent transparent transparent var(--color-surface-bold, #FCFCFC);\r\n}\r\n\r\n.arrow.bottom_left {\r\n top: 100%;\r\n left: 20%;\r\n border-width: 7.5px 7.5px 0 7.5px;\r\n border-color: var(--color-border-subtler, #E3E8EF) transparent transparent transparent;\r\n transform: translateX(-50%);\r\n}\r\n\r\n.arrow.bottom_left::before {\r\n left: -0.39rem;\r\n bottom: 0.1rem;\r\n border-width: 0 9.6px 9.6px 9.6px;\r\n transform: translateY(-50%) rotate(135deg);\r\n border-color: transparent var(--color-surface-bold, #FCFCFC) transparent transparent;\r\n}\r\n \r\n.arrow.right {\r\n top: 50%;\r\n left: 100%;\r\n border-width: 7px 7px 7px 0;\r\n border-color: transparent var(--color-border-subtler, #E3E8EF) transparent transparent;\r\n transform: translateY(-50%) rotate(-180deg);\r\n}\r\n\r\n.arrow.right::before {\r\n left: 0.5px;\r\n top: 50%;\r\n border-width: 6.5px 6.5px 6.5px 0;\r\n transform: translateY(-50%) rotate(0deg);\r\n border-color: transparent var(--color-surface-bold, #FCFCFC) transparent transparent;\r\n}\r\n\r\n.arrow.bottom_right {\r\n top: 100%;\r\n right: 5%;\r\n border-width: 7.5px 7.5px 0 7.5px;\r\n border-color: var(--color-border-subtler, #E3E8EF) transparent transparent transparent;\r\n transform: translateX(-50%);\r\n}\r\n\r\n.arrow.bottom_right::before {\r\n left: -0.39rem;\r\n bottom: 0.1rem;\r\n border-width: 0 9.6px 9.6px 9.6px;\r\n transform: translateY(-50%) rotate(135deg);\r\n border-color: transparent var(--color-surface-bold, #FCFCFC) transparent transparent;\r\n}\r\n \r\n.arrow.top_center {\r\n bottom: 100%;\r\n right: 45%;\r\n border-width: 0 7.5px 7.5px 7.5px;\r\n border-color: transparent transparent var(--color-border-subtler, #E3E8EF) transparent;\r\n}\r\n\r\n.arrow.top_center::before {\r\n left: -12.8px;\r\n bottom: -20.25px;\r\n border-width: 0 9.5px 9.5px 9.5px;\r\n transform: translateY(-50%) rotate(-45deg);\r\n border-color: transparent var(--color-surface-bold, #FCFCFC) transparent transparent;\r\n}\r\n\r\n::slotted([slot=\"label\"]){\r\n color: var(--color-text, #4B5565) !important;\r\n}\r\n\r\n::slotted([slot=\"label\"].nowrap){\r\n white-space: nowrap;\r\n}\r\n\r\n::slotted([slot=\"label\"].wrap_label){\r\n white-space: wrap;\r\n max-width: 10rem;\r\n}\r\n\r\n::slotted([slot=\"supporting_text\"]){\r\n white-space: wrap;\r\n color: var(--color-text-subtle, #697586) !important;\r\n margin-top: 5rem;\r\n min-width: fit-content;\r\n max-width: 18.5rem;\r\n}","import { Component, Element, Prop, h } from '@stencil/core';\r\nimport { ArrowPositions } from '../../models/reusableModels';\r\n\r\n@Component({\r\n tag: 'gb-tooltip',\r\n styleUrl: 'gb-tooltip.css',\r\n shadow: true,\r\n})\r\nexport class GbTooltip {\r\n @Prop() showArrow: boolean = false;\r\n @Prop() arrow: ArrowPositions = 'bottom_center';\r\n @Prop() showSupportingText: boolean = false;\r\n @Prop() noWrap: boolean = true;\r\n @Element() el: HTMLElement;\r\n\r\n componentDidLoad() {\r\n const mainTextSlot = this.el.querySelector('[slot=\"label\"]');\r\n const supportingTextSlot = this.el.querySelector('[slot=\"supporting_text\"]');\r\n\r\n if (mainTextSlot) {\r\n mainTextSlot.classList.add('text-xs-semi-bold');\r\n }\r\n\r\n if (mainTextSlot && this.noWrap) {\r\n mainTextSlot.classList.add('nowrap');\r\n }\r\n\r\n if (mainTextSlot && !this.showSupportingText && !this.noWrap) {\r\n mainTextSlot.classList.add('wrap_label');\r\n }\r\n\r\n if (supportingTextSlot) {\r\n supportingTextSlot.classList.add('text-xs-regular');\r\n }\r\n }\r\n\r\n getArrowClass() {\r\n return this.showArrow ? `arrow ${this.arrow}` : '';\r\n }\r\n\r\n render() {\r\n return (\r\n <div class=\"tooltip_container\">\r\n <div class=\"tooltip\">\r\n {this.showArrow && <div class={this.getArrowClass()}></div>}\r\n <div class=\"tooltip_content\">\r\n <slot name=\"label\" />\r\n {this.showSupportingText && <slot name=\"supporting_text\" />}\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n }\r\n}\r\n",".vertical_tab_div{\r\n display: flex;\r\n flex-direction: column;\r\n gap: var(--spacing-1);\r\n width: 100%;\r\n}","import { Component, Event, EventEmitter, Prop, State, Watch, h } from '@stencil/core';\r\nimport { GeneralSizes, TabTypes } from '../../models/reusableModels';\r\n\r\n@Component({\r\n tag: 'gb-vertical-tabs',\r\n styleUrl: 'gb-vertical-tabs.css',\r\n shadow: true,\r\n})\r\nexport class GbVerticalTabs {\r\n @Prop() size: GeneralSizes;\r\n @Prop() type: TabTypes;\r\n @Prop({ mutable: true }) activeIndex: number = 0;\r\n @Prop() tabs: { name: string; index: number }[] = [\r\n // {\r\n // name: 'Hiiii',\r\n // index: 0,\r\n // },\r\n // {\r\n // name: 'There',\r\n // index: 1,\r\n // },\r\n ];\r\n @State() internalTabs: { name: string; index: number }[] = [...this.tabs];\r\n @Event() tabItemClicked: EventEmitter<{ index: number; label: string }>;\r\n\r\n @Watch('tabs')\r\n onTabsChanged(newTabs: { name: string; index: number }[]) {\r\n this.internalTabs = newTabs;\r\n }\r\n\r\n componentWillLoad() {\r\n this.internalTabs = this.tabs;\r\n }\r\n\r\n async handleTabClick(index: number, label: string) {\r\n this.activeIndex = index;\r\n this.tabItemClicked.emit({ index, label });\r\n }\r\n\r\n render() {\r\n return (\r\n <div class={`vertical_tab_div`}>\r\n {this.internalTabs.map((tab, index) => (\r\n <gb-tab-button-base\r\n size={this.size}\r\n type={this.type === 'button_gray_border' ? 'button_white' : this.type}\r\n tab-name={tab.name}\r\n current={this.activeIndex === index}\r\n onClick={() => this.handleTabClick(index, tab.name)}\r\n alignment=\"vertical\"\r\n ></gb-tab-button-base>\r\n ))}\r\n </div>\r\n );\r\n }\r\n}\r\n"],"mappings":"oHAAA,MAAMA,EAAmB,yxsE,MCQZC,EAAa,MAL1B,WAAAC,CAAAC,G,2dAOUC,KAAeC,gBAAY,MAC3BD,KAAgBE,iBAAY,MAC5BF,KAAYG,aAAY,MACxBH,KAAWI,YAAY,MACvBJ,KAAsBK,uBAAW,GACjCL,KAAuBM,wBAAW,GAClCN,KAAYO,aAAY,MACxBP,KAAuBQ,wBAAW,GAClCR,KAAwBS,yBAAW,GACnCT,KAAWU,YAAY,MACvBV,KAAsBW,uBAAW,GACjCX,KAAuBY,wBAAW,GAClCZ,KAAgBa,iBAAY,MAC5Bb,KAA2Bc,4BAAW,GACtCd,KAA4Be,6BAAW,GAEvCf,KAAegB,gBAAW,GAC1BhB,KAAgBiB,iBAAW,GAC3BjB,KAAekB,gBAAW,GAM1BlB,KAAemB,gBAAY,MAC3BnB,KAAgBoB,iBAAW,GAC3BpB,KAAUqB,WAAY,MACtBrB,KAAOsB,QAAY,MACnBtB,KAAMuB,OAAW,GACjBvB,KAAGwB,IAAW,GACbxB,KAAOyB,QAAQ,KAiPzB,CAjOC,gBAAAC,GACE,MAAMC,EAAe3B,KAAK4B,GAAGC,cAAc,0BAC3C,MAAMC,EAAQ9B,KAAK4B,GAAGC,cAAc,kBAEpC,GAAIF,EAAc,CAChBA,EAAaI,UAAUC,IAAI,iB,CAG7B,GAAIF,EAAO,CACTA,EAAMC,UAAUC,IAAI,iB,EAKxB,iBAAAC,CAAkBC,GAChBlC,KAAKmC,wBAA0BD,C,CAGjC,mBAAAE,GACEpC,KAAKmC,wBAA0BnC,KAAKqC,e,CAGtC,iBAAAC,CAAkBC,GAChBvC,KAAKyB,QAAUc,EAAMC,OACrBxC,KAAKyC,gBAAgBC,KAAK1C,KAAKyB,Q,CAGjC,oBAAAkB,GACE,GAAI3C,KAAK4C,mBAAqB,UAAW,CACvC,GAAI5C,KAAKG,aAAc,CACrBH,KAAK6C,mBAAmBH,KAAK1C,KAAKyB,Q,KAC7B,CACLzB,KAAK6C,mBAAmBH,M,MAErB,CACL,M,EAIJ,qBAAAI,GACE,GAAI9C,KAAK+C,oBAAsB,UAAW,CACxC,GAAI/C,KAAKG,aAAc,CACrBH,KAAKgD,oBAAoBN,KAAK1C,KAAKyB,Q,KAC9B,CACLzB,KAAKgD,oBAAoBN,M,GAK/B,oBAAAO,GACE,GAAIjD,KAAKkD,mBAAqB,UAAW,CACvC,GAAIlD,KAAKG,aAAc,CACrBH,KAAKmD,mBAAmBT,KAAK1C,KAAKyB,Q,KAC7B,CACLzB,KAAKmD,mBAAmBT,M,GAK9B,uBAAAU,GACEpD,KAAKqD,sBAAsBX,M,CAG7B,aAAAY,GACEtD,KAAKuD,YAAYb,KAAK1C,KAAKwD,Y,CAG7B,eAAAC,GACEzD,KAAK0D,oBAAoBhB,KAAK1C,KAAK2D,a,CAGrC,mBAAAC,GACE5D,KAAK6D,kBAAkBnB,M,CAGzB,oBAAAoB,GACE9D,KAAK+D,mBAAmBrB,M,CAG1B,MAAAsB,GACE,OACEC,EAAA,OAAAC,IAAA,2CAAKC,MAAM,oBACRnE,KAAKoE,OAAS,kBACbH,EAAA,OAAAC,IAAA,2CAAKC,MAAM,iBACTF,EAAK,OAAAC,IAAA,2CAAAC,MAAM,eACTF,EAAK,OAAAC,IAAA,2CAAAC,MAAM,yBACRnE,KAAKC,iBAAmBgE,EAAA,mBAAAC,IAAA,2CAAiBG,KAAK,KAAKC,MAAM,UAAUC,QAAS,IAAMvE,KAAK8D,yBACvF9D,KAAKE,kBAAoB+D,EAAA,QAAAC,IAAA,2CAAMM,KAAK,mBAEtCxE,KAAKG,cACJ8D,EAAA,eAAAC,IAAA,2CAAaG,KAAK,KAAKI,MAAOC,EAAUC,QAASP,KAAK,WAAWQ,KAAM,KAAI,kBAAmB,MAAOtC,kBAAmBtC,KAAKsC,kBAAkBuC,KAAK7E,OAClJiE,EAAM,QAAAC,IAAA,2CAAAM,KAAK,QAAQM,KAAK,WAG3B9E,KAAKqB,YACJ4C,EAAK,OAAAC,IAAA,2CAAAC,MAAM,UACTF,EAAG,KAAAC,IAAA,2CAAAC,MAAM,iCAAiD,iBAC1DF,EAAG,KAAAC,IAAA,2CAAAC,MAAM,iCAAiCnE,KAAKuB,SAGlDvB,KAAKsB,SACJ2C,EAAK,OAAAC,IAAA,2CAAAC,MAAM,UACTF,EAAG,KAAAC,IAAA,2CAAAC,MAAM,iCAA8C,cACvDF,EAAG,KAAAC,IAAA,2CAAAC,MAAM,iCAAiCnE,KAAKwB,OAIrDyC,EAAA,OAAAC,IAAA,2CAAKC,MAAO,gBAAgBnE,KAAKI,aAAeJ,KAAKO,cAAgBP,KAAKU,aAAe,mBACtFV,KAAKI,aACJ6D,EAAK,OAAAC,IAAA,2CAAAC,MAAM,eACTF,EACE,aAAAC,IAAA,2CAAAG,KAAK,KACLI,MAAOzE,KAAK4C,iBACZmC,UAAU,UACVC,KAAK,UACS,eAAAhF,KAAKK,uBAAyB,KAAO,MAAK,gBACzCL,KAAKM,wBAA0B,KAAO,MAAK,oBACvCN,KAAKK,uBAAsB,qBAC1BL,KAAKM,wBACzBiE,QAAS,IAAMvE,KAAK2C,wBAEpBsB,EAAA,KAAAC,IAAA,4CAAIlE,KAAKgB,mBAIdhB,KAAKO,cACJ0D,EAAK,OAAAC,IAAA,2CAAAC,MAAM,eACTF,EACE,aAAAC,IAAA,2CAAAG,KAAK,KACLI,MAAOzE,KAAK+C,kBACZgC,UAAU,kBACVC,KAAK,UACS,eAAAhF,KAAKQ,wBAA0B,KAAO,MAAK,gBAC1CR,KAAKS,yBAA2B,KAAO,MAAK,oBACxCT,KAAKQ,wBAAuB,qBAC3BR,KAAKS,yBACzB8D,QAAS,IAAMvE,KAAK8C,yBAEpBmB,EAAA,KAAAC,IAAA,4CAAIlE,KAAKiB,oBAIdjB,KAAKU,aACJuD,EAAK,OAAAC,IAAA,2CAAAC,MAAM,eACTF,EACE,aAAAC,IAAA,2CAAAG,KAAK,KACLI,MAAOzE,KAAKkD,iBACZ6B,UAAU,iBACVC,KAAK,UACS,eAAAhF,KAAKW,uBAAyB,KAAO,MAAK,gBACzCX,KAAKY,wBAA0B,KAAO,MAAK,oBACvCZ,KAAKW,uBAAsB,qBAC1BX,KAAKY,wBACzB2D,QAAS,IAAMvE,KAAKiD,wBAEpBgB,EAAI,KAAAC,IAAA,4CAAAlE,KAAKkB,qBAOpBlB,KAAKoE,OAAS,gBACbH,EAAA,OAAAC,IAAA,2CAAKC,MAAM,iBACTF,EAAA,OAAAC,IAAA,2CAAKC,MAAO,WAAWnE,KAAKmB,gBAAkB,cAAgB,MAC5D8C,EAAK,OAAAC,IAAA,2CAAAC,MAAM,eACTF,EAAA,aAAAC,IAAA,2CACEG,KAAK,KACLI,MAAOzE,KAAKiF,oBACZF,UAAU,iBACVC,KAAK,UACS,oBACI,+CAClBT,QAAS,IAAMvE,KAAKoD,2BAEpBa,EAAA,KAAAC,IAAA,0DAGJD,EAAK,OAAAC,IAAA,2CAAAC,MAAM,SACRnE,KAAKmB,iBACJ8C,EAAK,OAAAC,IAAA,2CAAAC,MAAM,eACTF,EAAA,aAAAC,IAAA,2CAAWG,KAAK,KAAKU,UAAU,kBAAkBC,KAAK,UAAUE,IAAKtD,GAAO5B,KAAKwD,YAAc5B,EAAK2C,QAAS,IAAMvE,KAAKsD,iBACtHW,EAAoB,KAAAC,IAAA,+DAIzBlE,KAAKa,iBACJoD,EAAA,OAAKE,MAAM,eACTF,EAAA,aACEI,KAAK,KACLI,MAAOzE,KAAKmF,kBACZJ,UAAU,UACVC,KAAK,UACS,eAAAhF,KAAKc,4BAA8B,KAAO,MACrC,oBAAAd,KAAKc,4BAA2B,gBACpCd,KAAKe,6BAA+B,KAAO,MACtC,qBAAAf,KAAKe,6BACzBmE,IAAKtD,GAAO5B,KAAK2D,aAAe/B,EAChC2C,QAAS,IAAMvE,KAAKyD,mBAEpBQ,EAAA,SAAIjE,KAAKoB,oBAIb6C,EAAK,OAAAE,MAAM,eACTF,EAAA,aACEI,KAAK,KACLI,MAAOzE,KAAKmC,wBACZ4C,UAAU,UACVC,KAAK,UACU,qBACI,iDACnBT,QAAS,IAAMvE,KAAK4D,uBAEpBK,EAAW,sB,+FC9QjC,MAAMmB,EAAqB,2iqE,MCQdC,EAAe,MAL5B,WAAAvF,CAAAC,G,UAMUC,KAAYsF,aAAY,KAKxBtF,KAAegB,gBAAW,GAC1BhB,KAAgBiB,iBAAW,GAC3BjB,KAAekB,gBAAW,GAC1BlB,KAAmBuF,oBAAW,GAC9BvF,KAAoBwF,qBAAW,GAC/BxF,KAA0ByF,2BAAW,GACrCzF,KAA2B0F,4BAAW,GACtC1F,KAA0B2F,2BAAW,GACrC3F,KAA2B4F,4BAAW,GACtC5F,KAA4B6F,6BAAW,GACvC7F,KAA2B8F,4BAAW,EAsC/C,CApCC,MAAA9B,GACE,OACEC,EAAA,OAAAC,IAAA,2CAAKC,MAAM,6BACTF,EAAA,mBAAAC,IAAA,mEAAuC,QAAQU,KAAK,UAMpDX,EAAK,OAAAC,IAAA,2CAAAC,MAAM,iBACRnE,KAAKsF,cACJrB,EAAK,OAAAC,IAAA,2CAAAC,MAAM,aACTF,EAAG,KAAAC,IAAA,2CAAAC,MAAM,2BAAiD,uBAC1DF,EAAU,YAAAC,IAAA,2CAAAG,KAAK,KAAKD,KAAMpE,KAAK+F,UAAWf,KAAMhF,KAAKgG,UAAW1B,MAAOtE,KAAKiG,YAC1EhC,EAAA,KAAAC,IAAA,4CAAIlE,KAAKkG,cAKfjC,EAAK,OAAAC,IAAA,2CAAAC,MAAM,kBACTF,EACE,2BAAAC,IAAA,2CAAAiC,UAAU,UACV1B,MAAM,UACNL,KAAK,UACO,kBACZtC,MAAM,SACU,uBAChBsE,YAAa,MACI,6CAIvBnC,EAAA,mBAAAC,IAAA,yDAA6B,SAAQ,oBAAoBlE,KAAKgB,gBAAe,qBAAsBhB,KAAKiB,mB,aC1DhH,MAAMoF,EAAc,w10E,MCQPC,EAAQ,MALrB,WAAAxG,CAAAC,G,UAOUC,KAAWuG,YAAY,MACvBvG,KAAI4E,KAAY,KAChB5E,KAAUwG,WAAW,GACrBxG,KAAAyE,MAA+BgC,EAAsBC,OACrD1G,KAAIgF,KAAW,OAEfhF,KAAU2G,WAAY,MAEtB3G,KAAA4G,OAAwBC,EAAcC,MAGtC9G,KAAA+G,aAAe,CACrB,OACA,OACA,OACA,QACA,SACA,OACA,SAyHH,CAtHC,eAAAC,GACE,OAAQhH,KAAKqE,MACX,IAAK,MACH,MAAO,uBACT,IAAK,KACH,MAAO,oBACT,IAAK,KACH,MAAO,oBACT,IAAK,KACH,MAAO,oBACT,IAAK,KACH,MAAO,oBACT,IAAK,KACH,MAAO,oBACT,IAAK,MACH,MAAO,qB,CAIb,SAAA4C,GACE,GAAIjH,KAAK2G,WAAY,CACnB,OAAQ3G,KAAKqE,MACX,IAAK,MACH,OAAOwC,EAAcK,QACvB,IAAK,KACH,OAAOL,EAAcK,QACvB,IAAK,KACH,OAAOL,EAAcK,QACvB,IAAK,KACH,OAAOL,EAAcK,QACvB,IAAK,KACH,OAAOL,EAAcC,MACvB,IAAK,KACH,OAAOD,EAAcC,MACvB,IAAK,MACH,OAAOD,EAAcM,U,EAK7B,oBAAAC,GACE,OAAQpH,KAAKsE,OACX,IAAK,OACH,MAAO,OACT,IAAK,OACH,MAAO,OACT,IAAK,OACH,MAAO,OACT,IAAK,OACH,MAAO,OACT,IAAK,SACH,MAAO,SACT,IAAK,QACH,MAAO,QACT,IAAK,SACH,MAAO,S,CAIL,mBAAA+C,GACN,MAAMC,EAAcC,KAAKC,MAAMD,KAAKE,SAAWzH,KAAK+G,aAAaW,QACjE,OAAO1H,KAAK+G,aAAaO,E,CAG3B,gBAAA5F,GACE,MAAMiG,EAAkB3H,KAAK4B,GAAGC,cAAc,MAE9C,GAAI8F,EAAiB,CACnBA,EAAgB5F,UAAUC,IAAIhC,KAAKgH,mBACnCW,EAAgB5F,UAAUC,IAAIhC,KAAK4H,mB,EAIvC,iBAAAC,GACE,IAAK7H,KAAKsE,MAAO,CACftE,KAAK4H,mBAAqB5H,KAAKqH,qB,KAC1B,CACLrH,KAAK4H,mBAAqB5H,KAAKsE,MAAMwD,a,EAIzC,MAAA9D,GACE,MAAM+D,EAAU,GAAG/H,KAAK4H,qBAExB,MAAO,CACL3D,EAAK,OAAAC,IAAA,2CAAAC,MAAM,UACTF,EAAA,mCAAAC,IAAA,yDAA8ClE,KAAK2G,WAAYtC,KAAMrE,KAAKqE,KAAMuC,OAAQ5G,KAAK4G,QAC3F3C,EAAA,OAAAC,IAAA,2CAAKC,MAAO,iBAAiBnE,KAAKqE,QAC/BrE,KAAK4E,KAEJX,EAAA,OAAKE,MAAO,YAAY4D,KACtB9D,EAAA,QAAMO,KAAK,cAGbP,EAAM,QAAAO,KAAK,UAEZxE,KAAKuG,aACJtC,EAAA,OAAAC,IAAA,2CAAKC,MAAO,eAAe4D,KACxB/H,KAAKgF,OAAS,QACbf,EAAA,OAAAC,IAAA,2CAAK8D,MAAM,6BAA6BC,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOjE,MAAO,eAAenE,KAAKqE,QAAQ0D,KAChI9D,EAAA,QAAAC,IAAA,2CACEmE,EAAE,uiBACFD,KAAK,YAEPnE,EAAA,QAAAC,IAAA,2CACEmE,EAAE,uNACFD,KAAK,gBAQnBnE,EAAqB,uBAAAC,IAAA,2CAAAC,MAAO,aAAanE,KAAKqE,OAAM,cAAerE,KAAKwG,WAAYnC,KAAMrE,KAAKqE,KAAMI,MAAOzE,KAAKyE,S,qCCjJzH,MAAM6D,EAAiC,s4pE,MCS1BC,EAA2B,MANxC,WAAAzI,CAAAC,G,UASYC,KAAU2G,WAAY,KAoCjC,CAlCG,SAAAM,GACI,GAAGjH,KAAK2G,WAAW,CACjB,OAAQ3G,KAAKqE,MACb,IAAK,MACH,OAAOwC,EAAcK,QACvB,IAAK,KACH,OAAOL,EAAcK,QACvB,IAAK,KACH,OAAOL,EAAcK,QACvB,IAAK,KACH,OAAOL,EAAcK,QACvB,IAAK,KACH,OAAOL,EAAcC,MACvB,IAAK,KACH,OAAOD,EAAcC,MACvB,IAAK,MACH,OAAOD,EAAcM,UACvB,IAAK,aACH,OAAON,EAAc2B,MACvB,IAAK,aACH,OAAO3B,EAAc2B,MACvB,IAAK,aACH,OAAO3B,EAAcK,Q,EAK7B,MAAAlD,GACI,OACEC,EAAK,OAAAC,IAAA,2CAAAC,MAAO,gBAAgBnE,KAAKqE,QAAQrE,KAAK4G,WAAW5G,KAAK2G,WAAa,YAAc,MACvF1C,EAAa,QAAAC,IAAA,6C,aC5CzB,MAAMuE,EAAsB,o4sE,MCOfC,EAAgB,MAL7B,WAAA5I,CAAAC,G,gGAMUC,KAAIoE,KAAyB,SAC7BpE,KAAI4E,KAAY,MAIhB5E,KAAS2I,UAAY,MACrB3I,KAAA4I,MAAyB,GAkBzB5I,KAAA6I,aAAoC,GAKpC7I,KAAA8I,aAAoC,GAMpC9I,KAAU2G,WAAY,KA6K/B,CAvKC,oBAAAS,GACE,OAAQpH,KAAKsE,OACX,IAAK,OACH,MAAO,OACT,IAAK,OACH,MAAO,OACT,IAAK,OACH,MAAO,OACT,IAAK,OACH,MAAO,OACT,IAAK,SACH,MAAO,SACT,IAAK,QACH,MAAO,QACT,IAAK,SACH,MAAO,S,CAIb,aAAAyE,CAAcC,GACZhJ,KAAKiJ,YAAYvG,KAAKsG,E,CAGxB,SAAAE,CAAUC,GACRnJ,KAAKoJ,gBAAgB1G,KAAKyG,E,CAG5B,gBAAAzH,GACE,MAAMiG,EAAkB3H,KAAK4B,GAAGC,cAAc,qBAC9C,MAAMwH,EAAerJ,KAAK4B,GAAGC,cAAc,gBAC3C,MAAMyH,EAAqBtJ,KAAK4B,GAAGC,cAAc,2BAEjD,GAAI8F,EAAiB,CACnBA,EAAgB5F,UAAUC,IAAI,qBAC9B2F,EAAgB5F,UAAUC,IAAIhC,KAAKoH,wBAA0B,O,CAG/D,GAAIiC,EAAc,CAChBA,EAAatH,UAAUC,IAAI,oB,CAG7B,GAAIsH,EAAoB,CACtBA,EAAmBvH,UAAUC,IAAI,kB,EAIrC,MAAAgC,GACE,GAAIhE,KAAKoE,OAAS,SAAU,CAC1B,OACEH,EAAA,OAAKE,MAAM,mBACTF,EAAK,OAAAE,MAAM,WACTF,EAAA,yBAAuBI,KAAK,KAAKO,KAAM,KAAMN,MAAOtE,KAAKsE,MAAoB,cAAAtE,KAAK2G,YAChF1C,EAAA,QAAMO,KAAK,OAAOM,KAAK,SACvBb,EAAA,QAAMO,KAAK,WAAWM,KAAK,aAC3Bb,EAAM,QAAAO,KAAK,kBAAkBM,KAAK,sBAGtCb,EAAK,OAAAE,MAAM,cACTF,EAAK,OAAAE,MAAM,QACRnE,KAAKuJ,cACJtF,EAAK,OAAAE,MAAM,aACTF,EAAA,qCAAkCjE,KAAKwJ,aAAcC,kBAAmBzJ,KAAKkJ,UAAUrE,KAAK7E,SAG/FA,KAAK0J,aACJzF,EAAA,mCACEe,KAAI,KACJ2E,QAAQ,0BACR7H,MAAM,eACN8H,SACA,KAAAC,aAAa,QACbtF,QAAS,IAAMvE,KAAK+I,cAAc,kBAGrC/I,KAAK8J,YACJ7F,EAAA,mCACEe,KACA,KAAA2E,QAAQ,2BACR7H,MAAM,UACN8H,SAAQ,KACRC,aAAa,IACbtF,QAAS,IAAMvE,KAAK+I,cAAc,e,CAShD,GAAI/I,KAAKoE,OAAS,UAAW,CAC3B,OACEH,EAAA,OAAKE,MAAM,oBACTF,EAAK,OAAAE,MAAM,WACTF,EAAA,yBAAuBI,KAAK,KAAKF,MAAM,cAAcS,KAAM,KAAMN,MAAOtE,KAAKsE,OAC3EL,EAAA,QAAMO,KAAK,OAAOM,KAAK,SACvBb,EAAA,QAAMO,KAAK,WAAWM,KAAK,aAC3Bb,EAAM,QAAAO,KAAK,kBAAkBM,KAAK,sBAGrC9E,KAAKuJ,cACJtF,EAAK,OAAAE,MAAM,aACTF,EAAA,qCAAkCjE,KAAKwJ,aAAcC,kBAAmBzJ,KAAKkJ,UAAUrE,KAAK7E,SAG/FA,KAAK2I,WACJ1E,EAAK,OAAAE,MAAM,SACTF,EAAG,KAAAE,MAAM,kBAAoC,mBAC7CF,EAAA,OAAKE,MAAM,UACRnE,KAAK4I,MAAMmB,KAAIC,GACd/F,EAAU,YAAAI,KAAK,KAAKC,MAAO0F,EAAK/D,WAAY7B,KAAM4F,EAAKjE,WACrD9B,EAAI,SAAA+F,EAAK9D,iBAMlBlG,KAAK6I,aAAanB,OAAS,GAC1BzD,EAAA,OAAKE,MAAM,kBACRnE,KAAK6I,aAAakB,KAAIf,GACrB/E,EAAA,OAAKE,MAAM,QACTF,EACE,mCAAAe,KAAI,KACJ2E,QAASX,EAAKhE,KACdlD,MAAOkH,EAAKlH,MACZ8H,SAAQ,KACRC,aAAcb,EAAKY,SACnBrF,QAAS,IAAMvE,KAAK+I,cAAcC,EAAKlH,MAAMmI,QAAQ,OAAQ,KAAKnC,qBAM3E9H,KAAK8I,aAAapB,OAAS,GAC1BzD,EAAA,OAAKE,MAAM,kBACRnE,KAAK8I,aAAaiB,KAAIf,GACrB/E,EAAA,OAAKE,MAAM,QACTF,EACE,mCAAAe,KAAI,KACJ2E,QAASX,EAAKhE,KACdlD,MAAOkH,EAAKlH,MACZ8H,SAAQ,KACRC,aAAcb,EAAKY,SACnBrF,QAAS,IAAMvE,KAAK+I,cAAcC,EAAKlH,MAAMmI,QAAQ,OAAQ,KAAKnC,qBAM3E9H,KAAK8J,YACJ7F,EAAK,OAAAE,MAAM,oBACTF,EAAK,OAAAE,MAAM,QACTF,EAAA,mCACEe,KAAI,KACJ2E,QAAQ,2BACR7H,MAAM,UACN8H,SACA,KAAAC,aAAa,WACbtF,QAAS,IAAMvE,KAAK+I,cAAc,e,sCC/MpD,MAAMmB,EAAwB,okqE,MCQjBC,EAAkB,MAL/B,WAAArK,CAAAC,G,UAOUC,KAAUwG,WAAW,GACrBxG,KAAAyE,MAA+BgC,EAAsBC,OACrD1G,KAAWuG,YAAY,MACvBvG,KAAI4E,KAAY,MAEhB5E,KAAU2G,WAAY,KA2G/B,CAxGC,eAAAK,GACE,OAAQhH,KAAKqE,MACX,IAAK,MACH,MAAO,uBACT,IAAK,KACH,MAAO,oBACT,IAAK,KACH,MAAO,oBACT,IAAK,KACH,MAAO,oBACT,IAAK,KACH,MAAO,oBACT,IAAK,KACH,MAAO,oB,CAIb,WAAA+F,GACE,OAAQpK,KAAKqE,MACX,IAAK,KACH,MAAO,oBACT,IAAK,KACH,MAAO,oBACT,IAAK,KACH,MAAO,oBACT,IAAK,KACH,MAAO,oB,CAIb,gBAAAgG,GACE,OAAQrK,KAAKqE,MACX,IAAK,KACH,MAAO,kBACT,IAAK,KACH,MAAO,kBACT,IAAK,KACH,MAAO,kBACT,IAAK,KACH,MAAO,kB,CAIb,oBAAA+C,GACE,OAAQpH,KAAKsE,OACX,IAAK,OACH,MAAO,OACT,IAAK,OACH,MAAO,OACT,IAAK,OACH,MAAO,OACT,IAAK,OACH,MAAO,OACT,IAAK,SACH,MAAO,SACT,IAAK,QACH,MAAO,QACT,IAAK,SACH,MAAO,S,CAIb,gBAAA5C,GACE,MAAMiG,EAAkB3H,KAAK4B,GAAGC,cAAc,qBAC9C,MAAMyI,EAAWtK,KAAK4B,GAAGC,cAAc,iBACvC,MAAM0I,EAAavK,KAAK4B,GAAGC,cAAc,4BAEzC,GAAI8F,EAAiB,CACnBA,EAAgB5F,UAAUC,IAAIhC,KAAKgH,mBACnCW,EAAgB5F,UAAUC,IAAIhC,KAAKoH,wBAA0B,O,CAG/D,GAAIkD,EAAU,CACZA,EAASvI,UAAUC,IAAIhC,KAAKoK,c,CAG9B,GAAIG,EAAY,CACdA,EAAWxI,UAAUC,IAAIhC,KAAKqK,mB,EAIlC,MAAArG,GACE,OACEC,EAAA,OAAAC,IAAA,2CAAKC,MAAO,SAASnE,KAAKqE,QACxBJ,EAAK,OAAAC,IAAA,2CAAAC,MAAM,aACTF,EAAA,aAAAC,IAAA,2CACEG,KAAMrE,KAAKqE,KAAI,cACFrE,KAAKwG,WAClB/B,MAAOzE,KAAKyE,MACZG,KAAM,KACN2B,YAAavG,KAAKuG,YAClBjC,OAAQtE,KAAKsE,MAAQ,OAAStE,KAAKsE,MAAK,cAC3BtE,KAAK2G,aAEhB3G,KAAK4E,KAAOX,EAAA,QAAMO,KAAK,QAAQM,KAAK,UAAkBb,EAAM,QAAAO,KAAK,WAAWM,KAAK,eAGvFb,EAAK,OAAAC,IAAA,2CAAAC,MAAM,cACTF,EAAM,QAAAC,IAAA,2CAAAM,KAAK,SACXP,EAAA,QAAAC,IAAA,2CAAMM,KAAK,qB,qCCrHrB,MAAMgG,EAA0B,yxpE,MCSnBC,EAAoB,MANjC,WAAA3K,CAAAC,G,UAOYC,KAAWuG,YAAY,MACvBvG,KAAI4E,KAAY,MAEhB5E,KAAQ0K,SAAY,MAEpB1K,KAAIgF,KAAW,MAgE1B,CA9DG,eAAAgC,GACI,OAAQhH,KAAKqE,MACT,IAAK,KAAM,MAAO,uBAClB,IAAK,KAAM,MAAO,uBAClB,IAAK,KAAM,MAAO,uB,CAI1B,cAAAsG,GACI,OAAQ3K,KAAKqE,MACT,IAAK,KAAM,MAAO,aAClB,IAAK,KAAM,MAAO,aAClB,IAAK,KAAM,MAAO,a,CAI1B,SAAA4C,GACI,OAAQjH,KAAKqE,MACT,IAAK,KAAO,OAAOwC,EAAc2B,MACjC,IAAK,KAAO,OAAO3B,EAAc2B,MACjC,IAAK,KAAO,OAAO3B,EAAcK,Q,CAIzC,gBAAAxF,GACI,MAAMiG,EAAkB3H,KAAK4B,GAAGC,cAAc,MAE9C,GAAI8F,EAAiB,CACjBA,EAAgB5F,UAAUC,IAAIhC,KAAKgH,kB,EAI3C,MAAAhD,GACI,MAAM4G,EAAc5K,KAAK2K,iBAEzB,OACI1G,EAAK,OAAAC,IAAA,2CAAAC,MAAO,iBAAiByG,KACzB3G,EAAA,aAAAC,IAAA,2CACAG,KAAMuG,EACN5F,KAAK,OACLJ,KAAM5E,KAAK4E,KACE,cAAA5E,KAAK0K,UAAQ,WAC1B9D,OAAQ5G,KAAKiH,YACb3C,MAAM,SAEAtE,KAAK4E,KACHX,EAAA,QAAMO,KAAK,QAAQM,KAAK,UAExBb,EAAM,QAAAO,KAAK,WAAWM,KAAK,aAE9B9E,KAAKuG,aACFtC,EAAK,OAAAC,IAAA,2CAAAC,MAAO,eACRF,EAAK,OAAAC,IAAA,2CAAA8D,MAAM,6BAA6BC,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOjE,MAAO,eAAenE,KAAKqE,QACtHJ,EAAA,QAAAC,IAAA,2CAAMmE,EAAE,uiBAAuiBD,KAAK,YACpjBnE,EAAA,QAAAC,IAAA,2CAAMmE,EAAE,uNAAuND,KAAK,e,qCCvEpQ,MAAMyC,EAAa,uq2E,MCSNC,EAAQ,MANrB,WAAAhL,CAAAC,G,UAcUC,KAAW+K,YAAa,KA6GjC,CAxGS,WAAAC,CAAY1G,GAClB,MAAM2G,EAAW,CACfC,KAAM,UACNC,QAAS,UACTC,MAAO,UACPC,QAAS,UACTC,QAAS,UACTC,UAAW,UACXC,YAAa,UACbC,KAAM,UACNC,OAAQ,WAGV,GAAI1L,KAAKoE,OAAS,eAAgB,CAChC,OAAO6G,EAAS3G,IAAUA,C,CAG5B,MAAO,c,CAGT,uBAAMuD,GACJ,GAAI7H,KAAK2L,gBAAiB,CACxB,MAAMC,EAAiBC,EAAa,GAAG7L,KAAK2L,mBAC5C3L,KAAK8L,yBAA2B9L,KAAK+L,gBAAgBH,E,CAGvD,GAAI5L,KAAKgM,iBAAkB,CACzB,MAAMC,EAAkBJ,EAAa,GAAG7L,KAAKgM,oBAC7ChM,KAAKkM,0BAA4BlM,KAAK+L,gBAAgBE,E,EAIlD,qBAAMF,CAAgBI,GAC5B,IACE,MAAMC,QAAiBC,MAAMF,GAC7B,GAAIC,EAASE,GAAI,CACf,aAAaF,EAASxH,M,CAExB,MAAO,E,CACP,MAAOwG,GACPmB,QAAQnB,MAAM,sBAAuBA,GACrC,MAAO,E,EAIX,YAAAoB,GACE,OAAQxM,KAAKqE,MACX,IAAK,KACH,MAAO,iBACT,IAAK,KACH,MAAO,iBACT,IAAK,KACH,MAAO,iB,CAIb,gBAAA3C,GACE,MAAM+K,EAAiBzM,KAAK4B,GAAGC,cAAc,KAE7C,GAAI4K,EAAgB,CAClBA,EAAe1K,UAAUC,IAAIhC,KAAKwM,gBAClCC,EAAeC,GAAK,cAAc1M,KAAKsE,O,EAK3C,MAAAN,GACE,MAAM+D,EAAU,CACd4E,MAAO,KACP,CAAC3M,KAAKoE,MAAO,KACb,CAACpE,KAAKsE,OAAQ,KACd,CAACtE,KAAKqE,MAAO,MAGf,MAAMuI,EAAWf,EAAa,GAAG7L,KAAK4M,YACtC,MAAMC,EAAW7M,KAAKoE,OAAS,eAAiBpE,KAAKgL,YAAYhL,KAAKsE,OAAS,eAE/E,OACEL,EAAA,OAAAC,IAAA,2CAAKC,MAAO4D,GACT/H,KAAKgF,OAAS,OACbf,EAAK,OAAAC,IAAA,2CAAA8D,MAAM,6BAA6BC,MAAM,IAAIC,OAAO,IAAIC,QAAQ,UAAUC,KAAMyE,GACnF5I,EAAA,UAAAC,IAAA,2CAAQ4I,GAAG,IAAIC,GAAG,IAAIC,EAAE,OAG3BhN,KAAKgF,OAAS,gBAAkBhF,KAAK2L,iBAAmB1H,EAAA,OAAAC,IAAA,2CAAKC,MAAO,iBAAkB8I,UAAWjN,KAAK8L,qBACtG9L,KAAKgF,OAAS,WAAaf,EAAA,OAAAC,IAAA,2CAAKiI,IAAKS,EAAUM,IAAI,iBACnDlN,KAAKgF,OAAS,UACbf,EAAA,aAAAC,IAAA,2CAAWC,MAAM,cAAcE,KAAK,MAAK,cAAa,SACpDJ,EAAM,QAAAC,IAAA,2CAAAM,KAAK,QAAQM,KAAK,WAG3B9E,KAAKgF,OAAS,QAAUf,EAAa,QAAAC,IAAA,6CACrClE,KAAKgF,OAAS,iBAAmBhF,KAAKgM,kBAAoB/H,EAAA,OAAAC,IAAA,2CAAKC,MAAO,kBAAmB8I,UAAWjN,KAAKkM,sBACzGlM,KAAKgF,OAAS,QACbf,EAAA,OAAAC,IAAA,2CAAKwI,GAAG,aACNzI,EAAA,OAAAC,IAAA,2CAAK8D,MAAM,6BAA6BC,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYgF,OAAQN,GACzF5I,EAAA,QAAAC,IAAA,2CAAMmE,EAAE,qBAAoB,eAAc,MAAK,iBAAgB,QAAO,kBAAiB,YAI5FrI,KAAK+K,aAAe/K,KAAKgF,OAAS,QAAUf,EAAgB,kBAAAC,IAAA,2CAAAI,MAAOtE,KAAKsE,MAAOF,KAAK,Y,8EC1H7F,MAAMgJ,EAAkB,29rE,MCSXC,EAAU,M,yBAInB,MAAArJ,GACI,OACIC,EAAA,OAAAC,IAAA,2CAAKC,MAAO,GAAGnE,KAAKsE,SAAStE,KAAKoE,QAC9BH,EAAA,OAAAC,IAAA,2CAAK8D,MAAM,6BAA6BC,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,QACpFnE,EAAA,QAAAC,IAAA,2CAAMmE,EAAE,mDAAmD8E,OAAO,UAAS,eAAc,MAAK,iBAAgB,QAAwB,6B,aCjB1J,MAAMG,EAAW,0y7E,MCOJC,EAAQ,MAAAA,EAJrB,WAAAzN,CAAAC,G,UAQUC,KAAWoG,YAAY,MAEvBpG,KAAWwN,YAAY,MAEvBxN,KAAYyN,aAAY,MAGvBzN,KAAc0N,eAAW,GACzB1N,KAAe2N,gBAAW,EA6FpC,CA3FC,iBAAA9F,GACE,GAAI7H,KAAKwN,aAAexN,KAAK2L,gBAAiB,CAC5C3L,KAAK4N,SAAS5N,KAAK2L,gBAAiB,U,CAEtC,GAAI3L,KAAKyN,cAAgBzN,KAAKgM,iBAAkB,CAC9ChM,KAAK4N,SAAS5N,KAAKgM,iBAAkB,W,CAGvC,MAAM6B,EAAa7N,KAAK4B,GAAGC,cAAc,KAEzC,GAAG7B,KAAKyE,QAAU,UAAW,CAC3BoJ,EAAWC,MAAMC,QAAU,M,CAG7B,GAAIF,EAAY,CACdA,EAAW9L,UAAUC,IAAIhC,KAAKgO,wBAC9BH,EAAW9L,UAAUC,IAAI,UACzB6L,EAAWnB,GAAK,sBAChBmB,EAAW9L,UAAUC,IAAI,uBACzB6L,EAAW9L,UAAUC,IAAI,GAAGhC,KAAK+E,aACjC8I,EAAW9L,UAAUC,IAAI,GAAGhC,KAAKoG,YAAc,cAAgB,MAC/DyH,EAAW9L,UAAUC,IAAI,GAAGhC,KAAKyE,QAAU,WAAa,WAAa,K,EAIzE,cAAMmJ,CAASK,EAAkB7J,GAC/B,MAAM8J,EAAWrC,EAAa,GAAGoC,KACjC,MAAM7B,QAAiBC,MAAM6B,GAC7B,MAAMC,QAAY/B,EAASxH,OAC3B,GAAIR,IAAS,UAAW,CACtBpE,KAAK0N,eAAiBS,C,KACjB,CACLnO,KAAK2N,gBAAkBQ,C,EAK3B,gBAAAC,GACE,MAAO,CACLC,OAAQ,KACR,CAACrO,KAAKqE,MAAO,KACb,CAACrE,KAAK+E,WAAY,KAClBqB,YAAapG,KAAKoG,YAClBkI,SAAUtO,KAAKyE,QAAU,WACzB8J,QAASvO,KAAKyE,QAAU,UACxB+J,KAAMxO,KAAKgF,OAAS,O,CAIxB,oBAAAgJ,GACE,OAAQhO,KAAKqE,MACX,IAAK,MACH,MAAO,oBACT,IAAK,KACH,MAAO,oBACT,IAAK,KACH,MAAO,oBACT,IAAK,KACH,MAAO,oBACT,IAAK,KACH,MAAO,oB,CAIb,iBAAAoK,GACE,OAAOxK,EAAK,OAAAE,MAAO,kBAAkBnE,KAAKqE,OAAQ4I,UAAWjN,KAAK0N,gB,CAGpE,kBAAAgB,GACE,OAAOzK,EAAA,OAAKE,MAAM,kBAAkB8I,UAAWjN,KAAK2N,iB,CAGtD,MAAA3J,GACE,OACEC,EAAQ,UAAAC,IAAA,2CAAAC,MAAOnE,KAAKoO,oBACjBpO,KAAKyE,QAAU,WAAaR,EAAK,OAAAC,IAAA,2CAAAC,MAAO,UAAUnE,KAAK+E,aAAa/E,KAAKqE,QAAQrE,KAAKgF,SACtFhF,KAAKyE,QAAU,WACdR,EAAA0K,EAAA,KACG3O,KAAKwN,aAAexN,KAAKgF,OAAS,WAAahF,KAAKyO,oBACpDzO,KAAKgF,OAAS,WACbf,EAAA,OAAAC,IAAA,2CAAKC,MAAO,YACVF,EAAA,QAAAC,IAAA,8CAGHlE,KAAKyN,cAAgBzN,KAAK0O,qBAC1B1O,KAAKgF,OAAS,QAAUhF,KAAKyO,qB,qCC1G1C,MAAMG,EAAc,2n9E,MCSPrB,EAAQ,MANrB,WAAAzN,CAAAC,G,UAOUC,KAAIqE,KAAiB,KACrBrE,KAAS+E,UAAuB,UAEhC/E,KAAWoG,YAAY,MACvBpG,KAAKyE,MAAc,UACnBzE,KAAWwN,YAAY,MAEvBxN,KAAYyN,aAAY,MAExBzN,KAAW6O,YAAW,GACtB7O,KAAK8O,MAAmB,gBAEvB9O,KAAc0N,eAAW,GACzB1N,KAAe2N,gBAAW,GAC1B3N,KAAmB+O,oBAAW,GAC9B/O,KAAwBgP,yBAAW,GACnChP,KAAyBiP,0BAAW,GACpCjP,KAAYkP,aAAY,KAgGlC,CA9FC,iBAAArH,GACE,GAAI7H,KAAKwN,aAAexN,KAAK2L,gBAAiB,CAC5C3L,KAAK4N,SAAS5N,KAAK2L,gBAAiB,U,CAEtC,GAAI3L,KAAKyN,cAAgBzN,KAAKgM,iBAAkB,CAC9ChM,KAAK4N,SAAS5N,KAAKgM,iBAAkB,W,CAGvC,MAAM6B,EAAa7N,KAAK4B,GAAGC,cAAc,KAEzC,GAAI7B,KAAKyE,QAAU,UAAW,CAC5BoJ,EAAWC,MAAMC,QAAU,M,CAG7B,GAAIF,EAAY,CACdA,EAAW9L,UAAUC,IAAIhC,KAAKgO,wBAC9BH,EAAW9L,UAAUC,IAAI,UACzB6L,EAAW9L,UAAUC,IAAI,uBACzB6L,EAAW9L,UAAUC,IAAI,GAAGhC,KAAK+E,Y,EAIrC,cAAM6I,CAASK,EAAkB7J,GAC/B,MAAM8J,EAAWrC,EAAa,GAAGoC,KACjC,MAAM7B,QAAiBC,MAAM6B,GAC7B,MAAMC,QAAY/B,EAASxH,OAC3B,GAAIR,IAAS,UAAW,CACtBpE,KAAK0N,eAAiBS,C,KACjB,CACLnO,KAAK2N,gBAAkBQ,C,EAK3B,gBAAAC,GACE,MAAO,CACLC,OAAQ,KACR,CAACrO,KAAKqE,MAAO,KACb,CAACrE,KAAK+E,WAAY,KAClBqB,YAAapG,KAAKoG,YAClBkI,SAAUtO,KAAKyE,QAAU,WACzB+J,KAAMxO,KAAKgF,OAAS,O,CAIxB,oBAAAgJ,GACE,OAAQhO,KAAKqE,MACX,IAAK,MACH,MAAO,oBACT,IAAK,KACH,MAAO,oBACT,IAAK,KACH,MAAO,oBACT,IAAK,KACH,MAAO,oBACT,IAAK,KACH,MAAO,oB,CAIb,iBAAAoK,GACE,OAAOxK,EAAK,OAAAE,MAAO,kBAAkBnE,KAAKqE,OAAQ4I,UAAWjN,KAAK0N,gB,CAGpE,kBAAAgB,GACE,OAAOzK,EAAA,OAAKE,MAAM,kBAAkB8I,UAAWjN,KAAK2N,iB,CAGtD,MAAA3J,GACE,OACEC,EAAA,OAAAC,IAAA,2CAAKC,MAAM,kBACTF,EAAA,UAAAC,IAAA,2CAAQoK,SAAUtO,KAAKyE,QAAU,WAAYN,MAAOnE,KAAKoO,mBAAoBe,aAAc,IAAMnP,KAAKkP,aAAe,KAAME,aAAc,IAAMpP,KAAKkP,aAAe,OAChKlP,KAAKyE,QAAU,WAAaR,EAAK,OAAAC,IAAA,2CAAAC,MAAO,UAAUnE,KAAK+E,aAAa/E,KAAKqE,QAAQrE,KAAKgF,QAAQhF,KAAKoG,YAAc,cAAgB,OACjIpG,KAAKyE,QAAU,WACdR,EAAA0K,EAAA,KACG3O,KAAKwN,aAAexN,KAAKgF,OAAS,WAAahF,KAAKyO,oBACpDzO,KAAKgF,OAAS,WACbf,EAAA,OAAAC,IAAA,2CAAKC,MAAO,YACVF,EAAA,QAAAC,IAAA,8CAGHlE,KAAKyN,cAAgBzN,KAAK0O,qBAC1B1O,KAAKgF,OAAS,QAAUhF,KAAKyO,sBAInCzO,KAAK6O,aAAe7O,KAAKgF,OAAS,QAAUhF,KAAKkP,cAChDjL,EAAwB,cAAAC,IAAA,6DAAM4K,MAAO9O,KAAK8O,MAAO3K,MAAO,WAAWnE,KAAKqE,QACtEJ,EAAA,KAAAC,IAAA,2CAAGY,KAAK,SAAS9E,KAAK6O,c,wECrHlC,MAAMQ,EAAmB,gtuE,MCQZC,EAAa,M,yBAItB,MAAAtL,GACI,OACIC,EAAA,OAAAC,IAAA,2CAAKC,MAAO,GAAGnE,KAAKqE,QAAQrE,KAAKsE,SAC7BL,EAAK,OAAAC,IAAA,2CAAA8D,MAAM,6BAA6BC,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOjE,MAAO,GAAGnE,KAAKqE,QAC1GJ,EAAA,QAAAC,IAAA,2CAAMmE,EAAE,mEAAkE,eAAc,IAAG,iBAAgB,QAAO,kBAAiB,W,aChBvJ,MAAMkH,EAAmB,q7oE,MCSZC,EAAa,MAN1B,WAAA1P,CAAAC,G,mNAQUC,KAAAyP,MAA+D,GAQ/DzP,KAAS0P,UAAY,MACrB1P,KAAK8B,MAAW,GACf9B,KAAa2P,cAA0D,GACvE3P,KAAa4P,cAAW,EAkDlC,CA7CC,cAAAC,CAAe3N,GACblC,KAAK2P,cAAgBzN,C,CAGvB,iBAAA2F,GACE7H,KAAK2P,cAAgB,IAAI3P,KAAKyP,M,CAGhC,YAAAK,CAAaC,GACX,MAAMH,EAAgB5P,KAAK2P,cAAcI,GAAOjO,MAEhD9B,KAAK2P,cAAgB3P,KAAK2P,cAAc5F,KAAI,CAACf,EAAMgH,IAC9CC,OAAAC,OAAAD,OAAAC,OAAA,GAAAlH,GACH,CAAAmH,QAASH,IAAMD,MAGjB/P,KAAK4P,cAAgBA,EAErB5P,KAAKoQ,aAAa1N,KAAK1C,KAAK4P,c,CAO9B,MAAA5L,GACE,OACEC,EAAA,OAAAC,IAAA,2CAAKC,MAAM,0BACRnE,KAAK0P,WAAazL,EAAG,KAAAC,IAAA,2CAAAC,MAAM,kCAAkCnE,KAAK8B,OACnEmC,EAAA,OAAAC,IAAA,2CAAKC,MAAM,wBACRnE,KAAK2P,cAAc5F,KAAI,CAACf,EAAM+G,IAC7B9L,EAAA,wBACEC,IAAK6L,EACLtL,MAAM,UACNO,KAAMhF,KAAKgF,KACXlD,MAAOkH,EAAKlH,MACZqO,QAASnH,EAAKmH,QACd5L,QAAS,IAAMvE,KAAK8P,aAAaC,GAAM,WAC7B/G,EAAKhE,U,4GCjE7B,MAAMqL,EAAuB,0rxE,MCShBC,EAAiB,MAN9B,WAAAxQ,CAAAC,G,UAOUC,KAAOmQ,QAAY,MAGnBnQ,KAAK8B,MAAW,GAChB9B,KAAO2J,QAAW,GACjB3J,KAAc0N,eAAW,EAgCnC,CA9BC,cAAME,CAASK,GACb,MAAMC,EAAWrC,EAAa,GAAGoC,KACjC,MAAM7B,QAAiBC,MAAM6B,GAC7B,MAAMC,QAAY/B,EAASxH,OAC3B5E,KAAK0N,eAAiBS,C,CAGxB,iBAAAtG,GACE7H,KAAK4N,SAAS5N,KAAK2J,Q,CAGrB,MAAA3F,GACE,OACEC,EAAK,OAAAC,IAAA,2CAAAC,MAAO,yBAAyBnE,KAAKmQ,QAAU,UAAY,MAAMnQ,KAAKgF,QAAQhF,KAAKyE,SACrFzE,KAAKgF,OAAS,WAAaf,EAAA,OAAAC,IAAA,2CAAKC,MAAO,QAAQnE,KAAKmQ,QAAU,UAAY,MAAMnQ,KAAKyE,QAASwI,UAAWjN,KAAK0N,iBAC9G1N,KAAKgF,OAAS,QAAUf,EAAA,OAAAC,IAAA,2CAAKC,MAAO,QAAQnE,KAAKmQ,QAAU,UAAY,MAAMnQ,KAAKyE,QAASwI,UAAWjN,KAAK0N,iBAC3G1N,KAAKgF,OAAS,YACbf,EAAA,eAAAC,IAAA,2CAAazC,QAASzB,KAAKmQ,QAASI,cAAe,MAAOlM,KAAK,KAAKD,KAAK,QAAQK,MAAOzE,KAAKyE,MAAOG,KAAM,KAAI,kBAAmB,OAC/HX,EAAG,KAAAC,IAAA,2CAAAY,KAAK,SAAS9E,KAAK8B,QAGzB9B,KAAKgF,OAAS,OACbf,EAAA,OAAAC,IAAA,2CAAKC,MAAM,WACTF,EAAK,OAAAC,IAAA,2CAAAC,MAAO,QAAQnE,KAAKyE,WAG5BzE,KAAKgF,OAAS,QAAUhF,KAAKgF,OAAS,YAAcf,EAAA,KAAAC,IAAA,2CAAGC,MAAM,qBAAqBnE,KAAK8B,O,aC3ChG,MAAM0O,EAAgB,ompE,MCQTC,EAAU,MALvB,WAAA3Q,CAAAC,G,yDAMUC,KAAOyB,QAAY,MACnBzB,KAAauQ,cAAY,MAGzBvQ,KAAKyE,MAAc,UACnBzE,KAAI4E,KAAY,MAChB5E,KAAc0Q,eAAY,KAsDnC,CAlDC,gBAAAC,GACE,OAAQ3Q,KAAKqE,MACX,IAAK,KACH,MAAO,iBACT,IAAK,KACH,MAAO,iB,CAIb,sBAAAuM,GACE,OAAQ5Q,KAAKqE,MACX,IAAK,KACH,MAAO,kBACT,IAAK,KACH,MAAO,kB,CAIb,gBAAA3C,GACE,MAAMmP,EAAe7Q,KAAK4B,GAAGC,cAAc,kBAC3C,MAAMyH,EAAqBtJ,KAAK4B,GAAGC,cAAc,4BAEjD,GAAIgP,EAAc,CAChBA,EAAa9O,UAAUC,IAAIhC,KAAK2Q,mB,CAGlC,GAAIrH,EAAoB,CACtBA,EAAmBvH,UAAUC,IAAIhC,KAAK4Q,yB,EAI1C,iBAAAtO,CAAkBC,GAChBvC,KAAKyC,gBAAgBC,KAAKH,EAAMC,O,CAGlC,MAAAwB,GACE,OACEC,EAAA,OAAAC,IAAA,2CAAKC,MAAO,gBAAgBnE,KAAKqE,QAAQrE,KAAK4E,KAAO,aAAe,MAClEX,EAAA,OAAAC,IAAA,2CAAKC,MAAO,kBAAkBnE,KAAK0Q,eAAiB,8BAAgC,MAClFzM,EAAA,oBAAAC,IAAA,2CAAkBG,KAAMrE,KAAKqE,KAAMD,KAAMpE,KAAKoE,KAAMK,MAAOzE,KAAKyE,MAAO8L,cAAevQ,KAAKuQ,cAAejO,kBAAmBtC,KAAKsC,kBAAkBuC,KAAK7E,MAAOyB,QAASzB,KAAKyB,WAE/KzB,KAAK4E,MACJX,EAAA,OAAAC,IAAA,2CAAKC,MAAO,SAASnE,KAAK0Q,eAAiB,qBAAuB,MAChEzM,EAAM,QAAAC,IAAA,2CAAAM,KAAK,UACVxE,KAAK0Q,gBAAkBzM,EAAA,QAAAC,IAAA,2CAAMM,KAAK,qB,qCC/D/C,MAAMsM,EAAoB,6rqE,MCQbC,EAAc,MAL3B,WAAAjR,CAAAC,G,yDAS2BC,KAAOyB,QAAY,MACnBzB,KAAauQ,cAAY,KAwOnD,CArOS,SAAAS,GACN,OAAQhR,KAAKoE,MACX,IAAK,WACH,OAAOpE,KAAKiR,iBACd,IAAK,eACH,OAAOjR,KAAKkR,eACd,IAAK,QACH,OAAOlR,KAAKmR,cACd,QACE,OAAO,K,CAIL,cAAAF,GACN,GAAIjR,KAAKyE,QAAU,WAAazE,KAAKyB,QAAS,CAC5C,OACEwC,EAAA,OAAKgE,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOJ,MAAM,6BAA6B7D,MAAO,4BAA4BnE,KAAKqE,QACrIJ,EAAA,QACEoE,EAAE,wsBACFD,KAAK,YAEPnE,EACE,QAAAoE,EAAE,wsBACF8E,OAAO,UACPhJ,MAAM,WAERF,EAAA,QAAMoE,EAAE,wEAAwE8E,OAAO,QAAO,eAAc,MAAK,iBAAgB,QAAwB,4B,MAGxJ,GAAInN,KAAKyE,QAAU,WAAazE,KAAKuQ,cAAe,CACzD,OACEtM,EAAA,OAAKgE,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOJ,MAAM,6BAA6B7D,MAAO,kCAAkCnE,KAAKqE,QAC3IJ,EAAA,QACEoE,EAAE,wsBACFD,KAAK,YAEPnE,EACE,QAAAoE,EAAE,wsBACF8E,OAAO,UACPhJ,MAAM,WAERF,EAAA,QAAMoE,EAAE,YAAY8E,OAAO,QAAO,eAAc,MAAK,iBAAgB,QAAwB,4B,MAG5F,GAAInN,KAAKyE,QAAU,aAAezE,KAAKyB,QAAS,CACrD,OACEwC,EAAA,OAAKgE,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOJ,MAAM,6BAA6B7D,MAAO,+BAA+BnE,KAAKqE,QACxIJ,EAAA,QACEoE,EAAE,wsBACFD,KAAK,YAEPnE,EACE,QAAAoE,EAAE,wsBACF8E,OAAO,Y,MAIR,GAAInN,KAAKyE,QAAU,YAAczE,KAAKyB,QAAS,CACpD,OACEwC,EAAA,OAAKgE,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOJ,MAAM,6BAA6B7D,MAAO,GAAGnE,KAAKqE,QAC5GJ,EAAA,QACEoE,EAAE,otBACFD,KAAK,YAEPnE,EAAA,QACEoE,EAAE,otBACF8E,OAAO,YAETlJ,EAAA,QACEoE,EAAE,sGACF8E,OAAO,UAAS,eACH,IAAG,iBACD,QACC,4B,MAIjB,GAAInN,KAAKyE,QAAU,YAAczE,KAAKuQ,cAAe,CAC1DtM,EAAK,OAAAgE,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOJ,MAAM,6BAA6B7D,MAAO,GAAGnE,KAAKqE,QAC5GJ,EAAA,QACEoE,EAAE,otBACFD,KAAK,YAEPnE,EAAA,QACEoE,EAAE,otBACF8E,OAAO,YAETlJ,EAAA,QAAMoE,EAAE,yBAAyB8E,OAAO,UAAuB,qBAAK,iBAAgB,QAAO,kBAAiB,U,KAEzG,CACL,OACElJ,EAAA,OAAKgE,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOJ,MAAM,6BAA6B7D,MAAO,8BAA8BnE,KAAKqE,QACvIJ,EACE,QAAAoE,EAAE,wsBACF8E,OAAO,Y,EAOT,YAAA+D,GACN,GAAIlR,KAAKyB,SAAWzB,KAAKyE,QAAU,UAAW,CAC5C,OACER,EAAA,OAAKgE,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOJ,MAAM,6BAA6B7D,MAAO,0BAA0BnE,KAAKqE,QACnIJ,EAAM,QAAAmN,EAAE,MAAMC,EAAE,MAAMpJ,MAAM,KAAKC,OAAO,KAAKoJ,GAAG,MAAMlJ,KAAK,UAAUjE,MAAM,eAC3EF,EAAM,QAAAmN,EAAE,MAAMC,EAAE,MAAMpJ,MAAM,KAAKC,OAAO,KAAKoJ,GAAG,MAAMnE,OAAO,YAC7DlJ,EAAA,QACEoE,EAAE,0GACF8E,OAAO,QAAO,eACD,UAAS,iBACP,QACC,4B,MAIjB,IAAKnN,KAAKyB,SAAWzB,KAAKyE,QAAU,UAAW,CACpD,OACER,EAAA,OAAKgE,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOJ,MAAM,6BAA6B7D,MAAO,4BAA4BnE,KAAKqE,QACrIJ,EAAM,QAAAmN,EAAE,MAAMC,EAAE,MAAMpJ,MAAM,KAAKC,OAAO,KAAKoJ,GAAG,MAAMnE,OAAO,Y,MAG5D,GAAInN,KAAKyB,SAAWzB,KAAKyE,QAAU,WAAY,CACpD,OACER,EAAA,OAAKgE,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOJ,MAAM,6BAA6B7D,MAAO,2BAA2BnE,KAAKqE,QACpIJ,EAAM,QAAAmN,EAAE,MAAMC,EAAE,MAAMpJ,MAAM,KAAKC,OAAO,KAAKoJ,GAAG,MAAMlJ,KAAK,YAC3DnE,EAAM,QAAAmN,EAAE,MAAMC,EAAE,MAAMpJ,MAAM,KAAKC,OAAO,KAAKoJ,GAAG,MAAMnE,OAAO,YAC7DlJ,EAAA,QACEoE,EAAE,0GACF8E,OAAO,UAAS,eACH,IAAG,iBACD,QACC,4B,MAIjB,IAAKnN,KAAKyB,SAAWzB,KAAKyE,QAAU,WAAY,CACrD,OACER,EAAA,OAAKgE,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOJ,MAAM,6BAA6B7D,MAAO,6BAA6BnE,KAAKqE,QACtIJ,EAAM,QAAAmN,EAAE,MAAMC,EAAE,MAAMpJ,MAAM,KAAKC,OAAO,KAAKoJ,GAAG,MAAMnE,OAAO,Y,EAM7D,WAAAgE,GACN,GAAInR,KAAKyE,QAAU,WAAazE,KAAKyB,QAAS,CAC5C,OACEwC,EAAA,OAAKgE,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOJ,MAAM,6BAA6B7D,MAAO,yBAAyBnE,KAAKqE,QAClIJ,EAAM,QAAAmN,EAAE,MAAMC,EAAE,MAAMpJ,MAAM,KAAKC,OAAO,KAAKoJ,GAAG,MAAMnE,OAAO,YAC7DlJ,EAAA,UAAQ6I,GAAG,IAAIC,GAAG,IAAIC,EAAE,IAAI5E,KAAK,Y,MAGhC,GAAIpI,KAAKyE,QAAU,aAAezE,KAAKyB,QAAS,CACrD,OACEwC,EAAA,OAAKgE,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOJ,MAAM,6BAA6B7D,MAAO,4BAA4BnE,KAAKqE,QACrIJ,EAAM,QAAAmN,EAAE,MAAMC,EAAE,MAAMpJ,MAAM,KAAKC,OAAO,KAAKoJ,GAAG,MAAMnE,OAAO,Y,MAG5D,GAAInN,KAAKyE,QAAU,YAAczE,KAAKyB,QAAS,CACpD,OACEwC,EAAA,OAAK+D,MAAM,6BAA6BC,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOjE,MAAO,0BAA0BnE,KAAKqE,QACnIJ,EAAM,QAAAmN,EAAE,MAAMC,EAAE,MAAMpJ,MAAM,KAAKC,OAAO,KAAKoJ,GAAG,MAAMnE,OAAO,YAC7DlJ,EAAA,UAAQ6I,GAAG,KAAKC,GAAG,KAAKC,EAAE,IAAI5E,KAAK,Y,KAGlC,CACL,OACEnE,EAAA,OAAKgE,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOJ,MAAM,6BAA6B7D,MAAO,2BAA2BnE,KAAKqE,QACpIJ,EAAM,QAAAmN,EAAE,MAAMC,EAAE,MAAMpJ,MAAM,KAAKC,OAAO,KAAKoJ,GAAG,MAAMnE,OAAO,Y,EAM7D,mBAAAoE,GACN,GAAIvR,KAAKyE,QAAU,YAAczE,KAAKyB,QAAS,CAC7CzB,KAAKyB,QAAU,KAEfzB,KAAKyC,gBAAgBC,KAAK1C,KAAKyB,Q,MAC1B,GAAIzB,KAAKyE,QAAU,WAAazE,KAAKyB,QAAS,CACnDzB,KAAKyB,QAAU,MAEfzB,KAAKyC,gBAAgBC,KAAK1C,KAAKyB,Q,EAI3B,sBAAA+P,GACN,GAAKxR,KAAKyE,QAAU,YAAczE,KAAKyB,SAAazB,KAAKyE,QAAU,aAAezE,KAAKyB,QAAU,CAC/F,M,CAGF,GAAIzB,KAAKyE,QAAU,YAAczE,KAAKyB,QAAS,CAC7CzB,KAAKyB,QAAU,KACfzB,KAAKyC,gBAAgBC,KAAK1C,KAAKyB,Q,MAC1B,GAAIzB,KAAKyE,OAAS,WAAazE,KAAKyB,QAAS,CAClDzB,KAAKyB,QAAU,MACfzB,KAAKyC,gBAAgBC,KAAK1C,KAAKyB,Q,EAI3B,sBAAAgQ,GACN,GAAKzR,KAAKyE,QAAU,aAAezE,KAAKyB,SAAazB,KAAKyE,QAAU,YAAczE,KAAKyB,QAAU,CAC/F,M,CAEF,GAAIzB,KAAKyE,QAAU,YAAczE,KAAKyB,QAAS,CAC7CzB,KAAKyB,QAAU,KACfzB,KAAKyC,gBAAgBC,KAAK1C,KAAKyB,Q,EAInC,MAAAuC,GACE,OACEC,EAAA,OAAAC,IAAA,2CACEC,MAAO,sBAAsBnE,KAAKqE,OAClCE,QAAS,KACP,GAAIvE,KAAKoE,OAAS,WAAY,CAC5B,OAAOpE,KAAKuR,qB,MACP,GAAIvR,KAAKoE,OAAS,eAAgB,CACvC,OAAOpE,KAAKwR,wB,MACP,GAAIxR,KAAKoE,OAAS,QAAS,CAChC,OAAOpE,KAAKyR,wB,IAIfzR,KAAKgR,Y,aCjPd,MAAMU,EAAyB,6o0E,MCQlBC,EAAmB,MALhC,WAAA7R,CAAAC,G,sGAUUC,KAAA4R,SAAoB,MAEH5R,KAAQ6R,SAAY,MACrC7R,KAAU8R,WAAY,KACtB9R,KAAU+R,WAAW,GACrB/R,KAAIgF,KAAW,GAEdhF,KAAc0N,eAAW,EAsMnC,CAlMC,cAAME,CAASK,GACb,MAAMC,EAAWrC,EAAa,GAAGoC,KACjC,MAAM7B,QAAiBC,MAAM6B,GAC7B,MAAMC,QAAY/B,EAASxH,OAE3B,MAAMoN,EAAS,IAAIC,UACnB,MAAMC,EAASF,EAAOG,gBAAgBhE,EAAK,iBAC3C,MAAMiE,EAAaF,EAAOG,gBAG1B,MAAMC,EAAsBF,EAAWG,iBAAiB,aACxDD,EAAoBE,SAAQ5Q,IAC1BA,EAAGG,UAAUC,IAAI,cAAc,IAIjC,MAAMyQ,EAAcL,EAAWM,UAE/B1S,KAAK0N,eAAiB+E,C,CAGxB,eAAAE,GACE3S,KAAK4S,cAAclQ,M,CAGrB,iBAAAmF,GACE7H,KAAK4N,SAAS5N,KAAKgF,K,CAGb,iBAAA6N,GACN,OAAQ7S,KAAKqE,MACX,IAAK,KACH,MAAO,oBACT,IAAK,KACH,MAAO,oB,CAIL,gBAAAyO,GACN,OAAQ9S,KAAKqE,MACX,IAAK,KACH,MAAO,kBACT,IAAK,KACH,MAAO,kBACT,IAAK,KACH,MAAO,kBACT,IAAK,KACH,MAAO,kBACT,QACE,MAAO,kB,CAIL,wBAAA0O,GACN,OAAQ/S,KAAKqE,MACX,IAAK,KACH,MAAO,kBACT,IAAK,KACH,MAAO,kBACT,QACE,MAAO,kB,CAIL,oBAAA2O,GACN,OAAQhT,KAAK6R,UACX,KAAK,KACH,MAAO,iBACT,KAAK,MACH,MAAO,qB,CAIL,mBAAAoB,GACN,OAAQjT,KAAK6R,UACX,KAAK,KACH,MAAO,gBACT,KAAK,MACH,MAAO,oB,CAIb,kBAAAqB,GACE,MAAMC,EAAYnT,KAAK4B,GAAGC,cAAc,kBACxC,MAAMuR,EAAWpT,KAAK4B,GAAGC,cAAc,iBAEvCsR,EAAUpR,UAAUC,IAAIhC,KAAKgT,wBAC7BI,EAASrR,UAAUC,IAAIhC,KAAKiT,sB,CAG9B,gBAAAvR,GACE,MAAMyR,EAAYnT,KAAK4B,GAAGC,cAAc,kBACxC,MAAMuR,EAAWpT,KAAK4B,GAAGC,cAAc,iBACvC,MAAMyH,EAAqBtJ,KAAK4B,GAAGC,cAAc,4BAEjD,GAAIsR,EAAW,CACbA,EAAUpR,UAAUC,IAAIhC,KAAK6S,oB,CAG/B,GAAIO,EAAU,CACZA,EAASrR,UAAUC,IAAIhC,KAAK8S,oBAC5BM,EAASrR,UAAUC,IAAIhC,KAAKiT,sB,CAG9B,GAAI3J,EAAoB,CACtBA,EAAmBvH,UAAUC,IAAIhC,KAAK+S,4BACtCzJ,EAAmBvH,UAAUC,IAAI,kB,EAI7B,UAAAqR,GACN,OAAQrT,KAAKoE,MACX,IAAK,SACH,OACEH,EAAW,aAAAE,MAAM,UAAUE,KAAK,KAAKkC,YAAa,MAAOvB,KAAK,QAC5Df,EAAK,OAAAkI,IAAI,8BAA8BrH,KAAK,WAGlD,IAAK,eACH,OACEb,EAAA,OAAK+D,MAAM,6BAA6BC,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,QACtFnE,EAAM,QAAAmN,EAAE,MAAMC,EAAE,MAAMpJ,MAAM,KAAKC,OAAO,KAAKoJ,GAAG,MAAMlJ,KAAK,UAC3DnE,EAAM,QAAAmN,EAAE,MAAMC,EAAE,MAAMpJ,MAAM,KAAKC,OAAO,KAAKoJ,GAAG,MAAMnE,OAAO,YAC7DlJ,EAAA,oBACY,UAAS,YACT,UACVoE,EAAE,6kCACFD,KAAK,aAIb,IAAK,cACH,OAAOnE,EAAK,OAAAE,MAAO,QAAQnE,KAAKyE,QAASwI,UAAWjN,KAAK0N,iBAC3D,IAAK,eACH,OAAOzJ,EAAA,eAAaI,KAAMrE,KAAKqE,KAAMD,KAAK,QAAQK,MAAOzE,KAAKyE,MAAOhD,QAASzB,KAAK6R,WACrF,IAAK,WACH,OAAO5N,EAAA,eAAaI,KAAMrE,KAAKqE,KAAMD,KAAK,WAAWK,MAAOzE,KAAKyE,MAAOhD,QAASzB,KAAK6R,W,CAKpF,eAAAyB,GACN,GAAItT,KAAKyE,QAAU,UAAW,CAC5BzE,KAAK6R,UAAY7R,KAAK6R,Q,CAGxB7R,KAAKuT,iBAAiB7Q,KAAK1C,KAAK6R,S,CAGlC,MAAA7N,GACE,MAAO,CACLC,EAAA,OAAAC,IAAA,2CAAKC,MAAO,uBAAuBnE,KAAKqE,QAAQrE,KAAKyE,SAASzE,KAAK6R,SAAW,WAAa,MAAM7R,KAAKwT,aAAcjP,QAAS,IAAMvE,KAAKsT,mBACtIrP,EAAK,OAAAC,IAAA,2CAAAC,MAAM,gBACRnE,KAAKqT,aACNpP,EAAK,OAAAC,IAAA,2CAAAC,MAAM,kBACTF,EAAA,OAAAC,IAAA,2CAAKC,MAAO,cAAcnE,KAAKoE,QAC7BH,EAAM,QAAAC,IAAA,2CAAAM,KAAK,UACVxE,KAAK4R,UAAY3N,EAAA,QAAAC,IAAA,2CAAMM,KAAK,UAE9BxE,KAAKoE,OAAS,eACbH,EAAA,OAAKE,MAAM,WACTF,EAAA,aAAWI,KAAMrE,KAAKqE,KAAMU,UAAU,YAAYC,KAAK,UAAUP,MAAOzE,KAAKyE,OAC3ER,EAAA,4BAEFA,EAAA,aAAWI,KAAMrE,KAAKqE,KAAMU,UAAU,aAAaC,KAAK,UAAUP,MAAOzE,KAAKyE,OAC5ER,EAAA,mBAIJA,EAAA,QAAMO,KAAK,oBAEbP,EAAA,aAAAC,IAAA,2CACEC,MAAM,SACNE,KAAK,KACLI,MAAOzE,KAAKyE,MACZM,UAAW/E,KAAK6R,SAAW,aAAe,YAC1C7M,KAAK,UACLT,QAASkP,IACPzT,KAAK2S,kBACLc,EAAEC,iBAAiB,GAGrBzP,EAAA,KAAAC,IAAA,4CAAIlE,KAAK+R,eAId/R,KAAKoE,OAAS,eAAiBpE,KAAKoE,OAAS,UAAYpE,KAAKoE,OAAS,eACtEH,EAAA,OAAKE,MAAO,sBACVF,EAAA,eAAaG,KAAMpE,KAAK2T,aAActP,KAAMrE,KAAKqE,KAAMI,MAAOzE,KAAKyE,MAAOhD,QAASzB,KAAK6R,YAExF,M,qCCtNZ,MAAM+B,EAAsB,8ksE,MCOfC,EAAgB,MAL7B,WAAA/T,CAAAC,G,UAO2BC,KAAW8T,YAAY,MACvB9T,KAAM+T,OAAW,WACjB/T,KAASgU,UAAY,MACtChU,KAASiU,UAA8B,aACvCjU,KAAIgF,KAAW,GACdhF,KAAc0N,eAAW,EA6EnC,CA3EC,cAAME,CAASK,GACb,MAAMC,EAAWrC,EAAa,GAAGoC,KACjC,MAAM7B,QAAiBC,MAAM6B,GAC7B,MAAMC,QAAY/B,EAASxH,OAC3B5E,KAAK0N,eAAiBS,C,CAGxB,iBAAAtG,GACE7H,KAAK4N,SAAS5N,KAAKgF,K,CAGrB,UAAAkP,GACE,GAAIlU,KAAK+T,SAAW,WAAY,CAC9B/T,KAAK+T,OAAS,SACd/T,KAAKgU,UAAY,K,MACZ,GAAIhU,KAAK+T,SAAW,SAAU,CACnC/T,KAAK+T,OAAS,WACd/T,KAAKgU,UAAY,K,EAKrB,qBAAMG,GACJnU,KAAK8T,YAAc,I,CAIrB,mBAAMM,GACJpU,KAAK8T,YAAc,K,CAGrB,MAAA9P,GACE,MAAO,CACLC,EAAA,OAAAC,IAAA,4CACED,EAAA,OAAAC,IAAA,2CAAKC,MAAO,gBAAgBnE,KAAKsE,QAASC,QAASvE,KAAKkU,WAAWrP,KAAK7E,MAAOqU,YAAa,IAAOrU,KAAKgU,UAAY,KAAOM,WAAY,IAAOtU,KAAKgU,UAAY,OAuB7J/P,EAAK,OAAAC,IAAA,2CAAAC,MAAO,QAAQnE,KAAKsE,SAAStE,KAAKiU,aAAajU,KAAK+T,SAAU9G,UAAWjN,KAAK0N,kBAEpF1N,KAAKgU,WAAahU,KAAK+T,SAAW,WACjC9P,EAAY,cAAAE,MAAO,WAAWnE,KAAKiU,YAAyB,kBAAMnF,MAAO9O,KAAKiU,YAAc,aAAe,OAASjU,KAAKiU,YAAc,WAAa,cAAgB,MAClKhQ,EAAA,KAAGa,KAAK,QAAQX,MAAM,qBAAmB,aAIzCnE,KAAKgU,WAAahU,KAAK+T,SAAW,SACpC9P,EAAY,cAAAE,MAAO,WAAWnE,KAAKiU,YAAW,aAAc,KAAMnF,MAAO9O,KAAKiU,YAAc,aAAe,OAASjU,KAAKiU,YAAc,WAAa,cAAgB,MAClKhQ,EAAA,KAAGa,KAAK,QAAQX,MAAM,qBAElB,WAEJ,M,aCvFZ,MAAMoQ,EAAiC,k/wE,MCS1BC,EAA2B,MANxC,WAAA1U,CAAAC,G,UAUYC,KAAIgF,KAAW,GACfhF,KAAK8B,MAAW,cACC9B,KAAWyU,YAAY,MACvCzU,KAAc0N,eAAW,EAyDrC,CAtDG,cAAME,CAASK,GACX,MAAMC,EAAWrC,EAAa,GAAGoC,KACjC,MAAM7B,QAAiBC,MAAM6B,GAC7B,MAAMC,QAAY/B,EAASxH,OAC3B5E,KAAK0N,eAAiBS,C,CAG1B,iBAAAtG,GACI7H,KAAK4N,SAAS5N,KAAKgF,K,CAOvB,MAAAhB,GACI,MAAM0Q,EAAY7I,EAAa,8BAC/B,MAAM8I,EAAc9I,EAAa,gCACjC,MAAM+I,EAAmB/I,EAAa,8BACtC,MAAMgJ,EAAqBhJ,EAAa,gCAExC,OACE5H,EAAA0K,EAAA,KACG3O,KAAK8U,YAAc,YAClB7Q,EAAK,OAAAC,IAAA,2CAAAC,MAAO,aAAanE,KAAKyE,SAASzE,KAAK+U,YAC1C9Q,EAAK,OAAAC,IAAA,2CAAAC,MAAO,WAAWnE,KAAKyE,SAASzE,KAAK+U,YACvC/U,KAAKyE,QAAU,UAAYzE,KAAK+U,WAAa,oBAAsB9Q,EAAA,OAAAC,IAAA,2CAAKiI,IAAKuI,EAAWxH,IAAI,GAAG/I,MAAM,QACrGnE,KAAKyE,QAAU,UAAYzE,KAAK+U,WAAa,sBAAwB9Q,EAAA,OAAAC,IAAA,2CAAKiI,IAAKwI,EAAazH,IAAI,GAAG/I,MAAM,QAC1GF,EAAK,OAAAC,IAAA,2CAAAC,MAAM,kBACTF,EAAA,OAAAC,IAAA,2CAAKC,MAAO,QAAQnE,KAAKyE,SAASzE,KAAK+U,WAAY9H,UAAWjN,KAAK0N,kBAErEzJ,EAAA,KAAAC,IAAA,2CAAGC,MAAO,cAAcnE,KAAKyE,SAASzE,KAAK+U,YAAY/U,KAAKyE,QAAU,SAAW,oBAAsB,qBAAsBzE,KAAK8B,SAIvI9B,KAAK8U,YAAc,WAClB7Q,EAAA,OAAAC,IAAA,2CAAKC,MAAM,qBACTF,EAAA,OAAAC,IAAA,2CAAKC,MAAO,mBAAmBnE,KAAKyE,SAASzE,KAAK+U,WAAY5F,aAAc,IAAOnP,KAAKyU,YAAc,KAAOrF,aAAc,IAAOpP,KAAKyU,YAAc,OAClJzU,KAAKyE,QAAU,UAAYzE,KAAK+U,WAAa,oBAAsB9Q,EAAA,OAAAC,IAAA,2CAAKiI,IAAKyI,EAAkB1H,IAAI,GAAG/I,MAAM,gBAC5GnE,KAAKyE,QAAU,UAAYzE,KAAK+U,WAAa,sBAAwB9Q,EAAA,OAAAC,IAAA,2CAAKiI,IAAK0I,EAAoB3H,IAAI,GAAG/I,MAAM,gBACjHF,EAAK,OAAAC,IAAA,2CAAAC,MAAM,0BACTF,EAAA,OAAAC,IAAA,2CAAKC,MAAO,QAAQnE,KAAKyE,SAASzE,KAAK+U,WAAY9H,UAAWjN,KAAK0N,kBAEpE1N,KAAK8U,YAAc,WAAa9U,KAAKyU,aACpCxQ,EAAwB,cAAAC,IAAA,6DAAM4K,MAAM,OAAO3K,MAAM,WAC5CF,EAAA,KAAAC,IAAA,2CAAGY,KAAK,SAAS9E,KAAK8B,U,qCChE/C,MAAMkT,EAAmC,6qvE,MCS5BC,EAA6B,MAN1C,WAAAnV,CAAAC,G,UAUYC,KAAK8B,MAAW,YAChB9B,KAAIgF,KAAW,GACEhF,KAAWyU,YAAY,MAEvCzU,KAAc0N,eAAW,EAwCrC,CAtCG,cAAME,CAASK,GACb,MAAMC,EAAWrC,EAAa,GAAGoC,KACjC,MAAM7B,QAAiBC,MAAM6B,GAC7B,MAAMC,QAAY/B,EAASxH,OAC3B5E,KAAK0N,eAAiBS,C,CAGxB,gBAAAzM,GACE1B,KAAK4N,SAAS5N,KAAKgF,K,CAGrB,MAAAhB,GACI,OACEC,EAAA,OAAAC,IAAA,2CAAKC,MAAO,aAAanE,KAAKoE,QAC5BH,EAAA,OAAAC,IAAA,2CACEC,MAAO,+BAA+BnE,KAAKyE,SAASzE,KAAKoE,QAAQpE,KAAK+U,WACtE5F,aAAc,IAAOnP,KAAKyU,YAAc,KACxCrF,aAAc,IAAOpP,KAAKyU,YAAc,OAExCxQ,EAAK,OAAAC,IAAA,2CAAAC,MAAM,QACTF,EAAK,OAAAC,IAAA,2CAAAC,MAAM,kBACTF,EAAA,OAAAC,IAAA,2CAAKC,MAAO,QAAQnE,KAAKyE,SAASzE,KAAK+U,WAAY9H,UAAWjN,KAAK0N,mBAGtE1N,KAAKoE,OAAS,mBACbH,EAAA,OAAAC,IAAA,2CAAKC,MAAM,QACTF,EAAA,KAAAC,IAAA,2CAAGC,MAAO,cAAcnE,KAAKyE,SAASzE,KAAK+U,YAAY/U,KAAKyE,QAAU,SAAW,iBAAmB,uBAAwBzE,KAAK8B,QAGpI9B,KAAKoE,OAAS,aAAepE,KAAKyU,aACjCxQ,EAAwB,cAAAC,IAAA,6DAAM4K,MAAM,OAAO3K,MAAM,WAC/CF,EAAA,KAAAC,IAAA,2CAAGY,KAAK,SAAS9E,KAAK8B,S,qCClDjC,IAAIoT,EAAQ,CACf,WACA,UACA,cACA,YACA,YACA,gBACA,SACA,gBACA,UACA,gBACA,eACA,yBAEG,IAAIC,EAAW,CAClBC,SAAU,GACVC,WAAY,MACZC,oBAAqB,MACrBC,UAAW,SACXC,SAAU,MACVC,cAAe,qBACfC,eAAgBC,SAAW,UACvBA,OAAOC,UAAUC,UAAUC,QAAQ,WAAY,EACnDC,eAAgB,SAChBC,oBAAqB,KACrBC,WAAY,KACZC,cAAe,KACfC,YAAa,KACbC,WAAY,QACZC,YAAa,GACbC,cAAe,EACfC,eAAgB,EAChBC,QAAS,GACTC,cAAe,MACfC,cAAe,MACfC,WAAY,MACZC,aAAc,SAAUC,GACpB,cAActK,UAAY,aAAeA,QAAQuK,KAAKD,EAC9D,EACIE,QAAS,SAAUC,GACf,IAAIC,EAAO,IAAIC,KAAKF,EAAUG,WAC9BF,EAAKG,SAAS,EAAG,EAAG,EAAG,GACvBH,EAAKI,QAAQJ,EAAKK,UAAY,GAAML,EAAKM,SAAW,GAAK,GACzD,IAAIC,EAAQ,IAAIN,KAAKD,EAAKQ,cAAe,EAAG,GAC5C,OAAQ,EACJlQ,KAAKmQ,QAAQT,EAAKE,UAAYK,EAAML,WAAa,MAC7C,GACEK,EAAMD,SAAW,GAAK,GACxB,EAChB,EACII,cAAe,EACfC,qBAAsB,GACtBC,OAAQ,MACRC,OAAQ,UACRC,gBAAiB,EACjBC,KAAM,SACNC,kBAAmB,WACnBC,UAAW,yOACXC,WAAY,MACZC,IAAK,IAAIlB,KACTmB,SAAU,GACVC,QAAS,GACTC,YAAa,GACbC,UAAW,GACXC,UAAW,GACXC,cAAe,GACfC,OAAQ,GACRC,cAAe,GACfC,QAAS,GACTC,cAAe,GACfC,aAAc,GACdC,sBAAuB,GACvBC,QAAS,GACTC,SAAU,OACVC,gBAAiBC,UACjBC,UAAW,uOACXC,sBAAuB,MACvBC,WAAY,EACZC,OAAQ,MACRC,UAAW,MACXC,YAAa,MACbC,KAAM,OCjFH,IAAIC,EAAU,CACjBC,SAAU,CACNC,UAAW,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OACtDC,SAAU,CACN,SACA,SACA,UACA,YACA,WACA,SACA,aAGRC,OAAQ,CACJF,UAAW,CACP,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OAEJC,SAAU,CACN,UACA,WACA,QACA,QACA,MACA,OACA,OACA,SACA,YACA,UACA,WACA,aAGRE,YAAa,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAC1DC,eAAgB,EAChBC,QAAS,SAAUC,GACf,IAAIC,EAAID,EAAM,IACd,GAAIC,EAAI,GAAKA,EAAI,GACb,MAAO,KACX,OAAQA,EAAI,IACR,KAAK,EACD,MAAO,KACX,KAAK,EACD,MAAO,KACX,KAAK,EACD,MAAO,KACX,QACI,MAAO,KAEvB,EACIC,eAAgB,OAChBC,iBAAkB,KAClBC,YAAa,sBACbC,YAAa,kBACbC,KAAM,CAAC,KAAM,MACbC,cAAe,OACfC,eAAgB,QAChBC,cAAe,OACfC,gBAAiB,SACjBrB,UAAW,OCrER,IAAIsB,EAAM,SAAUC,EAAQtT,GAC/B,GAAIA,SAAW,EAAQ,CAAEA,EAAS,CAAE,CACpC,OAAQ,MAAQsT,GAAQC,MAAMvT,GAAS,EAC3C,EACO,IAAIwT,EAAM,SAAUC,GAAQ,OAAQA,IAAS,KAAO,EAAI,CAAG,EAC3D,SAASC,GAASC,EAAIC,GACzB,IAAIC,EACJ,OAAO,WACH,IAAIC,EAAQxb,KACZ,IAAIyb,EAAOC,UACXC,aAAaJ,GACbA,EAAIK,YAAW,WAAc,OAAOP,EAAGQ,MAAML,EAAOC,EAAM,GAAIH,EACtE,CACA,CACO,IAAIQ,GAAW,SAAUC,GAC5B,OAAOA,aAAeC,MAAQD,EAAM,CAACA,EACzC,EChBO,SAASE,GAAYC,EAAMC,EAAWhB,GACzC,GAAIA,IAAS,KACT,OAAOe,EAAKna,UAAUC,IAAIma,GAC9BD,EAAKna,UAAUqa,OAAOD,EAC1B,CACO,SAASE,GAAcC,EAAKH,EAAWI,GAC1C,IAAI9I,EAAIkC,OAAO6G,SAASH,cAAcC,GACtCH,EAAYA,GAAa,GACzBI,EAAUA,GAAW,GACrB9I,EAAE0I,UAAYA,EACd,GAAII,IAAYnD,UACZ3F,EAAEgJ,YAAcF,EACpB,OAAO9I,CACX,CACO,SAASiJ,GAAUC,GACtB,MAAOA,EAAKC,WACRD,EAAKE,YAAYF,EAAKC,WAC9B,CACO,SAASE,GAAWH,EAAMI,GAC7B,GAAIA,EAAUJ,GACV,OAAOA,OACN,GAAIA,EAAKK,WACV,OAAOF,GAAWH,EAAKK,WAAYD,GACvC,OAAO3D,SACX,CACO,SAAS6D,GAAkBC,EAAgBC,GAC9C,IAAIC,EAAUf,GAAc,MAAO,mBAAoBgB,EAAWhB,GAAc,QAAS,YAAca,GAAiBI,EAAUjB,GAAc,OAAQ,WAAYkB,EAAYlB,GAAc,OAAQ,aACtM,GAAIzG,UAAUC,UAAUC,QAAQ,eAAgB,EAAI,CAChDuH,EAASjZ,KAAO,QACxB,KACS,CACDiZ,EAASjZ,KAAO,OAChBiZ,EAASG,QAAU,MAC3B,CACI,GAAIL,IAAS/D,UACT,IAAK,IAAIlV,KAAOiZ,EACZE,EAASI,aAAavZ,EAAKiZ,EAAKjZ,IACxCkZ,EAAQM,YAAYL,GACpBD,EAAQM,YAAYJ,GACpBF,EAAQM,YAAYH,GACpB,OAAOH,CACX,CACO,SAASO,GAAepb,GAC3B,IACI,UAAWA,EAAMqb,eAAiB,WAAY,CAC1C,IAAIC,EAAOtb,EAAMqb,eACjB,OAAOC,EAAK,EACxB,CACQ,OAAOtb,EAAMub,MACrB,CACI,MAAO1S,GACH,OAAO7I,EAAMub,MACrB,CACA,CCpDA,IAAIC,GAAY,WAAc,OAAO3E,SAAU,EACxC,IAAI4E,GAAa,SAAUC,EAAanE,EAAWhC,GAAU,OAAOA,EAAOkC,OAAOF,EAAY,YAAc,YAAYmE,EAAa,EACrI,IAAIC,GAAY,CACnBC,EAAGJ,GACHK,EAAG,SAAUC,EAASC,EAAWxG,GAC7BuG,EAAQE,SAASzG,EAAOkC,OAAOD,SAASjE,QAAQwI,GACxD,EACIE,EAAG,SAAUH,EAASI,GAClBJ,EAAQjH,UAAUiH,EAAQK,YAAc,GAAK,GAAK,GAAKC,WAAWF,GAC1E,EACIG,EAAG,SAAUP,EAASI,GAClBJ,EAAQjH,SAASuH,WAAWF,GACpC,EACII,EAAG,SAAUR,EAASS,GAClBT,EAAQhH,QAAQsH,WAAWG,GACnC,EACIC,EAAG,SAAUV,EAAS3D,EAAM5C,GACxBuG,EAAQjH,SAAUiH,EAAQK,WAAa,GACnC,GAAKxD,EAAI,IAAI8D,OAAOlH,EAAO4C,KAAK,GAAI,KAAKuE,KAAKvE,IAC1D,EACIwE,EAAG,SAAUb,EAASc,EAAYrH,GAC9BuG,EAAQE,SAASzG,EAAOkC,OAAOF,UAAUhE,QAAQqJ,GACzD,EACIC,EAAG,SAAUf,EAASgB,GAClBhB,EAAQiB,WAAWX,WAAWU,GACtC,EACIE,EAAG,SAAUC,EAAGC,GAAe,OAAO,IAAIvI,KAAKyH,WAAWc,GAAe,IAAM,EAC/EC,EAAG,SAAUrB,EAASsB,EAAS7H,GAC3B,IAAI8H,EAAaC,SAASF,GAC1B,IAAI1I,EAAO,IAAIC,KAAKmH,EAAQ5G,cAAe,EAAG,GAAKmI,EAAa,GAAK,EAAG,EAAG,EAAG,EAAG,GACjF3I,EAAKI,QAAQJ,EAAKK,UAAYL,EAAKM,SAAWO,EAAOoC,gBACrD,OAAOjD,CACf,EACI6I,EAAG,SAAUzB,EAAS0B,GAClB1B,EAAQ2B,YAAYrB,WAAWoB,GACvC,EACIE,EAAG,SAAUT,EAAGU,GAAW,OAAO,IAAIhJ,KAAKgJ,EAAS,EACpD7X,EAAG,SAAUgW,EAASS,GAClBT,EAAQhH,QAAQsH,WAAWG,GACnC,EACI7a,EAAG,SAAUoa,EAASI,GAClBJ,EAAQjH,UAAUiH,EAAQK,YAAc,GAAK,GAAK,GAAKC,WAAWF,GAC1E,EACIzO,EAAG,SAAUqO,EAAS8B,GAClB9B,EAAQ+B,WAAWzB,WAAWwB,GACtC,EACIE,EAAG,SAAUhC,EAASS,GAClBT,EAAQhH,QAAQsH,WAAWG,GACnC,EACIwB,EAAGvC,GACHwC,EAAG,SAAUlC,EAASmC,GAClBnC,EAAQE,SAASI,WAAW6B,GAAS,EAC7C,EACIC,EAAG,SAAUpC,EAASmC,GAClBnC,EAAQE,SAASI,WAAW6B,GAAS,EAC7C,EACInG,EAAG,SAAUgE,EAASgB,GAClBhB,EAAQiB,WAAWX,WAAWU,GACtC,EACIqB,EAAG,SAAUlB,EAAGmB,GACZ,OAAO,IAAIzJ,KAAKyH,WAAWgC,GACnC,EACIC,EAAG7C,GACH1M,EAAG,SAAUgN,EAAS0B,GAClB1B,EAAQ2B,YAAY,IAAOrB,WAAWoB,GAC9C,GAEO,IAAIc,GAAa,CACpB1C,EAAG,GACHC,EAAG,GACHI,EAAG,eACHI,EAAG,eACHC,EAAG,mBACHE,EAAG,GACHG,EAAG,GACHE,EAAG,eACHG,EAAG,OACHG,EAAG,eACHI,EAAG,WACHG,EAAG,OACH5X,EAAG,eACHpE,EAAG,eACH+L,EAAG,eACHqQ,EAAG,eACHC,EAAG,GACHC,EAAG,eACHE,EAAG,eACHpG,EAAG,eACHqG,EAAG,OACHE,EAAG,eACHvP,EAAG,YAEA,IAAIyP,GAAU,CACjBb,EAAG,SAAUhJ,GAAQ,OAAOA,EAAK8J,aAAc,EAC/C5C,EAAG,SAAUlH,EAAMa,EAAQkJ,GACvB,OAAOlJ,EAAO+B,SAASC,UAAUgH,GAAQF,EAAE3J,EAAMa,EAAQkJ,GACjE,EACI5C,EAAG,SAAUnH,EAAMa,EAAQkJ,GACvB,OAAOhD,GAAW8C,GAAQL,EAAExJ,EAAMa,EAAQkJ,GAAW,EAAG,MAAOlJ,EACvE,EACI0G,EAAG,SAAUvH,EAAMa,EAAQkJ,GACvB,OAAOjG,EAAI+F,GAAQ7c,EAAEgT,EAAMa,EAAQkJ,GAC3C,EACIpC,EAAG,SAAU3H,GAAQ,OAAO8D,EAAI9D,EAAKyH,WAAY,EACjDG,EAAG,SAAU5H,EAAMa,GACf,OAAOA,EAAOqC,UAAYf,UACpBnC,EAAKK,UAAYQ,EAAOqC,QAAQlD,EAAKK,WACrCL,EAAKK,SACnB,EACIyH,EAAG,SAAU9H,EAAMa,GAAU,OAAOA,EAAO4C,KAAKQ,EAAIjE,EAAKyH,WAAa,IAAK,EAC3EQ,EAAG,SAAUjI,EAAMa,GACf,OAAOkG,GAAW/G,EAAKgK,WAAY,KAAMnJ,EACjD,EACIsH,EAAG,SAAUnI,GAAQ,OAAO8D,EAAI9D,EAAKiK,aAAc,EACnD3B,EAAG,SAAUtI,GAAQ,OAAOA,EAAKE,UAAY,GAAK,EAClDuI,EAAG,SAAUzI,EAAMuI,EAAGwB,GAClB,OAAOA,EAAQjK,QAAQE,EAC/B,EACI6I,EAAG,SAAU7I,GAAQ,OAAO8D,EAAI9D,EAAKQ,cAAe,EAAG,EACvDpP,EAAG,SAAU4O,GAAQ,OAAO8D,EAAI9D,EAAKK,UAAW,EAChDrT,EAAG,SAAUgT,GAAQ,OAAQA,EAAKyH,WAAa,GAAKzH,EAAKyH,WAAa,GAAK,EAAI,EAC/E1O,EAAG,SAAUiH,GAAQ,OAAO8D,EAAI9D,EAAKkK,aAAc,EACnDd,EAAG,SAAUpJ,GAAQ,OAAOA,EAAKK,SAAU,EAC3CgJ,EAAG,SAAUrJ,EAAMa,GACf,OAAOA,EAAO+B,SAASE,SAAS9C,EAAKM,SAC7C,EACIgJ,EAAG,SAAUtJ,GAAQ,OAAO8D,EAAI9D,EAAKgK,WAAa,EAAG,EACrDR,EAAG,SAAUxJ,GAAQ,OAAOA,EAAKgK,WAAa,CAAE,EAChD5G,EAAG,SAAUpD,GAAQ,OAAOA,EAAKiK,YAAa,EAC9CR,EAAG,SAAUzJ,GAAQ,OAAOA,EAAKE,SAAU,EAC3CyJ,EAAG,SAAU3J,GAAQ,OAAOA,EAAKM,QAAS,EAC1ClG,EAAG,SAAU4F,GAAQ,OAAOmK,OAAOnK,EAAKQ,eAAe4J,UAAU,EAAG,GCjIjE,IAAIC,GAAsB,SAAUC,GACvC,IAAIC,EAAKD,EAAGE,OAAQA,EAASD,SAAO,EAASrM,EAAWqM,EAAIE,EAAKH,EAAGI,KAAMA,EAAOD,SAAO,EAAS9H,EAAU8H,EAAIE,EAAKL,EAAGM,SAAUA,EAAWD,SAAO,EAAS,MAAQA,EACpK,OAAO,SAAUvD,EAASyD,EAAMC,GAC5B,IAAIjK,EAASiK,GAAkBJ,EAC/B,GAAIF,EAAOO,aAAe5I,YAAcyI,EAAU,CAC9C,OAAOJ,EAAOO,WAAW3D,EAASyD,EAAMhK,EACpD,CACQ,OAAOgK,EACFG,MAAM,IACNlY,KAAI,SAAUmY,EAAGlS,EAAGmS,GACrB,OAAOrB,GAAQoB,IAAMC,EAAInS,EAAI,KAAO,KAC9B8Q,GAAQoB,GAAG7D,EAASvG,EAAQ2J,GAC5BS,IAAM,KACFA,EACA,EACtB,IACaE,KAAK,GAClB,CACA,EACO,IAAIC,GAAmB,SAAUd,GACpC,IAAIC,EAAKD,EAAGE,OAAQA,EAASD,SAAO,EAASrM,EAAWqM,EAAIE,EAAKH,EAAGI,KAAMA,EAAOD,SAAO,EAAS9H,EAAU8H,EAC3G,OAAO,SAAUzK,EAAMqL,EAAaC,EAAUC,GAC1C,GAAIvL,IAAS,IAAMA,EACf,OAAOmC,UACX,IAAItB,EAAS0K,GAAgBb,EAC7B,IAAIc,EACJ,IAAIC,EAAWzL,EACf,GAAIA,aAAgBC,KAChBuL,EAAa,IAAIvL,KAAKD,EAAKE,gBAC1B,UAAWF,IAAS,UACrBA,EAAK0L,UAAYvJ,UACjBqJ,EAAa,IAAIvL,KAAKD,QACrB,UAAWA,IAAS,SAAU,CAC/B,IAAI2L,EAASN,IAAgBb,GAAUtM,GAAUiB,WACjD,IAAIyM,EAAUzB,OAAOnK,GAAM6L,OAC3B,GAAID,IAAY,QAAS,CACrBJ,EAAa,IAAIvL,KACjBqL,EAAW,IAC3B,MACiB,GAAId,GAAUA,EAAOsB,UAAW,CACjCN,EAAahB,EAAOsB,UAAU9L,EAAM2L,EACpD,MACiB,GAAI,KAAK3D,KAAK4D,IACf,OAAO5D,KAAK4D,GAAU,CACtBJ,EAAa,IAAIvL,KAAKD,EACtC,KACiB,CACD,IAAI+L,OAAU,EAAQC,EAAM,GAC5B,IAAK,IAAIjT,EAAI,EAAGkT,EAAa,EAAGC,EAAW,GAAInT,EAAI4S,EAAOlb,OAAQsI,IAAK,CACnE,IAAIoT,EAAQR,EAAO5S,GACnB,IAAIqT,EAAcD,IAAU,KAC5B,IAAIE,EAAUV,EAAO5S,EAAI,KAAO,MAAQqT,EACxC,GAAIxC,GAAWuC,KAAWE,EAAS,CAC/BH,GAAYtC,GAAWuC,GACvB,IAAIG,EAAQ,IAAIvE,OAAOmE,GAAUK,KAAKvM,GACtC,GAAIsM,IAAUP,EAAU,MAAO,CAC3BC,EAAIG,IAAU,IAAM,OAAS,WAAW,CACpC/H,GAAI6C,GAAUkF,GACdK,IAAKF,IAAQL,IAE7C,CACA,MACyB,IAAKG,EACNF,GAAY,GACpC,CACgBV,GACKhB,IAAWA,EAAOtJ,WACb,IAAIjB,MAAK,IAAIA,MAAOO,cAAe,EAAG,EAAG,EAAG,EAAG,EAAG,GAClD,IAAIP,MAAK,IAAIA,MAAOE,SAAS,EAAG,EAAG,EAAG,IAChD6L,EAAIzQ,SAAQ,SAAU+O,GAClB,IAAIlG,EAAKkG,EAAGlG,GAAIoI,EAAMlC,EAAGkC,IACzB,OAAQhB,EAAapH,EAAGoH,EAAYgB,EAAK3L,IAAW2K,CACxE,IACgBA,EAAaO,EAAUP,EAAarJ,SACpD,CACA,CACQ,KAAMqJ,aAAsBvL,OAASwM,MAAMjB,EAAWtL,YAAa,CAC/DsK,EAAO7K,aAAa,IAAI+M,MAAM,0BAA4BjB,IAC1D,OAAOtJ,SACnB,CACQ,GAAImJ,IAAa,KACbE,EAAWrL,SAAS,EAAG,EAAG,EAAG,GACjC,OAAOqL,CACf,CACA,EACO,SAASmB,GAAaC,EAAOC,EAAOvB,GACvC,GAAIA,SAAa,EAAQ,CAAEA,EAAW,IAAK,CAC3C,GAAIA,IAAa,MAAO,CACpB,OAAQ,IAAIrL,KAAK2M,EAAM1M,WAAWC,SAAS,EAAG,EAAG,EAAG,GAChD,IAAIF,KAAK4M,EAAM3M,WAAWC,SAAS,EAAG,EAAG,EAAG,EACxD,CACI,OAAOyM,EAAM1M,UAAY2M,EAAM3M,SACnC,CAOO,IAAI4M,GAAY,SAAUC,EAAIC,EAAKC,GACtC,OAAOF,EAAKzc,KAAK4c,IAAIF,EAAKC,IAAQF,EAAKzc,KAAK6c,IAAIH,EAAKC,EACzD,EACO,IAAIG,GAAgC,SAAUC,EAAOnE,EAASd,GACjE,OAAOiF,EAAQ,KAAOnE,EAAU,GAAKd,CACzC,EACO,IAAIkF,GAAe,SAAUC,GAChC,IAAIF,EAAQ/c,KAAKC,MAAMgd,EAAuB,MAAOrE,GAAWqE,EAAuBF,EAAQ,MAAQ,GACvG,MAAO,CAACA,EAAOnE,EAASqE,EAAuBF,EAAQ,KAAOnE,EAAU,GAC5E,EACO,IAAIsE,GAAW,CAClBC,IAAK,OAEF,SAASC,GAAgBlD,GAC5B,IAAI6C,EAAQ7C,EAAOpL,YACnB,IAAI8J,EAAUsB,EAAOnL,cACrB,IAAI+I,EAAUoC,EAAOlL,eACrB,GAAIkL,EAAOmD,UAAYxL,UAAW,CAC9B,IAAIyL,EAAUpD,EAAOmD,QAAQlG,WAC7B,IAAIoG,EAAarD,EAAOmD,QAAQzD,aAChC,IAAI4D,EAAatD,EAAOmD,QAAQ1D,aAChC,GAAIoD,EAAQO,EAAS,CACjBP,EAAQO,CACpB,CACQ,GAAIP,IAAUO,GAAW1E,EAAU2E,EAAY,CAC3C3E,EAAU2E,CACtB,CACQ,GAAIR,IAAUO,GAAW1E,IAAY2E,GAAczF,EAAU0F,EACzD1F,EAAUoC,EAAOmD,QAAQ1D,YACrC,CACI,GAAIO,EAAOuD,UAAY5L,UAAW,CAC9B,IAAI6L,EAAQxD,EAAOuD,QAAQtG,WAC3B,IAAIwG,EAAazD,EAAOuD,QAAQ7D,aAChCmD,EAAQ/c,KAAK4c,IAAIG,EAAOW,GACxB,GAAIX,IAAUW,EACV9E,EAAU5Y,KAAK4c,IAAIe,EAAY/E,GACnC,GAAImE,IAAUW,GAAS9E,IAAY+E,EAC/B7F,EAAUoC,EAAOuD,QAAQ9D,YACrC,CACI,MAAO,CAAEoD,MAAOA,EAAOnE,QAASA,EAASd,QAASA,EACtD,CC7IA,UAAWpP,OAAOC,SAAW,WAAY,CACrCD,OAAOC,OAAS,SAAU4N,GACtB,IAAIrC,EAAO,GACX,IAAK,IAAI0J,EAAK,EAAGA,EAAKzJ,UAAUhU,OAAQyd,IAAM,CAC1C1J,EAAK0J,EAAK,GAAKzJ,UAAUyJ,EACrC,CACQ,IAAKrH,EAAQ,CACT,MAAMsH,UAAU,6CAC5B,CACQ,IAAIC,EAAU,SAAUC,GACpB,GAAIA,EAAQ,CACRrV,OAAOsV,KAAKD,GAAQ9S,SAAQ,SAAUtO,GAAO,OAAQ4Z,EAAO5Z,GAAOohB,EAAOphB,EAAM,GAChG,CACA,EACQ,IAAK,IAAIqd,EAAK,EAAGiE,EAAS/J,EAAM8F,EAAKiE,EAAO9d,OAAQ6Z,IAAM,CACtD,IAAI+D,EAASE,EAAOjE,GACpB8D,EAAQC,EACpB,CACQ,OAAOxH,CACf,CACA,CCrBA,IAAI2H,GAAYzlB,WAAQA,UAAKylB,UAAa,WACtCA,GAAWxV,OAAOC,QAAU,SAASqL,GACjC,IAAK,IAAIlB,EAAGrK,EAAI,EAAGyQ,EAAI/E,UAAUhU,OAAQsI,EAAIyQ,EAAGzQ,IAAK,CACjDqK,EAAIqB,UAAU1L,GACd,IAAK,IAAI0V,KAAKrL,EAAG,GAAIpK,OAAO0V,UAAUC,eAAeC,KAAKxL,EAAGqL,GACzDnK,EAAEmK,GAAKrL,EAAEqL,EACzB,CACQ,OAAOnK,CACf,EACI,OAAOkK,GAAS5J,MAAM7b,KAAM0b,UAChC,EACA,IAAIoK,GAAkB9lB,WAAQA,UAAK8lB,gBAAmB,WAClD,IAAK,IAAIzL,EAAI,EAAGrK,EAAI,EAAG+V,EAAKrK,UAAUhU,OAAQsI,EAAI+V,EAAI/V,IAAKqK,GAAKqB,UAAU1L,GAAGtI,OAC7E,IAAK,IAAIsF,EAAIgP,MAAM3B,GAAI2L,EAAI,EAAGhW,EAAI,EAAGA,EAAI+V,EAAI/V,IACzC,IAAK,IAAIiW,EAAIvK,UAAU1L,GAAIqQ,EAAI,EAAG6F,EAAKD,EAAEve,OAAQ2Y,EAAI6F,EAAI7F,IAAK2F,IAC1DhZ,EAAEgZ,GAAKC,EAAE5F,GACjB,OAAOrT,CACX,EAQA,IAAImZ,GAAsB,IAC1B,SAASC,GAAkBC,EAASC,GAChC,IAAIC,EAAO,CACP9E,OAAQgE,GAASA,GAAS,GAAIe,GAAiBC,GAAUC,eACzD/E,KAAMgF,GAEVJ,EAAKxD,UAAYV,GAAiB,CAAEZ,OAAQ8E,EAAK9E,OAAQE,KAAM4E,EAAK5E,OACpE4E,EAAKK,UAAY,GACjBL,EAAKM,eAAiB,GACtBN,EAAKO,cAAgB,GACrBP,EAAKQ,MAAQliB,EACb0hB,EAAKS,kBAAoBC,EACzBV,EAAKW,kBAAoBC,GACzBZ,EAAKa,YAAcA,EACnBb,EAAKc,WAAaA,EAClBd,EAAKe,MAAQA,EACbf,EAAKgB,MAAQA,EACbhB,EAAKlS,YAAcA,EACnBkS,EAAKiB,eAAiBnL,GACtBkK,EAAKkB,UAAYA,EACjBlB,EAAKmB,QAAUA,EACfnB,EAAKoB,UAAYA,EACjBpB,EAAKqB,WAAaA,EAClBrB,EAAKsB,YAAcA,GACnBtB,EAAKuB,KAAOA,GACZvB,EAAKwB,OAASA,GACdxB,EAAKyB,IAAMA,GACXzB,EAAKlP,QAAUA,GACfkP,EAAK0B,OAASA,GACd,SAASC,IACL3B,EAAK4B,MAAQ,CACTC,eAAgB,SAAU5H,EAAO6H,GAC7B,GAAI7H,SAAU,EAAQ,CAAEA,EAAQ+F,EAAK+B,YAAa,CAClD,GAAID,SAAO,EAAQ,CAAEA,EAAK9B,EAAKgC,WAAY,CAC3C,GAAI/H,IAAU,IAAO6H,EAAK,IAAM,GAAKA,EAAK,MAAQ,GAAMA,EAAK,MAAQ,GACjE,OAAO,GACX,OAAO9B,EAAK5E,KAAK1H,YAAYuG,EAC7C,EAEA,CACI,SAASgI,IACLjC,EAAKF,QAAUE,EAAKkC,MAAQpC,EAC5BE,EAAKmC,OAAS,MACdC,KACAC,KACAC,KACAC,KACAZ,IACA,IAAK3B,EAAK1E,SACNkH,IACJC,IACA,GAAIzC,EAAK0C,cAAcvhB,QAAU6e,EAAK9E,OAAOtJ,WAAY,CACrD,GAAIoO,EAAK9E,OAAO9K,WAAY,CACxBsQ,EAAiBV,EAAK9E,OAAOtJ,WAAaoO,EAAK2C,sBAAwB9P,UACvF,CACYyO,GAAY,MACxB,CACQsB,IACA,IAAIC,EAAW,iCAAiCnK,KAAKrJ,UAAUC,WAC/D,IAAK0Q,EAAK1E,UAAYuH,EAAU,CAC5BjC,IACZ,CACQkC,GAAa,UACrB,CACI,SAASC,IACL,IAAI/H,EACJ,QAAUA,EAAKgF,EAAKgD,qBAAuB,MAAQhI,SAAO,OAAS,EAASA,EAAGiI,eAC1EC,eAAiBjN,SAASiN,aACvC,CACI,SAASC,EAAerO,GACpB,OAAOA,EAAGxW,KAAK0hB,EACvB,CACI,SAAS4C,IACL,IAAI1H,EAAS8E,EAAK9E,OAClB,GAAIA,EAAO/H,cAAgB,OAAS+H,EAAOlI,aAAe,EAAG,CACzD,MACZ,MACa,GAAIkI,EAAOtJ,aAAe,KAAM,CACjCxC,OAAOgU,uBAAsB,WACzB,GAAIpD,EAAKgD,oBAAsBnQ,UAAW,CACtCmN,EAAKgD,kBAAkBzb,MAAM8b,WAAa,SAC1CrD,EAAKgD,kBAAkBzb,MAAMC,QAAU,OAC3D,CACgB,GAAIwY,EAAKsD,gBAAkBzQ,UAAW,CAClC,IAAI0Q,GAAavD,EAAKwD,KAAKC,YAAc,GAAKvI,EAAOlI,WACrDgN,EAAKsD,cAAc/b,MAAM7F,MAAQ6hB,EAAY,KAC7CvD,EAAKgD,kBAAkBzb,MAAM7F,MACzB6hB,GACKvD,EAAK0D,cAAgB7Q,UAChBmN,EAAK0D,YAAYD,YACjB,GACN,KACRzD,EAAKgD,kBAAkBzb,MAAMoc,eAAe,cAC5C3D,EAAKgD,kBAAkBzb,MAAMoc,eAAe,UAChE,CACA,GACA,CACA,CACI,SAASC,EAAW1W,GAChB,GAAI8S,EAAK0C,cAAcvhB,SAAW,EAAG,CACjC,IAAI0iB,EAAc7D,EAAK9E,OAAOmD,UAAYxL,WACtCwK,GAAa,IAAI1M,KAAQqP,EAAK9E,OAAOmD,UAAY,EAC/C,IAAI1N,KACJ,IAAIA,KAAKqP,EAAK9E,OAAOmD,QAAQzN,WACnC,IAAIhC,EAAWwP,GAAgB4B,EAAK9E,QACpC2I,EAAYhT,SAASjC,EAASmP,MAAOnP,EAASgL,QAAShL,EAASkK,QAAS+K,EAAYC,mBACrF9D,EAAK0C,cAAgB,CAACmB,GACtB7D,EAAK2C,sBAAwBkB,CACzC,CACQ,GAAI3W,IAAM2F,WAAa3F,EAAErP,OAAS,OAAQ,CACtCkmB,GAAY7W,EACxB,CACQ,IAAI8W,EAAYhE,EAAKiE,OAAOC,MAC5BC,IACA7C,KACA,GAAItB,EAAKiE,OAAOC,QAAUF,EAAW,CACjChE,EAAKoE,kBACjB,CACA,CACI,SAASC,EAAcnM,EAAM/D,GACzB,OAAQ+D,EAAO,GAAM,GAAKvD,EAAIR,IAAS6L,EAAK5E,KAAKjH,KAAK,GAC9D,CACI,SAASmQ,EAAcpM,GACnB,OAAQA,EAAO,IACX,KAAK,EACL,KAAK,GACD,OAAO,GACX,QACI,OAAOA,EAAO,GAE9B,CACI,SAASiM,IACL,GAAInE,EAAKuE,cAAgB1R,WAAamN,EAAKwE,gBAAkB3R,UACzD,OACJ,IAAIkL,GAASzE,SAAS0G,EAAKuE,YAAYL,MAAMxP,OAAM,GAAK,KAAO,GAAK,GAAIkF,GAAWN,SAAS0G,EAAKwE,cAAcN,MAAO,KAAO,GAAK,GAAIpL,EAAUkH,EAAKyE,gBAAkB5R,WAChKyG,SAAS0G,EAAKyE,cAAcP,MAAO,KAAO,GAAK,GAChD,EACN,GAAIlE,EAAK7L,OAAStB,UAAW,CACzBkL,EAAQsG,EAActG,EAAOiC,EAAK7L,KAAK+B,YACnD,CACQ,IAAIwO,EAAgB1E,EAAK9E,OAAOyJ,UAAY9R,WACvCmN,EAAK9E,OAAOmD,SACT2B,EAAK4E,gBACL5E,EAAK2C,uBACLtF,GAAa2C,EAAK2C,sBAAuB3C,EAAK9E,OAAOmD,QAAS,QAC1D,EACZ,IAAIwG,EAAgB7E,EAAK9E,OAAO4J,UAAYjS,WACvCmN,EAAK9E,OAAOuD,SACTuB,EAAK+E,gBACL/E,EAAK2C,uBACLtF,GAAa2C,EAAK2C,sBAAuB3C,EAAK9E,OAAOuD,QAAS,QAC1D,EACZ,GAAIuB,EAAK9E,OAAO4J,UAAYjS,WACxBmN,EAAK9E,OAAOyJ,UAAY9R,WACxBmN,EAAK9E,OAAOyJ,QAAU3E,EAAK9E,OAAO4J,QAAS,CAC3C,IAAIE,EAAWlH,GAA8BkC,EAAK9E,OAAOyJ,QAAQxM,WAAY6H,EAAK9E,OAAOyJ,QAAQ/J,aAAcoF,EAAK9E,OAAOyJ,QAAQhK,cACnI,IAAIsK,EAAWnH,GAA8BkC,EAAK9E,OAAO4J,QAAQ3M,WAAY6H,EAAK9E,OAAO4J,QAAQlK,aAAcoF,EAAK9E,OAAO4J,QAAQnK,cACnI,IAAIuK,EAAcpH,GAA8BC,EAAOnE,EAASd,GAChE,GAAIoM,EAAcD,GAAYC,EAAcF,EAAU,CAClD,IAAIG,EAASnH,GAAagH,GAC1BjH,EAAQoH,EAAO,GACfvL,EAAUuL,EAAO,GACjBrM,EAAUqM,EAAO,EACjC,CACA,KACa,CACD,GAAIN,EAAe,CACf,IAAIC,EAAU9E,EAAK9E,OAAO4J,UAAYjS,UAChCmN,EAAK9E,OAAO4J,QACZ9E,EAAK9E,OAAOuD,QAClBV,EAAQ/c,KAAK4c,IAAIG,EAAO+G,EAAQ3M,YAChC,GAAI4F,IAAU+G,EAAQ3M,WAClByB,EAAU5Y,KAAK4c,IAAIhE,EAASkL,EAAQlK,cACxC,GAAIhB,IAAYkL,EAAQlK,aACpB9B,EAAU9X,KAAK4c,IAAI9E,EAASgM,EAAQnK,aACxD,CACY,GAAI+J,EAAe,CACf,IAAIC,EAAU3E,EAAK9E,OAAOyJ,UAAY9R,UAChCmN,EAAK9E,OAAOyJ,QACZ3E,EAAK9E,OAAOmD,QAClBN,EAAQ/c,KAAK6c,IAAIE,EAAO4G,EAAQxM,YAChC,GAAI4F,IAAU4G,EAAQxM,YAAcyB,EAAU+K,EAAQ/J,aAClDhB,EAAU+K,EAAQ/J,aACtB,GAAIhB,IAAY+K,EAAQ/J,aACpB9B,EAAU9X,KAAK6c,IAAI/E,EAAS6L,EAAQhK,aACxD,CACA,CACQ9J,EAASkN,EAAOnE,EAASd,EACjC,CACI,SAAS4H,EAAiB5I,GACtB,IAAIpH,EAAOoH,GAAWkI,EAAK2C,sBAC3B,GAAIjS,GAAQA,aAAgBC,KAAM,CAC9BE,EAASH,EAAKyH,WAAYzH,EAAKkK,aAAclK,EAAKiK,aAC9D,CACA,CACI,SAAS9J,EAASkN,EAAOnE,EAASd,GAC9B,GAAIkH,EAAK2C,wBAA0B9P,UAAW,CAC1CmN,EAAK2C,sBAAsB9R,SAASkN,EAAQ,GAAInE,EAASd,GAAW,EAAG,EACnF,CACQ,IAAKkH,EAAKuE,cAAgBvE,EAAKwE,eAAiBxE,EAAK1E,SACjD,OACJ0E,EAAKuE,YAAYL,MAAQ1P,GAAKwL,EAAK9E,OAAOhI,WAClC,GAAK6K,GAAS,GAAM,GAAKpJ,EAAIoJ,EAAQ,KAAO,GAC9CA,GACNiC,EAAKwE,cAAcN,MAAQ1P,EAAIoF,GAC/B,GAAIoG,EAAK7L,OAAStB,UACdmN,EAAK7L,KAAK+B,YAAc8J,EAAK5E,KAAKjH,KAAKQ,EAAIoJ,GAAS,KACxD,GAAIiC,EAAKyE,gBAAkB5R,UACvBmN,EAAKyE,cAAcP,MAAQ1P,EAAIsE,EAC3C,CACI,SAASsM,EAAYppB,GACjB,IAAIqpB,EAAcjO,GAAepb,GACjC,IAAIwd,EAAOF,SAAS+L,EAAYnB,QAAUloB,EAAMspB,OAAS,GACzD,GAAI9L,EAAO,IAAO,GACbxd,EAAM2B,MAAQ,UAAY,QAAQ+a,KAAKc,EAAK+L,YAAc,CAC3DzE,EAAWtH,EACvB,CACA,CACI,SAASlb,EAAKwhB,EAAS9jB,EAAOwpB,EAAS/K,GACnC,GAAIze,aAAiByZ,MACjB,OAAOzZ,EAAMiQ,SAAQ,SAAUwZ,GAAM,OAAOnnB,EAAKwhB,EAAS2F,EAAID,EAAS/K,EAAS,IACpF,GAAIqF,aAAmBrK,MACnB,OAAOqK,EAAQ7T,SAAQ,SAAU5Q,GAAM,OAAOiD,EAAKjD,EAAIW,EAAOwpB,EAAS/K,EAAS,IACpFqF,EAAQ4F,iBAAiB1pB,EAAOwpB,EAAS/K,GACzCuF,EAAKK,UAAUsF,KAAK,CAChB9P,OAAQ,WAAc,OAAOiK,EAAQ8F,oBAAoB5pB,EAAOwpB,EAAS/K,EAAS,GAE9F,CACI,SAASoL,IACL/C,GAAa,WACrB,CACI,SAASL,IACL,GAAIzC,EAAK9E,OAAO9H,KAAM,CAClB,CAAC,OAAQ,QAAS,SAAU,SAASnH,SAAQ,SAAU6Z,GACnDrQ,MAAM2J,UAAUnT,QAAQqT,KAAKU,EAAKF,QAAQ9T,iBAAiB,SAAW8Z,EAAM,MAAM,SAAUzqB,GACxF,OAAOiD,EAAKjD,EAAI,QAAS2kB,EAAK8F,GAClD,GACA,GACA,CACQ,GAAI9F,EAAK1E,SAAU,CACfyK,KACA,MACZ,CACQ,IAAIC,EAAkBnR,GAASoR,GAAU,IACzCjG,EAAKoE,iBAAmBvP,GAASgR,EAAejG,IAChD,GAAII,EAAKsD,gBAAkB,oBAAoB5K,KAAKrJ,UAAUC,WAC1DhR,EAAK0hB,EAAKsD,cAAe,aAAa,SAAUpW,GAC5C,GAAI8S,EAAK9E,OAAOzJ,OAAS,QACrB3D,EAAYsJ,GAAelK,GAC/C,IACQ5O,EAAK0hB,EAAKiE,OAAQ,UAAW/R,GAC7B,GAAI8N,EAAKgD,oBAAsBnQ,UAAW,CACtCvU,EAAK0hB,EAAKgD,kBAAmB,UAAW9Q,EACpD,CACQ,IAAK8N,EAAK9E,OAAO5J,SAAW0O,EAAK9E,OAAOjI,OACpC3U,EAAK8Q,OAAQ,SAAU4W,GAC3B,GAAI5W,OAAO8W,eAAiBrT,UACxBvU,EAAK8Q,OAAO6G,SAAU,aAAckQ,QAEpC7nB,EAAK8Q,OAAO6G,SAAU,YAAakQ,GACvC7nB,EAAK8Q,OAAO6G,SAAU,QAASkQ,EAAe,CAAEC,QAAS,OACzD,GAAIpG,EAAK9E,OAAOxL,aAAe,KAAM,CACjCpR,EAAK0hB,EAAKiE,OAAQ,QAASjE,EAAKuB,MAChCjjB,EAAK0hB,EAAKiE,OAAQ,QAASjE,EAAKuB,KAC5C,CACQ,GAAIvB,EAAKsD,gBAAkBzQ,UAAW,CAClCvU,EAAK0hB,EAAKqG,SAAU,QAASC,IAC7BhoB,EAAK0hB,EAAKqG,SAAU,CAAC,QAAS,aAAcjB,GAC5C9mB,EAAK0hB,EAAKsD,cAAe,QAASiD,GAC9C,CACQ,GAAIvG,EAAKwG,gBAAkB3T,WACvBmN,EAAKwE,gBAAkB3R,WACvBmN,EAAKuE,cAAgB1R,UAAW,CAChC,IAAI4T,EAAU,SAAUvZ,GACpB,OAAOkK,GAAelK,GAAGwZ,QACzC,EACYpoB,EAAK0hB,EAAKwG,cAAe,CAAC,aAAc5C,GACxCtlB,EAAK0hB,EAAKwG,cAAe,OAAQ5C,EAAY,CAAEwC,QAAS,OACxD9nB,EAAK0hB,EAAKwG,cAAe,QAASG,GAClCroB,EAAK,CAAC0hB,EAAKuE,YAAavE,EAAKwE,eAAgB,CAAC,QAAS,SAAUiC,GACjE,GAAIzG,EAAKyE,gBAAkB5R,UACvBvU,EAAK0hB,EAAKyE,cAAe,SAAS,WAAc,OAAOzE,EAAKyE,eAAiBzE,EAAKyE,cAAciC,QAAS,IAC7G,GAAI1G,EAAK7L,OAAStB,UAAW,CACzBvU,EAAK0hB,EAAK7L,KAAM,SAAS,SAAUjH,GAC/B0W,EAAW1W,EAC/B,GACA,CACA,CACQ,GAAI8S,EAAK9E,OAAOpM,WAAY,CACxBxQ,EAAK0hB,EAAKiE,OAAQ,OAAQ2C,EACtC,CACA,CACI,SAASvF,EAAWwF,EAAUhB,GAC1B,IAAIiB,EAASD,IAAahU,UACpBmN,EAAKxD,UAAUqK,GACf7G,EAAK2C,wBACF3C,EAAK9E,OAAOmD,SAAW2B,EAAK9E,OAAOmD,QAAU2B,EAAKnO,IAC7CmO,EAAK9E,OAAOmD,QACZ2B,EAAK9E,OAAOuD,SAAWuB,EAAK9E,OAAOuD,QAAUuB,EAAKnO,IAC9CmO,EAAK9E,OAAOuD,QACZuB,EAAKnO,KACvB,IAAIkV,EAAU/G,EAAKgC,YACnB,IAAIgF,EAAWhH,EAAK+B,aACpB,IACI,GAAI+E,IAAWjU,UAAW,CACtBmN,EAAKgC,YAAc8E,EAAO5V,cAC1B8O,EAAK+B,aAAe+E,EAAOpM,UAC3C,CACA,CACQ,MAAOxN,GACHA,EAAE+Z,QAAU,0BAA4BH,EACxC9G,EAAK9E,OAAO7K,aAAanD,EACrC,CACQ,GAAI2Y,GAAiB7F,EAAKgC,cAAgB+E,EAAS,CAC/CjE,GAAa,gBACboE,GACZ,CACQ,GAAIrB,IACC7F,EAAKgC,cAAgB+E,GAAW/G,EAAK+B,eAAiBiF,GAAW,CAClElE,GAAa,gBACzB,CACQ9C,EAAKwB,QACb,CACI,SAASmF,EAAczZ,GACnB,IAAImY,EAAcjO,GAAelK,GACjC,IAAKmY,EAAYzP,UAAUrG,QAAQ,SAC/B4X,EAAkBja,EAAGmY,EAAY7pB,UAAU4rB,SAAS,WAAa,GAAI,EACjF,CACI,SAASD,EAAkBja,EAAGoY,EAAO+B,GACjC,IAAI9P,EAASrK,GAAKkK,GAAelK,GACjC,IAAIgV,EAAQmF,GACP9P,GAAUA,EAAOd,YAAcc,EAAOd,WAAWJ,WACtD,IAAIra,EAAQsrB,GAAY,aACxBtrB,EAAMspB,MAAQA,EACdpD,GAASA,EAAMqF,cAAcvrB,EACrC,CACI,SAASwmB,IACL,IAAIgF,EAAWpY,OAAO6G,SAASwR,yBAC/BzH,EAAKgD,kBAAoBlN,GAAc,MAAO,sBAC9CkK,EAAKgD,kBAAkB0E,UAAW,EAClC,IAAK1H,EAAK9E,OAAOtJ,WAAY,CACzB4V,EAASrQ,YAAYwQ,KACrB3H,EAAK4H,eAAiB9R,GAAc,MAAO,4BAC3C,GAAIkK,EAAK9E,OAAO/H,YAAa,CACzB,IAAI6H,EAAK6M,IAAcnE,EAAc1I,EAAG0I,YAAavQ,EAAc6H,EAAG7H,YACtE6M,EAAK4H,eAAezQ,YAAYuM,GAChC1D,EAAK7M,YAAcA,EACnB6M,EAAK0D,YAAcA,CACnC,CACY1D,EAAK8H,WAAahS,GAAc,MAAO,wBACvCkK,EAAK8H,WAAW3Q,YAAY4Q,KAC5B,IAAK/H,EAAKsD,cAAe,CACrBtD,EAAKsD,cAAgBxN,GAAc,MAAO,kBAC1CkK,EAAKsD,cAAcoE,UAAW,CAC9C,CACYM,IACAhI,EAAK8H,WAAW3Q,YAAY6I,EAAKsD,eACjCtD,EAAK4H,eAAezQ,YAAY6I,EAAK8H,YACrCN,EAASrQ,YAAY6I,EAAK4H,eACtC,CACQ,GAAI5H,EAAK9E,OAAO9K,WAAY,CACxBoX,EAASrQ,YAAY8Q,IACjC,CACQvS,GAAYsK,EAAKgD,kBAAmB,YAAahD,EAAK9E,OAAOzJ,OAAS,SACtEiE,GAAYsK,EAAKgD,kBAAmB,UAAWhD,EAAK9E,OAAO/L,UAAY,MACvEuG,GAAYsK,EAAKgD,kBAAmB,aAAchD,EAAK9E,OAAOlI,WAAa,GAC3EgN,EAAKgD,kBAAkB7L,YAAYqQ,GACnC,IAAIU,EAAelI,EAAK9E,OAAOiN,WAAatV,WACxCmN,EAAK9E,OAAOiN,SAASC,WAAavV,UACtC,GAAImN,EAAK9E,OAAO5J,QAAU0O,EAAK9E,OAAOjI,OAAQ,CAC1C+M,EAAKgD,kBAAkBxnB,UAAUC,IAAIukB,EAAK9E,OAAO5J,OAAS,SAAW,UACrE,GAAI0O,EAAK9E,OAAO5J,OAAQ,CACpB,IAAK4W,GAAgBlI,EAAKF,QAAQrJ,WAC9BuJ,EAAKF,QAAQrJ,WAAW4R,aAAarI,EAAKgD,kBAAmBhD,EAAKiE,OAAOqE,kBACxE,GAAItI,EAAK9E,OAAOiN,WAAatV,UAC9BmN,EAAK9E,OAAOiN,SAAShR,YAAY6I,EAAKgD,kBAC1D,CACY,GAAIhD,EAAK9E,OAAOjI,OAAQ,CACpB,IAAI4D,EAAUf,GAAc,MAAO,qBACnC,GAAIkK,EAAKF,QAAQrJ,WACbuJ,EAAKF,QAAQrJ,WAAW4R,aAAaxR,EAASmJ,EAAKF,SACvDjJ,EAAQM,YAAY6I,EAAKF,SACzB,GAAIE,EAAK/Q,SACL4H,EAAQM,YAAY6I,EAAK/Q,UAC7B4H,EAAQM,YAAY6I,EAAKgD,kBACzC,CACA,CACQ,IAAKhD,EAAK9E,OAAOjI,SAAW+M,EAAK9E,OAAO5J,QACnC0O,EAAK9E,OAAOiN,WAAatV,UACpBmN,EAAK9E,OAAOiN,SACZ/Y,OAAO6G,SAASsS,MAAMpR,YAAY6I,EAAKgD,kBACzD,CACI,SAAS9B,EAAUtL,EAAWlF,EAAM8X,EAAY/e,GAC5C,IAAIgf,EAAgBrH,EAAU1Q,EAAM,MAAOgY,EAAa5S,GAAc,OAAQF,EAAWlF,EAAKK,UAAUwU,YACxGmD,EAAW5Q,QAAUpH,EACrBgY,EAAWC,GAAKlf,EAChBif,EAAWxR,aAAa,aAAc8I,EAAKvE,WAAW/K,EAAMsP,EAAK9E,OAAO1L,iBACxE,GAAIoG,EAAUrG,QAAQ,aAAc,GAChC8N,GAAa3M,EAAMsP,EAAKnO,OAAS,EAAG,CACpCmO,EAAK4I,cAAgBF,EACrBA,EAAWltB,UAAUC,IAAI,SACzBitB,EAAWxR,aAAa,eAAgB,OACpD,CACQ,GAAIuR,EAAe,CACfC,EAAWhB,UAAW,EACtB,GAAImB,GAAenY,GAAO,CACtBgY,EAAWltB,UAAUC,IAAI,YACzBukB,EAAK8I,iBAAmBJ,EACxB,GAAI1I,EAAK9E,OAAOzJ,OAAS,QAAS,CAC9BiE,GAAYgT,EAAY,aAAc1I,EAAK0C,cAAc,IACrDrF,GAAa3M,EAAMsP,EAAK0C,cAAc,GAAI,QAAU,GACxDhN,GAAYgT,EAAY,WAAY1I,EAAK0C,cAAc,IACnDrF,GAAa3M,EAAMsP,EAAK0C,cAAc,GAAI,QAAU,GACxD,GAAI9M,IAAc,eACd8S,EAAWltB,UAAUC,IAAI,UACjD,CACA,CACA,KACa,CACDitB,EAAWltB,UAAUC,IAAI,qBACrC,CACQ,GAAIukB,EAAK9E,OAAOzJ,OAAS,QAAS,CAC9B,GAAIsX,GAAcrY,KAAUmY,GAAenY,GACvCgY,EAAWltB,UAAUC,IAAI,UACzC,CACQ,GAAIukB,EAAK7M,aACL6M,EAAK9E,OAAOlI,aAAe,GAC3B4C,IAAc,gBACdnM,EAAI,IAAM,EAAG,CACbuW,EAAK7M,YAAY6V,mBAAmB,YAAa,+BAAiChJ,EAAK9E,OAAO1K,QAAQE,GAAQ,UAC1H,CACQoS,GAAa,cAAe4F,GAC5B,OAAOA,CACf,CACI,SAASO,EAAeC,GACpBA,EAAWC,QACX,GAAInJ,EAAK9E,OAAOzJ,OAAS,QACrB3D,EAAYob,EACxB,CACI,SAASE,EAAqB9D,GAC1B,IAAI+D,EAAa/D,EAAQ,EAAI,EAAItF,EAAK9E,OAAOlI,WAAa,EAC1D,IAAIsW,EAAWhE,EAAQ,EAAItF,EAAK9E,OAAOlI,YAAa,EACpD,IAAK,IAAIgH,EAAIqP,EAAYrP,GAAKsP,EAAUtP,GAAKsL,EAAO,CAChD,IAAIrL,EAAQ+F,EAAKsD,cAAciG,SAASvP,GACxC,IAAIwP,EAAalE,EAAQ,EAAI,EAAIrL,EAAMsP,SAASpoB,OAAS,EACzD,IAAIsoB,EAAWnE,EAAQ,EAAIrL,EAAMsP,SAASpoB,QAAS,EACnD,IAAK,IAAIsI,EAAI+f,EAAY/f,GAAKggB,EAAUhgB,GAAK6b,EAAO,CAChD,IAAI3J,EAAI1B,EAAMsP,SAAS9f,GACvB,GAAIkS,EAAE/F,UAAUrG,QAAQ,aAAc,GAAM6R,EAAUzF,EAAE7D,SACpD,OAAO6D,CAC3B,CACA,CACQ,OAAO9I,SACf,CACI,SAAS6W,EAAoB9f,EAAS0b,GAClC,IAAIqE,EAAa/f,EAAQgM,UAAUrG,QAAQ,YAAa,EAClD3F,EAAQkO,QAAQ4C,WAChBsF,EAAK+B,aACX,IAAIuH,EAAWhE,EAAQ,EAAItF,EAAK9E,OAAOlI,YAAa,EACpD,IAAI4W,EAAYtE,EAAQ,EAAI,GAAI,EAChC,IAAK,IAAItL,EAAI2P,EAAa3J,EAAK+B,aAAc/H,GAAKsP,EAAUtP,GAAK4P,EAAW,CACxE,IAAI3P,EAAQ+F,EAAKsD,cAAciG,SAASvP,GACxC,IAAIwP,EAAaG,EAAa3J,EAAK+B,eAAiB/H,EAC9CpQ,EAAQ+e,GAAKrD,EACbA,EAAQ,EACJrL,EAAMsP,SAASpoB,OAAS,EACxB,EACV,IAAI0oB,EAAe5P,EAAMsP,SAASpoB,OAClC,IAAK,IAAIsI,EAAI+f,EAAY/f,GAAK,GAAKA,EAAIogB,GAAgBpgB,IAAM6b,EAAQ,EAAIuE,GAAe,GAAKpgB,GAAKmgB,EAAW,CACzG,IAAIjO,EAAI1B,EAAMsP,SAAS9f,GACvB,GAAIkS,EAAE/F,UAAUrG,QAAQ,aAAc,GAClC6R,EAAUzF,EAAE7D,UACZ9W,KAAK8oB,IAAIlgB,EAAQ+e,GAAKlf,IAAMzI,KAAK8oB,IAAIxE,GACrC,OAAO2D,EAAetN,EAC1C,CACA,CACQqE,EAAKa,YAAY+I,GACjBG,EAAWX,EAAqBQ,GAAY,GAC5C,OAAO/W,SACf,CACI,SAASkX,EAAWngB,EAASogB,GACzB,IAAI9G,EAAgBH,IACpB,IAAIkH,EAAaC,EAAShH,GAAiBjN,SAASsS,MACpD,IAAI4B,EAAYvgB,IAAYiJ,UACtBjJ,EACAqgB,EACI/G,EACAlD,EAAK8I,mBAAqBjW,WAAaqX,EAASlK,EAAK8I,kBACjD9I,EAAK8I,iBACL9I,EAAK4I,gBAAkB/V,WAAaqX,EAASlK,EAAK4I,eAC9C5I,EAAK4I,cACLQ,EAAqBY,EAAS,EAAI,GAAI,GACxD,GAAIG,IAActX,UAAW,CACzBmN,EAAKiE,OAAOkF,OACxB,MACa,IAAKc,EAAY,CAClBhB,EAAekB,EAC3B,KACa,CACDT,EAAoBS,EAAWH,EAC3C,CACA,CACI,SAASI,EAAe5Q,EAAMS,GAC1B,IAAIoQ,GAAgB,IAAI1Z,KAAK6I,EAAMS,EAAO,GAAGjJ,SAAWgP,EAAK5E,KAAKzH,eAAiB,GAAK,EACxF,IAAI2W,EAAgBtK,EAAK4B,MAAMC,gBAAgB5H,EAAQ,EAAI,IAAM,GAAIT,GACrE,IAAI9F,EAAcsM,EAAK4B,MAAMC,eAAe5H,EAAOT,GAAOgK,EAAOpU,OAAO6G,SAASwR,yBAA0B8C,EAAevK,EAAK9E,OAAOlI,WAAa,EAAGwX,EAAoBD,EAAe,sBAAwB,eAAgBE,EAAoBF,EAAe,sBAAwB,eAC5R,IAAIG,EAAYJ,EAAgB,EAAID,EAAcM,EAAW,EAC7D,KAAOD,GAAaJ,EAAeI,IAAaC,IAAY,CACxDnH,EAAKrM,YAAY+J,EAAU,iBAAmBsJ,EAAmB,IAAI7Z,KAAK6I,EAAMS,EAAQ,EAAGyQ,GAAYA,EAAWC,GAC9H,CACQ,IAAKD,EAAY,EAAGA,GAAahX,EAAagX,IAAaC,IAAY,CACnEnH,EAAKrM,YAAY+J,EAAU,gBAAiB,IAAIvQ,KAAK6I,EAAMS,EAAOyQ,GAAYA,EAAWC,GACrG,CACQ,IAAK,IAAIC,EAASlX,EAAc,EAAGkX,GAAU,GAAKP,IAC7CrK,EAAK9E,OAAOlI,aAAe,GAAK2X,EAAW,IAAM,GAAIC,IAAUD,IAAY,CAC5EnH,EAAKrM,YAAY+J,EAAU,iBAAmBuJ,EAAmB,IAAI9Z,KAAK6I,EAAMS,EAAQ,EAAG2Q,EAASlX,GAAckX,EAAQD,GACtI,CACQ,IAAIE,EAAe/U,GAAc,MAAO,gBACxC+U,EAAa1T,YAAYqM,GACzB,OAAOqH,CACf,CACI,SAAS7C,IACL,GAAIhI,EAAKsD,gBAAkBzQ,UAAW,CAClC,MACZ,CACQsD,GAAU6J,EAAKsD,eACf,GAAItD,EAAK7M,YACLgD,GAAU6J,EAAK7M,aACnB,IAAI2X,EAAO7U,SAASwR,yBACpB,IAAK,IAAIhe,EAAI,EAAGA,EAAIuW,EAAK9E,OAAOlI,WAAYvJ,IAAK,CAC7C,IAAI3H,EAAI,IAAI6O,KAAKqP,EAAKgC,YAAahC,EAAK+B,aAAc,GACtDjgB,EAAEkW,SAASgI,EAAK+B,aAAetY,GAC/BqhB,EAAK3T,YAAYiT,EAAetoB,EAAEoP,cAAepP,EAAE4Y,YAC/D,CACQsF,EAAKsD,cAAcnM,YAAY2T,GAC/B9K,EAAKwD,KAAOxD,EAAKsD,cAAcjN,WAC/B,GAAI2J,EAAK9E,OAAOzJ,OAAS,SAAWuO,EAAK0C,cAAcvhB,SAAW,EAAG,CACjE2M,GACZ,CACA,CACI,SAASoZ,IACL,GAAIlH,EAAK9E,OAAOlI,WAAa,GACzBgN,EAAK9E,OAAOxJ,oBAAsB,WAClC,OACJ,IAAIqZ,EAAmB,SAAU9Q,GAC7B,GAAI+F,EAAK9E,OAAOmD,UAAYxL,WACxBmN,EAAKgC,cAAgBhC,EAAK9E,OAAOmD,QAAQnN,eACzC+I,EAAQ+F,EAAK9E,OAAOmD,QAAQ3D,WAAY,CACxC,OAAO,KACvB,CACY,QAASsF,EAAK9E,OAAOuD,UAAY5L,WAC7BmN,EAAKgC,cAAgBhC,EAAK9E,OAAOuD,QAAQvN,eACzC+I,EAAQ+F,EAAK9E,OAAOuD,QAAQ/D,WAC5C,EACQsF,EAAKgL,wBAAwBtD,UAAW,EACxC1H,EAAKgL,wBAAwBtkB,UAAY,GACzC,IAAK,IAAI+C,EAAI,EAAGA,EAAI,GAAIA,IAAK,CACzB,IAAKshB,EAAiBthB,GAClB,SACJ,IAAIwQ,EAAQnE,GAAc,SAAU,iCACpCmE,EAAMiK,MAAQ,IAAIvT,KAAKqP,EAAKgC,YAAavY,GAAGiR,WAAW6K,WACvDtL,EAAM/D,YAAcuB,GAAWhO,EAAGuW,EAAK9E,OAAOnI,sBAAuBiN,EAAK5E,MAC1EnB,EAAMyN,UAAW,EACjB,GAAI1H,EAAK+B,eAAiBtY,EAAG,CACzBwQ,EAAM3O,SAAW,IACjC,CACY0U,EAAKgL,wBAAwB7T,YAAY8C,EACrD,CACA,CACI,SAASgR,IACL,IAAIC,EAAYpV,GAAc,MAAO,mBACrC,IAAIqV,EAAmB/b,OAAO6G,SAASwR,yBACvC,IAAI2D,EACJ,GAAIpL,EAAK9E,OAAOlI,WAAa,GACzBgN,EAAK9E,OAAOxJ,oBAAsB,SAAU,CAC5C0Z,EAAetV,GAAc,OAAQ,YACjD,KACa,CACDkK,EAAKgL,wBAA0BlV,GAAc,SAAU,kCACvDkK,EAAKgL,wBAAwB9T,aAAa,aAAc8I,EAAK5E,KAAK/G,gBAClE/V,EAAK0hB,EAAKgL,wBAAyB,UAAU,SAAU9d,GACnD,IAAIqK,EAASH,GAAelK,GAC5B,IAAIme,EAAgB/R,SAAS/B,EAAO2M,MAAO,IAC3ClE,EAAKa,YAAYwK,EAAgBrL,EAAK+B,cACtCe,GAAa,gBAC7B,IACYoE,IACAkE,EAAepL,EAAKgL,uBAChC,CACQ,IAAIM,EAAY5U,GAAkB,WAAY,CAAE6U,SAAU,OAC1D,IAAIC,EAAcF,EAAUG,qBAAqB,SAAS,GAC1DD,EAAYtU,aAAa,aAAc8I,EAAK5E,KAAKhH,eACjD,GAAI4L,EAAK9E,OAAOmD,QAAS,CACrBmN,EAAYtU,aAAa,MAAO8I,EAAK9E,OAAOmD,QAAQnN,cAAcqU,WAC9E,CACQ,GAAIvF,EAAK9E,OAAOuD,QAAS,CACrB+M,EAAYtU,aAAa,MAAO8I,EAAK9E,OAAOuD,QAAQvN,cAAcqU,YAClEiG,EAAYzjB,WACNiY,EAAK9E,OAAOmD,SACV2B,EAAK9E,OAAOmD,QAAQnN,gBAAkB8O,EAAK9E,OAAOuD,QAAQvN,aAC9E,CACQ,IAAI6Q,EAAejM,GAAc,MAAO,2BACxCiM,EAAa5K,YAAYiU,GACzBrJ,EAAa5K,YAAYmU,GACzBH,EAAiBhU,YAAY4K,GAC7BmJ,EAAU/T,YAAYgU,GACtB,MAAO,CACHD,UAAWA,EACXM,YAAaA,EACbJ,aAAcA,EAE1B,CACI,SAASM,IACLvV,GAAU6J,EAAKqG,UACfrG,EAAKqG,SAASlP,YAAY6I,EAAK2L,cAC/B,GAAI3L,EAAK9E,OAAOlI,WAAY,CACxBgN,EAAK4L,aAAe,GACpB5L,EAAK6L,cAAgB,EACjC,CACQ,IAAK,IAAI7R,EAAIgG,EAAK9E,OAAOlI,WAAYgH,KAAM,CACvC,IAAIC,EAAQgR,IACZjL,EAAK4L,aAAajG,KAAK1L,EAAMuR,aAC7BxL,EAAK6L,cAAclG,KAAK1L,EAAMmR,cAC9BpL,EAAKqG,SAASlP,YAAY8C,EAAMiR,UAC5C,CACQlL,EAAKqG,SAASlP,YAAY6I,EAAK8L,aACvC,CACI,SAASnE,IACL3H,EAAKqG,SAAWvQ,GAAc,MAAO,oBACrCkK,EAAK4L,aAAe,GACpB5L,EAAK6L,cAAgB,GACrB7L,EAAK2L,aAAe7V,GAAc,OAAQ,wBAC1CkK,EAAK2L,aAAajlB,UAAYsZ,EAAK9E,OAAOpI,UAC1CkN,EAAK8L,aAAehW,GAAc,OAAQ,wBAC1CkK,EAAK8L,aAAaplB,UAAYsZ,EAAK9E,OAAOvJ,UAC1C+Z,IACAhiB,OAAOqiB,eAAe/L,EAAM,sBAAuB,CAC/CgM,IAAK,WAAc,OAAOhM,EAAKiM,oBAAqB,EACpDxK,IAAK,SAAU7M,GACX,GAAIoL,EAAKiM,uBAAyBrX,EAAM,CACpCc,GAAYsK,EAAK2L,aAAc,qBAAsB/W,GACrDoL,EAAKiM,qBAAuBrX,CAChD,CACA,IAEQlL,OAAOqiB,eAAe/L,EAAM,sBAAuB,CAC/CgM,IAAK,WAAc,OAAOhM,EAAKkM,oBAAqB,EACpDzK,IAAK,SAAU7M,GACX,GAAIoL,EAAKkM,uBAAyBtX,EAAM,CACpCc,GAAYsK,EAAK8L,aAAc,qBAAsBlX,GACrDoL,EAAKkM,qBAAuBtX,CAChD,CACA,IAEQoL,EAAKmM,mBAAqBnM,EAAK4L,aAAa,GAC5CQ,KACA,OAAOpM,EAAKqG,QACpB,CACI,SAAS4B,IACLjI,EAAKgD,kBAAkBxnB,UAAUC,IAAI,WACrC,GAAIukB,EAAK9E,OAAOtJ,WACZoO,EAAKgD,kBAAkBxnB,UAAUC,IAAI,cACzC,IAAImT,EAAWwP,GAAgB4B,EAAK9E,QACpC8E,EAAKwG,cAAgB1Q,GAAc,MAAO,kBAC1CkK,EAAKwG,cAAckB,UAAW,EAC9B,IAAI2E,EAAYvW,GAAc,OAAQ,2BAA4B,KAClE,IAAIwW,EAAY5V,GAAkB,iBAAkB,CAChD,aAAcsJ,EAAK5E,KAAK9G,gBAE5B0L,EAAKuE,YAAc+H,EAAUb,qBAAqB,SAAS,GAC3D,IAAIc,EAAc7V,GAAkB,mBAAoB,CACpD,aAAcsJ,EAAK5E,KAAK7G,kBAE5ByL,EAAKwE,cAAgB+H,EAAYd,qBAAqB,SAAS,GAC/DzL,EAAKuE,YAAYmD,SAAW1H,EAAKwE,cAAckD,UAAW,EAC1D1H,EAAKuE,YAAYL,MAAQ1P,EAAIwL,EAAK2C,sBAC5B3C,EAAK2C,sBAAsBxK,WAC3B6H,EAAK9E,OAAOhI,UACRtE,EAASmP,MACTuG,EAAc1V,EAASmP,QACjCiC,EAAKwE,cAAcN,MAAQ1P,EAAIwL,EAAK2C,sBAC9B3C,EAAK2C,sBAAsB/H,aAC3BhM,EAASgL,SACfoG,EAAKuE,YAAYrN,aAAa,OAAQ8I,EAAK9E,OAAO9J,cAAcmU,YAChEvF,EAAKwE,cAActN,aAAa,OAAQ8I,EAAK9E,OAAO1J,gBAAgB+T,YACpEvF,EAAKuE,YAAYrN,aAAa,MAAO8I,EAAK9E,OAAOhI,UAAY,IAAM,KACnE8M,EAAKuE,YAAYrN,aAAa,MAAO8I,EAAK9E,OAAOhI,UAAY,KAAO,MACpE8M,EAAKuE,YAAYrN,aAAa,YAAa,KAC3C8I,EAAKwE,cAActN,aAAa,MAAO,KACvC8I,EAAKwE,cAActN,aAAa,MAAO,MACvC8I,EAAKwE,cAActN,aAAa,YAAa,KAC7C8I,EAAKwG,cAAcrP,YAAYmV,GAC/BtM,EAAKwG,cAAcrP,YAAYkV,GAC/BrM,EAAKwG,cAAcrP,YAAYoV,GAC/B,GAAIvM,EAAK9E,OAAOhI,UACZ8M,EAAKwG,cAAchrB,UAAUC,IAAI,YACrC,GAAIukB,EAAK9E,OAAO/K,cAAe,CAC3B6P,EAAKwG,cAAchrB,UAAUC,IAAI,cACjC,IAAI+wB,EAAc9V,GAAkB,oBACpCsJ,EAAKyE,cAAgB+H,EAAYf,qBAAqB,SAAS,GAC/DzL,EAAKyE,cAAcP,MAAQ1P,EAAIwL,EAAK2C,sBAC9B3C,EAAK2C,sBAAsBhI,aAC3B/L,EAASkK,SACfkH,EAAKyE,cAAcvN,aAAa,OAAQ8I,EAAKwE,cAAciI,aAAa,SACxEzM,EAAKyE,cAAcvN,aAAa,MAAO,KACvC8I,EAAKyE,cAAcvN,aAAa,MAAO,MACvC8I,EAAKyE,cAAcvN,aAAa,YAAa,KAC7C8I,EAAKwG,cAAcrP,YAAYrB,GAAc,OAAQ,2BAA4B,MACjFkK,EAAKwG,cAAcrP,YAAYqV,EAC3C,CACQ,IAAKxM,EAAK9E,OAAOhI,UAAW,CACxB8M,EAAK7L,KAAO2B,GAAc,OAAQ,kBAAmBkK,EAAK5E,KAAKjH,KAAKQ,GAAKqL,EAAK2C,sBACxE3C,EAAKuE,YAAYL,MACjBlE,EAAK9E,OAAOpL,aAAe,MACjCkQ,EAAK7L,KAAKuY,MAAQ1M,EAAK5E,KAAKlH,YAC5B8L,EAAK7L,KAAKuT,UAAW,EACrB1H,EAAKwG,cAAcrP,YAAY6I,EAAK7L,KAChD,CACQ,OAAO6L,EAAKwG,aACpB,CACI,SAASuB,IACL,IAAK/H,EAAK2M,iBACN3M,EAAK2M,iBAAmB7W,GAAc,MAAO,2BAE7CK,GAAU6J,EAAK2M,kBACnB,IAAK,IAAIljB,EAAIuW,EAAK9E,OAAOlI,WAAYvJ,KAAM,CACvC,IAAIyhB,EAAYpV,GAAc,MAAO,8BACrCkK,EAAK2M,iBAAiBxV,YAAY+T,EAC9C,CACQ0B,IACA,OAAO5M,EAAK2M,gBACpB,CACI,SAASC,IACL,IAAK5M,EAAK2M,iBAAkB,CACxB,MACZ,CACQ,IAAIhZ,EAAiBqM,EAAK5E,KAAKzH,eAC/B,IAAIL,EAAWiM,GAAeS,EAAK5E,KAAK9H,SAASC,WACjD,GAAII,EAAiB,GAAKA,EAAiBL,EAASnS,OAAQ,CACxDmS,EAAWiM,GAAejM,EAASuZ,OAAOlZ,EAAgBL,EAASnS,QAASmS,EAASuZ,OAAO,EAAGlZ,GAC3G,CACQ,IAAK,IAAIlK,EAAIuW,EAAK9E,OAAOlI,WAAYvJ,KAAM,CACvCuW,EAAK2M,iBAAiBpD,SAAS9f,GAAG/C,UAAY,qDAAuD4M,EAASuI,KAAK,2CAA6C,yBAC5K,CACA,CACI,SAASgM,IACL7H,EAAKgD,kBAAkBxnB,UAAUC,IAAI,YACrC,IAAIioB,EAAc5N,GAAc,MAAO,yBACvC4N,EAAYvM,YAAYrB,GAAc,OAAQ,oBAAqBkK,EAAK5E,KAAKpH,mBAC7E,IAAIb,EAAc2C,GAAc,MAAO,mBACvC4N,EAAYvM,YAAYhE,GACxB,MAAO,CACHuQ,YAAaA,EACbvQ,YAAaA,EAEzB,CACI,SAAS0N,EAAYqD,EAAO4I,GACxB,GAAIA,SAAa,EAAQ,CAAEA,EAAW,IAAK,CAC3C,IAAIxH,EAAQwH,EAAW5I,EAAQA,EAAQlE,EAAK+B,aAC5C,GAAKuD,EAAQ,GAAKtF,EAAK+M,sBAAwB,MAC1CzH,EAAQ,GAAKtF,EAAKgN,sBAAwB,KAC3C,OACJhN,EAAK+B,cAAgBuD,EACrB,GAAItF,EAAK+B,aAAe,GAAK/B,EAAK+B,aAAe,GAAI,CACjD/B,EAAKgC,aAAehC,EAAK+B,aAAe,GAAK,GAAI,EACjD/B,EAAK+B,cAAgB/B,EAAK+B,aAAe,IAAM,GAC/Ce,GAAa,gBACboE,GACZ,CACQc,IACAlF,GAAa,iBACbsJ,IACR,CACI,SAASrL,EAAMkM,EAAoBC,GAC/B,GAAID,SAAuB,EAAQ,CAAEA,EAAqB,IAAK,CAC/D,GAAIC,SAAc,EAAQ,CAAEA,EAAY,IAAK,CAC7ClN,EAAKkC,MAAMgC,MAAQ,GACnB,GAAIlE,EAAK/Q,WAAa4D,UAClBmN,EAAK/Q,SAASiV,MAAQ,GAC1B,GAAIlE,EAAKmN,cAAgBta,UACrBmN,EAAKmN,YAAYjJ,MAAQ,GAC7BlE,EAAK0C,cAAgB,GACrB1C,EAAK2C,sBAAwB9P,UAC7B,GAAIqa,IAAc,KAAM,CACpBlN,EAAKgC,YAAchC,EAAKoN,aAAalc,cACrC8O,EAAK+B,aAAe/B,EAAKoN,aAAa1S,UAClD,CACQ,GAAIsF,EAAK9E,OAAO9K,aAAe,KAAM,CACjC,IAAI4K,EAAKoD,GAAgB4B,EAAK9E,QAAS6C,EAAQ/C,EAAG+C,MAAOnE,EAAUoB,EAAGpB,QAASd,EAAUkC,EAAGlC,QAC5FjI,EAASkN,EAAOnE,EAASd,EACrC,CACQkH,EAAKwB,SACL,GAAIyL,EACAnK,GAAa,WACzB,CACI,SAAS9B,IACLhB,EAAKmC,OAAS,MACd,IAAKnC,EAAK1E,SAAU,CAChB,GAAI0E,EAAKgD,oBAAsBnQ,UAAW,CACtCmN,EAAKgD,kBAAkBxnB,UAAUqa,OAAO,OACxD,CACY,GAAImK,EAAKiE,SAAWpR,UAAW,CAC3BmN,EAAKiE,OAAOzoB,UAAUqa,OAAO,SAC7C,CACA,CACQiN,GAAa,UACrB,CACI,SAAS3B,IACL,GAAInB,EAAK9E,SAAWrI,UAChBiQ,GAAa,aACjB,IAAK,IAAIrZ,EAAIuW,EAAKK,UAAUlf,OAAQsI,KAAM,CACtCuW,EAAKK,UAAU5W,GAAGoM,QAC9B,CACQmK,EAAKK,UAAY,GACjB,GAAIL,EAAKmN,YAAa,CAClB,GAAInN,EAAKmN,YAAY1W,WACjBuJ,EAAKmN,YAAY1W,WAAWH,YAAY0J,EAAKmN,aACjDnN,EAAKmN,YAActa,SAC/B,MACa,GAAImN,EAAKgD,mBAAqBhD,EAAKgD,kBAAkBvM,WAAY,CAClE,GAAIuJ,EAAK9E,OAAOjI,QAAU+M,EAAKgD,kBAAkBvM,WAAY,CACzD,IAAII,EAAUmJ,EAAKgD,kBAAkBvM,WACrCI,EAAQwW,WAAaxW,EAAQP,YAAYO,EAAQwW,WACjD,GAAIxW,EAAQJ,WAAY,CACpB,MAAOI,EAAQR,WACXQ,EAAQJ,WAAW4R,aAAaxR,EAAQR,WAAYQ,GACxDA,EAAQJ,WAAWH,YAAYO,EACnD,CACA,MAEgBmJ,EAAKgD,kBAAkBvM,WAAWH,YAAY0J,EAAKgD,kBACnE,CACQ,GAAIhD,EAAK/Q,SAAU,CACf+Q,EAAKkC,MAAMrkB,KAAO,OAClB,GAAImiB,EAAK/Q,SAASwH,WACduJ,EAAK/Q,SAASwH,WAAWH,YAAY0J,EAAK/Q,iBACvC+Q,EAAK/Q,QACxB,CACQ,GAAI+Q,EAAKkC,MAAO,CACZlC,EAAKkC,MAAMrkB,KAAOmiB,EAAKkC,MAAMoL,MAC7BtN,EAAKkC,MAAM1mB,UAAUqa,OAAO,mBAC5BmK,EAAKkC,MAAMqL,gBAAgB,WACvC,CACQ,CACI,iBACA,wBACA,sBACA,sBACA,uBACA,uBACA,WACA,SACA,mBACA,iBACA,iBACA,OACA,gBACA,SACA,mBACA,iBACA,aACA,WACA,gBACA,oBACA,mBACA,eACA,eACA,0BACA,sBACA,qBACA,yBACA,mBACA,UACFthB,SAAQ,SAAUwT,GAChB,WACWO,EAAKP,EAC5B,CACY,MAAOxG,GAAG,CACtB,GACA,CACI,SAASuU,EAAe7X,GACpB,OAAOqK,EAAKgD,kBAAkBoE,SAASzR,EAC/C,CACI,SAASwQ,EAAcjZ,GACnB,GAAI8S,EAAKmC,SAAWnC,EAAK9E,OAAO5J,OAAQ,CACpC,IAAImc,EAAgBrW,GAAelK,GACnC,IAAIwgB,EAAoBF,EAAeC,GACvC,IAAIE,EAAUF,IAAkBzN,EAAKkC,OACjCuL,IAAkBzN,EAAK/Q,UACvB+Q,EAAKF,QAAQsH,SAASqG,IACrBvgB,EAAEoK,MACCpK,EAAEoK,KAAK/H,WACLrC,EAAEoK,KAAK/H,QAAQyQ,EAAKkC,SACjBhV,EAAEoK,KAAK/H,QAAQyQ,EAAK/Q,WACjC,IAAI2e,GAAaD,IACZD,IACAF,EAAetgB,EAAE2gB,eACtB,IAAIC,GAAa9N,EAAK9E,OAAO7J,qBAAqB0c,MAAK,SAAUpY,GAC7D,OAAOA,EAAKyR,SAASqG,EACrC,IACY,GAAIG,GAAaE,EAAW,CACxB,GAAI9N,EAAK9E,OAAOpM,WAAY,CACxBkR,EAAKlP,QAAQkP,EAAKiE,OAAOC,MAAO,MAAOlE,EAAK9E,OAAOjM,SAC7C+Q,EAAK9E,OAAOlM,UACZgR,EAAK9E,OAAOrL,WACtC,CACgB,GAAImQ,EAAKwG,gBAAkB3T,WACvBmN,EAAKwE,gBAAkB3R,WACvBmN,EAAKuE,cAAgB1R,WACrBmN,EAAKkC,MAAMgC,QAAU,IACrBlE,EAAKkC,MAAMgC,QAAUrR,UAAW,CAChC+Q,GACpB,CACgB5D,EAAKgB,QACL,GAAIhB,EAAK9E,QACL8E,EAAK9E,OAAOzJ,OAAS,SACrBuO,EAAK0C,cAAcvhB,SAAW,EAC9B6e,EAAKe,MAAM,MAC/B,CACA,CACA,CACI,SAASD,EAAWkN,GAChB,IAAKA,GACAhO,EAAK9E,OAAOmD,SAAW2P,EAAUhO,EAAK9E,OAAOmD,QAAQnN,eACrD8O,EAAK9E,OAAOuD,SAAWuP,EAAUhO,EAAK9E,OAAOuD,QAAQvN,cACtD,OACJ,IAAI+c,EAAaD,EAASE,EAAYlO,EAAKgC,cAAgBiM,EAC3DjO,EAAKgC,YAAciM,GAAcjO,EAAKgC,YACtC,GAAIhC,EAAK9E,OAAOuD,SACZuB,EAAKgC,cAAgBhC,EAAK9E,OAAOuD,QAAQvN,cAAe,CACxD8O,EAAK+B,aAAe/gB,KAAK4c,IAAIoC,EAAK9E,OAAOuD,QAAQ/D,WAAYsF,EAAK+B,aAC9E,MACa,GAAI/B,EAAK9E,OAAOmD,SACjB2B,EAAKgC,cAAgBhC,EAAK9E,OAAOmD,QAAQnN,cAAe,CACxD8O,EAAK+B,aAAe/gB,KAAK6c,IAAImC,EAAK9E,OAAOmD,QAAQ3D,WAAYsF,EAAK+B,aAC9E,CACQ,GAAImM,EAAW,CACXlO,EAAKwB,SACLsB,GAAa,gBACboE,GACZ,CACA,CACI,SAAS9F,EAAU1Q,EAAMsL,GACrB,IAAIhB,EACJ,GAAIgB,SAAa,EAAQ,CAAEA,EAAW,IAAK,CAC3C,IAAImS,EAAcnO,EAAKxD,UAAU9L,EAAMmC,UAAWmJ,GAClD,GAAKgE,EAAK9E,OAAOmD,SACb8P,GACA9Q,GAAa8Q,EAAanO,EAAK9E,OAAOmD,QAASrC,IAAanJ,UAAYmJ,GAAYgE,EAAK4E,gBAAkB,GAC1G5E,EAAK9E,OAAOuD,SACT0P,GACA9Q,GAAa8Q,EAAanO,EAAK9E,OAAOuD,QAASzC,IAAanJ,UAAYmJ,GAAYgE,EAAK+E,gBAAkB,EAC/G,OAAO,MACX,IAAK/E,EAAK9E,OAAOkT,QAAUpO,EAAK9E,OAAOjL,QAAQ9O,SAAW,EACtD,OAAO,KACX,GAAIgtB,IAAgBtb,UAChB,OAAO,MACX,IAAI+B,IAASoL,EAAK9E,OAAOkT,OAAQC,GAASrT,EAAKgF,EAAK9E,OAAOkT,UAAY,MAAQpT,SAAO,EAASA,EAAKgF,EAAK9E,OAAOjL,QAChH,IAAK,IAAIxG,EAAI,EAAG3H,OAAI,EAAQ2H,EAAI4kB,EAAMltB,OAAQsI,IAAK,CAC/C3H,EAAIusB,EAAM5kB,GACV,UAAW3H,IAAM,YACbA,EAAEqsB,GACF,OAAOvZ,OACN,GAAI9S,aAAa6O,MAClBwd,IAAgBtb,WAChB/Q,EAAE8O,YAAcud,EAAYvd,UAC5B,OAAOgE,OACN,UAAW9S,IAAM,SAAU,CAC5B,IAAIwsB,EAAStO,EAAKxD,UAAU1a,EAAG+Q,UAAW,MAC1C,OAAOyb,GAAUA,EAAO1d,YAAcud,EAAYvd,UAC5CgE,GACCA,CACvB,MACiB,UAAW9S,IAAM,UAClBqsB,IAAgBtb,WAChB/Q,EAAEysB,MACFzsB,EAAE0sB,IACFL,EAAYvd,WAAa9O,EAAEysB,KAAK3d,WAChCud,EAAYvd,WAAa9O,EAAE0sB,GAAG5d,UAC9B,OAAOgE,CACvB,CACQ,OAAQA,CAChB,CACI,SAASsV,EAASvU,GACd,GAAIqK,EAAKsD,gBAAkBzQ,UACvB,OAAQ8C,EAAKC,UAAUrG,QAAQ,aAAc,GACzCoG,EAAKC,UAAUrG,QAAQ,yBAA0B,GACjDyQ,EAAKsD,cAAc8D,SAASzR,GACpC,OAAO,KACf,CACI,SAASiR,EAAO1Z,GACZ,IAAIygB,EAAUzgB,EAAEqK,SAAWyI,EAAKiE,OAChC,IAAIwK,EAAezO,EAAKiE,OAAOC,MAAMwK,YAAcC,KACnD,GAAIhB,GACAc,KACEvhB,EAAE2gB,eAAiBL,EAAetgB,EAAE2gB,gBAAiB,CACvD7N,EAAKlP,QAAQkP,EAAKiE,OAAOC,MAAO,KAAMhX,EAAEqK,SAAWyI,EAAK/Q,SAClD+Q,EAAK9E,OAAOlM,UACZgR,EAAK9E,OAAOrL,WAC9B,CACA,CACI,SAASqC,EAAUhF,GACf,IAAImY,EAAcjO,GAAelK,GACjC,IAAIygB,EAAU3N,EAAK9E,OAAO9H,KACpB0M,EAAQsH,SAAS/B,GACjBA,IAAgBrF,EAAKiE,OAC3B,IAAInV,EAAakR,EAAK9E,OAAOpM,WAC7B,IAAI8f,EAAe5O,EAAKmC,UAAYrT,IAAe6e,GACnD,IAAIkB,EAAqB7O,EAAK9E,OAAO5J,QAAUqc,IAAY7e,EAC3D,GAAI5B,EAAE4hB,UAAY,IAAMnB,EAAS,CAC7B,GAAI7e,EAAY,CACZkR,EAAKlP,QAAQkP,EAAKiE,OAAOC,MAAO,KAAMmB,IAAgBrF,EAAK/Q,SACrD+Q,EAAK9E,OAAOlM,UACZgR,EAAK9E,OAAOrL,YAClBmQ,EAAKgB,QACL,OAAOqE,EAAY0J,MACnC,KACiB,CACD/O,EAAKuB,MACrB,CACA,MACa,GAAIiM,EAAenI,IACpBuJ,GACAC,EAAoB,CACpB,IAAIG,IAAchP,EAAKwG,eACnBxG,EAAKwG,cAAcY,SAAS/B,GAChC,OAAQnY,EAAE4hB,SACN,KAAK,GACD,GAAIE,EAAW,CACX9hB,EAAE+hB,iBACFrL,IACAsL,IACxB,MAEwB3I,GAAWrZ,GACf,MACJ,KAAK,GACDA,EAAE+hB,iBACFC,KACA,MACJ,KAAK,EACL,KAAK,GACD,GAAIvB,IAAY3N,EAAK9E,OAAOpM,WAAY,CACpC5B,EAAE+hB,iBACFjP,EAAKe,OAC7B,CACoB,MACJ,KAAK,GACL,KAAK,GACD,IAAKiO,IAAcrB,EAAS,CACxBzgB,EAAE+hB,iBACF,IAAI/L,EAAgBH,IACpB,GAAI/C,EAAKsD,gBAAkBzQ,YACtB/D,IAAe,OACXoU,GAAiBgH,EAAShH,IAAkB,CACjD,IAAIiM,EAAUjiB,EAAE4hB,UAAY,GAAK,GAAI,EACrC,IAAK5hB,EAAEkiB,QACHrF,EAAWlX,UAAWsc,OACrB,CACDjiB,EAAEC,kBACF0T,EAAYsO,GACZpF,EAAWX,EAAqB,GAAI,EACpE,CACA,CACA,MACyB,GAAIpJ,EAAKuE,YACVvE,EAAKuE,YAAY4E,QACrB,MACJ,KAAK,GACL,KAAK,GACDjc,EAAE+hB,iBACF,IAAI3J,EAAQpY,EAAE4hB,UAAY,GAAK,GAAI,EACnC,GAAK9O,EAAKsD,eACN+B,EAAYsD,KAAO9V,WACnBwS,IAAgBrF,EAAKkC,OACrBmD,IAAgBrF,EAAK/Q,SAAU,CAC/B,GAAI/B,EAAEkiB,QAAS,CACXliB,EAAEC,kBACF2T,EAAWd,EAAKgC,YAAcsD,GAC9ByE,EAAWX,EAAqB,GAAI,EAChE,MAC6B,IAAK4F,EACNjF,EAAWlX,UAAWyS,EAAQ,EAC1D,MACyB,GAAID,IAAgBrF,EAAKmM,mBAAoB,CAC9CrL,EAAWd,EAAKgC,YAAcsD,EACtD,MACyB,GAAItF,EAAK9E,OAAO9K,WAAY,CAC7B,IAAK4e,GAAahP,EAAKuE,YACnBvE,EAAKuE,YAAY4E,QACrBvF,EAAW1W,GACX8S,EAAKoE,kBAC7B,CACoB,MACJ,KAAK,EACD,GAAI4K,EAAW,CACX,IAAIK,EAAQ,CACRrP,EAAKuE,YACLvE,EAAKwE,cACLxE,EAAKyE,cACLzE,EAAK7L,MAEJmb,OAAOtP,EAAKM,gBACZiP,QAAO,SAAU1kB,GAAK,OAAOA,CAAE,IACpC,IAAIpB,EAAI4lB,EAAM9f,QAAQ8V,GACtB,GAAI5b,KAAM,EAAI,CACV,IAAI8N,EAAS8X,EAAM5lB,GAAKyD,EAAEsiB,UAAW,EAAK,IAC1CtiB,EAAE+hB,kBACD1X,GAAUyI,EAAKiE,QAAQkF,OACpD,CACA,MACyB,IAAKnJ,EAAK9E,OAAOtJ,YAClBoO,EAAKsD,eACLtD,EAAKsD,cAAc8D,SAAS/B,IAC5BnY,EAAEsiB,SAAU,CACZtiB,EAAE+hB,iBACFjP,EAAKiE,OAAOkF,OACpC,CACoB,MAIpB,CACQ,GAAInJ,EAAK7L,OAAStB,WAAawS,IAAgBrF,EAAK7L,KAAM,CACtD,OAAQjH,EAAEvP,KACN,KAAKqiB,EAAK5E,KAAKjH,KAAK,GAAGsb,OAAO,GAC9B,KAAKzP,EAAK5E,KAAKjH,KAAK,GAAGsb,OAAO,GAAGluB,cAC7Bye,EAAK7L,KAAK+B,YAAc8J,EAAK5E,KAAKjH,KAAK,GACvCgQ,IACA7C,KACA,MACJ,KAAKtB,EAAK5E,KAAKjH,KAAK,GAAGsb,OAAO,GAC9B,KAAKzP,EAAK5E,KAAKjH,KAAK,GAAGsb,OAAO,GAAGluB,cAC7Bye,EAAK7L,KAAK+B,YAAc8J,EAAK5E,KAAKjH,KAAK,GACvCgQ,IACA7C,KACA,MAEpB,CACQ,GAAIqM,GAAWH,EAAenI,GAAc,CACxCvC,GAAa,YAAa5V,EACtC,CACA,CACI,SAASY,EAAY6H,EAAM+Z,GACvB,GAAIA,SAAc,EAAQ,CAAEA,EAAY,eAAgB,CACxD,GAAI1P,EAAK0C,cAAcvhB,SAAW,GAC7BwU,KACKA,EAAKna,UAAU4rB,SAASsI,IACtB/Z,EAAKna,UAAU4rB,SAAS,uBAChC,OACJ,IAAIuI,EAAYha,EACVA,EAAKmC,QAAQlH,UACboP,EAAKwD,KAAKoM,kBAAkB9X,QAAQlH,UAAWif,EAAc7P,EAAKxD,UAAUwD,EAAK0C,cAAc,GAAI7P,UAAW,MAAMjC,UAAWkf,EAAiB9uB,KAAK4c,IAAI+R,EAAW3P,EAAK0C,cAAc,GAAG9R,WAAYmf,EAAe/uB,KAAK6c,IAAI8R,EAAW3P,EAAK0C,cAAc,GAAG9R,WACrQ,IAAIof,EAAmB,MACvB,IAAIC,EAAW,EAAGC,EAAW,EAC7B,IAAK,IAAIlb,EAAI8a,EAAgB9a,EAAI+a,EAAc/a,GAAKkJ,GAASC,IAAK,CAC9D,IAAKiD,EAAU,IAAIzQ,KAAKqE,GAAI,MAAO,CAC/Bgb,EACIA,GAAqBhb,EAAI8a,GAAkB9a,EAAI+a,EACnD,GAAI/a,EAAI6a,KAAiBI,GAAYjb,EAAIib,GACrCA,EAAWjb,OACV,GAAIA,EAAI6a,KAAiBK,GAAYlb,EAAIkb,GAC1CA,EAAWlb,CAC/B,CACA,CACQ,IAAImb,EAAiB1a,MAAM8Y,KAAKvO,EAAK8H,WAAW9b,iBAAiB,kBAAoBgU,EAAK9E,OAAOlI,WAAa,QAAU0c,IACxHS,EAAelkB,SAAQ,SAAUmkB,GAC7B,IAAI1f,EAAO0f,EAAQtY,QACnB,IAAIuY,EAAY3f,EAAKE,UACrB,IAAI0f,EAAcL,EAAW,GAAKI,EAAYJ,GACzCC,EAAW,GAAKG,EAAYH,EACjC,GAAII,EAAY,CACZF,EAAQ50B,UAAUC,IAAI,cACtB,CAAC,UAAW,aAAc,YAAYwQ,SAAQ,SAAU0P,GACpDyU,EAAQ50B,UAAUqa,OAAO8F,EAC7C,IACgB,MAChB,MACiB,GAAIqU,IAAqBM,EAC1B,OACJ,CAAC,aAAc,UAAW,WAAY,cAAcrkB,SAAQ,SAAU0P,GAClEyU,EAAQ50B,UAAUqa,OAAO8F,EACzC,IACY,GAAIhG,IAAS9C,UAAW,CACpB8C,EAAKna,UAAUC,IAAIk0B,GAAa3P,EAAK0C,cAAc,GAAG9R,UAChD,aACA,YACN,GAAIif,EAAcF,GAAaU,IAAcR,EACzCO,EAAQ50B,UAAUC,IAAI,mBACrB,GAAIo0B,EAAcF,GAAaU,IAAcR,EAC9CO,EAAQ50B,UAAUC,IAAI,YAC1B,GAAI40B,GAAaJ,IACZC,IAAa,GAAKG,GAAaH,IAChC1S,GAAU6S,EAAWR,EAAaF,GAClCS,EAAQ50B,UAAUC,IAAI,UAC1C,CACA,GACA,CACI,SAASwqB,KACL,GAAIjG,EAAKmC,SAAWnC,EAAK9E,OAAOjI,SAAW+M,EAAK9E,OAAO5J,OACnDsP,IACZ,CACI,SAASW,GAAKrU,EAAG0F,GACb,GAAIA,SAAoB,EAAQ,CAAEA,EAAkBoN,EAAKuQ,gBAAiB,CAC1E,GAAIvQ,EAAK1E,WAAa,KAAM,CACxB,GAAIpO,EAAG,CACHA,EAAE+hB,iBACF,IAAI5J,EAAcjO,GAAelK,GACjC,GAAImY,EAAa,CACbA,EAAY0J,MAChC,CACA,CACY,GAAI/O,EAAKmN,cAAgBta,UAAW,CAChCmN,EAAKmN,YAAYhE,QACjBnJ,EAAKmN,YAAYqD,OACjC,CACY1N,GAAa,UACb,MACZ,MACa,GAAI9C,EAAKiE,OAAOlc,UAAYiY,EAAK9E,OAAO5J,OAAQ,CACjD,MACZ,CACQ,IAAImf,EAAUzQ,EAAKmC,OACnBnC,EAAKmC,OAAS,KACd,IAAKsO,EAAS,CACVzQ,EAAKgD,kBAAkBxnB,UAAUC,IAAI,QACrCukB,EAAKiE,OAAOzoB,UAAUC,IAAI,UAC1BqnB,GAAa,UACblC,GAAiBhO,EAC7B,CACQ,GAAIoN,EAAK9E,OAAO9K,aAAe,MAAQ4P,EAAK9E,OAAOtJ,aAAe,KAAM,CACpE,GAAIoO,EAAK9E,OAAOpM,aAAe,QAC1B5B,IAAM2F,YACFmN,EAAKwG,cAAcY,SAASla,EAAE2gB,gBAAiB,CACpDxY,YAAW,WAAc,OAAO2K,EAAKuE,YAAYmC,QAAS,GAAI,GAC9E,CACA,CACA,CACI,SAASgK,GAAiB7yB,GACtB,OAAO,SAAU6S,GACb,IAAIoH,EAAWkI,EAAK9E,OAAO,IAAMrd,EAAO,QAAUmiB,EAAKxD,UAAU9L,EAAMsP,EAAK9E,OAAOrL,YACnF,IAAI8gB,EAAiB3Q,EAAK9E,OAAO,KAAOrd,IAAS,MAAQ,MAAQ,OAAS,QAC1E,GAAIia,IAAYjF,UAAW,CACvBmN,EAAKniB,IAAS,MAAQ,iBAAmB,kBACrCia,EAAQK,WAAa,GACjBL,EAAQ8C,aAAe,GACvB9C,EAAQ6C,aAAe,CAC/C,CACY,GAAIqF,EAAK0C,cAAe,CACpB1C,EAAK0C,cAAgB1C,EAAK0C,cAAc6M,QAAO,SAAUztB,GAAK,OAAOsf,EAAUtf,EAAG,IAClF,IAAKke,EAAK0C,cAAcvhB,QAAUtD,IAAS,MACvC6iB,EAAiB5I,GACrBwJ,IAChB,CACY,GAAItB,EAAKsD,cAAe,CACpB9B,KACA,GAAI1J,IAAYjF,UACZmN,EAAKmM,mBAAmBtuB,GAAQia,EAAQ5G,cAAcqU,gBAEtDvF,EAAKmM,mBAAmBoB,gBAAgB1vB,GAC5CmiB,EAAKmM,mBAAmBpkB,WAClB4oB,GACE7Y,IAAYjF,WACZ8d,EAAezf,gBAAkB4G,EAAQ5G,aACjE,CACA,CACA,CACI,SAASkR,KACL,IAAIwO,EAAW,CACX,OACA,cACA,aACA,sBACA,aACA,YACA,aACA,aACA,WACA,wBACA,SACA,SACA,gBACA,iBAEJ,IAAIC,EAAa3R,GAASA,GAAS,GAAI4R,KAAKC,MAAMD,KAAKE,UAAUlR,EAAQmR,SAAW,MAAOlR,GAC3F,IAAIxF,EAAU,GACdyF,EAAK9E,OAAOsB,UAAYqU,EAAWrU,UACnCwD,EAAK9E,OAAOO,WAAaoV,EAAWpV,WACpC/R,OAAOqiB,eAAe/L,EAAK9E,OAAQ,SAAU,CACzC8Q,IAAK,WAAc,OAAOhM,EAAK9E,OAAOgW,OAAQ,EAC9CzP,IAAK,SAAU0P,GACXnR,EAAK9E,OAAOgW,QAAUE,GAAeD,EACrD,IAEQznB,OAAOqiB,eAAe/L,EAAK9E,OAAQ,UAAW,CAC1C8Q,IAAK,WAAc,OAAOhM,EAAK9E,OAAOrM,QAAS,EAC/C4S,IAAK,SAAU0P,GACXnR,EAAK9E,OAAOrM,SAAWuiB,GAAeD,EACtD,IAEQ,IAAIE,EAAWR,EAAWpf,OAAS,OACnC,IAAKof,EAAWhhB,aAAeghB,EAAWzgB,YAAcihB,GAAW,CAC/D,IAAIC,EAAoBpR,GAAUC,cAActQ,YAAcoQ,EAAepQ,WAC7E0K,EAAQ1K,WACJghB,EAAWjf,YAAcyf,EACnB,OAASR,EAAW1gB,cAAgB,KAAO,IAC3CmhB,EAAoB,QAAUT,EAAW1gB,cAAgB,KAAO,GACtF,CACQ,GAAI0gB,EAAW5hB,WACV4hB,EAAWzgB,YAAcihB,KACzBR,EAAW7hB,UAAW,CACvB,IAAIuiB,EAAmBrR,GAAUC,cAAcnR,WAAaiR,EAAejR,UAC3EuL,EAAQvL,UACJ6hB,EAAWjf,YAAcyf,EACnB,OAASR,EAAW1gB,cAAgB,OAAS,MAC7CohB,GAAoB,QAAUV,EAAW1gB,cAAgB,KAAO,IAAM,KAC5F,CACQzG,OAAOqiB,eAAe/L,EAAK9E,OAAQ,UAAW,CAC1C8Q,IAAK,WAAc,OAAOhM,EAAK9E,OAAOsW,QAAS,EAC/C/P,IAAKiP,GAAiB,SAE1BhnB,OAAOqiB,eAAe/L,EAAK9E,OAAQ,UAAW,CAC1C8Q,IAAK,WAAc,OAAOhM,EAAK9E,OAAOuW,QAAS,EAC/ChQ,IAAKiP,GAAiB,SAE1B,IAAIgB,EAAmB,SAAU7zB,GAAQ,OAAO,SAAUqf,GACtD8C,EAAK9E,OAAOrd,IAAS,MAAQ,WAAa,YAAcmiB,EAAKxD,UAAUU,EAAK,QACxF,CAAU,EACFxT,OAAOqiB,eAAe/L,EAAK9E,OAAQ,UAAW,CAC1C8Q,IAAK,WAAc,OAAOhM,EAAK9E,OAAOyW,QAAS,EAC/ClQ,IAAKiQ,EAAiB,SAE1BhoB,OAAOqiB,eAAe/L,EAAK9E,OAAQ,UAAW,CAC1C8Q,IAAK,WAAc,OAAOhM,EAAK9E,OAAO0W,QAAS,EAC/CnQ,IAAKiQ,EAAiB,SAE1B,GAAIb,EAAWpf,OAAS,OAAQ,CAC5BuO,EAAK9E,OAAOtJ,WAAa,KACzBoO,EAAK9E,OAAO9K,WAAa,IACrC,CACQ1G,OAAOC,OAAOqW,EAAK9E,OAAQX,EAASsW,GACpC,IAAK,IAAIpnB,EAAI,EAAGA,EAAImnB,EAASzvB,OAAQsI,IACjCuW,EAAK9E,OAAO0V,EAASnnB,IACjBuW,EAAK9E,OAAO0V,EAASnnB,MAAQ,MACzBuW,EAAK9E,OAAO0V,EAASnnB,MAAQ,OACzCkF,EAAM4gB,QAAO,SAAUsC,GAAQ,OAAO7R,EAAK9E,OAAO2W,KAAUhf,SAAU,IAAI5G,SAAQ,SAAU4lB,GACxF7R,EAAK9E,OAAO2W,GAAQtc,GAASyK,EAAK9E,OAAO2W,IAAS,IAAIruB,IAAI2f,EACtE,IACQnD,EAAK1E,UACA0E,EAAK9E,OAAOhL,gBACR8P,EAAK9E,OAAO5J,QACb0O,EAAK9E,OAAOzJ,OAAS,WACpBuO,EAAK9E,OAAOjL,QAAQ9O,SACpB6e,EAAK9E,OAAOkT,SACZpO,EAAK9E,OAAO/H,aACb,iEAAiEuF,KAAKrJ,UAAUC,WACxF,IAAK,IAAI7F,EAAI,EAAGA,EAAIuW,EAAK9E,OAAOxI,QAAQvR,OAAQsI,IAAK,CACjD,IAAIqoB,EAAa9R,EAAK9E,OAAOxI,QAAQjJ,GAAGuW,IAAS,GACjD,IAAK,IAAIriB,KAAOm0B,EAAY,CACxB,GAAInjB,EAAMY,QAAQ5R,IAAO,EAAI,CACzBqiB,EAAK9E,OAAOvd,GAAO4X,GAASuc,EAAWn0B,IAClC6F,IAAI2f,GACJmM,OAAOtP,EAAK9E,OAAOvd,GAC5C,MACqB,UAAWkzB,EAAWlzB,KAAS,YAChCqiB,EAAK9E,OAAOvd,GAAOm0B,EAAWn0B,EAClD,CACA,CACQ,IAAKkzB,EAAW3hB,cAAe,CAC3B8Q,EAAK9E,OAAOhM,cACR6iB,KAAenc,UAAY,IAAMoK,EAAK9E,OAAOhM,aAC7D,CACQ4T,GAAa,gBACrB,CACI,SAASiP,KACL,OAAO/R,EAAK9E,OAAO9H,KACb0M,EAAQxkB,cAAc,gBACtBwkB,CACd,CACI,SAASuC,KACL,UAAWrC,EAAK9E,OAAO3J,SAAW,iBACvB2O,GAAU8R,MAAMhS,EAAK9E,OAAO3J,UAAY,YAC/CyO,EAAK9E,OAAO7K,aAAa,IAAI+M,MAAM,6BAA+B4C,EAAK9E,OAAO3J,SAClFyO,EAAK5E,KAAO8D,GAASA,GAAS,GAAIgB,GAAU8R,MAAMC,gBAAkBjS,EAAK9E,OAAO3J,SAAW,SACrFyO,EAAK9E,OAAO3J,OACZyO,EAAK9E,OAAO3J,SAAW,UACnB2O,GAAU8R,MAAMhS,EAAK9E,OAAO3J,QAC5BsB,WACVyH,GAAW1C,EAAI,IAAMoI,EAAK5E,KAAK9H,SAASC,UAAUsI,KAAK,KAAO,IAC9DvB,GAAWP,EAAI,IAAMiG,EAAK5E,KAAK9H,SAASE,SAASqI,KAAK,KAAO,IAC7DvB,GAAW3B,EAAI,IAAMqH,EAAK5E,KAAK3H,OAAOF,UAAUsI,KAAK,KAAO,IAC5DvB,GAAWzC,EAAI,IAAMmI,EAAK5E,KAAK3H,OAAOD,SAASqI,KAAK,KAAO,IAC3DvB,GAAW9B,EAAI,IAAMwH,EAAK5E,KAAKjH,KAAK,GAAK,IAAM6L,EAAK5E,KAAKjH,KAAK,GAAK,IAAM6L,EAAK5E,KAAKjH,KAAK,GAAG5S,cAAgB,IAAMye,EAAK5E,KAAKjH,KAAK,GAAG5S,cAAgB,IACnJ,IAAIsvB,EAAa3R,GAASA,GAAS,GAAIa,GAAiB+Q,KAAKC,MAAMD,KAAKE,UAAUlR,EAAQmR,SAAW,MACrG,GAAIJ,EAAW3d,YAAcL,WACzBqN,GAAUC,cAAcjN,YAAcL,UAAW,CACjDmN,EAAK9E,OAAOhI,UAAY8M,EAAK5E,KAAKlI,SAC9C,CACQ8M,EAAKvE,WAAaV,GAAoBiF,GACtCA,EAAKxD,UAAYV,GAAiB,CAAEZ,OAAQ8E,EAAK9E,OAAQE,KAAM4E,EAAK5E,MAC5E,CACI,SAASwF,GAAiBsR,GACtB,UAAWlS,EAAK9E,OAAOvI,WAAa,WAAY,CAC5C,YAAYqN,EAAK9E,OAAOvI,SAASqN,EAAMkS,EACnD,CACQ,GAAIlS,EAAKgD,oBAAsBnQ,UAC3B,OACJiQ,GAAa,yBACb,IAAIlQ,EAAkBsf,GAAyBlS,EAAKuQ,iBACpD,IAAI4B,EAAiB1c,MAAM2J,UAAUgT,OAAO9S,KAAKU,EAAKgD,kBAAkBuG,UAAQ,SAAa8I,EAAKC,GAAS,OAAOD,EAAMC,EAAMC,YAAe,GAAG,GAAIC,EAAgBxS,EAAKgD,kBAAkBS,YAAagP,EAAYzS,EAAK9E,OAAOvI,SAAS+I,MAAM,KAAMgX,EAAoBD,EAAU,GAAIE,EAAsBF,EAAUtxB,OAAS,EAAIsxB,EAAU,GAAK,KAAMG,EAAchgB,EAAgBigB,wBAAyBC,EAAqB1jB,OAAO2jB,YAAcH,EAAYI,OAAQC,EAAYP,IAAsB,SAC3eA,IAAsB,SACnBI,EAAqBX,GACrBS,EAAYM,IAAMf,EAC1B,IAAIe,EAAM9jB,OAAO+jB,YACbP,EAAYM,MACVD,EAAYrgB,EAAgB2f,aAAe,GAAKJ,EAAiB,GACvEzc,GAAYsK,EAAKgD,kBAAmB,YAAaiQ,GACjDvd,GAAYsK,EAAKgD,kBAAmB,cAAeiQ,GACnD,GAAIjT,EAAK9E,OAAO5J,OACZ,OACJ,IAAI8hB,EAAOhkB,OAAOikB,YAAcT,EAAYQ,KAC5C,IAAIE,EAAW,MACf,IAAIC,EAAU,MACd,GAAIZ,IAAwB,SAAU,CAClCS,IAASZ,EAAgBI,EAAYlxB,OAAS,EAC9C4xB,EAAW,IACvB,MACa,GAAIX,IAAwB,QAAS,CACtCS,GAAQZ,EAAgBI,EAAYlxB,MACpC6xB,EAAU,IACtB,CACQ7d,GAAYsK,EAAKgD,kBAAmB,aAAcsQ,IAAaC,GAC/D7d,GAAYsK,EAAKgD,kBAAmB,cAAesQ,GACnD5d,GAAYsK,EAAKgD,kBAAmB,aAAcuQ,GAClD,IAAIC,EAAQpkB,OAAO6G,SAASsS,KAAK9E,aAC5BrU,OAAOikB,YAAcT,EAAYY,OACtC,IAAIC,EAAYL,EAAOZ,EAAgBpjB,OAAO6G,SAASsS,KAAK9E,YAC5D,IAAIiQ,EAAaF,EAAQhB,EAAgBpjB,OAAO6G,SAASsS,KAAK9E,YAC9D/N,GAAYsK,EAAKgD,kBAAmB,YAAayQ,GACjD,GAAIzT,EAAK9E,OAAOjI,OACZ,OACJ+M,EAAKgD,kBAAkBzb,MAAM2rB,IAAMA,EAAM,KACzC,IAAKO,EAAW,CACZzT,EAAKgD,kBAAkBzb,MAAM6rB,KAAOA,EAAO,KAC3CpT,EAAKgD,kBAAkBzb,MAAMisB,MAAQ,MACjD,MACa,IAAKE,EAAY,CAClB1T,EAAKgD,kBAAkBzb,MAAM6rB,KAAO,OACpCpT,EAAKgD,kBAAkBzb,MAAMisB,MAAQA,EAAQ,IACzD,KACa,CACD,IAAIG,EAAMC,KACV,GAAID,IAAQ9gB,UACR,OACJ,IAAIghB,EAAYzkB,OAAO6G,SAASsS,KAAK9E,YACrC,IAAIqQ,EAAa9yB,KAAK6c,IAAI,EAAGgW,EAAY,EAAIrB,EAAgB,GAC7D,IAAIuB,EAAe,wCACnB,IAAIC,EAAc,uCAClB,IAAIC,EAAcN,EAAIO,SAAS/yB,OAC/B,IAAIgzB,EAAc,SAAWvB,EAAYQ,KAAO,kBAChD1d,GAAYsK,EAAKgD,kBAAmB,YAAa,OACjDtN,GAAYsK,EAAKgD,kBAAmB,aAAc,MAClD2Q,EAAIS,WAAWL,EAAe,IAAMC,EAAcG,EAAaF,GAC/DjU,EAAKgD,kBAAkBzb,MAAM6rB,KAAOU,EAAa,KACjD9T,EAAKgD,kBAAkBzb,MAAMisB,MAAQ,MACjD,CACA,CACI,SAASI,KACL,IAAIS,EAAgB,KACpB,IAAK,IAAI5qB,EAAI,EAAGA,EAAIwM,SAASqe,YAAYnzB,OAAQsI,IAAK,CAClD,IAAI8qB,EAAQte,SAASqe,YAAY7qB,GACjC,IAAK8qB,EAAML,SACP,SAOJG,EAAgBE,EAChB,KACZ,CACQ,OAAOF,GAAiB,KAAOA,EAAgBG,IACvD,CACI,SAASA,KACL,IAAIjtB,EAAQ0O,SAASH,cAAc,SACnCG,SAASwe,KAAKtd,YAAY5P,GAC1B,OAAOA,EAAMgtB,KACrB,CACI,SAAS/S,KACL,GAAIxB,EAAK9E,OAAOtJ,YAAcoO,EAAK1E,SAC/B,OACJ4L,IACAkF,KACApE,GACR,CACI,SAASkH,KACLlP,EAAKiE,OAAOkF,QACZ,GAAI/Z,OAAOC,UAAUC,UAAUC,QAAQ,WAAY,GAC/CF,UAAUqlB,mBAAqB7hB,UAAW,CAC1CwC,WAAW2K,EAAKgB,MAAO,EACnC,KACa,CACDhB,EAAKgB,OACjB,CACA,CACI,SAASuF,GAAWrZ,GAChBA,EAAE+hB,iBACF/hB,EAAEC,kBACF,IAAIwnB,EAAe,SAAUpc,GACzB,OAAOA,EAAI/c,WACP+c,EAAI/c,UAAU4rB,SAAS,mBACtB7O,EAAI/c,UAAU4rB,SAAS,wBACvB7O,EAAI/c,UAAU4rB,SAAS,aACxC,EACQ,IAAIpS,EAAIuB,GAAWa,GAAelK,GAAIynB,GACtC,GAAI3f,IAAMnC,UACN,OACJ,IAAI0E,EAASvC,EACb,IAAI4f,EAAgB5U,EAAK2C,sBAAwB,IAAIhS,KAAK4G,EAAOO,QAAQlH,WACzE,IAAIikB,GAAqBD,EAAala,WAAasF,EAAK+B,cACpD6S,EAAala,WACTsF,EAAK+B,aAAe/B,EAAK9E,OAAOlI,WAAa,IACjDgN,EAAK9E,OAAOzJ,OAAS,QACzBuO,EAAK8I,iBAAmBvR,EACxB,GAAIyI,EAAK9E,OAAOzJ,OAAS,SACrBuO,EAAK0C,cAAgB,CAACkS,QACrB,GAAI5U,EAAK9E,OAAOzJ,OAAS,WAAY,CACtC,IAAIqjB,EAAgBjM,GAAe+L,GACnC,GAAIE,EACA9U,EAAK0C,cAAcmK,OAAOvT,SAASwb,GAAgB,QAEnD9U,EAAK0C,cAAciD,KAAKiP,EACxC,MACa,GAAI5U,EAAK9E,OAAOzJ,OAAS,QAAS,CACnC,GAAIuO,EAAK0C,cAAcvhB,SAAW,EAAG,CACjC6e,EAAKe,MAAM,MAAO,MAClC,CACYf,EAAK2C,sBAAwBiS,EAC7B5U,EAAK0C,cAAciD,KAAKiP,GACxB,GAAIvX,GAAauX,EAAc5U,EAAK0C,cAAc,GAAI,QAAU,EAC5D1C,EAAK0C,cAAcqS,MAAK,SAAUrV,EAAGsV,GAAK,OAAOtV,EAAE9O,UAAYokB,EAAEpkB,SAAU,GAC3F,CACQuT,IACA,GAAI0Q,EAAmB,CACnB,IAAI3G,EAAYlO,EAAKgC,cAAgB4S,EAAa1jB,cAClD8O,EAAKgC,YAAc4S,EAAa1jB,cAChC8O,EAAK+B,aAAe6S,EAAala,WACjC,GAAIwT,EAAW,CACXpL,GAAa,gBACboE,GAChB,CACYpE,GAAa,gBACzB,CACQsJ,KACApE,IACA1G,KACA,IAAKuT,GACD7U,EAAK9E,OAAOzJ,OAAS,SACrBuO,EAAK9E,OAAOlI,aAAe,EAC3BiW,EAAe1R,QACd,GAAIyI,EAAK8I,mBAAqBjW,WAC/BmN,EAAKuE,cAAgB1R,UAAW,CAChCmN,EAAK8I,kBAAoB9I,EAAK8I,iBAAiBK,OAC3D,CACQ,GAAInJ,EAAKuE,cAAgB1R,UACrBmN,EAAKuE,cAAgB1R,WAAamN,EAAKuE,YAAY4E,QACvD,GAAInJ,EAAK9E,OAAOvL,cAAe,CAC3B,IAAIslB,EAASjV,EAAK9E,OAAOzJ,OAAS,WAAauO,EAAK9E,OAAO9K,WAC3D,IAAI8kB,EAAQlV,EAAK9E,OAAOzJ,OAAS,SAC7BuO,EAAK0C,cAAcvhB,SAAW,IAC7B6e,EAAK9E,OAAO9K,WACjB,GAAI6kB,GAAUC,EAAO,CACjBhG,IAChB,CACA,CACQrJ,GACR,CACI,IAAIsP,GAAY,CACZ5jB,OAAQ,CAAC8Q,GAAauK,GACtB5Z,WAAY,CAAC0Y,EAAa9I,EAAkBmF,GAC5C1J,QAAS,CAACgD,GACV5C,QAAS,CAAC4C,GACVzO,gBAAiB,CAACwiB,IAClB1lB,WAAY,CACR,WACI,GAAIsQ,EAAK9E,OAAOxL,aAAe,KAAM,CACjCpR,EAAK0hB,EAAKiE,OAAQ,QAASjE,EAAKuB,MAChCjjB,EAAK0hB,EAAKiE,OAAQ,QAASjE,EAAKuB,KACpD,KACqB,CACDvB,EAAKiE,OAAO2B,oBAAoB,QAAS5F,EAAKuB,MAC9CvB,EAAKiE,OAAO2B,oBAAoB,QAAS5F,EAAKuB,KAClE,CACA,IAGI,SAASE,GAAI4T,EAAQnR,GACjB,GAAImR,IAAW,aAAeA,IAAW,SAAU,CAC/C3rB,OAAOC,OAAOqW,EAAK9E,OAAQma,GAC3B,IAAK,IAAI13B,KAAO03B,EAAQ,CACpB,GAAIF,GAAUx3B,KAASkV,UACnBsiB,GAAUx3B,GAAKsO,SAAQ,SAAUpB,GAAK,OAAOA,GAAI,GACrE,CACA,KACa,CACDmV,EAAK9E,OAAOma,GAAUnR,EACtB,GAAIiR,GAAUE,KAAYxiB,UACtBsiB,GAAUE,GAAQppB,SAAQ,SAAUpB,GAAK,OAAOA,GAAI,SACnD,GAAI8D,EAAMY,QAAQ8lB,IAAU,EAC7BrV,EAAK9E,OAAOma,GAAU9f,GAAS2O,EAC/C,CACQlE,EAAKwB,SACLF,GAAY,KACpB,CACI,SAASgU,GAAgBC,EAAWlZ,GAChC,IAAI8U,EAAQ,GACZ,GAAIoE,aAAqB9f,MACrB0b,EAAQoE,EAAU/xB,KAAI,SAAU1B,GAAK,OAAOke,EAAKxD,UAAU1a,EAAGua,EAAQ,SACrE,GAAIkZ,aAAqB5kB,aAAe4kB,IAAc,SACvDpE,EAAQ,CAACnR,EAAKxD,UAAU+Y,EAAWlZ,SAClC,UAAWkZ,IAAc,SAAU,CACpC,OAAQvV,EAAK9E,OAAOzJ,MAChB,IAAK,SACL,IAAK,OACD0f,EAAQ,CAACnR,EAAKxD,UAAU+Y,EAAWlZ,IACnC,MACJ,IAAK,WACD8U,EAAQoE,EACH7Z,MAAMsE,EAAK9E,OAAOtL,aAClBpM,KAAI,SAAUkN,GAAQ,OAAOsP,EAAKxD,UAAU9L,EAAM2L,EAAQ,IAC/D,MACJ,IAAK,QACD8U,EAAQoE,EACH7Z,MAAMsE,EAAK5E,KAAKrH,gBAChBvQ,KAAI,SAAUkN,GAAQ,OAAOsP,EAAKxD,UAAU9L,EAAM2L,EAAQ,IAC/D,MAIpB,MAEY2D,EAAK9E,OAAO7K,aAAa,IAAI+M,MAAM,0BAA4B0T,KAAKE,UAAUuE,KAClFvV,EAAK0C,cAAiB1C,EAAK9E,OAAOnM,oBAC5BoiB,EACAA,EAAM5B,QAAO,SAAUztB,GAAK,OAAOA,aAAa6O,MAAQyQ,EAAUtf,EAAG,MAAO,IAClF,GAAIke,EAAK9E,OAAOzJ,OAAS,QACrBuO,EAAK0C,cAAcqS,MAAK,SAAUrV,EAAGsV,GAAK,OAAOtV,EAAE9O,UAAYokB,EAAEpkB,SAAU,GACvF,CACI,SAASE,GAAQJ,EAAMmV,EAAexJ,GAClC,GAAIwJ,SAAkB,EAAQ,CAAEA,EAAgB,KAAM,CACtD,GAAIxJ,SAAW,EAAQ,CAAEA,EAAS2D,EAAK9E,OAAOrL,UAAW,CACzD,GAAKa,IAAS,IAAMA,GAAUA,aAAgB+E,OAAS/E,EAAKvP,SAAW,EACnE,OAAO6e,EAAKe,MAAM8E,GACtByP,GAAgB5kB,EAAM2L,GACtB2D,EAAK2C,sBACD3C,EAAK0C,cAAc1C,EAAK0C,cAAcvhB,OAAS,GACnD6e,EAAKwB,SACLH,EAAWxO,UAAWgT,GACtBnF,IACA,GAAIV,EAAK0C,cAAcvhB,SAAW,EAAG,CACjC6e,EAAKe,MAAM,MACvB,CACQO,GAAYuE,GACZ,GAAIA,EACA/C,GAAa,WACzB,CACI,SAASsO,GAAexV,GACpB,OAAOA,EACFlH,QACAlR,KAAI,SAAUgyB,GACf,UAAWA,IAAS,iBACTA,IAAS,UAChBA,aAAgB7kB,KAAM,CACtB,OAAOqP,EAAKxD,UAAUgZ,EAAM3iB,UAAW,KACvD,MACiB,GAAI2iB,UACEA,IAAS,UAChBA,EAAKjH,MACLiH,EAAKhH,GACL,MAAO,CACHD,KAAMvO,EAAKxD,UAAUgZ,EAAKjH,KAAM1b,WAChC2b,GAAIxO,EAAKxD,UAAUgZ,EAAKhH,GAAI3b,YAEpC,OAAO2iB,CACnB,IACajG,QAAO,SAAU1kB,GAAK,OAAOA,CAAE,GAC5C,CACI,SAAS0X,KACLvC,EAAK0C,cAAgB,GACrB1C,EAAKnO,IAAMmO,EAAKxD,UAAUwD,EAAK9E,OAAOrJ,MAAQ,IAAIlB,KAClD,IAAI8kB,EAAgBzV,EAAK9E,OAAO2I,eAC1B7D,EAAKkC,MAAMwT,WAAa,SACtB1V,EAAKkC,MAAMwT,WAAa,aACxB1V,EAAKkC,MAAMliB,aACXggB,EAAKkC,MAAMgC,QAAUlE,EAAKkC,MAAMliB,YAC9B,KACAggB,EAAKkC,MAAMgC,OACrB,GAAIuR,EACAH,GAAgBG,EAAezV,EAAK9E,OAAOrL,YAC/CmQ,EAAKoN,aACDpN,EAAK0C,cAAcvhB,OAAS,EACtB6e,EAAK0C,cAAc,GACnB1C,EAAK9E,OAAOmD,SACV2B,EAAK9E,OAAOmD,QAAQzN,UAAYoP,EAAKnO,IAAIjB,UACvCoP,EAAK9E,OAAOmD,QACZ2B,EAAK9E,OAAOuD,SACVuB,EAAK9E,OAAOuD,QAAQ7N,UAAYoP,EAAKnO,IAAIjB,UACvCoP,EAAK9E,OAAOuD,QACZuB,EAAKnO,IACvBmO,EAAKgC,YAAchC,EAAKoN,aAAalc,cACrC8O,EAAK+B,aAAe/B,EAAKoN,aAAa1S,WACtC,GAAIsF,EAAK0C,cAAcvhB,OAAS,EAC5B6e,EAAK2C,sBAAwB3C,EAAK0C,cAAc,GACpD,GAAI1C,EAAK9E,OAAOyJ,UAAY9R,UACxBmN,EAAK9E,OAAOyJ,QAAU3E,EAAKxD,UAAUwD,EAAK9E,OAAOyJ,QAAS,OAC9D,GAAI3E,EAAK9E,OAAO4J,UAAYjS,UACxBmN,EAAK9E,OAAO4J,QAAU9E,EAAKxD,UAAUwD,EAAK9E,OAAO4J,QAAS,OAC9D9E,EAAK4E,iBACC5E,EAAK9E,OAAOmD,UACT2B,EAAK9E,OAAOmD,QAAQlG,WAAa,GAC9B6H,EAAK9E,OAAOmD,QAAQzD,aAAe,GACnCoF,EAAK9E,OAAOmD,QAAQ1D,aAAe,GAC/CqF,EAAK+E,iBACC/E,EAAK9E,OAAOuD,UACTuB,EAAK9E,OAAOuD,QAAQtG,WAAa,GAC9B6H,EAAK9E,OAAOuD,QAAQ7D,aAAe,GACnCoF,EAAK9E,OAAOuD,QAAQ9D,aAAe,EACvD,CACI,SAAS2H,KACLtC,EAAKkC,MAAQ6P,KACb,IAAK/R,EAAKkC,MAAO,CACblC,EAAK9E,OAAO7K,aAAa,IAAI+M,MAAM,oCACnC,MACZ,CACQ4C,EAAKkC,MAAMoL,MAAQtN,EAAKkC,MAAMrkB,KAC9BmiB,EAAKkC,MAAMrkB,KAAO,OAClBmiB,EAAKkC,MAAM1mB,UAAUC,IAAI,mBACzBukB,EAAKiE,OAASjE,EAAKkC,MACnB,GAAIlC,EAAK9E,OAAOjM,SAAU,CACtB+Q,EAAK/Q,SAAW6G,GAAckK,EAAKkC,MAAMwT,SAAU1V,EAAK9E,OAAOhM,eAC/D8Q,EAAKiE,OAASjE,EAAK/Q,SACnB+Q,EAAK/Q,SAASjP,YAAcggB,EAAKkC,MAAMliB,YACvCggB,EAAK/Q,SAASlH,SAAWiY,EAAKkC,MAAMna,SACpCiY,EAAK/Q,SAAS0mB,SAAW3V,EAAKkC,MAAMyT,SACpC3V,EAAK/Q,SAASyY,SAAW1H,EAAKkC,MAAMwF,SACpC1H,EAAK/Q,SAASpR,KAAO,OACrBmiB,EAAKkC,MAAMhL,aAAa,OAAQ,UAChC,IAAK8I,EAAK9E,OAAOjI,QAAU+M,EAAKkC,MAAMzL,WAClCuJ,EAAKkC,MAAMzL,WAAW4R,aAAarI,EAAK/Q,SAAU+Q,EAAKkC,MAAMoG,YAC7E,CACQ,IAAKtI,EAAK9E,OAAOpM,WACbkR,EAAKiE,OAAO/M,aAAa,WAAY,YACzCke,IACR,CACI,SAASA,KACLpV,EAAKuQ,iBAAmBvQ,EAAK9E,OAAOtI,iBAAmBoN,EAAKiE,MACpE,CACI,SAAS8B,KACL,IAAI6P,EAAY5V,EAAK9E,OAAO9K,WACtB4P,EAAK9E,OAAOtJ,WACR,OACA,iBACJ,OACNoO,EAAKmN,YAAcrX,GAAc,QAASkK,EAAKkC,MAAMtM,UAAY,qBACjEoK,EAAKmN,YAAYzF,SAAW,EAC5B1H,EAAKmN,YAAYtvB,KAAO+3B,EACxB5V,EAAKmN,YAAYplB,SAAWiY,EAAKkC,MAAMna,SACvCiY,EAAKmN,YAAYwI,SAAW3V,EAAKkC,MAAMyT,SACvC3V,EAAKmN,YAAYntB,YAAcggB,EAAKkC,MAAMliB,YAC1CggB,EAAK6V,gBACDD,IAAc,iBACR,gBACAA,IAAc,OACV,QACA,QACd,GAAI5V,EAAK0C,cAAcvhB,OAAS,EAAG,CAC/B6e,EAAKmN,YAAY2I,aAAe9V,EAAKmN,YAAYjJ,MAAQlE,EAAKvE,WAAWuE,EAAK0C,cAAc,GAAI1C,EAAK6V,gBACjH,CACQ,GAAI7V,EAAK9E,OAAOmD,QACZ2B,EAAKmN,YAAYvP,IAAMoC,EAAKvE,WAAWuE,EAAK9E,OAAOmD,QAAS,SAChE,GAAI2B,EAAK9E,OAAOuD,QACZuB,EAAKmN,YAAYtP,IAAMmC,EAAKvE,WAAWuE,EAAK9E,OAAOuD,QAAS,SAChE,GAAIuB,EAAKkC,MAAMuK,aAAa,QACxBzM,EAAKmN,YAAY4I,KAAOlb,OAAOmF,EAAKkC,MAAMuK,aAAa,SAC3DzM,EAAKkC,MAAMrkB,KAAO,SAClB,GAAImiB,EAAK/Q,WAAa4D,UAClBmN,EAAK/Q,SAASpR,KAAO,SACzB,IACI,GAAImiB,EAAKkC,MAAMzL,WACXuJ,EAAKkC,MAAMzL,WAAW4R,aAAarI,EAAKmN,YAAanN,EAAKkC,MAAMoG,YAChF,CACQ,MAAOtN,GAAI,CACX1c,EAAK0hB,EAAKmN,YAAa,UAAU,SAAUjgB,GACvC8S,EAAKlP,QAAQsG,GAAelK,GAAGgX,MAAO,MAAOlE,EAAK6V,iBAClD/S,GAAa,YACbA,GAAa,UACzB,GACA,CACI,SAASpB,GAAOxU,GACZ,GAAI8S,EAAKmC,SAAW,KAChB,OAAOnC,EAAKgB,QAChBhB,EAAKuB,KAAKrU,EAClB,CACI,SAAS4V,GAAa9mB,EAAOg6B,GACzB,GAAIhW,EAAK9E,SAAWrI,UAChB,OACJ,IAAIojB,EAAQjW,EAAK9E,OAAOlf,GACxB,GAAIi6B,IAAUpjB,WAAaojB,EAAM90B,OAAS,EAAG,CACzC,IAAK,IAAIsI,EAAI,EAAGwsB,EAAMxsB,IAAMA,EAAIwsB,EAAM90B,OAAQsI,IAC1CwsB,EAAMxsB,GAAGuW,EAAK0C,cAAe1C,EAAKkC,MAAMgC,MAAOlE,EAAMgW,EACrE,CACQ,GAAIh6B,IAAU,WAAY,CACtBgkB,EAAKkC,MAAMqF,cAAcD,GAAY,WACrCtH,EAAKkC,MAAMqF,cAAcD,GAAY,SACjD,CACA,CACI,SAASA,GAAYrpB,GACjB,IAAIiP,EAAI+I,SAASqR,YAAY,SAC7Bpa,EAAEgpB,UAAUj4B,EAAM,KAAM,MACxB,OAAOiP,CACf,CACI,SAAS2b,GAAenY,GACpB,IAAK,IAAIjH,EAAI,EAAGA,EAAIuW,EAAK0C,cAAcvhB,OAAQsI,IAAK,CAChD,IAAImrB,EAAe5U,EAAK0C,cAAcjZ,GACtC,GAAImrB,aAAwBjkB,MACxB0M,GAAauX,EAAclkB,KAAU,EACrC,MAAO,GAAKjH,CAC5B,CACQ,OAAO,KACf,CACI,SAASsf,GAAcrY,GACnB,GAAIsP,EAAK9E,OAAOzJ,OAAS,SAAWuO,EAAK0C,cAAcvhB,OAAS,EAC5D,OAAO,MACX,OAAQkc,GAAa3M,EAAMsP,EAAK0C,cAAc,KAAO,GACjDrF,GAAa3M,EAAMsP,EAAK0C,cAAc,KAAO,CACzD,CACI,SAAS0J,KACL,GAAIpM,EAAK9E,OAAOtJ,YAAcoO,EAAK1E,WAAa0E,EAAKqG,SACjD,OACJrG,EAAK4L,aAAa3f,SAAQ,SAAUuf,EAAa/hB,GAC7C,IAAI3H,EAAI,IAAI6O,KAAKqP,EAAKgC,YAAahC,EAAK+B,aAAc,GACtDjgB,EAAEkW,SAASgI,EAAK+B,aAAetY,GAC/B,GAAIuW,EAAK9E,OAAOlI,WAAa,GACzBgN,EAAK9E,OAAOxJ,oBAAsB,SAAU,CAC5CsO,EAAK6L,cAAcpiB,GAAGyM,YAClBuB,GAAW3V,EAAE4Y,WAAYsF,EAAK9E,OAAOnI,sBAAuBiN,EAAK5E,MAAQ,GAC7F,KACiB,CACD4E,EAAKgL,wBAAwB9G,MAAQpiB,EAAE4Y,WAAW6K,UAClE,CACYiG,EAAYtH,MAAQpiB,EAAEoP,cAAcqU,UAChD,IACQvF,EAAK+M,oBACD/M,EAAK9E,OAAOmD,UAAYxL,YACnBmN,EAAKgC,cAAgBhC,EAAK9E,OAAOmD,QAAQnN,cACpC8O,EAAK+B,cAAgB/B,EAAK9E,OAAOmD,QAAQ3D,WACzCsF,EAAKgC,YAAchC,EAAK9E,OAAOmD,QAAQnN,eACrD8O,EAAKgN,oBACDhN,EAAK9E,OAAOuD,UAAY5L,YACnBmN,EAAKgC,cAAgBhC,EAAK9E,OAAOuD,QAAQvN,cACpC8O,EAAK+B,aAAe,EAAI/B,EAAK9E,OAAOuD,QAAQ/D,WAC5CsF,EAAKgC,YAAchC,EAAK9E,OAAOuD,QAAQvN,cAC7D,CACI,SAASyd,GAAWwH,GAChB,IAAI9Z,EAAS8Z,IACRnW,EAAK9E,OAAOjM,SAAW+Q,EAAK9E,OAAOlM,UAAYgR,EAAK9E,OAAOrL,YAChE,OAAOmQ,EAAK0C,cACPlf,KAAI,SAAU4yB,GAAQ,OAAOpW,EAAKvE,WAAW2a,EAAM/Z,EAAQ,IAC3DkT,QAAO,SAAUztB,EAAG2H,EAAGmS,GACxB,OAAOoE,EAAK9E,OAAOzJ,OAAS,SACxBuO,EAAK9E,OAAO9K,YACZwL,EAAIrM,QAAQzN,KAAO2H,CACnC,IACaoS,KAAKmE,EAAK9E,OAAOzJ,OAAS,QACzBuO,EAAK9E,OAAOtL,YACZoQ,EAAK5E,KAAKrH,eACxB,CACI,SAASuN,GAAYuE,GACjB,GAAIA,SAAkB,EAAQ,CAAEA,EAAgB,IAAK,CACrD,GAAI7F,EAAKmN,cAAgBta,WAAamN,EAAK6V,gBAAiB,CACxD7V,EAAKmN,YAAYjJ,MACblE,EAAK2C,wBAA0B9P,UACzBmN,EAAKvE,WAAWuE,EAAK2C,sBAAuB3C,EAAK6V,iBACjD,EACtB,CACQ7V,EAAKkC,MAAMgC,MAAQyK,GAAW3O,EAAK9E,OAAOrL,YAC1C,GAAImQ,EAAK/Q,WAAa4D,UAAW,CAC7BmN,EAAK/Q,SAASiV,MAAQyK,GAAW3O,EAAK9E,OAAOlM,UACzD,CACQ,GAAI6W,IAAkB,MAClB/C,GAAa,gBACzB,CACI,SAASwD,GAAgBpZ,GACrB,IAAImY,EAAcjO,GAAelK,GACjC,IAAImpB,EAAcrW,EAAK2L,aAAavE,SAAS/B,GAC7C,IAAIiR,EAActW,EAAK8L,aAAa1E,SAAS/B,GAC7C,GAAIgR,GAAeC,EAAa,CAC5BzV,EAAYwV,GAAc,EAAK,EAC3C,MACa,GAAIrW,EAAK4L,aAAarc,QAAQ8V,IAAgB,EAAG,CAClDA,EAAYqB,QACxB,MACa,GAAIrB,EAAY7pB,UAAU4rB,SAAS,WAAY,CAChDpH,EAAKc,WAAWd,EAAKgC,YAAc,EAC/C,MACa,GAAIqD,EAAY7pB,UAAU4rB,SAAS,aAAc,CAClDpH,EAAKc,WAAWd,EAAKgC,YAAc,EAC/C,CACA,CACI,SAAS+B,GAAY7W,GACjBA,EAAE+hB,iBACF,IAAIsH,EAAYrpB,EAAErP,OAAS,UAAWwnB,EAAcjO,GAAelK,GAAIgV,EAAQmD,EAC/E,GAAIrF,EAAK7L,OAAStB,WAAawS,IAAgBrF,EAAK7L,KAAM,CACtD6L,EAAK7L,KAAK+B,YACN8J,EAAK5E,KAAKjH,KAAKQ,EAAIqL,EAAK7L,KAAK+B,cAAgB8J,EAAK5E,KAAKjH,KAAK,IAC5E,CACQ,IAAIyJ,EAAMxF,WAAW8J,EAAMuK,aAAa,QAAS5O,EAAMzF,WAAW8J,EAAMuK,aAAa,QAASsJ,EAAO3d,WAAW8J,EAAMuK,aAAa,SAAU+J,EAAWld,SAAS4I,EAAMgC,MAAO,IAAKoB,EAAQpY,EAAEoY,QACxLiR,EAAarpB,EAAEupB,QAAU,GAAK,GAAI,EAAM,GAC7C,IAAI96B,EAAW66B,EAAWT,EAAOzQ,EACjC,UAAWpD,EAAMgC,QAAU,aAAehC,EAAMgC,MAAM/iB,SAAW,EAAG,CAChE,IAAIu1B,EAAaxU,IAAUlC,EAAKuE,YAAaoS,EAAezU,IAAUlC,EAAKwE,cAC3E,GAAI7oB,EAAWiiB,EAAK,CAChBjiB,EACIkiB,EACIliB,EACAgZ,GAAK+hB,IACJ/hB,EAAI+hB,IAAe/hB,GAAKqL,EAAK7L,OACtC,GAAIwiB,EACAxP,EAAkBtU,WAAW,EAAImN,EAAKuE,YAC1D,MACiB,GAAI5oB,EAAWkiB,EAAK,CACrBliB,EACIumB,IAAUlC,EAAKuE,YAAc5oB,EAAWkiB,EAAMlJ,GAAKqL,EAAK7L,MAAQyJ,EACpE,GAAI+Y,EACAxP,EAAkBtU,UAAW,EAAGmN,EAAKuE,YACzD,CACY,GAAIvE,EAAK7L,MACLuiB,IACCX,IAAS,EACJp6B,EAAW66B,IAAa,GACxBx1B,KAAK8oB,IAAInuB,EAAW66B,GAAYT,GAAO,CAC7C/V,EAAK7L,KAAK+B,YACN8J,EAAK5E,KAAKjH,KAAKQ,EAAIqL,EAAK7L,KAAK+B,cAAgB8J,EAAK5E,KAAKjH,KAAK,IAChF,CACY+N,EAAMgC,MAAQ1P,EAAI7Y,EAC9B,CACA,CACIsmB,IACA,OAAOjC,CACX,CACA,SAAS4W,GAAWC,EAAU3b,GAC1B,IAAI4b,EAAQrhB,MAAM2J,UAAU1K,MACvB4K,KAAKuX,GACLtH,QAAO,SAAU1kB,GAAK,OAAOA,aAAaksB,WAAY,IAC3D,IAAIC,EAAY,GAChB,IAAK,IAAIvtB,EAAI,EAAGA,EAAIqtB,EAAM31B,OAAQsI,IAAK,CACnC,IAAI2M,EAAO0gB,EAAMrtB,GACjB,IACI,GAAI2M,EAAKqW,aAAa,kBAAoB,KACtC,SACJ,GAAIrW,EAAKwgB,aAAe/jB,UAAW,CAC/BuD,EAAKwgB,WAAWzV,UAChB/K,EAAKwgB,WAAa/jB,SAClC,CACYuD,EAAKwgB,WAAa/W,GAAkBzJ,EAAM8E,GAAU,IACpD8b,EAAUrR,KAAKvP,EAAKwgB,WAChC,CACQ,MAAO1pB,GACHlH,QAAQnB,MAAMqI,EAC1B,CACA,CACI,OAAO8pB,EAAU71B,SAAW,EAAI61B,EAAU,GAAKA,CACnD,CACA,UAAWD,cAAgB,oBAChBE,iBAAmB,oBACnBC,WAAa,YAAa,CACjCD,eAAe7X,UAAUc,UAAYgX,SAAS9X,UAAUc,UAAY,SAAUhF,GAC1E,OAAO0b,GAAWn9B,KAAMyhB,EAChC,EACI6b,YAAY3X,UAAUc,UAAY,SAAUhF,GACxC,OAAO0b,GAAW,CAACn9B,MAAOyhB,EAClC,CACA,CACA,IAAIgF,GAAY,SAAUiX,EAAUjc,GAChC,UAAWic,IAAa,SAAU,CAC9B,OAAOP,GAAWxnB,OAAO6G,SAASjK,iBAAiBmrB,GAAWjc,EACtE,MACS,GAAIic,aAAoBC,KAAM,CAC/B,OAAOR,GAAW,CAACO,GAAWjc,EACtC,KACS,CACD,OAAO0b,GAAWO,EAAUjc,EACpC,CACA,EACAgF,GAAUC,cAAgB,GAC1BD,GAAU8R,MAAQ,CACdqF,GAAInY,GAAS,GAAIkB,GACjB6R,QAAS/S,GAAS,GAAIkB,IAE1BF,GAAUoX,SAAW,SAAUlc,GAC3B8E,GAAU8R,MAAMC,QAAU/S,GAASA,GAAS,GAAIgB,GAAU8R,MAAMC,SAAU7W,EAC9E,EACA8E,GAAUqX,YAAc,SAAUrc,GAC9BgF,GAAUC,cAAgBjB,GAASA,GAAS,GAAIgB,GAAUC,eAAgBjF,EAC9E,EACAgF,GAAU1D,UAAYV,GAAiB,IACvCoE,GAAUzE,WAAaV,GAAoB,IAC3CmF,GAAU7C,aAAeA,GACzB,UAAWma,SAAW,oBAAsBA,OAAO1iB,KAAO,YAAa,CACnE0iB,OAAO1iB,GAAGoL,UAAY,SAAUhF,GAC5B,OAAO0b,GAAWn9B,KAAMyhB,EAChC,CACA,CACAvK,KAAKyO,UAAUqY,QAAU,SAAUjU,GAC/B,OAAO,IAAI7S,KAAKlX,KAAKyX,cAAezX,KAAKihB,WAAYjhB,KAAKsX,kBAAoByS,IAAS,SAAWlK,SAASkK,EAAM,IAAMA,GAC3H,EACA,UAAWpU,SAAW,YAAa,CAC/BA,OAAO8Q,UAAYA,EACvB,CC5/DA,MAAMwX,GAAkB,8nM,MCWXC,GAAY,MALzB,WAAAp+B,CAAAC,G,+CAOUC,KAAWuG,YAAW,wBAEtBvG,KAAM4iB,OAAW,SACjB5iB,KAAIgY,KAAuB,SAC3BhY,KAAQsO,SAAY,MACpBtO,KAAYm+B,aAAyB,OACrCn+B,KAAiBo+B,kBAAyB,OAEzCp+B,KAAeq+B,gBAAY,KA+IrC,CAxIC,gBAAA38B,GACE1B,KAAKs+B,kB,CAGP,oBAAAC,GACE,GAAIv+B,KAAKw+B,OAAQx+B,KAAKw+B,OAAO9W,S,CAGvB,gBAAA4W,GACN,MAAM/U,EAAoBvpB,KAAK4B,GAAG68B,WAAW58B,cAAc,uBAC3D,MAAM4mB,EAAQzoB,KAAK0+B,QAEnB,MAAMlc,EAAsC,CAC1C3I,SAAU,CACRC,UAAW,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAChDC,SAAU,CAAC,SAAU,SAAU,UAAW,YAAa,WAAY,SAAU,aAE/EO,eAAgB,OAGlB,IAAKiP,IAAsBd,EAAO,CAChClc,QAAQuK,KAAK,0CACb,M,CAGF9W,KAAKw+B,OAAS/X,GAAUgC,EAAO,CAC7BrS,WAAYpW,KAAK4iB,OACjB5K,KAAMhY,KAAKgY,KACXoS,YAAapqB,KAAKyqB,MAClBiE,SAAUnF,EACVtT,WAAY,MACZZ,WAAY,KACZG,SAAU,KACVD,UAAWvV,KAAK4iB,OAChB1M,cAAe,MACf4B,OAAQ0K,EACR/L,cAAe,KACf4C,UAAW,uWAKXnB,UAAW,4UAKXG,SAAW4Q,IACT,GAAIjpB,KAAKgY,OAAS,QAAS,CACzB,MAAM2mB,EAAiB1V,EAAclf,KAAI1B,GAAKrI,KAAKw+B,OAAOxc,WAAW3Z,EAAGrI,KAAK4iB,UAC7E5iB,KAAKyqB,MAAQkU,EACb3+B,KAAK4+B,WAAWl8B,KAAKi8B,E,MAChB,GAAI1V,EAAcvhB,OAAQ,CAC/B,MAAMm3B,EAAgB7+B,KAAKw+B,OAAOxc,WAAWiH,EAAc,GAAIjpB,KAAK4iB,QACpE5iB,KAAKyqB,MAAQoU,EACb7+B,KAAK4+B,WAAWl8B,KAAKm8B,E,CAGvB7+B,KAAKw+B,OAAO1W,MAAM,EAEpBnP,OAAQ,KACN3Y,KAAKq+B,gBAAkB,IAAI,EAE7B/lB,QAAS,KACPtY,KAAKq+B,gBAAkB,KAAK,IAIhC5V,EAAMwD,iBAAiB,SAAS,KAC9B,MAAM6S,EAAUrW,EAAMgC,MACtB,MAAMhI,EAAaziB,KAAKw+B,OAAOzb,UAAU+b,EAAS9+B,KAAK4iB,QAEvD,GAAIH,EAAY,CACdziB,KAAKyqB,MAAQzqB,KAAKw+B,OAAOxc,WAAWS,EAAYziB,KAAK4iB,QACrD5iB,KAAK4+B,WAAWl8B,KAAK1C,KAAKyqB,M,CAG5B,IAAKzqB,KAAKq+B,gBAAiB,CACzBr+B,KAAKw+B,OAAO1W,M,KAKV,cAAAiX,CAAex8B,GACrB,GAAIA,EAAO,CACT,MAAMub,EAASvb,EAAMub,OACrB,GAAI9d,KAAK4B,GAAG68B,YAAcz+B,KAAK4B,GAAG68B,WAAW9Q,SAAS7P,GAAS,CAC7D,MAAMkhB,EAAah/B,KAAK4B,GAAG68B,WAAW58B,cAAc,uBACpD,GAAIm9B,GAAcA,EAAWrR,SAAS7P,GAAS,CAC7C,M,GAKN,IAAK9d,KAAKw+B,OAAQ,OAElB,GAAIx+B,KAAKq+B,gBAAiB,CACxBr+B,KAAKw+B,OAAOjX,O,KACP,CACLvnB,KAAKw+B,OAAO1W,M,EAIhB,MAAA9jB,GACE,OACEC,EAAA,OAAAC,IAAA,2CAAKC,MAAM,uBACTF,EAAA,OAAAC,IAAA,2CACEC,MAAM,kBACNI,QAAS,KACPvE,KAAK++B,gBAAgB,GAGtB/+B,KAAKm+B,eAAiB,QACrBl6B,EAAK,OAAAC,IAAA,2CAAA8D,MAAM,6BAA6BC,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,QACtFnE,EACE,QAAAC,IAAA,2CAAAmE,EAAE,k9IACFD,KAAK,gCAIXnE,EAAA,SAAAC,IAAA,2CAAOE,KAAK,OAAOc,IAAKtD,GAAO5B,KAAK0+B,QAAU98B,EAAyB2E,YAAavG,KAAKuG,YAAa+H,SAAUtO,KAAKsO,SAAUmc,MAAOzqB,KAAKyqB,QAC1IzqB,KAAKm+B,eAAiB,SACrBl6B,EAAK,OAAAC,IAAA,2CAAA8D,MAAM,6BAA6BC,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,QACtFnE,EACE,QAAAC,IAAA,2CAAAmE,EAAE,k9IACFD,KAAK,iCAObnE,EAAK,OAAAC,IAAA,2CAAAC,MAAO,uBAAuBnE,KAAKq+B,gBAAkB,SAAW,MAAMr+B,KAAKo+B,sB,uCChKxF,MAAMa,GAAiC,u/tE,MCQ1BC,GAAkB,MAL/B,WAAAp/B,CAAAC,G,UAMUC,KAAIgF,KAAY,MAEhBhF,KAAQm/B,SAAY,MAEpBn/B,KAAY6J,aAAW,GACvB7J,KAAK8B,MAAW,GAChB9B,KAAKyE,MAA2B,UAChCzE,KAAWoG,YAAY,MACtBpG,KAAc0N,eAAW,EAgDnC,CA7CC,cAAME,CAASK,GACb,MAAMC,EAAWrC,EAAa,GAAGoC,KACjC,MAAM7B,QAAiBC,MAAM6B,GAC7B,MAAMC,QAAY/B,EAASxH,OAC3B5E,KAAK0N,eAAiBS,EAGtB,MAAM6D,EAAS,IAAIC,UACnB,MAAMC,EAASF,EAAOG,gBAAgBhE,EAAK,iBAC3C,MAAMiE,EAAaF,EAAOG,gBAG1B,MAAM+sB,EAAmBhtB,EAAWG,iBAAiB,iBAErD6sB,EAAiB5sB,SAAQqL,IACvBA,EAAK9b,UAAUC,IAAI,cAAc,G,CAIrC,iBAAA6F,GACE7H,KAAK4N,SAAS5N,KAAK2J,Q,CAGrB,MAAA3F,GACE,OACEC,EAAA,OAAAC,IAAA,2CAAKC,MAAM,sBACTF,EAAA,OAAAC,IAAA,2CAAKC,MAAO,YAAYnE,KAAKyE,QAAU,WAAa,WAAa,MAAMzE,KAAKoG,YAAc,cAAgB,MACvGpG,KAAKgF,MACJf,EAAK,OAAAC,IAAA,2CAAAC,MAAM,YACTF,EAAA,OAAAC,IAAA,2CAAKC,MAAO,QAAQnE,KAAKyE,QAAU,WAAa,WAAa,MAAMzE,KAAKoG,YAAc,cAAgB,KAAM6G,UAAWjN,KAAK0N,kBAG/H1N,KAAKm/B,WAAan/B,KAAKgF,MAAQf,EAAA,eAAAC,IAAA,2CAAaC,MAAM,WAAWE,KAAK,KAAKD,KAAK,WAAWK,MAAOC,EAAUC,UACzGV,EAAM,QAAAC,IAAA,2CAAAC,MAAM,aACVF,EAAG,KAAAC,IAAA,2CAAAC,MAAO,wBAAwBnE,KAAKoG,YAAc,cAAgB,MAAOpG,KAAK8B,QAElF9B,KAAK4J,UACJ3F,EAAM,QAAAC,IAAA,2CAAAC,MAAM,iBACVF,EAAO,QAAAC,IAAA,4CAAAlE,KAAK6J,gB,uCC1D1B,MAAMw1B,GAAsB,0opE,MCQfC,GAAgB,MAL7B,WAAAx/B,CAAAC,G,qDAOUC,KAAcu/B,eAAY,MACzBv/B,KAAoBw/B,qBAAY,MAChCx/B,KAAqBy/B,sBAAY,MAClCz/B,KAAA0/B,SAAsBh7B,EAAUC,QAChC3E,KAAA2/B,SAAsBj7B,EAAUC,OAyEzC,CArEC,qBAAMi7B,CAAgBC,EAAoBC,GACxC9/B,KAAK+/B,cAAcr9B,KAAK,CAAEm9B,aAAYC,Y,CAIxC,MAAA97B,GACE,OACEC,EAAA0K,EAAA,KACE1K,EAAK,OAAAC,IAAA,2CAAAC,MAAO,mBACVF,EAAA,2BAAAC,IAAA,2CACEE,KAAK,MACLK,MAAOzE,KAAK0/B,SACZrrB,YAAa,KACX,GAAIrU,KAAK0/B,WAAah7B,EAAUC,QAAS,CACvC3E,KAAKw/B,qBAAuB,I,GAGhClrB,WAAY,IAAOtU,KAAKw/B,qBAAuB,QAEjDv7B,EAAA,2BAAAC,IAAA,2CACEE,KAAK,MACLK,MAAOzE,KAAK2/B,SACZtrB,YAAa,KACX,GAAIrU,KAAK2/B,WAAaj7B,EAAUC,QAAS,CACvC3E,KAAKy/B,sBAAwB,I,GAGjCnrB,WAAY,IAAOtU,KAAKy/B,sBAAwB,SAGnDz/B,KAAKw/B,sBACJv7B,EAAA,0BAAAC,IAAA,2CACEC,MAAO,iBACW,mBAAAnE,KAAKu/B,eACvBlrB,YAAa,IAAOrU,KAAKw/B,qBAAuB,KAChDlrB,WAAY,IAAOtU,KAAKw/B,qBAAuB,OAE/Cv7B,EAAA,KAAAC,IAAA,2CAAGY,KAAK,YAAYP,QAAS,IAAMvE,KAAK4/B,gBAAgB,MAAO,gBAE3D,eACJ37B,EAAA,KAAAC,IAAA,2CAAGY,KAAK,YAAYP,QAAS,IAAMvE,KAAK4/B,gBAAgB,MAAO,iBAE3D,gBACJ37B,EAAA,KAAAC,IAAA,2CAAGY,KAAK,cAAcP,QAAS,IAAMvE,KAAK4/B,gBAAgB,MAAO,kBAAgB,kBAKpF5/B,KAAKy/B,uBACJx7B,EAAA,0BAAAC,IAAA,2CACEC,MAAO,kBACW,mBAAAnE,KAAKu/B,eACvBlrB,YAAa,IAAOrU,KAAKy/B,sBAAwB,KACjDnrB,WAAY,IAAOtU,KAAKy/B,sBAAwB,OAEhDx7B,EAAA,KAAAC,IAAA,2CAAGY,KAAK,YAAYP,QAAS,IAAMvE,KAAK4/B,gBAAgB,MAAO,gBAE3D,eACJ37B,EAAA,KAAAC,IAAA,2CAAGY,KAAK,YAAYP,QAAS,IAAMvE,KAAK4/B,gBAAgB,MAAO,iBAE3D,gBACJ37B,EAAG,KAAAC,IAAA,2CAAAY,KAAK,cAAcP,QAAS,IAAMvE,KAAK4/B,gBAAgB,MAAO,kBAAgB,kB,uCC/E7F,MAAMI,GAA0B,k/rE,MCQnBC,GAAoB,MALjC,WAAAngC,CAAAC,G,UAMUC,KAAIgF,KAAY,MAChBhF,KAAAyE,MAAmBC,EAAUC,OAwEtC,CApEC,MAAAX,GACE,OACEC,EAAK,OAAAC,IAAA,2CAAAC,MAAO,oBAAoBnE,KAAKyE,QAAU,WAAa,WAAa,MACvER,EAAA,OAAAC,IAAA,2CAAKC,MAAO,WAAWnE,KAAKyE,QAAU,WAAa,WAAa,MAC9DR,EAAK,OAAAC,IAAA,2CAAAC,MAAO,WACVF,EAAK,OAAAC,IAAA,2CAAAC,MAAO,aACVF,EAAK,OAAAC,IAAA,2CAAAC,MAAO,QACTnE,KAAKoE,OAAS,MACbH,EACE,OAAA+D,MAAM,6BACNC,MAAM,KACNC,OAAO,KACPC,QAAQ,YACRC,KAAK,OACLjE,MAAO,WAAWnE,KAAKoE,QAAQpE,KAAKyE,QAAU,WAAa,WAAa,MAExER,EACE,QAAAi8B,QAAQ,MACR73B,EAAE,krBACFD,KAAK,wCAEPnE,EAAA,QACEoE,EAAE,q3CACF8E,OAAO,sCAAqC,eAC/B,MAAK,iBACH,QAAO,kBACN,WAIpBlJ,EACE,OAAA+D,MAAM,6BACNC,MAAM,KACNC,OAAO,KACPC,QAAQ,YACRC,KAAK,OACLjE,MAAO,WAAWnE,KAAKoE,QAAQpE,KAAKyE,QAAU,WAAa,WAAa,MAExER,EACE,QAAAi8B,QAAQ,MACR73B,EAAE,0sBACFD,KAAK,uCAEPnE,EACE,QAAAoE,EAAE,inTACFD,KAAK,yCAKbnE,EAAA,OAAAC,IAAA,2CAAKC,MAAO,QAAQnE,KAAKyE,QAAU,WAAa,WAAa,MAAOzE,KAAKoE,OAAS,MAAQH,EAAG,KAAAE,MAAM,kBAAgB,iBAAqBF,EAAG,KAAAE,MAAM,kBAAgB,mBAEnKF,EAAK,OAAAC,IAAA,2CAAAC,MAAM,SACTF,EAAA,OAAAC,IAAA,2CAAK8D,MAAM,6BAA6BC,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOjE,MAAO,aAAanE,KAAKyE,QAAU,WAAa,WAAa,MAC1JR,EACE,QAAAC,IAAA,2CAAAmE,EAAE,wFACF8E,OAAO,UAAS,eACH,MAAK,iBACH,QACC,gC,uCCzElC,MAAMgzB,GAAyB,owpE,MCOlBC,GAAmB,MALhC,WAAAtgC,CAAAC,G,UAMUC,KAAcu/B,eAAY,KAgCnC,CA7BC,gBAAA79B,GACE,MAAM2+B,EAAergC,KAAK4B,GAAGC,cAAc,sBAC3C,MAAMy+B,EAAetgC,KAAK4B,GAAGC,cAAc,sBAC3C,MAAM0+B,EAAiBvgC,KAAK4B,GAAGC,cAAc,wBAE7C,GAAIw+B,EAAc,CAChBA,EAAat+B,UAAUC,IAAI,kBAC3Bs+B,EAAav+B,UAAUC,IAAI,kBAC3Bu+B,EAAex+B,UAAUC,IAAI,iB,EAIjC,MAAAgC,GACE,OACEC,EAAA,OAAAC,IAAA,2CAAKC,MAAO,0BACTnE,KAAKu/B,gBACJt7B,EAA6B,+BAAAC,IAAA,2CAAAc,KAAK,uBAChCf,EAAM,QAAAC,IAAA,2CAAAM,KAAK,YAAYM,KAAK,WAGhCb,EAA6B,+BAAAC,IAAA,2CAAAc,KAAK,0BAChCf,EAAM,QAAAC,IAAA,2CAAAM,KAAK,YAAYM,KAAK,WAE9Bb,EAA6B,+BAAAC,IAAA,2CAAAc,KAAK,gCAChCf,EAAM,QAAAC,IAAA,2CAAAM,KAAK,cAAcM,KAAK,W,uCCnCxC,MAAM07B,GAA6B,onqE,MCOtBC,GAAuB,MALpC,WAAA3gC,CAAAC,G,UAMUC,KAAIgF,KAAW,GAEdhF,KAAc0N,eAAW,EAsCnC,CAnCC,cAAME,CAASK,GACb,MAAMC,EAAWrC,EAAa,GAAGoC,KACjC,MAAM7B,QAAiBC,MAAM6B,GAC7B,MAAMC,QAAY/B,EAASxH,OAC3B5E,KAAK0N,eAAiBS,C,CAGxB,gBAAAzM,GACE,MAAMyR,EAAYnT,KAAK4B,GAAGC,cAAc,kBAExC,GAAIsR,EAAW,CACb,GAAInT,KAAKyE,QAAU,WAAY,CAC7B0O,EAAUpR,UAAUC,IAAI,W,CAG1BmR,EAAUpR,UAAUC,IAAI,iB,CAG1BhC,KAAK4N,SAAS5N,KAAKgF,K,CAGrB,MAAAhB,GACE,OACEC,EAAK,OAAAC,IAAA,2CAAAC,MAAO,oBAAoBnE,KAAKyE,QAAU,WAAa,WAAa,MACvER,EAAK,OAAAC,IAAA,2CAAAC,MAAO,WACVF,EAAK,OAAAC,IAAA,2CAAAC,MAAO,6BACVF,EAAA,OAAAC,IAAA,2CAAKC,MAAO,QAAQnE,KAAKyE,QAASwI,UAAWjN,KAAK0N,iBAClDzJ,EAAK,OAAAC,IAAA,2CAAAC,MAAO,QACVF,EAAM,QAAAC,IAAA,2CAAAM,KAAK,a,uCCzCzB,MAAMk8B,GAAoB,gpoE,MCQbC,GAAc,MAL3B,WAAA7gC,CAAAC,G,UAOUC,KAAQ4gC,SAAY,KAgC7B,CA7BC,gBAAAl/B,GACE,MAAMm/B,EAAY7gC,KAAK4B,GAAGC,cAAc,yBAExC,GAAGg/B,EAAW,CACVA,EAAU9+B,UAAUC,IAAI,iB,EAI9B,MAAAgC,GACE,OACEC,EAAA,OAAAC,IAAA,2CAAKC,MAAO,qBACVF,EAAA,aAAAC,IAAA,2CACEG,KAAK,KACLI,MAAOzE,KAAKyE,QAAU,WAAa,WAAa,UAChDM,UAAU,iBACVC,KAAMhF,KAAK4gC,SAAW,OAAS,UACjB,oBAAI,oBACA,uCAElB38B,EAAA,KAAAC,IAAA,uDAEDlE,KAAKyE,QAAU,WACdR,EAAU,YAAAC,IAAA,2CAAAG,KAAK,KAAKD,KAAK,aAAaE,MAAM,QAAQU,KAAK,QAAQb,MAAO,SAASnE,KAAKyE,SACpFR,EAAM,QAAAC,IAAA,2CAAAM,KAAK,kB,uCCpCvB,MAAMs8B,GAAc,y0rE,MCQPC,GAAQ,MALrB,WAAAjhC,CAAAC,G,wTAOUC,KAAaghC,cAAY,MACzBhhC,KAAI4E,KAAY,KAChB5E,KAAWuG,YAAY,MACvBvG,KAAKsE,MAAe,OACpBtE,KAAU2G,WAAY,KACtB3G,KAAgBihC,iBAAY,MAC5BjhC,KAAQkhC,SAAY,MACpBlhC,KAAQmhC,SAAY,MACpBnhC,KAAIohC,KAAW,GACfphC,KAAUqhC,WAAY,MACtBrhC,KAAgBshC,iBAAW,GAC3BthC,KAASuhC,UAAW,GACpBvhC,KAAkBwhC,mBAAyB,SAC3CxhC,KAAA6I,aAAoC,GAKpC7I,KAAA8I,aAAoC,GAKpC9I,KAAYuJ,aAAY,KACxBvJ,KAAW0J,YAAY,MACvB1J,KAAS2I,UAAY,MACrB3I,KAAA4I,MAAyB,GAiBzB5I,KAAU8J,WAAY,MACtB9J,KAAYyhC,aAAY,MAEPzhC,KAAA0hC,cAAgC,GAgChD1hC,KAAmB2hC,oBAAY,MAC/B3hC,KAAyB4hC,0BAAY,MACrC5hC,KAAiB6hC,kBAAY,MAC7B7hC,KAAQ8hC,SAAW,EA+N7B,CAlNC,oBAAA16B,GACE,OAAQpH,KAAKsE,OACX,IAAK,OACH,MAAO,OACT,IAAK,OACH,MAAO,OACT,IAAK,OACH,MAAO,OACT,IAAK,OACH,MAAO,OACT,IAAK,SACH,MAAO,SACT,IAAK,QACH,MAAO,QACT,IAAK,SACH,MAAO,S,CAIb,QAAAy9B,CAAS/4B,GACPhJ,KAAKgiC,kBAAkBt/B,KAAKsG,EAAKxG,O,CAGnC,gBAAAd,GACE8a,SAASyP,iBAAiB,QAASjsB,KAAKiiC,oBAExC,MAAMz9B,EAAOxE,KAAK4B,GAAGC,cAAc,iBACnC,MAAM6O,EAAiB1Q,KAAK4B,GAAGC,cAAc,4BAC7C,MAAMigC,EAAW9hC,KAAK4B,GAAGC,cAAc,qBAEvC,GAAIigC,EAAU,CACZA,EAAS//B,UAAUC,IAAI,qBACvB8/B,EAAS//B,UAAUC,IAAIhC,KAAKoH,uB,CAG9B,GAAI5C,EAAM,CACRA,EAAKzC,UAAUC,IAAI,oB,CAGrB,GAAI0O,EAAgB,CAClBA,EAAe3O,UAAUC,IAAI,kB,EAIjC,iBAAA6F,GACE,MAAMi6B,EAAW9hC,KAAK4B,GAAGC,cAAc,qBAEvC,GAAIigC,EAAU,CACZ9hC,KAAK8hC,SAAWA,EAASrlB,W,EAI7B,uBAAAylB,CAAwBl5B,GACtBhJ,KAAKmiC,gBAAgBz/B,KAAKsG,EAAKxG,O,CAGjC,iBAAAiH,CAAkB24B,GAChBpiC,KAAKoJ,gBAAgB1G,KAAK0/B,EAAI5/B,O,CAGhC,2BAAA6/B,CAA4Br5B,GAC1BuD,QAAQ+1B,IAAIt5B,EAAKxG,QACjBxC,KAAKuiC,0BAA0B7/B,KAAKsG,EAAKxG,O,CAG3C,iCAAAggC,CAAkCx5B,GAChCuD,QAAQ+1B,IAAIt5B,EAAKxG,O,CAKnB,kBAAAy/B,CAAmB1/B,GACjB,GAAIvC,KAAK2hC,sBAAwB3hC,KAAK4B,GAAG+rB,SAASprB,EAAMub,QAAiB,CACvE9d,KAAK2hC,oBAAsB,K,CAG7B,GAAI3hC,KAAK6hC,oBAAsB7hC,KAAK4B,GAAG+rB,SAASprB,EAAMub,QAAiB,CACrE9d,KAAK6hC,kBAAoB,K,CAG3B,GAAI7hC,KAAK4hC,4BAA8B5hC,KAAK4B,GAAG+rB,SAASprB,EAAMub,QAAiB,CAC7E9d,KAAK4hC,0BAA4B,K,EAIrC,UAAAa,GACE,MAAMrB,EAAOphC,KAAK4B,GAAGC,cAAc,iBACnC,MAAM6gC,EAAU72B,EAAa,+BAE7B,GAAIu1B,EAAM,CACR,OAAOn9B,EAAM,QAAAO,KAAK,Q,KACb,CACL,OACEP,EAAA,OAAKE,MAAM,eACTF,EAAA,OAAKkI,IAAKu2B,EAASx1B,IAAI,KACvBjJ,EAAA,OAAK+D,MAAM,6BAA6BC,MAAM,MAAMC,OAAO,KAAKC,QAAQ,aAAaC,KAAK,QACxFnE,EACY,8BACA,sBACVoE,EAAE,2lRACFD,KAAK,6CAEPnE,EAAA,oBACY,UAAS,YACT,UACVoE,EAAE,uxKACFD,KAAK,8C,EAQjB,oBAAAm2B,GACE/hB,SAAS2P,oBAAoB,QAASnsB,KAAKiiC,mB,CAG7C,MAAAj+B,GACE,MAAM2+B,EAAc92B,EAAa,0BACjC,MAAM+2B,EAAsB/2B,EAAa,8BAEzC,OACE5H,EAAK,OAAAC,IAAA,2CAAAC,MAAO,cAAcnE,KAAK2G,WAAa,SAAW,MACrD1C,EAAK,OAAAC,IAAA,2CAAAC,MAAM,WACRnE,KAAKyiC,aACNx+B,EAAK,OAAAC,IAAA,2CAAAC,MAAM,iBACTF,EAAK,OAAAC,IAAA,2CAAAC,MAAO,UACTnE,KAAKqhC,YACJp9B,EAAK,OAAAC,IAAA,2CAAAC,MAAM,UACTF,EAAA,kBAAAC,IAAA,2CACEG,KAAK,KACLI,MAAM,UACNL,KAAK,eAC0B,qCAC/BmC,YAAavG,KAAKshC,iBAAgB,YACvBthC,KAAKuhC,UAChBsB,oBAAqB7iC,KAAK+hC,SAASl9B,KAAK7E,SAI7CA,KAAKkhC,UACJj9B,EAAK,OAAAC,IAAA,2CAAAC,MAAM,QACTF,EAAA,kBAAAC,IAAA,2CACEO,MAAOC,EAAUC,QACjBK,KAAM29B,EACNp+B,QAAS,IAAOvE,KAAK6hC,mBAAqB7hC,KAAK6hC,kBAC/C19B,MAAM,gBAEPnE,KAAK6hC,mBACJ59B,EAAA,oBAAAC,IAAA,2CAAkBC,MAAM,gBAAe,iBAAiBnE,KAAKyhC,aAAcqB,kBAAmB9iC,KAAKkiC,wBAAwBr9B,KAAK7E,SAIrIA,KAAKihC,kBACJh9B,EAAK,OAAAC,IAAA,2CAAAC,MAAM,gBACTF,EAAA,kBAAAC,IAAA,2CACEO,MAAOzE,KAAKyE,MACZO,KAAM49B,EAAmB,iBACT5iC,KAAKghC,cACrBz8B,QAAS,IAAOvE,KAAK4hC,2BAA6B5hC,KAAK4hC,4BAExD5hC,KAAK4hC,2BACJ39B,EAAsB,wBAAAC,IAAA,2CAAAO,MAAOzE,KAAK+iC,kBAAmB5+B,MAAM,wBAAwBu9B,cAAe1hC,KAAK0hC,eACrGz9B,EAAG,KAAAC,IAAA,2CAAAY,KAAK,SAA2B,mBACnCb,EAAG,KAAAC,IAAA,2CAAAY,KAAK,mBAAiB,kHAMnCb,EAAA,aAAAC,IAAA,2CACEG,KAAK,KACLO,KAAM5E,KAAK4E,KACX2B,YAAavG,KAAKuG,YAClBjC,MAAOtE,KAAKsE,MAAK,cACJtE,KAAK2G,WAClBpC,QAAS,IAAOvE,KAAK2hC,qBAAuB3hC,KAAK2hC,qBAEhD3hC,KAAK4E,KAAOX,EAAA,QAAMa,KAAK,WAAWN,KAAK,aAAqBP,EAAA,QAAMO,KAAK,QAAQM,KAAK,WAEtF9E,KAAK2hC,qBACJ19B,EACE,sBAAAC,IAAA,2CAAAgB,IAAKtD,GAAO5B,KAAKgjC,eAAiBphC,EAClCuC,MAAM,kBACNC,KAAMpE,KAAKwhC,mBACK,iBAAAxhC,KAAKuJ,aAAY,eACnBvJ,KAAK0J,YAAW,eAChB1J,KAAK8J,WACnBjB,aAAc7I,KAAK6I,aACnBC,aAAc9I,KAAK8I,aACnBxE,MAAOtE,KAAKsE,MACZsE,MAAO5I,KAAK4I,MACA,aAAA5I,KAAK2I,UAAS,gBACZ,QACdc,kBAAmBzJ,KAAKyJ,kBAAkB5E,KAAK7E,MAC/C+I,cAAe/I,KAAKqiC,4BAA4Bx9B,KAAK7E,OAErDiE,EAAA,QAAAC,IAAA,2CAAMY,KAAK,OAAON,KAAK,SACvBP,EAAA,QAAAC,IAAA,2CAAMY,KAAK,kBAAkBN,KAAK,oBAClCP,EAAA,MAAAC,IAAA,2CAAIY,KAAK,WAAWX,MAAO,qBACxBnE,KAAK8hC,a,uCCjTxB,MAAMmB,GAAkB,0nqE,MCQXC,GAAY,MALzB,WAAApjC,CAAAC,G,UAOUC,KAAaghC,cAAY,MACzBhhC,KAAIgF,KAAW,GACdhF,KAAc0N,eAAW,EAmCnC,CAjCC,cAAME,CAASK,GACb,MAAMC,EAAWrC,EAAa,GAAGoC,KACjC,MAAM7B,QAAiBC,MAAM6B,GAC7B,MAAMC,QAAY/B,EAASxH,OAE3B,MAAMoN,EAAS,IAAIC,UACnB,MAAMC,EAASF,EAAOG,gBAAgBhE,EAAK,iBAC3C,MAAMiE,EAAaF,EAAOG,gBAG1B,MAAMC,EAAsBF,EAAWG,iBAAiB,aACxDD,EAAoBE,SAAQ5Q,IAC1BA,EAAGG,UAAUC,IAAI,cAAc,IAIjC,MAAMyQ,EAAcL,EAAWM,UAE/B1S,KAAK0N,eAAiB+E,C,CAGxB,iBAAA5K,GACE7H,KAAK4N,SAAS5N,KAAKgF,K,CAGrB,MAAAhB,GACE,OACEC,EAAA,OAAAC,IAAA,2CAAKC,MAAO,cAAcnE,KAAKyE,SAC7BR,EAAA,OAAAC,IAAA,2CAAKC,MAAO,QAAQnE,KAAKyE,QAAUC,EAAUC,QAAU,UAAY3E,KAAKyE,QAAUC,EAAUy+B,SAAW,WAAa,KAAMl2B,UAAWjN,KAAK0N,iBAC1IzJ,EAAA0K,EAAA,KAAG3O,KAAKghC,eAAiB/8B,EAAK,OAAAC,IAAA,2CAAAC,MAAM,a,eC3C5C,MAAMi/B,GAAoB,6mpE,MCQbC,GAAc,M,wEAIvB,iBAAAP,CAAkB95B,GAChBhJ,KAAKmiC,gBAAgBz/B,KAAKsG,E,CAG5B,MAAAhF,GACI,OACEC,EAAA,OAAAC,IAAA,2CAAKC,MAAM,sBACTF,EAAK,OAAAC,IAAA,2CAAAC,MAAM,cACTF,EACE,mCAAAC,IAAA,2CAAAc,KAAI,KACJ2E,QAAQ,uBACR7H,MAAM,sBACNyC,QAAS,IAAMvE,KAAK8iC,kBAAkB,0BAG1C7+B,EAAK,OAAAC,IAAA,2CAAAC,MAAM,OACTF,EACE,mCAAAC,IAAA,2CAAAc,KAAI,KACJ2E,QAAQ,oBACR7H,MAAM,eACNyC,QAAS,IAAMvE,KAAK8iC,kBAAkB,mBAGzC9iC,KAAKyhC,cACJx9B,EAAK,OAAAC,IAAA,2CAAAC,MAAM,aACTF,EACE,mCAAAC,IAAA,2CAAAc,KACA,KAAA2E,QAAQ,sBACR7H,MAAM,sBACNyC,QAAS,IAAMvE,KAAK8iC,kBAAkB,0B,eCzCxD,MAAMQ,GAAmB,sroE,MCOZC,GAAa,MAL1B,WAAAzjC,CAAAC,G,UAMWC,KAAewjC,gBAAY,MAC5BxjC,KAASyjC,UAAY,MACrBzjC,KAAkB0jC,mBAAY,KA8CvC,CA3CC,gBAAAhiC,GACE,MAAMmP,EAAe7Q,KAAK4B,GAAGC,cAAc,kBAC3C,MAAMyH,EAAqBtJ,KAAK4B,GAAGC,cAAc,4BAEjD,GAAIgP,EAAc,CAChBA,EAAa9O,UAAUC,IAAI,oB,CAG7B,GAAIsH,EAAoB,CACtBA,EAAmBvH,UAAUC,IAAI,kB,EAIrC,MAAAgC,GACE,OACEC,EAAA,OAAAC,IAAA,2CAAKC,MAAO,gBACVF,EACE,OAAAC,IAAA,2CAAA8D,MAAM,6BACNC,MAAM,KACNC,OAAO,KACPC,QAAQ,YACRC,KAAK,OACL+G,aAAc,IAAOnP,KAAKwjC,gBAAkB,KAC5Cp0B,aAAc,IAAOpP,KAAKwjC,gBAAkB,MAC5Cr/B,MAAM,eAENF,EAAA,QAAAC,IAAA,2CACEmE,EAAE,6ZACF8E,OAAO,UACM,qBACE,yBACC,6BAGnBnN,KAAKwjC,iBACJv/B,EAAA,cAAAC,IAAA,wDAAwB,KAAM4K,MAAM,eAAc,uBAAuB9O,KAAK0jC,mBAAoBv/B,MAAM,WACtGF,EAAA,QAAAC,IAAA,2CAAMM,KAAK,QAAQM,KAAK,UACxBb,EAAA,QAAAC,IAAA,2CAAMM,KAAK,kBAAkBM,KAAK,qB,uCClD9C,MAAM6+B,GAAsB,i2qE,MCOfC,GAAgB,MAL7B,WAAA9jC,CAAAC,G,UAMUC,KAAOmQ,QAAY,MACnBnQ,KAAIgF,KAAW,GACfhF,KAAK8B,MAAW,GACf9B,KAAc0N,eAAW,GACzB1N,KAAWyU,YAAY,KA2BjC,CAzBC,cAAM7G,CAASK,GACb,MAAMC,EAAWrC,EAAa,GAAGoC,KACjC,MAAM7B,QAAiBC,MAAM6B,GAC7B,MAAMC,QAAY/B,EAASxH,OAC3B5E,KAAK0N,eAAiBS,C,CAGxB,iBAAAtG,GACE7H,KAAK4N,SAAS5N,KAAKgF,K,CAGrB,MAAAhB,GACE,OACEC,EAAA,OAAAC,IAAA,2CAAKC,MAAM,8BACRnE,KAAKyU,aACJxQ,EAAwB,cAAAC,IAAA,6DAAM4K,MAAM,gBAAgB3K,MAAM,WACxDF,EAAG,KAAAC,IAAA,2CAAAY,KAAK,SAAS9E,KAAK8B,QAG1BmC,EAAA,OAAAC,IAAA,2CAAKC,MAAO,wBAAwBnE,KAAKmQ,QAAU,UAAY,KAAMhB,aAAc,IAAOnP,KAAKyU,YAAc,KAAOrF,aAAc,IAAOpP,KAAKyU,YAAc,OAC1JxQ,EAAK,OAAAC,IAAA,2CAAAC,MAAO,QAAQnE,KAAKmQ,QAAU,UAAY,KAAMlD,UAAWjN,KAAK0N,kB,eClC/E,MAAMm2B,GAAqB,ux2E,MCOdC,GAAe,MAL5B,WAAAhkC,CAAAC,G,sHASUC,KAAS0P,UAAY,MACrB1P,KAAK8B,MAAW,GAChB9B,KAAWuG,YAAW,GAEtBvG,KAAQ+jC,SAAW,GAEnB/jC,KAAegkC,gBAAY,MAC3BhkC,KAAQikC,SAAW,GACnBjkC,KAAI4E,KAAY,MAChB5E,KAAWkkC,YAAW,GAELlkC,KAAAyP,MAAe,GAmBfzP,KAAAyqB,MAAe,GAahCzqB,KAAc0Q,eAAY,MAE1B1Q,KAAU2G,WAAY,MAEtB3G,KAAemkC,gBAAY,MAEVnkC,KAAWoG,YAAY,MACxCpG,KAASokC,UAAW,GACHpkC,KAAOuO,QAAY,MACpCvO,KAAWqkC,YAAY,KACtBrkC,KAAc0N,eAAW,GACzB1N,KAAYskC,aAAY,MAExBtkC,KAAaukC,cAAU,GACvBvkC,KAAewkC,gBAAU,GAGzBxkC,KAAA2P,cAAuB,IAAI3P,KAAKyP,OAChCzP,KAAeC,gBAAY,MAC3BD,KAAAykC,gBAA2BzkC,KAAKuO,OAsvB1C,CA5uBC,oBAAMm2B,GACJ,GAAI1kC,KAAK2kC,cAAgB3kC,KAAK2kC,aAAaj9B,OAAS,EAAG,CACrD1H,KAAK2kC,aAAe,E,CAGtB,GAAI3kC,KAAKukC,eAAiBvkC,KAAKukC,cAAc78B,OAAS,EAAG,CACvD1H,KAAKukC,cAAgB,E,CAGvB,GAAIvkC,KAAKyqB,OAASzqB,KAAKyqB,MAAM/iB,OAAS,EAAG,CACvC1H,KAAKyqB,MAAQ,GACbzqB,KAAKukC,cAAgB,GACrBvkC,KAAK2kC,aAAe,E,CAGtB3kC,KAAKwkC,gBAAkB,IAAIxkC,KAAKyP,OAChCzP,KAAKyE,MAAQ,S,CAIf,mBAAMmgC,GACJ5kC,KAAKoG,YAAc,I,CAIrB,sBAAMy+B,GACJ7kC,KAAKoG,YAAc,K,CAGrB,UAAA0+B,GACE,GAAI9kC,KAAK+kC,SAAU,CACjB/kC,KAAK+kC,SAASta,MAAQ,GACtBzqB,KAAKglC,WAAahlC,KAAK+kC,SAASta,MAChCzqB,KAAKC,gBAAkB,MACvBD,KAAKgiC,kBAAkBt/B,KAAK1C,KAAKglC,W,EAKrC,8BAAAC,CAA+BC,GAC7BllC,KAAK2P,cAAgB,IAAIu1B,E,CAI3B,gBAAAC,CAAiBC,GACfplC,KAAKykC,gBAAkBW,EAEvB,GAAIA,EAAYplC,KAAKskC,aAAe,I,CAGtC,4BAAAe,GACE,GAAIrlC,KAAK+kC,SAASta,MAAM/iB,OAAS,GAAK1H,KAAK2P,cAAcjI,SAAW,EAAG,CACrE1H,KAAKuO,QAAU,I,MACV,GAAIvO,KAAK+kC,SAASta,MAAM/iB,OAAS,GAAK1H,KAAK2P,cAAcjI,OAAS,EAAG,CAC1E1H,KAAKC,gBAAkB,KACvBD,KAAKgiC,kBAAkBt/B,KAAK1C,KAAK+kC,SAASta,M,KACrC,CACLzqB,KAAKC,gBAAkB,MACvBD,KAAKskC,aAAe,MACpBtkC,KAAKuO,QAAU,K,EAInB,yBAAA+2B,CAA0B/iC,GACxBvC,KAAKulC,WAAahjC,EAAMC,OACxBxC,KAAKwlC,cAAgBxlC,KAAKyP,MAAMqmB,QAAO9sB,IACrC,UAAWA,IAAS,SAAU,OAAOA,EAAKlB,cAAc29B,SAASzlC,KAAKulC,WAAWz9B,eAEjF,UAAWkB,IAAS,SAAU,OAAOA,EAAK8iB,WAAW2Z,SAASzlC,KAAKulC,WAAWzZ,YAE9E,UAAW9iB,IAAS,SAAU,OAAOA,EAAKxE,KAAKsD,cAAc29B,SAASzlC,KAAKulC,WAAWz9B,cAAc,G,CAKxG,gBAAA49B,GACE1lC,KAAKoG,YAAcpG,KAAKoG,W,CAG1B,oBAAAm4B,GACE/hB,SAAS2P,oBAAoB,QAASnsB,KAAKiiC,mB,CAI7C,kBAAAA,CAAmB1/B,GACjB,GAAIvC,KAAKskC,eAAiBtkC,KAAK4B,GAAG+rB,SAASprB,EAAMub,QAAiB,CAChE9d,KAAKskC,aAAe,K,EAIxB,cAAAqB,CAAepjC,GACb,GAAIvC,KAAKyE,QAAU,WAAY,CAC7BzE,KAAKskC,cAAgBtkC,KAAKskC,Y,CAG5B/hC,EAAMmR,iB,CAGR,cAAAkyB,CAAe58B,GACb,MAAM68B,SAAkB78B,IAAS,SACjC,GAAIhJ,KAAKyqB,MAAM/iB,SAAW,EAAG,CAC3B,OAAO1H,KAAKukC,cAAcjQ,MAAKtkB,GAAM61B,EAAW71B,EAAExL,OAASwE,EAAKxE,KAAOwL,IAAMhH,G,MACxE,GAAIhJ,KAAKyqB,MAAM/iB,OAAS,EAAG,CAChC,OAAO1H,KAAKyqB,MAAM6J,MAAKtkB,GAAM61B,EAAW71B,EAAExL,OAASwE,EAAKxE,KAAOwL,IAAMhH,G,EAIzE,cAAM4E,CAASK,GACb,MAAMC,EAAWrC,EAAa,GAAGoC,KACjC,MAAM7B,QAAiBC,MAAM6B,GAC7B,MAAMC,QAAY/B,EAASxH,OAC3B5E,KAAK0N,eAAiBS,C,CAGxB,aAAA23B,GACE,OAAQ9lC,KAAKqE,MACX,IAAK,KACH,MAAO,KACT,IAAK,KACH,MAAO,K,CAIb,iBAAA0hC,CAAkBC,GAChB,OAAOA,EAAU1K,MAAK,CAACrV,EAAGsV,KACxB,GAAItV,EAAEpU,WAAa0pB,EAAE1pB,SAAU,CAC7B,OAAO,C,MACF,IAAKoU,EAAEpU,UAAY0pB,EAAE1pB,SAAU,CACpC,OAAO,C,CAET,OAAO,CAAC,G,CAIZ,gBAAAo0B,CAAiBj9B,GACfhJ,KAAKoG,YAAc,MAEnB,GAAIpG,KAAKoE,OAAS,OAAQ,CACxB,GAAIpE,KAAKyE,QAAU,UAAW,CAC5BzE,KAAKkmC,oBAAoBl9B,E,MAEpB,GAAIhJ,KAAKyE,QAAU,UAAYzE,KAAKyqB,MAAM/iB,OAAS,EAAG,CAC3D1H,KAAKyE,MAAQ,UACbzE,KAAKyqB,MAAM/iB,OAAS,EAEpB1H,KAAKkmC,oBAAoBl9B,E,MACpB,GAAIhJ,KAAKyE,QAAU,UAAYzE,KAAKyqB,MAAM/iB,SAAW,EAAG,CAC7D1H,KAAKkmC,oBAAoBl9B,E,MAGtB,CACL,IAAKA,EAAM,CACThJ,KAAKyE,MAAQ,UACbzE,KAAKskC,aAAe,MACpBtkC,KAAK2kC,aAAe,KACpB3kC,KAAKmmC,qBAAqBzjC,KAAK,IAC/B1C,KAAKukC,cAAgB,GACrBvkC,KAAKyqB,MAAQ,E,KACR,CACL,GAAIzqB,KAAKyE,QAAU,UAAW,CAC5BzE,KAAKomC,iBAAiBp9B,E,MAEjB,GAAIhJ,KAAKyE,QAAU,UAAYzE,KAAKyqB,MAAM/iB,OAAS,EAAG,CAC3D1H,KAAKyE,MAAQ,UACbzE,KAAKyqB,MAAM/iB,OAAS,EACpB1H,KAAKomC,iBAAiBp9B,E,MAEjB,GAAIhJ,KAAKyE,QAAU,UAAYzE,KAAKyqB,MAAM/iB,SAAW,EAAG,CAC7D1H,KAAKomC,iBAAiBp9B,E,GAM5BhJ,KAAKyE,MAAQzE,KAAKukC,cAAc78B,OAAS,EAAI,SAAW,S,CAI1D,gBAAA0+B,CAAiBp9B,GAEfhJ,KAAK2kC,aAAe37B,EACpBhJ,KAAKukC,cAAgB,CAACv7B,GAGtBhJ,KAAKskC,aAAe,MAEpBtkC,KAAKmmC,qBAAqBzjC,KAAK1C,KAAK2kC,a,CAGtC,mBAAAuB,CAAoBl9B,GAClB,MAAM68B,SAAkB78B,IAAS,SAEjC,MAAMq9B,EAAarmC,KAAKukC,cAAcjQ,MAAKtkB,GAAM61B,EAAW71B,EAAExL,OAASwE,EAAKxE,KAAOwL,IAAMhH,IAEzF,GAAIq9B,EAAY,CAEdrmC,KAAKukC,cAAgBvkC,KAAKukC,cAAczO,QAAO9lB,GAAM61B,EAAW71B,EAAExL,OAASwE,EAAKxE,KAAOwL,IAAMhH,IAC7F,IAAKhJ,KAAKwkC,gBAAgBlQ,MAAKtkB,GAAM61B,EAAW71B,EAAExL,OAASwE,EAAKxE,KAAOwL,IAAMhH,IAAQ,CACnFhJ,KAAKwkC,gBAAkB,IAAIxkC,KAAKwkC,gBAAiBx7B,E,CAEnDhJ,KAAKmmC,qBAAqBzjC,KAAK1C,KAAKukC,c,KAC/B,CAELvkC,KAAKukC,cAAgB,IAAIvkC,KAAKukC,cAAev7B,GAC7ChJ,KAAKwkC,gBAAkBxkC,KAAKwkC,gBAAgB1O,QAAO9lB,GAAM61B,EAAW71B,EAAExL,OAASwE,EAAKxE,KAAOwL,IAAMhH,IAEjGhJ,KAAKmmC,qBAAqBzjC,KAAK1C,KAAKukC,c,EAIxC,eAAA+B,CAAgBt9B,GACd,GAAIhJ,KAAKyqB,MAAM/iB,SAAW,EAAG,CAC3B,MAAMm+B,SAAkB78B,IAAS,SAGjChJ,KAAKukC,cAAgBvkC,KAAKukC,cAAczO,QAAO9lB,GAAM61B,EAAW71B,EAAExL,OAASwE,EAAKxE,KAAOwL,IAAMhH,IAG7F,IAAKhJ,KAAKwkC,gBAAgBlQ,MAAKtkB,GAAM61B,EAAW71B,EAAExL,OAASwE,EAAKxE,KAAOwL,IAAMhH,IAAQ,CACnFhJ,KAAKwkC,gBAAkB,IAAIxkC,KAAKwkC,gBAAiBx7B,E,CAGnDhJ,KAAKmmC,qBAAqBzjC,KAAK1C,KAAKukC,eAGpCvkC,KAAKyE,MAAQzE,KAAKukC,cAAc78B,OAAS,EAAI,SAAW,S,MACnD,GAAI1H,KAAKyqB,MAAM/iB,OAAS,EAAG,CAChC,MAAMm+B,SAAkB78B,IAAS,SAGjChJ,KAAKyqB,MAAQzqB,KAAKyqB,MAAMqL,QAAO9lB,GAAM61B,EAAW71B,EAAExL,OAASwE,EAAKxE,KAAOwL,IAAMhH,IAC7EhJ,KAAKukC,cAAgBvkC,KAAKyqB,MAG1B,IAAKzqB,KAAKwkC,gBAAgBlQ,MAAKtkB,GAAM61B,EAAW71B,EAAExL,OAASwE,EAAKxE,KAAOwL,IAAMhH,IAAQ,CACnFhJ,KAAKwkC,gBAAkB,IAAIxkC,KAAKwkC,gBAAiBx7B,E,CAGnDhJ,KAAKmmC,qBAAqBzjC,KAAK1C,KAAKukC,eAGpCvkC,KAAKyE,MAAQzE,KAAKukC,cAAc78B,OAAS,EAAI,SAAW,S,EAI5D,mBAAAtF,GACE,GAAIpC,KAAKyqB,MAAM/iB,OAAS,GAAK1H,KAAKyE,QAAU,UAAW,CACrDzE,KAAKyE,MAAQ,Q,EAIjB,iBAAAoD,GACE7H,KAAK4N,SAAS5N,KAAKkkC,aAUnB,GAAIlkC,KAAKoE,OAAS,OAAQ,CACxBpE,KAAK2kC,aAAe,I,CAGtB,GAAI3kC,KAAKyqB,MAAM/iB,OAAS,EAAG,CACzB,GAAIsU,MAAMuqB,QAAQvmC,KAAKyP,OAAQ,CAC7BzP,KAAKukC,cAAgB,GACrBvkC,KAAKwkC,gBAAkB,GAGvB,MAAMgC,EAAexmC,KAAKyqB,MAAMqL,QAAOrS,UAAcA,IAAQ,UAAYA,IAAQ,OACjF,MAAMgjB,EAAkBzmC,KAAKyqB,MAAMqL,QAAOrS,UAAcA,IAAQ,WAGhEzjB,KAAKukC,cAAgBvkC,KAAKyP,MAAMqmB,QAAO9sB,IACrC,UAAWA,IAAS,UAAYA,IAAS,KAAM,CAC7C,OAAOw9B,EAAalS,MAAK7Q,GAAOA,EAAIjf,OAASwE,EAAKxE,M,KAC7C,CACL,OAAOiiC,EAAgBhB,SAASz8B,E,KAKpChJ,KAAKwkC,gBAAkBxkC,KAAKyP,MAAMqmB,QAAO9sB,IACvC,UAAWA,IAAS,UAAYA,IAAS,KAAM,CAC7C,OAAQw9B,EAAalS,MAAK7Q,GAAOA,EAAIjf,OAASwE,EAAKxE,M,KAC9C,CACL,OAAQiiC,EAAgBhB,SAASz8B,E,UAIlC,CAELhJ,KAAKukC,cAAgB,GACrBvkC,KAAKwkC,gBAAkB,IAAIxkC,KAAKyP,M,EAOpC,gBAAA/N,GACE,GAAI1B,KAAKoE,OAAS,OAAQ,CACxBoY,SAASyP,iBAAiB,QAASjsB,KAAKiiC,mB,CAG1C,MAAMt6B,EAAkB3H,KAAK4B,GAAGC,cAAc,qBAE9C,MAAMgP,EAAe7Q,KAAK4B,GAAGC,cAAc,0BAC3C,MAAMyH,EAAqBtJ,KAAK4B,GAAGC,cAAc,oCAEjD,GAAI8F,EAAiB,CACnBA,EAAgB5F,UAAUC,IAAI,qB,CAGhC,GAAI6O,EAAc,CAChBA,EAAa9O,UAAUC,IAAI,oB,CAG7B,GAAIsH,EAAoB,CACtBA,EAAmBvH,UAAUC,IAAI,kB,EAIrC,oBAAAoF,GACE,OAAQpH,KAAKsE,OACX,IAAK,OACH,MAAO,OACT,IAAK,OACH,MAAO,OACT,IAAK,OACH,MAAO,OACT,IAAK,OACH,MAAO,OACT,IAAK,SACH,MAAO,SACT,IAAK,QACH,MAAO,QACT,IAAK,SACH,MAAO,S,CAIb,MAAAN,G,MACE,MAAM0iC,EAAuB76B,EAAa,qCAC1C,MAAM86B,EAAe96B,EAAa,kCAElC,MAAO,CACL5H,EAAA,OAAAC,IAAA,2CAAKC,MAAO,4BAA4BnE,KAAKoE,OAAS,OAAS,MAAQ,MACrEH,EAAK,OAAAC,IAAA,2CAAAC,MAAO,oBACTnE,KAAK0P,WACJzL,EAAA0K,EAAA,KACG3O,KAAKqkC,YACJpgC,EAAA,KAAGE,MAAM,iCAAiCnE,KAAK8B,MAAMk0B,OAAO,GAAG4Q,cAAgB5mC,KAAK8B,MAAMmZ,MAAM,GAAGnT,eAEnG7D,EAAA,KAAGE,MAAM,iCAAiCnE,KAAK8B,QAIrDmC,EAAA,OAAAC,IAAA,2CACEC,MAAO,sBAAsBnE,KAAKqE,QAAQrE,KAAKyE,SAASzE,KAAKoG,YAAc,cAAgB,MAAMpG,KAAKoE,OAAS,OAAS,MAAQ,MAC9HpE,KAAKskC,aAAe,UAAY,KAElC//B,QAASkP,GAAKzT,KAAK2lC,eAAelyB,IAgBjCzT,KAAKoE,OAAS,kBACbH,EAAA0K,EAAA,KACG3O,KAAKyE,QAAU,WACdR,EAAK,OAAAC,IAAA,2CAAA8D,MAAM,6BAA6BC,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,QACtFnE,EACE,QAAAC,IAAA,2CAAAmE,EAAE,2QACF8E,OAAO,UACM,2BAEflJ,EACE,QAAAC,IAAA,2CAAAmE,EAAE,yLACF8E,OAAO,UACM,4BAIlBnN,KAAKyE,QAAU,UACdR,EAAA,aAAAC,IAAA,2CAAWG,KAAK,KAAKO,KAAM5E,KAAK4E,KAAMN,MAAOtE,KAAKsE,MAAoB,cAAAtE,KAAK2G,YACxE3G,KAAKukC,cAAcx6B,KAAIf,GACtB/E,EAAA0K,EAAA,YACU3F,IAAS,SACf/E,EAAI,MAAAa,KAAK,YAAYkE,EAAKxE,KAAKyd,MAAM,KAAKlY,KAAI88B,GAAQA,EAAK7Q,OAAO,GAAG4Q,iBAErE3iC,EAAA,MAAIa,KAAK,YAAYkE,EAAKiZ,MAAM,KAAKlY,KAAI88B,GAAQA,EAAK7Q,OAAO,GAAG4Q,sBAQ7E5mC,KAAKgkC,iBACJ//B,EAAG0K,EAAA,KAAA3O,KAAKoE,OAAS,UAAYpE,KAAKoE,OAAS,QAAUpE,KAAKoE,OAAS,eAAiBH,EAAA,OAAKE,MAAO,OAAQ8I,UAAWjN,KAAK0N,iBAAyB,MAElJ1N,KAAKoE,OAAS,eACbH,EAAA,OAAAC,IAAA,2CAAK8D,MAAM,6BAA6BC,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOjE,MAAO,OAAOnE,KAAKqE,QAChHJ,EAAA,UAAAC,IAAA,2CAAQ4I,GAAG,IAAIC,GAAG,IAAIC,EAAE,IAAI5E,KAAK,aAGrCnE,EAAA0K,EAAA,KACG3O,KAAKyE,QAAU,WAAazE,KAAKoE,OAAS,UACzCH,EAAA0K,EAAA,KACG3O,KAAKuG,aACJtC,EAAA,OAAAC,IAAA,2CAAKC,MAAM,eACTF,EAAG,KAAAC,IAAA,2CAAAC,MAAO,QAAQnE,KAAKqE,eAAgByJ,MAAO,CAAExJ,MAAO,YACpDtE,KAAKuG,eAMfvG,KAAKyE,QAAU,WAAazE,KAAKoE,OAAS,UACzCH,EAAK,OAAAC,IAAA,2CAAAC,MAAM,gBACTF,EAAA,SAAAC,IAAA,2CACEE,KAAK,OACLmC,YAAavG,KAAKuG,YAClBpC,MAAO,QAAQnE,KAAKqE,eACpBa,IAAKtD,GAAO5B,KAAK+kC,SAAWnjC,EAC5BklC,QAAS9mC,KAAKqlC,6BAA6BxgC,KAAK7E,QAEjDA,KAAKC,iBACJgE,EAAA,aAAAC,IAAA,2CACEC,MAAO,gBAAgBnE,KAAKqE,OAC5BA,KAAMrE,KAAKqE,KACXU,UAAU,gBACVC,KAAK,OACLP,MAAM,UACQ,oBACI,2CAClBF,QAAS,IAAMvE,KAAK8kC,gBAK3B9kC,KAAKyE,QAAU,UACdR,EAAA0K,EAAA,KACE1K,EAAK,OAAAC,IAAA,2CAAAC,MAAO,WACTnE,KAAKoE,OAAS,OACbH,EAAA0K,EAAA,KACG3O,KAAKyqB,MAAM/iB,SAAW,EACrBzD,EACG0K,EAAA,KAAA3O,KAAKukC,cAAcx6B,KAAI,CAACf,EAAM+G,WACtB/G,IAAS,SACd/E,EAAK,OAAAE,MAAM,YAAYD,IAAK6L,GAC1B9L,EAAA,UAAQI,KAAK,KAAKW,KAAMhF,KAAKgF,KAAOhF,KAAKgF,KAAO,SAAU+O,OAAO,UAAUxP,QAAS,IAAMvE,KAAKsmC,gBAAgBt9B,IAC7G/E,EAAA,KAAGE,MAAM,kBAAkB6E,EAAKxE,KAAKyd,MAAM,KAAK,IAChDhe,EAAI,MAAAa,KAAK,WAAWX,MAAM,sBACvB6E,EAAKxE,KACHyd,MAAM,KACNlY,KAAI88B,GAAQA,EAAK7Q,OAAO,GAAG4Q,gBAC3BxkB,KAAK,OAKdne,EAAA,OAAKE,MAAM,YAAYD,IAAK6L,GAC1B9L,EAAA,UAAQI,KAAK,KAAKW,KAAMhF,KAAKgF,KAAOhF,KAAKgF,KAAO,SAAU+O,OAAO,UAAUxP,QAAS,IAAMvE,KAAKsmC,gBAAgBt9B,IAC7G/E,EAAG,KAAAE,MAAM,kBAAkB6E,QAOrC/E,EAAA0K,EAAA,KACG3O,KAAKyqB,MAAM1gB,KAAI,CAACf,EAAM+G,WACd/G,IAAS,SACd/E,EAAK,OAAAE,MAAM,YAAYD,IAAK6L,GAC1B9L,EAAA,UAAQI,KAAK,KAAKW,KAAMhF,KAAKgF,KAAOhF,KAAKgF,KAAO,SAAU+O,OAAO,UAAUxP,QAAS,IAAMvE,KAAKsmC,gBAAgBt9B,IAC7G/E,EAAA,KAAGE,MAAM,kBAAkB6E,EAAKxE,KAAKyd,MAAM,KAAK,IAChDhe,EAAI,MAAAa,KAAK,WAAWX,MAAM,sBACvB6E,EAAKxE,KACHyd,MAAM,KACNlY,KAAI88B,GAAQA,EAAK7Q,OAAO,GAAG4Q,gBAC3BxkB,KAAK,OAKdne,EAAA,OAAKE,MAAM,YAAYD,IAAK6L,GAC1B9L,EAAA,UAAQI,KAAK,KAAKW,KAAMhF,KAAKgF,KAAOhF,KAAKgF,KAAO,SAAU+O,OAAO,UAAUxP,QAAS,IAAMvE,KAAKsmC,gBAAgBt9B,IAC7G/E,EAAA,KAAGE,MAAM,kBAAkB6E,SASzC/E,EAAA,KAAGE,MAAO,sBAAsBnE,KAAKqE,gBAClCrE,KAAKyqB,MAAM/iB,SAAW,IAAI6Z,EAAAvhB,KAAK2kC,gBAAY,MAAApjB,SAAA,SAAAA,EAAE/c,OAAQxE,KAAK2kC,aAAe1gC,EAAA0K,EAAA,KAAG3O,KAAKyqB,MAAM1gB,KAAIf,UAAgBA,IAAS,SAAWA,EAAKxE,KAAOwE,MAG/IhJ,KAAK0Q,gBACJzM,EAAA,OAAAC,IAAA,2CAAKC,MAAO,wBAAwBnE,KAAKqE,eAAgByJ,MAAO,CAAExJ,MAAO,YACtEtE,KAAKoE,OAAS,QACbH,EAAG0K,EAAA,KAAA3O,KAAKyqB,MAAM/iB,SAAW,EAAIzD,EAAA0K,EAAA,KAAG3O,KAAK2kC,aAAaoC,UAAe9iC,EAAA0K,EAAA,KAAG3O,KAAKyqB,MAAM1gB,KAAIf,UAAeA,IAAS,UAAYA,EAAK+9B,gBAOvI/mC,KAAKyE,QAAU,YACdR,EAAA0K,EAAA,KACE1K,EAAK,OAAAC,IAAA,2CAAAC,MAAO,WACVF,EAAA,OAAAC,IAAA,2CAAKC,MAAO,wBAAwBnE,KAAKoE,OAAS,OAAS,MAAQ,KAAM0J,MAAO,CAAExJ,MAAO,YACtFtE,KAAKoE,OAAS,OACbH,EAAA0K,EAAA,KACG3O,KAAKyqB,MAAM1gB,KAAI,CAACf,EAAM+G,WACd/G,IAAS,SACd/E,EAAK,OAAAE,MAAM,YAAYD,IAAK6L,GAC1B9L,EAAQ,UAAAI,KAAK,KAAKW,KAAMhF,KAAKgF,KAAOhF,KAAKgF,KAAO,SAAU+O,OAAO,WAC/D9P,EAAA,KAAGE,MAAM,kBAAkB6E,EAAKxE,KAAKyd,MAAM,KAAK,IAChDhe,EAAI,MAAAa,KAAK,WAAWX,MAAM,sBACvB6E,EAAKxE,KACHyd,MAAM,KACNlY,KAAI88B,GAAQA,EAAK7Q,OAAO,GAAG4Q,gBAC3BxkB,KAAK,OAKdne,EAAA,OAAKE,MAAM,YAAYD,IAAK6L,GAC1B9L,EAAQ,UAAAI,KAAK,KAAKW,KAAMhF,KAAKgF,KAAOhF,KAAKgF,KAAO,SAAU+O,OAAO,WAC/D9P,EAAG,KAAAE,MAAM,kBAAkB6E,QAOrC/E,EAAA0K,EAAA,KAAG1K,EAAA0K,EAAA,KAAG3O,KAAKyqB,MAAM1gB,KAAIf,UAAgBA,IAAS,SAAWA,EAAKxE,KAAOwE,OAGxEhJ,KAAK0Q,gBACJzM,EAAA,OAAAC,IAAA,2CAAKC,MAAM,kCAAkC2J,MAAO,CAAExJ,MAAO,YAC1DtE,KAAKoE,OAAS,QACbH,EAAA0K,EAAA,KAAG3O,KAAKyqB,MAAM/iB,SAAW,EAAIzD,EAAG0K,EAAA,KAAA3O,KAAK2kC,aAAaoC,UAAe9iC,EAAG0K,EAAA,KAAA3O,KAAKyqB,MAAM1gB,KAAIf,UAAeA,IAAS,UAAY/E,EAAA0K,EAAA,KAAG3F,EAAK+9B,kBAQ5I/mC,KAAKgnC,cACJ/iC,EAAK,OAAAC,IAAA,2CAAAC,MAAO,aACVF,EAAA,mBAAAC,IAAA,kEAAuC,MACrCD,EAAA,QAAAC,IAAA,2CAAMM,KAAK,gBAAgBM,KAAK,UAChCb,EAAM,QAAAC,IAAA,2CAAAM,KAAK,0BAA0BM,KAAK,sBAI/C9E,KAAKoE,OAAS,UACbH,EAAA,OAAAC,IAAA,2CAAKC,MAAO,iBAAiBnE,KAAKskC,aAAe,SAAW,MAC1DrgC,EAAK,OAAAC,IAAA,2CAAA8D,MAAM,6BAA6BC,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOjE,MAAO,GAAGnE,KAAKyE,SAC5GR,EAAA,QAAAC,IAAA,2CACEmE,EAAE,4EACF8E,OAAO,UAAS,eACH,UAAS,iBACP,QACC,8BAKxBlJ,EAAA0K,EAAA,KACG3O,KAAKskC,cACJrgC,EAAA,OAAAC,IAAA,2CAAKC,MAAO,iBAAiBnE,KAAKinC,eAAgB/hC,IAAKtD,GAAO5B,KAAKknC,YAActlC,EAAK2C,QAASkP,GAAKA,EAAEC,mBACnG1T,KAAKmkC,iBACJlgC,EAAK,OAAAC,IAAA,2CAAAC,MAAM,yBACTF,EACE,kBAAAC,IAAA,2CAAAG,KAAK,KACLomB,MAAOzqB,KAAKglC,WAAU,oBACHhlC,KAAKglC,WAAa,KAAO,MAClC,mCACVz+B,YAAavG,KAAKuG,YAClBnC,KAAK,eACL+iC,UAAU,QACVhhC,UAAU,IACV08B,oBAAqB7iC,KAAKslC,0BAA0BzgC,KAAK7E,SAI9DA,KAAKuO,SACJtK,EAAK,OAAAC,IAAA,2CAAAC,MAAM,cACTF,EAAA,OAAAC,IAAA,2CAAKC,MAAM,YAGdnE,KAAKulC,WACJthC,EAAA0K,EAAA,KACG3O,KAAKulC,aAAe,IAAMvlC,KAAKwlC,cAAc99B,OAAS,EACrDzD,EAAA0K,EAAA,KACG3O,KAAKwlC,cAAcz7B,KAAIf,GACtB/E,EAAA,+BACEG,KAAMpE,KAAKoE,OAAS,OAAS,WAAapE,KAAKoE,KAC/CK,MAAOC,EAAUC,QAAO,kBACP3E,KAAK0Q,eACtBmB,SAAU7R,KAAK4lC,eAAe58B,GAC9BzE,QAAS,IAAMvE,KAAKimC,iBAAiBj9B,WAE7BA,IAAS,SACf/E,EAAA0K,EAAA,KACE1K,EAAA,KAAGa,KAAK,QAAQkE,EAAKxE,MACrBP,EAAG,KAAAa,KAAK,mBAAmBkE,EAAK+9B,WAGlC9iC,EAAG,KAAAa,KAAK,QAAQkE,OAKtBhJ,KAAKulC,aAAe,IAAMvlC,KAAKwlC,cAAc99B,SAAW,EAE1DzD,EAAK,OAAAE,MAAM,eACTF,EAAK,OAAAkI,IAAKu6B,EAAsBviC,MAAM,aAAa+I,IAAI,KACvDjJ,EAAK,OAAAE,MAAM,sBACTF,EAAK,OAAAkI,IAAKw6B,EAAcz5B,IAAI,GAAG/I,MAAM,iBACrCF,EAAG,KAAAE,MAAM,6BAAoD,0BAG/D,MAGNF,EAAA0K,EAAA,KACG3O,KAAKoE,OAAS,OACbH,EAAA0K,EAAA,KACG3O,KAAKukC,cAAcx6B,KAAIf,GACtB/E,EACE,+BAAAG,KAAMpE,KAAKoE,OAAS,SAAW,WAAapE,KAAKoE,OAAS,OAAS,WAAapE,KAAKoE,KACrFK,MAAOC,EAAUC,QACA,kBAAA3E,KAAK0Q,eACtBmB,SAAU,KACVtN,QAAS,IAAMvE,KAAKimC,iBAAiBj9B,WAE7BA,IAAS,SACf/E,EAAA0K,EAAA,KACE1K,EAAA,KAAGa,KAAK,QAAQkE,EAAKxE,MACrBP,EAAA,KAAGa,KAAK,mBAAmBkE,EAAK+9B,UAChC9iC,EAAA,MAAIa,KAAK,YAAYkE,EAAKxE,KAAKyd,MAAM,KAAKlY,KAAI88B,GAAQA,EAAK7Q,OAAO,GAAG4Q,kBAGvE3iC,EAAA0K,EAAA,KACE1K,EAAA,KAAGa,KAAK,QAAQkE,GAChB/E,EAAA,MAAIa,KAAK,YAAYkE,EAAKiZ,MAAM,KAAKlY,KAAI88B,GAAQA,EAAK7Q,OAAO,GAAG4Q,qBAKvE5mC,KAAKwkC,gBAAgBz6B,KAAIf,GACxB/E,EACE,+BAAAG,KAAMpE,KAAKoE,OAAS,SAAW,WAAapE,KAAKoE,OAAS,OAAS,WAAapE,KAAKoE,KACrFK,MAAOC,EAAUC,QACA,kBAAA3E,KAAK0Q,eACtBmB,SAAU,MACVtN,QAAS,IAAMvE,KAAKimC,iBAAiBj9B,WAE7BA,IAAS,SACf/E,EAAA0K,EAAA,KACE1K,EAAA,KAAGa,KAAK,QAAQkE,EAAKxE,MACrBP,EAAA,KAAGa,KAAK,mBAAmBkE,EAAK+9B,WAGlC9iC,EAAA,KAAGa,KAAK,QAAQkE,OAMxB/E,EAAA0K,EAAA,KACE1K,EAA6B,+BAAAQ,MAAOC,EAAUC,QAAO,kBAAmB3E,KAAK0Q,eAAgBpM,MAAOtE,KAAKsE,MAAOC,QAAS,IAAMvE,KAAKimC,oBAClIhiC,EAAG,KAAAa,KAAK,QAAM,KAAI9E,KAAKuG,YAAW,OAEnCvG,KAAKyP,MAAM1F,KAAIf,GAAQ,CACtB/E,EAAA,+BACEG,KAAMpE,KAAKoE,OAAS,OAAS,WAAapE,KAAKoE,KAC/CK,MAAOC,EAAUC,QAAO,kBACP3E,KAAK0Q,eACtBmB,SAAU7R,KAAK4lC,eAAe58B,GAC9B1E,MAAOtE,KAAKsE,MACZC,QAAS,IAAMvE,KAAKimC,iBAAiBj9B,WAE7BA,IAAS,SACf/E,EAAA0K,EAAA,KACE1K,EAAA,KAAGa,KAAK,QAAQkE,EAAKxE,MACrBP,EAAA,MAAIa,KAAK,YACNkE,EAAKxE,KACHyd,MAAM,KACNlY,KAAI88B,GAAQA,EAAK7Q,OAAO,GAAG4Q,gBAC3BxkB,KAAK,KAEVne,EAAG,KAAAa,KAAK,mBAAmBkE,EAAK+9B,kBAEzB/9B,IAAS,SAClB/E,EAAA0K,EAAA,KACE1K,EAAA,KAAGa,KAAK,QAAQkE,GAChB/E,EAAA,MAAIa,KAAK,YACNkE,EACEiZ,MAAM,KACNlY,KAAI88B,GAAQA,EAAK7Q,OAAO,GAAG4Q,gBAC3BxkB,KAAK,MAIZne,EAAA0K,EAAA,KACE1K,EAAA,KAAGa,KAAK,QAAQkE,GAChB/E,EAAI,MAAAa,KAAK,YAAYkE,cAe9ChJ,KAAKonC,cAAgBnjC,EAAA0K,EAAA,MAAI3O,KAAKoG,YAAcnC,EAAG,KAAAE,MAAM,6BAA6BnE,KAAK+jC,UAAgB9/B,EAAG,KAAAE,MAAM,8BAA8BnE,KAAKokC,a,4KC3zB5J,MAAMiD,GAA6B,gjwE,MCQtBC,GAAuB,MALpC,WAAAxnC,CAAAC,G,iEAOUC,KAAc0Q,eAAY,MACT1Q,KAAQ6R,SAAY,MAGrC7R,KAAWwN,YAAY,MACvBxN,KAAe2L,gBAAW,GACzB3L,KAAc0N,eAAW,EA8HnC,CAzHC,cAAME,CAASK,GACb,MAAMC,EAAWrC,EAAa,GAAGoC,KACjC,MAAM7B,QAAiBC,MAAM6B,GAC7B,MAAMC,QAAY/B,EAASxH,OAE3B,MAAMoN,EAAS,IAAIC,UACnB,MAAMC,EAASF,EAAOG,gBAAgBhE,EAAK,iBAC3C,MAAMiE,EAAaF,EAAOG,gBAG1B,MAAMC,EAAsBF,EAAWG,iBAAiB,aACxDD,EAAoBE,SAAQ5Q,IAC1BA,EAAGG,UAAUC,IAAI,cAAc,IAIjC,MAAMyQ,EAAcL,EAAWM,UAE/B1S,KAAK0N,eAAiB+E,C,CAGxB,iBAAA5K,GACE7H,KAAK4N,SAAS5N,KAAK2L,gB,CAGrB,gBAAAjK,GACE,MAAM4I,EAAWtK,KAAK4B,GAAGC,cAAc,iBACvC,MAAMyH,EAAqBtJ,KAAK4B,GAAGC,cAAc,4BACjD,MAAM0lC,EAAevnC,KAAK4B,GAAGC,cAAc,qBAE3C,GAAIyI,EAAU,CACZA,EAASvI,UAAUC,IAAI,kBACvBsI,EAASvI,UAAUC,IAAI,U,CAGzB,GAAIulC,EAAc,CAChBA,EAAaxlC,UAAUC,IAAI,oB,CAG7B,GAAIsH,EAAoB,CACtBA,EAAmBvH,UAAUC,IAAI,kB,EAIrC,iBAAMwlC,GACJxnC,KAAKynC,oBAAoB/kC,M,CAG3B,MAAAsB,GACE,OAEEC,EAAA,OAAAC,IAAA,2CAAKC,MAAM,qBAAqBI,QAAS,IAAMvE,KAAKwnC,eAClDvjC,EAAA,OAAAC,IAAA,2CACEC,MAAO,CACL,gBAAiB,KACjB0N,SAAY7R,KAAK6R,SACjBvD,SAAYtO,KAAKyE,QAAU,WAC3B06B,SAAYn/B,KAAKoE,OAAS,WAC1B,CAACpE,KAAKoE,MAAO,MAEf4F,KAAK,SAAQ,gBACEhK,KAAK6R,SAAW,OAAS,QAAO,gBAChC7R,KAAKyE,QAAU,WAAa,OAAS,SAEpDR,EAAK,OAAAC,IAAA,2CAAAC,MAAM,WACRnE,KAAKoE,OAAS,gBAAkBpE,KAAKwN,aAAevJ,EAAK,OAAAC,IAAA,2CAAAC,MAAO,gBAAgBnE,KAAKyE,QAASwI,UAAWjN,KAAK0N,iBAC9G1N,KAAKoE,OAAS,kBACbH,EAAA,aAAAC,IAAA,2CAAWC,MAAM,cAAcE,KAAK,KAAKC,MAAOtE,KAAKsE,MAAOM,KAAM,MAChEX,EAAM,QAAAC,IAAA,2CAAAM,KAAK,WAAWM,KAAK,cAG9B9E,KAAKoE,OAAS,eACbH,EACG0K,EAAA,KAAA3O,KAAKyE,QAAU,UACdR,EAAA,OAAKyI,GAAG,OAAO1E,MAAM,6BAA6BC,MAAM,OAAOC,OAAO,OAAOC,QAAQ,YAAYC,KAAK,QACpGnE,EAAA,UAAQ6I,GAAG,IAAIC,GAAG,IAAIC,EAAE,IAAI5E,KAAK,aAGnCnE,EAAA,OAAK+D,MAAM,6BAA6BC,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,QACtFnE,EAAA,UAAQ6I,GAAG,IAAIC,GAAG,IAAIC,EAAE,IAAI5E,KAAK,cAKxCpI,KAAKoE,OAAS,YAAcH,EAAA,eAAAC,IAAA,2CAAaC,MAAM,WAAWE,KAAK,KAAKD,KAAK,WAAWK,MAAOzE,KAAKyE,MAAOhD,QAASzB,KAAK6R,WACtH5N,EAAM,QAAAC,IAAA,2CAAAM,KAAK,SACVxE,KAAK0Q,gBACJzM,EAAA,QAAAC,IAAA,4CACED,EAAA,QAAAC,IAAA,2CAAMM,KAAK,sBAIhBxE,KAAK6R,UAAY7R,KAAKoE,OAAS,YAC9BH,EAAA,OAAAC,IAAA,2CAAKC,MAAO,QACTnE,KAAKyE,QAAU,WACdR,EAAA,OAAK+D,MAAM,6BAA6BC,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOjE,MAAO,GAAGnE,KAAKyE,SAC5GR,EAAA,QACEoE,EAAE,yGACF8E,OAAO,UAAS,eACH,UAAS,iBACP,QACC,6BAIpBlJ,EAAA,OAAK+D,MAAM,6BAA6BC,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,QACtFnE,EACE,QAAAoE,EAAE,yGACF8E,OAAO,UAAS,eACH,UAAS,iBACP,QACC,+B,uCCpIpC,MAAMu6B,GAAkB,qi/E,MCSXC,GAAY,MANzB,WAAA7nC,CAAAC,G,gXAUUC,KAASm8B,UAAW,OAGHn8B,KAAWoG,YAAY,MAExCpG,KAAS0P,UAAY,MACrB1P,KAAK8B,MAAW,GAChB9B,KAAYonC,aAAY,MACxBpnC,KAAQ+jC,SAAW,GACnB/jC,KAASokC,UAAW,GACpBpkC,KAAe4nC,gBAAY,MAC3B5nC,KAAWuG,YAAW,GACtBvG,KAAYgnC,aAAY,MACxBhnC,KAAc6nC,eAAY,MAC1B7nC,KAAe8nC,gBAAY,MAE3B9nC,KAA0B+nC,2BAAY,MACrB/nC,KAAAghB,QAAoB,GAKpBhhB,KAAUgoC,WAAY,MACtBhoC,KAAAioC,QAAiB,GAcjBjoC,KAAAyqB,MAAa,GAObzqB,KAAQk8B,SAAY,MACpBl8B,KAAOuO,QAAY,MACpCvO,KAAWqkC,YAAY,KACvBrkC,KAAYkoC,aAAY,KACvBloC,KAAeC,gBAAa,MAC5BD,KAAUglC,WAAW,GACrBhlC,KAAImoC,KAAa,GACjBnoC,KAAc0N,eAAW,GACzB1N,KAAiBooC,kBAAY,MAC7BpoC,KAAYqoC,aAAY,MACxBroC,KAAY2kC,aAAW,GACvB3kC,KAAaukC,cAAU,GACvBvkC,KAAewkC,gBAAU,GACzBxkC,KAAWsoC,YAAW,OACtBtoC,KAAUuoC,WAAW,OACrBvoC,KAAYskC,aAAY,MACxBtkC,KAAIwoC,KAAY,MAChBxoC,KAAWyoC,YAAY,MACvBzoC,KAAAykC,gBAA2BzkC,KAAKuO,QAQjCvO,KAAQ0oC,SAAW,GA+N5B1oC,KAAA2oC,qBAAwBl1B,IACrB,GAAIzT,KAAKm8B,YAAc,SAAU,OACjC,MAAMj4B,EAAMuP,EAAEvP,IAGd,MAAM0kC,EAAU,CACd,YAAY,MAAM,QAAQ,SAAS,YAAY,aAAa,UAAU,YACtE,SAAS,OAAO,OAElB,GAAIA,EAAQnD,SAASvhC,IAAQuP,EAAEkiB,SAAWliB,EAAEo1B,QAAS,OAGrD,MAAMC,EAAU,UAAU7pB,KAAK/a,GAC/B,GAAIA,IAAQ,IAAK,CACf,MAAM4Z,EAASrK,EAAEqK,OACjB,GAAIA,GAAUA,EAAO2M,MAAMgb,SAAS,KAAM,CACxChyB,EAAE+hB,gB,CAEJ,M,CAGF,IAAKsT,EAAS,CACZr1B,EAAE+hB,gB,GAKNx1B,KAAA+oC,mBAAsBt1B,I,UACpB,GAAIzT,KAAKm8B,YAAc,SAAU,OACjC,MAAM6M,IAAYznB,EAAC9N,EAAEw1B,eAAkBtzB,OAAeszB,iBAAc,MAAA1nB,SAAA,SAAAA,EAAE2nB,QAAQ,UAAW,GACzF,MAAMC,EAAYH,EAAU/+B,QAAQ,WAAY,IAChD,GAAIk/B,IAAcH,EAAW,CAC3Bv1B,EAAE+hB,iBACF,MAAM/M,EAAQhV,EAAEqK,OAChB,MAAMsrB,GAAQ5nB,EAAAiH,EAAM4gB,kBAAc,MAAA7nB,SAAA,EAAAA,EAAI,EACtC,MAAM8nB,GAAM5nB,EAAA+G,EAAM8gB,gBAAY,MAAA7nB,SAAA,EAAAA,EAAI,EAClC,MAAM8nB,EAAS/gB,EAAMgC,MAAMxP,MAAM,EAAGmuB,GAASD,EAAY1gB,EAAMgC,MAAMxP,MAAMquB,GAC3E7gB,EAAMgC,MAAQ+e,EAEd/gB,EAAMqF,cAAc,IAAInY,OAAO8zB,MAAM,QAAS,CAAEC,QAAS,O,EAm5B9D,CAhpCC,mBAAM9E,GACJ5kC,KAAKoG,YAAc,I,CAIrB,sBAAMy+B,GACJ7kC,KAAKoG,YAAc,K,CAerB,iBAAAujC,GACE3pC,KAAKglC,WAAa,GAClBhlC,KAAKyqB,MAAQ,GACbzqB,KAAK4pC,UAAUC,YAAY,IAC3B7pC,KAAK4pC,UAAUE,aAAa,G,CAmB9B,cAAMl8B,CAASK,GACb,MAAMC,EAAWrC,EAAa,GAAGoC,KACjC,MAAM7B,QAAiBC,MAAM6B,GAC7B,MAAMC,QAAY/B,EAASxH,OAC3B5E,KAAK0N,eAAiBS,C,CAGxB,cAAA47B,CAAexnC,GACb,MAAMub,EAASvb,EAAMub,OACrB9d,KAAKglC,WAAalnB,EAAO2M,MAEzB,GAAIzqB,KAAKglC,WAAWliB,SAAW,GAAI,CACjC9iB,KAAKqoC,aAAe,MAEpB,M,CAGFroC,KAAKyoC,YAAc,KAGnB7sB,YAAW,KAET5b,KAAKqoC,aAAeroC,KAAKioC,QAAQvgC,OAAS,CAAC,GAC1C,KAEH1H,KAAKgqC,kB,CASP,kBAAAC,CAAmBjhC,GACjB,GAAIhJ,KAAKyqB,MAAM/iB,SAAW,EAAG,CAC3B,MAAMm+B,SAAkB78B,IAAS,SACjC,MAAMq9B,EAAarmC,KAAKukC,cAAcjQ,MAAKtkB,GAAM61B,EAAW71B,EAAEk6B,aAAelhC,EAAKkhC,WAAal6B,IAAMhH,IACrG,GAAIq9B,EAAY,CAEdrmC,KAAKukC,cAAgBvkC,KAAKukC,cAAczO,QAAO9lB,GAAM61B,EAAW71B,EAAEk6B,aAAelhC,EAAKkhC,WAAal6B,IAAMhH,IACzG,IAAKhJ,KAAKwkC,gBAAgBlQ,MAAKtkB,GAAM61B,EAAW71B,EAAEk6B,aAAelhC,EAAKkhC,WAAal6B,IAAMhH,IAAQ,CAC/FhJ,KAAKwkC,gBAAkB,IAAIxkC,KAAKwkC,gBAAiBx7B,E,CAEnDhJ,KAAKgiC,kBAAkBt/B,KAAK1C,KAAKukC,c,KAC5B,CAELvkC,KAAKukC,cAAgB,IAAIvkC,KAAKukC,cAAev7B,GAC7ChJ,KAAKwkC,gBAAkBxkC,KAAKwkC,gBAAgB1O,QAAO9lB,GAAM61B,EAAW71B,EAAEk6B,aAAelhC,EAAKkhC,WAAal6B,IAAMhH,IAC7GhJ,KAAKgiC,kBAAkBt/B,KAAK1C,KAAKukC,c,MAE9B,CACL,MAAMsB,SAAkB78B,IAAS,SACjC,MAAMq9B,EAAarmC,KAAKukC,cAAcjQ,MAAKtkB,GAAM61B,EAAW71B,EAAEk6B,aAAelhC,EAAKkhC,WAAal6B,IAAMhH,IAErG,GAAIq9B,EAAY,CACdrmC,KAAKyqB,MAAQzqB,KAAKyqB,MAAMqL,QAAO9lB,GAAM61B,EAAW71B,EAAEk6B,aAAelhC,EAAKkhC,WAAal6B,IAAMhH,IACzFhJ,KAAKgiC,kBAAkBt/B,KAAK1C,KAAKyqB,M,KAC5B,CACLzqB,KAAKyqB,MAAQ,IAAIzqB,KAAKyqB,MAAOzhB,GAC7BhJ,KAAKgiC,kBAAkBt/B,KAAK1C,KAAKyqB,M,EAIrCzqB,KAAKmqC,c,CAGP,eAAA7D,CAAgBv2B,GACd,GAAI/P,KAAKyqB,MAAM/iB,OAAS,EAAG,CACzB1H,KAAKyqB,MAAQ,IAAIzqB,KAAKyqB,MAAMxP,MAAM,EAAGlL,MAAW/P,KAAKyqB,MAAMxP,MAAMlL,EAAQ,IACzE/P,KAAKgiC,kBAAkBt/B,KAAK1C,KAAKyqB,M,KAE5B,CACLzqB,KAAKukC,cAAgB,IAAIvkC,KAAKukC,cAActpB,MAAM,EAAGlL,MAAW/P,KAAKukC,cAActpB,MAAMlL,EAAQ,IACjG/P,KAAKgiC,kBAAkBt/B,KAAK1C,KAAKukC,eACjCvkC,KAAKmqC,c,EAIT,YAAAA,GACEvuB,YAAW,KACT,GAAI5b,KAAKoqC,sBAAuB,CAC9B,MAAMC,EAAerqC,KAAKoqC,sBAAsBpgB,YAChD,MAAMsgB,EAAatqC,KAAKuqC,aAAavgB,YAErChqB,KAAKsoC,YAActoC,KAAKukC,cAAc78B,SAAW,EAAI,OAAS,GAAG2iC,EAAe,OAEhFrqC,KAAKuoC,WAAavoC,KAAKukC,cAAc78B,OAAS,EAAI,OAAS,GAAG4iC,EAAa,M,KAI/E,GAAItqC,KAAKoG,YAAa,CACpBpG,KAAKoG,YAAc,K,CAErBpG,KAAKglC,WAAa,E,CAGpB,mBAAAwF,GACExqC,KAAKgiC,kBAAkBt/B,KAAK1C,KAAKukC,c,CAYnC,eAAA5xB,GACE3S,KAAK4S,cAAclQ,M,CAGrB,mBAAA+nC,GACEzqC,KAAK0qC,kBAAkBhoC,M,CAGzB,oBAAAioC,GACE3qC,KAAK4qC,mBAAmBloC,M,CAI1B,kBAAAu/B,CAAmB1/B,GACjB,GAAIvC,KAAKqoC,eAAiBroC,KAAK4B,GAAG+rB,SAASprB,EAAMub,QAAiB,CAChE9d,KAAKqoC,aAAe,K,EAKxB,WAAAwC,CAAYtoC,GACV,MAAMub,EAASvb,EAAMub,OAErB,IAAIgtB,EAAMhtB,EAAO2M,MAAMxgB,QAAQ,KAAM,IAErC,GAAIjK,KAAKm8B,YAAc,SAAU,CAE/B2O,EAAMA,EAAI7gC,QAAQ,UAAW,IAE7B,GAAGjK,KAAKkoC,aAAc,CACpBloC,KAAKglC,WAAahlC,KAAK+qC,uBAAuBD,GAC9C9qC,KAAKyqB,MAAQzqB,KAAKglC,U,KACb,CACLhlC,KAAKglC,WAAa8F,C,MAEf,CACL9qC,KAAKglC,WAAalnB,EAAO2M,K,CAG3B,GAAIzqB,KAAKglC,YAAchlC,KAAK+nC,2BAA4B,CACtD/nC,KAAKC,gBAAkB,I,KAClB,CACLD,KAAKC,gBAAkB,K,CAGzB,IAAI+qC,EAAoBhrC,KAAKglC,WAE7B,GAAIhlC,KAAKoE,OAAS,mBAAoB,CACpC4mC,EAAe,CACbC,SAAU,GAAGjrC,KAAK2kC,eAAe3kC,KAAKglC,aACtCkG,OAAQlrC,KAAK2kC,aACbla,MAAOzqB,KAAKglC,W,CAIhBz4B,QAAQ+1B,IAAI,YAAa0I,GACzBhrC,KAAKgiC,kBAAkBt/B,KAAKsoC,E,CA+C9B,sBAAAD,CAAuBtgB,GACrB,IAAKA,EAAO,MAAO,GACnB,IAAIzqB,KAAKkoC,aAAc,OAEvB,MAAMiD,EAAQ1gB,EAAMxI,MAAM,KAC1BkpB,EAAM,GAAKA,EAAM,GAAGlhC,QAAQ,wBAAyB,KACrD,OAAOkhC,EAAM/oB,KAAK,I,CAGpB,gBAAAgpB,GACE,GAAIprC,KAAKoG,YAAa,CACpBpG,KAAKoG,YAAc,K,EAIvB,UAAA0+B,GACE,GAAI9kC,KAAK+kC,SAAU,CACjB/kC,KAAK+kC,SAASta,MAAQ,GACtBzqB,KAAKglC,WAAahlC,KAAK+kC,SAASta,MAChCzqB,KAAKC,gBAAkB,MACvBD,KAAKgiC,kBAAkBt/B,KAAK1C,KAAKglC,W,EAKrC,wBAAAqG,GACErrC,KAAKooC,mBAAqBpoC,KAAKooC,iB,CAIjC,cAAAkD,CAAeC,GAEb,GAAIA,EAAW7jC,OAAS,IAAM1H,KAAK2kC,aAAc,CAC/C3kC,KAAK2kC,aAAe4G,EAAW,E,EAKnC,gBAAApG,CAAiBC,GACfplC,KAAKykC,gBAAkBW,C,CAGzB,cAAAQ,CAAehK,GACb,OAAO57B,KAAK2kC,eAAiB/I,C,CAG/B,iBAAA4P,CAAkBxiC,GAGhB,MAAM68B,SAAkB78B,IAAS,SACjC,OAAOhJ,KAAKukC,cAAcjQ,MAAKtkB,GAAM61B,EAAW71B,EAAEk6B,aAAelhC,EAAKkhC,WAAal6B,IAAMhH,G,CAG3F,gBAAAi9B,CAAiBrK,GAEf57B,KAAK2kC,aAAe/I,EACpB57B,KAAKqoC,aAAe,K,CAItB,mBAAAoD,CAAoBvpC,GAClB,GAAI8Z,MAAMuqB,QAAQrkC,IAAaA,EAASwF,OAAS,EAAG,CAClD1H,KAAKukC,cAAgB,GACrBvkC,KAAKwkC,gBAAkB,GAEvB,MAAMgC,EAAetkC,EAAS4zB,QAAOrS,UAAcA,IAAQ,UAAYA,IAAQ,OAC/E,MAAMgjB,EAAkBvkC,EAAS4zB,QAAOrS,UAAcA,IAAQ,WAE9DzjB,KAAKukC,cAAgBvkC,KAAKioC,QAAQnS,QAAO9sB,UAChCA,IAAS,UAAYA,IAAS,KACjCw9B,EAAalS,MAAK7Q,GAAO4T,KAAKE,UAAU9T,KAAS4T,KAAKE,UAAUvuB,KAChEy9B,EAAgBhB,SAASz8B,KAG/BhJ,KAAKwkC,gBAAkBxkC,KAAKioC,QAAQnS,QAAO9sB,UAClCA,IAAS,UAAYA,IAAS,MAAQw9B,EAAalS,MAAK7Q,GAAO4T,KAAKE,UAAU9T,KAAS4T,KAAKE,UAAUvuB,MAAUy9B,EAAgBhB,SAASz8B,I,KAE7I,CACLhJ,KAAKukC,cAAgB,GACrBvkC,KAAKwkC,gBAAkB,IAAIxkC,KAAKioC,Q,EAIpC,iBAAApgC,GAKE7H,KAAK2kC,aAAe3kC,KAAKghB,QAAQ,GAEjChhB,KAAK4N,SAAS5N,KAAKikC,UAEnB,GAAIjkC,KAAKoE,OAAS,OAAQ,CACxBpE,KAAK2kC,aAAe,KAEpB,GAAG3kC,KAAKyqB,MAAO,CACbzqB,KAAKglC,WAAahlC,KAAKyqB,K,EAI3BzqB,KAAKyrC,oBAAoBzrC,KAAKyqB,M,CAMhC,gBAAA/oB,GACE,GAAI1B,KAAKghB,SAAWhhB,KAAKghB,QAAQtZ,OAAS,EAAG,CAC3C1H,KAAK2kC,aAAe3kC,KAAKghB,QAAQ,E,CAGnC,MAAMnQ,EAAe7Q,KAAK4B,GAAGC,cAAc,0BAC3C,MAAMyH,EAAqBtJ,KAAK4B,GAAGC,cAAc,oCACjD,MAAM6pC,EAAW1rC,KAAK4B,GAAGC,cAAc,iBAEvC,GAAIgP,EAAc,CAChBA,EAAa9O,UAAUC,IAAI,oB,CAG7B,GAAIsH,EAAoB,CACtBA,EAAmBvH,UAAUC,IAAI,kB,CAGnC,GAAI0pC,EAAU,CACZA,EAAS3pC,UAAUC,IAAI,aAEvB,GAAIhC,KAAKyE,QAAU,WAAY,CAC7BinC,EAAS3pC,UAAUC,IAAI,W,CAGzB0pC,EAAS3pC,UAAUC,IAAI,kB,CAGzB,GAAIhC,KAAKoE,OAAS,OAAQ,CACxBoY,SAASyP,iBAAiB,QAASjsB,KAAKiiC,mB,CAG1CjiC,KAAKgqC,kB,CAGP,gBAAAA,GACE,GAAIhqC,KAAK2rC,WAAY,CACnB,MAAMljB,EAAQzoB,KAAK4B,GAAG68B,WAAW58B,cAAc,SAG/C,MAAM+pC,EAAkBrkC,KAAK6c,IAAIpkB,KAAK2rC,WAAW3hB,YAAc,GAAIhqB,KAAK0oC,UACxEjgB,EAAM3a,MAAM7F,MAAQ,GAAG2jC,K,EAI3B,kBAAAC,GACE7rC,KAAKuqC,aAAa7a,O,CAQpB,MAAA1rB,GACE,OACEC,EAAA,OAAAC,IAAA,2CAAKC,MAAO,mBACVF,EAAK,OAAAC,IAAA,2CAAAC,MAAO,oBACTnE,KAAK0P,WACJzL,EAAA0K,EAAA,KACG3O,KAAKqkC,YACJpgC,EAAA,KAAGE,MAAM,wBAAwBnE,KAAK8B,MAAMk0B,OAAO,GAAG4Q,cAAgB5mC,KAAK8B,MAAMmZ,MAAM,GAAGnT,eAE1F7D,EAAA,KAAGE,MAAM,wBAAwBnE,KAAK8B,QAI3C9B,KAAKoE,OAAS,WAAa,CAC1BH,EAAK,OAAAC,IAAA,2CAAAC,MAAO,SAASnE,KAAKoE,QAAQpE,KAAKqE,QAAQrE,KAAKyE,SAASzE,KAAKoG,YAAc,cAAgB,MAC9FnC,EAAA,SAAAC,IAAA,2CACEC,MAAO,2BAA2BnE,KAAKoE,QAAQpE,KAAKyE,QACpDL,KAAMpE,KAAKm8B,YAAc,SAAW,OAASn8B,KAAKm8B,UAClD2P,UAAW9rC,KAAKm8B,YAAc,SAAW,UAAY/iB,UACrDoE,QAASxd,KAAKm8B,YAAc,SAAW,SAAW/iB,UAClD2yB,UAAW/rC,KAAK+rC,UAChBC,UAAWhsC,KAAKgsC,UAChBzlC,YAAavG,KAAKuG,YAAcvG,KAAKuG,YAAc,GACnDugC,QAASvkC,GAASvC,KAAK6qC,YAAYtoC,GACnC0pC,QAAS,IAAMjsC,KAAKorC,mBACpB3yB,UAAWhF,GAAKzT,KAAK2oC,qBAAqBl1B,GAC1Cy4B,QAASz4B,GAAKzT,KAAK+oC,mBAAmBt1B,GACtCgX,MAAOzqB,KAAKyqB,QAEdxmB,EAAA0K,EAAA,KACG3O,KAAKuO,SAAWtK,EAAA,OAAAC,IAAA,2CAAKC,MAAM,WAC3BnE,KAAK6nC,gBACJ5jC,EAAA,OAAAC,IAAA,2CAAK8D,MAAM,6BAA6BC,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,QACtFnE,EACE,QAAAC,IAAA,2CAAAmE,EAAE,kzFACFD,KAAK,aAIVpI,KAAKgnC,cACJ/iC,EAAK,OAAAC,IAAA,2CAAAC,MAAO,gBACRnE,KAAKoG,YACLnC,EAAA,0CAAuC,MACrCA,EAAA,QAAMO,KAAK,gBAAgBM,KAAK,UAChCb,EAAA,QAAMO,KAAK,0BAA0BM,KAAK,qBAG5Cb,EAAK,OAAA+D,MAAM,6BAA6BC,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,QACtFnE,EAAA,QACEoE,EAAE,+PACF8E,OAAO,UACM,yBAAS,iBACP,QAAO,kBACN,eAS/BnN,KAAKoE,OAAS,gBAAkB,CAC/BH,EAAK,OAAAC,IAAA,2CAAAC,MAAO,SAASnE,KAAKoE,QAAQpE,KAAKqE,QAAQrE,KAAKyE,SAASzE,KAAKoG,YAAc,cAAgB,MAC9FnC,EAAA,OAAAC,IAAA,2CAAKC,MAAO,QAAQnE,KAAKqE,QAAQrE,KAAKyE,QAASwI,UAAWjN,KAAK0N,iBAC/DzJ,EAAA,SAAAC,IAAA,2CACEC,MAAO,gBAAgBnE,KAAKqE,gBAAgBrE,KAAKoE,QAAQpE,KAAKyE,QAC9DL,KAAMpE,KAAKm8B,YAAc,SAAW,OAASn8B,KAAKm8B,UAClD2P,UAAW9rC,KAAKm8B,YAAc,SAAW,UAAY/iB,UACrDoE,QAASxd,KAAKm8B,YAAc,SAAW,SAAW/iB,UAClD2yB,UAAW/rC,KAAK+rC,UAChBC,UAAWhsC,KAAKgsC,UAChBzlC,YAAavG,KAAKuG,YAAcvG,KAAKuG,YAAc,GACnDugC,QAASvkC,GAASvC,KAAK6qC,YAAYtoC,GACnCkoB,MAAOzqB,KAAKyqB,MACZvlB,IAAKtD,GAAO5B,KAAK+kC,SAAWnjC,EAC5BqqC,QAAS,IAAMjsC,KAAKorC,mBACpB3yB,UAAWhF,GAAKzT,KAAK2oC,qBAAqBl1B,GAC1Cy4B,QAASz4B,GAAKzT,KAAK+oC,mBAAmBt1B,KAExCxP,EAAA0K,EAAA,KACG3O,KAAKuO,SAAWtK,EAAA,OAAAC,IAAA,2CAAKC,MAAM,WAC3BnE,KAAK6nC,iBAAmB7nC,KAAKoG,aAC5BnC,EAAA,OAAAC,IAAA,2CAAK8D,MAAM,6BAA6BC,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,QACtFnE,EACE,QAAAC,IAAA,2CAAAmE,EAAE,kzFACFD,KAAK,aAIVpI,KAAKgnC,cACJ/iC,EAAK,OAAAC,IAAA,2CAAAC,MAAO,gBACRnE,KAAKoG,YACLnC,EAAA,0CAAuC,MACrCA,EAAA,QAAMO,KAAK,gBAAgBM,KAAK,UAChCb,EAAA,QAAMO,KAAK,0BAA0BM,KAAK,qBAG5Cb,EAAK,OAAA+D,MAAM,6BAA6BC,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,QACtFnE,EAAA,QACEoE,EAAE,+PACF8E,OAAO,UAAS,eACH,UAAS,iBACP,QACC,8BAMzBnN,KAAKC,kBAAoBD,KAAKoG,aAC7BnC,EAAA,aAAAC,IAAA,2CACEG,KAAMrE,KAAKqE,KACXU,UAAU,gBACVC,KAAK,OACLP,MAAM,UACQ,oBACI,2CAClBF,QAAS,IAAMvE,KAAK8kC,aACpB3gC,MAAO,sBAAsBnE,KAAKqE,YAM3CrE,KAAKoE,OAAS,oBAAsB,CACnCH,EAAK,OAAAC,IAAA,2CAAAC,MAAO,SAASnE,KAAKoE,QAAQpE,KAAKqE,QAAQrE,KAAKyE,SAASzE,KAAKoG,YAAc,cAAgB,MAC9FnC,EAAK,OAAAC,IAAA,2CAAAC,MAAO,6BAA6BnE,KAAKyE,QAASF,QAAS,IAAOvE,KAAKqoC,cAAgBroC,KAAKqoC,cAC9FroC,KAAK8nC,iBACJ7jC,EAAK,OAAAC,IAAA,2CAAAC,MAAO,gBACVF,EAAK,OAAAC,IAAA,2CAAAiI,IAAI,sBAAsBe,IAAI,MAGvCjJ,EAAK,OAAAC,IAAA,2CAAAC,MAAO,iBACVF,EAAG,KAAAC,IAAA,2CAAAC,MAAO,QAAQnE,KAAKqE,eAAgByJ,MAAO,CAAExJ,MAAO,+BACpDtE,KAAK2kC,eAGV1gC,EAAK,OAAAC,IAAA,2CAAAC,MAAO,kBACVF,EAAA,OAAAC,IAAA,2CAAK8D,MAAM,6BAA6BC,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,QACtFnE,EAAA,QAAAC,IAAA,2CACEmE,EAAE,4EACF8E,OAAO,UAAS,eACH,UAAS,iBACP,QACC,+BAKxBlJ,EAAK,OAAAC,IAAA,2CAAAC,MAAO,+BACVF,EAAA,SAAAC,IAAA,2CACEC,MAAO,gBAAgBnE,KAAKqE,gBAAgBrE,KAAKoE,QAAQpE,KAAKyE,QAC9DL,KAAMpE,KAAKm8B,YAAc,SAAW,OAASn8B,KAAKm8B,UAClD2P,UAAW9rC,KAAKm8B,YAAc,SAAW,UAAY/iB,UACrDoE,QAASxd,KAAKm8B,YAAc,SAAW,SAAW/iB,UAClD2yB,UAAW/rC,KAAK+rC,UAChBC,UAAWhsC,KAAKgsC,UAChBzlC,YAAavG,KAAKuG,YAAcvG,KAAKuG,YAAc,GACnDugC,QAASvkC,GAASvC,KAAK6qC,YAAYtoC,GACnCkoB,MAAOzqB,KAAKyqB,MACZwhB,QAAS,IAAMjsC,KAAKorC,mBACpB3yB,UAAWhF,GAAKzT,KAAK2oC,qBAAqBl1B,GAC1Cy4B,QAASz4B,GAAKzT,KAAK+oC,mBAAmBt1B,KAEvCzT,KAAKuO,SAAWtK,EAAA,OAAAC,IAAA,2CAAKC,MAAM,WAC3BnE,KAAK6nC,iBAAmB7nC,KAAKoG,aAC5BnC,EAAA,OAAAC,IAAA,2CAAK8D,MAAM,6BAA6BC,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,QACtFnE,EACE,QAAAC,IAAA,2CAAAmE,EAAE,kzFACFD,KAAK,aAIVpI,KAAKgnC,cACJ/iC,EAAK,OAAAC,IAAA,2CAAAC,MAAO,gBACRnE,KAAKoG,YACLnC,EAAA,0CAAuC,MACrCA,EAAA,QAAMO,KAAK,gBAAgBM,KAAK,UAChCb,EAAA,QAAMO,KAAK,0BAA0BM,KAAK,qBAG5Cb,EAAK,OAAA+D,MAAM,6BAA6BC,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,QACtFnE,EAAA,QACEoE,EAAE,+PACF8E,OAAO,UACM,yBAAS,iBACP,QAAO,kBACN,cAQ9BlJ,EACG0K,EAAA,KAAA3O,KAAKqoC,cACJpkC,EAAK,OAAAC,IAAA,2CAAAC,MAAO,iBAAiBnE,KAAKoE,QAAQpE,KAAKqE,QAAQrE,KAAKinC,eAAgB/hC,IAAKtD,GAAO5B,KAAKknC,YAActlC,GACxG5B,KAAKghB,QAAQjX,KAAI6xB,GAChB33B,EACE,+BAAAG,KAAK,UACLK,MAAOzE,KAAKghB,QAAQtZ,SAAW,EAAIhD,EAAUy+B,SAAWz+B,EAAUC,QAClEkN,SAAU7R,KAAK4lC,eAAehK,GAC9Br3B,QAAS,IAAMvE,KAAKimC,iBAAiBrK,IAErC33B,EAAG,KAAAa,KAAK,QAAQ82B,SAO3B57B,KAAKoE,OAAS,qBAAuB,CACpCH,EAAK,OAAAC,IAAA,2CAAAC,MAAO,SAASnE,KAAKoE,QAAQpE,KAAKqE,QAAQrE,KAAKyE,SAASzE,KAAKoG,YAAc,cAAgB,MAC9FnC,EAAK,OAAAC,IAAA,2CAAAC,MAAO,6BACVF,EAAA,KAAAC,IAAA,2CAAGC,MAAO,QAAQnE,KAAKqE,eAAgByJ,MAAO,CAAExJ,MAAO,+BAEnD,KACJL,EAAA,SAAAC,IAAA,2CACEC,MAAO,gBAAgBnE,KAAKqE,gBAAgBrE,KAAKoE,QAAQpE,KAAKyE,QAC9DL,KAAMpE,KAAKm8B,YAAc,SAAW,OAASn8B,KAAKm8B,UAClD2P,UAAW9rC,KAAKm8B,YAAc,SAAW,UAAY/iB,UACrDoE,QAASxd,KAAKm8B,YAAc,SAAW,SAAW/iB,UAClD2yB,UAAW/rC,KAAK+rC,UAChBC,UAAWhsC,KAAKgsC,UAChBzlC,YAAavG,KAAKuG,YAAcvG,KAAKuG,YAAc,GACnDugC,QAASvkC,GAASvC,KAAK6qC,YAAYtoC,GACnCkoB,MAAOzqB,KAAKyqB,MACZwhB,QAAS,IAAMjsC,KAAKorC,mBACpB3yB,UAAWhF,GAAKzT,KAAK2oC,qBAAqBl1B,GAC1Cy4B,QAASz4B,GAAKzT,KAAK+oC,mBAAmBt1B,KAGvCzT,KAAKuO,SAAWtK,EAAA,OAAAC,IAAA,2CAAKC,MAAM,WAC3BnE,KAAKgnC,cACJ/iC,EAAK,OAAAC,IAAA,2CAAAC,MAAO,gBACRnE,KAAKoG,YACLnC,EAAA,0CAAuC,MACrCA,EAAA,QAAMO,KAAK,gBAAgBM,KAAK,UAChCb,EAAA,QAAMO,KAAK,0BAA0BM,KAAK,qBAG5Cb,EAAK,OAAA+D,MAAM,6BAA6BC,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,QACtFnE,EAAA,QACEoE,EAAE,+PACF8E,OAAO,UACM,yBACE,yBAAO,kBACN,aAO5BlJ,EAAA,OAAAC,IAAA,2CAAKC,MAAO,6BAA8BI,QAAS,IAAOvE,KAAKqoC,cAAgBroC,KAAKqoC,cAClFpkC,EAAK,OAAAC,IAAA,2CAAAC,MAAO,iBACVF,EAAG,KAAAC,IAAA,2CAAAC,MAAO,QAAQnE,KAAKqE,eAAgByJ,MAAO,CAAExJ,MAAO,+BACpDtE,KAAK2kC,eAGV1gC,EAAK,OAAAC,IAAA,2CAAAC,MAAO,kBACVF,EAAA,OAAAC,IAAA,2CAAK8D,MAAM,6BAA6BC,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,QACtFnE,EAAA,QAAAC,IAAA,2CACEmE,EAAE,4EACF8E,OAAO,UAAS,eACH,UAAS,iBACP,QACC,gCAM1BlJ,EAAA0K,EAAA,KACG3O,KAAKqoC,cACJpkC,EAAA,OAAAC,IAAA,2CAAKC,MAAO,iBAAiBnE,KAAKoE,QAAQpE,KAAKqE,QAAQrE,KAAKinC,eAAgB/hC,IAAKtD,GAAO5B,KAAKknC,YAActlC,GACxG5B,KAAKghB,QAAQjX,KAAI6xB,GAChB33B,EAAA,+BAA6BG,KAAK,UAAUK,MAAOC,EAAUC,QAASkN,SAAU7R,KAAK4lC,eAAehK,GAASr3B,QAAS,IAAMvE,KAAKimC,iBAAiBrK,IAChJ33B,EAAG,KAAAa,KAAK,QAAQ82B,SAO3B57B,KAAKoE,OAAS,gBAAkB,CAC/BH,EAAK,OAAAC,IAAA,2CAAAC,MAAM,sBACTF,EAAK,OAAAC,IAAA,2CAAAC,MAAO,UAIVF,EAAA,QAAAC,IAAA,2CAAMM,KAAK,UAEbP,EAAK,OAAAC,IAAA,2CAAAC,MAAO,SAASnE,KAAKoE,QAAQpE,KAAKqE,QAAQrE,KAAKyE,SAASzE,KAAKoG,YAAc,cAAgB,MAC9FnC,EAAA,SAAAC,IAAA,2CACEC,MAAO,gBAAgBnE,KAAKqE,gBAAgBrE,KAAKoE,QAAQpE,KAAKyE,QAC9DL,KAAMpE,KAAKm8B,YAAc,SAAW,OAASn8B,KAAKm8B,UAClD2P,UAAW9rC,KAAKm8B,YAAc,SAAW,UAAY/iB,UACrDoE,QAASxd,KAAKm8B,YAAc,SAAW,SAAW/iB,UAClD2yB,UAAW/rC,KAAK+rC,UAChBC,UAAWhsC,KAAKgsC,UAChBzlC,YAAavG,KAAKuG,YAAcvG,KAAKuG,YAAc,GACnDugC,QAASvkC,GAASvC,KAAK6qC,YAAYtoC,GACnCkoB,MAAOzqB,KAAKyqB,MACZwhB,QAAS,IAAMjsC,KAAKorC,mBACpB3yB,UAAWhF,GAAKzT,KAAK2oC,qBAAqBl1B,GAC1Cy4B,QAASz4B,GAAKzT,KAAK+oC,mBAAmBt1B,KAGvCzT,KAAKuO,SAAWtK,EAAA,OAAAC,IAAA,2CAAKC,MAAM,WAC3BnE,KAAK6nC,iBAAmB7nC,KAAKoG,aAC5BnC,EAAA,OAAAC,IAAA,2CAAK8D,MAAM,6BAA6BC,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,QACtFnE,EACE,QAAAC,IAAA,2CAAAmE,EAAE,kzFACFD,KAAK,aAIVpI,KAAKgnC,cACJ/iC,EAAK,OAAAC,IAAA,2CAAAC,MAAO,gBACRnE,KAAKoG,YACLnC,EAAA,0CAAuC,MACrCA,EAAA,QAAMO,KAAK,gBAAgBM,KAAK,UAChCb,EAAA,QAAMO,KAAK,0BAA0BM,KAAK,qBAG5Cb,EAAK,OAAA+D,MAAM,6BAA6BC,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,QACtFnE,EAAA,QACEoE,EAAE,+PACF8E,OAAO,UACM,yBAAS,iBACP,QAAO,kBACN,eAS/BnN,KAAKoE,OAAS,iBACbH,EAAA,OAAAC,IAAA,2CAAKC,MAAO,SAASnE,KAAKoE,QAAQpE,KAAKqE,QAAQrE,KAAKyE,SAASzE,KAAKoG,YAAc,cAAgB,MAC9FnC,EAAA,OAAAC,IAAA,2CAAK8D,MAAM,6BAA6BC,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,QACtFnE,EACY,QAAAC,IAAA,iEACA,sBACVmE,EAAE,4XACFD,KAAK,YAEPnE,EACY,QAAAC,IAAA,iEACA,sBACVmE,EAAE,gTACFD,KAAK,YAEPnE,EAAA,QAAAC,IAAA,uDACY,UAAS,YACT,UACVmE,EAAE,iNACFD,KAAK,aAGTnE,EAAA,SAAAC,IAAA,2CACEC,MAAO,gBAAgBnE,KAAKqE,gBAAgBrE,KAAKoE,QAAQpE,KAAKyE,QAC9DL,KAAMpE,KAAKm8B,YAAc,SAAW,OAASn8B,KAAKm8B,UAClD2P,UAAW9rC,KAAKm8B,YAAc,SAAW,UAAY/iB,UACrDoE,QAASxd,KAAKm8B,YAAc,SAAW,SAAW/iB,UAClD2yB,UAAW/rC,KAAK+rC,UAChBC,UAAWhsC,KAAKgsC,UAChBzlC,YAAavG,KAAKuG,YAAcvG,KAAKuG,YAAc,GACnDugC,QAASvkC,GAASvC,KAAK6qC,YAAYtoC,GACnCkoB,MAAOzqB,KAAKyqB,MACZwhB,QAAS,IAAMjsC,KAAKorC,mBACpB3yB,UAAWhF,GAAKzT,KAAK2oC,qBAAqBl1B,GAC1Cy4B,QAASz4B,GAAKzT,KAAK+oC,mBAAmBt1B,KAExCxP,EAAA0K,EAAA,KACG3O,KAAKuO,SAAWtK,EAAA,OAAAC,IAAA,2CAAKC,MAAM,WAC3BnE,KAAK6nC,iBAAmB7nC,KAAKoG,aAC5BnC,EAAA,OAAAC,IAAA,2CAAK8D,MAAM,6BAA6BC,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,QACtFnE,EACE,QAAAC,IAAA,2CAAAmE,EAAE,kzFACFD,KAAK,aAIVpI,KAAKgnC,cACJ/iC,EAAK,OAAAC,IAAA,2CAAAC,MAAO,gBACRnE,KAAKoG,YACLnC,EAAA,0CAAuC,MACrCA,EAAA,QAAMO,KAAK,gBAAgBM,KAAK,UAChCb,EAAA,QAAMO,KAAK,0BAA0BM,KAAK,qBAG5Cb,EAAK,OAAA+D,MAAM,6BAA6BC,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,QACtFnE,EACE,QAAAoE,EAAE,+PACF8E,OAAO,UAAS,eACH,UAAS,iBACP,QACC,gCAS/BnN,KAAKoE,OAAS,mBACbH,EAAA,OAAAC,IAAA,2CAAKC,MAAO,SAASnE,KAAKoE,QAAQpE,KAAKqE,QAAQrE,KAAKyE,SAASzE,KAAKoG,YAAc,cAAgB,MAC9FnC,EAAA,OAAAC,IAAA,2CAAKC,MAAO,8BAA8BnE,KAAKqE,QAC7CJ,EAAA,SAAAC,IAAA,2CACEC,MAAO,gBAAgBnE,KAAKqE,gBAAgBrE,KAAKoE,QAAQpE,KAAKyE,QAC9DL,KAAMpE,KAAKm8B,YAAc,SAAW,OAASn8B,KAAKm8B,UAClD2P,UAAW9rC,KAAKm8B,YAAc,SAAW,UAAY/iB,UACrDoE,QAASxd,KAAKm8B,YAAc,SAAW,SAAW/iB,UAClD2yB,UAAW/rC,KAAK+rC,UAChBC,UAAWhsC,KAAKgsC,UAChBzlC,YAAavG,KAAKuG,YAAcvG,KAAKuG,YAAc,GACnDugC,QAASvkC,GAASvC,KAAK6qC,YAAYtoC,GACnC2C,IAAKtD,GAAO5B,KAAK+kC,SAAWnjC,EAC5B6oB,MAAOzqB,KAAKyqB,MACZwhB,QAAS,IAAMjsC,KAAKorC,mBACpB3yB,UAAWhF,GAAKzT,KAAK2oC,qBAAqBl1B,GAC1Cy4B,QAASz4B,GAAKzT,KAAK+oC,mBAAmBt1B,KAGvCzT,KAAKuO,SAAWtK,EAAA,OAAAC,IAAA,2CAAKC,MAAM,WAC3BnE,KAAK6nC,iBAAmB7nC,KAAKoG,aAC5BnC,EAAA,OAAAC,IAAA,2CAAK8D,MAAM,6BAA6BC,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,QACtFnE,EACE,QAAAC,IAAA,2CAAAmE,EAAE,kzFACFD,KAAK,aAIVpI,KAAKgnC,cACJ/iC,EAAK,OAAAC,IAAA,2CAAAC,MAAO,gBACRnE,KAAKoG,YACLnC,EAAA,0CAAuC,MACrCA,EAAA,QAAMO,KAAK,gBAAgBM,KAAK,UAChCb,EAAA,QAAMO,KAAK,0BAA0BM,KAAK,qBAG5Cb,EAAK,OAAA+D,MAAM,6BAA6BC,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,QACtFnE,EAAA,QACEoE,EAAE,+PACF8E,OAAO,UACM,yBACE,yBAAO,kBACN,aAO3BnN,KAAKuO,SAAWtK,EAAA,OAAAC,IAAA,2CAAKC,MAAM,WAC5BF,EACE,aAAAC,IAAA,2CAAAG,KAAK,KACLU,UAAU,gBACVC,KAAK,OACLP,MAAOzE,KAAKyE,QAAU,WAAa,WAAa,UAAS,eAC3C,KACK,oBAAAzE,KAAKikC,SACxB1/B,QAAS,IAAMvE,KAAK2S,qBAIzB3S,KAAKoE,OAAS,YACbH,EAAA,OAAAC,IAAA,2CAAKC,MAAO,kBAAkBnE,KAAKoE,QAAQpE,KAAKqE,QAAQrE,KAAKyE,SAASzE,KAAKoG,YAAc,cAAgB,MACvGnC,EAAK,OAAAC,IAAA,2CAAAC,MAAO,oBACVF,EAAA,SAAAC,IAAA,2CACEC,MAAO,gBAAgBnE,KAAKqE,gBAAgBrE,KAAKoE,QAAQpE,KAAKyE,QAC9DL,KAAMpE,KAAKooC,kBAAoB,OAAS,WACxC7hC,YAAavG,KAAKuG,YAAcvG,KAAKuG,YAAc,GACnDugC,QAASvkC,GAASvC,KAAK6qC,YAAYtoC,GACnC0pC,QAAS,IAAMjsC,KAAKorC,qBAErBprC,KAAKuO,SAAWtK,EAAA,OAAAC,IAAA,2CAAKC,MAAM,WAC3BnE,KAAK6nC,iBAAmB7nC,KAAKoG,aAC5BnC,EAAA,OAAAC,IAAA,2CAAK8D,MAAM,6BAA6BC,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,QACtFnE,EACE,QAAAC,IAAA,2CAAAmE,EAAE,kzFACFD,KAAK,aAIVpI,KAAKgnC,cACJ/iC,EAAK,OAAAC,IAAA,2CAAAC,MAAO,gBACRnE,KAAKoG,YACLnC,EAAA,0CAAuC,MACrCA,EAAA,QAAMO,KAAK,gBAAgBM,KAAK,UAChCb,EAAA,QAAMO,KAAK,0BAA0BM,KAAK,qBAG5Cb,EAAK,OAAA+D,MAAM,6BAA6BC,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,QACtFnE,EAAA,QACEoE,EAAE,+PACF8E,OAAO,UACM,yBACE,yBAAO,kBACN,aAO5BlJ,EAAK,OAAAC,IAAA,2CAAAC,MAAO,YACVF,EAAA,sBAAAC,IAAA,2CAAoBK,QAAS,IAAMvE,KAAKqrC,+BAI7CrrC,KAAKoE,OAAS,yBACbH,EAAA,OAAAC,IAAA,2CAAKC,MAAO,qCAAqCnE,KAAKoE,QAAQpE,KAAKqE,QAAQrE,KAAKyE,SAASzE,KAAKoG,YAAc,cAAgB,MAC1HnC,EAAK,OAAAC,IAAA,2CAAAC,MAAO,iCACVF,EAAA,OAAAC,IAAA,2CAAK8D,MAAM,6BAA6BC,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,QACtFnE,EACE,QAAAC,IAAA,2CAAAmE,EAAE,+9FACFD,KAAK,gCAGTnE,EACE,SAAAC,IAAA,2CAAAC,MAAO,gBAAgBnE,KAAKqE,gBAAgBrE,KAAKoE,QAAQpE,KAAKyE,QAC9DL,KAAMpE,KAAKooC,kBAAoB,OAAS,WACxC7hC,YAAavG,KAAKuG,YAAcvG,KAAKuG,YAAc,GACnDugC,QAASvkC,GAASvC,KAAK6qC,YAAYtoC,MAGtCvC,KAAKuO,SAAWtK,EAAA,OAAAC,IAAA,2CAAKC,MAAM,WAC3BnE,KAAK6nC,iBAAmB7nC,KAAKoG,aAC5BnC,EAAA,OAAAC,IAAA,2CAAK8D,MAAM,6BAA6BC,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,QACtFnE,EACE,QAAAC,IAAA,2CAAAmE,EAAE,kzFACFD,KAAK,aAIVpI,KAAKgnC,cACJ/iC,EAAK,OAAAC,IAAA,2CAAAC,MAAO,gBACRnE,KAAKoG,YACLnC,EAAA,0CAAuC,MACrCA,EAAA,QAAMO,KAAK,gBAAgBM,KAAK,UAChCb,EAAA,QAAMO,KAAK,0BAA0BM,KAAK,qBAG5Cb,EAAK,OAAA+D,MAAM,6BAA6BC,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,QACtFnE,EAAA,QACEoE,EAAE,+PACF8E,OAAO,UAAS,eACH,UAAS,iBACP,QACC,8BAM1BlJ,EAAoB,sBAAAC,IAAA,2CAAAK,QAAS,IAAMvE,KAAKqrC,8BAG3CrrC,KAAKoE,OAAS,SAAW,CACxBH,EAAK,OAAAC,IAAA,2CAAAC,MAAO,eACVF,EAAA,OAAAC,IAAA,2CAAKC,MAAO,oBAAoBnE,KAAKoG,YAAc,cAAgB,MAAMpG,KAAKyE,SAC5ER,EAAA,SAAAC,IAAA,2CACEC,MAAO,gBAAgBnE,KAAKqE,gBAAgBrE,KAAKoE,QAAQpE,KAAKyE,QAC9DL,KAAMpE,KAAKm8B,YAAc,SAAW,OAASn8B,KAAKm8B,UAClD2P,UAAW9rC,KAAKm8B,YAAc,SAAW,UAAY/iB,UACrDoE,QAASxd,KAAKm8B,YAAc,SAAW,SAAW/iB,UAClD2yB,UAAW/rC,KAAK+rC,UAChBC,UAAWhsC,KAAKgsC,UAChBzlC,YAAavG,KAAKuG,YAAcvG,KAAKuG,YAAc,GACnDugC,QAASvkC,GAASvC,KAAK6qC,YAAYtoC,GACnCkoB,MAAOzqB,KAAKyqB,MACZwhB,QAAS,IAAMjsC,KAAKorC,mBACpB3yB,UAAWhF,GAAKzT,KAAK2oC,qBAAqBl1B,GAC1Cy4B,QAASz4B,GAAKzT,KAAK+oC,mBAAmBt1B,KAEvCzT,KAAKuO,SAAWtK,EAAA,OAAAC,IAAA,2CAAKC,MAAM,WAC3BnE,KAAKgnC,cACJ/iC,EAAK,OAAAC,IAAA,2CAAAC,MAAO,gBACRnE,KAAKoG,YACLnC,EAAA,0CAAuC,MACrCA,EAAA,QAAMO,KAAK,gBAAgBM,KAAK,UAChCb,EAAA,QAAMO,KAAK,0BAA0BM,KAAK,qBAG5Cb,EAAK,OAAA+D,MAAM,6BAA6BC,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,QACtFnE,EAAA,QACEoE,EAAE,+PACF8E,OAAO,UACM,yBACE,yBAAO,kBACN,aAO5BlJ,EAAA,OAAAC,IAAA,2CAAKC,MAAO,UAAUnE,KAAKyE,SACzBR,EAAA,aAAAC,IAAA,2CACEG,KAAK,KACLI,MAAOzE,KAAKyE,QAAU,WAAa,WAAa,UAChDM,UAAU,gBACVC,KAAK,OAAM,eACE,OACK,4CAClBT,QAAS,IAAMvE,KAAK2qC,yBAGtB1mC,EAAK,OAAAC,IAAA,2CAAAC,MAAM,kBACXF,EAAA,aAAAC,IAAA,2CACEG,KAAK,KACLI,MAAOzE,KAAKyE,QAAU,WAAa,WAAa,UAChDM,UAAU,gBACVC,KAAK,OAAM,eACE,OAAM,oBACD,uBAClBT,QAAS,IAAMvE,KAAKyqC,2BAK3BzqC,KAAKoE,OAAS,QACbH,EAAK,OAAAC,IAAA,2CAAAC,MAAO,eAAenE,KAAKyE,QAASS,IAAKtD,GAAO5B,KAAKmsC,kBAAoBvqC,EAAuB2C,QAAS,IAAMvE,KAAK6rC,sBACvH5nC,EAAA,OAAAC,IAAA,2CAAKC,MAAO,qBAAqBnE,KAAKqE,QAAQrE,KAAKyE,SAASzE,KAAKoG,YAAc,cAAgB,KAAM7B,QAAS,IAAOvE,KAAKskC,cAAgBtkC,KAAKskC,cAE7IrgC,EAAA,OAAAC,IAAA,2CAAKC,MAAO,mBAAmBnE,KAAKyE,QAAU,WAAa,WAAa,KAAMS,IAAKtD,GAAO5B,KAAKoqC,sBAAwBxoC,GACpH5B,KAAKyqB,MAAM/iB,SAAW,EACrBzD,EAAA0K,EAAA,KACG3O,KAAKukC,cAAcx6B,KAAI,CAACf,EAAM+G,IAC7B9L,EACG0K,EAAA,YAAO3F,IAAS,SACf/E,EAAQ,UAAAI,KAAK,KAAK0P,OAAO,UAAU/O,KAAMhF,KAAKgF,KAAOhF,KAAKgF,KAAO,SAAUT,QAAS,IAAMvE,KAAKsmC,gBAAgBv2B,IAC7G9L,EAAA,MAAIE,MAAM,qBAAqBW,KAAK,YACjCkE,EAAKkhC,WAAWjoB,MAAM,KAAKlY,KAAI88B,GAAQA,EAAK7Q,OAAO,GAAG4Q,iBAEzD3iC,EAAI,SAAA+E,EAAKkhC,WAAWjoB,MAAM,KAAK,KAGjChe,EAAA,UAAQI,KAAK,KAAK0P,OAAO,UAAU/O,KAAMhF,KAAKgF,KAAOhF,KAAKgF,KAAO,SAAUT,QAAS,IAAMvE,KAAKsmC,gBAAgBv2B,IAC7G9L,EAAA,SAAI+E,QAOd/E,EAAA0K,EAAA,KACG3O,KAAKyqB,MAAM1gB,KAAI,CAAC0Z,EAAK1T,IACpB9L,EAAA0K,EAAA,YACU8U,IAAQ,SACdxf,EAAA,UAAQI,KAAK,KAAK0P,OAAO,UAAU/O,KAAMhF,KAAKgF,KAAOhF,KAAKgF,KAAO,SAAUT,QAAS,IAAMvE,KAAKsmC,gBAAgBv2B,IAC7G9L,EAAA,MAAIE,MAAM,qBAAqBW,KAAK,YACjC2e,EAAIymB,WAAWjoB,MAAM,KAAKlY,KAAI88B,GAAQA,EAAK7Q,OAAO,GAAG4Q,iBAExD3iC,EAAI,SAAAwf,EAAIymB,WAAWjoB,MAAM,KAAK,KAGhChe,EAAA,UAAQI,KAAK,KAAK0P,OAAO,UAAU/O,KAAMhF,KAAKgF,KAAOhF,KAAKgF,KAAO,SAAUT,QAAS,IAAMvE,KAAKsmC,gBAAgBv2B,IAC7G9L,EAAI,SAAAwf,QAOhBxf,EAAM,QAAAC,IAAA,2CAAAC,MAAM,cAAce,IAAKtD,GAAO5B,KAAK2rC,WAAa/pC,GACrD5B,KAAKglC,YAAc,MAEtB/gC,EAAK,OAAAC,IAAA,2CAAAC,MAAM,eACTF,EACE,SAAAC,IAAA,2CAAAwI,GAAI1M,KAAKmG,UACThC,MAAO,mBAAmBnE,KAAKqE,gBAAgBrE,KAAKyE,QACpDL,KAAK,OAELqmB,MAAOzqB,KAAKglC,WACZoH,SAAUpsC,KAAKgoC,WACf9iC,IAAKtD,GAAO5B,KAAKuqC,aAAe3oC,EAChCurB,OAAQ,IAAMntB,KAAKwqC,sBACnB1D,QAASvkC,GAASvC,KAAK+pC,eAAexnC,GACtC0pC,QAAS,IAAMjsC,KAAKorC,wBAyC3BprC,KAAKqoC,cACJpkC,EAAA,OAAAC,IAAA,2CAAKC,MAAO,sBAAsBnE,KAAKwoC,KAAO,OAAS,MAAMxoC,KAAKinC,gBAC/DjnC,KAAKioC,QAAQl+B,KAAIf,GAChB/E,EACE,+BAAAG,KAAK,WACY,uBACjBK,MAAOC,EAAUC,QACjBJ,QAAS,IAAMvE,KAAKiqC,mBAAmBjhC,GACvC6I,SAAU7R,KAAKwrC,kBAAkBxiC,WAEzBA,IAAS,SACb,CAAC/E,EAAG,KAAAa,KAAK,QAAQkE,EAAKkhC,YAAiBjmC,EAAA,KAAGa,KAAK,mBAAmBkE,EAAKqjC,qBAChErjC,IAAS,UAAY/E,EAAA,KAAGa,KAAK,QAAQkE,SAQ7DhJ,KAAKonC,cAAgBnjC,EAAA0K,EAAA,MAAI3O,KAAKoG,YAAcnC,EAAA,KAAGE,MAAM,6BAA6BnE,KAAK+jC,UAAgB9/B,EAAA,KAAGE,MAAM,8BAA8BnE,KAAKokC,Y,mMCxuC5J,MAAMkI,GAAmB,u8qE,MCOZC,GAAa,MAL1B,WAAAzsC,CAAAC,G,2KAMUC,KAAUwsC,WAAqC,WAC/CxsC,KAAWoG,YAAY,MACvBpG,KAASysC,UAAY,MAGrBzsC,KAAmB0sC,oBAAY,KAC/B1sC,KAAe2sC,gBAAY,KAC3B3sC,KAAgB4sC,iBAAY,KAC5B5sC,KAAe6sC,gBAAY,KAC3B7sC,KAAegB,gBAAW,GAC1BhB,KAAgBiB,iBAAW,GAC3BjB,KAAekB,gBAAW,GAC1BlB,KAAmBuF,oBAAW,GAC9BvF,KAAoBwF,qBAAW,GAC/BxF,KAA0ByF,2BAAW,GACrCzF,KAA2B0F,4BAAW,GACtC1F,KAA0B2F,2BAAW,GACrC3F,KAA2B4F,4BAAW,GACtC5F,KAA4B6F,6BAAW,GACvC7F,KAA2B8F,4BAAW,GAGtC9F,KAAmB8sC,oBAAY,KAC/B9sC,KAAoB+sC,qBAAY,KAChC/sC,KAAYgtC,aAAY,KACxBhtC,KAAaitC,cAAW,GACvBjtC,KAA2BktC,4BAAY,MACvCltC,KAA4BmtC,6BAAY,KAuMlD,CAlMS,cAAAC,GACN,OACEnpC,EAAA,OAAKE,MAAM,6BACRnE,KAAK0sC,qBACJzoC,EAAK,OAAAE,MAAM,UACTF,EAAK,OAAAE,MAAM,cACRnE,KAAK8sC,qBACJ7oC,EAAA,aACEI,KAAK,KACLU,UAAU,gBACVC,KAAK,OAAM,eACE,OACM,oBAAAhF,KAAKuF,oBACxB4J,aAAc,IAAOnP,KAAKktC,4BAA8B,KACxD99B,aAAc,IAAOpP,KAAKktC,4BAA8B,QAG3DltC,KAAKktC,6BACJjpC,EAAwB,gCAAM6K,MAAM,cAAc3K,MAAM,6BACtDF,EAAA,KAAGa,KAAK,SAAmB,aAIjCb,EAAK,OAAAE,MAAM,eACRnE,KAAK+sC,sBACJ9oC,EAAA,aACEI,KAAK,KACLU,UAAU,gBACVC,KAAK,OAAM,eACE,OACM,oBAAAhF,KAAKwF,qBACxB2J,aAAc,IAAOnP,KAAKmtC,6BAA+B,KACzD/9B,aAAc,IAAOpP,KAAKmtC,6BAA+B,QAG5DntC,KAAKmtC,8BACJlpC,EAAwB,gCAAM6K,MAAM,eAAe3K,MAAM,8BACvDF,EAAA,KAAGa,KAAK,SAAmB,aAIhC9E,KAAKgtC,cACJ/oC,EAAa,eAAAxC,QAAS,MAAO8O,cAAe,MAAOlM,KAAK,KAAKD,KAAK,WAAWK,MAAM,UAAUG,KAAM,KAAI,kBAAkB,SACvHX,EAAG,KAAAa,KAAK,SAAS9E,KAAKitC,iBAM9BhpC,EAAK,OAAAE,MAAM,SACRnE,KAAK6sC,iBACJ5oC,EAAK,OAAAE,MAAM,mBACTF,EAAA,aACEmC,YAAapG,KAAKoG,YAClB/B,KAAK,KACLU,UAAU,iBACVC,KAAK,UACLP,MAAM,UAAS,eACDzE,KAAK2F,2BAA6B,KAAO,MACpC,oBAAA3F,KAAK2F,2BACT,gBAAA3F,KAAK8F,4BAA8B,KAAO,MACrC,qBAAA9F,KAAK8F,4BACzBvB,QAAS,IAAMvE,KAAKiD,wBAEpBgB,EAAA,SAAIjE,KAAKkB,mBAIdlB,KAAK4sC,kBACJ3oC,EAAK,OAAAE,MAAM,mBACTF,EAAA,aACEmC,YAAapG,KAAKoG,YAClB/B,KAAK,KACLU,UAAU,kBACVC,KAAK,UACLP,MAAM,UAAS,eACDzE,KAAK0F,4BAA8B,KAAO,MACrC,oBAAA1F,KAAK0F,4BACT,gBAAA1F,KAAK6F,6BAA+B,KAAO,MACtC,qBAAA7F,KAAK6F,6BACzBtB,QAAS,IAAMvE,KAAK8C,yBAEpBmB,EAAA,SAAIjE,KAAKiB,oBAIdjB,KAAK2sC,iBACJ1oC,EAAK,OAAAE,MAAM,mBACTF,EAAA,aACEmC,YAAapG,KAAKoG,YAClB/B,KAAK,KACLU,UAAU,UACVC,KAAK,UACLP,MAAM,UAAS,eACDzE,KAAKyF,2BAA6B,KAAO,MACpC,oBAAAzF,KAAKyF,2BACT,gBAAAzF,KAAK4F,4BAA8B,KAAO,MACrC,qBAAA5F,KAAK4F,4BACzBrB,QAAS,IAAMvE,KAAK2C,wBAEpBsB,EAAI,SAAAjE,KAAKgB,oB,CASf,YAAAqsC,GACN,OACEppC,EAAA,OAAKE,MAAM,2BACTF,EAAK,OAAAE,MAAM,UACTF,EAAA,aACEmC,YAAapG,KAAKoG,YAClB/B,KAAK,KACLU,UAAU,iBACVC,KAAK,UACLP,MAAM,UAAS,eACDzE,KAAK0F,4BAA8B,KAAO,MACrC,oBAAA1F,KAAK0F,4BACT,gBAAA1F,KAAK6F,6BAA+B,KAAO,MACtC,qBAAA7F,KAAK6F,6BACzBtB,QAAS,IAAMvE,KAAK8C,yBAEpBmB,EAAA,SAAIjE,KAAKiB,oBAGbgD,EAAK,OAAAE,MAAM,UACTF,EAAA,aACEmC,YAAapG,KAAKoG,YAClB/B,KAAK,KACLU,UAAU,UACVC,KAAK,UACLP,MAAM,UAAS,eACDzE,KAAKyF,2BAA6B,KAAO,MACpC,oBAAAzF,KAAKyF,2BACT,gBAAAzF,KAAK4F,4BAA8B,KAAO,MACrC,qBAAA5F,KAAK4F,4BACzBrB,QAAS,IAAMvE,KAAK2C,wBAEpBsB,EAAI,SAAAjE,KAAKgB,mB,CAOX,YAAAssC,GACN,OACErpC,EAAA,OAAKE,MAAM,2BACTF,EAAA,OAAKE,MAAO,iBAAiBnE,KAAKysC,UAAY,aAAe,MAC3DxoC,EAAA,aACEmC,YAAapG,KAAKoG,YAClB/B,KAAK,KACLU,UAAU,UACVC,KAAK,UACLP,MAAM,UAAS,eACDzE,KAAKyF,2BAA6B,KAAO,MACpC,oBAAAzF,KAAKyF,2BACT,gBAAAzF,KAAK4F,4BAA8B,KAAO,MACrC,qBAAA5F,KAAK4F,4BACzBrB,QAAS,IAAMvE,KAAK2C,wBAEpBsB,EAAI,SAAAjE,KAAKgB,mB,CAOnB,oBAAA2B,GACE3C,KAAK6C,mBAAmBH,M,CAG1B,qBAAAI,GACE9C,KAAKgD,oBAAoBN,M,CAG3B,oBAAAO,GACEjD,KAAKmD,mBAAmBT,M,CAG1B,MAAAsB,GACE,OAAQhE,KAAKwsC,YACX,IAAK,SACH,OAAOxsC,KAAKstC,eACd,IAAK,SACH,OAAOttC,KAAKqtC,eACd,IAAK,WACL,QACE,OAAOrtC,KAAKotC,iB,eCvOpB,MAAMG,GAAmB,knpE,MCQZC,GAAa,MAL1B,WAAA1tC,CAAAC,G,+DAMUC,KAAI4E,KAAW,GACE5E,KAAmBytC,oBAAyB,OAiBtE,CAdC,MAAAzpC,GACE,MAAM0pC,EAAc1tC,KAAKytC,sBAAwB,OAAS,oBAAsB,qBAChF,MAAME,EAAa3tC,KAAKytC,sBAAwB,OAAS,+BAAiC,QAE1F,MAAMp/B,EAASpK,EAAiB,mBAAAC,IAAA,2CAAAC,MAAOupC,EAAarpC,KAAK,KAAKC,MAAM,SAEpE,OACEL,EAAA,OAAAC,IAAA,2CAAKC,MAAM,aACRnE,KAAKytC,sBAAwB,QAAUp/B,EACxCpK,EAAG,KAAAC,IAAA,2CAAAC,MAAO,GAAGwpC,0BAAoC3tC,KAAK4E,MACrD5E,KAAKytC,sBAAwB,SAAWp/B,E,eCvBjD,MAAMu/B,GAAc,wxC,MCQPC,GAAQ,MALrB,WAAA/tC,CAAAC,G,6DAO2BC,KAAAyP,MAA8E,CACrG,CACE3N,MAAO,QACPkD,KAAM,qBACN47B,SAAU,MACV7wB,MAAO,GAET,CACEjO,MAAO,SACPkD,KAAM,kBACN47B,SAAU,MACV7wB,MAAO,GAET,CACEjO,MAAO,SACPkD,KAAM,sBACN47B,SAAU,MACV7wB,MAAO,GAET,CACEjO,MAAO,SACPkD,KAAM,wBACN47B,SAAU,MACV7wB,MAAO,GAET,CACEjO,MAAO,SACPkD,KAAM,+BACN47B,SAAU,MACV7wB,MAAO,GAET,CACEjO,MAAO,SACPkD,KAAM,qBACN47B,SAAU,MACV7wB,MAAO,GAET,CACEjO,MAAO,SACPkD,KAAM,qBACN47B,SAAU,MACV7wB,MAAO,GAET,CACEjO,MAAO,SACPkD,KAAM,0BACN47B,SAAU,MACV7wB,MAAO,GAET,CACEjO,MAAO,SACPkD,KAAM,kBACN47B,SAAU,MACV7wB,MAAO,GAET,CACEjO,MAAO,SACPkD,KAAM,kBACN47B,SAAU,MACV7wB,MAAO,GAET,CACEjO,MAAO,SACPkD,KAAM,kBACN47B,SAAU,MACV7wB,MAAO,IAET,CACEjO,MAAO,SACPkD,KAAM,kBACN47B,SAAU,MACV7wB,MAAO,IAET,CACEjO,MAAO,SACPkD,KAAM,kBACN47B,SAAU,MACV7wB,MAAO,IAET,CACEjO,MAAO,SACPkD,KAAM,kBACN47B,SAAU,MACV7wB,MAAO,IAET,CACEjO,MAAO,SACPkD,KAAM,kBACN47B,SAAU,MACV7wB,MAAO,IAET,CACEjO,MAAO,SACPkD,KAAM,kBACN47B,SAAU,MACV7wB,MAAO,KAGH/P,KAAU2G,WAAY,KACL3G,KAAW8tC,YAAW,EAEtC9tC,KAAA2P,cAAsF,IAAI3P,KAAKyP,OAC/FzP,KAAY+tC,aAAsB,GAClC/tC,KAAaguC,cAAsB,GACnChuC,KAAQiuC,SAAY,MACpBjuC,KAAYskC,aAAY,MACxBtkC,KAAmBynC,oBAAY,MA4ChCznC,KAAYkuC,aAAG,KACrBtyB,YAAW,KACT5b,KAAKmuC,mBAAmB,GACvB,EAAE,CA8GR,CAxJC,gBAAAC,CAAiBr+B,EAAes+B,GAC9BruC,KAAKynC,oBAAsB,MAC3BznC,KAAK8tC,YAAc/9B,EACnB/P,KAAKsuC,kBAAkB5rC,KAAKqN,GAE5B,GAAIs+B,EAAS,CACXruC,KAAKynC,oBAAsB,KAC3BznC,KAAKskC,aAAe,K,EAKxB,cAAAiK,CAAersC,EAA+EssC,GAC5FjiC,QAAQ+1B,IAAIpgC,GACZlC,KAAK2P,cAAgB,IAAIzN,GAGzB0Z,YAAW,KACT5b,KAAKmuC,oBACLnuC,KAAKiuC,SAAW,IAAI,GACnB,GACHt4B,OAAOsW,iBAAiB,SAAUjsB,KAAKkuC,a,CAGzC,iBAAArmC,GAYE7H,KAAK2P,cAAgB3P,KAAKyP,K,CAS5B,gBAAA/N,GACEka,YAAW,KACT5b,KAAKmuC,oBACLnuC,KAAKiuC,SAAW,IAAI,GACnB,GACHt4B,OAAOsW,iBAAiB,SAAUjsB,KAAKkuC,a,CAGzC,oBAAA3P,GACE5oB,OAAOwW,oBAAoB,SAAUnsB,KAAKkuC,a,CAG5C,iBAAAC,GACE,MAAMM,EAAkBzuC,KAAK4B,GAAG68B,WAAW58B,cAAc,iCACzD,IAAK4sC,EAAiB,OAEtB,IAAIC,EAAiB1uC,KAAK2uC,YAAY3kB,YACtC,IAAI4kB,EAAY,EAChB,MAAMC,EAAU,GAChB,MAAMC,EAAS,GAEf,MAAMC,EAAW/yB,MAAM8Y,KAAK2Z,EAAgBl8B,iBAAiB,oBAE7Dw8B,EAASv8B,SAAQ,CAAC5Q,EAAIoO,KACpB,MAAMg/B,EAAaptC,EAAmBooB,YAAc,GACpD,GAAI4kB,EAAYI,EAAYN,EAAiB,IAAK,CAChDE,GAAaI,EACbH,EAAQ3iB,KAAKlsB,KAAK2P,cAAcK,G,KAC3B,CACL8+B,EAAO5iB,KAAKlsB,KAAK2P,cAAcK,G,KAInChQ,KAAK+tC,aAAec,EACpBtiC,QAAQ+1B,IAAItiC,KAAK+tC,cACjB/tC,KAAKguC,cAAgBc,C,CAGvB,cAAAnJ,GACE3lC,KAAKskC,cAAgBtkC,KAAKskC,Y,CAG5B,MAAAtgC,GACE,MAAMirC,EAAapjC,EAAa,8BAEhC,OACE5H,EAAA,OAAAC,IAAA,2CAAKC,MAAO,eAAenE,KAAK+U,YAAY/U,KAAK2G,WAAa,SAAW,MACtE3G,KAAK+U,WAAa,sBACjB9Q,EAAA,OAAAC,IAAA,2CAAKC,MAAM,WACTF,EAAK,OAAAC,IAAA,2CAAAiI,IAAK8iC,EAAY/hC,IAAI,MAG9BjJ,EAAK,OAAAC,IAAA,2CAAAC,MAAM,mBAETF,EAAA,OAAAC,IAAA,2CAAK4J,MAAO,CAAE8b,WAAY,SAAU1Q,SAAU,WAAYhR,OAAQ,IAAKgnC,SAAU,SAAUC,cAAe,SACvGnvC,KAAK2P,cAAc5F,KAAIq4B,GACtBn+B,EAAA,mBACEQ,MAAOzE,KAAK8tC,cAAgB1L,EAAIryB,MAAQ,SAAW,UAAS,YACjDqyB,EAAIxB,SACf7rB,SAAU/U,KAAK+U,SACf/P,KAAMo9B,EAAIp9B,KACVlD,MAAOsgC,EAAItgC,WAIjBmC,EAAA,OAAAC,IAAA,2CAAKC,MAAO,WAAWnE,KAAKskC,aAAe,QAAU,KAAMp/B,IAAKtD,GAAO5B,KAAK2uC,YAAc/sC,IACtF5B,KAAKiuC,SAAWjuC,KAAK+tC,aAAe/tC,KAAK2P,eAAe5F,KAAIq4B,GAC5Dn+B,EACE,mBAAAQ,MAAOzE,KAAK8tC,cAAgB1L,EAAIryB,MAAQ,SAAW,UAAS,YACjDqyB,EAAIxB,SACf7rB,SAAU/U,KAAK+U,SACf/P,KAAMo9B,EAAIp9B,KACVlD,MAAOsgC,EAAItgC,MACXyC,QAAS,IAAMvE,KAAKouC,iBAAiBhM,EAAIryB,WAG5C/P,KAAKiuC,UAAYjuC,KAAKguC,cAActmC,OAAS,GAC5CzD,EAAK,OAAAC,IAAA,2CAAAC,MAAM,QACTF,EAAA,mBAAAC,IAAA,2CACEO,MAAOzE,KAAKynC,oBAAsB,SAAW,UAClC,kBACX1yB,SAAU/U,KAAK+U,SACf/P,KAAK,kBACLlD,MAAM,OACNqC,MAAM,cACNI,QAAS,IAAMvE,KAAK2lC,mBAErB3lC,KAAKskC,cACJrgC,EAAK,OAAAC,IAAA,2CAAAC,MAAM,iBACRnE,KAAKguC,cAAcjkC,KAAIq4B,GACtBn+B,EAAA,mCACEe,KAAI,KACJP,MAAM,UACNkF,QAASy4B,EAAIp9B,KACblD,MAAOsgC,EAAItgC,MACXyC,QAAS,IAAMvE,KAAKouC,iBAAiBhM,EAAIryB,MAAO,c,8FCrQxE,MAAMq/B,GAAkB,oyuE,MCQXC,GAAY,MALzB,WAAAvvC,CAAAC,G,UAOUC,KAAQ4gC,SAAY,MAEpB5gC,KAAK8B,MAAW,GAChB9B,KAAIgF,KAAW,GACdhF,KAAc0N,eAAW,GACzB1N,KAAWyU,YAAY,KAyDjC,CAvDC,cAAM7G,CAASK,GACb,MAAMC,EAAWrC,EAAa,GAAGoC,KACjC,MAAM7B,QAAiBC,MAAM6B,GAC7B,MAAMC,QAAY/B,EAASxH,OAG3B,MAAMoN,EAAS,IAAIC,UACnB,MAAMC,EAASF,EAAOG,gBAAgBhE,EAAK,iBAC3C,MAAMiE,EAAaF,EAAOG,gBAG1B,MAAM+sB,EAAmBhtB,EAAWG,iBAAiB,iBACrD,MAAM+8B,EAAel9B,EAAWG,iBAAiB,cAGjD6sB,EAAiB5sB,SAAQqL,IACvBA,EAAK9b,UAAUC,IAAI,cAAc,IAGnCstC,EAAa98B,SAAQ+8B,IACnBA,EAAExtC,UAAUC,IAAI,cAAc,IAIhC,MAAMyQ,EAAcL,EAAWM,UAG/B1S,KAAK0N,eAAiB+E,C,CAGxB,iBAAA5K,GACE7H,KAAK4N,SAAS5N,KAAKgF,K,CAGrB,MAAAhB,GACE,OACEC,EAAK,OAAAC,IAAA,2CAAAC,MAAO,oBAAoBnE,KAAK+U,YAAY/U,KAAKyE,QAAS0K,aAAc,IAAOnP,KAAKyU,YAAc,KAAOrF,aAAc,IAAOpP,KAAKyU,YAAc,OACpJxQ,EAAK,OAAAC,IAAA,2CAAAC,MAAO,mBACTnE,KAAKgF,MAAQf,EAAA,OAAAC,IAAA,2CAAKC,MAAO,QAAQnE,KAAK+U,YAAY/U,KAAKyE,QAASwI,UAAWjN,KAAK0N,kBAC/E1N,KAAK4gC,UACL38B,EAAK,OAAAC,IAAA,2CAAAC,MAAM,SACTF,EAAA,KAAAC,IAAA,2CAAGC,MAAO,cAAcnE,KAAKyE,QAAU,SAAW,oBAAsB,oBAAoBzE,KAAK+U,YAAY/U,KAAKyE,SAAUzE,KAAK8B,QAGpI9B,KAAKyE,QAAU,UAAYzE,KAAK+U,WAAa,sBAAwB9Q,EAAA,OAAAC,IAAA,2CAAKC,MAAO,OAAOnE,KAAK+U,aAC7F/U,KAAKyE,QAAU,UAAYzE,KAAK+U,WAAa,oBAAsB9Q,EAAK,OAAAC,IAAA,2CAAAC,MAAO,OAAOnE,KAAK+U,cAE7F/U,KAAK4gC,UAAY5gC,KAAKyU,aACrBxQ,EAAwB,cAAAC,IAAA,6DAAM4K,MAAM,gBAAgB3K,MAAM,WACxDF,EAAA,KAAAC,IAAA,2CAAGY,KAAK,SAAS9E,KAAK8B,Q,eClElC,MAAM0tC,GAAsB,kjC,MCOfC,GAAgB,MAL7B,WAAA3vC,CAAAC,G,6DAMUC,KAAe0vC,gBAAW,GAC1B1vC,KAAe2vC,gBAAW,GAC1B3vC,KAAW8tC,YAAW,EACtB9tC,KAAA4vC,KAA0C,CAChD,CACEprC,KAAM,WACNuL,MAAO,GAET,CACEvL,KAAM,sBACNuL,MAAO,GAET,CACEvL,KAAM,aACNuL,MAAO,GAET,CACEvL,KAAM,qBACNuL,MAAO,IAGF/P,KAAc0N,eAAW,EAmEnC,CA/DC,cAAME,CAASK,GACb,MAAMC,EAAWrC,EAAa,GAAGoC,KACjC,MAAM7B,QAAiBC,MAAM6B,GAC7B,MAAMC,QAAY/B,EAASxH,OAC3B5E,KAAK0N,eAAiBS,C,CAGxB,gBAAAigC,CAAiB7rC,GACfvC,KAAKsuC,kBAAkB5rC,KAAKH,EAAMC,O,CAGpC,iBAAAqF,GACE7H,KAAK4N,SAAS5N,KAAK2vC,gB,CAGrB,gBAAAjuC,GACE,MAAMguC,EAAkB1vC,KAAK4B,GAAGC,cAAc,6BAE9C,GAAI6tC,EAAiB,CACnBA,EAAgB3tC,UAAUC,IAAI,e,EAIlC,MAAAgC,GACE,MAAMirC,EAAapjC,EAAa,8BAmBhC,OACE5H,EAAA,OAAAC,IAAA,2CAAKC,MAAM,mBACTF,EAAA,oBAAAC,IAAA,2CACEC,MAAM,gBACNE,KAAK,KACLurC,KAAM5vC,KAAK4vC,KACXxrC,KAAK,iBAAgB,eACPpE,KAAK8tC,YACnBM,iBAAkBpuC,KAAKouC,iBAAiBvpC,KAAK7E,QAE/CiE,EAAK,OAAAC,IAAA,2CAAAC,MAAM,WACTF,EAAK,OAAAC,IAAA,2CAAAC,MAAM,mBACTF,EAAK,OAAAC,IAAA,2CAAAiI,IAAK8iC,EAAY/hC,IAAI,MAE5BjJ,EAAK,OAAAC,IAAA,2CAAAC,MAAO,mBAAoB8I,UAAWjN,KAAK0N,iBAChDzJ,EAAA,QAAAC,IAAA,2CAAMM,KAAK,sB,uCC3FrB,MAAMqrC,GAA2B,imrE,MCQpBC,GAAqB,MANlC,WAAAhwC,CAAAC,G,UAQYC,KAAK8B,MAAW,GAChB9B,KAAI+vC,KAAW,GACf/vC,KAAc0Q,eAAW,EAyBpC,CAvBG,MAAA1M,GAEI,MAAM2F,EAAUkC,EAAa,GAAG7L,KAAKgF,QAErC,OACIf,EAAA,OAAAC,IAAA,2CAAKC,MAAM,0BACPF,EAAK,OAAAC,IAAA,2CAAAC,MAAM,sBACNnE,KAAKgF,MACFf,EAAK,OAAAC,IAAA,2CAAAC,MAAM,QACPF,EAAK,OAAAC,IAAA,2CAAAiI,IAAKxC,EAASuD,IAAI,UAG/BjJ,EAAQ,SAAAC,IAAA,4CAAAlE,KAAK8B,OACbmC,EAAM,QAAAC,IAAA,2CAAAC,MAAM,QACPnE,KAAK+vC,OAGd9rC,EAAK,OAAAC,IAAA,2CAAAC,MAAM,mBACPF,EAAG,KAAAC,IAAA,2CAAAC,MAAM,mBAAmBnE,KAAK0Q,iB,eChCrD,MAAMs/B,GAAwB,iltE,MCQjBC,GAAkB,MAL/B,WAAAnwC,CAAAC,G,UAO2BC,KAAA0hC,cAAgC,EA8H1D,CA5FC,aAAAwO,GACElwC,KAAK0hC,cAAgB,E,CAGvB,gBAAAhgC,GACE,MAAMyR,EAAYnT,KAAK4B,GAAGC,cAAc,kBACxC,MAAMyH,EAAqBtJ,KAAK4B,GAAGC,cAAc,4BAEjD,GAAIsR,EAAW,CACbA,EAAUpR,UAAUC,IAAI,oB,CAG1B,GAAIsH,EAAoB,CACtBA,EAAmBvH,UAAUC,IAAI,kB,EAIrC,MAAAgC,GACE,MAAMirC,EAAapjC,EAAa,8CAChC,MAAMskC,EAAkBtkC,EAAa,wCAErC,OACE5H,EAAA,OAAAC,IAAA,2CAAKC,MAAM,yBACRnE,KAAKyE,QAAU,SAAW,CACzBR,EAAK,OAAAC,IAAA,2CAAAC,MAAO,aACVF,EAAK,OAAAC,IAAA,2CAAAC,MAAM,SACTF,EAAK,OAAAC,IAAA,2CAAAiI,IAAK8iC,EAAY/hC,IAAI,GAAG/I,MAAM,wBACnCF,EAAK,OAAAC,IAAA,2CAAAC,MAAM,eACTF,EAAK,OAAAC,IAAA,2CAAAC,MAAM,WACTF,EAAK,OAAAC,IAAA,2CAAAiI,IAAKgkC,EAAiBjjC,IAAI,YAAY/I,MAAM,cACjDF,EAAK,OAAAC,IAAA,2CAAAC,MAAM,QACTF,EAAM,QAAAC,IAAA,2CAAAM,KAAK,UACXP,EAAM,QAAAC,IAAA,2CAAAM,KAAK,yBAMrBP,EAAK,OAAAC,IAAA,2CAAAC,MAAO,UACVF,EAAA,aAAAC,IAAA,2CAAWG,KAAK,KAAKU,UAAU,iBAAiBC,KAAK,UAAUP,MAAM,WAAyB,oBAAI,oBAAoB,0BACpHR,EAAA,KAAAC,IAAA,mEAILlE,KAAKyE,QAAU,yBACdR,EAAA0K,EAAA,KACG3O,KAAK0hC,cAAch6B,OAAS,EAC3BzD,EAAA,OAAKE,MAAM,yBACTF,EAAA,OAAKE,MAAO,mBACTnE,KAAK0hC,cAAc33B,KAAIqmC,GACtBnsC,EACE,2BAAAnC,MAAOsuC,EAAatuC,MACpBiuC,KAAMK,EAAaL,KAAI,kBACNK,EAAaC,KAC9BrrC,KAAMorC,EAAaprC,UAIzBf,EAAW,aAAAI,KAAK,KAAKU,UAAU,iBAAiBC,KAAK,UAAS,eAAe,KAAwB,6CAAyBT,QAAS,IAAMvE,KAAKkwC,iBAChJjsC,EAAA,+BAEE,CAGJA,EAAK,OAAAE,MAAO,aACVF,EAAK,OAAAE,MAAM,SACTF,EAAK,OAAAkI,IAAK8iC,EAAY/hC,IAAI,GAAG/I,MAAM,wBACnCF,EAAK,OAAAE,MAAM,eACTF,EAAK,OAAAE,MAAM,WACTF,EAAK,OAAAkI,IAAKgkC,EAAiBjjC,IAAI,YAAY/I,MAAM,cACjDF,EAAK,OAAAE,MAAM,QAGTF,EAAM,QAAAO,KAAK,UACXP,EAAM,QAAAO,KAAK,yBAMrBP,EAAK,OAAAE,MAAO,UACVF,EAAA,aAAWI,KAAK,KAAKU,UAAU,iBAAiBC,KAAK,UAAUP,MAAM,WAAyB,oBAAI,oBAAoB,0BACpHR,EAAA,iC,uCC9HpB,MAAMqsC,GAAkB,kztE,MCQXC,GAAY,MALzB,WAAAzwC,CAAAC,G,2DAS2BC,KAAWwwC,YAAW,EAEtBxwC,KAAAywC,QAAoB,CAAC,GAAI,GAAI,GAAI,GAAI,KACrDzwC,KAAA0wC,iBAA6C1wC,KAAKywC,QAAQ,GAE1DzwC,KAAK2wC,MAAG,GACR3wC,KAAAiI,MAAgB0N,OAAOi7B,WAIxB5wC,KAAYkuC,aAAG,KACrBluC,KAAKiI,MAAQ0N,OAAOi7B,WACpB5wC,KAAK6wC,sBAAsB,CAgjC9B,CA7iCC,oBAAAA,GACE7wC,KAAKwT,WAAaxT,KAAKiI,MAAQ,IAAM,SAAW,S,CAGlD,uBAAA7E,GACE,GAAIpD,KAAK8wC,mBAAqB,EAAG,CAC/B,GAAI9wC,KAAKwwC,cAAgBxwC,KAAK8wC,oBAAsB9wC,KAAKwwC,YAAc,EAAG,CACxExwC,KAAKwwC,YAAcxwC,KAAKwwC,YAAc,C,CAGxCxwC,KAAK+wC,iBAAiBruC,KAAK,CAAEsuC,SAAUhxC,KAAK0wC,iBAAkBO,WAAYjxC,KAAKwwC,a,EAInF,mBAAA5sC,GACE,GAAI5D,KAAK8wC,mBAAqB,EAAG,CAC/B,GAAI9wC,KAAKwwC,cAAgB,GAAKxwC,KAAKwwC,aAAexwC,KAAK8wC,mBAAqB,EAAG,CAC7E9wC,KAAKwwC,YAAcxwC,KAAKwwC,YAAc,C,CAGxCxwC,KAAK+wC,iBAAiBruC,KAAK,CAAEsuC,SAAUhxC,KAAK0wC,iBAAkBO,WAAYjxC,KAAKwwC,a,EAInF,iBAAA3oC,GACE7H,KAAK8wC,mBAAqB9wC,KAAKkxC,WAC/BlxC,KAAK2wC,MAAQ,GAEb,GAAI3wC,KAAKkxC,YAAc,EAAG,CAExB,IAAK,IAAIlhC,EAAI,EAAGA,GAAKhQ,KAAKkxC,WAAYlhC,IAAK,CAEzChQ,KAAK2wC,MAAMzkB,KAAKlc,E,EAIpBhQ,KAAK6wC,uBACLl7B,OAAOsW,iBAAiB,SAAUjsB,KAAKkuC,cAEvCluC,KAAKmxC,gBAAkB,CAACnxC,KAAK0wC,kBAE7B1wC,KAAK+wC,iBAAiBruC,KAAK,CAAEsuC,SAAUhxC,KAAK0wC,iBAAkBO,WAAYjxC,KAAKwwC,a,CAGjF,aAAAY,GACE,MAAMC,EAAY,GAClB,GAAIrxC,KAAK8wC,oBAAsB,EAAG,CAChC,IAAK,IAAI9gC,EAAI,EAAGA,GAAKhQ,KAAK8wC,mBAAoB9gC,IAAK,CACjDqhC,EAAUnlB,KAAKlc,E,EAKnBhQ,KAAK2wC,MAAQU,C,CAQf,kBAAAC,CAAmBpvC,EAAkBssC,GAEnCxuC,KAAK8wC,mBAAqB5uC,EAC1BlC,KAAKoxC,e,CAGP,oBAAAG,CAAqBvoC,GACnBhJ,KAAK0wC,iBAAmB1nC,EAAKxG,OAC7BxC,KAAK+wC,iBAAiBruC,KAAK,CAAEsuC,SAAUhxC,KAAK0wC,iBAAkBO,WAAYjxC,KAAKwwC,a,CAGjF,cAAAgB,CAAex2B,GACbhb,KAAKwwC,YAAcx1B,EACnBhb,KAAK+wC,iBAAiBruC,KAAK,CAAEsuC,SAAUhxC,KAAK0wC,iBAAkBO,WAAYjxC,KAAKwwC,a,CAGjF,MAAAxsC,GACE,OACEC,EAAA,OAAAC,IAAA,2CAAKC,MAAO,kBAAkBnE,KAAKoE,QAAQpE,KAAKwT,cAE7CxT,KAAKoE,OAAS,gBAAkBpE,KAAKwT,aAAe,WACnDvP,EAAA0K,EAAA,KACE1K,EAAA,aAAAC,IAAA,2CACEG,KAAK,KACLU,UAAU,gBACVC,KAAK,UACLP,MAAM,UAAS,eACD,KAAI,oBACA,2BAClBF,QAAS,IAAMvE,KAAKoD,2BAEpBa,EAAA,KAAAC,IAAA,yDAGFD,EAAK,OAAAC,IAAA,2CAAAC,MAAM,sBACRnE,KAAK8wC,oBAAsB,GAC1B9wC,KAAK2wC,MAAM5mC,KAAI0nC,GACbxtC,EAA2B,6BAAAytC,MAAO1xC,KAAK0xC,MAAOjtC,MAAOzE,KAAKwwC,cAAgBiB,EAAO,SAAW,UAAWltC,QAAS,IAAMvE,KAAKwxC,eAAeC,IACxIxtC,EAAG,KAAAa,KAAK,eAAe2sC,MAG5BzxC,KAAK8wC,oBAAsB,GAC1B7sC,EAAA0K,EAAA,KACE1K,EAAA,6BAAAC,IAAA,2CAA2BwtC,MAAO1xC,KAAK0xC,MAAOjtC,MAAOzE,KAAKwwC,cAAgB,EAAI,SAAW,UAAWjsC,QAAS,IAAMvE,KAAKwxC,eAAe,IACrIvtC,EAAA,KAAAC,IAAA,2CAAGY,KAAK,eAAa,MAEvBb,EAAA,6BAAAC,IAAA,2CAA2BwtC,MAAO1xC,KAAK0xC,MAAOjtC,MAAOzE,KAAKwwC,cAAgB,EAAI,SAAW,UAAWjsC,QAAS,IAAMvE,KAAKwxC,eAAe,IACrIvtC,EAAA,KAAAC,IAAA,2CAAGY,KAAK,eAAa,MAEvBb,EAAA,6BAAAC,IAAA,2CAA2BwtC,MAAO1xC,KAAK0xC,MAAOjtC,MAAOzE,KAAKwwC,cAAgB,EAAI,SAAW,UAAWjsC,QAAS,IAAMvE,KAAKwxC,eAAe,IACrIvtC,EAAA,KAAAC,IAAA,2CAAGY,KAAK,eAAa,MAEtB9E,KAAKwwC,YAAc,GAAKxwC,KAAKwwC,aAAexwC,KAAK8wC,mBAAqB,EACrE7sC,EAA2B,6BAAAytC,MAAO1xC,KAAK0xC,MAAOjtC,MAAOzE,KAAKwwC,YAAc,GAAKxwC,KAAKwwC,aAAexwC,KAAK8wC,mBAAqB,EAAI,SAAW,WACxI7sC,EAAA,KAAGa,KAAK,eAAe9E,KAAKwwC,cAE5B,KACJvsC,EAAA,6BAAAC,IAAA,2CAA2BwtC,MAAO1xC,KAAK0xC,OACrCztC,EAAA,KAAAC,IAAA,2CAAGY,KAAK,eAAa,QAEtB9E,KAAKwwC,YAAcxwC,KAAK8wC,mBAAqB,GAAK9wC,KAAKwwC,YAAcxwC,KAAK8wC,mBAAqB,EAC9F7sC,EAAA,6BACEytC,MAAO1xC,KAAK0xC,MACZjtC,MAAOzE,KAAKwwC,YAAcxwC,KAAK8wC,mBAAqB,GAAK9wC,KAAKwwC,YAAcxwC,KAAK8wC,mBAAqB,SAAW,WAEjH7sC,EAAA,KAAGa,KAAK,eAAe9E,KAAKwwC,cAE5B,KACJvsC,EAAA,6BAAAC,IAAA,2CACEwtC,MAAO1xC,KAAK0xC,MACZjtC,MAAOzE,KAAKwwC,cAAgBxwC,KAAK8wC,mBAAqB,EAAI,SAAW,UACrEvsC,QAAS,IAAMvE,KAAKwxC,eAAexxC,KAAK8wC,mBAAqB,IAE7D7sC,EAAG,KAAAC,IAAA,2CAAAY,KAAK,eAAe9E,KAAK8wC,mBAAqB,IAEnD7sC,EAAA,6BAAAC,IAAA,2CACEwtC,MAAO1xC,KAAK0xC,MACZjtC,MAAOzE,KAAKwwC,cAAgBxwC,KAAK8wC,mBAAqB,EAAI,SAAW,UACrEvsC,QAAS,IAAMvE,KAAKwxC,eAAexxC,KAAK8wC,mBAAqB,IAE7D7sC,EAAG,KAAAC,IAAA,2CAAAY,KAAK,eAAe9E,KAAK8wC,mBAAqB,IAEnD7sC,EAAA,6BAAAC,IAAA,2CACEwtC,MAAO1xC,KAAK0xC,MACZjtC,MAAOzE,KAAKwwC,cAAgBxwC,KAAK8wC,mBAAqB,SAAW,UACjEvsC,QAAS,IAAMvE,KAAKwxC,eAAexxC,KAAK8wC,qBAExC7sC,EAAG,KAAAC,IAAA,2CAAAY,KAAK,eAAe9E,KAAK8wC,uBAKpC7sC,EAAA,aAAAC,IAAA,2CACEG,KAAK,KACLU,UAAU,gBACVC,KAAK,UACLP,MAAM,UAAS,gBACA,KAAI,qBACA,4BACnBF,QAAS,IAAMvE,KAAK4D,uBAEpBK,EAAW,KAAAC,IAAA,sDAIhBlE,KAAKoE,OAAS,+BAAiCpE,KAAKwT,aAAe,WAClEvP,EAAA0K,EAAA,KACE1K,EAAA,aAAAC,IAAA,2CACEG,KAAK,KACLU,UAAU,iBACVC,KAAK,UACLP,MAAM,UAAS,eACD,KAAI,oBACA,2BAClBF,QAAS,IAAMvE,KAAKoD,2BAEpBa,EAAA,KAAAC,IAAA,yDAEFD,EAAK,OAAAC,IAAA,2CAAAC,MAAM,sBACRnE,KAAK8wC,oBAAsB,GAC1B7sC,EAAA0K,EAAA,KACG3O,KAAK8wC,oBAAsB,GAC1B9wC,KAAK2wC,MAAM5mC,KAAI0nC,GACbxtC,EAA2B,6BAAAytC,MAAO1xC,KAAK0xC,MAAOjtC,MAAOzE,KAAKwwC,cAAgBiB,EAAO,SAAW,UAAWltC,QAAS,IAAMvE,KAAKwxC,eAAeC,IACxIxtC,EAAG,KAAAa,KAAK,eAAe2sC,OAKhCzxC,KAAK8wC,oBAAsB,GAC1B7sC,EAAA0K,EAAA,KACE1K,EAAA,6BAAAC,IAAA,2CAA2BwtC,MAAO1xC,KAAK0xC,MAAOjtC,MAAOzE,KAAKwwC,cAAgB,EAAI,SAAW,UAAWjsC,QAAS,IAAMvE,KAAKwxC,eAAe,IACrIvtC,EAAA,KAAAC,IAAA,2CAAGY,KAAK,eAAa,MAEvBb,EAAA,6BAAAC,IAAA,2CAA2BwtC,MAAO1xC,KAAK0xC,MAAOjtC,MAAOzE,KAAKwwC,cAAgB,EAAI,SAAW,UAAWjsC,QAAS,IAAMvE,KAAKwxC,eAAe,IACrIvtC,EAAA,KAAAC,IAAA,2CAAGY,KAAK,eAAa,MAEvBb,EAAA,6BAAAC,IAAA,2CAA2BwtC,MAAO1xC,KAAK0xC,MAAOjtC,MAAOzE,KAAKwwC,cAAgB,EAAI,SAAW,UAAWjsC,QAAS,IAAMvE,KAAKwxC,eAAe,IACrIvtC,EAAA,KAAAC,IAAA,2CAAGY,KAAK,eAAa,MAEtB9E,KAAKwwC,YAAc,GAAKxwC,KAAKwwC,aAAexwC,KAAK8wC,mBAAqB,EACrE7sC,EAA2B,6BAAAytC,MAAO1xC,KAAK0xC,MAAOjtC,MAAOzE,KAAKwwC,YAAc,GAAKxwC,KAAKwwC,aAAexwC,KAAK8wC,mBAAqB,EAAI,SAAW,WACxI7sC,EAAA,KAAGa,KAAK,eAAe9E,KAAKwwC,cAE5B,KACJvsC,EAAA,6BAAAC,IAAA,2CAA2BwtC,MAAO1xC,KAAK0xC,OACrCztC,EAAA,KAAAC,IAAA,2CAAGY,KAAK,eAAa,QAEtB9E,KAAKwwC,YAAcxwC,KAAK8wC,mBAAqB,GAAK9wC,KAAKwwC,YAAcxwC,KAAK8wC,mBAAqB,EAC9F7sC,EAAA,6BACEytC,MAAO1xC,KAAK0xC,MACZjtC,MAAOzE,KAAKwwC,YAAcxwC,KAAK8wC,mBAAqB,GAAK9wC,KAAKwwC,YAAcxwC,KAAK8wC,mBAAqB,SAAW,WAEjH7sC,EAAA,KAAGa,KAAK,eAAe9E,KAAKwwC,cAE5B,KACJvsC,EAAA,6BAAAC,IAAA,2CACEwtC,MAAO1xC,KAAK0xC,MACZjtC,MAAOzE,KAAKwwC,cAAgBxwC,KAAK8wC,mBAAqB,EAAI,SAAW,UACrEvsC,QAAS,IAAMvE,KAAKwxC,eAAexxC,KAAK8wC,mBAAqB,IAE7D7sC,EAAG,KAAAC,IAAA,2CAAAY,KAAK,eAAe9E,KAAK8wC,mBAAqB,IAEnD7sC,EAAA,6BAAAC,IAAA,2CACEwtC,MAAO1xC,KAAK0xC,MACZjtC,MAAOzE,KAAKwwC,cAAgBxwC,KAAK8wC,mBAAqB,EAAI,SAAW,UACrEvsC,QAAS,IAAMvE,KAAKwxC,eAAexxC,KAAK8wC,mBAAqB,IAE7D7sC,EAAG,KAAAC,IAAA,2CAAAY,KAAK,eAAe9E,KAAK8wC,mBAAqB,IAEnD7sC,EAAA,6BAAAC,IAAA,2CACEwtC,MAAO1xC,KAAK0xC,MACZjtC,MAAOzE,KAAKwwC,cAAgBxwC,KAAK8wC,mBAAqB,SAAW,UACjEvsC,QAAS,IAAMvE,KAAKwxC,eAAexxC,KAAK8wC,qBAExC7sC,EAAG,KAAAC,IAAA,2CAAAY,KAAK,eAAe9E,KAAK8wC,uBAKpC7sC,EAAA,aAAAC,IAAA,2CACEG,KAAK,KACLU,UAAU,iBACVC,KAAK,UACLP,MAAM,UAAS,gBACA,KAAI,qBACA,4BACnBF,QAAS,IAAMvE,KAAK4D,uBAEpBK,EAAW,KAAAC,IAAA,sDAIhBlE,KAAKoE,OAAS,gBAAkBpE,KAAKwT,aAAe,WACnDvP,EAAA0K,EAAA,KACE1K,EAAK,OAAAC,IAAA,2CAAAC,MAAM,sBACTF,EAAK,OAAAC,IAAA,2CAAAC,MAAM,gBACTF,EAAA,KAAAC,IAAA,2CAAGC,MAAO,iBAAkB2J,MAAO,CAAExJ,MAAO,+BAA8B,YAI5EL,EAAK,OAAAC,IAAA,2CAAAC,MAAO,oBACVF,EACE,qBAAAC,IAAA,2CAAAE,KAAK,UACLK,MAAM,UACNJ,KAAK,KACO,mBAAK,iBACD,MAAK,uBACC,MACN,uBAChBoL,MAAOzP,KAAKywC,QAAO,gBACL,MACdkB,uBAAwB3xC,KAAKuxC,qBAAqB1sC,KAAK7E,MACvDyqB,MAAOzqB,KAAKmxC,oBAIlBltC,EAAK,OAAAC,IAAA,2CAAAC,MAAM,sBACRnE,KAAK8wC,oBAAsB,GAC1B9wC,KAAK2wC,MAAM5mC,KAAI0nC,GACbxtC,EAA2B,6BAAAytC,MAAO1xC,KAAK0xC,MAAOjtC,MAAOzE,KAAKwwC,cAAgBiB,EAAO,SAAW,UAAWltC,QAAS,IAAMvE,KAAKwxC,eAAeC,IACxIxtC,EAAG,KAAAa,KAAK,eAAe2sC,MAG5BzxC,KAAK8wC,oBAAsB,GAC1B7sC,EAAA0K,EAAA,KACE1K,EAAA,6BAAAC,IAAA,2CAA2BwtC,MAAO1xC,KAAK0xC,MAAOjtC,MAAOzE,KAAKwwC,cAAgB,EAAI,SAAW,UAAWjsC,QAAS,IAAMvE,KAAKwxC,eAAe,IACrIvtC,EAAA,KAAAC,IAAA,2CAAGY,KAAK,eAAa,MAEvBb,EAAA,6BAAAC,IAAA,2CAA2BwtC,MAAO1xC,KAAK0xC,MAAOjtC,MAAOzE,KAAKwwC,cAAgB,EAAI,SAAW,UAAWjsC,QAAS,IAAMvE,KAAKwxC,eAAe,IACrIvtC,EAAA,KAAAC,IAAA,2CAAGY,KAAK,eAAa,MAEvBb,EAAA,6BAAAC,IAAA,2CAA2BwtC,MAAO1xC,KAAK0xC,MAAOjtC,MAAOzE,KAAKwwC,cAAgB,EAAI,SAAW,UAAWjsC,QAAS,IAAMvE,KAAKwxC,eAAe,IACrIvtC,EAAA,KAAAC,IAAA,2CAAGY,KAAK,eAAa,MAEtB9E,KAAKwwC,YAAc,GAAKxwC,KAAKwwC,aAAexwC,KAAK8wC,mBAAqB,EACrE7sC,EAA2B,6BAAAytC,MAAO1xC,KAAK0xC,MAAOjtC,MAAOzE,KAAKwwC,YAAc,GAAKxwC,KAAKwwC,aAAexwC,KAAK8wC,mBAAqB,EAAI,SAAW,WACxI7sC,EAAA,KAAGa,KAAK,eAAe9E,KAAKwwC,cAE5B,KACJvsC,EAA2B,6BAAAC,IAAA,2CAAAwtC,MAAO1xC,KAAK0xC,MAAOjtC,MAAM,WAClDR,EAAA,KAAAC,IAAA,2CAAGY,KAAK,eAAa,QAEtB9E,KAAKwwC,YAAcxwC,KAAK8wC,mBAAqB,GAAK9wC,KAAKwwC,YAAcxwC,KAAK8wC,mBAAqB,EAC9F7sC,EAAA,6BACEytC,MAAO1xC,KAAK0xC,MACZjtC,MAAOzE,KAAKwwC,YAAcxwC,KAAK8wC,mBAAqB,GAAK9wC,KAAKwwC,YAAcxwC,KAAK8wC,mBAAqB,SAAW,WAEjH7sC,EAAA,KAAGa,KAAK,eAAe9E,KAAKwwC,cAE5B,KACJvsC,EAAA,6BAAAC,IAAA,2CACEwtC,MAAO1xC,KAAK0xC,MACZjtC,MAAOzE,KAAKwwC,cAAgBxwC,KAAK8wC,mBAAqB,EAAI,SAAW,UACrEvsC,QAAS,IAAMvE,KAAKwxC,eAAexxC,KAAK8wC,mBAAqB,IAE7D7sC,EAAG,KAAAC,IAAA,2CAAAY,KAAK,eAAe9E,KAAK8wC,mBAAqB,IAEnD7sC,EAAA,6BAAAC,IAAA,2CACEwtC,MAAO1xC,KAAK0xC,MACZjtC,MAAOzE,KAAKwwC,cAAgBxwC,KAAK8wC,mBAAqB,EAAI,SAAW,UACrEvsC,QAAS,IAAMvE,KAAKwxC,eAAexxC,KAAK8wC,mBAAqB,IAE7D7sC,EAAG,KAAAC,IAAA,2CAAAY,KAAK,eAAe9E,KAAK8wC,mBAAqB,IAEnD7sC,EAAA,6BAAAC,IAAA,2CACEwtC,MAAO1xC,KAAK0xC,MACZjtC,MAAOzE,KAAKwwC,cAAgBxwC,KAAK8wC,mBAAqB,SAAW,UACjEvsC,QAAS,IAAMvE,KAAKwxC,eAAexxC,KAAK8wC,qBAExC7sC,EAAG,KAAAC,IAAA,2CAAAY,KAAK,eAAe9E,KAAK8wC,uBAKpC7sC,EAAK,OAAAC,IAAA,2CAAAC,MAAM,mBACTF,EACE,aAAAC,IAAA,2CAAAG,KAAK,KACLU,UAAU,iBACVC,KAAK,OACLP,MAAOzE,KAAKkxC,aAAe,GAAKlxC,KAAKwwC,cAAgB,EAAI,WAAaxwC,KAAKwwC,cAAgB,EAAI,WAAa,UAC9F,oBACI,+CAClBjsC,QAAS,IAAMvE,KAAKoD,4BAEtBa,EAAA,aAAAC,IAAA,2CACEG,KAAK,KACLU,UAAU,iBACVC,KAAK,OACLP,MAAOzE,KAAKwwC,cAAgBxwC,KAAK8wC,mBAAqB,WAAa9wC,KAAKwwC,cAAgB,GAAKxwC,KAAKkxC,aAAe,EAAI,WAAa,UACpH,oBACI,gDAClB3sC,QAAS,IAAMvE,KAAK4D,0BAK3B5D,KAAKoE,OAAS,8BAAgCpE,KAAKwT,aAAe,WACjEvP,EAAA0K,EAAA,KACE1K,EAAK,OAAAC,IAAA,2CAAAC,MAAM,sBACTF,EAAK,OAAAC,IAAA,2CAAAC,MAAM,gBACTF,EAAA,KAAAC,IAAA,2CAAGC,MAAO,iBAAkB2J,MAAO,CAAExJ,MAAO,+BAA8B,YAI5EL,EAAK,OAAAC,IAAA,2CAAAC,MAAO,oBACVF,EACE,qBAAAC,IAAA,2CAAAE,KAAK,UACLK,MAAO,UACPJ,KAAK,KACO,mBAAK,iBACD,MAAK,uBACC,MACP,sBACfoL,MAAOzP,KAAKywC,QAAO,gBACL,MACdkB,uBAAwB3xC,KAAKuxC,qBAAqB1sC,KAAK7E,MACvDyqB,MAAOzqB,KAAKmxC,oBAIlBltC,EAAK,OAAAC,IAAA,2CAAAC,MAAM,oBACTF,EAAG,KAAAC,IAAA,2CAAAC,MAAM,+BAA6B,QAC9BnE,KAAKwwC,YAAW,OAAMxwC,KAAK8wC,qBAGrC7sC,EAAK,OAAAC,IAAA,2CAAAC,MAAM,mBACTF,EAAW,aAAAC,IAAA,2CAAAG,KAAK,KAAKU,UAAU,iBAAiBC,KAAK,UAAUP,MAAM,UAAUF,QAAS,IAAMvE,KAAKoD,2BACjGa,EAAA,KAAAC,IAAA,yDAEFD,EAAW,aAAAC,IAAA,2CAAAG,KAAK,KAAKU,UAAU,iBAAiBC,KAAK,UAAUP,MAAM,UAAUF,QAAS,IAAMvE,KAAK4D,uBACjGK,EAAW,KAAAC,IAAA,uDAKlBlE,KAAKoE,OAAS,6BAA+BpE,KAAKwT,aAAe,WAChEvP,EAAA0K,EAAA,KACE1K,EAAK,OAAAC,IAAA,2CAAAC,MAAM,mBACTF,EAAW,aAAAC,IAAA,2CAAAG,KAAK,KAAKU,UAAU,iBAAiBC,KAAK,UAAUP,MAAM,UAAUF,QAAS,IAAMvE,KAAKoD,2BACjGa,EAAA,KAAAC,IAAA,yDAEFD,EAAW,aAAAC,IAAA,2CAAAG,KAAK,KAAKU,UAAU,iBAAiBC,KAAK,UAAUP,MAAM,UAAUF,QAAS,IAAMvE,KAAK4D,uBACjGK,EAAA,KAAAC,IAAA,sDAGJD,EAAK,OAAAC,IAAA,2CAAAC,MAAM,oBACTF,EAAG,KAAAC,IAAA,2CAAAC,MAAM,kBAAgB,QACjBnE,KAAKwwC,YAAW,OAAMxwC,KAAK8wC,qBAGrC7sC,EAAK,OAAAC,IAAA,2CAAAC,MAAM,sBACTF,EAAK,OAAAC,IAAA,2CAAAC,MAAM,gBACTF,EAAA,KAAAC,IAAA,2CAAGC,MAAO,iBAAkB2J,MAAO,CAAExJ,MAAO,+BAA8B,YAI5EL,EAAK,OAAAC,IAAA,2CAAAC,MAAO,oBACVF,EACE,qBAAAC,IAAA,2CAAAE,KAAK,UACLK,MAAO,UACPJ,KAAK,KAAI,aACG,MAAK,iBACD,MACM,6BAAK,gBACZ,MACfoL,MAAOzP,KAAKywC,QACE,sBACdkB,uBAAwB3xC,KAAKuxC,qBAAqB1sC,KAAK7E,MACvDyqB,MAAOzqB,KAAKmxC,qBAMrBnxC,KAAKoE,OAAS,+BAAiCpE,KAAKwT,aAAe,WAClEvP,EAAA0K,EAAA,KACE1K,EAAW,aAAAC,IAAA,2CAAAG,KAAK,KAAKU,UAAU,iBAAiBC,KAAK,UAAUP,MAAM,UAAUF,QAAS,IAAMvE,KAAKoD,2BACjGa,EAAA,KAAAC,IAAA,yDAEFD,EAAK,OAAAC,IAAA,2CAAAC,MAAM,oBACTF,EAAG,KAAAC,IAAA,2CAAAC,MAAM,+BAA6B,QAC9BnE,KAAKwwC,YAAW,OAAMxwC,KAAK8wC,qBAGrC7sC,EAAW,aAAAC,IAAA,2CAAAG,KAAK,KAAKU,UAAU,iBAAiBC,KAAK,UAAUP,MAAM,UAAUF,QAAS,IAAMvE,KAAK4D,uBACjGK,EAAW,KAAAC,IAAA,sDAIhBlE,KAAKoE,OAAS,mCAAqCpE,KAAKwT,aAAe,WACtEvP,EAAA0K,EAAA,KACE1K,EAAK,OAAAC,IAAA,2CAAAC,MAAM,sBACTF,EAAK,OAAAC,IAAA,2CAAAC,MAAM,gBACTF,EAAA,KAAAC,IAAA,2CAAGC,MAAO,iBAAkB2J,MAAO,CAAExJ,MAAO,+BAA8B,YAI5EL,EAAK,OAAAC,IAAA,2CAAAC,MAAO,oBACVF,EACE,qBAAAC,IAAA,2CAAAE,KAAK,UACLK,MAAO,UACPJ,KAAK,KACO,mBAAK,iBACD,MAAK,uBACC,MACP,sBACfoL,MAAOzP,KAAKywC,QAAO,gBACL,MACdkB,uBAAwB3xC,KAAKuxC,qBAAqB1sC,KAAK7E,MACvDyqB,MAAOzqB,KAAKmxC,oBAIlBltC,EAAK,OAAAC,IAAA,2CAAAC,MAAM,2BACTF,EAAA,mCAAAC,IAAA,2CAAiCc,KAAK,UAAUT,QAAS,IAAMvE,KAAKoD,2BAClEa,EAAA,KAAAC,IAAA,yDAEDlE,KAAK8wC,oBAAsB,GAC1B7sC,EAAA0K,EAAA,KACG3O,KAAK2wC,MAAM5mC,KAAI0nC,GACdxtC,EAAA,mCAAiCe,KAAK,QAAQP,MAAOzE,KAAKwwC,cAAgBiB,EAAO,SAAW,UAAWltC,QAAS,IAAOvE,KAAKwwC,YAAciB,GACxIxtC,EAAA,SAAIwtC,OAKXzxC,KAAK8wC,oBAAsB,GAC1B7sC,EAAA0K,EAAA,KACE1K,EAAA,mCAAAC,IAAA,2CAAiCc,KAAK,QAAQP,MAAOzE,KAAKwwC,cAAgB,EAAI,SAAW,UAAWjsC,QAAS,IAAOvE,KAAKwwC,YAAc,GACrIvsC,EAAA,KAAAC,IAAA,kDAEFD,EAAA,mCAAAC,IAAA,2CAAiCc,KAAK,QAAQP,MAAOzE,KAAKwwC,cAAgB,EAAI,SAAW,UAAWjsC,QAAS,IAAOvE,KAAKwwC,YAAc,GACrIvsC,EAAA,KAAAC,IAAA,kDAEFD,EAAA,mCAAAC,IAAA,2CAAiCc,KAAK,QAAQP,MAAOzE,KAAKwwC,cAAgB,EAAI,SAAW,UAAWjsC,QAAS,IAAOvE,KAAKwwC,YAAc,GACrIvsC,EAAA,KAAAC,IAAA,kDAEDlE,KAAKwwC,YAAc,GAAKxwC,KAAKwwC,aAAexwC,KAAK8wC,mBAAqB,EACrE7sC,EAAA,mCAAiCe,KAAK,QAAQP,MAAOzE,KAAKwwC,YAAc,GAAKxwC,KAAKwwC,aAAexwC,KAAK8wC,mBAAqB,EAAI,SAAW,WACxI7sC,EAAI,SAAAjE,KAAKwwC,cAET,KACJvsC,EAAiC,mCAAAC,IAAA,2CAAAc,KAAK,SACpCf,EAAA,KAAAC,IAAA,oDAEDlE,KAAKwwC,YAAcxwC,KAAK8wC,mBAAqB,GAAK9wC,KAAKwwC,YAAcxwC,KAAK8wC,mBAAqB,EAC9F7sC,EACE,mCAAAe,KAAK,QACLP,MAAOzE,KAAKwwC,YAAcxwC,KAAK8wC,mBAAqB,GAAK9wC,KAAKwwC,YAAcxwC,KAAK8wC,mBAAqB,SAAW,WAEjH7sC,EAAI,SAAAjE,KAAKwwC,cAET,KACJvsC,EAAA,mCAAAC,IAAA,2CACEc,KAAK,QACLP,MAAOzE,KAAKwwC,cAAgBxwC,KAAK8wC,mBAAqB,EAAI,SAAW,UACrEvsC,QAAS,IAAOvE,KAAKwwC,YAAcxwC,KAAK8wC,mBAAqB,GAE7D7sC,EAAA,KAAAC,IAAA,4CAAIlE,KAAK8wC,mBAAqB,IAEhC7sC,EAAA,mCAAAC,IAAA,2CACEc,KAAK,QACLP,MAAOzE,KAAKwwC,cAAgBxwC,KAAK8wC,mBAAqB,EAAI,SAAW,UACrEvsC,QAAS,IAAOvE,KAAKwwC,YAAcxwC,KAAK8wC,mBAAqB,GAE7D7sC,EAAA,KAAAC,IAAA,4CAAIlE,KAAK8wC,mBAAqB,IAEhC7sC,EAAA,mCAAAC,IAAA,2CACEc,KAAK,QACLP,MAAOzE,KAAKwwC,cAAgBxwC,KAAK8wC,mBAAqB,SAAW,UACjEvsC,QAAS,IAAOvE,KAAKwwC,YAAcxwC,KAAK8wC,oBAExC7sC,EAAA,KAAAC,IAAA,4CAAIlE,KAAK8wC,sBAIf7sC,EAAA,mCAAAC,IAAA,2CAAiCc,KAAK,WAAWT,QAAS,IAAMvE,KAAK4D,uBACnEK,EAAW,KAAAC,IAAA,uDAKlBlE,KAAKoE,OAAS,kCAAoCpE,KAAKwT,aAAe,WACrEvP,EAAA0K,EAAA,KACE1K,EAAK,OAAAC,IAAA,2CAAAC,MAAM,2BACTF,EAAA,mCAAAC,IAAA,2CAAiCc,KAAK,UAAUT,QAAS,IAAMvE,KAAKoD,2BAClEa,EAAA,KAAAC,IAAA,yDAEDlE,KAAK8wC,oBAAsB,GAC1B7sC,EAAA0K,EAAA,KACG3O,KAAK2wC,MAAM5mC,KAAI0nC,GACdxtC,EAAA,mCAAiCe,KAAK,QAAQP,MAAOzE,KAAKwwC,cAAgBiB,EAAO,SAAW,UAAWltC,QAAS,IAAOvE,KAAKwwC,YAAciB,GACxIxtC,EAAA,SAAIwtC,OAKXzxC,KAAK8wC,oBAAsB,GAC1B7sC,EAAA0K,EAAA,KACE1K,EAAA,mCAAAC,IAAA,2CAAiCc,KAAK,QAAQP,MAAOzE,KAAKwwC,cAAgB,EAAI,SAAW,UAAWjsC,QAAS,IAAOvE,KAAKwwC,YAAc,GACrIvsC,EAAA,KAAAC,IAAA,kDAEFD,EAAA,mCAAAC,IAAA,2CAAiCc,KAAK,QAAQP,MAAOzE,KAAKwwC,cAAgB,EAAI,SAAW,UAAWjsC,QAAS,IAAOvE,KAAKwwC,YAAc,GACrIvsC,EAAA,KAAAC,IAAA,kDAEFD,EAAA,mCAAAC,IAAA,2CAAiCc,KAAK,QAAQP,MAAOzE,KAAKwwC,cAAgB,EAAI,SAAW,UAAWjsC,QAAS,IAAOvE,KAAKwwC,YAAc,GACrIvsC,EAAA,KAAAC,IAAA,kDAEDlE,KAAKwwC,YAAc,GAAKxwC,KAAKwwC,aAAexwC,KAAK8wC,mBAAqB,EACrE7sC,EAAA,mCAAiCe,KAAK,QAAQP,MAAOzE,KAAKwwC,YAAc,GAAKxwC,KAAKwwC,aAAexwC,KAAK8wC,mBAAqB,EAAI,SAAW,WACxI7sC,EAAI,SAAAjE,KAAKwwC,cAET,KACJvsC,EAAiC,mCAAAC,IAAA,2CAAAc,KAAK,SACpCf,EAAA,KAAAC,IAAA,oDAEDlE,KAAKwwC,YAAcxwC,KAAK8wC,mBAAqB,GAAK9wC,KAAKwwC,YAAcxwC,KAAK8wC,mBAAqB,EAC9F7sC,EACE,mCAAAe,KAAK,QACLP,MAAOzE,KAAKwwC,YAAcxwC,KAAK8wC,mBAAqB,GAAK9wC,KAAKwwC,YAAcxwC,KAAK8wC,mBAAqB,SAAW,WAEjH7sC,EAAI,SAAAjE,KAAKwwC,cAET,KACJvsC,EAAA,mCAAAC,IAAA,2CACEc,KAAK,QACLP,MAAOzE,KAAKwwC,cAAgBxwC,KAAK8wC,mBAAqB,EAAI,SAAW,UACrEvsC,QAAS,IAAOvE,KAAKwwC,YAAcxwC,KAAK8wC,mBAAqB,GAE7D7sC,EAAA,KAAAC,IAAA,4CAAIlE,KAAK8wC,mBAAqB,IAEhC7sC,EAAA,mCAAAC,IAAA,2CACEc,KAAK,QACLP,MAAOzE,KAAKwwC,cAAgBxwC,KAAK8wC,mBAAqB,EAAI,SAAW,UACrEvsC,QAAS,IAAOvE,KAAKwwC,YAAcxwC,KAAK8wC,mBAAqB,GAE7D7sC,EAAA,KAAAC,IAAA,4CAAIlE,KAAK8wC,mBAAqB,IAEhC7sC,EAAA,mCAAAC,IAAA,2CACEc,KAAK,QACLP,MAAOzE,KAAKwwC,cAAgBxwC,KAAK8wC,mBAAqB,SAAW,UACjEvsC,QAAS,IAAOvE,KAAKwwC,YAAcxwC,KAAK8wC,oBAExC7sC,EAAA,KAAAC,IAAA,4CAAIlE,KAAK8wC,sBAIf7sC,EAAA,mCAAAC,IAAA,2CAAiCc,KAAK,WAAWT,QAAS,IAAMvE,KAAK4D,uBACnEK,EAAA,KAAAC,IAAA,sDAGJD,EAAK,OAAAC,IAAA,2CAAAC,MAAM,sBACTF,EAAK,OAAAC,IAAA,2CAAAC,MAAM,gBACTF,EAAA,KAAAC,IAAA,2CAAGC,MAAO,iBAAkB2J,MAAO,CAAExJ,MAAO,+BAA8B,YAI5EL,EAAK,OAAAC,IAAA,2CAAAC,MAAO,oBACVF,EACE,qBAAAC,IAAA,2CAAAE,KAAK,UACLK,MAAO,UACPJ,KAAK,KAAI,aACG,MAAK,iBACD,MACM,6BAAK,gBACZ,MACfoL,MAAOzP,KAAKywC,QACE,sBACdkB,uBAAwB3xC,KAAKuxC,qBAAqB1sC,KAAK7E,MACvDyqB,MAAOzqB,KAAKmxC,qBAMrBnxC,KAAKoE,OAAS,oCAAsCpE,KAAKwT,aAAe,WACvEvP,EAAA0K,EAAA,KACE1K,EAAK,OAAAC,IAAA,2CAAAC,MAAM,2BACTF,EAAA,mCAAAC,IAAA,2CAAiCc,KAAK,UAAUT,QAAS,IAAMvE,KAAKoD,2BAClEa,EAAA,KAAAC,IAAA,yDAEDlE,KAAK8wC,oBAAsB,GAC1B7sC,EAAA0K,EAAA,KACG3O,KAAK2wC,MAAM5mC,KAAI0nC,GACdxtC,EAAA,mCAAiCe,KAAK,QAAQP,MAAOzE,KAAKwwC,cAAgBiB,EAAO,SAAW,UAAWltC,QAAS,IAAOvE,KAAKwwC,YAAciB,GACxIxtC,EAAA,SAAIwtC,OAKXzxC,KAAK8wC,oBAAsB,GAC1B7sC,EAAA0K,EAAA,KACE1K,EAAA,mCAAAC,IAAA,2CAAiCc,KAAK,QAAQP,MAAOzE,KAAKwwC,cAAgB,EAAI,SAAW,UAAWjsC,QAAS,IAAOvE,KAAKwwC,YAAc,GACrIvsC,EAAA,KAAAC,IAAA,kDAEFD,EAAA,mCAAAC,IAAA,2CAAiCc,KAAK,QAAQP,MAAOzE,KAAKwwC,cAAgB,EAAI,SAAW,UAAWjsC,QAAS,IAAOvE,KAAKwwC,YAAc,GACrIvsC,EAAA,KAAAC,IAAA,kDAEFD,EAAA,mCAAAC,IAAA,2CAAiCc,KAAK,QAAQP,MAAOzE,KAAKwwC,cAAgB,EAAI,SAAW,UAAWjsC,QAAS,IAAOvE,KAAKwwC,YAAc,GACrIvsC,EAAA,KAAAC,IAAA,kDAEDlE,KAAKwwC,YAAc,GAAKxwC,KAAKwwC,aAAexwC,KAAK8wC,mBAAqB,EACrE7sC,EAAA,mCAAiCe,KAAK,QAAQP,MAAOzE,KAAKwwC,YAAc,GAAKxwC,KAAKwwC,aAAexwC,KAAK8wC,mBAAqB,EAAI,SAAW,WACxI7sC,EAAI,SAAAjE,KAAKwwC,cAET,KACJvsC,EAAiC,mCAAAC,IAAA,2CAAAc,KAAK,SACpCf,EAAA,KAAAC,IAAA,oDAEDlE,KAAKwwC,YAAcxwC,KAAK8wC,mBAAqB,GAAK9wC,KAAKwwC,YAAcxwC,KAAK8wC,mBAAqB,EAC9F7sC,EACE,mCAAAe,KAAK,QACLP,MAAOzE,KAAKwwC,YAAcxwC,KAAK8wC,mBAAqB,GAAK9wC,KAAKwwC,YAAcxwC,KAAK8wC,mBAAqB,SAAW,WAEjH7sC,EAAI,SAAAjE,KAAKwwC,cAET,KACJvsC,EAAA,mCAAAC,IAAA,2CACEc,KAAK,QACLP,MAAOzE,KAAKwwC,cAAgBxwC,KAAK8wC,mBAAqB,EAAI,SAAW,UACrEvsC,QAAS,IAAOvE,KAAKwwC,YAAcxwC,KAAK8wC,mBAAqB,GAE7D7sC,EAAA,KAAAC,IAAA,4CAAIlE,KAAK8wC,mBAAqB,IAEhC7sC,EAAA,mCAAAC,IAAA,2CACEc,KAAK,QACLP,MAAOzE,KAAKwwC,cAAgBxwC,KAAK8wC,mBAAqB,EAAI,SAAW,UACrEvsC,QAAS,IAAOvE,KAAKwwC,YAAcxwC,KAAK8wC,mBAAqB,GAE7D7sC,EAAA,KAAAC,IAAA,4CAAIlE,KAAK8wC,mBAAqB,IAEhC7sC,EAAA,mCAAAC,IAAA,2CACEc,KAAK,QACLP,MAAOzE,KAAKwwC,cAAgBxwC,KAAK8wC,mBAAqB,SAAW,UACjEvsC,QAAS,IAAOvE,KAAKwwC,YAAcxwC,KAAK8wC,oBAExC7sC,EAAA,KAAAC,IAAA,4CAAIlE,KAAK8wC,sBAIf7sC,EAAA,mCAAAC,IAAA,2CAAiCc,KAAK,WAAWT,QAAS,IAAMvE,KAAK4D,uBACnEK,EAAW,KAAAC,IAAA,uDAMlBlE,KAAKoE,OAAS,gBAAkBpE,KAAKwT,aAAe,UACnDvP,EAAA0K,EAAA,KACE1K,EAAA,aAAAC,IAAA,2CACEG,KAAK,KACLU,UAAU,iBACVC,KAAK,OACLP,MAAM,UAAS,eACD,KAAI,oBACA,2BAClBF,QAAS,IAAMvE,KAAKoD,4BAEtBa,EAAK,OAAAC,IAAA,2CAAAC,MAAM,oBACTF,EAAG,KAAAC,IAAA,2CAAAC,MAAM,+BAA6B,QAC9BnE,KAAKwwC,YAAW,OAAMxwC,KAAK8wC,qBAGrC7sC,EAAA,aAAAC,IAAA,2CACEG,KAAK,KACLU,UAAU,iBACVC,KAAK,OACLP,MAAM,UACQ,oBACI,gDAClBF,QAAS,IAAMvE,KAAK4D,yBAIzB5D,KAAKoE,OAAS,+BAAiCpE,KAAKwT,aAAe,UAClEvP,EAAA0K,EAAA,KACE1K,EAAA,aAAAC,IAAA,2CACEG,KAAK,KACLU,UAAU,iBACVC,KAAK,OACLP,MAAM,UAAS,eACD,KAAI,oBACA,2BAClBF,QAAS,IAAMvE,KAAKoD,4BAEtBa,EAAK,OAAAC,IAAA,2CAAAC,MAAM,oBACTF,EAAG,KAAAC,IAAA,2CAAAC,MAAM,+BAA6B,QAC9BnE,KAAKwwC,YAAW,OAAMxwC,KAAK8wC,qBAGrC7sC,EAAA,aAAAC,IAAA,2CACEG,KAAK,KACLU,UAAU,iBACVC,KAAK,OACLP,MAAM,UACQ,oBACI,gDAClBF,QAAS,IAAMvE,KAAK4D,yBAIzB5D,KAAKoE,OAAS,gBAAkBpE,KAAKwT,aAAe,UACnDvP,EAAA0K,EAAA,KACE1K,EAAA,aAAAC,IAAA,2CACEG,KAAK,KACLU,UAAU,iBACVC,KAAK,OACLP,MAAM,UAAS,eACD,KAAI,oBACA,2BAClBF,QAAS,IAAMvE,KAAKoD,4BAEtBa,EAAK,OAAAC,IAAA,2CAAAC,MAAM,oBACTF,EAAG,KAAAC,IAAA,2CAAAC,MAAM,+BAA6B,QAC9BnE,KAAKwwC,YAAW,OAAMxwC,KAAK8wC,qBAGrC7sC,EAAA,aAAAC,IAAA,2CACEG,KAAK,KACLU,UAAU,iBACVC,KAAK,OACLP,MAAM,UACQ,oBACI,gDAClBF,QAAS,IAAMvE,KAAK4D,yBAIzB5D,KAAKoE,OAAS,8BAAgCpE,KAAKwT,aAAe,UACjEvP,EAAA0K,EAAA,KACE1K,EAAA,aAAAC,IAAA,2CACEG,KAAK,KACLU,UAAU,iBACVC,KAAK,OACLP,MAAM,UAAS,eACD,KAAI,oBACA,2BAClBF,QAAS,IAAMvE,KAAKoD,4BAEtBa,EAAK,OAAAC,IAAA,2CAAAC,MAAM,oBACTF,EAAG,KAAAC,IAAA,2CAAAC,MAAM,+BAA6B,QAC9BnE,KAAKwwC,YAAW,OAAMxwC,KAAK8wC,qBAGrC7sC,EAAA,aAAAC,IAAA,2CACEG,KAAK,KACLU,UAAU,iBACVC,KAAK,OACLP,MAAM,UACQ,oBACI,gDAClBF,QAAS,IAAMvE,KAAK4D,yBAIzB5D,KAAKoE,OAAS,6BAA+BpE,KAAKwT,aAAe,UAChEvP,EAAA0K,EAAA,KACE1K,EAAA,aAAAC,IAAA,2CACEG,KAAK,KACLU,UAAU,iBACVC,KAAK,OACLP,MAAM,UAAS,eACD,KAAI,oBACA,2BAClBF,QAAS,IAAMvE,KAAKoD,4BAEtBa,EAAK,OAAAC,IAAA,2CAAAC,MAAM,oBACTF,EAAG,KAAAC,IAAA,2CAAAC,MAAM,+BAA6B,QAC9BnE,KAAKwwC,YAAW,OAAMxwC,KAAK8wC,qBAGrC7sC,EAAA,aAAAC,IAAA,2CACEG,KAAK,KACLU,UAAU,iBACVC,KAAK,OACLP,MAAM,UACQ,oBACI,gDAClBF,QAAS,IAAMvE,KAAK4D,yBAIzB5D,KAAKoE,OAAS,+BAAiCpE,KAAKwT,aAAe,UAClEvP,EAAA0K,EAAA,KACE1K,EAAA,aAAAC,IAAA,2CACEG,KAAK,KACLU,UAAU,iBACVC,KAAK,OACLP,MAAM,UAAS,eACD,KAAI,oBACA,2BAClBF,QAAS,IAAMvE,KAAKoD,4BAEtBa,EAAK,OAAAC,IAAA,2CAAAC,MAAM,oBACTF,EAAG,KAAAC,IAAA,2CAAAC,MAAM,+BAA6B,QAC9BnE,KAAKwwC,YAAW,OAAMxwC,KAAK8wC,qBAGrC7sC,EAAA,aAAAC,IAAA,2CACEG,KAAK,KACLU,UAAU,iBACVC,KAAK,OACLP,MAAM,UACQ,oBACI,gDAClBF,QAAS,IAAMvE,KAAK4D,yBAIzB5D,KAAKoE,OAAS,mCAAqCpE,KAAKwT,aAAe,UACtEvP,EAAK,OAAAC,IAAA,2CAAAC,MAAM,2BACTF,EAAA,mCAAAC,IAAA,2CAAiCc,KAAK,OAAM,WAAU,2BAA2BT,QAAS,IAAMvE,KAAKoD,4BACpGpD,KAAK8wC,oBAAsB,GAC1B7sC,EAAA0K,EAAA,KACG3O,KAAK2wC,MAAM5mC,KAAI0nC,GACdxtC,EAAA,mCAAiCe,KAAK,QAAQP,MAAOzE,KAAKwwC,cAAgBiB,EAAO,SAAW,UAAWltC,QAAS,IAAOvE,KAAKwwC,YAAciB,GACxIxtC,EAAA,SAAIwtC,OAKXzxC,KAAK8wC,oBAAsB,GAC1B7sC,EAAA0K,EAAA,KACE1K,EAAA,mCAAAC,IAAA,2CAAiCc,KAAK,QAAQP,MAAOzE,KAAKwwC,cAAgB,EAAI,SAAW,UAAWjsC,QAAS,IAAOvE,KAAKwwC,YAAc,GACrIvsC,EAAA,KAAAC,IAAA,kDAEFD,EAAA,mCAAAC,IAAA,2CAAiCc,KAAK,QAAQP,MAAOzE,KAAKwwC,cAAgB,EAAI,SAAW,UAAWjsC,QAAS,IAAOvE,KAAKwwC,YAAc,GACrIvsC,EAAA,KAAAC,IAAA,kDAEFD,EAAA,mCAAAC,IAAA,2CAAiCc,KAAK,QAAQP,MAAOzE,KAAKwwC,cAAgB,EAAI,SAAW,UAAWjsC,QAAS,IAAOvE,KAAKwwC,YAAc,GACrIvsC,EAAA,KAAAC,IAAA,kDAEDlE,KAAKwwC,YAAc,GAAKxwC,KAAKwwC,aAAexwC,KAAK8wC,mBAAqB,EACrE7sC,EAAA,mCAAiCe,KAAK,QAAQP,MAAOzE,KAAKwwC,YAAc,GAAKxwC,KAAKwwC,aAAexwC,KAAK8wC,mBAAqB,EAAI,SAAW,WACxI7sC,EAAI,SAAAjE,KAAKwwC,cAET,KACJvsC,EAAiC,mCAAAC,IAAA,2CAAAc,KAAK,SACpCf,EAAA,KAAAC,IAAA,oDAEDlE,KAAKwwC,YAAcxwC,KAAK8wC,mBAAqB,GAAK9wC,KAAKwwC,YAAcxwC,KAAK8wC,mBAAqB,EAC9F7sC,EACE,mCAAAe,KAAK,QACLP,MAAOzE,KAAKwwC,YAAcxwC,KAAK8wC,mBAAqB,GAAK9wC,KAAKwwC,YAAcxwC,KAAK8wC,mBAAqB,SAAW,WAEjH7sC,EAAI,SAAAjE,KAAKwwC,cAET,KACJvsC,EAAA,mCAAAC,IAAA,2CACEc,KAAK,QACLP,MAAOzE,KAAKwwC,cAAgBxwC,KAAK8wC,mBAAqB,EAAI,SAAW,UACrEvsC,QAAS,IAAOvE,KAAKwwC,YAAcxwC,KAAK8wC,mBAAqB,GAE7D7sC,EAAA,KAAAC,IAAA,4CAAIlE,KAAK8wC,mBAAqB,IAEhC7sC,EAAA,mCAAAC,IAAA,2CACEc,KAAK,QACLP,MAAOzE,KAAKwwC,cAAgBxwC,KAAK8wC,mBAAqB,EAAI,SAAW,UACrEvsC,QAAS,IAAOvE,KAAKwwC,YAAcxwC,KAAK8wC,mBAAqB,GAE7D7sC,EAAA,KAAAC,IAAA,4CAAIlE,KAAK8wC,mBAAqB,IAEhC7sC,EAAA,mCAAAC,IAAA,2CACEc,KAAK,QACLP,MAAOzE,KAAKwwC,cAAgBxwC,KAAK8wC,mBAAqB,SAAW,UACjEvsC,QAAS,IAAOvE,KAAKwwC,YAAcxwC,KAAK8wC,oBAExC7sC,EAAA,KAAAC,IAAA,4CAAIlE,KAAK8wC,sBAIf7sC,EAAA,mCAAAC,IAAA,2CAAiCc,KAAK,OAAgB,uCAA4BT,QAAS,IAAMvE,KAAK4D,yBAGzG5D,KAAKoE,OAAS,kCAAoCpE,KAAKwT,aAAe,UACrEvP,EAAK,OAAAC,IAAA,2CAAAC,MAAM,2BACTF,EAAA,mCAAAC,IAAA,2CAAiCc,KAAK,OAAM,WAAU,2BAA2BT,QAAS,IAAMvE,KAAKoD,4BACpGpD,KAAK8wC,oBAAsB,GAC1B7sC,EAAA0K,EAAA,KACG3O,KAAK2wC,MAAM5mC,KAAI0nC,GACdxtC,EAAA,mCAAiCe,KAAK,QAAQP,MAAOzE,KAAKwwC,cAAgBiB,EAAO,SAAW,UAAWltC,QAAS,IAAOvE,KAAKwwC,YAAciB,GACxIxtC,EAAA,SAAIwtC,OAKXzxC,KAAK8wC,oBAAsB,GAC1B7sC,EAAA0K,EAAA,KACE1K,EAAA,mCAAAC,IAAA,2CAAiCc,KAAK,QAAQP,MAAOzE,KAAKwwC,cAAgB,EAAI,SAAW,UAAWjsC,QAAS,IAAOvE,KAAKwwC,YAAc,GACrIvsC,EAAA,KAAAC,IAAA,kDAEFD,EAAA,mCAAAC,IAAA,2CAAiCc,KAAK,QAAQP,MAAOzE,KAAKwwC,cAAgB,EAAI,SAAW,UAAWjsC,QAAS,IAAOvE,KAAKwwC,YAAc,GACrIvsC,EAAA,KAAAC,IAAA,kDAEFD,EAAA,mCAAAC,IAAA,2CAAiCc,KAAK,QAAQP,MAAOzE,KAAKwwC,cAAgB,EAAI,SAAW,UAAWjsC,QAAS,IAAOvE,KAAKwwC,YAAc,GACrIvsC,EAAA,KAAAC,IAAA,kDAEDlE,KAAKwwC,YAAc,GAAKxwC,KAAKwwC,aAAexwC,KAAK8wC,mBAAqB,EACrE7sC,EAAA,mCAAiCe,KAAK,QAAQP,MAAOzE,KAAKwwC,YAAc,GAAKxwC,KAAKwwC,aAAexwC,KAAK8wC,mBAAqB,EAAI,SAAW,WACxI7sC,EAAI,SAAAjE,KAAKwwC,cAET,KACJvsC,EAAiC,mCAAAC,IAAA,2CAAAc,KAAK,SACpCf,EAAA,KAAAC,IAAA,oDAEDlE,KAAKwwC,YAAcxwC,KAAK8wC,mBAAqB,GAAK9wC,KAAKwwC,YAAcxwC,KAAK8wC,mBAAqB,EAC9F7sC,EACE,mCAAAe,KAAK,QACLP,MAAOzE,KAAKwwC,YAAcxwC,KAAK8wC,mBAAqB,GAAK9wC,KAAKwwC,YAAcxwC,KAAK8wC,mBAAqB,SAAW,WAEjH7sC,EAAI,SAAAjE,KAAKwwC,cAET,KACJvsC,EAAA,mCAAAC,IAAA,2CACEc,KAAK,QACLP,MAAOzE,KAAKwwC,cAAgBxwC,KAAK8wC,mBAAqB,EAAI,SAAW,UACrEvsC,QAAS,IAAOvE,KAAKwwC,YAAcxwC,KAAK8wC,mBAAqB,GAE7D7sC,EAAA,KAAAC,IAAA,4CAAIlE,KAAK8wC,mBAAqB,IAEhC7sC,EAAA,mCAAAC,IAAA,2CACEc,KAAK,QACLP,MAAOzE,KAAKwwC,cAAgBxwC,KAAK8wC,mBAAqB,EAAI,SAAW,UACrEvsC,QAAS,IAAOvE,KAAKwwC,YAAcxwC,KAAK8wC,mBAAqB,GAE7D7sC,EAAA,KAAAC,IAAA,4CAAIlE,KAAK8wC,mBAAqB,IAEhC7sC,EAAA,mCAAAC,IAAA,2CACEc,KAAK,QACLP,MAAOzE,KAAKwwC,cAAgBxwC,KAAK8wC,mBAAqB,SAAW,UACjEvsC,QAAS,IAAOvE,KAAKwwC,YAAcxwC,KAAK8wC,oBAExC7sC,EAAA,KAAAC,IAAA,4CAAIlE,KAAK8wC,sBAIf7sC,EAAA,mCAAAC,IAAA,2CAAiCc,KAAK,OAAgB,uCAA4BT,QAAS,IAAMvE,KAAK4D,yBAGzG5D,KAAKoE,OAAS,oCAAsCpE,KAAKwT,aAAe,UACvEvP,EAAK,OAAAC,IAAA,2CAAAC,MAAM,2BACTF,EAAA,mCAAAC,IAAA,2CAAiCc,KAAK,OAAM,WAAU,2BAA2BT,QAAS,IAAMvE,KAAKoD,4BACpGpD,KAAK8wC,oBAAsB,GAC1B7sC,EAAA0K,EAAA,KACG3O,KAAK2wC,MAAM5mC,KAAI0nC,GACdxtC,EAAA,mCAAiCe,KAAK,QAAQP,MAAOzE,KAAKwwC,cAAgBiB,EAAO,SAAW,UAAWltC,QAAS,IAAOvE,KAAKwwC,YAAciB,GACxIxtC,EAAA,SAAIwtC,OAKXzxC,KAAK8wC,oBAAsB,GAC1B7sC,EAAA0K,EAAA,KACE1K,EAAA,mCAAAC,IAAA,2CAAiCc,KAAK,QAAQP,MAAOzE,KAAKwwC,cAAgB,EAAI,SAAW,UAAWjsC,QAAS,IAAOvE,KAAKwwC,YAAc,GACrIvsC,EAAA,KAAAC,IAAA,kDAEFD,EAAA,mCAAAC,IAAA,2CAAiCc,KAAK,QAAQP,MAAOzE,KAAKwwC,cAAgB,EAAI,SAAW,UAAWjsC,QAAS,IAAOvE,KAAKwwC,YAAc,GACrIvsC,EAAA,KAAAC,IAAA,kDAEFD,EAAA,mCAAAC,IAAA,2CAAiCc,KAAK,QAAQP,MAAOzE,KAAKwwC,cAAgB,EAAI,SAAW,UAAWjsC,QAAS,IAAOvE,KAAKwwC,YAAc,GACrIvsC,EAAA,KAAAC,IAAA,kDAEDlE,KAAKwwC,YAAc,GAAKxwC,KAAKwwC,aAAexwC,KAAK8wC,mBAAqB,EACrE7sC,EAAA,mCAAiCe,KAAK,QAAQP,MAAOzE,KAAKwwC,YAAc,GAAKxwC,KAAKwwC,aAAexwC,KAAK8wC,mBAAqB,EAAI,SAAW,WACxI7sC,EAAI,SAAAjE,KAAKwwC,cAET,KACJvsC,EAAiC,mCAAAC,IAAA,2CAAAc,KAAK,SACpCf,EAAA,KAAAC,IAAA,oDAEDlE,KAAKwwC,YAAcxwC,KAAK8wC,mBAAqB,GAAK9wC,KAAKwwC,YAAcxwC,KAAK8wC,mBAAqB,EAC9F7sC,EACE,mCAAAe,KAAK,QACLP,MAAOzE,KAAKwwC,YAAcxwC,KAAK8wC,mBAAqB,GAAK9wC,KAAKwwC,YAAcxwC,KAAK8wC,mBAAqB,SAAW,WAEjH7sC,EAAI,SAAAjE,KAAKwwC,cAET,KACJvsC,EAAA,mCAAAC,IAAA,2CACEc,KAAK,QACLP,MAAOzE,KAAKwwC,cAAgBxwC,KAAK8wC,mBAAqB,EAAI,SAAW,UACrEvsC,QAAS,IAAOvE,KAAKwwC,YAAcxwC,KAAK8wC,mBAAqB,GAE7D7sC,EAAA,KAAAC,IAAA,4CAAIlE,KAAK8wC,mBAAqB,IAEhC7sC,EAAA,mCAAAC,IAAA,2CACEc,KAAK,QACLP,MAAOzE,KAAKwwC,cAAgBxwC,KAAK8wC,mBAAqB,EAAI,SAAW,UACrEvsC,QAAS,IAAOvE,KAAKwwC,YAAcxwC,KAAK8wC,mBAAqB,GAE7D7sC,EAAA,KAAAC,IAAA,4CAAIlE,KAAK8wC,mBAAqB,IAEhC7sC,EAAA,mCAAAC,IAAA,2CACEc,KAAK,QACLP,MAAOzE,KAAKwwC,cAAgBxwC,KAAK8wC,mBAAqB,SAAW,UACjEvsC,QAAS,IAAOvE,KAAKwwC,YAAcxwC,KAAK8wC,oBAExC7sC,EAAA,KAAAC,IAAA,4CAAIlE,KAAK8wC,sBAIf7sC,EAAiC,mCAAAC,IAAA,2CAAAc,KAAK,OAAM,WAAU,4BAA4BT,QAAS,IAAMvE,KAAK4D,yB,+EClkClH,MAAMguC,GAAiC,qzB,MCO1BC,GAA2B,MALxC,WAAA/xC,CAAAC,G,UASWC,KAAc0N,eAAW,EAgEnC,CA7DC,gBAAAhM,GACE,MAAM+K,EAAiBzM,KAAK4B,GAAGC,cAAc,KAE7C,GAAI4K,EAAgB,CAClBA,EAAe1K,UAAUC,IAAI,oB,CAG/B,GAAGhC,KAAKyE,QAAU,SAAU,CAC1BgI,EAAe1K,UAAUC,IAAI,c,CAG/BhC,KAAK4N,SAAS5N,KAAK2J,Q,CAGrB,cAAMiE,CAASK,GACb,MAAMC,EAAWrC,EAAa,GAAGoC,KACjC,MAAM7B,QAAiBC,MAAM6B,GAC7B,MAAMC,QAAY/B,EAASxH,OAC3B5E,KAAK0N,eAAiBS,C,CAGxB,MAAAnK,GACE,OACEC,EAAA,OAAAC,IAAA,2CAAKC,MAAO,mBAAmBnE,KAAKgF,QAAQhF,KAAKyE,SAC9CzE,KAAKgF,OAAS,SAAWf,EAAa,QAAAC,IAAA,6CACtClE,KAAKgF,OAAS,WACbf,EAAA0K,EAAA,KACE1K,EAAA,OAAAC,IAAA,2CAAK8D,MAAM,6BAA6BC,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,QACtFnE,EAAA,QAAAC,IAAA,2CACEmE,EAAE,2JACF8E,OAAO,UACM,sBACE,yBACC,6BAGpBlJ,EAAA,QAAAC,IAAA,8CAGHlE,KAAKgF,OAAS,YACbf,EAAA0K,EAAA,KACE1K,EAAa,QAAAC,IAAA,6CACXD,EAAA,OAAAC,IAAA,2CAAK8D,MAAM,6BAA6BC,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,QACtFnE,EAAA,QAAAC,IAAA,2CACEmE,EAAE,0JACF8E,OAAO,UAAS,eACH,MAAK,iBACH,QACC,8BAKzBnN,KAAKgF,OAAS,QACbf,EAAA0K,EAAA,KACA1K,EAAA,OAAAC,IAAA,2CAAKC,MAAO,OAAQ8I,UAAWjN,KAAK0N,kB,uCCrE9C,MAAMokC,GAA4B,2xpE,MCQrBC,GAAsB,M,yBAKjC,gBAAArwC,GACE,MAAM+K,EAAiBzM,KAAK4B,GAAGC,cAAc,wBAE7C,GAAI4K,EAAgB,CAClBA,EAAe1K,UAAUC,IAAI,iB,CAG/B,GAAIhC,KAAKyE,QAAU,UAAW,CAC5BgI,EAAe1K,UAAUC,IAAI,U,CAG/B,GAAIhC,KAAKyE,QAAU,SAAU,CAC3BgI,EAAe1K,UAAUC,IAAI,S,EAIjC,MAAAgC,GACE,OACEC,EAAA,OAAAC,IAAA,2CAAKC,MAAO,oBAAoBnE,KAAK0xC,SAAS1xC,KAAKyE,SACjDR,EAAA,QAAAC,IAAA,2CAAMM,KAAK,gB,uCChCnB,MAAMwtC,GAAsB,iooE,MCOfC,GAAgB,MAL7B,WAAAnyC,CAAAC,G,UAMWC,KAAiBooC,kBAAY,KAwBvC,CArBC,wBAAAiD,GACErrC,KAAKooC,mBAAqBpoC,KAAKooC,iB,CAGjC,MAAApkC,GACE,OACEC,EAAA,OAAAC,IAAA,4CACED,EAAQ,UAAAC,IAAA,2CAAAG,KAAK,KAAKU,UAAU,YAAYN,MAAM,UAAUF,QAAS,IAAMvE,KAAKqrC,4BACzErrC,KAAKooC,kBACJnkC,EAAA,aAAWI,KAAK,KAAKU,UAAU,gBAAgBC,KAAK,UAAUP,MAAOzE,KAAKyE,OACxER,EAAW,kBAGbA,EAAA,aAAWI,KAAK,KAAKU,UAAU,gBAAgBC,KAAK,UAAUP,MAAOzE,KAAKyE,OACxER,EAAA,mB,eCzBd,MAAMiuC,GAAe,w11E,MCQRC,GAAS,MALtB,WAAAryC,CAAAC,G,kOAM2BC,KAAKyE,MAA6B,WAInDzE,KAAkBoyC,mBAAY,MAC9BpyC,KAAYqyC,aAAW,GACvBryC,KAAasyC,cAAW,GACxBtyC,KAAcuyC,eAAW,GACzBvyC,KAAawyC,cAAW,GACxBxyC,KAAcyyC,eAAW,GACzBzyC,KAAa0yC,cAAW,GACxB1yC,KAAa2yC,cAAW,GACxB3yC,KAAe4yC,gBAAW,GAC1B5yC,KAAc6yC,eAAW,GACzB7yC,KAAa8yC,cAAW,GACxB9yC,KAAa+yC,cAAW,GACxB/yC,KAAcgzC,eAAW,GACzBhzC,KAAeizC,gBAAW,GAC1BjzC,KAAckzC,eAAW,GACzBlzC,KAAemzC,gBAAW,GAC1BnzC,KAAcozC,eAAW,GACzBpzC,KAAcqzC,eAAW,GACzBrzC,KAAgBszC,iBAAW,GAC3BtzC,KAAeuzC,gBAAW,GAC1BvzC,KAAcwzC,eAAW,GACzBxzC,KAAcyzC,eAAW,GACzBzzC,KAAA0zC,mBAA0B,C,EAuBT1zC,KAAiB2zC,kBAAW,QAC5B3zC,KAAmB4zC,oBAAW,sBAC/C5zC,KAAO6zC,QAAY,MACnB7zC,KAAK8zC,MAAW,GAChB9zC,KAAW+zC,YAAW,GACtB/zC,KAAKmJ,MAAe,SACnBnJ,KAAWg0C,YAAY,MAEvBh0C,KAAc0N,eAAW,EAoUnC,CA9TC,cAAME,CAASK,GACb,MAAMC,EAAWrC,EAAa,GAAGoC,KACjC,MAAM7B,QAAiBC,MAAM6B,GAC7B,MAAMC,QAAY/B,EAASxH,OAC3B5E,KAAK0N,eAAiBS,C,CAGxB,eAAA8lC,GACE,GAAIj0C,KAAKyE,QAAU,WAAY,CAC7BzE,KAAKyE,MAAQ,W,CAEfzE,KAAKk0C,aAAaxxC,KAAK,Y,CAGzB,aAAAyxC,GACE,GAAIn0C,KAAKyE,QAAU,YAAa,CAC9BzE,KAAKyE,MAAQ,U,CAEfzE,KAAKk0C,aAAaxxC,KAAK,W,CAIzB,wBAAM0xC,CAAmBrkC,GACvB/P,KAAK8tC,YAAc/9B,EAEnB/P,KAAKq0C,yBAAyB3xC,KAAKqN,E,CAGrC,kBAAAukC,CAAmBtrC,EAAcurC,GAC/Bv0C,KAAK2zC,kBAAoB3qC,EACzBhJ,KAAK4zC,oBAAsB5zC,KAAK0zC,mBAAmB1qC,GAAMyG,MAAM,GAAG3N,K,CAIpE,oBAAA0yC,CAAqBxrC,EAAcurC,GACjCv0C,KAAK4zC,oBAAsB5qC,C,CAI7B,gBAAAtH,GACE,MAAMguC,EAAkB1vC,KAAK4B,GAAGC,cAAc,6BAE9C,GAAI6tC,EAAiB,CACnBA,EAAgB3tC,UAAUC,IAAI,gBAC9B0tC,EAAgB3tC,UAAUC,IAAI,oBAC9B0tC,EAAgB3tC,UAAUC,IAAI,GAAGhC,KAAK+U,W,EAI1C,WAAA0/B,GACE,GAAIz0C,KAAKmJ,QAAU,SAAU,CAC3B,GAAIwM,OAAO++B,WAAW,gCAAgCC,QAAS,CAC7D30C,KAAKg0C,YAAc,I,KACd,CACLh0C,KAAKg0C,YAAc,K,OAEhB,GAAIh0C,KAAKmJ,QAAU,QAAS,CACjCnJ,KAAKg0C,YAAc,K,MACd,GAAIh0C,KAAKmJ,QAAU,OAAQ,CAChCnJ,KAAKg0C,YAAc,I,EAIvB,iBAAAnsC,GACE7H,KAAK4N,SAAS5N,KAAKqyC,cAEnBryC,KAAKy0C,a,CAGP,MAAAzwC,GACE,MAAMirC,EAAapjC,EAAa,8BAChC,MAAM62B,EAAU72B,EAAa,+BAC7B,MAAM+oC,EAAc/oC,EAAa,oCAEjC,OACE5H,EAAA0K,EAAA,KACG3O,KAAKoE,OAAS,UACbH,EAAK,OAAAC,IAAA,2CAAAC,MAAO,sBAAsBnE,KAAKyE,SAASzE,KAAK+U,YAClD/U,KAAK+U,WAAa,sBACjB9Q,EAAA,OAAAC,IAAA,2CAAKC,MAAM,WACTF,EAAK,OAAAC,IAAA,2CAAAiI,IAAK8iC,EAAY/hC,IAAI,MAG9BjJ,EAAK,OAAAC,IAAA,2CAAAC,MAAM,OACTF,EAAA,OAAAC,IAAA,2CAAKC,MAAO,kBAAkBnE,KAAKyE,SACjCR,EAAA,OAAAC,IAAA,2CAAKC,MAAO,iBAAiBnE,KAAKyE,SAC/BzE,KAAKyE,QAAU,YACdR,EAAA,OAAAC,IAAA,2CAAKC,MAAM,gBACTF,EAAA,OAAAC,IAAA,2CAAKiI,IAAKu2B,EAASx1B,IAAI,KACvBjJ,EAAA,OAAAC,IAAA,2CAAK8D,MAAM,6BAA6BC,MAAM,MAAMC,OAAO,KAAKC,QAAQ,aAAaC,KAAK,QACxFnE,EACY,QAAAC,IAAA,iEACA,sBACVmE,EAAE,2lRACFD,KAAK,6CAEPnE,EAAA,QAAAC,IAAA,uDACY,UAAS,YACT,UACVmE,EAAE,uxKACFD,KAAK,+CAKZpI,KAAKyE,QAAU,aAAeR,EAAK,OAAAC,IAAA,2CAAAiI,IAAKu2B,EAASx1B,IAAI,MAExDjJ,EAAA,OAAAC,IAAA,2CAAKC,MAAO,mBAAmBnE,KAAKyE,SAClCR,EAAA,sBAAAC,IAAA,2CACEc,KAAK,4BACLV,MAAOtE,KAAK+U,WAAa,mBAAqB,OAAS,QACvDhB,OAAQ/T,KAAKyE,QAAU,YAAc,SAAW,WAChDF,QAAS,IAAOvE,KAAKyE,QAAU,YAAczE,KAAKm0C,gBAAkBn0C,KAAKi0C,sBAI/EhwC,EAAK,OAAAC,IAAA,2CAAAC,MAAM,cACTF,EAAK,OAAAC,IAAA,2CAAAC,MAAM,QACTF,EAAA,2BAAAC,IAAA,2CACEO,MAAOzE,KAAK8tC,cAAgB,EAAI,SAAW,UAC3C9oC,KAAMhF,KAAKsyC,cACXv9B,SAAU/U,KAAK+U,SACf3Q,KAAMpE,KAAKyE,QAAU,YAAc,YAAc,kBACjDF,QAAS,IAAMvE,KAAKo0C,mBAAmB,GACvCtyC,MAAO9B,KAAKgzC,iBAEd/uC,EAAA,2BAAAC,IAAA,2CACEO,MAAOzE,KAAK8tC,cAAgB,EAAI,SAAW,UAC3C9oC,KAAMhF,KAAKuyC,eACXx9B,SAAU/U,KAAK+U,SACf3Q,KAAMpE,KAAKyE,QAAU,YAAc,YAAc,kBACjDF,QAAS,IAAMvE,KAAKo0C,mBAAmB,GACvCtyC,MAAO9B,KAAKizC,kBAEbjzC,KAAKkzC,gBACJjvC,EACE,2BAAAC,IAAA,2CAAAO,MAAOzE,KAAK8tC,cAAgB,EAAI,SAAW,UAC3C9oC,KAAMhF,KAAKwyC,cACXz9B,SAAU/U,KAAK+U,SACf3Q,KAAMpE,KAAKyE,QAAU,YAAc,YAAc,kBACjDF,QAAS,IAAMvE,KAAKo0C,mBAAmB,GACvCtyC,MAAO9B,KAAKkzC,iBAGflzC,KAAKmzC,iBACJlvC,EACE,2BAAAC,IAAA,2CAAAO,MAAOzE,KAAK8tC,cAAgB,EAAI,SAAW,UAC3C9oC,KAAMhF,KAAKyyC,eACX19B,SAAU/U,KAAK+U,SACf3Q,KAAMpE,KAAKyE,QAAU,YAAc,YAAc,kBACjDF,QAAS,IAAMvE,KAAKo0C,mBAAmB,GACvCtyC,MAAO9B,KAAKmzC,kBAGfnzC,KAAKozC,gBACJnvC,EAAA,2BAAAC,IAAA,2CACEO,MAAOzE,KAAK8tC,cAAgB,EAAI,SAAW,UAC3C9oC,KAAMhF,KAAK0yC,cACX39B,SAAU/U,KAAK+U,SACf3Q,KAAMpE,KAAKyE,QAAU,YAAc,YAAc,kBACjDF,QAAS,IAAMvE,KAAKo0C,mBAAmB,GACvCtyC,MAAO9B,KAAKozC,mBAKnBpzC,KAAKoyC,oBACJnuC,EAAK,OAAAC,IAAA,2CAAAC,MAAM,cACTF,EAAK,OAAAC,IAAA,2CAAAC,MAAM,QACRnE,KAAKqzC,gBACJpvC,EACE,2BAAAC,IAAA,2CAAAO,MAAOzE,KAAK8tC,cAAgB,EAAI,SAAW,UAC3C9oC,KAAMhF,KAAK2yC,cACX59B,SAAU/U,KAAK+U,SACf3Q,KAAMpE,KAAKyE,QAAU,YAAc,YAAc,kBACjDF,QAAS,IAAMvE,KAAKo0C,mBAAmB,GACvCtyC,MAAO9B,KAAKqzC,iBAGfrzC,KAAKszC,kBACJrvC,EACE,2BAAAC,IAAA,2CAAAO,MAAOzE,KAAK8tC,cAAgB,EAAI,SAAW,UAC3C9oC,KAAMhF,KAAK4yC,gBACX79B,SAAU/U,KAAK+U,SACf3Q,KAAMpE,KAAKyE,QAAU,YAAc,YAAc,kBACjDF,QAAS,IAAMvE,KAAKo0C,mBAAmB,GACvCtyC,MAAO9B,KAAKszC,mBAGftzC,KAAKuzC,iBACJtvC,EACE,2BAAAC,IAAA,2CAAAO,MAAOzE,KAAK8tC,cAAgB,EAAI,SAAW,UAC3C9oC,KAAMhF,KAAK6yC,eACX99B,SAAU/U,KAAK+U,SACf3Q,KAAMpE,KAAKyE,QAAU,YAAc,YAAc,kBACjDF,QAAS,IAAMvE,KAAKo0C,mBAAmB,GACvCtyC,MAAO9B,KAAKuzC,kBAGfvzC,KAAKwzC,gBACJvvC,EACE,2BAAAC,IAAA,2CAAAO,MAAOzE,KAAK8tC,cAAgB,EAAI,SAAW,UAC3C9oC,KAAMhF,KAAK8yC,cACX/9B,SAAU/U,KAAK+U,SACf3Q,KAAMpE,KAAKyE,QAAU,YAAc,YAAc,kBACjDF,QAAS,IAAMvE,KAAKo0C,mBAAmB,GACvCtyC,MAAO9B,KAAKwzC,iBAGfxzC,KAAKyzC,gBACJxvC,EAAA,2BAAAC,IAAA,2CACEO,MAAOzE,KAAK8tC,cAAgB,EAAI,SAAW,UAC3C9oC,KAAMhF,KAAK+yC,cACXh+B,SAAU/U,KAAK+U,SACf3Q,KAAMpE,KAAKyE,QAAU,YAAc,YAAc,kBACjDF,QAAS,IAAMvE,KAAKo0C,mBAAmB,GACvCtyC,MAAO9B,KAAKyzC,oBAOvBzzC,KAAKyE,QAAU,YACdR,EAAA,OAAAC,IAAA,2CAAKC,MAAM,oBACTF,EAAA,OAAAC,IAAA,2CAAKC,MAAO,WAAWnE,KAAK+U,YACzB/U,KAAK+U,WAAa,oBACjB9Q,EAAA,OAAAC,IAAA,2CAAKC,MAAM,4BACTF,EAAK,OAAAC,IAAA,2CAAAiI,IAAK8iC,EAAY/hC,IAAI,MAG7BlN,KAAK6zC,QACJ5vC,EAAA0K,EAAA,KACE1K,EAAK,OAAAE,MAAM,sBACTF,EAAK,OAAA+D,MAAM,6BAA6BC,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOjE,MAAO,aAAanE,KAAK+U,YACtH9Q,EACE,QAAAi8B,QAAQ,MACR73B,EAAE,oHACFD,KAAK,6CAEPnE,EACE,QAAAoE,EAAE,yzCACFD,KAAK,8CAGTnE,EAAG,KAAAE,MAAO,aAAanE,KAAK+U,yBAAuB,eAIrD9Q,EAAG,KAAAE,MAAO,iBAAiBnE,KAAK+U,2BAA4B/U,KAAK8zC,OAChE9zC,KAAK+zC,aAAe9vC,EAAA,KAAGE,MAAO,QAAQnE,KAAK+U,2BAA4B/U,KAAK+zC,cAG/E9vC,EAAA0K,EAAA,KACE1K,EAAA,OAAKE,MAAO,oBAAoBnE,KAAK+U,WAAY9H,UAAWjN,KAAK0N,iBACjEzJ,EAAM,QAAAO,KAAK,yBAQxBxE,KAAKoE,OAAS,WACbH,EAAK,OAAAC,IAAA,2CAAAC,MAAO,mBAAmBnE,KAAKyE,SAClCR,EAAK,OAAAC,IAAA,2CAAAC,MAAM,WACTF,EAAK,OAAAC,IAAA,2CAAAC,MAAM,mBACRnE,KAAKyE,QAAU,YAAcR,EAAK,OAAAC,IAAA,2CAAAiI,IAAKyoC,IACvC50C,KAAKyE,QAAU,aAAeR,EAAA,OAAAC,IAAA,2CAAKiI,IAAKu2B,EAASx1B,IAAI,KACtDjJ,EACE,sBAAAC,IAAA,2CAAAI,MAAM,OACNyP,OAAQ/T,KAAKyE,QAAU,YAAc,SAAW,WAChDF,QAAS,IAAOvE,KAAKyE,QAAU,YAAczE,KAAKm0C,gBAAkBn0C,KAAKi0C,sBAI/EhwC,EAAK,OAAAC,IAAA,2CAAAC,MAAM,uBACTF,EAAK,OAAAC,IAAA,2CAAAC,MAAO,qBAAqBnE,KAAK+U,YAAY/U,KAAK60C,gBACpD70C,KAAK+U,WAAa,sBACjB9Q,EAAA,OAAAC,IAAA,2CAAKC,MAAM,WACTF,EAAK,OAAAC,IAAA,2CAAAiI,IAAK8iC,EAAY/hC,IAAI,MAG9BjJ,EAAA,OAAAC,IAAA,2CAAKC,MAAM,+BACR8L,OAAOsV,KAAKvlB,KAAK0zC,oBAAoB3pC,KAAI,CAAC+qC,EAAa/kC,IACtD9L,EAAA,oCACEC,IAAK,GAAG6L,IACRjO,MAAOgzC,EACP//B,SAAU/U,KAAK+U,SACH,aAAA/U,KAAK60C,aACjB7vC,KAAMhF,KAAK0zC,mBAAmBoB,GAAa9vC,KAC3CP,MAAOzE,KAAK2zC,oBAAsBmB,EAAc,SAAW,UAC3DvwC,QAAS,IAAMvE,KAAKs0C,mBAAmBQ,EAAa/kC,SAK5D9L,EAAK,OAAAC,IAAA,2CAAAC,MAAO,uBAAuBnE,KAAK+U,YAAY/U,KAAKyE,SACvDR,EAAK,OAAAC,IAAA,2CAAAC,MAAM,cACRnE,KAAK0zC,mBAAmB1zC,KAAK2zC,mBAAmBlkC,MAAM1F,KAAI,CAACgrC,EAAehlC,IACzE9L,EACE,sCAAAC,IAAK,GAAGlE,KAAK2zC,qBAAqB5jC,IAClC3L,KAAMpE,KAAKyE,QAAU,WAAa,kBAAoB,YACtD3C,MAAOizC,EAAcjzC,MACrBiT,SAAU/U,KAAK+U,SACf/P,KAAM+vC,EAAc/vC,KACpBP,MAAOzE,KAAK4zC,sBAAwBmB,EAAcjzC,MAAQ,SAAW,UACrEyC,QAAS,IAAMvE,KAAKw0C,qBAAqBO,EAAcjzC,MAAOiO,W,uCC3XpF,MAAMilC,GAAyB,qw0E,MCQlBC,GAAmB,MALhC,WAAAn1C,CAAAC,G,+DAQUC,KAAK8B,MAAW,GAChB9B,KAAIgF,KAAW,GAEfhF,KAASyjC,UAAY,MACrBzjC,KAASk1C,UAAY,MACJl1C,KAAWyU,YAAY,MACvCzU,KAAc0N,eAAW,GACzB1N,KAAYm1C,aAAW,EAsFjC,CAlFC,cAAMvnC,CAASK,GACb,MAAMC,EAAWrC,EAAa,GAAGoC,KACjC,MAAM7B,QAAiBC,MAAM6B,GAC7B,MAAMC,QAAY/B,EAASxH,OAE3B,MAAMoN,EAAS,IAAIC,UACnB,MAAMC,EAASF,EAAOG,gBAAgBhE,EAAK,iBAC3C,MAAMiE,EAAaF,EAAOG,gBAG1B,MAAMC,EAAsBF,EAAWG,iBAAiB,aACxDD,EAAoBE,SAAQ5Q,IAC1BA,EAAGG,UAAUC,IAAI,cAAc,IAGjC,MAAMstC,EAAel9B,EAAWG,iBAAiB,cAEjD+8B,EAAa98B,SAAQ+8B,IACnBA,EAAExtC,UAAUC,IAAI,cAAc,IAIhC,MAAMyQ,EAAcL,EAAWM,UAE/B1S,KAAK0N,eAAiB+E,C,CAIxB,iBAAA2iC,CAAkBlzC,EAAkBssC,GAClCxuC,KAAKm1C,aAAejzC,C,CAGtB,iBAAA2F,GACE7H,KAAK4N,SAAS5N,KAAKgF,MAEnBhF,KAAKm1C,aAAen1C,KAAKgF,I,CAG3B,oBAAAqwC,GACEr1C,KAAKo0C,mBAAmB1xC,M,CAG1B,MAAAsB,GACE,OACEC,EAAA,OAAAC,IAAA,2CAAKC,MAAO,0BAA2BgL,aAAc,IAAOnP,KAAKyU,YAAc,KAAOrF,aAAc,IAAOpP,KAAKyU,YAAc,OAC5HxQ,EAAA,OAAAC,IAAA,2CAAKC,MAAO,iBAAiBnE,KAAKyE,SAASzE,KAAKoE,QAAQpE,KAAK+U,YAC1D/U,KAAKyE,QAAU,UAAYR,EAAA,OAAAC,IAAA,2CAAKC,MAAO,OAAOnE,KAAK+U,aACpD9Q,EAAK,OAAAC,IAAA,2CAAAC,MAAM,WACRnE,KAAKgF,MAAQf,EAAA,OAAAC,IAAA,2CAAKC,MAAO,QAAQnE,KAAKyE,SAASzE,KAAK+U,WAAY9H,UAAWjN,KAAK0N,iBAChF1N,KAAKoE,OAAS,mBACbH,EAAG,KAAAC,IAAA,2CAAAC,MAAO,cAAcnE,KAAK+U,YAAY/U,KAAKyE,SAASzE,KAAKyE,QAAU,SAAW,oBAAsB,oBAAqBzE,KAAK8B,QAGpI9B,KAAKoE,OAAS,mBACbH,EAAA0K,EAAA,KACG3O,KAAKk1C,WACJjxC,EAAA,YAAAC,IAAA,2CAAUG,KAAK,KAAKD,KAAK,eAAeE,MAAOtE,KAAKyE,QAAU,SAAW,cAAgB,QACvFR,EAAA,KAAAC,IAAA,mDAGHlE,KAAKyjC,WACJx/B,EAAA,OAAAC,IAAA,2CAAK8D,MAAM,6BAA6BC,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOjE,MAAO,SAASnE,KAAKyE,SAASzE,KAAK+U,YAChI9Q,EAAA,QAAAC,IAAA,2CACEmE,EAAE,uEACF8E,OAAO,UACM,qBACE,yBAAO,kBACN,aAO3BnN,KAAKoE,OAAS,aAAepE,KAAKyU,aACjCxQ,EAAwB,cAAAC,IAAA,6DAAM4K,MAAM,OAAO3K,MAAM,WAC/CF,EAAA,KAAAC,IAAA,2CAAGY,KAAK,SAAS9E,KAAK8B,Q,gGClGlC,MAAMwzC,GAAuB,6vtE,MCShBC,GAAiB,MAN9B,WAAAz1C,CAAAC,G,UAOYC,KAAUwG,WAAW,GAErBxG,KAAAyE,MAA+BgC,EAAsB+uC,QACrDx1C,KAAAy1C,oBAA8Bz1C,KAAKyE,KAyC9C,CAvCG,MAAAT,GACI,MAAO,CACLC,EAAA,OAAAC,IAAA,4CACGlE,KAAKwG,aAAe,oBAAsBvC,EAAA,OAAAC,IAAA,2CAAKC,MAAO,eAAenE,KAAKqE,QAAQrE,KAAKy1C,wBACvFz1C,KAAKwG,aAAe,YACnBvC,EAAA,OAAAC,IAAA,2CAAK8D,MAAM,6BAA6BC,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOjE,MAAO,YAAYnE,KAAKqE,QACrHJ,EAAA,KAAAC,IAAA,uDAAa,uBACXD,EAAA,QAAAC,IAAA,2CACEmE,EAAE,wkDACFD,KAAK,YAEPnE,EAAA,QAAAC,IAAA,2CAAMmE,EAAE,sEAAsE8E,OAAO,QAAqB,qBAAqB,yBAAwB,6BAEzJlJ,EAAA,QAAAC,IAAA,4CACED,EAAU,YAAAC,IAAA,2CAAAwI,GAAG,iBACXzI,EAAA,QAAAC,IAAA,2CAAM+D,MAAM,KAAKC,OAAO,KAAKE,KAAK,aAKzCpI,KAAKwG,aAAe,WACnBvC,EAAA,OAAAC,IAAA,2CAAK8D,MAAM,6BAA6BC,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOjE,MAAO,WAAWnE,KAAKqE,QACpHJ,EAAA,QAAAC,IAAA,2CACEmE,EAAE,6eACFD,KAAK,UACL+E,OAAO,QAAO,eACD,QAEflJ,EAAA,QAAAC,IAAA,uDACY,UAAS,YACT,UACVmE,EAAE,49BACFD,KAAK,Y,eC/CvB,MAAMstC,GAAqB,q63E,MCQdC,GAAe,MAL5B,WAAA71C,CAAAC,G,+CAMUC,KAAOmQ,QAAY,MAEnBnQ,KAASysC,UAAY,MACrBzsC,KAAK2M,MAAY,MAEjB3M,KAAO41C,QAAW,EA8E3B,CAzEC,cAAAC,GACE,OAAQ71C,KAAKqE,MACX,IAAK,KACH,MAAO,iBACT,IAAK,KACH,MAAO,iB,CAIb,qBAAAyxC,GACE,OAAQ91C,KAAKqE,MACX,IAAK,KACH,MAAO,oBACT,IAAK,KACH,MAAO,oB,CAIb,mBAAA0xC,GACE,OAAQ/1C,KAAKqE,MACX,IAAK,KACH,MAAO,iBACT,IAAK,KACH,MAAO,iB,CAIb,gBAAA3C,GACE,MAAMs0C,EAAWh2C,KAAK4B,GAAGC,cAAc,kBAEvC,GAAGm0C,EAAU,CACTA,EAASj0C,UAAUC,IAAIhC,KAAK+1C,sB,EAIlC,WAAAvO,GACExnC,KAAKi2C,WAAWvzC,M,CAGlB,MAAAsB,GACE,OACEC,EACA,OAAAC,IAAA,2CAAAC,MAAO,kBAAkBnE,KAAKoE,eAC5BpE,KAAKmQ,QAAU,UAAY,cAC3BnQ,KAAKysC,UAAY,aAAe,cAChCzsC,KAAKqE,eACLrE,KAAKk2C,YACP3xC,QAAS,IAAMvE,KAAKwnC,eAElBvjC,EAAA,KAAAC,IAAA,2CAAGC,MAAO,IAAInE,KAAKmQ,QAAU,WAAa,MAAMnQ,KAAKmQ,QAAUnQ,KAAK81C,wBAA0B91C,KAAK61C,oBAAqB71C,KAAK41C,SAC5H51C,KAAK2M,OACJ1I,EAAA,YAAAC,IAAA,2CACEG,KAAK,KACLD,KAAK,aACLE,MACEtE,KAAKmQ,SAAWnQ,KAAKoE,OAAS,iBAC1B,cACApE,KAAKmQ,SAAWnQ,KAAKoE,OAAS,YAC9B,cACApE,KAAKmQ,SAAWnQ,KAAKoE,OAAS,mBAC9B,cAEFpE,KAAKmQ,SAAWnQ,KAAKoE,OAAS,OAC5B,cACA,QAGNH,EAAM,QAAAC,IAAA,2CAAAM,KAAK,W,uCCtFvB,MAAM2xC,GAAmB,+lsE,MCQZC,GAAa,MAL1B,WAAAt2C,CAAAC,G,oTAMUC,KAAUq2C,WAAY,MACtBr2C,KAAiBs2C,kBAAY,MAC7Bt2C,KAAYu2C,aAAY,KACxBv2C,KAAUqhC,WAAY,MACtBrhC,KAAUw2C,WAAY,MACtBx2C,KAAiBy2C,kBAAY,MAC7Bz2C,KAAiB02C,kBAAW,GAC5B12C,KAAgB22C,iBAAY,MAE5B32C,KAAW42C,YAAW,EACtB52C,KAAcu/B,eAAY,MAC1Bv/B,KAAiB62C,kBAAc,UAC/B72C,KAAA0/B,SAAsBh7B,EAAUC,QAChC3E,KAAA2/B,SAAsBj7B,EAAUC,QAChC3E,KAAc82C,eAAY,MACzB92C,KAAAyP,MAAQ,CACf,CAAE3N,MAAO,OAAQqO,QAAS,MAAOnL,KAAM,wBACvC,CAAElD,MAAO,OAAQqO,QAAS,KAAMnL,KAAM,uCAEhChF,KAAA+2C,UAAmB,GAmBnB/2C,KAAIgY,KAAuB,SAC3BhY,KAAqBg3C,sBAAW,wBAChCh3C,KAAsBi3C,uBAAyB,QAC9Cj3C,KAAAiI,MAAgB0N,OAAOi7B,WAEvB5wC,KAAkBk3C,mBAAY,MAC9Bl3C,KAAiBm3C,kBAAY,MAqC9Bn3C,KAAYkuC,aAAG,KACrBluC,KAAKiI,MAAQ0N,OAAOi7B,WACpB5wC,KAAKo3C,kBAAkB,CA+I1B,CA3KC,gBAAA11C,GACE8a,SAASyP,iBAAiB,QAASjsB,KAAKiiC,mB,CAG1C,iBAAAp6B,GACE7H,KAAKo3C,mBACLzhC,OAAOsW,iBAAiB,SAAUjsB,KAAKkuC,cACvCluC,KAAK+2C,UAAUM,QAAQ,S,CAGzB,2BAAAC,CAA4BtuC,GAC1B,GAAIA,EAAKxG,SAAW,SAAU,CAC5BxC,KAAKm3C,kBAAoB,I,KACpB,CACLn3C,KAAKm3C,kBAAoB,K,EAI7B,gBAAAI,CAAiBtgC,GACfjX,KAAK4+B,WAAWl8B,KAAKuU,EAAKzU,O,CAG5B,cAAAmjC,GACE3lC,KAAKk3C,oBAAsBl3C,KAAKk3C,kB,CAQ1B,gBAAAE,GACNp3C,KAAKw3C,WAAax3C,KAAKiI,MAAQ,KAAO,OAAS,S,CAGjD,SAAAwvC,CAAUzS,GACRhlC,KAAKgiC,kBAAkBt/B,KAAKsiC,E,CAG9B,qBAAA0S,GACE13C,KAAK23C,oBAAoBj1C,M,CAG3B,aAAAk1C,CAAcC,GACZ73C,KAAK+/B,cAAcr9B,KAAKm1C,E,CAG1B,sBAAAC,GACE93C,KAAK+3C,qBAAqBr1C,M,CAG5B,qBAAAs1C,CAAsBC,GAEpBj4C,KAAKk4C,oBAAoBx1C,KAAKu1C,EAAOz1C,O,CAIvC,kBAAAy/B,CAAmB1/B,GACjB,GAAIvC,KAAKk3C,qBAAuBl3C,KAAK4B,GAAG+rB,SAASprB,EAAMub,QAAiB,CACtE9d,KAAKk3C,mBAAqB,K,EAI9B,oBAAA3Y,GACE/hB,SAAS2P,oBAAoB,QAASnsB,KAAKiiC,mB,CAG7C,MAAAj+B,GACE,OACEC,EAAA,OAAAC,IAAA,2CAAKC,MAAM,oBACTF,EAAK,OAAAC,IAAA,2CAAAC,MAAM,wBACRnE,KAAKu2C,cAAgBtyC,EAAG,KAAAC,IAAA,2CAAAC,MAAM,mCAAmCnE,KAAK02C,mBACtE12C,KAAK82C,gBACJ7yC,EAAK,OAAAC,IAAA,2CAAAC,MAAM,gBACTF,EAAK,OAAAC,IAAA,2CAAAC,MAAM,iBACTF,EACmB,qBAAAC,IAAA,qEACjBqC,YAAY,kBACZlC,KAAK,KACLI,MAAM,UACNL,KAAK,eACLE,MAAM,OACY,2BAAM,eACX,yBAAwB,gBACvB,SACdU,KAAK,QACLyK,MAAOzP,KAAK+2C,UACZpF,uBAAwB3xC,KAAKs3C,4BAA4BzyC,KAAK7E,OAE9DiE,EAAI,MAAAC,IAAA,2CAAAY,KAAK,YAAkB,MAC3Bb,EAAG,KAAAC,IAAA,2CAAAY,KAAK,iBAAmC,mBAC3Cb,EAAA,KAAAC,IAAA,2CAAGY,KAAK,2BAAyB,+CAGpC9E,KAAKm3C,mBACJlzC,EAAK,OAAAC,IAAA,2CAAAC,MAAM,cACTF,EAAgB,kBAAAC,IAAA,2CAAA8T,KAAMhY,KAAKgY,KAAMzR,YAAavG,KAAKg3C,sBAAuBmB,aAAcn4C,KAAKu3C,iBAAiB1yC,KAAK7E,UAK3HiE,EAAK,OAAAC,IAAA,2CAAAC,MAAM,WACRnE,KAAKqhC,YACJp9B,EAAK,OAAAC,IAAA,2CAAAC,MAAM,eACTF,EAAA,kBAAAC,IAAA,2CACEG,KAAK,KACLD,KAAK,eAAc,YACT,uBACVmC,YAAY,SAAQ,gCACW,KAC/Bs8B,oBAAqB7iC,KAAKy3C,UAAU5yC,KAAK7E,SAI/CiE,EAAK,OAAAC,IAAA,2CAAAC,MAAM,UACRnE,KAAK22C,kBAAoB1yC,EAAiB,mBAAAC,IAAA,2CAAAuL,MAAOzP,KAAKyP,MAAOzK,KAAK,OAAOozC,eAAgBp4C,KAAKg4C,sBAAsBnzC,KAAK7E,QACzHA,KAAKs2C,mBACJryC,EAAW,aAAAC,IAAA,2CAAAG,KAAK,KAAKU,UAAU,iBAAiBC,KAAMhF,KAAKiI,OAAS,KAAO,OAAS,UAAyB,oBAAI,oBAAoB,4BACnIhE,EAAA,KAAAC,IAAA,wDAGHlE,KAAKq2C,YACJpyC,EAAA,oBAAAC,IAAA,2CAAkBO,MAAOzE,KAAKq4C,YAAW,YAAar4C,KAAKiI,OAAS,KAAO,KAAO,MAAO1D,QAAS,IAAMvE,KAAK03C,yBAC3GzzC,EAAG,KAAAC,IAAA,2CAAAY,KAAK,gBAAgB9E,KAAK42C,cAGhC52C,KAAKw2C,YACJvyC,EAAK,OAAAC,IAAA,2CAAAC,MAAM,UACTF,EACE,aAAAC,IAAA,2CAAAG,KAAK,KACLI,MAAOzE,KAAK62C,kBACZ9xC,UAAU,iBACVC,KAAMhF,KAAKiI,OAAS,KAAO,OAAS,UAAS,eAC/B,KAAI,oBACA,yBAAwB,gBAC3BjI,KAAKiI,OAAS,KAAO,MAAQ,KAAI,qBAC7B,2BACnB1D,QAAS,IAAMvE,KAAK2lC,kBAEpB1hC,EAAA,KAAAC,IAAA,uDAEDlE,KAAKk3C,oBACJjzC,EAAA,sBAAAC,IAAA,2CACEgB,IAAKtD,GAAO5B,KAAKs4C,eAAiB12C,EAAG,mBACnB5B,KAAKu/B,eAAc,YAC1Bv/B,KAAK0/B,SAAQ,YACb1/B,KAAK2/B,SAChBC,gBAAiB,IAAM5/B,KAAK43C,cAAc/yC,KAAK7E,MAC/CmE,MAAO,YAAYnE,KAAKi3C,4BAK/Bj3C,KAAKy2C,mBACJxyC,EAAK,OAAAC,IAAA,2CAAAC,MAAM,kBACTF,EACE,aAAAC,IAAA,2CAAAG,KAAK,KACLU,UAAU,iBACVC,KAAMhF,KAAKiI,OAAS,KAAO,OAAS,UACtB,oBAAI,oBACA,qBAClB1D,QAAS,IAAMvE,KAAK83C,+B,uCCjOxC,MAAMS,GAAW,02rE,MCQJC,GAAK,M,wEAUhB,gBAAMC,G,CAIN,iBAAAn2C,G,CAIA,gBAAAZ,GACE,MAAMyR,EAAYnT,KAAK4B,GAAGC,cAAc,KAExC,GAAGsR,EAAW,CACZ,GAAGnT,KAAKqE,OAAS,KAAM,CACrB8O,EAAUpR,UAAUC,IAAI,iB,MACnB,GAAGhC,KAAKqE,OAAS,KAAM,CAC5B8O,EAAUpR,UAAUC,IAAI,iB,MACnB,GAAGhC,KAAKqE,OAAS,KAAM,CAC5B8O,EAAUpR,UAAUC,IAAI,iB,GAK9B,MAAAgC,GACE,MAAM4I,EAAWf,EAAa,GAAG7L,KAAK4M,YAEtC,OACE3I,EAAA,OAAAC,IAAA,2CAAKC,MAAO,aAAanE,KAAKqE,QAC5BJ,EAAA,OAAAC,IAAA,2CAAKC,MAAO,WAAWnE,KAAKqE,QACzBrE,KAAKm/B,UAAYl7B,EAAA,mBAAAC,IAAA,2CAAiBG,KAAMrE,KAAKqE,OAC7CrE,KAAKgF,OAAS,SAAWf,EAAK0K,EAAA,MAC9B3O,KAAKgF,OAAS,WACbf,EAAA,OAAAC,IAAA,2CAAKC,MAAM,kBACTF,EAAK,OAAAC,IAAA,2CAAAiI,IAAKS,EAAUM,IAAI,kBAG3BlN,KAAKgF,OAAS,UACbf,EAAA,aAAAC,IAAA,2CAAWC,MAAM,cAAcE,KAAK,MAAkB,sBAAQO,KAAM,MAAON,MAAM,QAE/EL,EAAM,QAAAC,IAAA,2CAAAM,KAAK,QAAQM,KAAK,WAG3B9E,KAAKgF,OAAS,OACbf,EAAK,OAAAC,IAAA,2CAAA8D,MAAM,6BAA6BC,MAAM,IAAIC,OAAO,IAAIC,QAAQ,UAAUC,KAAK,QAClFnE,EAAA,UAAAC,IAAA,2CAAQ4I,GAAG,IAAIC,GAAG,IAAIC,EAAE,IAAI5E,KAAK,aAGrCnE,EAAK,OAAAC,IAAA,2CAAAC,MAAM,SACTF,EAAA,QAAAC,IAAA,8CAEDlE,KAAK+T,SAAW,SACf9P,EAAA,gBAAAC,IAAA,2CAAcG,KAAMrE,KAAKqE,MACvBJ,EAAM,QAAAC,IAAA,2CAAAY,KAAK,QAAQN,KAAK,YAI7BxE,KAAK+T,SAAW,WAAa9P,EAAA,gBAAAC,IAAA,2CAAcG,KAAMrE,KAAKqE,KAAME,QAAS,IAAMvE,KAAKy4C,e,uCCzEzF,MAAMC,GAAmB,8irE,MCSZC,GAAa,MAN1B,WAAA74C,CAAAC,G,+DAOYC,KAAOyB,QAAY,MACnBzB,KAAIqE,KAAiB,KACrBrE,KAAQsO,SAAY,KAmB/B,CAhBG,MAAAtK,GACE,OACEC,EAAA,SAAAC,IAAA,2CAAOC,MAAO,sBAAsBnE,KAAKqE,QAAQrE,KAAKsO,SAAW,WAAa,MAC5ErK,EAAA,SAAAC,IAAA,2CACEE,KAAK,WACL3C,QAASzB,KAAKyB,QACd6M,SAAUtO,KAAKsO,WAEjBrK,EAAA,QAAAC,IAAA,2CAAMC,MAAO,mBAAmBnE,KAAKqE,QACnCJ,EAAA,OAAAC,IAAA,2CAAKC,MAAM,YAAY6D,MAAM,6BAA6BG,QAAQ,YAAYC,KAAK,QACjFnE,EAAA,QAAAC,IAAA,2CAAMmE,EAAE,qEAAqE8E,OAAO,QAAqB,yBAAyB,yBAAO,kBAAiB,Y,eCzBxK,MAAMyrC,GAAgB,yopE,MCSTC,GAAU,M,yBAGnB,MAAA70C,GACI,OACIC,EAAK,OAAAC,IAAA,2CAAAC,MAAOnE,KAAKqE,MACbJ,EAAA,OAAAC,IAAA,2CAAK8D,MAAM,6BAA6BC,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,QACpFnE,EAAA,QAAAC,IAAA,2CAAMmE,EAAE,iEAAiE8E,OAAO,UAAS,eAAc,MAAK,iBAAgB,QAAwB,6B,eChBxK,MAAM2rC,GAAgB,y4qE,MCSTC,GAAU,M,yBAGnB,MAAA/0C,GACI,OACIC,EAAK,OAAAC,IAAA,2CAAAC,MAAOnE,KAAKqE,MACbJ,EAAA,QAAAC,IAAA,2CAAMM,KAAK,U,eCf3B,MAAMw0C,GAA0B,82tE,MCQnBC,GAAoB,MALjC,WAAAn5C,CAAAC,G,mEAQUC,KAAWoG,YAAY,MACvBpG,KAAek5C,gBAAW,GAC1Bl5C,KAAS0P,UAAY,MACrB1P,KAAK8B,MAAW,GAChB9B,KAAYonC,aAAY,MACxBpnC,KAAQ+jC,SAAW,GACnB/jC,KAASokC,UAAW,GAEHpkC,KAAUgoC,WAAY,MACtBhoC,KAAAyqB,MAAa,GAQbzqB,KAAAioC,QAAiB,GAajCjoC,KAAOuc,QAAW,GAClBvc,KAAUglC,WAAW,GACrBhlC,KAAam5C,cAAU,GACvBn5C,KAAWsoC,YAAW,OACtBtoC,KAAUuoC,WAAW,OACrBvoC,KAAIwoC,KAAY,MAChBxoC,KAASo5C,UAAU,GACnBp5C,KAAaukC,cAAU,GACvBvkC,KAAewkC,gBAAU,GAO1BxkC,KAAQ0oC,SAAW,EAwT5B,CAtTC,iBAAA2Q,G,QACE,GAAIr5C,KAAKoE,OAAS,OAAQ,CACxBoY,SAASyP,iBAAiB,QAASjsB,KAAKiiC,qBACxC1gB,EAAAvhB,KAAKuqC,gBAAc,MAAAhpB,SAAA,SAAAA,EAAA0K,iBAAiB,QAASjsB,KAAK+pC,eAAellC,KAAK7E,M,KACjE,EACLwhB,EAAAxhB,KAAKuqC,gBAAc,MAAA/oB,SAAA,SAAAA,EAAAyK,iBAAiB,QAASjsB,KAAK6qC,YAAYhmC,KAAK7E,M,EAIvE,gBAAA0B,GACE1B,KAAKgqC,kB,CAGP,iBAAAniC,GACE7H,KAAKyrC,oBAAoBzrC,KAAKyqB,M,CAGhC,oBAAA8T,G,QACE,GAAGv+B,KAAKoE,OAAS,OAAQ,EACvBmd,EAAAvhB,KAAKuqC,gBAAc,MAAAhpB,SAAA,SAAAA,EAAA4K,oBAAoB,QAASnsB,KAAK+pC,eAAellC,KAAK7E,OACzEwc,SAAS2P,oBAAoB,QAASnsB,KAAKiiC,mB,KACtC,EACLzgB,EAAAxhB,KAAKuqC,gBAAc,MAAA/oB,SAAA,SAAAA,EAAA2K,oBAAoB,QAASnsB,KAAK6qC,YAAYhmC,KAAK7E,M,EAI1E,WAAA6qC,GACE7qC,KAAKs5C,SAASxrC,MAAM5F,OAAS,OAC7BlI,KAAKs5C,SAASxrC,MAAM5F,OAAS,GAAGlI,KAAKs5C,SAASC,aAAe,OAC7Dv5C,KAAKw5C,qBAAqB92C,KAAK1C,KAAKs5C,SAAS7uB,M,CAG/C,gBAAA2gB,GACE,GAAIprC,KAAKoG,YAAa,CACpBpG,KAAKoG,YAAc,K,EAIvB,cAAA2jC,CAAexnC,GACb,MAAMub,EAASvb,EAAMub,OACrB9d,KAAKglC,WAAalnB,EAAO2M,MACzBzqB,KAAKw5C,qBAAqB92C,KAAK1C,KAAKukC,eAEpC,GAAIvkC,KAAKglC,WAAWliB,SAAW,GAAI,CACjC9iB,KAAKwoC,KAAO,MAEZ,M,CAIF5sB,YAAW,KAET5b,KAAKwoC,KAAOxoC,KAAKioC,QAAQvgC,OAAS,CAAC,GAClC,KAEH1H,KAAKgqC,kB,CAGP,cAAAyP,GACEz5C,KAAKw5C,qBAAqB92C,KAAK1C,KAAKukC,c,CAGtC,eAAA+B,CAAgBv2B,GACd,GAAI/P,KAAKyqB,MAAM/iB,OAAS,EAAG,CACzB1H,KAAKyqB,MAAQ,IAAIzqB,KAAKyqB,MAAMxP,MAAM,EAAGlL,MAAW/P,KAAKyqB,MAAMxP,MAAMlL,EAAQ,IACzE/P,KAAKmqC,eACLnqC,KAAKy5C,gB,KACA,CACLz5C,KAAKukC,cAAgB,IAAIvkC,KAAKukC,cAActpB,MAAM,EAAGlL,MAAW/P,KAAKukC,cAActpB,MAAMlL,EAAQ,IACjG/P,KAAKmqC,eACLnqC,KAAKy5C,gB,EAIT,YAAAtP,GACEvuB,YAAW,KACT,GAAI5b,KAAKoqC,sBAAuB,CAC9B,MAAMC,EAAerqC,KAAKoqC,sBAAsBpgB,YAChD,MAAMsgB,EAAatqC,KAAKuqC,aAAavgB,YAErChqB,KAAKsoC,YAActoC,KAAKukC,cAAc78B,SAAW,EAAI,OAAS,GAAG2iC,EAAe,OAEhFrqC,KAAKuoC,WAAavoC,KAAKukC,cAAc78B,OAAS,EAAI,OAAS,GAAG4iC,EAAa,M,KAI/E,GAAItqC,KAAKoG,YAAa,CACpBpG,KAAKoG,YAAc,K,CAErBpG,KAAKglC,WAAa,E,CAGpB,eAAA0U,CAAgBC,GACd,MAAMC,EAAW55C,KAAKioC,QAEtB,OAAO2R,EAAS9jB,QAAO+jB,GAASA,EAAM3P,WAAWpiC,cAAc29B,SAASkU,EAAM7xC,gB,CAGhF,WAAAgyC,CAAYD,GACV75C,KAAKm5C,cAAgB,IAAIn5C,KAAKm5C,cAAeU,GAC7C75C,KAAKglC,WAAa,GAClBhlC,KAAKo5C,UAAY,GACjBp5C,KAAKmqC,c,CAGP,gBAAAH,GACE,GAAIhqC,KAAK2rC,WAAY,CACnB,MAAMljB,EAAQzoB,KAAK4B,GAAG68B,WAAW58B,cAAc,SAG/C,MAAM+pC,EAAkBrkC,KAAK6c,IAAIpkB,KAAK2rC,WAAW3hB,YAAc,GAAIhqB,KAAK0oC,UACxEjgB,EAAM3a,MAAM7F,MAAQ,GAAG2jC,K,EAI3B,kBAAAC,GACE7rC,KAAKuqC,aAAa7a,O,CAGpB,kBAAAua,CAAmBjhC,GACjB,GAAIhJ,KAAKyqB,MAAM/iB,SAAW,EAAG,CAC3B,MAAMm+B,SAAkB78B,IAAS,SACjC,MAAMq9B,EAAarmC,KAAKukC,cAAcjQ,MAAKtkB,GAAM61B,EAAW71B,EAAEk6B,aAAelhC,EAAKkhC,WAAal6B,IAAMhH,IACrG,GAAIq9B,EAAY,CAEdrmC,KAAKukC,cAAgBvkC,KAAKukC,cAAczO,QAAO9lB,GAAM61B,EAAW71B,EAAEk6B,aAAelhC,EAAKkhC,WAAal6B,IAAMhH,IACzG,IAAKhJ,KAAKwkC,gBAAgBlQ,MAAKtkB,GAAM61B,EAAW71B,EAAEk6B,aAAelhC,EAAKkhC,WAAal6B,IAAMhH,IAAQ,CAC/FhJ,KAAKwkC,gBAAkB,IAAIxkC,KAAKwkC,gBAAiBx7B,E,CAEnDhJ,KAAKw5C,qBAAqB92C,KAAK1C,KAAKukC,c,KAC/B,CAELvkC,KAAKukC,cAAgB,IAAIvkC,KAAKukC,cAAev7B,GAC7ChJ,KAAKwkC,gBAAkBxkC,KAAKwkC,gBAAgB1O,QAAO9lB,GAAM61B,EAAW71B,EAAEk6B,aAAelhC,EAAKkhC,WAAal6B,IAAMhH,IAC7GhJ,KAAKw5C,qBAAqB92C,KAAK1C,KAAKukC,c,MAEjC,CACL,MAAMsB,SAAkB78B,IAAS,SACjC,MAAMq9B,EAAarmC,KAAKukC,cAAcjQ,MAAKtkB,GAAM61B,EAAW71B,EAAEk6B,aAAelhC,EAAKkhC,WAAal6B,IAAMhH,IAErG,GAAIq9B,EAAY,CACdrmC,KAAKyqB,MAAQzqB,KAAKyqB,MAAMqL,QAAO9lB,GAAM61B,EAAW71B,EAAEk6B,aAAelhC,EAAKkhC,WAAal6B,IAAMhH,IACzFuD,QAAQ+1B,IAAItiC,KAAKyqB,OACjBzqB,KAAKw5C,qBAAqB92C,KAAK1C,KAAKyqB,M,KAC/B,CACLzqB,KAAKyqB,MAAQ,IAAIzqB,KAAKyqB,MAAOzhB,GAC7BhJ,KAAKw5C,qBAAqB92C,KAAK1C,KAAKyqB,M,EAIxCzqB,KAAKmqC,c,CAIP,mBAAAsB,CAAoBvpC,GAClB,GAAI8Z,MAAMuqB,QAAQrkC,IAAaA,EAASwF,OAAS,EAAG,CAClD1H,KAAKukC,cAAgB,GACrBvkC,KAAKwkC,gBAAkB,GAEvB,MAAMgC,EAAetkC,EAAS4zB,QAAOrS,UAAcA,IAAQ,UAAYA,IAAQ,OAC/E,MAAMgjB,EAAkBvkC,EAAS4zB,QAAOrS,UAAcA,IAAQ,WAE9DzjB,KAAKukC,cAAgBvkC,KAAKioC,QAAQnS,QAAO9sB,UAChCA,IAAS,UAAYA,IAAS,KACjCw9B,EAAalS,MAAK7Q,GAAO4T,KAAKE,UAAU9T,KAAS4T,KAAKE,UAAUvuB,KAChEy9B,EAAgBhB,SAASz8B,KAG/BhJ,KAAKwkC,gBAAkBxkC,KAAKioC,QAAQnS,QAAO9sB,UAClCA,IAAS,UAAYA,IAAS,MAAQw9B,EAAalS,MAAK7Q,GAAO4T,KAAKE,UAAU9T,KAAS4T,KAAKE,UAAUvuB,MAAUy9B,EAAgBhB,SAASz8B,I,KAE7I,CACLhJ,KAAKukC,cAAgB,GACrBvkC,KAAKwkC,gBAAkB,IAAIxkC,KAAKioC,Q,EAIpC,iBAAAuD,CAAkBxiC,GAGhB,MAAM68B,SAAkB78B,IAAS,SACjC,OAAOhJ,KAAKukC,cAAcjQ,MAAKtkB,GAAM61B,EAAW71B,EAAEk6B,aAAelhC,EAAKkhC,WAAal6B,IAAMhH,G,CAI3F,kBAAAi5B,CAAmB1/B,GACjB,GAAIvC,KAAKwoC,OAASxoC,KAAK4B,GAAG+rB,SAASprB,EAAMub,QAAiB,CACxD9d,KAAKwoC,KAAO,K,EAIhB,MAAAxkC,GACE,OACEC,EAAA,OAAAC,IAAA,2CAAKC,MAAM,sBACTF,EAAK,OAAAC,IAAA,2CAAAC,MAAM,oBACRnE,KAAK0P,WAAazL,EAAG,KAAAC,IAAA,2CAAAC,MAAO,wBAAyBnE,KAAK8B,OAC1D9B,KAAKoE,OAAS,WACbH,EAAA,YAAAC,IAAA,2CACEgB,IAAKtD,GAAO5B,KAAKs5C,SAAW13C,EAC5BklC,QAAS,IAAM9mC,KAAK6qC,cACpBoB,QAAS,IAAMjsC,KAAKorC,mBACpBjnC,MAAO,6BAA6BnE,KAAKyE,SAASzE,KAAKoG,YAAc,cAAgB,KACrFG,YAAavG,KAAKk5C,gBAClBzuB,MAAOzqB,KAAKglC,aAGfhlC,KAAKoE,OAAS,QACbH,EAAA,OAAAC,IAAA,2CAAKC,MAAM,iBACTF,EAAA,OAAAC,IAAA,2CAAKC,MAAO,YAAYnE,KAAKoE,QAAQpE,KAAKyE,SAASzE,KAAKoG,YAAc,cAAgB,KAAM7B,QAAS,IAAMvE,KAAK6rC,sBAC9G5nC,EAAA,OAAAC,IAAA,2CAAKC,MAAO,mBAAmBnE,KAAKyE,QAAU,WAAa,WAAa,KAAMS,IAAKtD,GAAO5B,KAAKoqC,sBAAwBxoC,GACpH5B,KAAKyqB,MAAM/iB,SAAW,EACrBzD,EAAA0K,EAAA,KACG3O,KAAKukC,cAAcx6B,KAAI,CAACf,EAAM+G,IAC7B9L,EAAA0K,EAAA,YACU3F,IAAS,SACf/E,EAAA,OAAKE,MAAM,YAAYD,IAAK6L,GAC1B9L,EAAA,UAAQI,KAAK,KAAKW,KAAMhF,KAAKgF,KAAOhF,KAAKgF,KAAO,SAAU+O,OAAO,UAAUxP,QAAS,IAAMvE,KAAKsmC,gBAAgBv2B,IAC7G9L,EAAA,KAAGE,MAAM,kBAAkB6E,EAAKkhC,WAAWjoB,MAAM,KAAK,IACtDhe,EAAI,MAAAa,KAAK,WAAWX,MAAM,sBACvB6E,EAAKkhC,WACHjoB,MAAM,KACNlY,KAAI88B,GAAQA,EAAK7Q,OAAO,GAAG4Q,gBAC3BxkB,KAAK,OAKdne,EAAA,OAAKE,MAAM,YAAYD,IAAK6L,GAC1B9L,EAAA,UAAQI,KAAK,KAAKW,KAAMhF,KAAKgF,KAAOhF,KAAKgF,KAAO,SAAU+O,OAAO,UAAUxP,QAAS,IAAMvE,KAAKsmC,gBAAgBv2B,IAC7G9L,EAAA,KAAGE,MAAM,kBAAkB6E,SAQvC/E,EAAA0K,EAAA,KACG3O,KAAKyqB,MAAM1gB,KAAI,CAAC0Z,EAAK1T,IACpB9L,EAAA0K,EAAA,YACU8U,IAAQ,SACdxf,EAAA,UAAQI,KAAK,KAAK0P,OAAO,UAAU/O,KAAMhF,KAAKgF,KAAOhF,KAAKgF,KAAO,SAAUT,QAAS,IAAMvE,KAAKsmC,gBAAgBv2B,GAAQ7L,IAAK6L,GAC1H9L,EAAA,MAAIE,MAAM,qBAAqBW,KAAK,YACjC2e,EAAIymB,WAAWjoB,MAAM,KAAKlY,KAAI88B,GAAQA,EAAK7Q,OAAO,GAAG4Q,iBAExD3iC,EAAI,SAAAwf,EAAIymB,WAAWjoB,MAAM,KAAK,KAGhChe,EAAQ,UAAAI,KAAK,KAAK0P,OAAO,UAAU/O,KAAMhF,KAAKgF,KAAOhF,KAAKgF,KAAO,SAAUT,QAAS,IAAMvE,KAAKsmC,gBAAgBv2B,GAAQ7L,IAAK6L,GAC1H9L,EAAI,SAAAwf,QAOhBxf,EAAM,QAAAC,IAAA,2CAAAC,MAAM,cAAce,IAAKtD,GAAO5B,KAAK2rC,WAAa/pC,GACrD5B,KAAKglC,YAAc,MAEtB/gC,EAAK,OAAAC,IAAA,2CAAAC,MAAM,eACTF,EAAA,SAAAC,IAAA,2CACEwI,GAAI1M,KAAKmG,UACThC,MAAO,8BAA8BnE,KAAKyE,QAC1CL,KAAK,OAELqmB,MAAOzqB,KAAKglC,WACZoH,SAAUpsC,KAAKgoC,WACf9iC,IAAKtD,GAAO5B,KAAKuqC,aAAe3oC,EAChCurB,OAAQ,IAAMntB,KAAKy5C,qBAIxBz5C,KAAKoG,aACJnC,EAAK,OAAAC,IAAA,2CAAAC,MAAM,aACTF,EAAA,OAAAC,IAAA,2CAAK8D,MAAM,6BAA6BC,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,QACtFnE,EAAA,QAAAC,IAAA,2CACEmE,EAAE,8PACF8E,OAAO,UAAS,eACH,UAAS,iBACP,QACC,+BAMzBnN,KAAKwoC,MACJvkC,EAAA,OAAAC,IAAA,2CAAKC,MAAO,iBACTnE,KAAKioC,QAAQl+B,KAAIf,GAChB/E,EACE,+BAAAG,KAAK,WACY,uBACjBK,MAAOC,EAAUC,QACjBJ,QAAS,IAAMvE,KAAKiqC,mBAAmBjhC,GACvC6I,SAAU7R,KAAKwrC,kBAAkBxiC,WAEzBA,IAAS,SACb,CAAC/E,EAAG,KAAAa,KAAK,QAAQkE,EAAKkhC,YAAiBjmC,EAAA,KAAGa,KAAK,mBAAmBkE,EAAKqjC,qBAChErjC,IAAS,UAAY/E,EAAA,KAAGa,KAAK,QAAQkE,SAQ7DhJ,KAAKonC,cAAgBnjC,EAAA0K,EAAA,MAAI3O,KAAKoG,YAAcnC,EAAA,KAAGE,MAAM,6BAA6BnE,KAAK+jC,UAAgB9/B,EAAA,KAAGE,MAAM,8BAA8BnE,KAAKokC,Y,mGC5W5J,MAAM2V,GAAgB,4Q,MCQTC,GAAU,MALvB,WAAAl6C,CAAAC,G,yDAQ2BC,KAAgBi6C,iBAAW,QA4CrD,CAzCC,UAAAhE,CAAW9sC,GACTnJ,KAAKi6C,iBAAmB9wC,EACxBnJ,KAAKoJ,gBAAgB1G,KAAKyG,E,CAU5B,MAAAnF,GACE,MAAMk2C,EAAgBruC,EAAa,qBACnC,MAAMsuC,EAAStuC,EAAa,qBAC5B,MAAMuuC,EAAUvuC,EAAa,sBAE7B,OACE5H,EAAA,OAAAC,IAAA,2CAAKC,MAAO,iBACVF,EAAK,OAAAC,IAAA,2CAAAC,MAAM,OACTF,EAAA,uBAAAC,IAAA,2CACEiM,QAASnQ,KAAKi6C,mBAAqB,SAAW,KAAO,MACrDj1C,KAAMk1C,EACNp4C,MAAM,SACNyC,QAAS,IAAMvE,KAAKi2C,WAAW,aAGnChyC,EAAK,OAAAC,IAAA,2CAAAC,MAAM,OACTF,EAAA,uBAAAC,IAAA,2CACEiM,QAASnQ,KAAKi6C,mBAAqB,QAAU,KAAO,MACpDj1C,KAAMm1C,EACNr4C,MAAM,QACNyC,QAAS,IAAMvE,KAAKi2C,WAAW,YAGnChyC,EAAK,OAAAC,IAAA,2CAAAC,MAAM,OACTF,EAAA,uBAAAC,IAAA,2CAAqBiM,QAASnQ,KAAKi6C,mBAAqB,OAAS,KAAO,MAAOj1C,KAAMo1C,EAASt4C,MAAM,OAAOyC,QAAS,IAAMvE,KAAKi2C,WAAW,W,uCClDpJ,MAAMoE,GAAa,ow0E,MCQNC,GAAO,MALpB,WAAAx6C,CAAAC,G,2GAOUC,KAAQu6C,SAAW,GACnBv6C,KAAc0Q,eAAW,GAGzB1Q,KAAIgF,KAAW,GACfhF,KAAYw6C,aAAY,KACxBx6C,KAAOy6C,QAAY,MACnBz6C,KAAkB0jC,mBAAY,KA0LvC,CAlLC,aAAAgX,CAAcx4C,EAAyBssC,GACrCxuC,KAAK26C,cAAgBz4C,C,CAGvB,iBAAA2F,GACE7H,KAAK26C,cAAgB36C,KAAKsE,K,CAG5B,UAAAs2C,GACE56C,KAAKunB,MAAM7kB,M,CAGb,MAAAsB,GACE,OACEC,EAAK,OAAAC,IAAA,2CAAAC,MAAO,aAAanE,KAAK26C,iBAAiB36C,KAAKqE,QAAQrE,KAAKwT,cAC9DxT,KAAKqE,OAAS,YACbJ,EAAA0K,EAAA,KACE1K,EAAA,OAAAC,IAAA,2CAAKC,MAAO,kBACTnE,KAAK26C,gBAAkB,UACtB12C,EAAA,OAAK+D,MAAM,6BAA6BC,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOjE,MAAO,YAAYnE,KAAK26C,iBACrH12C,EACE,QAAAi8B,QAAQ,MACR73B,EAAE,20BACFD,KAAK,uCAEPnE,EACE,QAAAoE,EAAE,2wBACFD,KAAK,wCAGPpI,KAAKsE,QAAU,QACjBL,EAAK,OAAA+D,MAAM,6BAA6BC,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOjE,MAAO,YAAYnE,KAAK26C,iBACrH12C,EACE,QAAAi8B,QAAQ,MACR73B,EAAE,u0BACFD,KAAK,sCAEPnE,EACY,8BACA,sBACVoE,EAAE,oOACFD,KAAK,sCAEPnE,EACY,8BAAS,YACT,UACVoE,EAAE,8OACFD,KAAK,uCAITnE,EAAA,OAAK+D,MAAM,6BAA6BC,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOjE,MAAO,YAAYnE,KAAK26C,iBACrH12C,EACE,QAAAi8B,QAAQ,MACR73B,EAAE,00BACFD,KAAK,+BAEPnE,EACY,8BACA,sBACVoE,EAAE,0fACFD,KAAK,+BAEPnE,EAAA,oBACY,UAAS,YACT,UACVoE,EAAE,oOACFD,KAAK,iCAKbnE,EAAA,OAAAC,IAAA,2CAAKC,MAAO,WAAWnE,KAAKqE,QAAQrE,KAAKy6C,QAAU,WAAa,MAC9Dx2C,EAAA,OAAAC,IAAA,2CAAKC,MAAO,QAAQnE,KAAKqE,QACvBJ,EAAG,KAAAC,IAAA,2CAAAC,MAAO,+BAA+BnE,KAAK26C,iBAAkB36C,KAAKu6C,UACpEv6C,KAAK0jC,oBAAsBz/B,EAAG,KAAAC,IAAA,2CAAAC,MAAO,mCAAmCnE,KAAK26C,iBAAkB36C,KAAK0Q,iBAEtG1Q,KAAKy6C,SACJx2C,EAAA,OAAAC,IAAA,2CAAKC,MAAO,WAAWnE,KAAKqE,SAASrE,KAAK0jC,mBAAqB,eAAiB,MAC7E1jC,KAAKsE,QAAU,UACdL,EAAA0K,EAAA,KACE1K,EAAA,aAAWI,KAAK,KAAKW,KAAK,UAAUP,MAAM,UAAUM,UAAU,aAC5Dd,EAAA,qBAEFA,EAAA,aAAWI,KAAK,KAAKW,KAAK,UAAUP,MAAM,UAAUM,UAAU,cAC5Dd,EAAA,2BAIJA,EAAA0K,EAAA,KACE1K,EAAiB,mBAAAQ,MAAOC,EAAUC,QAASL,MAAOtE,KAAK26C,eACrD12C,EAAA,qBAEFA,EAAiB,mBAAAQ,MAAOC,EAAUC,QAASL,MAAOtE,KAAK26C,eACrD12C,EAAA,6BAOXjE,KAAKw6C,cACJv2C,EAAA,mBAAAC,IAAA,2CACEG,KAAK,KACLC,MAAOtE,KAAK26C,gBAAkB,UAAY,OAAS36C,KAAK26C,gBAAkB,OAAS,OAAS36C,KAAK26C,cACjGx2C,MAAO,gBAAgBnE,KAAKqE,OAC5BE,QAAS,IAAMvE,KAAK46C,gBAK3B56C,KAAKqE,OAAS,cACbJ,EAAK,OAAAC,IAAA,2CAAAC,MAAO,aAAanE,KAAKwT,cAC5BvP,EAAA,OAAAC,IAAA,2CAAKC,MAAO,sBAAsBnE,KAAKwT,cACrCvP,EAAA,OAAAC,IAAA,2CAAKC,MAAO,iBAAiBnE,KAAKwT,cAChCvP,EAAK,OAAAC,IAAA,2CAAAC,MAAO,kBACVF,EAAK,OAAAC,IAAA,2CAAA8D,MAAM,6BAA6BC,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOjE,MAAO,YAAYnE,KAAK26C,iBACrH12C,EACE,QAAAC,IAAA,2CAAAg8B,QAAQ,MACR73B,EAAE,00BACFD,KAAK,YAEPnE,EACY,QAAAC,IAAA,iEACA,sBACVmE,EAAE,0fACFD,KAAK,YAEPnE,EAAA,QAAAC,IAAA,uDACY,UAAS,YACT,UACVmE,EAAE,oOACFD,KAAK,cAIXnE,EAAK,OAAAC,IAAA,2CAAAC,MAAO,QAAQnE,KAAKqE,QAAQrE,KAAKwT,cACpCvP,EAAG,KAAAC,IAAA,2CAAAC,MAAO,+BAA+BnE,KAAK26C,iBAAkB36C,KAAKu6C,UACpEv6C,KAAK0jC,oBAAsBz/B,EAAG,KAAAC,IAAA,2CAAAC,MAAO,mCAAmCnE,KAAK26C,iBAAkB36C,KAAK0Q,kBAGxG1Q,KAAKy6C,SACJx2C,EAAA,OAAAC,IAAA,2CAAKC,MAAO,WAAWnE,KAAKqE,QAAQrE,KAAKwT,eAAexT,KAAK0jC,mBAAqB,eAAiB,MAChG1jC,KAAKsE,QAAU,UACdL,EAAA0K,EAAA,KACE1K,EAAA,aAAWI,KAAK,KAAKW,KAAK,UAAUP,MAAM,UAAUM,UAAU,aAC5Dd,EAAA,qBAEFA,EAAA,aAAWI,KAAK,KAAKW,KAAK,UAAUP,MAAM,UAAUM,UAAU,cAC5Dd,EAAA,2BAIJA,EAAA0K,EAAA,KACE1K,EAAiB,mBAAAQ,MAAOC,EAAUC,QAASL,MAAOtE,KAAK26C,eACrD12C,EAAA,qBAEFA,EAAiB,mBAAAQ,MAAOC,EAAUC,QAASL,MAAOtE,KAAK26C,eACrD12C,EAAA,4BAMTjE,KAAKw6C,cACJv2C,EACE,mBAAAC,IAAA,2CAAAG,KAAK,KACLC,MAAOtE,KAAK26C,gBAAkB,UAAY,OAAS36C,KAAK26C,gBAAkB,OAAS,OAAS36C,KAAK26C,cACjGx2C,MAAO,gBAAgBnE,KAAKwT,aAC5BjP,QAAS,IAAMvE,KAAK46C,iB,6FClMtC,MAAMC,GAAmB,04qE,MCSZC,GAAa,M,yBAKtB,gBAAAp5C,GACI,MAAM+K,EAAiBzM,KAAK4B,GAAGC,cAAc,KAE7C4K,EAAe1K,UAAUC,IAAI,oB,CAGjC,MAAAgC,GACI,OACEC,EAAA,OAAAC,IAAA,2CAAKC,MAAO,gBAAgBnE,KAAKyE,SAASzE,KAAKsE,SAC7CL,EAAa,QAAAC,IAAA,6C,uCCvBzB,MAAM62C,GAAc,2U,MCQPC,GAAQ,MALrB,WAAAl7C,CAAAC,G,qDAQUC,KAAI4E,KAAY,MAChB5E,KAAc0Q,eAAY,MAC1B1Q,KAAOi7C,QAAY,MACnBj7C,KAAQkZ,SAAqB,OA2EtC,CAvEC,gBAAAvI,GACE,OAAQ3Q,KAAKqE,MACX,IAAK,KACH,MAAO,iBACT,IAAK,KACH,MAAO,iB,CAIb,sBAAAuM,GACE,OAAQ5Q,KAAKqE,MACX,IAAK,KACH,MAAO,kBACT,IAAK,KACH,MAAO,kB,CAIb,QAAA62C,CAAS34C,GACPvC,KAAKm7C,cAAcz4C,KAAKH,EAAMC,O,CAGhC,gBAAAd,GACE,MAAMmP,EAAe7Q,KAAK4B,GAAGC,cAAc,sBAC3C,MAAMyH,EAAqBtJ,KAAK4B,GAAGC,cAAc,4BACjD,MAAMu5C,EAAUp7C,KAAK4B,GAAGC,cAAc,SAEtC,GAAIgP,EAAc,CAChBA,EAAa9O,UAAUC,IAAIhC,KAAK2Q,mB,CAGlC,GAAIrH,EAAoB,CACtBA,EAAmBvH,UAAUC,IAAIhC,KAAK4Q,yB,CAGxC,GAAIwqC,EAAS,CACX,IAAKp7C,KAAK0Q,eAAgB,CACxB0qC,EAAQr5C,UAAUC,IAAI,e,GAK5B,MAAAgC,GACE,OACEC,EAAA,OAAAC,IAAA,2CAAKC,MAAO,cAAcnE,KAAKqE,QAC5BrE,KAAKkZ,WAAa,QACjBjV,EAAA0K,EAAA,KACG3O,KAAK4E,MACJX,EAAK,OAAAC,IAAA,2CAAAC,MAAM,QACTF,EAAM,QAAAC,IAAA,2CAAAM,KAAK,cACVxE,KAAK0Q,gBAAkBzM,EAAM,QAAAC,IAAA,2CAAAM,KAAK,sBAK3CP,EAAK,OAAAC,IAAA,2CAAAC,MAAM,eACTF,EAAA,kBAAAC,IAAA,2CAAgBG,KAAMrE,KAAKqE,KAAMI,MAAOzE,KAAKyE,MAAOw2C,QAASj7C,KAAKi7C,QAASI,gBAAiBr7C,KAAKk7C,SAASr2C,KAAK7E,SAEhHA,KAAKkZ,WAAa,SACjBjV,EAAA0K,EAAA,KACG3O,KAAK4E,MACJX,EAAK,OAAAC,IAAA,2CAAAC,MAAM,QACTF,EAAM,QAAAC,IAAA,2CAAAM,KAAK,cACVxE,KAAK0Q,gBAAkBzM,EAAA,QAAAC,IAAA,2CAAMM,KAAK,sB,uCCjFnD,MAAM82C,GAAkB,0mtE,MCQXC,GAAY,MALzB,WAAAz7C,CAAAC,G,qDAQ2BC,KAAOi7C,QAAY,KA0C7C,CAvCS,iBAAAO,GACN,GAAIx7C,KAAKyE,QAAU,UAAW,CAC5BzE,KAAKi7C,SAAWj7C,KAAKi7C,QACrBj7C,KAAKm7C,cAAcz4C,KAAK1C,KAAKi7C,Q,EAIjC,MAAAj3C,GACE,MAAO,CACLC,EAAO,SAAAC,IAAA,2CAAAE,KAAK,WAAWsI,GAAG,iBAAiBvI,MAAO,GAAGnE,KAAKi7C,QAAU,UAAY,KAAMQ,SAAW,OACjGx3C,EAAA,SAAAC,IAAA,2CACEK,QAAS,IAAMvE,KAAKw7C,oBACpBr3C,MAAO,GAAGnE,KAAKqE,QAAQrE,KAAKyE,SAASzE,KAAKi7C,QAAU,UAAY,KAChES,QAAQ,kBAEP17C,KAAKi7C,SAAWj7C,KAAKyE,QAAU,UAC9BR,EAAA,OAAK+D,MAAM,6BAA6BC,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOjE,MAAO,uBAAuBnE,KAAKqE,QAChIJ,EACE,QAAAoE,EAAE,2GACF8E,OAAO,UACM,qBACE,yBACC,6BAGlBnN,KAAKi7C,SAAWj7C,KAAKyE,QAAU,WACjCR,EAAA,OAAK+D,MAAM,6BAA6BC,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAYC,KAAK,OAAOjE,MAAO,wBAAwBnE,KAAKqE,QACjIJ,EACE,QAAAoE,EAAE,2GACF8E,OAAO,UAAS,eACH,MAAK,iBACH,QACC,6BAGlB,M,eCjDZ,MAAMwuC,GAAe,k/vE,MCQRC,GAAS,MALtB,WAAA97C,CAAAC,G,UAMUC,KAASyjC,UAAY,MACrBzjC,KAAK8O,MAAmB,gBACxB9O,KAAkB0jC,mBAAY,MAC9B1jC,KAAM67C,OAAY,IAyC3B,CAtCC,gBAAAn6C,GACE,MAAMmP,EAAe7Q,KAAK4B,GAAGC,cAAc,kBAC3C,MAAMyH,EAAqBtJ,KAAK4B,GAAGC,cAAc,4BAEjD,GAAIgP,EAAc,CAChBA,EAAa9O,UAAUC,IAAI,oB,CAG7B,GAAI6O,GAAgB7Q,KAAK67C,OAAQ,CAC/BhrC,EAAa9O,UAAUC,IAAI,S,CAG7B,GAAI6O,IAAiB7Q,KAAK0jC,qBAAuB1jC,KAAK67C,OAAQ,CAC5DhrC,EAAa9O,UAAUC,IAAI,a,CAG7B,GAAIsH,EAAoB,CACtBA,EAAmBvH,UAAUC,IAAI,kB,EAIrC,aAAA85C,GACE,OAAO97C,KAAKyjC,UAAY,SAASzjC,KAAK8O,QAAU,E,CAGlD,MAAA9K,GACE,OACEC,EAAA,OAAAC,IAAA,2CAAKC,MAAM,qBACTF,EAAK,OAAAC,IAAA,2CAAAC,MAAM,WACRnE,KAAKyjC,WAAax/B,EAAK,OAAAC,IAAA,2CAAAC,MAAOnE,KAAK87C,kBACpC73C,EAAK,OAAAC,IAAA,2CAAAC,MAAM,mBACTF,EAAM,QAAAC,IAAA,2CAAAM,KAAK,UACVxE,KAAK0jC,oBAAsBz/B,EAAA,QAAAC,IAAA,2CAAMM,KAAK,sB,uCC/CnD,MAAMu3C,GAAoB,wF,MCQbC,GAAc,MAL3B,WAAAl8C,CAAAC,G,uDAQ2BC,KAAW8tC,YAAW,EACvC9tC,KAAA4vC,KAA0C,GAUzC5vC,KAAAi8C,aAAkD,IAAIj8C,KAAK4vC,KAiCrE,CA7BC,aAAAsM,CAAcC,GACZn8C,KAAKi8C,aAAeE,C,CAGtB,iBAAAt0C,GACE7H,KAAKi8C,aAAej8C,KAAK4vC,I,CAG3B,oBAAMwM,CAAersC,EAAejO,GAClC9B,KAAK8tC,YAAc/9B,EACnB/P,KAAKq8C,eAAe35C,KAAK,CAAEqN,QAAOjO,S,CAGpC,MAAAkC,GACE,OACEC,EAAK,OAAAC,IAAA,2CAAAC,MAAO,oBACTnE,KAAKi8C,aAAalyC,KAAI,CAACq4B,EAAKryB,IAC3B9L,EAAA,sBACEI,KAAMrE,KAAKqE,KACXD,KAAMpE,KAAKoE,OAAS,qBAAuB,eAAiBpE,KAAKoE,KAAI,WAC3Dg+B,EAAI59B,KACd2L,QAASnQ,KAAK8tC,cAAgB/9B,EAC9BxL,QAAS,IAAMvE,KAAKo8C,eAAersC,EAAOqyB,EAAI59B,MAC9C0xC,UAAU,e","ignoreList":[]}