q2-tecton-elements 1.46.2 → 1.46.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/click-elsewhere_2.cjs.entry.js +16 -11
- package/dist/cjs/click-elsewhere_2.cjs.entry.js.map +1 -1
- package/dist/cjs/{index-0e15dc8d.js → index-6df1e29e.js} +68 -1
- package/dist/cjs/index-6df1e29e.js.map +1 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/q2-action-sheet.cjs.entry.js +1 -1
- package/dist/cjs/q2-btn_2.cjs.entry.js +1 -1
- package/dist/cjs/q2-calendar.cjs.entry.js +1 -1
- package/dist/cjs/q2-card.cjs.entry.js +1 -1
- package/dist/cjs/q2-carousel-pane.cjs.entry.js +1 -1
- package/dist/cjs/q2-carousel.cjs.entry.js +1 -1
- package/dist/cjs/q2-chart-area.cjs.entry.js +1 -1
- package/dist/cjs/q2-chart-bar.cjs.entry.js +1 -1
- package/dist/cjs/q2-chart-donut.cjs.entry.js +1 -1
- package/dist/cjs/q2-checkbox-group.cjs.entry.js +1 -1
- package/dist/cjs/q2-checkbox.cjs.entry.js +1 -1
- package/dist/cjs/q2-data-table.cjs.entry.js +1 -1
- package/dist/cjs/q2-detail.cjs.entry.js +1 -1
- package/dist/cjs/q2-dropdown-item.cjs.entry.js +1 -1
- package/dist/cjs/q2-dropdown.cjs.entry.js +4 -2
- package/dist/cjs/q2-dropdown.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-editable-field.cjs.entry.js +1 -1
- package/dist/cjs/q2-icon.cjs.entry.js +1 -1
- package/dist/cjs/q2-input.cjs.entry.js +1 -1
- package/dist/cjs/q2-item.cjs.entry.js +1 -1
- package/dist/cjs/q2-list.cjs.entry.js +1 -1
- package/dist/cjs/q2-loc.cjs.entry.js +1 -1
- package/dist/cjs/q2-message.cjs.entry.js +1 -1
- package/dist/cjs/q2-month-picker.cjs.entry.js +1 -1
- package/dist/cjs/q2-optgroup.cjs.entry.js +1 -1
- package/dist/cjs/q2-option-list.cjs.entry.js +1 -1
- package/dist/cjs/q2-pagination.cjs.entry.js +1 -1
- package/dist/cjs/q2-pill.cjs.entry.js +1 -1
- package/dist/cjs/q2-radio-group.cjs.entry.js +1 -1
- package/dist/cjs/q2-radio.cjs.entry.js +1 -1
- package/dist/cjs/q2-section.cjs.entry.js +1 -1
- package/dist/cjs/q2-select.cjs.entry.js +56 -4
- package/dist/cjs/q2-select.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-stepper-pane.cjs.entry.js +1 -1
- package/dist/cjs/q2-stepper-vertical.cjs.entry.js +1 -1
- package/dist/cjs/q2-stepper.cjs.entry.js +1 -1
- package/dist/cjs/q2-tab-container.cjs.entry.js +1 -1
- package/dist/cjs/q2-tag.cjs.entry.js +1 -1
- package/dist/cjs/q2-tecton-elements.cjs.js +1 -1
- package/dist/cjs/q2-textarea.cjs.entry.js +1 -1
- package/dist/cjs/q2-tooltip.cjs.entry.js +1 -1
- package/dist/collection/components/q2-dropdown/q2-dropdown.js +3 -1
- package/dist/collection/components/q2-dropdown/q2-dropdown.js.map +1 -1
- package/dist/collection/components/q2-popover/q2-popover.js +16 -11
- package/dist/collection/components/q2-popover/q2-popover.js.map +1 -1
- package/dist/collection/components/q2-select/q2-select.js +62 -4
- package/dist/collection/components/q2-select/q2-select.js.map +1 -1
- package/dist/collection/utils/index.js +65 -0
- package/dist/collection/utils/index.js.map +1 -1
- package/dist/components/index2.js +66 -1
- package/dist/components/index2.js.map +1 -1
- package/dist/components/q2-dropdown.js +3 -1
- package/dist/components/q2-dropdown.js.map +1 -1
- package/dist/components/q2-popover2.js +16 -11
- package/dist/components/q2-popover2.js.map +1 -1
- package/dist/components/q2-select2.js +57 -5
- package/dist/components/q2-select2.js.map +1 -1
- package/dist/esm/click-elsewhere_2.entry.js +16 -11
- package/dist/esm/click-elsewhere_2.entry.js.map +1 -1
- package/dist/esm/{index-0a702dd6.js → index-d9f4d587.js} +67 -2
- package/dist/esm/index-d9f4d587.js.map +1 -0
- package/dist/esm/loader.js +1 -1
- package/dist/esm/q2-action-sheet.entry.js +1 -1
- package/dist/esm/q2-btn_2.entry.js +1 -1
- package/dist/esm/q2-calendar.entry.js +1 -1
- package/dist/esm/q2-card.entry.js +1 -1
- package/dist/esm/q2-carousel-pane.entry.js +1 -1
- package/dist/esm/q2-carousel.entry.js +1 -1
- package/dist/esm/q2-chart-area.entry.js +1 -1
- package/dist/esm/q2-chart-bar.entry.js +1 -1
- package/dist/esm/q2-chart-donut.entry.js +1 -1
- package/dist/esm/q2-checkbox-group.entry.js +1 -1
- package/dist/esm/q2-checkbox.entry.js +1 -1
- package/dist/esm/q2-data-table.entry.js +1 -1
- package/dist/esm/q2-detail.entry.js +1 -1
- package/dist/esm/q2-dropdown-item.entry.js +1 -1
- package/dist/esm/q2-dropdown.entry.js +4 -2
- package/dist/esm/q2-dropdown.entry.js.map +1 -1
- package/dist/esm/q2-editable-field.entry.js +1 -1
- package/dist/esm/q2-icon.entry.js +1 -1
- package/dist/esm/q2-input.entry.js +1 -1
- package/dist/esm/q2-item.entry.js +1 -1
- package/dist/esm/q2-list.entry.js +1 -1
- package/dist/esm/q2-loc.entry.js +1 -1
- package/dist/esm/q2-message.entry.js +1 -1
- package/dist/esm/q2-month-picker.entry.js +1 -1
- package/dist/esm/q2-optgroup.entry.js +1 -1
- package/dist/esm/q2-option-list.entry.js +1 -1
- package/dist/esm/q2-pagination.entry.js +1 -1
- package/dist/esm/q2-pill.entry.js +1 -1
- package/dist/esm/q2-radio-group.entry.js +1 -1
- package/dist/esm/q2-radio.entry.js +1 -1
- package/dist/esm/q2-section.entry.js +1 -1
- package/dist/esm/q2-select.entry.js +56 -4
- package/dist/esm/q2-select.entry.js.map +1 -1
- package/dist/esm/q2-stepper-pane.entry.js +1 -1
- package/dist/esm/q2-stepper-vertical.entry.js +1 -1
- package/dist/esm/q2-stepper.entry.js +1 -1
- package/dist/esm/q2-tab-container.entry.js +1 -1
- package/dist/esm/q2-tag.entry.js +1 -1
- package/dist/esm/q2-tecton-elements.js +1 -1
- package/dist/esm/q2-textarea.entry.js +1 -1
- package/dist/esm/q2-tooltip.entry.js +1 -1
- package/dist/jest.setup.js +11 -0
- package/dist/jest.setup.js.map +1 -1
- package/dist/q2-tecton-elements/p-000f634c.entry.js +2 -0
- package/dist/q2-tecton-elements/{p-e2337018.entry.js.map → p-000f634c.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/{p-f45b3488.entry.js → p-0069ffe6.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-80832cb1.entry.js → p-029aa033.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-c30bfa77.entry.js → p-03d1c10f.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-ed974a59.entry.js → p-12863e29.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-91addc0e.entry.js → p-14b4c3f7.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-1a2044df.entry.js +2 -0
- package/dist/q2-tecton-elements/p-1a2044df.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-42f06b03.entry.js → p-1c631366.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-16f10398.entry.js → p-1f81c321.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-2a248a3f.entry.js → p-2add4bb9.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-5945d04a.entry.js → p-2bd208be.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-d635e39f.entry.js → p-38a5a6fb.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-34d6977d.entry.js → p-49e1ca75.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-4df2824f.entry.js +2 -0
- package/dist/q2-tecton-elements/p-4df2824f.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-f8f0b32f.entry.js → p-57029a45.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-7922dd0f.entry.js → p-5dd459bb.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-6e3887c7.entry.js → p-6235c7a9.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-4f2dfb4d.entry.js → p-638bd0dc.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-ad090a05.entry.js → p-67eadbfc.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-2e146575.entry.js → p-6b3b2995.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-a1ead8cd.entry.js → p-6c944407.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-92092954.entry.js → p-7e30c108.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-86ebd308.entry.js → p-8454c534.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-2967ec81.entry.js → p-84d12f26.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-912b4cad.entry.js → p-9188445e.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-5c13ed85.entry.js → p-938139cb.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-18ec54c0.entry.js → p-962d7144.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-c575f3f9.entry.js → p-b8ca3acb.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-65ed80a5.entry.js → p-ba284680.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-6930d8ed.entry.js → p-c1096505.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-c49e1a96.js +2 -0
- package/dist/q2-tecton-elements/p-c49e1a96.js.map +1 -0
- package/dist/q2-tecton-elements/{p-d5b0aeed.entry.js → p-c54a216a.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-87f07a6d.entry.js → p-c8e92e97.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-38bd430f.entry.js → p-cf6ebd0c.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-12326313.entry.js → p-cfb9cbc5.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-ae0ddc57.entry.js → p-d39aa7e1.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-2132da06.entry.js → p-d8b1ab7f.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-6d48e71d.entry.js → p-e667c8b7.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-cfe64a8e.entry.js → p-ed5449df.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-2862b698.entry.js → p-edaaf3f6.entry.js} +2 -2
- package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +1 -1
- package/dist/q2-tecton-elements/q2-tecton-elements.esm.js.map +1 -1
- package/dist/test/elements/q2-pagination-test.e2e.js +2 -1
- package/dist/test/elements/q2-pagination-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-popover-test.spec.js +229 -150
- package/dist/test/elements/q2-popover-test.spec.js.map +1 -1
- package/dist/test/elements/q2-select-test.spec.js +146 -6
- package/dist/test/elements/q2-select-test.spec.js.map +1 -1
- package/dist/types/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/.stencil/jest.setup.d.ts +9 -0
- package/dist/types/components/q2-select/q2-select.d.ts +5 -0
- package/dist/types/utils/index.d.ts +5 -0
- package/package.json +4 -4
- package/dist/cjs/index-0e15dc8d.js.map +0 -1
- package/dist/esm/index-0a702dd6.js.map +0 -1
- package/dist/q2-tecton-elements/p-42302f6f.js +0 -2
- package/dist/q2-tecton-elements/p-42302f6f.js.map +0 -1
- package/dist/q2-tecton-elements/p-968b008b.entry.js +0 -2
- package/dist/q2-tecton-elements/p-968b008b.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-c0c8f418.entry.js +0 -2
- package/dist/q2-tecton-elements/p-c0c8f418.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-e2337018.entry.js +0 -2
- /package/dist/q2-tecton-elements/{p-f45b3488.entry.js.map → p-0069ffe6.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-80832cb1.entry.js.map → p-029aa033.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-c30bfa77.entry.js.map → p-03d1c10f.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-ed974a59.entry.js.map → p-12863e29.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-91addc0e.entry.js.map → p-14b4c3f7.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-42f06b03.entry.js.map → p-1c631366.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-16f10398.entry.js.map → p-1f81c321.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-2a248a3f.entry.js.map → p-2add4bb9.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-5945d04a.entry.js.map → p-2bd208be.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-d635e39f.entry.js.map → p-38a5a6fb.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-34d6977d.entry.js.map → p-49e1ca75.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-f8f0b32f.entry.js.map → p-57029a45.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-7922dd0f.entry.js.map → p-5dd459bb.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-6e3887c7.entry.js.map → p-6235c7a9.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-4f2dfb4d.entry.js.map → p-638bd0dc.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-ad090a05.entry.js.map → p-67eadbfc.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-2e146575.entry.js.map → p-6b3b2995.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-a1ead8cd.entry.js.map → p-6c944407.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-92092954.entry.js.map → p-7e30c108.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-86ebd308.entry.js.map → p-8454c534.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-2967ec81.entry.js.map → p-84d12f26.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-912b4cad.entry.js.map → p-9188445e.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-5c13ed85.entry.js.map → p-938139cb.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-18ec54c0.entry.js.map → p-962d7144.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-c575f3f9.entry.js.map → p-b8ca3acb.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-65ed80a5.entry.js.map → p-ba284680.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-6930d8ed.entry.js.map → p-c1096505.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-d5b0aeed.entry.js.map → p-c54a216a.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-87f07a6d.entry.js.map → p-c8e92e97.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-38bd430f.entry.js.map → p-cf6ebd0c.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-12326313.entry.js.map → p-cfb9cbc5.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-ae0ddc57.entry.js.map → p-d39aa7e1.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-2132da06.entry.js.map → p-d8b1ab7f.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-6d48e71d.entry.js.map → p-e667c8b7.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-cfe64a8e.entry.js.map → p-ed5449df.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-2862b698.entry.js.map → p-edaaf3f6.entry.js.map} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["q2SelectCss","Q2SelectStyle0","Q2Select","this","lastTouchWasInPopover","scheduledAfterRender","addTouchEventListeners","isMobile","popoverElement","addEventListener","handleTouchMove","passive","initEventListeners","_a","screen","orientation","handleOrientationChange","window","visualViewport","initMutationObserver","observer","MutationObserver","onMutationObserved","observe","hostElement","childList","subtree","mutationObserver","showSelectedOptions","showSelected","showAllOptions","hasPopoverTop","hasPopoverBottom","slotContainer","querySelector","displaySlot","shadowRoot","hasCustomDisplay","assignedNodes","length","children","popTopSlot","topSlotHasNode","popBottomSlot","bottomSlotHasNode","checkSelectedOptions","onOptionListChange","event","stopPropagation","values","detail","handleSelectionChanges","destroyEventListeners","removeEventListener","removeTouchEventListeners","isLandscape","isModule","Tecton","platformDimensions","orientationType","includes","_c","_b","type","searchable","originalSearchable","document","activeElement","target","inputFocused","focus","onPopoverState","open","action","searchText","optionList","setActiveElement","inputField","inputKeydownHandler","readonly","disabled","key","hasSlot","isShiftTab","shiftKey","shouldShowActionSheet","executeActionSheet","keysForOptionListToHandle","shouldClearSearchText","clearSearchText","preventDefault","handleOptionListExternalKeydown","visibilityToggleKeyDown","isRadioControlKey","setDefaultActiveElement","inputClickHandler","async","focusInput","toggleDropdown","inputInputHandler","eventValue","value","shouldClearValue","clearValue","openDropdownWithoutActiveElement","prioritizeSearch","input","emit","query","inputFocusHandler","inputBlurHandler","inputChangeHandler","clickedElsewhere","localName","innerInputField","blur","onCustomDisplayClick","useActionSheets","loc","componentWillLoad","handleAriaLabel","buildStructuredSelectedOptions","handleMultilineOptionsUpdate","multilineOptions","componentDidLoad","overrideFocus","setTimeout","checkSelectedDisplay","componentDidRender","forEach","fn","disconnectedCallback","disconnect","isIframe","top","hasPlatformDimensions","Object","keys","innerInputContainer","badgeValue","multiple","optionsLength","selectedOptions","popoverMinHeight","minRows","firstOption","minHeight","getComputedStyle","parseInt","selectedDisplay","calculateMultiSelectSelectedDisplay","calculateSingleSelectSelectedDisplay","selectedDisplaySlot","firstSelectedValue","firstSelectedOptionElement","optionElements","find","Array","from","querySelectorAll","wrapperClasses","errors","classes","isArray","push","join","structuredSelectedOptions","map","option","ariaLabelObserver","valueUpdated","newValue","oldValue","element","multiline","openChanged","isOpen","waitForNextPaint","popoverTopContainer","height","offsetHeight","style","setProperty","removeProperty","_togglePopover","click","dispatchEvent","FocusEvent","openPopover","closePopover","setValue","options","valuesSet","Set","searchOptions","InputEvent","keydownHandler","onHostElementChange","onchange","onHostElementInput","oninput","trim","toLocaleLowerCase","matchedCount","hidden","title","firstElementChild","tagName","display","innerText","searchParams","matched","some","text","statusMessageLocString","count","setStatusMessage","delegateFocus","fromHost","isRelatedTargetWithinHost","clearSelectedDisplay","isEventFromElement","handleFocusout","isLeavingHost","isHostLosingFocus","closeDropdown","handleSelectedDisplay","handleTctClick","name","version","getBrowserInfo","majorVersion","Number","split","isNaN","result","showActionSheetList","changeDetails","selectedOptionValues","change","undefined","textContent","handleExternalKeydown","message","clearTimeout","statusMessageTimer","statusMessage","selected","remove","namedSlot","hasNoValue","selectionClone","cloneNode","clientHeight","outerHTML","replaceChild","createElement","slot","appendChild","checkSelectedDisplayHeight","renderCustomDisplay","hasSelectedDisplay","h","render","showAsPseudo","class","onChange","role","ref","el","label","clearable","error","invalid","optional","placeholder","hideLabel","ariaExpanded","ariaControls","ariaHaspopup","pseudo","iconRight","onClick","onInput","onKeyDown","onFocus","onBlur","badgeTheme","_role","optionsDropdown","controlElement","direction","popDirection","mode","popoverMode","block","id","listLabel","tabindex","visibilityToggle","selectedOptionsCount","checked","htmlFor"],"sources":["src/components/q2-select/q2-select.scss?tag=q2-select&encapsulation=shadow","src/components/q2-select/q2-select.tsx"],"sourcesContent":["@import '../../styles/host.scss';\n@import '../../styles/functions';\n@import '../../styles/dropdowns';\n\n:host {\n --comp-select-margin: #{var-list(\n --tct-select-margin,\n unquote(\n '#{var-list(var-prefixer(select-margin-top), --app-scale-4, 30px)} 0 #{var-list(var-prefixer(select-margin-bottom), --app-scale-4, 30px)}'\n )\n )};\n display: block;\n margin: var(--comp-select-margin);\n}\n\n.q2-select-container {\n position: relative;\n display: block;\n}\n\n.q2-select-input {\n margin: 0;\n\n --tct-input-min-height: #{var-list(var-prefixer(select-input-min-height))};\n --tct-input-max-height: #{var-list(var-prefixer(select-input-max-height), none)};\n}\n\n::slotted([slot='_selected-display']) {\n width: 100%;\n min-height: var(--comp-selected-display-height, 44px);\n}\n\n.custom-display-content {\n position: absolute;\n bottom: 0;\n left: calc(var-list(--tct-scale-2, --app-scale-2x, 10px) + 1px);\n height: 44px;\n width: calc(100% - 34px - var-list(--tct-scale-3, --app-scale-3x, 15px));\n overflow: hidden;\n cursor: pointer;\n transition: left var-list(--tct-tween-2, --app-tween-1, unquote('0.2s ease'));\n}\n\n.custom-display-content:not([hidden]) {\n display: flex;\n align-items: center;\n}\n\n.is-searchable.is-focused .custom-display-content,\n.is-searchable .custom-display-content:active {\n left: calc(var-list(--tct-scale-3, --app-scale-3x, 15px) + 1px);\n}\n\n.has-error .custom-display-content {\n width: calc(100% - 68px - var-list(--tct-scale-3, --app-scale-3x, 15px));\n}\n\n.popover-content {\n display: flex;\n flex-direction: column-reverse;\n}\n\n.popover-bottom-container {\n position: sticky;\n bottom: 0;\n z-index: 5;\n}\n\n.popover-top-container {\n position: sticky;\n top: 0;\n z-index: 5;\n .multi-select-header {\n padding: var(--tct-scale-2, var(--app-scale-2x, 10px)) var(--tct-scale-2, var(--app-scale-2x, 10px));\n background: var(--app-white);\n display: flex;\n gap: var-list(--app-scale-2x, 10px);\n align-items: center;\n\n fieldset {\n margin: 0;\n padding: 0;\n border: 0;\n display: flex;\n gap: var-list(--app-scale-2x, 10px);\n }\n\n legend {\n padding: 0;\n float: left;\n }\n\n label {\n cursor: pointer;\n padding: var-list(\n var-prefixer(select-multi-select-option-padding),\n var-prefixer(btn-badge-padding),\n unquote('2px 5px')\n );\n font-size: var-list(\n var-prefixer(select-multi-select-option-font-size),\n var-prefixer(btn-badge-font-size),\n inherit\n );\n border-radius: var-list(\n var-prefixer(select-multi-select-option-radius),\n var-prefixer(btn-badge-border-radius),\n --app-border-radius-1,\n 3px\n );\n background: var-list(\n --tct-select-multi-select-option-background,\n var-prefixer(select-multi-select-option-bg),\n --tct-badge-background,\n var-prefixer(btn-badge-bg),\n transparent\n );\n color: var-list(\n var-prefixer(select-multi-select-option-color),\n var-prefixer(btn-badge-font-color),\n inherit\n );\n\n &:hover {\n background: var-list(\n --tct-select-multi-select-option-hover-background,\n var-prefixer(select-multi-select-option-hover-background-color),\n var-prefixer(btn-badge-hover-bg),\n var-prefixer(gray-14),\n --app-gray-l3,\n #f2f2f2\n );\n color: var-list(\n --tct-select-multi-select-option-hover-color,\n var-prefixer(select-multi-select-option-color),\n var-prefixer(btn-badge-hover-font-color),\n var-prefixer(gray-5),\n --app-gray-d2,\n #404040\n );\n }\n }\n\n input {\n &:checked + label {\n &,\n &:enabled:hover {\n background: var-list(\n --tct-select-multi-select-option-active-background,\n var-prefixer(select-multi-select-option-active-background-color),\n var-prefixer(btn-primary-bg),\n #2e2e2e\n );\n color: var-list(\n var-prefixer(select-multi-select-option-active-color),\n var-prefixer(btn-primary-font-color),\n --app-white,\n #ffffff\n );\n }\n }\n\n &:disabled + label {\n opacity: var-list(\n var-prefixer(select-multi-select-option-disabled-opacity),\n var-prefixer(btn-disabled-opacity),\n --app-disabled-opacity,\n 0.4\n );\n cursor: not-allowed;\n }\n\n &:focus + label {\n box-shadow: var(--const-double-focus-ring);\n }\n }\n }\n}\n","import {\n Component,\n Prop,\n Element,\n h,\n Listen,\n State,\n EventEmitter,\n Event,\n ComponentInterface,\n Watch,\n Method,\n} from '@stencil/core';\nimport { IEventDetail, Q2InputCustomEvent, Q2OptionListCustomEvent } from 'src/components';\nimport {\n getBrowserInfo,\n handleAriaLabel,\n isEventFromElement,\n isHostLosingFocus,\n isRelatedTargetWithinHost,\n loc,\n overrideFocus,\n waitForNextPaint,\n isMobile,\n} from '../../utils';\nimport { IOptionValue } from '../q2-option-list/q2-option-list';\nimport { shouldShowActionSheet, showActionSheetList } from 'src/utils/action-sheet';\n\n@Component({ tag: 'q2-select', shadow: true, styleUrl: 'q2-select.scss' })\nexport class Q2Select implements ComponentInterface {\n /** Disables all interaction with the field and leverages the disabled visual style of `q2-input`. */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /**\n * The presence of `errors` will mark the field as invalid, putting it into an error state.\n * @localizable\n */\n @Prop() errors: string[];\n\n /**\n * Hide's the field's `<label>` element from view.\n * @warning\n * Only use when a visible label is impractical.\n */\n @Prop({ reflect: true, mutable: true }) hideLabel: boolean;\n\n /** Renders an icon button when the field is non-empty. Pressing the button clears all input from the field. */\n @Prop({ reflect: true }) clearable: boolean;\n\n /**\n * Instructs the component to use the action sheet workflow for displaying its options.\n *\n * For more information, see [Action Sheets](https://tecton.q2developer.com/guides/action-sheets/).\n * @warning\n * If your `q2-select` renders inside of an iframe, and you are using multiline/robust content options,\n * any custom CSS you apply to your options will not get passed up to the platform which displays the action sheet.\n * For this reason, we strongly suggest using the [q2-card](https://tecton.q2developer.com/ui/q2-card/) component since its styling is managed by Tecton.\n */\n @Prop() hoist: boolean = !!window.Tecton?.useActionSheets;\n\n /** Determines whether to show an error state. Its primary use-case is for an unfilled field. */\n @Prop({ reflect: true }) invalid: boolean;\n\n /**\n * The text that will be used as the label for the field.\n * @localizable\n */\n @Prop({ reflect: true, mutable: true }) label: string;\n\n /**\n * Determines the label that is applied to the option list for accessibility purposes.\n * @localizable\n */\n @Prop() listLabel: string = loc('tecton.element.select.listLabel');\n\n /** The minimum number of rows the component will try to display below or above the component when opened. */\n @Prop() minRows: number = 3;\n\n /** Enables text wrapping for `q2-option` elements. When `false`, the text truncates and does not wrap. */\n @Prop({ reflect: true }) multilineOptions: boolean = false;\n\n /** Enables multi-select functionality. */\n @Prop({ reflect: true }) multiple: boolean = false;\n\n /** Appends \"(optional)\" to the field label, and sets `aria-required` on the nested input tag to `false`. */\n @Prop({ reflect: true }) optional: boolean = false;\n\n /**\n * Text that appears within the field when it is blurred and empty.\n * Placeholder text disappears when the user selects an option.\n * @localizable\n */\n @Prop({ reflect: true }) placeholder: string;\n\n /** @deprecated */\n @Prop({ reflect: true }) popDirection: 'up' | 'down';\n\n /**\n * Determines the display mode of the popover.\n *\n * Providing a value of `legacy` instructs the popover to use absolute positioning instead of fixed positioning.\n *\n * @info\n * This is a temporary solution to work around styling issues related to using fixed positioning for the popover\n * when nested inside of elements with transform properties. This will be removed once the popover API is available\n * for use.\n */\n @Prop({ mutable: true }) popoverMode: 'legacy' = null;\n\n /**\n * Appends \"(read only)\" to the field label, and field becomes unusable, but remains focusable.\n * Takes priority over `optional` if both are `true`.\n */\n @Prop({ reflect: true }) readonly: boolean = false;\n\n /** Enables search functionality. */\n @Prop({ reflect: true, mutable: true }) searchable: boolean = false;\n\n /**\n * Each item in this array should correspond to the value of a `q2-option` element.\n * This property is only relevant for `multiple` (i.e., multi-select) implementations.\n */\n @Prop({ mutable: true }) selectedOptions: string[] = [];\n\n /**\n * The current value for the select. This should correspond to the value of a nested q2-option element.\n * This property is only relevant for single-select implementations.\n */\n @Prop({ mutable: true }) value: string;\n\n /** @deprecated */\n @Prop({ reflect: true, mutable: true }) ariaLabel: string;\n\n @Element() hostElement: HTMLElement;\n\n @State() open: boolean = false;\n @State() showSelected: boolean = false;\n @State() searchText: string = '';\n @State() hasCustomDisplay: boolean = false;\n @State() hasPopoverTop: boolean = false;\n @State() hasPopoverBottom: boolean = false;\n @State() inputFocused: boolean = false;\n @State() statusMessage: string;\n @State() prioritizeSearch: boolean = false;\n @State() structuredSelectedOptions: IOptionValue[] = [];\n\n inputField?: HTMLQ2InputElement;\n lastTouchWasInPopover: boolean = false;\n optionList: HTMLQ2OptionListElement;\n popoverElement?: HTMLQ2PopoverElement;\n popoverTopContainer?: HTMLDivElement;\n scheduledAfterRender: (() => void)[] = [];\n mutationObserver: MutationObserver;\n originalSearchable: boolean;\n\n /// Lifecycle Hooks ///\n componentWillLoad() {\n this.originalSearchable = this.searchable;\n handleAriaLabel(this);\n this.handleOrientationChange();\n this.buildStructuredSelectedOptions();\n this.handleMultilineOptionsUpdate(this.multilineOptions, false);\n }\n\n componentDidLoad() {\n this.initMutationObserver();\n this.initEventListeners();\n overrideFocus(this.hostElement);\n setTimeout(() => this.checkSelectedDisplay(), 0);\n }\n\n componentDidRender() {\n setTimeout(() => {\n this.scheduledAfterRender.forEach(fn => fn());\n this.scheduledAfterRender = [];\n }, 25);\n }\n\n disconnectedCallback() {\n this.mutationObserver?.disconnect();\n this.mutationObserver = null;\n this.destroyEventListeners();\n }\n\n /// Getters ///\n get isModule() {\n const isIframe = window !== window.top;\n const hasPlatformDimensions = Object.keys(window.Tecton?.platformDimensions ?? {}).length > 0;\n return isIframe && hasPlatformDimensions;\n }\n\n get innerInputField(): HTMLInputElement | HTMLButtonElement {\n return this.inputField?.shadowRoot?.querySelector('.input-field');\n }\n\n get innerInputContainer(): HTMLElement {\n return this.inputField?.shadowRoot?.querySelector('.input-container');\n }\n\n get badgeValue(): string {\n if (!this.multiple) return null;\n const optionsLength = this.selectedOptions?.length ?? 0;\n if (this.open && this.searchable) return optionsLength ? `${optionsLength}` : null;\n else return optionsLength > 1 ? `+${optionsLength - 1}` : null;\n }\n\n get popoverMinHeight() {\n const { minRows } = this;\n const firstOption = this.hostElement.querySelector<HTMLQ2OptionElement>('q2-option:not([hidden])');\n let minHeight = firstOption && window.getComputedStyle(firstOption).minHeight;\n\n // Safari doesn't return a min-height for non-visible items\n if (!minHeight || minHeight === '0px') minHeight = '44px';\n\n return minRows * parseInt(minHeight);\n }\n\n get selectedDisplay() {\n if (this.prioritizeSearch || this.searchText) return this.searchText;\n if (this.hasCustomDisplay) return '';\n return this.multiple ? this.calculateMultiSelectSelectedDisplay() : this.calculateSingleSelectSelectedDisplay();\n }\n\n get selectedDisplaySlot() {\n return this.hostElement.querySelector<HTMLElement>('[slot=\"_selected-display\"]');\n }\n\n get firstSelectedValue() {\n return this.multiple ? this.selectedOptions?.[0] : this.value;\n }\n\n get firstSelectedOptionElement() {\n const { firstSelectedValue } = this;\n return firstSelectedValue ? this.optionElements.find(({ value }) => value === firstSelectedValue) : null;\n }\n\n get optionElements() {\n return Array.from(this.hostElement.querySelectorAll<HTMLQ2OptionElement>('q2-option'));\n }\n\n get wrapperClasses() {\n const { errors } = this;\n const classes = ['q2-select-container'];\n if (Array.isArray(errors) && errors.length > 0) classes.push('has-error');\n if (this.inputFocused) classes.push('is-focused');\n if (this.searchable) classes.push('is-searchable');\n return classes.join(' ');\n }\n\n /// Watchers ///\n @Watch('value')\n @Watch('selectedOptions')\n buildStructuredSelectedOptions() {\n const { multiple, selectedOptions, value } = this;\n if (multiple) {\n this.structuredSelectedOptions = !!selectedOptions?.length\n ? selectedOptions.map(option => (typeof option === 'string' ? { value: option } : option))\n : [];\n } else {\n this.structuredSelectedOptions = value ? [{ value }] : [];\n }\n }\n\n @Watch('ariaLabel')\n ariaLabelObserver() {\n handleAriaLabel(this);\n }\n\n @Watch('value')\n valueUpdated() {\n if (this.multiple) return;\n this.clearSearchText();\n }\n\n @Watch('multilineOptions')\n handleMultilineOptionsUpdate(newValue, oldValue) {\n if (newValue === oldValue) return;\n this.optionElements.forEach(element => (element.multiline = newValue));\n }\n\n @Watch('open')\n openChanged(isOpen: boolean) {\n if (isOpen) {\n this.addTouchEventListeners();\n } else {\n this.removeTouchEventListeners();\n }\n this.scheduledAfterRender.push(async () => {\n await waitForNextPaint();\n const { popoverTopContainer, popoverElement } = this;\n const height = (isOpen && popoverTopContainer?.offsetHeight) || 0;\n if (height) {\n popoverElement.style.setProperty('--comp-popover-top-container-height', `${height}px`);\n } else {\n popoverElement.style.removeProperty('--comp-popover-top-container-height');\n }\n });\n }\n\n /// Events ///\n /**\n * Emitted when an option is selected or deselected.\n *\n * When the multi-select is enabled, the `value` property will be `undefined` and the `selectedOptions` property\n * will contain the selected option values.\n *\n * @legacyEvent\n */\n @Event() change: EventEmitter<{ value: string; selectedOptions: string[] }>;\n\n /**\n * Emitted when the input value changes.\n *\n * Requires the `searchable` prop to be set to `true`.\n */\n @Event() input: EventEmitter<{ query: string }>;\n\n /// Methods ///\n _togglePopover() {\n const { innerInputField } = this;\n innerInputField?.click();\n innerInputField?.focus();\n innerInputField.dispatchEvent(new FocusEvent('focus'));\n }\n\n /**\n * Emulates clicking the `<input>` to display the popover if it is hidden.\n *\n * @testOnly\n */\n @Method()\n async openPopover() {\n if (this.open || this.disabled) return;\n this._togglePopover();\n }\n\n /**\n * Emulates clicking the `<input>` to hide the popover if it is visible.\n *\n * @testOnly\n */\n @Method()\n async closePopover() {\n if (!this.open || this.disabled) return;\n this._togglePopover();\n }\n\n /**\n * Emulates clicking the `<input>` to display the popover and selecting the option(s) with the specified value(s).\n *\n * If the multi-select is enabled and the `closePopover` argument is `true` (default), the popover will be closed\n * after the option(s) are selected.\n *\n * @testOnly\n */\n @Method()\n async setValue(values: string | string[], options: { closePopover?: boolean } = { closePopover: true }) {\n const valuesSet = new Set(Array.isArray(values) ? values : [values]);\n if (!this.open) {\n await this.openPopover();\n await waitForNextPaint();\n }\n\n valuesSet.forEach(value => {\n this.optionElements.find(option => option.value === value)?.click();\n });\n\n if (options.closePopover) {\n await this.closePopover();\n await waitForNextPaint();\n }\n }\n\n /**\n * Emulates focusing the `<input>`, entering the provided value, and emitting an `input` event.\n *\n * @warning\n * Only applicable when the input is searchable.\n *\n * @testOnly\n */\n @Method()\n searchOptions(query: string) {\n if (!this.searchable) return;\n\n const { innerInputField } = this;\n innerInputField.focus();\n innerInputField.dispatchEvent(new FocusEvent('focus'));\n innerInputField.value = query;\n innerInputField.dispatchEvent(new InputEvent('input'));\n }\n\n /// Listeners ///\n @Listen('keydown')\n keydownHandler(event: KeyboardEvent) {\n this.inputKeydownHandler(event);\n }\n\n @Listen('change')\n onHostElementChange(event: CustomEvent<{ value: string; selectedOptions: string[] }>) {\n if (this.readonly || this.disabled) return;\n if (event.target !== this.hostElement || this.hostElement.onchange) return;\n if (this.multiple) {\n this.value = null;\n this.selectedOptions = event.detail.selectedOptions;\n } else {\n this.value = event.detail.value;\n this.selectedOptions = [];\n }\n }\n\n @Listen('input')\n onHostElementInput(event: CustomEvent) {\n if (!this.searchable || event.target !== this.hostElement || this.hostElement.oninput) return;\n const options = this.optionElements;\n const query = this.searchText.trim().toLocaleLowerCase();\n let matchedCount = 0;\n options.forEach(option => {\n if (query === '') {\n option.hidden = false;\n return;\n }\n\n const title =\n option.firstElementChild?.tagName === 'Q2-CARD'\n ? (option.firstElementChild as HTMLQ2CardElement).title\n : null;\n const { display = '', innerText = '' } = option;\n const searchParams = [display, title, innerText];\n const matched = searchParams.some(text => text?.toLocaleLowerCase().includes(query) ?? false);\n\n option.hidden = !matched;\n if (matched) matchedCount++;\n });\n\n const statusMessageLocString = query\n ? 'tecton.element.select.searchable.results'\n : 'tecton.element.select.allOptions';\n const count = query ? matchedCount : options.length;\n this.setStatusMessage(loc(statusMessageLocString, [count]));\n }\n\n @Listen('focus')\n delegateFocus(event: FocusEvent) {\n const fromHost = isRelatedTargetWithinHost(event, this.hostElement);\n const prioritizeSearch = (this.prioritizeSearch = fromHost && this.searchable);\n if (prioritizeSearch) {\n this.clearSelectedDisplay();\n } else if (isEventFromElement(event, this.hostElement)) {\n this.innerInputField.focus();\n }\n }\n\n @Listen('focusout')\n handleFocusout(event: FocusEvent) {\n const isLeavingHost = isHostLosingFocus(event, this.hostElement);\n if (isLeavingHost) this.closeDropdown();\n this.prioritizeSearch = !isLeavingHost && this.searchable;\n }\n\n @Listen('displayChanged')\n handleSelectedDisplay(event: CustomEvent) {\n if (this.multiple) return;\n this.inputField.value = event.detail.display;\n }\n\n @Listen('tctClick')\n handleTctClick() {\n const { name, version } = getBrowserInfo();\n const majorVersion = Number(version.split('.')[0]);\n // Only Safari under iOS 18 having issue when searchable\n if (this.searchable && name === 'Safari' && !isNaN(majorVersion) && majorVersion < 18) {\n this.scheduledAfterRender.push(() => this.innerInputField.blur());\n }\n }\n\n /// Helpers ///\n async executeActionSheet(event: MouseEvent | KeyboardEvent) {\n const result = await showActionSheetList(this, event);\n this.handleSelectionChanges(result);\n }\n\n addTouchEventListeners = () => {\n if (!isMobile() || !this.popoverElement) return;\n\n this.popoverElement.addEventListener('touchmove', this.handleTouchMove, { passive: true });\n };\n\n handleSelectionChanges(changeDetails: { value?: string; values?: IOptionValue[] }) {\n const { value = '', values = [] } = changeDetails;\n const selectedOptionValues = values.map(value => value.value);\n const { multiple } = this;\n if (!this.hostElement.onchange) {\n this.selectedOptions = selectedOptionValues;\n }\n\n this.change.emit({\n value: multiple ? undefined : value,\n selectedOptions: multiple ? selectedOptionValues : undefined,\n });\n }\n\n initEventListeners = () => {\n if (!isMobile()) return;\n screen?.orientation?.addEventListener('change', this.handleOrientationChange);\n window.addEventListener('resize', this.handleOrientationChange);\n visualViewport?.addEventListener('resize', this.handleOrientationChange);\n };\n\n initMutationObserver = () => {\n const observer = new MutationObserver(this.onMutationObserved);\n observer.observe(this.hostElement, { childList: true, subtree: true });\n this.mutationObserver = observer;\n this.onMutationObserved();\n };\n\n showSelectedOptions = () => {\n this.showSelected = true;\n };\n\n showAllOptions = () => {\n this.showSelected = false;\n };\n\n clearValue() {\n const { multiple } = this;\n this.value = '';\n this.selectedOptions = [];\n this.change.emit({ value: multiple ? undefined : '', selectedOptions: multiple ? [] : undefined });\n }\n\n calculateMultiSelectSelectedDisplay() {\n const { firstSelectedOptionElement, firstSelectedValue, multilineOptions } = this;\n if (!firstSelectedValue) return '';\n if (firstSelectedOptionElement?.display) return loc(firstSelectedOptionElement.display);\n if (multilineOptions && this.searchable) return this.searchText;\n if (multilineOptions) return '';\n return (\n firstSelectedOptionElement?.textContent?.trim() ?? firstSelectedOptionElement?.value ?? firstSelectedValue\n );\n }\n\n calculateSingleSelectSelectedDisplay() {\n const { firstSelectedOptionElement, multilineOptions } = this;\n if (multilineOptions) {\n return (firstSelectedOptionElement?.display && loc(firstSelectedOptionElement.display)) || this.value || '';\n } else {\n return (\n (firstSelectedOptionElement?.display && loc(firstSelectedOptionElement.display)) ||\n firstSelectedOptionElement?.textContent?.trim() ||\n this.value ||\n ''\n );\n }\n }\n\n onMutationObserved = () => {\n const { hostElement, hasPopoverTop, hasPopoverBottom } = this;\n const slotContainer = hostElement.querySelector('.custom-display-content');\n const displaySlot = hostElement.shadowRoot.querySelector<HTMLSlotElement>('slot[name=\"q2-select-display\"]');\n const hasCustomDisplay = !!displaySlot\n ? displaySlot.assignedNodes().length > 0\n : slotContainer.children.length > 0;\n\n if (this.hasCustomDisplay !== hasCustomDisplay) {\n this.hasCustomDisplay = hasCustomDisplay;\n }\n\n const popTopSlot = hostElement.shadowRoot.querySelector<HTMLSlotElement>('slot[name=\"popover-top\"]');\n const topSlotHasNode = popTopSlot.assignedNodes().length > 0;\n if (hasPopoverTop !== topSlotHasNode) {\n this.hasPopoverTop = topSlotHasNode;\n }\n\n const popBottomSlot = hostElement.shadowRoot.querySelector<HTMLSlotElement>('slot[name=\"popover-bottom\"]');\n const bottomSlotHasNode = popBottomSlot.assignedNodes().length > 0;\n if (hasPopoverBottom !== bottomSlotHasNode) {\n this.hasPopoverBottom = bottomSlotHasNode;\n }\n\n this.checkSelectedOptions();\n };\n\n onOptionListChange = (event: Q2OptionListCustomEvent<{ value: string; values: IOptionValue[] }>) => {\n event.stopPropagation();\n const { values } = event.detail;\n\n if (values.length === 0) this.showAllOptions();\n this.handleSelectionChanges(event.detail);\n };\n\n openDropdownWithoutActiveElement() {\n if (this.readonly || this.disabled) return;\n this.optionList.setActiveElement(null);\n this.open = true;\n }\n\n closeDropdown() {\n this.open = false;\n this.lastTouchWasInPopover = false;\n this.clearSearchText();\n }\n\n destroyEventListeners = () => {\n if (!isMobile()) return;\n screen?.orientation?.removeEventListener('change', this.handleOrientationChange);\n window.removeEventListener('resize', this.handleOrientationChange);\n visualViewport?.removeEventListener('resize', this.handleOrientationChange);\n this.removeTouchEventListeners();\n };\n\n clearSearchText() {\n if (!this.searchText) return;\n this.searchText = '';\n this.input.emit({ query: '' });\n }\n\n toggleDropdown() {\n if (this.readonly || this.disabled) return;\n\n if (this.open && !this.searchText) {\n this.closeDropdown();\n } else {\n this.openDropdownWithoutActiveElement();\n }\n }\n\n focusInput() {\n this.inputField?.dispatchEvent(new FocusEvent('focus'));\n }\n\n handleOptionListExternalKeydown(event: KeyboardEvent) {\n this.optionList.handleExternalKeydown(event);\n }\n\n handleOrientationChange = () => {\n if (!isMobile()) return;\n\n let isLandscape: boolean;\n if (this.isModule) {\n isLandscape = window.Tecton?.platformDimensions.orientationType.includes('landscape');\n } else {\n isLandscape = screen?.orientation?.type?.includes('landscape');\n }\n if (isLandscape && this.searchable) this.searchable = false;\n if (!isLandscape) this.searchable = this.originalSearchable;\n };\n\n handleTouchMove = (event: TouchEvent) => {\n if (document.activeElement === this.hostElement) {\n const target = event.target as HTMLElement;\n if (target && target !== this.hostElement) {\n this.inputFocused = false;\n this.lastTouchWasInPopover = true;\n target.focus();\n }\n }\n };\n\n statusMessageTimer: NodeJS.Timeout;\n setStatusMessage(message) {\n clearTimeout(this.statusMessageTimer);\n this.statusMessage = '';\n this.statusMessageTimer = setTimeout(() => {\n this.statusMessage = message;\n }, 1000);\n }\n\n checkSelectedOptions() {\n const { multiple, selectedOptions, value } = this;\n this.optionElements.forEach(option => {\n if (multiple) {\n option.selected = selectedOptions.includes(option.value);\n } else {\n option.selected = option.value === value;\n }\n });\n }\n\n clearSelectedDisplay() {\n this.selectedDisplaySlot?.remove();\n }\n\n checkSelectedDisplay() {\n // This prevents a an undefined property error when the spec tests are run\n try {\n this.hostElement;\n } catch (error) {\n return null;\n }\n\n let namedSlot = this.selectedDisplaySlot;\n const { value, multiple, selectedOptions, multilineOptions, firstSelectedOptionElement, prioritizeSearch } =\n this;\n const hasNoValue = !value && multiple && !selectedOptions?.length;\n if (prioritizeSearch || !multilineOptions || hasNoValue) return this.clearSelectedDisplay();\n\n if (!firstSelectedOptionElement || firstSelectedOptionElement.display) return this.clearSelectedDisplay();\n\n // Clone selected option and remove elements with hide-on-select attribute\n const selectionClone = firstSelectedOptionElement.firstElementChild.cloneNode(true) as HTMLElement;\n selectionClone.querySelectorAll('[hide-on-select]').forEach(element => element.remove());\n\n if (namedSlot) {\n const height = namedSlot.clientHeight === 0 ? 'auto' : `${namedSlot.clientHeight}px`;\n namedSlot.style.setProperty('--comp-selected-display-height', height);\n if (namedSlot.firstElementChild.outerHTML !== selectionClone.outerHTML) {\n namedSlot.replaceChild(selectionClone, namedSlot.firstElementChild);\n }\n } else {\n namedSlot = document.createElement('div');\n namedSlot.slot = '_selected-display';\n namedSlot.appendChild(selectionClone);\n this.hostElement.appendChild(namedSlot);\n }\n return namedSlot;\n }\n\n checkSelectedDisplayHeight() {\n const { selectedDisplaySlot } = this;\n if (!selectedDisplaySlot) return;\n selectedDisplaySlot.style.setProperty('--comp-selected-display-height', '44px');\n }\n\n /// Event handlers ///\n onPopoverState = ({\n detail: { open, action },\n }: CustomEvent<{ open: boolean; action: 'close' | 'select' | 'open' }>) => {\n if (!open || this.searchText) {\n if (action !== 'select') {\n this.optionList.setActiveElement(null);\n }\n this.inputField.focus();\n }\n\n if (this.open === open) return;\n this.open = open;\n };\n\n inputKeydownHandler = (event: KeyboardEvent) => {\n if (this.readonly || this.disabled) return;\n const key = event.key;\n const hasSlot = this.hasPopoverTop || this.hasPopoverBottom;\n const isShiftTab = key === 'Tab' && event.shiftKey;\n if (hasSlot && (key === 'Tab' || key === 'Enter' || isShiftTab)) return;\n if (shouldShowActionSheet(this, event)) {\n return this.executeActionSheet(event);\n }\n\n const keysForOptionListToHandle = [\n 'ArrowDown',\n 'ArrowUp',\n 'PageDown',\n 'PageUp',\n 'Home',\n 'End',\n 'Escape',\n 'Tab',\n ];\n if (this.searchable && !keysForOptionListToHandle.includes(key)) return;\n if (this.shouldClearSearchText(event)) this.clearSearchText();\n\n // Prevent click event from firing when spacebar is pressed\n if (key === ' ') event.preventDefault();\n\n this.handleOptionListExternalKeydown(event);\n };\n\n shouldClearSearchText(event: KeyboardEvent) {\n return this.searchable && !!this.searchText && event.key === 'Escape';\n }\n\n visibilityToggleKeyDown = (event: KeyboardEvent) => {\n const key = event.key;\n const isShiftTab = key === 'Tab' && event.shiftKey;\n const isRadioControlKey = ['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown'].includes(key);\n if (isRadioControlKey) event.stopPropagation();\n if (isShiftTab) {\n event.stopPropagation();\n // allows shift+tab keys to select the top slot when present\n if (this.hasPopoverTop) return;\n\n this.optionList.setDefaultActiveElement();\n }\n };\n\n inputClickHandler = async (event: MouseEvent) => {\n event.stopPropagation();\n // Check if the last interaction was a touch within the popover\n // If so, don't toggle the dropdown as the user is likely continuing to interact\n if (this.lastTouchWasInPopover && this.open && this.searchable) {\n // Reset the flag and don't toggle\n this.lastTouchWasInPopover = false;\n this.focusInput();\n return;\n }\n\n // Reset the flag for any other click\n this.lastTouchWasInPopover = false;\n\n if (shouldShowActionSheet(this)) {\n return this.executeActionSheet(event);\n }\n this.toggleDropdown();\n this.focusInput();\n };\n\n inputInputHandler = (event: Q2InputCustomEvent<IEventDetail> & InputEvent) => {\n event.stopPropagation();\n const eventValue = event.detail.value;\n const shouldClearValue = !!this.value;\n\n if (shouldClearValue) this.clearValue();\n if (!this.open) this.openDropdownWithoutActiveElement();\n\n this.prioritizeSearch = true;\n this.searchText = eventValue;\n this.input.emit({ query: eventValue });\n };\n\n inputFocusHandler = () => {\n this.inputFocused = true;\n };\n\n inputBlurHandler = () => {\n this.inputFocused = false;\n };\n\n inputChangeHandler = (event: Event) => {\n event.stopPropagation();\n };\n\n clickedElsewhere = (event: CustomEvent) => {\n const target = event.target as HTMLClickElsewhereElement;\n if (target.localName !== 'click-elsewhere') return;\n event.stopPropagation();\n const { popoverElement } = this;\n if (!popoverElement) return;\n popoverElement.open = false;\n this.innerInputField.blur();\n };\n\n onCustomDisplayClick = (event: MouseEvent) => {\n event.stopPropagation();\n this.focusInput();\n this.toggleDropdown();\n };\n\n removeTouchEventListeners = () => {\n if (!isMobile() || !this.popoverElement) return;\n\n this.popoverElement.removeEventListener('touchmove', this.handleTouchMove);\n };\n\n /// DOM ///\n renderCustomDisplay() {\n const hasSelectedDisplay = this.checkSelectedDisplay();\n if (!hasSelectedDisplay) return;\n this.checkSelectedDisplayHeight();\n\n return (\n <slot\n name=\"_selected-display\"\n slot=\"custom-display\"\n />\n );\n }\n\n render() {\n const showAsPseudo = !this.searchable;\n\n return (\n <click-elsewhere\n class={this.wrapperClasses}\n onChange={this.clickedElsewhere}\n >\n <div\n aria-live=\"polite\"\n aria-atomic=\"true\"\n role=\"status\"\n class=\"sr\"\n >\n {this.statusMessage}\n </div>\n <q2-input\n ref={el => (this.inputField = el)}\n class=\"q2-select-input\"\n label={(this.label && loc(this.label)) || ''}\n value={this.selectedDisplay}\n clearable={(this.clearable && (!!this.value || !!this.selectedOptions?.length)) || undefined}\n errors={\n (Array.isArray(this.errors) &&\n this.errors.length > 0 &&\n this.errors.map(error => loc(error))) ||\n (this.invalid && ['tecton.element.select.invalid']) ||\n []\n }\n disabled={this.disabled}\n optional={this.optional}\n readonly={this.readonly}\n placeholder={this.placeholder || undefined}\n hideLabel={this.hideLabel}\n ariaExpanded={`${this.open}`}\n ariaControls=\"option-list\"\n ariaHaspopup=\"listbox\"\n role=\"combobox\"\n pseudo={showAsPseudo}\n test-id=\"toggleDropdown\"\n hide-messages\n iconRight=\"chevron-down\"\n onClick={this.inputClickHandler}\n onInput={this.inputInputHandler}\n onKeyDown={this.inputKeydownHandler}\n onFocus={this.inputFocusHandler}\n onBlur={this.inputBlurHandler}\n onChange={this.inputChangeHandler}\n badgeValue={this.badgeValue}\n badgeTheme={this.inputFocused ? 'primary' : undefined}\n _role=\"combobox\"\n >\n {this.renderCustomDisplay()}\n </q2-input>\n <div\n class=\"custom-display-content\"\n hidden={!this.hasCustomDisplay || !!this.searchText}\n onClick={this.onCustomDisplayClick}\n >\n <slot name=\"q2-select-display\" />\n </div>\n {this.optionsDropdown()}\n </click-elsewhere>\n );\n }\n\n optionsDropdown() {\n return (\n <q2-popover\n ref={el => (this.popoverElement = el)}\n controlElement={this.innerInputContainer}\n open={this.open}\n minHeight={this.popoverMinHeight}\n direction={this.popDirection}\n mode={this.popoverMode || undefined}\n block\n >\n <div class=\"popover-content\">\n <q2-option-list\n onPopoverState={this.onPopoverState}\n ref={el => (this.optionList = el)}\n type=\"listbox\"\n id=\"option-list\"\n show-selected={this.showSelected}\n label={this.listLabel}\n multiple={this.multiple}\n selectedOptions={this.structuredSelectedOptions}\n onChange={this.onOptionListChange}\n >\n <slot />\n </q2-option-list>\n <div\n class=\"popover-top-container\"\n ref={el => (this.popoverTopContainer = el)}\n hidden={!this.multiple && !this.hasPopoverTop}\n tabindex=\"-1\"\n >\n <slot name=\"popover-top\"></slot>\n {this.multiple && this.visibilityToggle()}\n </div>\n </div>\n <div\n class=\"popover-bottom-container\"\n hidden={!this.hasPopoverBottom}\n tabindex=\"-1\"\n >\n <slot name=\"popover-bottom\" />\n </div>\n </q2-popover>\n );\n }\n\n visibilityToggle() {\n const selectedOptionsCount = this.selectedOptions?.length ?? 0;\n const { showSelected } = this;\n return (\n <div class=\"multi-select-header\">\n <fieldset>\n <legend aria-label={loc('tecton.element.select.multiHeader.showing')}>\n {loc('tecton.element.select.multiHeader.showing')}\n </legend>\n <div>\n <input\n class=\"sr\"\n type=\"radio\"\n id=\"all\"\n name=\"viewDisplay\"\n value=\"all\"\n checked={!showSelected}\n aria-label={loc('tecton.element.select.multiHeader.allAriaLabel')}\n test-id=\"allOptionsButton\"\n onClick={this.showAllOptions}\n onKeyDown={this.visibilityToggleKeyDown}\n />\n <label htmlFor=\"all\">{loc('tecton.element.select.multiHeader.all')}</label>\n </div>\n\n <div>\n <input\n class=\"sr\"\n type=\"radio\"\n id=\"selected\"\n disabled={selectedOptionsCount === 0}\n name=\"viewDisplay\"\n value=\"selected\"\n aria-label={loc('tecton.element.select.multiHeader.selectedAriaLabel', [\n selectedOptionsCount,\n ])}\n checked={showSelected}\n test-id=\"selectedOptionsButton\"\n onClick={this.showSelectedOptions}\n onKeyDown={this.visibilityToggleKeyDown}\n />\n <label htmlFor=\"selected\">\n {loc('tecton.element.select.multiHeader.selected', [selectedOptionsCount])}\n </label>\n </div>\n </fieldset>\n </div>\n );\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as i,h as o}from"./p-a5f18e27.js";import{l as n}from"./p-
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{r as i,h as o}from"./p-a5f18e27.js";import{l as n}from"./p-c49e1a96.js";const t="*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-double-focus-ring, 0 0 0 2px #ffffff, 0 0 0 4px #0066cc)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size:inherit;font-stretch:inherit}:host(.sr),:host(.sr) button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sr,.sr button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none}:host([hidden]){display:none}.invisible{visibility:hidden}:host{display:inline}";const e=t;const s=class{constructor(o){i(this,o);this.substitutions=undefined;this.value=undefined}render(){return o("span",{key:"a983e0108524632f36c67d59ca55046889e959a1"},n(this.value,this.substitutions))}};s.style=e;export{s as q2_loc};
|
|
2
|
+
//# sourceMappingURL=p-1c631366.entry.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as t,c as n,h as e,g as o}from"./p-a5f18e27.js";import{l as a,o as i}from"./p-
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{r as t,c as n,h as e,g as o}from"./p-a5f18e27.js";import{l as a,o as i}from"./p-c49e1a96.js";const r="*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-double-focus-ring, 0 0 0 2px #ffffff, 0 0 0 4px #0066cc)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size:inherit;font-stretch:inherit}:host(.sr),:host(.sr) button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sr,.sr button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none}:host([hidden]){display:none}.invisible{visibility:hidden}.month-container{--comp-month-primary-background:var(--tct-btn-primary-background, var(--tct-btn-primary-bg, var(--t-btn-primary-bg, #2e2e2e)));--comp-month-primary-font-color:var(--tct-btn-primary-font-color, var(--t-btn-primary-font-color, var(--tct-white, var(--app-white, #ffffff))));--comp-month-primary-background:var(--tct-btn-secondary-background, var(--tct-btn-secondary-bg, var(--t-button-default-bg, #cccccc)));--comp-month-secondary-font-color:var(--tct-btn-secondary-font-color, var(--t-btn-secondary-font-color, var(--t-button-default-font-color, #2e2e2e)))}.month-container .navigation{display:flex;justify-content:space-between;flex-direction:row}.month-container .navigation .year-btn{padding:0 1rem;display:flex;align-items:center}.month-container .navigation .year-btn .year{margin-right:0.2rem}.month-container .navigation .year-btn .year-icon{--t-icon-stroke-width:2px;width:16px;height:16px;transition:all 0.3s ease-in-out}.month-container .navigation .year-btn .year-icon.on{transform:rotate(-180deg)}.month-container .navigation .month-controller{display:flex;align-items:center}.month-container .month-list{display:grid;grid-template-columns:auto auto auto}.month-container .month-list .month{display:flex;justify-content:center;align-items:center;padding:0.5rem 0}.month-container .month-list .month .month-button{border-radius:50%;aspect-ratio:1;width:50px;display:flex;justify-content:center;align-items:center}.month-container .month-list .month .month-button:hover{background:var(--comp-month-primary-background);color:var(--comp-month-secondary-font-color);cursor:pointer}.month-container .month-list .month .month-button:active,.month-container .month-list .month .month-button.active{background:var(--comp-month-primary-background);color:var(--comp-month-primary-font-color)}.month-container .today-label{padding:0.5rem 0;color:var(--tct-calendar-day-selected-outline-color, var(--t-calendar-day-selected-outline-color, var(--tct-stoplight-info, var(--const-stoplight-info, #0079c1))))}";const c=r;const s=class{constructor(e){t(this,e);this.viewChange=n(this,"viewChange",7);this.toggleChange=n(this,"toggleChange",7);this.scheduledAfterRender=[];this.monthGrid=[[0,1,2],[3,4,5],[6,7,8],[9,10,11]];this.months=["January","February","March","April","May","June","July","August","September","October","November","December"].map((t=>({label:a(`tecton.element.calendar.months.${t}`),abbr:a(`tecton.element.calendar.months.abbr.${t}`)})));this.onMonthSelection=t=>{var n,e;const o=t.target.closest(".month-button");if((n=o===null||o===void 0?void 0:o.dataset)===null||n===void 0?void 0:n.index){this.selectMonth(Number((e=o===null||o===void 0?void 0:o.dataset)===null||e===void 0?void 0:e.index))}};this.onMonthKeydown=t=>{if(t.key==="Escape"||t.key==="Esc"){this.toggleChange.emit({close:true});return}const n=t.target.dataset.index;if(!n)return;if(t.key==="Enter"||t.key===" "){t.preventDefault();t.stopPropagation();this.selectMonth(Number(n))}else{const e=this.moveMonth(this.monthGrid,Number(n),t);this.focusMonth(e)}};this.moveMonth=(t,n,e)=>{const o=t.length;const a=t[0].length;const i=Math.floor(n/a);const r=n%a;const c=[i,r];if(e.key==="ArrowUp"){e.stopPropagation();e.preventDefault();return t[Math.max(0,c[0]-1)][c[1]]}else if(e.key==="ArrowDown"){e.stopPropagation();e.preventDefault();return t[Math.min(o-1,c[0]+1)][c[1]]}else if(e.key==="ArrowLeft"){e.stopPropagation();e.preventDefault();return Math.max(0,n-1)}else if(e.key==="ArrowRight"){e.stopPropagation();e.preventDefault();return Math.min(this.months.length-1,n+1)}else{return t[c[0]][c[1]]}};this.focusMonth=t=>{const n=this.hostElement.shadowRoot.querySelector(`.month-button[data-index="${t}"]`);if(n){this.focusedIndex=t;n.focus()}};this.selectMonth=t=>{var n,e,o;this.selectedIndex=t;this.focusedIndex=t;const a=this.hostElement.shadowRoot.querySelector(`.month-button[data-index="${t}"]`);(n=this.hostElement.shadowRoot.querySelectorAll(`.month-button`))===null||n===void 0?void 0:n.forEach((t=>t.classList.remove("active")));a===null||a===void 0?void 0:a.classList.add("active");a===null||a===void 0?void 0:a.focus();const i={view:"day",monthIndex:t,selectedYear:this.year};(o=(e=this.hostElement).onchange)===null||o===void 0?void 0:o.call(e,new CustomEvent("click",{bubbles:true,detail:i}));this.viewChange.emit(i)};this.selectYear=t=>{this.year=Math.max(1970,t)};this.year=Number((new Date).toLocaleString("en-US",{year:"numeric"}));this.disabledMonths=undefined;this.today=undefined;this.selectedIndex=0;this.focusedIndex=0;this.showYearLayer=false}componentDidRender(){var t;(t=this.scheduledAfterRender)===null||t===void 0?void 0:t.forEach((t=>t()));this.scheduledAfterRender=[]}componentDidLoad(){i(this.hostElement)}render(){return e("div",{key:"39600ab8497f7c9763dbed6308cd2377168bdb63",class:"month-container",onKeyDown:this.onMonthKeydown},e("div",{key:"d250c850de8a4e501a7136e32b72d55c81c95b39",class:"navigation"},e("q2-btn",{key:"36caef4e3cde69d0666cedc50014604d17d8b450",class:"year-btn",onClick:()=>this.viewChange.emit({view:"year",selectedYear:this.year})},e("span",{key:"2ba93fdffa23e3d6749206562cba9ac95e1b0654",class:"year"},this.year),e("q2-icon",{key:"b510bccf4b540e745dc00f05715c2cdd51e7b784",class:"year-icon off",type:"chevron-down"})),e("div",{key:"34f887c634adbd14b864efa5e6aede7548092690",class:"month-controller"},e("div",{key:"9cda711f14d714201bf1c41f3568cda25fb213f4",class:"cal-year-prev-next"},e("q2-btn",{key:"2c5a3b53cc659ea1829f65811d253f66ca98d7f7",label:a("tecton.element.calendar.previousYear"),"hide-label":true,class:"cal-nav-btn prev-year","test-id":"previousYearButton",onClick:()=>this.selectYear(this.year-1)},e("q2-icon",{key:"59105784727939d1683292686c7e4ad240e584bd",type:"arrow-left"})),e("q2-btn",{key:"8177788039df074a5dd64b158b78dd99dfca283b",label:a("tecton.element.calendar.nextYear"),"hide-label":true,class:"cal-nav-btn next-year","test-id":"nextYearButton",onClick:()=>this.selectYear(this.year+1)},e("q2-icon",{key:"744017aa8f2b90d5b1e4ad41583fd61e290dfe78",type:"arrow-right"}))))),e("div",{key:"d2d1223744da022129a5895def3608ff2680dd9d",class:"month-list",onClick:this.onMonthSelection},this.months.map(((t,n)=>e("div",{class:"month"},e("span",{role:"button",class:"month-button","data-index":n,"aria-label":t.label,tabindex:n===this.focusedIndex?0:-1},t.abbr))))),this.today&&e("div",{key:"43e728ceda906af8a418f7c47a5e6214dacbdcf1",class:"today-label"},a("tecton.element.calendar.today"),": ",this.today))}get hostElement(){return o(this)}};s.style=c;export{s as q2_month_picker};
|
|
2
|
+
//# sourceMappingURL=p-1f81c321.entry.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as t,c as e,h as a,F as r,g as i}from"./p-a5f18e27.js";import{o as s,c,i as n,l as o}from"./p-42302f6f.js";const l='*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-double-focus-ring, 0 0 0 2px #ffffff, 0 0 0 4px #0066cc)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size:inherit;font-stretch:inherit}:host(.sr),:host(.sr) button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sr,.sr button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none}:host([hidden]){display:none}.invisible{visibility:hidden}:host{display:grid;grid-template-columns:var(--tct-stepper-vertical-list-width, var(--tct-advanced-stepper-list-width, var(--t-advanced-stepper-list-width, 180px))) 1fr;gap:var(--tct-stepper-vertical-layout-gap, var(--tct-advanced-stepper-layout-gap, var(--t-advanced-stepper-layout-gap, 120px)))}.step-label,.step-child-label{color:var(--comp-btn-label-color);font-size:var(--comp-btn-label-font-size);font-weight:var(--comp-label-font-weight, 400);min-height:1.5em}.step-label{text-overflow:ellipsis;overflow:hidden;display:-webkit-box;-webkit-line-clamp:var(--tct-stepper-label-line-count, var(--tct-advanced-stepper-label-line-count, var(--t-advanced-stepper-label-line-count, 2)));-webkit-box-orient:vertical}[aria-selected=true] .step-label{font-weight:var(--tct-stepper-vertical-btn-active-font-weight, var(--tct-advanced-stepper-btn-active-font-weight, var(--t-advanced-stepper-btn-active-font-weight, 600)))}[aria-describedby] .step-label{text-overflow:ellipsis;overflow:hidden;display:-webkit-box;-webkit-line-clamp:var(--tct-stepper-label-line-count, var(--tct-advanced-stepper-label-line-count, var(--t-advanced-stepper-label-line-count, 1)));-webkit-box-orient:vertical}.step-child-label{grid-area:content;color:var(--comp-btn-label-color)}.step-description{color:var(--tct-stepper-vertical-description-color, var(--tct-advanced-stepper-description-color, var(--t-advanced-stepper-description-color, var(--t-textA, rgba(77, 77, 77, 0.77)))));font-size:var(--tct-stepper-vertical-description-font-size, var(--tct-advanced-stepper-description-font-size, var(--t-advanced-stepper-description-font-size, var(--app-font-size-small, 12px))));padding-bottom:0.2em}ul{--comp-top-btn-icon-size:var(--tct-stepper-vertical-btn-icon-size, var(--tct-advanced-stepper-btn-icon-size, var(--t-advanced-stepper-btn-icon-size, 24px)));--comp-btn-icon-size:var(--comp-top-btn-icon-size);--comp-btn-content-gap:var(--tct-stepper-vertical-btn-gap, var(--tct-advanced-stepper-btn-gap, var(--t-advanced-stepper-btn-gap, var(--app-scale-3x, 15px))));--comp-btn-label-font-size:var(--tct-stepper-vertical-btn-label-font-size, var(--tct-advanced-stepper-btn-label-font-size, var(--t-advanced-stepper-btn-label-font-size, 16px)));--comp-btn-label-color:var(--tct-stepper-vertical-label-color, var(--tct-advanced-stepper-label-color, var(--t-advanced-stepper-label-color, var(--t-text, #4d4d4d))));--comp-tween:var(--tct-stepper-vertical-tween, var(--tct-advanced-stepper-tween, var(--t-advanced-stepper-tween, var(--app-tween-1, 0.2s ease))));--comp-bullet-bg:var(--tct-stepper-vertical-bullet-active-background, var(--tct-advanced-stepper-bullet-active-bg, var(--t-advanced-stepper-bullet-active-bg, var(--t-primary, #0079c1))));list-style:none;margin:0;padding:0}ul ul{--comp-btn-icon-size:var(--tct-stepper-vertical-child-btn-icon-size, var(--tct-advanced-stepper-child-btn-icon-size, var(--t-advanced-stepper-child-btn-icon-size, 12px)));--comp-btn-content-gap:var(--tct-stepper-vertical-btn-gap, var(--tct-advanced-stepper-btn-gap, var(--t-advanced-stepper-btn-gap, var(--app-scale-2x, 10px))));--comp-btn-label-font-size:var(--tct-stepper-vertical-child-btn-label-font-size, var(--tct-advanced-stepper-child-btn-label-font-size, var(--t-advanced-stepper-child-btn-label-font-size, var(--app-font-size-small, 12px))))}ul ul[aria-hidden=true]{display:none}.step-btn,.step-child-btn{display:grid;grid-template-columns:var(--comp-btn-icon-size) 1fr;gap:var(--comp-btn-content-gap);text-align:var(--tct-stepper-vertical-btn-text-align, var(--tct-advanced-stepper-btn-text-align, var(--t-advanced-stepper-btn-text-align, start)));grid-template-areas:"icon content";align-items:center;width:100%;position:relative;background:transparent;border:0;cursor:pointer;padding:0;transition-property:box-shadow;outline:none}.step-btn[aria-disabled],.step-child-btn[aria-disabled]{cursor:default;--comp-label-font-weight:300;--comp-btn-label-color:var(--tct-stepper-vertical-btn-locked-color, var(--tct-advanced-stepper-btn-locked-color, var(--t-advanced-stepper-btn-locked-color, var(--t-textA, rgba(77, 77, 77, 0.77)))))}.step-btn[aria-selected=true],.step-child-btn[aria-selected=true]{--comp-label-font-weight:600}.step-btn{min-height:var(--tct-stepper-vertical-btn-height, var(--tct-advanced-stepper-btn-height, var(--t-advanced-stepper-btn-height, 40px)));font-size:var(--tct-stepper-vertical-btn-font-size, var(--tct-advanced-stepper-btn-font-size, var(--t-advanced-stepper-btn-font-size, 16px)));--comp-active-color:var(--comp-bullet-bg)}.step-btn.status-complete{--comp-active-color:var(--const-stoplight-success, #0e8a00);--tct-stoplight-success:var(--comp-active-color)}.step-btn.status-error{--comp-active-color:var(--const-stoplight-alert, #d20a0a);--tct-stoplight-warning:var(--comp-active-color)}.step-btn.status-locked{cursor:not-allowed}.step-child-btn{--comp-active-color:var(--comp-bullet-bg);min-height:var(--tct-stepper-vertical-child-btn-height, var(--tct-advanced-stepper-child-btn-height, var(--t-advanced-stepper-child-btn-height, 30px)));padding-left:var(--tct-stepper-vertical-child-btn-left-padding, var(--tct-advanced-stepper-child-btn-left-padding, var(--t-advanced-stepper-child-btn-left-padding, var(--app-scale-2x, 10px))));font-size:var(--tct-stepper-vertical-child-btn-font-size, var(--tct-advanced-stepper-child-btn-font-size, var(--t-advanced-stepper-child-btn-font-size, 12px)));border-left-width:var(--tct-stepper-vertical-child-btn-left-border-width, var(--tct-advanced-stepper-child-btn-left-border-width, var(--t-advanced-stepper-child-btn-left-border-width, 3px)));border-left-style:var(--tct-stepper-vertical-child-btn-left-border-style, var(--tct-advanced-stepper-child-btn-left-border-style, var(--t-advanced-stepper-child-btn-left-border-style, solid)));border-left-color:transparent}.step-child-btn[aria-selected=true]{--comp-btn-label-color:var(--comp-active-color);border-left-color:var(--comp-active-color)}.step-child-btn.status-error{--comp-btn-label-color:var(--const-stoplight-alert, #d20a0a);--comp-active-color:var(--const-stoplight-alert, #d20a0a)}.step-child-btn.status-locked{cursor:not-allowed}.step-content{grid-area:content}.step-icon,.step-bubble,.step-child-icon{grid-area:icon;width:var(--comp-btn-icon-size);height:var(--comp-btn-icon-size);line-height:0}.step-icon q2-icon,.step-bubble q2-icon,.step-child-icon q2-icon{width:var(--comp-btn-icon-size);height:var(--comp-btn-icon-size);--tct-stoplight-warning:var(--comp-active-color)}.step-icon,.step-bubble{background:var(--comp-active-color);color:var(--t-base, #ffffff);border-radius:50%}.status-complete .step-icon,.status-error .step-icon,.status-complete .step-bubble,.status-error .step-bubble{background:var(--comp-active-color)}.step-icon q2-icon:before,.step-bubble q2-icon:before{content:"";display:block;background:var(--t-base, #ffffff);position:absolute;width:80%;height:80%;left:11%;top:11%;border-radius:50%}.status-locked .step-icon,.status-locked .step-bubble{background:var(--t-gray-12, #d9d9d9);color:var(--t-text, #4d4d4d)}[aria-selected=true] .step-icon,[aria-selected=true] .step-bubble{box-shadow:0 0 0 2px var(--t-base, #ffffff), 0 0 0 4px var(--comp-active-color)}.step-bubble{display:flex;justify-content:center;align-items:center;line-height:0}.step-child-icon q2-icon{--tct-icon-stroke-primary:var(--comp-active-color);--tct-icon-stroke-secondary:var(--comp-active-color)}[aria-selected=true] .step-child-icon q2-icon{fill:var(--comp-active-color);--tct-icon-stroke-secondary:var(--t-base, #ffffff)}.spacer{height:0;border-left-width:var(--tct-stepper-vertical-child-border-width, var(--tct-advanced-stepaer-child-border-width, var(--t-advanced-stepaer-child-border-width, 1px)));border-left-style:var(--tct-stepper-vertical-child-border-style, var(--tct-advanced-stepper-child-border-style, var(--t-advanced-stepper-child-border-style, solid)));border-left-color:var(--tct-stepper-vertical-child-border-color, var(--tct-advanced-stepper-child-border-color, var(--t-advanced-stepper-child-border-color, var(--t-gray-12, #d9d9d9))));overflow:hidden;margin-left:calc(var(--comp-top-btn-icon-size) / 2);transition:height var(--comp-tween)}.spacer.has-sibling{height:var(--tct-stepper-vertical-spacer-height, var(--tct-advanced-stepper-spacer-height, var(--t-advanced-stepper-spacer-height, var(--app-scale-6x, 30px))))}.spacer ul{opacity:0;transition:opacity var(--comp-tween)}.spacer.is-opening ul,.spacer.is-open ul{display:block;opacity:1 !important}.spacer.is-open{overflow:visible}';const p=l;const d=class{constructor(a){t(this,a);this.change=e(this,"change",7);this.scheduledAfterRender=[];this.determinePaneChanges=t=>{t.forEach((t=>{var e,a;if(t.type!=="childList")return;if(!t.addedNodes.length&&!t.removedNodes.length)return;if(((e=t.addedNodes[0])===null||e===void 0?void 0:e.nodeType)!==Node.ELEMENT_NODE&&((a=t.removedNodes[0])===null||a===void 0?void 0:a.nodeType)!==Node.ELEMENT_NODE)return;this.buildPaneList()}))};this.buildPaneList=()=>{const{allRootPanes:t}=this;if(!t.length)return;this.structuredPanes=Array.from(t).reduce(((t,e)=>{var a,r;const i=Array.from((r=(a=e.querySelector("[slot=children]"))===null||a===void 0?void 0:a.children)!==null&&r!==void 0?r:[]).filter((({tagName:t})=>t==="Q2-STEPPER-PANE")).map(this.extractDetails);t.push(Object.assign(Object.assign({},this.extractDetails(e)),{children:i}));return t}),[])};this.onStepClick=(t,e)=>{t.stopPropagation();const{currentStepId:a}=this;if(e===a)return;const r=this.allPanes.find((t=>t.id===e));this.change.emit({selectedStep:r,selectedStepId:e,currentStepId:a})};this.onStepKeyDown=(t,e)=>{const{key:a}=t;let r;switch(a){case"ArrowUp":case"ArrowLeft":t.preventDefault();r=this.getStepId(e,"prev");break;case"ArrowDown":case"ArrowRight":t.preventDefault();r=this.getStepId(e,"next");break;case"Home":t.preventDefault();r=this.getStepId(e,"first");break;case"End":t.preventDefault();r=this.getStepId(e,"last");break}if(!r)return;this.focusStepBtn(r,true)};this.currentStepId=undefined;this.structuredPanes=[]}componentWillLoad(){this.setDefaultPane();this.buildPaneList();const t=new MutationObserver(this.determinePaneChanges);const e={childList:true};t.observe(this.hostElement,e);this.allRootPanes.forEach((a=>{const r=a.querySelector("[slot=children]");if(r)t.observe(r,e)}));this.mutationObserver=t}componentDidLoad(){s(this.hostElement);setTimeout((()=>this.showStep(this.currentStepId)),0)}componentWillUpdate(){this.expandedStepChildrenList=null}componentDidRender(){this.scheduledAfterRender.forEach((t=>t()));this.scheduledAfterRender=[];this.openCurrentStepChildren()}disconnectedCallback(){this.mutationObserver.disconnect();this.mutationObserver=null}get allRootPanes(){return Array.from(this.hostElement.querySelectorAll(":scope > q2-stepper-pane"))}get allPanes(){return Array.from(this.hostElement.querySelectorAll("q2-stepper-pane"))}setDefaultPane(){if(this.currentStepId)return;const t=this.hostElement.querySelector("q2-stepper-pane");if(!t)return;if(!t.id)t.id=`step-${c()}`;this.currentStepId=t.id}getStepId(t,e){const a=Array.from(this.hostElement.shadowRoot.querySelectorAll('ul:not([aria-hidden="true"]) > li > button:not([aria-disabled="true"])'));const r=a.findIndex((e=>e.getAttribute("id")===t));let i;switch(e){case"prev":i=Math.max(r-1,0);break;case"next":i=Math.min(r+1,a.length-1);break;case"first":i=0;break;case"last":i=a.length-1;break}return a[i].getAttribute("id")}showStep(t){this.scheduledAfterRender.push(this.resizeIframe);this.showStepPane(t);this.focusStepBtn(t)}extractDetails(t){const{label:e,description:a,status:r}=t;if(!t.id)t.id=`step-${c()}`;return{id:t.id,label:e,description:a,status:r}}resizeIframe(){var t,e;return(e=(t=window===null||window===void 0?void 0:window.TectonElements)===null||t===void 0?void 0:t.resizeIframe)===null||e===void 0?void 0:e.call(t)}openCurrentStepChildren(){const{expandedStepChildrenList:t}=this;const e=this.hostElement.shadowRoot.querySelectorAll(".spacer");e.forEach((e=>{if(t&&e.contains(t)){e.style.height=`${t.clientHeight}px`;if(e.classList.contains("is-open"))return;e.classList.add("is-opening");e.addEventListener("transitionend",(()=>{e.classList.remove("is-opening");e.classList.add("is-open");this.resizeIframe()}),{once:true})}else{e.removeAttribute("style");e.classList.remove("is-open","is-opening")}}))}showStepPane(t){this.allPanes.forEach((e=>{if(e.isActive||e.id===t){e.isActive=t===e.id}}))}focusStepBtn(t,e){const a=this.hostElement.shadowRoot.querySelector(`button[id="${t}"]`);const r=document.activeElement===this.hostElement;if(!a)return;if(r||e){a.focus()}}defaultChangeHandler(t){const{hostElement:e}=this;if(t.target===e&&!e.getAttribute("onchange")&&!!t.detail){this.currentStepId=t.detail.selectedStepId}}delegateFocus(t){if(!n(t,this.hostElement))return;this.focusStepBtn(this.currentStepId,true)}statusChangeHandler(){this.buildPaneList()}currentStepChanged(t){this.showStep(t)}renderStepBtn(t,e){const{currentStepId:r,structuredPanes:i}=this;const s=e===i.length-1;const{id:c,label:n,description:l,status:p}=t;const d=e+1;const b=c===r;const v=n&&`label-${c}`;const h=p==="locked";const u=n&&o(n);const f=n&&l&&`description-${c}`;const g=!n&&o("tecton.element.advancedStepper.number",[`${d}`,`${i.length}`]);let m;if(p==="complete")m="success-filled";else if(p==="error")m="warning-filled";const w=["step-btn"];if(p)w.push(`status-${p}`);const x=t.children.map((t=>t.id));const y=b||x.includes(r);return a("li",{role:"presentation"},a("button",{class:w.join(" "),type:"button","aria-labelledby":v,"aria-describedBy":f,"aria-label":g,"aria-selected":`${b}`,"aria-expanded":!!t.children.length?`${y}`:null,id:c,"aria-disabled":h?"true":null,role:"tab",tabIndex:b?0:-1,onKeyDown:t=>!h&&this.onStepKeyDown(t,c),onClick:t=>!h&&this.onStepClick(t,c)},m?a("div",{class:"step-icon"},a("q2-icon",{type:m})):a("div",{class:"step-bubble"},d),n&&a("div",null,a("div",{class:"step-label",id:v},u),l&&a("div",{class:"step-description",id:f},o(l)))),this.renderSpacer(t,u,y,s))}renderSpacer(t,e,r,i){const s=i&&!!t.children.length||!i;const c=["spacer"];if(!i)c.push("has-sibling");return s&&a("div",{class:c.join(" ")},!!t.children.length&&a("ul",{ref:t=>r&&(this.expandedStepChildrenList=t),"aria-hidden":`${!r}`},t.children.map(((t,a,r)=>this.renderChildStepBtn(t,a,r.length,e)))))}renderChildStepBtn(t,e,r,i){const{currentStepId:s}=this;const{id:c,label:n,status:l}=t;const p=e+1;const d=n&&`label-${c}`;const b=c===s;const v=l==="locked";const h=!n&&o("tecton.element.advancedStepper.childNumber",[`${p}`,`${r}`,i]);let u;if(l==="error")u="warning-filled";const f=["step-child-btn"];if(l)f.push(`status-${l}`);return a("li",{role:"presentation"},a("button",{class:f.join(" "),type:"button","aria-labelledby":d,"aria-label":h,"aria-selected":`${b}`,id:c,"aria-disabled":v?"true":null,role:"tab",tabIndex:b?0:-1,onKeyDown:t=>!v&&this.onStepKeyDown(t,c),onClick:t=>!v&&this.onStepClick(t,c)},u&&a("div",{class:"step-child-icon"},a("q2-icon",{type:u})),n&&a("div",{class:"step-child-label",id:d},o(n))))}render(){return a(r,{key:"7fc09c24e2bdaddfad47651888ba3009370d043c"},a("ul",{key:"4147702f30cf1de5bd2f61617d7880d161460742",role:"tablist"},this.structuredPanes.map(((t,e)=>this.renderStepBtn(t,e)))),a("div",{key:"2813b4d19fa756e2eb82a85b8d62a95abb004679",role:"list"},a("slot",{key:"56091fb33b87a3f5c68faba9fb636459fa6d94ab"})))}get hostElement(){return i(this)}static get watchers(){return{currentStepId:["currentStepChanged"]}}};d.style=p;export{d as q2_stepper_vertical};
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{r as t,c as e,h as a,F as r,g as i}from"./p-a5f18e27.js";import{o as s,c,i as n,l as o}from"./p-c49e1a96.js";const l='*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-double-focus-ring, 0 0 0 2px #ffffff, 0 0 0 4px #0066cc)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size:inherit;font-stretch:inherit}:host(.sr),:host(.sr) button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sr,.sr button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none}:host([hidden]){display:none}.invisible{visibility:hidden}:host{display:grid;grid-template-columns:var(--tct-stepper-vertical-list-width, var(--tct-advanced-stepper-list-width, var(--t-advanced-stepper-list-width, 180px))) 1fr;gap:var(--tct-stepper-vertical-layout-gap, var(--tct-advanced-stepper-layout-gap, var(--t-advanced-stepper-layout-gap, 120px)))}.step-label,.step-child-label{color:var(--comp-btn-label-color);font-size:var(--comp-btn-label-font-size);font-weight:var(--comp-label-font-weight, 400);min-height:1.5em}.step-label{text-overflow:ellipsis;overflow:hidden;display:-webkit-box;-webkit-line-clamp:var(--tct-stepper-label-line-count, var(--tct-advanced-stepper-label-line-count, var(--t-advanced-stepper-label-line-count, 2)));-webkit-box-orient:vertical}[aria-selected=true] .step-label{font-weight:var(--tct-stepper-vertical-btn-active-font-weight, var(--tct-advanced-stepper-btn-active-font-weight, var(--t-advanced-stepper-btn-active-font-weight, 600)))}[aria-describedby] .step-label{text-overflow:ellipsis;overflow:hidden;display:-webkit-box;-webkit-line-clamp:var(--tct-stepper-label-line-count, var(--tct-advanced-stepper-label-line-count, var(--t-advanced-stepper-label-line-count, 1)));-webkit-box-orient:vertical}.step-child-label{grid-area:content;color:var(--comp-btn-label-color)}.step-description{color:var(--tct-stepper-vertical-description-color, var(--tct-advanced-stepper-description-color, var(--t-advanced-stepper-description-color, var(--t-textA, rgba(77, 77, 77, 0.77)))));font-size:var(--tct-stepper-vertical-description-font-size, var(--tct-advanced-stepper-description-font-size, var(--t-advanced-stepper-description-font-size, var(--app-font-size-small, 12px))));padding-bottom:0.2em}ul{--comp-top-btn-icon-size:var(--tct-stepper-vertical-btn-icon-size, var(--tct-advanced-stepper-btn-icon-size, var(--t-advanced-stepper-btn-icon-size, 24px)));--comp-btn-icon-size:var(--comp-top-btn-icon-size);--comp-btn-content-gap:var(--tct-stepper-vertical-btn-gap, var(--tct-advanced-stepper-btn-gap, var(--t-advanced-stepper-btn-gap, var(--app-scale-3x, 15px))));--comp-btn-label-font-size:var(--tct-stepper-vertical-btn-label-font-size, var(--tct-advanced-stepper-btn-label-font-size, var(--t-advanced-stepper-btn-label-font-size, 16px)));--comp-btn-label-color:var(--tct-stepper-vertical-label-color, var(--tct-advanced-stepper-label-color, var(--t-advanced-stepper-label-color, var(--t-text, #4d4d4d))));--comp-tween:var(--tct-stepper-vertical-tween, var(--tct-advanced-stepper-tween, var(--t-advanced-stepper-tween, var(--app-tween-1, 0.2s ease))));--comp-bullet-bg:var(--tct-stepper-vertical-bullet-active-background, var(--tct-advanced-stepper-bullet-active-bg, var(--t-advanced-stepper-bullet-active-bg, var(--t-primary, #0079c1))));list-style:none;margin:0;padding:0}ul ul{--comp-btn-icon-size:var(--tct-stepper-vertical-child-btn-icon-size, var(--tct-advanced-stepper-child-btn-icon-size, var(--t-advanced-stepper-child-btn-icon-size, 12px)));--comp-btn-content-gap:var(--tct-stepper-vertical-btn-gap, var(--tct-advanced-stepper-btn-gap, var(--t-advanced-stepper-btn-gap, var(--app-scale-2x, 10px))));--comp-btn-label-font-size:var(--tct-stepper-vertical-child-btn-label-font-size, var(--tct-advanced-stepper-child-btn-label-font-size, var(--t-advanced-stepper-child-btn-label-font-size, var(--app-font-size-small, 12px))))}ul ul[aria-hidden=true]{display:none}.step-btn,.step-child-btn{display:grid;grid-template-columns:var(--comp-btn-icon-size) 1fr;gap:var(--comp-btn-content-gap);text-align:var(--tct-stepper-vertical-btn-text-align, var(--tct-advanced-stepper-btn-text-align, var(--t-advanced-stepper-btn-text-align, start)));grid-template-areas:"icon content";align-items:center;width:100%;position:relative;background:transparent;border:0;cursor:pointer;padding:0;transition-property:box-shadow;outline:none}.step-btn[aria-disabled],.step-child-btn[aria-disabled]{cursor:default;--comp-label-font-weight:300;--comp-btn-label-color:var(--tct-stepper-vertical-btn-locked-color, var(--tct-advanced-stepper-btn-locked-color, var(--t-advanced-stepper-btn-locked-color, var(--t-textA, rgba(77, 77, 77, 0.77)))))}.step-btn[aria-selected=true],.step-child-btn[aria-selected=true]{--comp-label-font-weight:600}.step-btn{min-height:var(--tct-stepper-vertical-btn-height, var(--tct-advanced-stepper-btn-height, var(--t-advanced-stepper-btn-height, 40px)));font-size:var(--tct-stepper-vertical-btn-font-size, var(--tct-advanced-stepper-btn-font-size, var(--t-advanced-stepper-btn-font-size, 16px)));--comp-active-color:var(--comp-bullet-bg)}.step-btn.status-complete{--comp-active-color:var(--const-stoplight-success, #0e8a00);--tct-stoplight-success:var(--comp-active-color)}.step-btn.status-error{--comp-active-color:var(--const-stoplight-alert, #d20a0a);--tct-stoplight-warning:var(--comp-active-color)}.step-btn.status-locked{cursor:not-allowed}.step-child-btn{--comp-active-color:var(--comp-bullet-bg);min-height:var(--tct-stepper-vertical-child-btn-height, var(--tct-advanced-stepper-child-btn-height, var(--t-advanced-stepper-child-btn-height, 30px)));padding-left:var(--tct-stepper-vertical-child-btn-left-padding, var(--tct-advanced-stepper-child-btn-left-padding, var(--t-advanced-stepper-child-btn-left-padding, var(--app-scale-2x, 10px))));font-size:var(--tct-stepper-vertical-child-btn-font-size, var(--tct-advanced-stepper-child-btn-font-size, var(--t-advanced-stepper-child-btn-font-size, 12px)));border-left-width:var(--tct-stepper-vertical-child-btn-left-border-width, var(--tct-advanced-stepper-child-btn-left-border-width, var(--t-advanced-stepper-child-btn-left-border-width, 3px)));border-left-style:var(--tct-stepper-vertical-child-btn-left-border-style, var(--tct-advanced-stepper-child-btn-left-border-style, var(--t-advanced-stepper-child-btn-left-border-style, solid)));border-left-color:transparent}.step-child-btn[aria-selected=true]{--comp-btn-label-color:var(--comp-active-color);border-left-color:var(--comp-active-color)}.step-child-btn.status-error{--comp-btn-label-color:var(--const-stoplight-alert, #d20a0a);--comp-active-color:var(--const-stoplight-alert, #d20a0a)}.step-child-btn.status-locked{cursor:not-allowed}.step-content{grid-area:content}.step-icon,.step-bubble,.step-child-icon{grid-area:icon;width:var(--comp-btn-icon-size);height:var(--comp-btn-icon-size);line-height:0}.step-icon q2-icon,.step-bubble q2-icon,.step-child-icon q2-icon{width:var(--comp-btn-icon-size);height:var(--comp-btn-icon-size);--tct-stoplight-warning:var(--comp-active-color)}.step-icon,.step-bubble{background:var(--comp-active-color);color:var(--t-base, #ffffff);border-radius:50%}.status-complete .step-icon,.status-error .step-icon,.status-complete .step-bubble,.status-error .step-bubble{background:var(--comp-active-color)}.step-icon q2-icon:before,.step-bubble q2-icon:before{content:"";display:block;background:var(--t-base, #ffffff);position:absolute;width:80%;height:80%;left:11%;top:11%;border-radius:50%}.status-locked .step-icon,.status-locked .step-bubble{background:var(--t-gray-12, #d9d9d9);color:var(--t-text, #4d4d4d)}[aria-selected=true] .step-icon,[aria-selected=true] .step-bubble{box-shadow:0 0 0 2px var(--t-base, #ffffff), 0 0 0 4px var(--comp-active-color)}.step-bubble{display:flex;justify-content:center;align-items:center;line-height:0}.step-child-icon q2-icon{--tct-icon-stroke-primary:var(--comp-active-color);--tct-icon-stroke-secondary:var(--comp-active-color)}[aria-selected=true] .step-child-icon q2-icon{fill:var(--comp-active-color);--tct-icon-stroke-secondary:var(--t-base, #ffffff)}.spacer{height:0;border-left-width:var(--tct-stepper-vertical-child-border-width, var(--tct-advanced-stepaer-child-border-width, var(--t-advanced-stepaer-child-border-width, 1px)));border-left-style:var(--tct-stepper-vertical-child-border-style, var(--tct-advanced-stepper-child-border-style, var(--t-advanced-stepper-child-border-style, solid)));border-left-color:var(--tct-stepper-vertical-child-border-color, var(--tct-advanced-stepper-child-border-color, var(--t-advanced-stepper-child-border-color, var(--t-gray-12, #d9d9d9))));overflow:hidden;margin-left:calc(var(--comp-top-btn-icon-size) / 2);transition:height var(--comp-tween)}.spacer.has-sibling{height:var(--tct-stepper-vertical-spacer-height, var(--tct-advanced-stepper-spacer-height, var(--t-advanced-stepper-spacer-height, var(--app-scale-6x, 30px))))}.spacer ul{opacity:0;transition:opacity var(--comp-tween)}.spacer.is-opening ul,.spacer.is-open ul{display:block;opacity:1 !important}.spacer.is-open{overflow:visible}';const p=l;const d=class{constructor(a){t(this,a);this.change=e(this,"change",7);this.scheduledAfterRender=[];this.determinePaneChanges=t=>{t.forEach((t=>{var e,a;if(t.type!=="childList")return;if(!t.addedNodes.length&&!t.removedNodes.length)return;if(((e=t.addedNodes[0])===null||e===void 0?void 0:e.nodeType)!==Node.ELEMENT_NODE&&((a=t.removedNodes[0])===null||a===void 0?void 0:a.nodeType)!==Node.ELEMENT_NODE)return;this.buildPaneList()}))};this.buildPaneList=()=>{const{allRootPanes:t}=this;if(!t.length)return;this.structuredPanes=Array.from(t).reduce(((t,e)=>{var a,r;const i=Array.from((r=(a=e.querySelector("[slot=children]"))===null||a===void 0?void 0:a.children)!==null&&r!==void 0?r:[]).filter((({tagName:t})=>t==="Q2-STEPPER-PANE")).map(this.extractDetails);t.push(Object.assign(Object.assign({},this.extractDetails(e)),{children:i}));return t}),[])};this.onStepClick=(t,e)=>{t.stopPropagation();const{currentStepId:a}=this;if(e===a)return;const r=this.allPanes.find((t=>t.id===e));this.change.emit({selectedStep:r,selectedStepId:e,currentStepId:a})};this.onStepKeyDown=(t,e)=>{const{key:a}=t;let r;switch(a){case"ArrowUp":case"ArrowLeft":t.preventDefault();r=this.getStepId(e,"prev");break;case"ArrowDown":case"ArrowRight":t.preventDefault();r=this.getStepId(e,"next");break;case"Home":t.preventDefault();r=this.getStepId(e,"first");break;case"End":t.preventDefault();r=this.getStepId(e,"last");break}if(!r)return;this.focusStepBtn(r,true)};this.currentStepId=undefined;this.structuredPanes=[]}componentWillLoad(){this.setDefaultPane();this.buildPaneList();const t=new MutationObserver(this.determinePaneChanges);const e={childList:true};t.observe(this.hostElement,e);this.allRootPanes.forEach((a=>{const r=a.querySelector("[slot=children]");if(r)t.observe(r,e)}));this.mutationObserver=t}componentDidLoad(){s(this.hostElement);setTimeout((()=>this.showStep(this.currentStepId)),0)}componentWillUpdate(){this.expandedStepChildrenList=null}componentDidRender(){this.scheduledAfterRender.forEach((t=>t()));this.scheduledAfterRender=[];this.openCurrentStepChildren()}disconnectedCallback(){this.mutationObserver.disconnect();this.mutationObserver=null}get allRootPanes(){return Array.from(this.hostElement.querySelectorAll(":scope > q2-stepper-pane"))}get allPanes(){return Array.from(this.hostElement.querySelectorAll("q2-stepper-pane"))}setDefaultPane(){if(this.currentStepId)return;const t=this.hostElement.querySelector("q2-stepper-pane");if(!t)return;if(!t.id)t.id=`step-${c()}`;this.currentStepId=t.id}getStepId(t,e){const a=Array.from(this.hostElement.shadowRoot.querySelectorAll('ul:not([aria-hidden="true"]) > li > button:not([aria-disabled="true"])'));const r=a.findIndex((e=>e.getAttribute("id")===t));let i;switch(e){case"prev":i=Math.max(r-1,0);break;case"next":i=Math.min(r+1,a.length-1);break;case"first":i=0;break;case"last":i=a.length-1;break}return a[i].getAttribute("id")}showStep(t){this.scheduledAfterRender.push(this.resizeIframe);this.showStepPane(t);this.focusStepBtn(t)}extractDetails(t){const{label:e,description:a,status:r}=t;if(!t.id)t.id=`step-${c()}`;return{id:t.id,label:e,description:a,status:r}}resizeIframe(){var t,e;return(e=(t=window===null||window===void 0?void 0:window.TectonElements)===null||t===void 0?void 0:t.resizeIframe)===null||e===void 0?void 0:e.call(t)}openCurrentStepChildren(){const{expandedStepChildrenList:t}=this;const e=this.hostElement.shadowRoot.querySelectorAll(".spacer");e.forEach((e=>{if(t&&e.contains(t)){e.style.height=`${t.clientHeight}px`;if(e.classList.contains("is-open"))return;e.classList.add("is-opening");e.addEventListener("transitionend",(()=>{e.classList.remove("is-opening");e.classList.add("is-open");this.resizeIframe()}),{once:true})}else{e.removeAttribute("style");e.classList.remove("is-open","is-opening")}}))}showStepPane(t){this.allPanes.forEach((e=>{if(e.isActive||e.id===t){e.isActive=t===e.id}}))}focusStepBtn(t,e){const a=this.hostElement.shadowRoot.querySelector(`button[id="${t}"]`);const r=document.activeElement===this.hostElement;if(!a)return;if(r||e){a.focus()}}defaultChangeHandler(t){const{hostElement:e}=this;if(t.target===e&&!e.getAttribute("onchange")&&!!t.detail){this.currentStepId=t.detail.selectedStepId}}delegateFocus(t){if(!n(t,this.hostElement))return;this.focusStepBtn(this.currentStepId,true)}statusChangeHandler(){this.buildPaneList()}currentStepChanged(t){this.showStep(t)}renderStepBtn(t,e){const{currentStepId:r,structuredPanes:i}=this;const s=e===i.length-1;const{id:c,label:n,description:l,status:p}=t;const d=e+1;const b=c===r;const v=n&&`label-${c}`;const h=p==="locked";const u=n&&o(n);const f=n&&l&&`description-${c}`;const g=!n&&o("tecton.element.advancedStepper.number",[`${d}`,`${i.length}`]);let m;if(p==="complete")m="success-filled";else if(p==="error")m="warning-filled";const w=["step-btn"];if(p)w.push(`status-${p}`);const x=t.children.map((t=>t.id));const y=b||x.includes(r);return a("li",{role:"presentation"},a("button",{class:w.join(" "),type:"button","aria-labelledby":v,"aria-describedBy":f,"aria-label":g,"aria-selected":`${b}`,"aria-expanded":!!t.children.length?`${y}`:null,id:c,"aria-disabled":h?"true":null,role:"tab",tabIndex:b?0:-1,onKeyDown:t=>!h&&this.onStepKeyDown(t,c),onClick:t=>!h&&this.onStepClick(t,c)},m?a("div",{class:"step-icon"},a("q2-icon",{type:m})):a("div",{class:"step-bubble"},d),n&&a("div",null,a("div",{class:"step-label",id:v},u),l&&a("div",{class:"step-description",id:f},o(l)))),this.renderSpacer(t,u,y,s))}renderSpacer(t,e,r,i){const s=i&&!!t.children.length||!i;const c=["spacer"];if(!i)c.push("has-sibling");return s&&a("div",{class:c.join(" ")},!!t.children.length&&a("ul",{ref:t=>r&&(this.expandedStepChildrenList=t),"aria-hidden":`${!r}`},t.children.map(((t,a,r)=>this.renderChildStepBtn(t,a,r.length,e)))))}renderChildStepBtn(t,e,r,i){const{currentStepId:s}=this;const{id:c,label:n,status:l}=t;const p=e+1;const d=n&&`label-${c}`;const b=c===s;const v=l==="locked";const h=!n&&o("tecton.element.advancedStepper.childNumber",[`${p}`,`${r}`,i]);let u;if(l==="error")u="warning-filled";const f=["step-child-btn"];if(l)f.push(`status-${l}`);return a("li",{role:"presentation"},a("button",{class:f.join(" "),type:"button","aria-labelledby":d,"aria-label":h,"aria-selected":`${b}`,id:c,"aria-disabled":v?"true":null,role:"tab",tabIndex:b?0:-1,onKeyDown:t=>!v&&this.onStepKeyDown(t,c),onClick:t=>!v&&this.onStepClick(t,c)},u&&a("div",{class:"step-child-icon"},a("q2-icon",{type:u})),n&&a("div",{class:"step-child-label",id:d},o(n))))}render(){return a(r,{key:"7fc09c24e2bdaddfad47651888ba3009370d043c"},a("ul",{key:"4147702f30cf1de5bd2f61617d7880d161460742",role:"tablist"},this.structuredPanes.map(((t,e)=>this.renderStepBtn(t,e)))),a("div",{key:"2813b4d19fa756e2eb82a85b8d62a95abb004679",role:"list"},a("slot",{key:"56091fb33b87a3f5c68faba9fb636459fa6d94ab"})))}get hostElement(){return i(this)}static get watchers(){return{currentStepId:["currentStepChanged"]}}};d.style=p;export{d as q2_stepper_vertical};
|
|
2
|
+
//# sourceMappingURL=p-2add4bb9.entry.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as t,c as e,h as i,g as
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{r as t,c as e,h as i,g as a}from"./p-a5f18e27.js";import{r as n,o as s,i as r,n as o,l as c}from"./p-c49e1a96.js";const d="*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-double-focus-ring, 0 0 0 2px #ffffff, 0 0 0 4px #0066cc)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size:inherit;font-stretch:inherit}:host(.sr),:host(.sr) button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sr,.sr button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none}:host([hidden]){display:none}.invisible{visibility:hidden}:host{display:block;background:var(--tct-section-background, var(--tct-section-background-color, var(--t-section-background-color, var(--tct-section-bg, var(--t-section-bg, var(--app-white, #ffffff))))));color:var(--tct-section-font-color, var(--t-section-font-color, var(--t-text, #4d4d4d)));border-radius:var(--tct-section-border-radius, var(--t-section-border-radius, var(--app-border-radius-1, 3px)));margin:var(--tct-section-margin, var(--t-section-margin, var(--app-scale-3x, 15px)));border-width:var(--tct-section-border-width, 0);border-style:var(--tct-section-border-style, solid);border-color:var(--tct-section-border-color, none)}@media screen and (max-width: 767px){:host{--comp-default-margin:var(--app-scale-3x, 15px) 0;margin:var(--tct-section-margin, var(--t-section-margin, var(--comp-default-margin)))}}@media print{:host{--comp-default-print-margin:var(--app-scale-3x, 15px) 0;margin:var(--tct-section-print-margin, var(--comp-default-print-margin))}}.wrapper{--comp-tween:var(--tct-section-tween, var(--t-section-tween, var(--app-tween-1, 0.2s ease)));--comp-default-wrapper-padding:var(--app-scale-1x, 5px) 0;display:block;padding:var(--tct-section-wrapper-padding, var(--t-section-wrapper-padding, var(--comp-default-wrapper-padding)))}.wrapper:hover{box-shadow:var(--tct-section-wrapper-hover-box-shadow, var(--t-section-wrapper-hover-box-shadow, inherit))}:host([collapsible]) .wrapper{--comp-tween:var(--tct-section-tween, var(--t-section-tween, var(--app-tween-2, 0.4s ease)))}header{--comp-default-header-padding:0 var(--app-scale-3x, 15px);padding:var(--tct-section-header-padding, var(--t-section-header-padding, var(--comp-default-header-padding)));display:flex}@media print{header{padding:var(--tct-section-header-print-padding, 0)}}header.has-header{min-height:var(--tct-section-header-min-height, var(--t-section-header-min-height, 44px))}.header-content{flex:1 1 100%;min-width:0;align-self:center}:host([collapsible]) .header-content{cursor:pointer}.title{margin:var(--tct-section-title-margin, 0);font-size:var(--tct-section-title-font-size, 20px);font-weight:var(--tct-section-title-font-weight, 600);text-transform:var(--tct-section-title-text-transform, uppercase);letter-spacing:var(--tct-section-title-letter-spacing, 0.5px)}q2-icon{transition:transform var(--comp-tween)}:host(:not([expanded])) q2-icon,:host([expanded=false]) q2-icon{transform:rotate(180deg)}.content-wrapper{height:auto}.content-wrapper.is-closed{display:none;overflow:hidden}.content-wrapper.is-transitioning{overflow:hidden}:host([collapsible]) .content-wrapper{transition:height var(--comp-tween)}.content{--comp-default-content-padding:var(--app-scale-2x, 10px) var(--app-scale-3x, 15px);padding:var(--tct-section-content-padding, var(--t-section-content-padding, var(--comp-default-content-padding)))}@media print{.content{padding:var(--tct-section-content-print-padding, 0)}}.content:focus{box-shadow:none}:host([collapsible]) :host(:not([expanded])) .content{visibility:hidden}";const h=d;const p=class{constructor(i){t(this,i);this.change=e(this,"change",7);this.titleId="title";this.contentId="content";this.onHeaderClick=()=>{this.change.emit({expanded:!this.expanded})};this.onTransitionEnd=()=>{if(this.expanded){this.contentHeight=undefined}else{this.hideContent=true}setTimeout((()=>{this.clearResizeInterval()}),1e3)};this.onHeaderSlotChange=()=>{const t=!!this.hostElement.querySelector('[slot="q2-section-header"]');if(this.hasYieldedHeader!==t){this.hasYieldedHeader=!!t}};this.clearResizeInterval=()=>{this.resizerFn&&clearInterval(this.resizerFn)};this.addHeaderSlotListener=()=>{if(this.headerSlot){this.headerSlot.addEventListener("slotchange",this.onHeaderSlotChange);return}const t=new MutationObserver(this.onHeaderSlotChange);t.observe(this.headerSlotWrapper,{childList:true});this.headerSlotMutationObserver=t};this.removeHeaderSlotListener=()=>{if(this.headerSlot){this.headerSlot.removeEventListener("slotchange",this.onHeaderSlotChange);return}this.headerSlotMutationObserver.disconnect()};this.addContentSlotListener=()=>{if(this.contentSlot){this.contentSlot.addEventListener("slotchange",n);return}const t=new MutationObserver(n);t.observe(this.contentContainer,{childList:true,subtree:true});this.contentSlotMutationObserver=t};this.removeContentSlotListener=()=>{if(this.contentSlot){this.contentSlot.removeEventListener("slotchange",n);return}this.contentSlotMutationObserver.disconnect()};this.collapsible=undefined;this.expanded=undefined;this.label=undefined;this.noCollapseIcon=undefined;this.contentHeight=undefined;this.hideContent=false;this.hasYieldedHeader=false}componentWillLoad(){this.onHeaderSlotChange();const{collapsible:t,expanded:e}=this;this.contentHeight=t&&e?undefined:"0px";this.hideContent=!e}componentDidLoad(){this.addHeaderSlotListener();this.addContentSlotListener();s(this.hostElement)}disconnectedCallback(){this.removeHeaderSlotListener();this.removeContentSlotListener()}defaultChangeHandler(t){if(t.target===this.hostElement&&!this.hostElement.onchange&&!!t.detail){this.expanded=t.detail.expanded}}delegateFocus(t){if(!r(t,this.hostElement))return;this.contentContainer.focus()}async expandedObserver(t){this.clearResizeInterval();this.resizerFn=setInterval(n,5);if(t){this.expandSection()}else{this.collapseSection()}}async collapseSection(){this.contentHeight=this.contentContainerHeight;await o((()=>{this.contentHeight=this.currentHeight}))}async expandSection(){this.hideContent=false;await o((()=>{this.contentHeight=this.currentHeight}))}collapsibleObserver(){this.contentHeight=this.currentHeight}get currentHeight(){const{collapsible:t,expanded:e}=this;if(!t){return null}else if(e){return this.contentContainerHeight}else{return"0"}}get contentContainerHeight(){return`${this.contentContainer.offsetHeight||0}px`}render(){const t=this.label||this.hasYieldedHeader;const e=["content-wrapper"];const{collapsible:a,hideContent:n,contentHeight:s}=this;if(a){if(n)e.push("is-closed");else if(s)e.push("is-transitioning")}const r=!this.hasYieldedHeader&&!!this.label;return i("section",{key:"c7bcdc8451b8ba3e80b3a4d080469d2d6a10dfa2",class:"wrapper"},i("header",{key:"a50b01b5e72dd0fc2fb1f28a8985bc2649a137a3",class:t?"has-header":""},i("div",{key:"decced634cbc774a5215dc2caf0da821ef02e3ca",class:"header-content",id:this.titleId,onClick:this.collapsible&&this.onHeaderClick},r&&i("h2",{key:"74c14dc96e48b1a22bf771b2256afbeccb8bb809",class:"title"},c(this.label)),i("div",{key:"de4984f8b38347e0d7018b2ba00cf1593e961edd",ref:t=>this.headerSlotWrapper=t,class:"header-slot-wrapper"},i("slot",{key:"0889d40beeb04241e56837d99cbaa7238bed9051",ref:t=>this.headerSlot=t,name:"q2-section-header"}))),this.collapsible&&!this.noCollapseIcon&&i("q2-btn",{key:"ce19177afee03d711374c44557d36eacd4c93dc2",label:c(this.label||"tecton.element.section.defaultToggleLabel"),ariaExpanded:`${!!this.expanded}`,ariaControls:this.contentId,"test-id":"toggleButton","hide-label":true,onClick:this.onHeaderClick},i("q2-icon",{key:"ff1400bd6cc63f20fa8e25d016ef0a877c300d2e",type:"chevron-up"}))),i("div",{key:"5449e450a0d42463e4c55d9fa5ada0d4b0027c97",class:e.join(" "),id:this.contentId,"aria-labelledby":this.titleId,role:"region",onTransitionEnd:this.onTransitionEnd,style:this.collapsible&&{height:this.contentHeight}},i("div",{key:"86160c53fd5d0362c72dddfe9ab97d8f912f9e64",ref:t=>this.contentContainer=t,class:"content",tabindex:"-1"},i("slot",{key:"741afed909cbb5edf60dc67ce99e23aa7e749522",ref:t=>this.contentSlot=t}))))}get hostElement(){return a(this)}static get watchers(){return{expanded:["expandedObserver"],collapsible:["collapsibleObserver"]}}};p.style=h;export{p as q2_section};
|
|
2
|
+
//# sourceMappingURL=p-2bd208be.entry.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as t,c as a,h as r,F as c,g as o}from"./p-a5f18e27.js";import{b as e,o as i,i as s}from"./p-42302f6f.js";const n="*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-double-focus-ring, 0 0 0 2px #ffffff, 0 0 0 4px #0066cc)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size:inherit;font-stretch:inherit}:host(.sr),:host(.sr) button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sr,.sr button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none}:host([hidden]){display:none}.invisible{visibility:hidden}:host{display:block}.container{position:relative;width:100%;text-align:start;height:100%;display:grid;gap:var(--tct-card-gap, var(--t-card-gap, var(--app-scale-3x, 15px)));margin:0;color:var(--tct-card-color, var(--t-card-color, var(--t-text, #4d4d4d)));--comp-avatar-size:var(--tct-card-avatar-size, var(--t-card-avatar-size, 44px));--comp-chevron-size:0;--comp-bar-width:var(--tct-card-bar-width, var(--t-card-bar-width, var(--app-scale-2x, 10px)));--comp-card-padding:var(--tct-card-padding, var(--t-card-padding, var(--app-scale-4x, 20px)))}.container.is-small{--comp-avatar-size:var(--tct-card-avatar-size, var(--t-card-avatar-size, 26px))}.container.has-avatar{grid-template-columns:var(--comp-avatar-size) 1fr;--tct-avatar-width:var(--comp-avatar-size);--tct-avatar-height:var(--comp-avatar-size);--tct-icon-size:var(--comp-avatar-size)}:host([bar][is-static]) .container{padding-left:var(--comp-card-padding)}:host(:not([is-static])) .container{--comp-border-radius:var(--tct-card-border-radius, var(--t-card-border-radius, var(--app-border-radius-1, 3px)));--comp-border-width:var(--tct-card-border-width, var(--t-card-border-width, 0px));border:none;background:var(--tct-card-background, var(--t-card-background, var(--t-base, #ffffff)));padding:var(--comp-card-padding);text-decoration:none;border-width:var(--comp-border-width);border-color:var(--tct-card-border-color, var(--t-card-border-color, transparent));border-style:var(--tct-card-border-style, solid);border-radius:var(--comp-border-radius);transition:box-shadow var(--tct-tween-1, var(--app-tween-1, 0.2s ease));box-shadow:var(--tct-card-box-shadow, var(--t-card-box-shadow, var(--app-shadow-2, 0 3px 6px rgba(0, 0, 0, 0.3))))}:host(:not([is-static])) .container.clickable{cursor:pointer}@media (hover: hover){:host(:not([is-static])) .container.clickable{--comp-card-hover-box-shadow:var(--tct-card-hover-box-shadow, var(--t-card-hover-box-shadow, var(--app-shadow-3, 0 4px 12px rgba(0, 0, 0, 0.3))))}:host(:not([is-static])) .container.clickable:hover,:host(:not([is-static])) .container.clickable:active,:host(:not([is-static])) .container.clickable:focus{color:var(--tct-card-color, var(--t-card-color, var(--t-text, #4d4d4d)));box-shadow:var(--const-double-focus-ring)}:host(:not([is-static])) .container.clickable:hover{box-shadow:var(--comp-card-hover-box-shadow)}:host(:not([is-static])) .container.clickable:focus:hover{box-shadow:var(--const-double-focus-ring), var(--comp-card-hover-box-shadow)}:host(:not([is-static])) .container.clickable:active{box-shadow:var(--tct-card-active-box-shadow, var(--t-card-active-box-shadow, var(--app-shadow-1, 0 2px 4px rgba(0, 0, 0, 0.3))))}}:host(:not([is-static])) .container.is-touch{--comp-chevron-size:var(--tct-card-chevron-size, var(--t-card-chevron-size, 26px));grid-template-columns:1fr var(--comp-chevron-size)}:host(:not([is-static])) .container.has-avatar.is-touch{grid-template-columns:var(--comp-avatar-size) 1fr var(--comp-chevron-size)}.content{overflow:hidden;display:grid;gap:var(--tct-card-content-gap, var(--t-card-content-gap, var(--app-scale-1x, 5px)));align-content:start}h3,p{margin:0;padding:0;line-height:var(--tct-card-font-height, var(--t-card-font-height, 20px))}h3{font-weight:var(--tct-card-font-weight, var(--t-card-font-weight, 600));font-size:var(--tct-card-font-size, var(--t-card-font-size, 17px));text-overflow:ellipsis;overflow:hidden;white-space:nowrap}p{text-overflow:ellipsis;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.bar{--comp-bar-border-radius:calc(var(--comp-border-radius) - var(--comp-border-width));border-radius:var(--comp-bar-border-radius) 0 0 var(--comp-bar-border-radius);position:absolute;inset:0 auto auto 0;width:var(--comp-bar-width);background:var(--comp-bar-color);height:100%}.bar.color-primary{--comp-bar-color:var(--tct-card-bar-color-primary, var(--t-primary, #5446a4))}.bar.color-secondary{--comp-bar-color:var(--tct-card-bar-color-secondary, var(--t-secondary, #b6b3cc))}.bar.color-tertiary{--comp-bar-color:var(--tct-card-bar-color-tertiary, var(--t-tertiary, #ebe8fc))}.bar.color-info{--comp-bar-color:var(--tct-card-bar-color-info, var(--const-stoplight-info, #0079c1))}.bar.color-success{--comp-bar-color:var(--tct-card-bar-color-success, var(--const-stoplight-success, #0e8a00))}.bar.color-warning{--comp-bar-color:var(--tct-card-bar-color-warning, var(--const-stoplight-warning, #c35500))}.bar.color-alert{--comp-bar-color:var(--tct-card-bar-color-alert, var(--const-stoplight-alert, #c35500))}.bar.color-accent-1{--comp-bar-color:var(--tct-card-bar-color-accent-1, var(--t-accent-1, #e05252))}.bar.color-accent-2{--comp-bar-color:var(--tct-card-bar-color-accent-2, var(--t-accent-2, #e09952))}.bar.color-accent-3{--comp-bar-color:var(--tct-card-bar-color-accent-3, var(--t-accent-3, #e0e052))}.bar.color-accent-4{--comp-bar-color:var(--tct-card-bar-color-accent-4, var(--t-accent-4, #99e052))}.bar.color-accent-5{--comp-bar-color:var(--tct-card-bar-color-accent-5, var(--t-accent-5, #52e052))}.bar.color-accent-6{--comp-bar-color:var(--tct-card-bar-color-accent-6, var(--t-accent-6, #52e099))}.bar.color-accent-7{--comp-bar-color:var(--tct-card-bar-color-accent-7, var(--t-accent-7, #52e0e0))}.bar.color-accent-8{--comp-bar-color:var(--tct-card-bar-color-accent-8, var(--t-accent-8, #5299e0))}.bar.color-accent-9{--comp-bar-color:var(--tct-card-bar-color-accent-9, var(--t-accent-9, #5252e0))}.bar.color-accent-10{--comp-bar-color:var(--tct-card-bar-color-accent-10, var(--t-accent-10, #9952e0))}.bar.color-accent-11{--comp-bar-color:var(--tct-card-bar-color-accent-11, var(--t-accent-11, #e052e0))}.bar.color-accent-12{--comp-bar-color:var(--tct-card-bar-color-accent-12, var(--t-accent-12, #e05299))}.touch-indicator{align-self:center;--tct-icon-size:var(--comp-chevron-size)}";const d=n;const l=["primary","secondary","tertiary","info","success","warning","alert","accent-1","accent-2","accent-3","accent-4","accent-5","accent-6","accent-7","accent-8","accent-9","accent-10","accent-11","accent-12"];const h=class{constructor(r){t(this,r);this.click=a(this,"click",7);this.handleClick=t=>{if(this.url)return true;t.preventDefault();t.stopPropagation();this.click.emit()};this.avatarIcon=undefined;this.avatarInitials=undefined;this.avatarName=undefined;this.avatarSrc=undefined;this.bar=undefined;this.description=undefined;this.isSmall=undefined;this.isStatic=undefined;this.isTouch=e();this.target=undefined;this.title=undefined;this.type="clickable";this.url=undefined;this.isAutoTouch=false;this.isAutoSmall=false}componentDidLoad(){const{hostElement:t,clickableElement:a}=this;t.click=()=>a.click();i(this.hostElement);this.resizeObserver=new ResizeObserver((()=>this.determineAutoSmall()));this.resizeObserver.observe(this.hostElement)}disconnectedCallback(){this.resizeObserver=null}onHostElementFocus(t){if(!s(t,this.hostElement))return;this.clickableElement.focus()}getBarClasses(){const{bar:t}=this;return{bar:true,[`color-${t}`]:this.isBarColorPredefined()}}getBarStyles(){const{bar:t}=this;return this.isBarColorPredefined()?{}:{"--comp-bar-color":t}}isBarColorPredefined(){return l.includes(this.bar)}determineAutoTouch(){if(this.hostElement.hasAttribute("is-touch"))return;this.isAutoTouch=e()}determineAutoSmall(){var t,a;if(this.isStatic)return;if(this.hostElement.hasAttribute("is-small"))return;const{containerElement:r,avatarElement:c}=this;const o=(t=c===null||c===void 0?void 0:c.offsetWidth)!==null&&t!==void 0?t:0;const e=(a=r===null||r===void 0?void 0:r.offsetWidth)!==null&&a!==void 0?a:0;const i=o+e;this.isAutoSmall=i<350}generateAvatar(){const{avatarName:t,avatarInitials:a,avatarSrc:c,avatarIcon:o}=this;if(o){return r("q2-icon",{type:o,ref:t=>this.avatarElement=t,"test-id":"avatar"})}else if(t||a||c){return r("q2-avatar",{name:t,initials:a,src:c,ref:t=>this.avatarElement=t,"test-id":"avatar"})}}generateContent(){return r(c,null,this.bar&&r("div",{class:this.getBarClasses(),"test-id":"bar",style:this.getBarStyles()}),this.generateAvatar(),r("div",{class:"content","test-id":"contentContainer",ref:t=>this.containerElement=t},this.title&&r("h3",{"test-id":"title"},this.title),this.description&&r("p",{"test-id":"description"},this.description),r("slot",null)),this.isTouch&&!this.isStatic&&r("q2-icon",{"test-id":"touchIndicator",type:"chevron-right",class:"touch-indicator"}))}generateContainerClasses(){const{isSmall:t,isAutoSmall:a,avatarName:r,avatarInitials:c,avatarSrc:o,avatarIcon:e,isTouch:i,isAutoTouch:s,isStatic:n,type:d}=this;const l=["container",d];const h=t||a;const v=i||s;const b=r||c||o||e;if(h)l.push("is-small");if(v&&!n)l.push("is-touch");if(b)l.push("has-avatar");if(n)l.push("is-static");return l.join(" ")}render(){const{url:t,isStatic:a,type:c}=this;if(a||c==="non-clickable")return r("div",{ref:t=>this.clickableElement=t,class:this.generateContainerClasses(),"test-id":"clickableElement"},this.generateContent());else if(!!t)return r("a",{ref:t=>this.clickableElement=t,href:this.url,class:this.generateContainerClasses(),target:this.target,rel:"noopener noreferrer","test-id":"clickableElement",onClick:this.handleClick},this.generateContent());else return r("button",{ref:t=>this.clickableElement=t,class:this.generateContainerClasses(),"test-id":"clickableElement",type:"button",onClick:this.handleClick},this.generateContent())}get hostElement(){return o(this)}};h.style=d;export{h as q2_card};
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{r as t,c as a,h as r,F as c,g as o}from"./p-a5f18e27.js";import{b as e,o as i,i as s}from"./p-c49e1a96.js";const n="*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-double-focus-ring, 0 0 0 2px #ffffff, 0 0 0 4px #0066cc)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size:inherit;font-stretch:inherit}:host(.sr),:host(.sr) button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sr,.sr button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none}:host([hidden]){display:none}.invisible{visibility:hidden}:host{display:block}.container{position:relative;width:100%;text-align:start;height:100%;display:grid;gap:var(--tct-card-gap, var(--t-card-gap, var(--app-scale-3x, 15px)));margin:0;color:var(--tct-card-color, var(--t-card-color, var(--t-text, #4d4d4d)));--comp-avatar-size:var(--tct-card-avatar-size, var(--t-card-avatar-size, 44px));--comp-chevron-size:0;--comp-bar-width:var(--tct-card-bar-width, var(--t-card-bar-width, var(--app-scale-2x, 10px)));--comp-card-padding:var(--tct-card-padding, var(--t-card-padding, var(--app-scale-4x, 20px)))}.container.is-small{--comp-avatar-size:var(--tct-card-avatar-size, var(--t-card-avatar-size, 26px))}.container.has-avatar{grid-template-columns:var(--comp-avatar-size) 1fr;--tct-avatar-width:var(--comp-avatar-size);--tct-avatar-height:var(--comp-avatar-size);--tct-icon-size:var(--comp-avatar-size)}:host([bar][is-static]) .container{padding-left:var(--comp-card-padding)}:host(:not([is-static])) .container{--comp-border-radius:var(--tct-card-border-radius, var(--t-card-border-radius, var(--app-border-radius-1, 3px)));--comp-border-width:var(--tct-card-border-width, var(--t-card-border-width, 0px));border:none;background:var(--tct-card-background, var(--t-card-background, var(--t-base, #ffffff)));padding:var(--comp-card-padding);text-decoration:none;border-width:var(--comp-border-width);border-color:var(--tct-card-border-color, var(--t-card-border-color, transparent));border-style:var(--tct-card-border-style, solid);border-radius:var(--comp-border-radius);transition:box-shadow var(--tct-tween-1, var(--app-tween-1, 0.2s ease));box-shadow:var(--tct-card-box-shadow, var(--t-card-box-shadow, var(--app-shadow-2, 0 3px 6px rgba(0, 0, 0, 0.3))))}:host(:not([is-static])) .container.clickable{cursor:pointer}@media (hover: hover){:host(:not([is-static])) .container.clickable{--comp-card-hover-box-shadow:var(--tct-card-hover-box-shadow, var(--t-card-hover-box-shadow, var(--app-shadow-3, 0 4px 12px rgba(0, 0, 0, 0.3))))}:host(:not([is-static])) .container.clickable:hover,:host(:not([is-static])) .container.clickable:active,:host(:not([is-static])) .container.clickable:focus{color:var(--tct-card-color, var(--t-card-color, var(--t-text, #4d4d4d)));box-shadow:var(--const-double-focus-ring)}:host(:not([is-static])) .container.clickable:hover{box-shadow:var(--comp-card-hover-box-shadow)}:host(:not([is-static])) .container.clickable:focus:hover{box-shadow:var(--const-double-focus-ring), var(--comp-card-hover-box-shadow)}:host(:not([is-static])) .container.clickable:active{box-shadow:var(--tct-card-active-box-shadow, var(--t-card-active-box-shadow, var(--app-shadow-1, 0 2px 4px rgba(0, 0, 0, 0.3))))}}:host(:not([is-static])) .container.is-touch{--comp-chevron-size:var(--tct-card-chevron-size, var(--t-card-chevron-size, 26px));grid-template-columns:1fr var(--comp-chevron-size)}:host(:not([is-static])) .container.has-avatar.is-touch{grid-template-columns:var(--comp-avatar-size) 1fr var(--comp-chevron-size)}.content{overflow:hidden;display:grid;gap:var(--tct-card-content-gap, var(--t-card-content-gap, var(--app-scale-1x, 5px)));align-content:start}h3,p{margin:0;padding:0;line-height:var(--tct-card-font-height, var(--t-card-font-height, 20px))}h3{font-weight:var(--tct-card-font-weight, var(--t-card-font-weight, 600));font-size:var(--tct-card-font-size, var(--t-card-font-size, 17px));text-overflow:ellipsis;overflow:hidden;white-space:nowrap}p{text-overflow:ellipsis;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.bar{--comp-bar-border-radius:calc(var(--comp-border-radius) - var(--comp-border-width));border-radius:var(--comp-bar-border-radius) 0 0 var(--comp-bar-border-radius);position:absolute;inset:0 auto auto 0;width:var(--comp-bar-width);background:var(--comp-bar-color);height:100%}.bar.color-primary{--comp-bar-color:var(--tct-card-bar-color-primary, var(--t-primary, #5446a4))}.bar.color-secondary{--comp-bar-color:var(--tct-card-bar-color-secondary, var(--t-secondary, #b6b3cc))}.bar.color-tertiary{--comp-bar-color:var(--tct-card-bar-color-tertiary, var(--t-tertiary, #ebe8fc))}.bar.color-info{--comp-bar-color:var(--tct-card-bar-color-info, var(--const-stoplight-info, #0079c1))}.bar.color-success{--comp-bar-color:var(--tct-card-bar-color-success, var(--const-stoplight-success, #0e8a00))}.bar.color-warning{--comp-bar-color:var(--tct-card-bar-color-warning, var(--const-stoplight-warning, #c35500))}.bar.color-alert{--comp-bar-color:var(--tct-card-bar-color-alert, var(--const-stoplight-alert, #c35500))}.bar.color-accent-1{--comp-bar-color:var(--tct-card-bar-color-accent-1, var(--t-accent-1, #e05252))}.bar.color-accent-2{--comp-bar-color:var(--tct-card-bar-color-accent-2, var(--t-accent-2, #e09952))}.bar.color-accent-3{--comp-bar-color:var(--tct-card-bar-color-accent-3, var(--t-accent-3, #e0e052))}.bar.color-accent-4{--comp-bar-color:var(--tct-card-bar-color-accent-4, var(--t-accent-4, #99e052))}.bar.color-accent-5{--comp-bar-color:var(--tct-card-bar-color-accent-5, var(--t-accent-5, #52e052))}.bar.color-accent-6{--comp-bar-color:var(--tct-card-bar-color-accent-6, var(--t-accent-6, #52e099))}.bar.color-accent-7{--comp-bar-color:var(--tct-card-bar-color-accent-7, var(--t-accent-7, #52e0e0))}.bar.color-accent-8{--comp-bar-color:var(--tct-card-bar-color-accent-8, var(--t-accent-8, #5299e0))}.bar.color-accent-9{--comp-bar-color:var(--tct-card-bar-color-accent-9, var(--t-accent-9, #5252e0))}.bar.color-accent-10{--comp-bar-color:var(--tct-card-bar-color-accent-10, var(--t-accent-10, #9952e0))}.bar.color-accent-11{--comp-bar-color:var(--tct-card-bar-color-accent-11, var(--t-accent-11, #e052e0))}.bar.color-accent-12{--comp-bar-color:var(--tct-card-bar-color-accent-12, var(--t-accent-12, #e05299))}.touch-indicator{align-self:center;--tct-icon-size:var(--comp-chevron-size)}";const d=n;const l=["primary","secondary","tertiary","info","success","warning","alert","accent-1","accent-2","accent-3","accent-4","accent-5","accent-6","accent-7","accent-8","accent-9","accent-10","accent-11","accent-12"];const h=class{constructor(r){t(this,r);this.click=a(this,"click",7);this.handleClick=t=>{if(this.url)return true;t.preventDefault();t.stopPropagation();this.click.emit()};this.avatarIcon=undefined;this.avatarInitials=undefined;this.avatarName=undefined;this.avatarSrc=undefined;this.bar=undefined;this.description=undefined;this.isSmall=undefined;this.isStatic=undefined;this.isTouch=e();this.target=undefined;this.title=undefined;this.type="clickable";this.url=undefined;this.isAutoTouch=false;this.isAutoSmall=false}componentDidLoad(){const{hostElement:t,clickableElement:a}=this;t.click=()=>a.click();i(this.hostElement);this.resizeObserver=new ResizeObserver((()=>this.determineAutoSmall()));this.resizeObserver.observe(this.hostElement)}disconnectedCallback(){this.resizeObserver=null}onHostElementFocus(t){if(!s(t,this.hostElement))return;this.clickableElement.focus()}getBarClasses(){const{bar:t}=this;return{bar:true,[`color-${t}`]:this.isBarColorPredefined()}}getBarStyles(){const{bar:t}=this;return this.isBarColorPredefined()?{}:{"--comp-bar-color":t}}isBarColorPredefined(){return l.includes(this.bar)}determineAutoTouch(){if(this.hostElement.hasAttribute("is-touch"))return;this.isAutoTouch=e()}determineAutoSmall(){var t,a;if(this.isStatic)return;if(this.hostElement.hasAttribute("is-small"))return;const{containerElement:r,avatarElement:c}=this;const o=(t=c===null||c===void 0?void 0:c.offsetWidth)!==null&&t!==void 0?t:0;const e=(a=r===null||r===void 0?void 0:r.offsetWidth)!==null&&a!==void 0?a:0;const i=o+e;this.isAutoSmall=i<350}generateAvatar(){const{avatarName:t,avatarInitials:a,avatarSrc:c,avatarIcon:o}=this;if(o){return r("q2-icon",{type:o,ref:t=>this.avatarElement=t,"test-id":"avatar"})}else if(t||a||c){return r("q2-avatar",{name:t,initials:a,src:c,ref:t=>this.avatarElement=t,"test-id":"avatar"})}}generateContent(){return r(c,null,this.bar&&r("div",{class:this.getBarClasses(),"test-id":"bar",style:this.getBarStyles()}),this.generateAvatar(),r("div",{class:"content","test-id":"contentContainer",ref:t=>this.containerElement=t},this.title&&r("h3",{"test-id":"title"},this.title),this.description&&r("p",{"test-id":"description"},this.description),r("slot",null)),this.isTouch&&!this.isStatic&&r("q2-icon",{"test-id":"touchIndicator",type:"chevron-right",class:"touch-indicator"}))}generateContainerClasses(){const{isSmall:t,isAutoSmall:a,avatarName:r,avatarInitials:c,avatarSrc:o,avatarIcon:e,isTouch:i,isAutoTouch:s,isStatic:n,type:d}=this;const l=["container",d];const h=t||a;const v=i||s;const b=r||c||o||e;if(h)l.push("is-small");if(v&&!n)l.push("is-touch");if(b)l.push("has-avatar");if(n)l.push("is-static");return l.join(" ")}render(){const{url:t,isStatic:a,type:c}=this;if(a||c==="non-clickable")return r("div",{ref:t=>this.clickableElement=t,class:this.generateContainerClasses(),"test-id":"clickableElement"},this.generateContent());else if(!!t)return r("a",{ref:t=>this.clickableElement=t,href:this.url,class:this.generateContainerClasses(),target:this.target,rel:"noopener noreferrer","test-id":"clickableElement",onClick:this.handleClick},this.generateContent());else return r("button",{ref:t=>this.clickableElement=t,class:this.generateContainerClasses(),"test-id":"clickableElement",type:"button",onClick:this.handleClick},this.generateContent())}get hostElement(){return o(this)}};h.style=d;export{h as q2_card};
|
|
2
|
+
//# sourceMappingURL=p-38a5a6fb.entry.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as t,h as e,g as o}from"./p-a5f18e27.js";import{o as a,f as i}from"./p-
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{r as t,h as e,g as o}from"./p-a5f18e27.js";import{o as a,f as i}from"./p-c49e1a96.js";const r="*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-double-focus-ring, 0 0 0 2px #ffffff, 0 0 0 4px #0066cc)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size:inherit;font-stretch:inherit}:host(.sr),:host(.sr) button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sr,.sr button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none}:host([hidden]){display:none}.invisible{visibility:hidden}*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-double-focus-ring, 0 0 0 2px #ffffff, 0 0 0 4px #0066cc)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size:inherit;font-stretch:inherit}:host(.sr),:host(.sr) button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sr,.sr button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none}:host([hidden]){display:none}.invisible{visibility:hidden}:host{display:block}:host([clickable]){cursor:pointer;--comp-background:var(--tct-btn-primary-background, var(--tct-btn-primary-bg, var(--t-a11y-active-gray-color-AA, #404040)))}:host([clickable]) .item{--comp-border-radius:var(--tct-item-border-radius, var(--app-border-radius-1, 3px));--comp-btn-tween:var(--tct-btn-tween, var(--t-btn-tween, var(--tct-tween-1, var(--app-tween-1, 0.2s ease))));--comp-btn-fallback-box-shadow:0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);--comp-hover-box-shadow:var(--tct-btn-primary-box-shadow, var(--comp-btn-fallback-box-shadow));--comp-active-box-shadow:var(--tct-btn-primary-active-background, #0063a0);--comp-font-color:var(--tct-btn-primary-font-color, var(--app-white, #ffffff));--comp-hover-outer-ring-color:var(--tct-btn-primary-hover-outer-ring-color, var(--comp-background));--comp-hover-inner-ring-color:var(--tct-btn-primary-hover-inner-ring-color, var(--comp-font-color));--comp-hover-box-shadow:0 0 0 2px var(--comp-hover-inner-ring-color),\n 0 0 0 4px var(--comp-hover-outer-ring-color)}:host([clickable]) .item:hover{box-shadow:var(--comp-hover-box-shadow)}:host([clickable]) .item:active{box-shadow:var(--comp-active-box-shadow)}:host([clickable]) .item:focus-visible{box-shadow:var(--const-double-focus-ring)}.action{--tct-btn-icon-height:var(--tct-item-action-icon-height, var(--app-scale-6x, 30px));--tct-btn-icon-width:var(--tct-item-action-icon-width, var(--app-scale-6x, 30px));--tct-icon-size:var(--tct-item-action-icon-size, var(--app-scale-6x, 30px));--tct-radio-label-hidden-columns:18px;--tct-radio-label-margin-right:0;--tct-radio-margin:0;align-items:center;display:flex;grid-row:1;justify-content:center}.action-no-bullet{grid-column:2}.body{color:var(--tct-item-body-color, var(--t-textA, #747474));font-size:var(--tct-item-body-font-size, var(--app-font-size, 14px));font-weight:var(--tct-item-body-font-weight, 400)}.bullet{--tct-avatar-fallback-height:var(--tct-item-avatar-height, var(--app-scale-7x, 35px));--tct-avatar-fallback-width:var(--tct-item-avatar-width, var(--app-scale-7x, 35px));--tct-avatar-height:var(--tct-item-avatar-height, var(--app-scale-7x, 35px));--tct-avatar-width:var(--tct-item-avatar-width, var(--app-scale-7x, 35px));grid-column:1;grid-row-start:1;grid-row-end:3;padding-top:var(--tct-item-bullet-padding-top, var(--app-scale-1x, 5px));text-align:center}.bullet-no-footer{grid-row-end:2}.footer{grid-column-start:2;grid-column-end:4;grid-row:2}.footer-no-action-nor-bullet{grid-column-start:1;grid-column-end:2}.footer-no-action{grid-column-start:2;grid-column-end:3}.footer-no-bullet{grid-column-start:1;grid-column-end:3}.header{color:var(--tct-item-header-color, var(--t-text, #4d4d4d));font-size:var(--tct-item-header-font-size, 16px);font-weight:var(--tct-item-header-font-weight, 600);line-height:var(--tct-item-header-line-height, 1.5)}.item{border:var(--tct-item-border);border-radius:var(--comp-border-radius);transition:var(--comp-btn-tween);transition-property:box-shadow;column-gap:var(--tct-item-horizontal-spacing, var(--app-scale-3x, 15px));display:grid;grid-template-columns:minmax(var(--app-scale-7x, 35px), auto) minmax(auto, 100%) minmax(var(--app-scale-5x, 25px), auto);grid-template-rows:auto auto;padding:var(--tct-item-padding, var(--app-scale-2x, 10px) var(--app-scale-4x, 20px));row-gap:var(--tct-item-vertical-spacing, var(--app-scale-2x, 10px))}.item-no-action-nor-bullet{grid-template-columns:auto}.item-no-action{grid-template-columns:minmax(var(--app-scale-7x, 35px), auto) minmax(auto, 100%)}.item-no-footer{grid-template-rows:auto}.item-no-bullet{grid-template-columns:minmax(auto, 100%) minmax(var(--app-scale-5x, 25px), auto)}.main{grid-column:2;grid-row:1}.main-no-action-nor-bullet{grid-column:1}.main-no-bullet{grid-column:1}";const n=r;const c=class{constructor(e){t(this,e);this.renderTrigger=0;this.clickable=undefined}componentDidLoad(){if(typeof MutationObserver!=="undefined"){const t=new MutationObserver((()=>this.renderTrigger+=1));t.observe(this.hostElement,{childList:true,subtree:true,attributes:true});this.mutationObserver=t}a(this.hostElement)}delegateFocus(t){var e;if(this.clickable){(e=this.itemElement)===null||e===void 0?void 0:e.focus()}else{t.preventDefault()}}get actionClasses(){const t=["action"];if(!this.hasBulletSlotContent){t.push(`action-no-bullet`)}return t.join(" ")}get bulletClasses(){const t=["bullet"];if(!this.hasFooterSlotContent){t.push(`bullet-no-footer`)}return t.join(" ")}get footerClasses(){const t=["footer"];if(!this.hasActionSlotContent&&!this.hasBulletSlotContent){t.push(`footer-no-action-nor-bullet`)}else if(!this.hasActionSlotContent){t.push(`footer-no-action`)}else if(!this.hasBulletSlotContent){t.push(`footer-no-bullet`)}return t.join(" ")}get hasActionSlotContent(){return i(this.hostElement,"action")}get hasBodySlotContent(){return i(this.hostElement,"body")}get hasBulletSlotContent(){return i(this.hostElement,"bullet")}get hasHeaderSlotContent(){return i(this.hostElement,"header")}get hasFooterSlotContent(){return i(this.hostElement,"footer")}get itemClasses(){const t=["item"];if(!this.hasActionSlotContent&&!this.hasBulletSlotContent){t.push(`item-no-action-nor-bullet`)}else if(!this.hasActionSlotContent){t.push(`item-no-action`)}else if(!this.hasBulletSlotContent){t.push(`item-no-bullet`)}if(!this.hasFooterSlotContent){t.push(`item-no-footer`)}return t.join(" ")}get mainClasses(){const t=["main"];if(!this.hasActionSlotContent&&!this.hasBulletSlotContent){t.push(`main-no-action-nor-bullet`)}else if(!this.hasBulletSlotContent){t.push(`main-no-bullet`)}return t.join(" ")}render(){const{clickable:t}=this;return e("div",{key:"f69b991449d96d104dc6c43b11e10df54a1527e7","test-id":"itemContainer",class:this.itemClasses,ref:t=>this.itemElement=t,role:t?"button":undefined,tabIndex:t?0:undefined},this.hasBulletSlotContent&&e("div",{key:"baddf236e22f36ce876f58e782f22e01e60c13db",class:this.bulletClasses},e("slot",{key:"279c943ce1fd95f7257680e79ea6d043540fba1a",name:"bullet"})),e("div",{key:"8d6e754680517434dda6b268865a0c8c5f3294ec",class:this.mainClasses},this.hasHeaderSlotContent&&e("div",{key:"6e3cfb19fb9fecae91525e065e3b99cfcd90b969",class:"header"},e("slot",{key:"367c35a42e95350f5c606f3dab3738dbc7aa2287",name:"header"})),this.hasBodySlotContent&&e("div",{key:"6f155f0d3e4b06748dd4e130999be571df96d8f9",class:"body"},e("slot",{key:"c8158b2d6b8c5877756404dafe8421b3754f992a",name:"body"}))),this.hasActionSlotContent&&e("div",{key:"3d9f72340d671442e25f2cd9c7cbe8ad9695b386",class:this.actionClasses},e("slot",{key:"c0e49f50574786b679531f7228a8126289da0cc5",name:"action"})),this.hasFooterSlotContent&&e("div",{key:"c2bae2908f4c70d9fc11805176a27c23e2c3f3b9",class:this.footerClasses},e("slot",{key:"3fdcf609c8729acc45549fca09ad090ad4f009a7",name:"footer"})))}get hostElement(){return o(this)}};c.style=n;export{c as q2_item};
|
|
2
|
+
//# sourceMappingURL=p-49e1ca75.entry.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as o,c as t,g as i,h as e}from"./p-a5f18e27.js";import{u as s,w as r,v as n,d as p}from"./p-c49e1a96.js";const a=class{constructor(i){o(this,i);this.change=t(this,"change",7);this.mouseEventList=["mousedown","dragstart","touchstart"];this.isCurrentlyFocused=false;this.mouseHandler=o=>{const t=this.shadowContains(this.findActiveElement());const i=this.shadowContains(this.shadowEventTarget(o))||this.originatesInSlots(o.target);if(!i&&(this.isCurrentlyFocused||t)){this.isCurrentlyFocused=false;this.change.emit();return}this.isCurrentlyFocused=i||t};this.windowBlurHandler=()=>{this.isCurrentlyFocused=false;this.change.emit()}}componentWillLoad(){}connectedCallback(){this.mouseEventList.forEach((o=>{document.addEventListener(o,this.mouseHandler)}));window.addEventListener("blur",this.windowBlurHandler)}disconnectedCallback(){this.mouseEventList.forEach((o=>{document.removeEventListener(o,this.mouseHandler)}));window.removeEventListener("blur",this.windowBlurHandler)}findActiveElement(){let o=document.activeElement;while(true){if(!o||!o.shadowRoot){return o}o=o.shadowRoot.activeElement}}shadowEventTarget(o){return o.composedPath()[0]||o.target}shadowContains(o){while(true){if(o===this.hostElement){return true}if(!o){return false}o=o.parentNode||o.host}}originatesInSlots(o){const t=this.hostElement.querySelectorAll("slot");for(const i of Array.from(t)){const t=i&&i.assignedNodes&&i.assignedNodes()||this.hostElement.childNodes;for(const i of Array.from(t)){if(i.contains(o)){return true}}}return false}get hostElement(){return i(this)}};const l="*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-double-focus-ring, 0 0 0 2px #ffffff, 0 0 0 4px #0066cc)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size:inherit;font-stretch:inherit}:host(.sr),:host(.sr) button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sr,.sr button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none}:host([hidden]){display:none}.invisible{visibility:hidden}.legacy.container{display:none}.legacy.show{display:block;z-index:var(--tct-popover-z-index, 50)}:popover-open,.show{position:absolute;margin:0;padding:0;overflow:auto;background:var(--tct-popover-background, var(--app-white, #ffffff));color:var(--tct-popover-font-color, var(--t-text, #4d4d4d));min-width:var(--tct-popover-min-width, 135px);margin-block:var(--tct-popover-margin-block, 0);box-shadow:var(--tct-popover-box-shadow, var(--app-shadow-1, 0px 0px 2px rgba(0, 0, 0, 0.12), 0px 2px 4px rgba(0, 0, 0, 0.14)));border-width:var(--tct-popover-border-width, 0);border-style:solid;border-color:var(--tct-popover-border-color, transparent);border-radius:var(--tct-popover-border-radius, 0);max-height:var(--comp-pop-max-height);left:var(--comp-pop-left);opacity:var(--comp-pop-opacity, 0);--comp-scrollbar-size:var(--tct-scrollbar-size, var(--t-scrollbar-size, var(--app-scale-1x, 5px)));--comp-scrollbar-border-radius:var(--tct-scrollbar-border-radius, var(--t-scrollbar-border-radius, var(--app-border-radius-1, 3px)));--comp-scrollbar-color:var(--tct-scrollbar-color, var(--t-scrollbar-color, var(--t-a11y-gray-color, #747474)));scrollbar-width:thin;scrollbar-color:var(--comp-scrollbar-color) transparent}:popover-open.block,.show.block{right:unset;width:var(--comp-pop-width);min-width:var(--tct-popover-min-width, unset)}:popover-open.left,.show.left{left:var(--comp-pop-left);right:unset}:popover-open.right,.show.right{right:var(--comp-pop-right);left:unset}:popover-open.down,.show.down{top:var(--tct-popover-top, var(--comp-pop-top));bottom:unset}:popover-open.up,.show.up{top:unset;bottom:var(--comp-pop-bottom)}:popover-open::-webkit-scrollbar,.show::-webkit-scrollbar{width:var(--comp-scrollbar-size);height:var(--comp-scrollbar-size);margin:5px}:popover-open::-webkit-scrollbar-thumb,.show::-webkit-scrollbar-thumb{background:var(--comp-scrollbar-color);border-radius:var(--comp-scrollbar-border-radius)}:popover-open::-webkit-scrollbar-track,.show::-webkit-scrollbar-track{background:transparent;border-radius:var(--comp-scrollbar-border-radius)}click-elsewhere{position:relative;display:block}";const c=l;const h=class{constructor(i){o(this,i);this.popoverStateChanged=t(this,"popoverStateChanged",7);this.displayBuffer=10;this.orientationChanged=false;this.handleMinHeight=()=>{if(this.minHeight){s(this,"minHeight","prop")}};this.handlePopoverToggleEvent=o=>{this.popoverStateChanged.emit({open:o.newState==="open"})};this.viewPortChanged=()=>{if(!this.open)return;this.determinePopDirection()};this.viewPortOrientationChanged=()=>{this.orientationChanged=true;this.viewPortChanged()};this.setPopoverAPICSSProperties=async()=>{var o,t,i,e,s,n;const{controlElement:p,containerElement:a,currentDirection:l,isModule:c,align:h}=this;const{top:d,bottom:u,left:w,right:v}=(t=(o=p===null||p===void 0?void 0:p.getBoundingClientRect)===null||o===void 0?void 0:o.call(p))!==null&&t!==void 0?t:{top:0,bottom:0,left:0,right:0};const b=w;const m=((i=window===null||window===void 0?void 0:window.visualViewport)===null||i===void 0?void 0:i.width)-v;if(h==="right"){a.style.setProperty("--comp-pop-right",`${m-window.scrollX}px`);a.style.setProperty("--comp-pop-left","unset")}else{a.style.setProperty("--comp-pop-left",`${b+window.scrollX}px`);a.style.setProperty("--comp-pop-right","unset")}if(this.block)a.style.setProperty("--comp-pop-width",`${(p===null||p===void 0?void 0:p.offsetWidth)||0}px`);if(l==="up"){if(c){a.style.setProperty("--comp-pop-bottom",`${window.innerHeight-d}px`)}else{a.style.setProperty("--comp-pop-bottom",`${window.innerHeight-d-((e=window===null||window===void 0?void 0:window.visualViewport)===null||e===void 0?void 0:e.offsetTop)-window.scrollY}px`)}}if(l==="down"){if(c){a.style.setProperty("--comp-pop-top",`${u}px`)}else{a.style.setProperty("--comp-pop-top",`${u+((n=(s=window===null||window===void 0?void 0:window.visualViewport)===null||s===void 0?void 0:s.offsetTop)!==null&&n!==void 0?n:0)+window.scrollY}px`)}}await r();a.style.setProperty("--comp-pop-opacity","1")};this.setAbsoluteCSSProperties=async()=>{const{controlElement:o,containerElement:t,currentDirection:i,align:e}=this;if(e==="right"){t.style.setProperty("--comp-pop-right","0");t.style.setProperty("--comp-pop-left","unset")}else{t.style.setProperty("--comp-pop-left","0");t.style.setProperty("--comp-pop-right","unset")}if(this.block){t.style.setProperty("--comp-pop-width","100%")}if(i==="up"){const i=getComputedStyle(o);const e=parseInt(i.height||"0")+parseInt(i.borderTopWidth||"0")+parseInt(i.borderBottomWidth||"0");t.style.setProperty("--comp-pop-bottom",`${e}px`)}await r();t.style.setProperty("--comp-pop-opacity","1")};this.direction=undefined;this.align="left";this.open=undefined;this.block=undefined;this.controlElement=undefined;this.mode=null;this.minHeight=undefined;this.currentDirection=undefined;this.show=false}componentWillLoad(){if(!this.supportsPopoverAPI){console.warn("The Popover API is not supported in this browser. Please update your browser to the latest version. The component will use legacy mode.");this.mode="legacy"}}componentDidLoad(){this.handleMinHeight();if(this.supportsPopoverAPI)this.containerElement.addEventListener("toggle",this.handlePopoverToggleEvent);if(this.open)this.determinePopDirection()}disconnectedCallback(){this.removeViewportListeners();this.containerElement.removeEventListener("toggle",this.handlePopoverToggleEvent);this.containerElement=null;this.contentElement=null;this.controlElement=null}async toggle(){this.open=!this.open}async scrollContainerTo(o){this.containerElement.scrollTo(o)}async openChanged(o){this.popoverStateChanged.emit({open:o});if(o){this.addViewportListeners();this.determinePopDirection()}else{this.removeViewportListeners();this.currentDirection=undefined;if(this.mode==="legacy"||!this.supportsPopoverAPI){this.show=false}else{this.containerElement.hidePopover()}await r();this.clearCSSProperties()}}minHeightProvided(){this.handleMinHeight()}popoverStateHandler(o){const{detail:{open:t}}=o;if(t===this.open)return;this.open=t;o.stopPropagation()}get providedDirection(){const{direction:o}=this;switch(o){case"up":case"down":return o;default:return undefined}}get isModule(){var o,t;const i=window!==window.top;const e=Object.keys((t=(o=window.Tecton)===null||o===void 0?void 0:o.platformDimensions)!==null&&t!==void 0?t:{}).length>0;return i&&e}get supportsPopoverAPI(){return Object.hasOwn(HTMLElement.prototype,"popover")}addViewportListeners(){var o;window.addEventListener("resize",this.viewPortOrientationChanged);visualViewport===null||visualViewport===void 0?void 0:visualViewport.addEventListener("resize",this.viewPortChanged);if(n(this.hostElement)&&!p()){window.addEventListener("scroll",this.viewPortChanged,{passive:true,capture:true})}(o=screen===null||screen===void 0?void 0:screen.orientation)===null||o===void 0?void 0:o.addEventListener("orientationchange",this.viewPortOrientationChanged);window.addEventListener("orientationchange",this.viewPortOrientationChanged)}removeViewportListeners(){var o;window.removeEventListener("resize",this.viewPortOrientationChanged);visualViewport===null||visualViewport===void 0?void 0:visualViewport.removeEventListener("resize",this.viewPortChanged);window.removeEventListener("scroll",this.viewPortChanged);(o=screen===null||screen===void 0?void 0:screen.orientation)===null||o===void 0?void 0:o.removeEventListener("orientationchange",this.viewPortOrientationChanged);window.removeEventListener("orientationchange",this.viewPortOrientationChanged)}clearCSSProperties(){this.containerElement.style.removeProperty("--comp-pop-max-height");this.containerElement.style.removeProperty("--comp-pop-top");this.containerElement.style.removeProperty("--comp-pop-bottom");this.containerElement.style.removeProperty("--comp-pop-left");this.containerElement.style.removeProperty("--comp-pop-right");this.containerElement.style.removeProperty("--comp-pop-width");this.containerElement.style.removeProperty("--comp-pop-opacity")}setDirectionAndShow(o){const t=this.open;if(!t)return;this.currentDirection=o;if(this.mode==="legacy"||!this.supportsPopoverAPI){this.show=true;this.setAbsoluteCSSProperties()}else{this.setPopoverAPICSSProperties();this.containerElement.showPopover()}}async determinePopDirection(){var o,t,i;const{containerElement:e,controlElement:s,providedDirection:n,displayBuffer:p}=this;if(e)e.style.maxHeight=null;await r();const{isModule:a}=this;const{top:l,bottom:c}=(t=(o=s===null||s===void 0?void 0:s.getBoundingClientRect)===null||o===void 0?void 0:o.call(s))!==null&&t!==void 0?t:{top:0,bottom:0};let h;let d;let u;if(a){const{outletOffset:o=0,innerHeight:t=window.innerHeight,top:e=0,bottom:s=0}=((i=window.Tecton)===null||i===void 0?void 0:i.platformDimensions)||{};const r=window.innerHeight-c;const n=o>0?l:l+o-e;const a=o+c-e;const h=n;const w=t-s-a;const v=r<w;d=h-p;u=v?r-p:w-p}else{h=window.innerHeight;d=l-p;u=h-c-p}const w=d>u?"up":"down";const v=!e.style.getPropertyValue("--comp-pop-max-height")||this.orientationChanged;this.orientationChanged=false;const b=this.currentDirection||n||w;switch(b){case"up":if(v){e.style.setProperty("--comp-pop-max-height",`${d}px`)}this.setDirectionAndShow("up");break;case"down":if(v){e.style.setProperty("--comp-pop-max-height",`${u}px`)}this.setDirectionAndShow("down");break}}render(){const o=["container",this.currentDirection,this.align];if(this.show)o.push("show");if(this.block)o.push("block");if(this.mode==="legacy")o.push("legacy");return e("div",{key:"cece9e9d32bd79d0d8ad20a69542a1a66dd29755",ref:o=>this.containerElement=o,class:o.join(" "),"test-id":"outerContainer",tabIndex:-1,popover:"manual"},e("div",{key:"016f1d7424aa5e097809c5d13a1d0f6e07754b82",ref:o=>this.contentElement=o,class:"content"},e("slot",{key:"9b5ab6bb51e1822a88348d28490704f7f920758d"})))}get hostElement(){return i(this)}static get watchers(){return{open:["openChanged"],minHeight:["minHeightProvided"]}}};h.style=c;export{a as click_elsewhere,h as q2_popover};
|
|
2
|
+
//# sourceMappingURL=p-4df2824f.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ClickElsewhere","constructor","hostRef","this","mouseEventList","isCurrentlyFocused","mouseHandler","event","shadowContains","findActiveElement","aboutToBeFocused","shadowEventTarget","originatesInSlots","target","change","emit","windowBlurHandler","componentWillLoad","connectedCallback","forEach","eventName","document","addEventListener","window","disconnectedCallback","removeEventListener","workingElement","activeElement","shadowRoot","composedPath","child","hostElement","parentNode","host","slots","querySelectorAll","currentSlot","Array","from","lightNodes","assignedNodes","childNodes","currentNode","contains","q2PopoverCss","Q2PopoverStyle0","Q2Popover","displayBuffer","orientationChanged","handleMinHeight","minHeight","handleDeprecationWarning","handlePopoverToggleEvent","popoverStateChanged","open","newState","viewPortChanged","determinePopDirection","viewPortOrientationChanged","setPopoverAPICSSProperties","async","controlElement","containerElement","currentDirection","isModule","align","top","controlTop","bottom","controlBottom","left","controlLeft","right","controlRight","_b","_a","getBoundingClientRect","call","popoverLeft","popoverRight","_c","visualViewport","width","style","setProperty","scrollX","block","offsetWidth","innerHeight","_d","offsetTop","scrollY","_f","_e","waitForNextPaint","setAbsoluteCSSProperties","controlStyle","getComputedStyle","controlSize","parseInt","height","borderTopWidth","borderBottomWidth","undefined","supportsPopoverAPI","console","warn","mode","componentDidLoad","removeViewportListeners","contentElement","toggle","scrollContainerTo","options","scrollTo","openChanged","addViewportListeners","show","hidePopover","clearCSSProperties","minHeightProvided","popoverStateHandler","detail","stopPropagation","providedDirection","direction","isIframe","hasPlatformDimensions","Object","keys","Tecton","platformDimensions","length","hasOwn","HTMLElement","prototype","isInScrollableContainer","isMobile","passive","capture","screen","orientation","removeProperty","setDirectionAndShow","isOpen","showPopover","maxHeight","windowHeight","maxSpaceAbove","maxSpaceBelow","outletOffset","topBarHeight","bottomBarHeight","distanceToIframeBottom","visualControlTop","visualControlBottom","viewableSpaceAbove","viewableSpaceBelow","isIframeShorterThanWindow","directionWithMostSpace","shouldUpdateMaxHeight","getPropertyValue","currentOrDetermineDirection","render","containerClasses","push","h","key","ref","el","class","join","tabIndex","popover"],"sources":["src/components/click-elsewhere/click-elsewhere.tsx","src/components/q2-popover/q2-popover.scss?tag=q2-popover&encapsulation=shadow","src/components/q2-popover/q2-popover.tsx"],"sourcesContent":["import { Component, ComponentInterface, Element, Event, EventEmitter } from '@stencil/core';\n\n@Component({\n tag: 'click-elsewhere',\n shadow: false,\n})\nexport class ClickElsewhere implements ComponentInterface {\n /**\n * Listens for mouse and window events that happen outside this click-elsewhere element so we can close popovers when users click outside them\n */\n mouseEventList: string[] = ['mousedown', 'dragstart', 'touchstart'];\n isCurrentlyFocused: boolean = false;\n\n @Element() hostElement: HTMLElement;\n\n /**\n * Emitted when the user clicks outside the element\n */\n @Event() change: EventEmitter;\n\n /* TODO: Stencil/Rollup is having issues compiling without this here. Will try to remove in future Stencil upgrade. */\n /* tslint:disable:no-empty */\n componentWillLoad() {}\n /* tslint:enable:no-empty */\n\n connectedCallback() {\n this.mouseEventList.forEach((eventName: string) => {\n document.addEventListener(eventName, this.mouseHandler);\n });\n window.addEventListener('blur', this.windowBlurHandler);\n }\n\n disconnectedCallback() {\n this.mouseEventList.forEach((eventName: string) => {\n document.removeEventListener(eventName, this.mouseHandler);\n });\n window.removeEventListener('blur', this.windowBlurHandler);\n }\n\n findActiveElement(): Element | null {\n let workingElement = document.activeElement!;\n while (true) {\n if (!workingElement || !workingElement.shadowRoot) {\n return workingElement;\n }\n workingElement = workingElement.shadowRoot.activeElement;\n }\n }\n\n shadowEventTarget(event: any): Element {\n return event.composedPath()[0] || event.target;\n }\n\n shadowContains(child: any): boolean {\n /**\n * shadow-dom enabled version of Node.contains()\n */\n\n while (true) {\n if (child === this.hostElement) {\n return true;\n }\n if (!child) {\n return false;\n }\n child = child.parentNode || child.host;\n }\n }\n\n originatesInSlots(target: Element): boolean {\n const slots = this.hostElement.querySelectorAll('slot');\n for (const currentSlot of Array.from(slots)) {\n const lightNodes =\n (currentSlot && currentSlot.assignedNodes && currentSlot.assignedNodes()) ||\n this.hostElement.childNodes;\n\n for (const currentNode of Array.from(lightNodes)) {\n if (currentNode.contains(target)) {\n return true;\n }\n }\n }\n return false;\n }\n\n mouseHandler = (event: Event): void => {\n const isCurrentlyFocused = this.shadowContains(this.findActiveElement());\n const aboutToBeFocused =\n this.shadowContains(this.shadowEventTarget(event)) || this.originatesInSlots(event.target as Element);\n\n if (!aboutToBeFocused && (this.isCurrentlyFocused || isCurrentlyFocused)) {\n this.isCurrentlyFocused = false;\n this.change.emit();\n return;\n }\n this.isCurrentlyFocused = aboutToBeFocused || isCurrentlyFocused;\n };\n\n windowBlurHandler = (): void => {\n this.isCurrentlyFocused = false;\n this.change.emit();\n };\n}\n","@import '../../styles/host.scss';\n@import '../../styles/functions';\n\n.legacy {\n &.container {\n display: none;\n }\n\n &.show {\n display: block;\n z-index: var-list(--tct-popover-z-index, 50);\n }\n}\n\n:popover-open,\n.show {\n position: absolute;\n margin: 0;\n padding: 0;\n overflow: auto;\n background: var-list(--tct-popover-background, --app-white, #ffffff);\n color: var-list(--tct-popover-font-color, --t-text, #4d4d4d);\n min-width: var-list(--tct-popover-min-width, 135px);\n margin-block: var-list(--tct-popover-margin-block, 0);\n box-shadow: var-list(\n --tct-popover-box-shadow,\n --app-shadow-1,\n unquote('0px 0px 2px rgba(0, 0, 0, 0.12), 0px 2px 4px rgba(0, 0, 0, 0.14)')\n );\n border-width: var-list(--tct-popover-border-width, 0);\n border-style: solid;\n border-color: var-list(--tct-popover-border-color, transparent);\n border-radius: var-list(--tct-popover-border-radius, 0);\n // the --comp variables are set via JS\n max-height: var(--comp-pop-max-height);\n left: var(--comp-pop-left);\n opacity: var(--comp-pop-opacity, 0);\n\n &.block {\n right: unset;\n width: var(--comp-pop-width);\n min-width: var-list(--tct-popover-min-width, unset);\n }\n\n &.left {\n left: var(--comp-pop-left);\n right: unset;\n }\n\n &.right {\n right: var(--comp-pop-right);\n left: unset;\n }\n\n &.down {\n top: var-list(--tct-popover-top, --comp-pop-top);\n bottom: unset;\n }\n\n &.up {\n top: unset;\n bottom: var(--comp-pop-bottom);\n }\n\n @include tiny-scrollbar();\n}\n\nclick-elsewhere {\n position: relative;\n display: block;\n}\n","import {\n Component,\n Prop,\n h,\n ComponentInterface,\n Element,\n Watch,\n Method,\n Listen,\n EventEmitter,\n Event,\n State,\n} from '@stencil/core';\nimport { handleDeprecationWarning, waitForNextPaint, isMobile, isInScrollableContainer } from '../../utils';\n\n@Component({ tag: 'q2-popover', shadow: true, styleUrl: 'q2-popover.scss' })\nexport class Q2Popover implements ComponentInterface {\n /**\n * Force the direction of the popover when it opens.\n * If no value is passed, the component will auto-detect the direction based on available space.\n */\n @Prop({ reflect: true }) direction: 'up' | 'down';\n\n /** Aligns the popover to the left or right side of the control element. */\n @Prop({ reflect: true }) align: 'left' | 'right' = 'left';\n\n /** Controls whether the popover is open or closed. */\n @Prop({ reflect: true, mutable: true }) open: boolean;\n\n /** Indicates the popover will match the width of its parent element. */\n @Prop({ reflect: true }) block: boolean;\n\n /** The element that controls the popover's behavior. */\n @Prop() controlElement: HTMLElement;\n\n @Prop() mode: 'legacy' = null;\n\n /** @deprecated */\n @Prop() minHeight: number;\n\n @Element() hostElement: HTMLElement;\n\n /**\n * Emitted when the popover is opened or closed.\n */\n @Event() popoverStateChanged: EventEmitter<{ open: boolean }>;\n\n @State() currentDirection: 'down' | 'up' = undefined;\n // remove `show` when Popover API is supported in iOS\n @State() show: boolean = false;\n\n containerElement: HTMLDivElement;\n contentElement: HTMLDivElement;\n\n /**\n * The number of pixels to leave between the popover and the edge of the viewport\n */\n displayBuffer = 10;\n\n orientationChanged: boolean = false;\n\n /// Lifecycle hooks ///\n componentWillLoad() {\n if (!this.supportsPopoverAPI) {\n console.warn(\n 'The Popover API is not supported in this browser. Please update your browser to the latest version. The component will use legacy mode.'\n );\n this.mode = 'legacy';\n }\n }\n\n componentDidLoad() {\n this.handleMinHeight();\n if (this.supportsPopoverAPI) this.containerElement.addEventListener('toggle', this.handlePopoverToggleEvent);\n if (this.open) this.determinePopDirection();\n }\n\n disconnectedCallback() {\n this.removeViewportListeners();\n this.containerElement.removeEventListener('toggle', this.handlePopoverToggleEvent);\n this.containerElement = null;\n this.contentElement = null;\n this.controlElement = null;\n }\n\n /// Methods ///\n @Method()\n async toggle() {\n this.open = !this.open;\n }\n\n @Method()\n async scrollContainerTo(options: ScrollToOptions) {\n this.containerElement.scrollTo(options);\n }\n\n /// Watchers ///\n @Watch('open')\n async openChanged(open: boolean) {\n this.popoverStateChanged.emit({ open });\n\n if (open) {\n this.addViewportListeners();\n this.determinePopDirection();\n } else {\n this.removeViewportListeners();\n this.currentDirection = undefined;\n if (this.mode === 'legacy' || !this.supportsPopoverAPI) {\n this.show = false;\n } else {\n this.containerElement.hidePopover();\n }\n\n await waitForNextPaint();\n this.clearCSSProperties();\n }\n }\n\n @Watch('minHeight')\n minHeightProvided() {\n this.handleMinHeight();\n }\n\n /// Listeners ///\n @Listen('popoverState')\n popoverStateHandler(event: CustomEvent<{ open: boolean }>) {\n const {\n detail: { open },\n } = event;\n if (open === this.open) return;\n\n this.open = open;\n event.stopPropagation();\n }\n\n /// Getters ///\n get providedDirection(): 'up' | 'down' | undefined {\n const { direction } = this;\n switch (direction) {\n case 'up':\n case 'down':\n return direction;\n default:\n return undefined;\n }\n }\n\n get isModule() {\n const isIframe = window !== window.top;\n const hasPlatformDimensions = Object.keys(window.Tecton?.platformDimensions ?? {}).length > 0;\n return isIframe && hasPlatformDimensions;\n }\n\n get supportsPopoverAPI(): boolean {\n return Object.hasOwn(HTMLElement.prototype, 'popover');\n }\n\n /// Helpers ///\n handleMinHeight = () => {\n if (this.minHeight) {\n handleDeprecationWarning(this, 'minHeight', 'prop');\n }\n };\n\n handlePopoverToggleEvent = (event: ToggleEvent) => {\n this.popoverStateChanged.emit({ open: event.newState === 'open' });\n };\n\n viewPortChanged = () => {\n if (!this.open) return;\n this.determinePopDirection();\n };\n\n viewPortOrientationChanged = () => {\n this.orientationChanged = true;\n this.viewPortChanged();\n };\n\n addViewportListeners() {\n window.addEventListener('resize', this.viewPortOrientationChanged);\n visualViewport?.addEventListener('resize', this.viewPortChanged);\n if (isInScrollableContainer(this.hostElement) && !isMobile()) {\n window.addEventListener('scroll', this.viewPortChanged, { passive: true, capture: true });\n }\n screen?.orientation?.addEventListener('orientationchange', this.viewPortOrientationChanged);\n window.addEventListener('orientationchange', this.viewPortOrientationChanged);\n }\n\n removeViewportListeners() {\n window.removeEventListener('resize', this.viewPortOrientationChanged);\n visualViewport?.removeEventListener('resize', this.viewPortChanged);\n window.removeEventListener('scroll', this.viewPortChanged);\n screen?.orientation?.removeEventListener('orientationchange', this.viewPortOrientationChanged);\n window.removeEventListener('orientationchange', this.viewPortOrientationChanged);\n }\n\n setPopoverAPICSSProperties = async () => {\n const { controlElement, containerElement, currentDirection, isModule, align } = this;\n const {\n top: controlTop,\n bottom: controlBottom,\n left: controlLeft,\n right: controlRight,\n } = controlElement?.getBoundingClientRect?.() ?? {\n top: 0,\n bottom: 0,\n left: 0,\n right: 0,\n };\n\n const popoverLeft: number = controlLeft;\n const popoverRight: number = window?.visualViewport?.width - controlRight;\n\n if (align === 'right') {\n containerElement.style.setProperty('--comp-pop-right', `${popoverRight - window.scrollX}px`);\n containerElement.style.setProperty('--comp-pop-left', 'unset');\n } else {\n containerElement.style.setProperty('--comp-pop-left', `${popoverLeft + window.scrollX}px`);\n containerElement.style.setProperty('--comp-pop-right', 'unset');\n }\n\n if (this.block) containerElement.style.setProperty('--comp-pop-width', `${controlElement?.offsetWidth || 0}px`);\n\n if (currentDirection === 'up') {\n if (isModule) {\n containerElement.style.setProperty('--comp-pop-bottom', `${window.innerHeight - controlTop}px`);\n } else {\n containerElement.style.setProperty(\n '--comp-pop-bottom',\n `${window.innerHeight - controlTop - window?.visualViewport?.offsetTop - window.scrollY}px`\n );\n }\n }\n\n if (currentDirection === 'down') {\n if (isModule) {\n containerElement.style.setProperty('--comp-pop-top', `${controlBottom}px`);\n } else {\n containerElement.style.setProperty(\n '--comp-pop-top',\n `${controlBottom + (window?.visualViewport?.offsetTop ?? 0) + window.scrollY}px`\n );\n }\n }\n\n // Wait for one paint to prevent layout thrashing\n await waitForNextPaint();\n containerElement.style.setProperty('--comp-pop-opacity', '1');\n };\n\n setAbsoluteCSSProperties = async () => {\n const { controlElement, containerElement, currentDirection, align } = this;\n\n if (align === 'right') {\n containerElement.style.setProperty('--comp-pop-right', '0');\n containerElement.style.setProperty('--comp-pop-left', 'unset');\n } else {\n containerElement.style.setProperty('--comp-pop-left', '0');\n containerElement.style.setProperty('--comp-pop-right', 'unset');\n }\n\n if (this.block) {\n containerElement.style.setProperty('--comp-pop-width', '100%');\n }\n\n if (currentDirection === 'up') {\n const controlStyle = getComputedStyle(controlElement);\n const controlSize =\n parseInt(controlStyle.height || '0') +\n parseInt(controlStyle.borderTopWidth || '0') +\n parseInt(controlStyle.borderBottomWidth || '0');\n\n containerElement.style.setProperty('--comp-pop-bottom', `${controlSize}px`);\n }\n\n // Wait for one paint to prevent layout thrashing\n await waitForNextPaint();\n containerElement.style.setProperty('--comp-pop-opacity', '1');\n };\n\n clearCSSProperties() {\n this.containerElement.style.removeProperty('--comp-pop-max-height');\n this.containerElement.style.removeProperty('--comp-pop-top');\n this.containerElement.style.removeProperty('--comp-pop-bottom');\n this.containerElement.style.removeProperty('--comp-pop-left');\n this.containerElement.style.removeProperty('--comp-pop-right');\n this.containerElement.style.removeProperty('--comp-pop-width');\n this.containerElement.style.removeProperty('--comp-pop-opacity');\n }\n\n setDirectionAndShow(direction: 'up' | 'down') {\n // Due to some runtime inconsistency across devices/browsers we need to add one more check here because the\n // popover can be closed between the time the popover is opened and the time the direction is determined\n const isOpen = this.open;\n if (!isOpen) return;\n\n this.currentDirection = direction;\n if (this.mode === 'legacy' || !this.supportsPopoverAPI) {\n this.show = true;\n this.setAbsoluteCSSProperties();\n } else {\n this.setPopoverAPICSSProperties();\n this.containerElement.showPopover();\n }\n }\n\n async determinePopDirection() {\n const { containerElement, controlElement, providedDirection, displayBuffer } = this;\n if (containerElement) containerElement.style.maxHeight = null;\n await waitForNextPaint();\n\n const { isModule } = this;\n const { top: controlTop, bottom: controlBottom } = controlElement?.getBoundingClientRect?.() ?? {\n top: 0,\n bottom: 0,\n };\n\n let windowHeight: number;\n let maxSpaceAbove: number;\n let maxSpaceBelow: number;\n if (isModule) {\n const {\n outletOffset = 0,\n innerHeight = window.innerHeight,\n top: topBarHeight = 0,\n bottom: bottomBarHeight = 0,\n } = window.Tecton?.platformDimensions || {};\n\n const distanceToIframeBottom = window.innerHeight - controlBottom;\n\n // controlElement position visually on the page\n const visualControlTop = outletOffset > 0 ? controlTop : controlTop + outletOffset - topBarHeight;\n const visualControlBottom = outletOffset + controlBottom - topBarHeight;\n\n // visual space around the controlElement\n const viewableSpaceAbove = visualControlTop;\n const viewableSpaceBelow = innerHeight - bottomBarHeight - visualControlBottom;\n\n // calculate space above and below controlElement\n const isIframeShorterThanWindow = distanceToIframeBottom < viewableSpaceBelow;\n maxSpaceAbove = viewableSpaceAbove - displayBuffer;\n maxSpaceBelow = isIframeShorterThanWindow\n ? distanceToIframeBottom - displayBuffer\n : viewableSpaceBelow - displayBuffer;\n } else {\n windowHeight = window.innerHeight;\n maxSpaceAbove = controlTop - displayBuffer;\n maxSpaceBelow = windowHeight - controlBottom - displayBuffer;\n }\n\n const directionWithMostSpace: 'up' | 'down' = maxSpaceAbove > maxSpaceBelow ? 'up' : 'down';\n\n // We do not want to update the max height once the popover is open unless the page orientation shifts (resize or mobile use cases)\n const shouldUpdateMaxHeight =\n !containerElement.style.getPropertyValue('--comp-pop-max-height') || this.orientationChanged;\n // we do not want to constantly update the max-height after an orientation change, so we switch this back to false\n this.orientationChanged = false;\n const currentOrDetermineDirection = this.currentDirection || providedDirection || directionWithMostSpace;\n\n switch (currentOrDetermineDirection) {\n case 'up':\n if (shouldUpdateMaxHeight) {\n containerElement.style.setProperty('--comp-pop-max-height', `${maxSpaceAbove}px`);\n }\n this.setDirectionAndShow('up');\n break;\n case 'down':\n if (shouldUpdateMaxHeight) {\n containerElement.style.setProperty('--comp-pop-max-height', `${maxSpaceBelow}px`);\n }\n this.setDirectionAndShow('down');\n break;\n default:\n break;\n }\n }\n\n /// DOM ///\n render() {\n const containerClasses = ['container', this.currentDirection, this.align];\n if (this.show) containerClasses.push('show');\n if (this.block) containerClasses.push('block');\n if (this.mode === 'legacy') containerClasses.push('legacy');\n\n return (\n <div\n ref={el => (this.containerElement = el)}\n class={containerClasses.join(' ')}\n test-id=\"outerContainer\"\n tabIndex={-1}\n popover=\"manual\"\n >\n <div\n ref={el => (this.contentElement = el)}\n class=\"content\"\n >\n <slot />\n </div>\n </div>\n );\n }\n}\n"],"mappings":"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"}
|