q2-tecton-elements 1.37.1 → 1.37.2
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/loader.cjs.js +1 -1
- package/dist/cjs/q2-btn_2.cjs.entry.js +4 -0
- package/dist/cjs/q2-btn_2.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-dropdown.cjs.entry.js +8 -10
- package/dist/cjs/q2-dropdown.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-editable-field.cjs.entry.js +5 -6
- package/dist/cjs/q2-editable-field.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-tecton-elements.cjs.js +1 -1
- package/dist/collection/components/q2-btn/index.js +4 -0
- package/dist/collection/components/q2-btn/index.js.map +1 -1
- package/dist/collection/components/q2-data-table/index.js +6 -6
- package/dist/collection/components/q2-dropdown/index.js +8 -10
- package/dist/collection/components/q2-dropdown/index.js.map +1 -1
- package/dist/collection/components/q2-editable-field/index.js +11 -6
- package/dist/collection/components/q2-editable-field/index.js.map +1 -1
- package/dist/collection/components/q2-input/index.js +1 -1
- package/dist/collection/components/q2-option-list/index.js +2 -2
- package/dist/collection/components/q2-stepper-pane/index.js +2 -2
- package/dist/components/index5.js +4 -0
- package/dist/components/index5.js.map +1 -1
- package/dist/components/q2-dropdown.js +8 -10
- package/dist/components/q2-dropdown.js.map +1 -1
- package/dist/components/q2-editable-field.js +6 -7
- package/dist/components/q2-editable-field.js.map +1 -1
- package/dist/docs.json +6 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/q2-btn_2.entry.js +4 -0
- package/dist/esm/q2-btn_2.entry.js.map +1 -1
- package/dist/esm/q2-dropdown.entry.js +8 -10
- package/dist/esm/q2-dropdown.entry.js.map +1 -1
- package/dist/esm/q2-editable-field.entry.js +5 -6
- package/dist/esm/q2-editable-field.entry.js.map +1 -1
- package/dist/esm/q2-tecton-elements.js +1 -1
- package/dist/q2-tecton-elements/p-6156f952.entry.js +2 -0
- package/dist/q2-tecton-elements/p-6156f952.entry.js.map +1 -0
- package/dist/q2-tecton-elements/p-d4e3414e.entry.js +2 -0
- package/dist/q2-tecton-elements/p-d4e3414e.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-578e3f98.entry.js → p-e68970b1.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-e68970b1.entry.js.map +1 -0
- 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/types/components/q2-btn/index.d.ts +1 -0
- package/dist/types/components/q2-dropdown/index.d.ts +1 -4
- package/dist/types/components/q2-editable-field/index.d.ts +2 -1
- package/package.json +4 -3
- package/dist/q2-tecton-elements/p-2a975246.entry.js +0 -2
- package/dist/q2-tecton-elements/p-2a975246.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-578e3f98.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-9d743327.entry.js +0 -2
- package/dist/q2-tecton-elements/p-9d743327.entry.js.map +0 -1
- /package/dist/types/{workspace/workspace/tecton-production_release_1.37.x → builds/q2e/development/tecton/tecton}/packages/q2-tecton-elements/.stencil/test/helpers.d.ts +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{p as e,b as a}from"./p-277dc8cd.js";export{s as setNonce}from"./p-277dc8cd.js";const t=()=>{const a=import.meta.url;const t={};if(a!==""){t.resourcesUrl=new URL(".",a).href}return e(t)};t().then((e=>a(JSON.parse('[["p-e8858d0d",[[1,"q2-calendar",{"value":[1537],"label":[1537],"hideLabel":[1540,"hide-label"],"optional":[516],"disabled":[516],"readonly":[516],"invalid":[1540],"open":[1540],"typeable":[516],"clearable":[516],"placeholder":[513],"disabledMsg":[513,"disabled-msg"],"calendarLabel":[513,"calendar-label"],"disclaimer":[513],"displayFormat":[513,"display-format"],"startDate":[513,"start-date"],"endDate":[513,"end-date"],"cutoffTime":[513,"cutoff-time"],"daysOfWeekChecksum":[514,"days-of-week-checksum"],"assume":[513],"hints":[1040],"errors":[1040],"invalidDates":[16],"validDates":[16],"popoverDirection":[1025,"popover-direction"],"popoverAlignment":[1,"popover-alignment"],"popoverMinHeight":[2,"popover-min-height"],"popDirection":[513,"pop-direction"],"onsuccess":[16],"buttonLabel":[513,"button-label"],"ariaLabel":[1537,"aria-label"],"keyboardSelection":[32],"typedValue":[32],"dateList":[32],"hintMessage":[32],"hintMessageType":[32],"openPopover":[64],"closePopover":[64],"setValue":[64],"typeValue":[64]},[[0,"change","defaultChangeHandler"],[0,"error","defaultErrorHandler"],[0,"success","defaultSuccessHandler"],[0,"focus","delegateFocus"],[0,"clear","handleClear"],[0,"popoverStateChanged","popoverStateHandler"]]]]],["p-680929be",[[1,"q2-select",{"label":[1537],"hideLabel":[1540,"hide-label"],"value":[1025],"selectedOptions":[1040],"disabled":[516],"readonly":[516],"invalid":[516],"listLabel":[1,"list-label"],"errors":[16],"multiple":[516],"minRows":[2,"min-rows"],"popDirection":[513,"pop-direction"],"searchable":[516],"multilineOptions":[516,"multiline-options"],"optional":[516],"placeholder":[513],"hoist":[4],"ariaLabel":[1537,"aria-label"],"open":[32],"showSelected":[32],"searchText":[32],"hasCustomDisplay":[32],"inputFocused":[32],"statusMessage":[32],"prioritizeSearch":[32],"structuredSelectedOptions":[32],"openPopover":[64],"closePopover":[64],"setValue":[64],"searchOptions":[64]},[[0,"keydown","keydownHandler"],[0,"change","onHostElementChange"],[0,"input","onHostElementInput"],[0,"focus","delegateFocus"],[0,"focusout","handleFocusout"],[0,"displayChanged","handleSelectedDisplay"]]]]],["p-09d4b3d3",[[1,"q2-action-sheet",{"data":[1040],"title":[1],"hideClose":[4,"hide-close"],"isScrollable":[32],"renderStatus":[32],"hide":[64],"show":[64]}]]],["p-9d743327",[[1,"q2-dropdown",{"type":[513],"icon":[513],"label":[1537],"hideLabel":[1540,"hide-label"],"disabled":[516],"name":[513],"context":[513],"contextValue":[513,"context-value"],"resolvedType":[513,"resolved-type"],"additionalContext":[513,"additional-context"],"block":[516],"open":[1540],"popoverMinHeight":[2,"popover-min-height"],"popoverDirection":[1025,"popover-direction"],"popoverAlignment":[1025,"popover-alignment"],"alignment":[513],"popDirection":[513,"pop-direction"],"ariaLabel":[1537,"aria-label"]},[[0,"focus","delegateFocus"],[0,"popoverStateChanged","popoverStateHandler"]]]]],["p-58cdb9c7",[[1,"q2-data-table",{"density":[1537],"bordered":[1540],"shadowed":[1540],"selectable":[1540],"clickable":[1540],"loading":[1540],"hideCaption":[1540,"hide-caption"],"caption":[1025],"selectMode":[1025,"select-mode"],"hideClickable":[1028,"hide-clickable"],"headers":[1040],"rows":[1040],"serializedHeaders":[32],"serializedRows":[32],"hasExpandableRows":[32],"hasDropdowns":[32],"allRowsSelected":[32],"checkSlotCount":[32]},[[0,"click","onClickListener"]]]]],["p-2a975246",[[1,"q2-editable-field",{"value":[1537],"editing":[1540],"label":[1537],"hideLabel":[1540,"hide-label"],"type":[513],"formatModifier":[513,"format-modifier"],"truncated":[516],"maxlength":[514],"persistentLabel":[516,"persistent-label"],"disabled":[516],"block":[516],"hints":[16],"errors":[16],"ariaLabel":[1537,"aria-label"],"formattedValue":[32],"clickEdit":[64],"clickCancel":[64],"clickSave":[64],"setValue":[64]},[[0,"change","onHostElementChange"],[0,"focus","delegateFocus"]]]]],["p-597f8656",[[1,"q2-pagination",{"recordType":[1,"record-type"],"perPage":[2,"per-page"],"total":[514],"page":[1538],"pages":[1538],"recordsOnly":[1540,"records-only"],"pagesOnly":[1540,"pages-only"],"autoSize":[1540,"auto-size"],"isSmall":[32]},[[0,"focus","onHostElementFocus"]]]]],["p-25bd1b18",[[1,"q2-pill",{"hoist":[4],"disabled":[516],"active":[1540],"open":[1540],"multiple":[516],"maxLength":[514,"max-length"],"label":[513],"value":[1537],"theme":[513],"selectedOptions":[1040],"popoverMinHeight":[2,"popover-min-height"],"popoverDirection":[1,"popover-direction"],"popoverAlignment":[1025,"popover-alignment"],"optionListLabel":[1,"option-list-label"],"optionCount":[32],"selectedOptionElements":[32]},[[0,"focus","delegateFocus"],[0,"popoverStateChanged","popoverStateHandler"],[0,"displayChanged","handleSelectedDisplay"]]]]],["p-ac82ea35",[[1,"q2-tab-container",{"value":[1537],"type":[513],"name":[513],"color":[513],"noPrint":[516,"no-print"],"hasLeft":[32],"hasRight":[32],"scrollEnabled":[32],"showScrollLeft":[32],"showScrollRight":[32],"tabs":[32]},[[0,"change","defaultChangeHandler"],[9,"resize","onResize"],[0,"focus","onFocus"],[0,"badge","onBadge"]]]]],["p-30facf35",[[1,"q2-tag",{"hoist":[4],"open":[1540],"label":[513],"theme":[513],"popoverMinHeight":[2,"popover-min-height"],"popoverDirection":[1,"popover-direction"],"popoverAlignment":[1025,"popover-alignment"],"optionListLabel":[1,"option-list-label"],"optionCount":[32]},[[0,"focus","delegateFocus"],[0,"popoverStateChanged","popoverStateHandler"]]]]],["p-8e7b762a",[[4,"q2-carousel",{"autoPlay":[516,"auto-play"],"fullWidthPanes":[516,"full-width-panes"],"hidePagination":[516,"hide-pagination"],"showNavigationArrows":[516,"show-navigation-arrows"],"label":[513],"index":[1538],"ariaLabel":[513,"aria-label"],"universalCarouselOptions":[32],"fullWidthDisplayOptions":[32],"activePaneIndex":[32],"applyFocus":[32],"applyPaginationFocus":[32],"autoPlayInProgress":[32],"compactMode":[32],"carouselWrapperWidth":[32]},[[0,"change","onHostElementChange"],[0,"clickCarouselPane","carouselPaneClicked"],[0,"focus","delegateFocus"]]]]],["p-4abbd0b1",[[1,"q2-month-picker",{"year":[1538],"disabledMonths":[16],"today":[1],"selectedIndex":[32],"focusedIndex":[32],"showYearLayer":[32]}]]],["p-59d34a17",[[1,"q2-section",{"label":[513],"collapsible":[516],"noCollapseIcon":[516,"no-collapse-icon"],"expanded":[1540],"contentHeight":[32],"hideContent":[32],"hasYieldedHeader":[32]},[[0,"change","defaultChangeHandler"],[0,"focus","delegateFocus"]]]]],["p-7366d36d",[[1,"q2-stepper",{"currentStep":[1538,"current-step"],"stepCount":[1026,"step-count"],"lastEnabledStep":[1026,"last-enabled-step"],"contentChangeTriggerCount":[32],"scrollEnabled":[32],"showScrollLeft":[32],"showScrollRight":[32]},[[0,"change","defaultChangeHandler"],[0,"focus","delegateFocus"],[0,"statusChange","statusChangeHandler"],[0,"contentChange","contentChangeHandler"]]]]],["p-077107c1",[[1,"q2-card",{"title":[513],"description":[513],"avatarName":[513,"avatar-name"],"avatarInitials":[513,"avatar-initials"],"avatarIcon":[513,"avatar-icon"],"avatarSrc":[513,"avatar-src"],"isSmall":[516,"is-small"],"bar":[513],"isStatic":[516,"is-static"],"isTouch":[516,"is-touch"],"url":[513],"target":[513],"type":[513],"isAutoTouch":[32],"isAutoSmall":[32]},[[0,"focus","onHostElementFocus"]]]]],["p-a60f82c0",[[1,"q2-chart-donut",{"chartName":[513,"chart-name"],"summaryIcon":[513,"summary-icon"],"summaryName":[513,"summary-name"],"innerRadius":[1025,"inner-radius"],"outerRadius":[1025,"outer-radius"],"minSliceSize":[1,"min-slice-size"],"selectedOffset":[2,"selected-offset"],"hoverScaleSize":[2,"hover-scale-size"],"format":[513],"isClickable":[516,"is-clickable"],"data":[16],"selectedId":[1,"selected-id"],"hoveredId":[32],"selectById":[64],"selectByIndex":[64],"clearSelection":[64]},[[0,"focus","delegateFocus"]]]]],["p-e45856f7",[[1,"q2-checkbox-group",{"label":[513],"value":[1040],"disabled":[516],"readonly":[516],"optional":[516],"hasError":[516,"has-error"],"setValue":[64]},[[0,"change","onHostElementChange"]]]]],["p-efbe6c17",[[1,"q2-radio-group",{"label":[513],"value":[1025],"disabled":[516],"name":[513],"optional":[516],"readonly":[516],"tileLayout":[1540,"tile-layout"],"tileAlignment":[513,"tile-alignment"],"hasError":[516,"has-error"],"tilelayout":[1540],"setValue":[64]},[[0,"change","onHostElementChange"],[0,"focus","delegateFocus"],[0,"keydown","keydownHandler"]]]]],["p-9a28b93a",[[1,"q2-stepper-vertical",{"currentStepId":[1537,"current-step-id"],"structuredPanes":[32]},[[0,"change","defaultChangeHandler"],[0,"focus","delegateFocus"],[0,"statusChange","statusChangeHandler"]]]]],["p-252889b7",[[1,"q2-textarea",{"value":[1025],"label":[513],"hideLabel":[516,"hide-label"],"hideMessages":[516,"hide-messages"],"optional":[516],"placeholder":[513],"disabled":[516],"readonly":[516],"spellcheck":[516],"maxlength":[1538],"rows":[514],"cols":[514],"resize":[513],"errors":[16],"hints":[16],"hasFocus":[32],"downParams":[32],"setValue":[64]},[[0,"focus","onHostElementFocus"],[0,"change","onHostElementChange"],[0,"input","onHostElementInput"]]]]],["p-a52371cf",[[4,"q2-carousel-pane",{"index":[2],"siblingCount":[2,"sibling-count"],"isActivePane":[516,"is-active-pane"],"label":[513]}]]],["p-9ef2829e",[[1,"q2-chart-area",{"data":[16],"alignChartName":[513,"align-chart-name"],"chartName":[513,"chart-name"],"chartSubTitle":[513,"chart-sub-title"],"lineColor":[513,"line-color"],"pointerLineColor":[513,"pointer-line-color"],"pointerLineStyle":[513,"pointer-line-style"],"areaColor":[513,"area-color"],"dataNamesOverflow":[513,"data-names-overflow"],"dataNamesWidth":[514,"data-names-width"],"format":[513],"formatModifier":[513,"format-modifier"],"hideNameAxisLabels":[516,"hide-name-axis-labels"],"hideValueAxisLabels":[516,"hide-value-axis-labels"],"offsetDataNames":[516,"offset-data-names"],"offsetDataValues":[516,"offset-data-values"],"showChartName":[516,"show-chart-name"],"showDatapointLabels":[516,"show-datapoint-labels"],"showGradient":[516,"show-gradient"],"gridLines":[513,"grid-lines"]}]]],["p-75fd6df5",[[1,"q2-chart-bar",{"data":[16],"alignChartName":[513,"align-chart-name"],"chartName":[513,"chart-name"],"chartSubTitle":[513,"chart-sub-title"],"color":[513],"dataNamesOverflow":[513,"data-names-overflow"],"dataNamesWidth":[514,"data-names-width"],"format":[513],"formatModifier":[513,"format-modifier"],"hideBarLabels":[516,"hide-bar-labels"],"hideValueAxisLabels":[516,"hide-value-axis-labels"],"offsetDataNames":[516,"offset-data-names"],"offsetDataValues":[516,"offset-data-values"],"orientation":[513],"showChartName":[516,"show-chart-name"],"sort":[516]}]]],["p-4eaed8ca",[[0,"q2-loading-element",{"shape":[513],"width":[513],"height":[513],"borderRadius":[513,"border-radius"]}]]],["p-46287c02",[[1,"q2-loc",{"value":[513],"substitutions":[16]}]]],["p-67f33354",[[1,"q2-radio",{"label":[1537],"hideLabel":[1540,"hide-label"],"value":[513],"disabled":[516],"checked":[1540],"readonly":[516],"tabIndex":[2,"tab-index"],"name":[513],"groupDisabled":[4,"group-disabled"],"groupReadonly":[4,"group-readonly"],"groupTileLayout":[4,"group-tile-layout"],"ariaLabel":[1537,"aria-label"]},[[0,"click","onHostClick"],[0,"focus","delegateFocus"]]]]],["p-6cacc879",[[1,"q2-stepper-pane",{"label":[513],"description":[513],"isActive":[516,"is-active"],"showWithChildren":[516,"show-with-children"],"status":[513],"isChildActive":[32]},[[0,"activeChange","checkForActiveChildren"]]]]],["p-3505f25c",[[1,"q2-tab-pane",{"value":[513],"label":[513],"name":[513],"selected":[516],"badgeCount":[514,"badge-count"],"badgeDescription":[513,"badge-description"],"badgeTheme":[513,"badge-theme"],"badgeStatus":[513,"badge-status"],"index":[2],"guid":[2]}]]],["p-47c60d4a",[[1,"q2-tooltip",{"label":[513],"block":[516],"multiline":[516],"persistent":[516],"immediate":[516],"focusable":[516],"position":[513],"focusClass":[32]},[[0,"keyup","keyUpHandler"],[2,"focus","focusCaptureHandler"],[0,"focus","focusHandler"],[0,"focusout","focusOutHandler"]]]]],["p-6170e44c",[[1,"tecton-tab-pane",{"value":[513],"label":[513],"name":[513],"selected":[516],"index":[2],"guid":[2],"provided":[516],"url":[513],"moduleId":[513,"module-id"],"minHeight":[513,"min-height"],"badgeCount":[514,"badge-count"],"badgeDescription":[513,"badge-description"],"badgeTheme":[513,"badge-theme"],"badgeStatus":[513,"badge-status"],"authPayload":[16],"showForm":[4,"show-form"],"_showForm":[32]}]]],["p-bfd69d42",[[1,"q2-icon",{"type":[513],"label":[513],"inline":[516]}]]],["p-9c9a2550",[[1,"q2-dropdown-item",{"disabled":[516],"removable":[516],"separator":[516],"label":[1537],"value":[513],"ariaLabel":[1537,"aria-label"]},[[0,"focus","onHostElementFocus"]]]]],["p-536978fe",[[1,"q2-avatar",{"name":[513],"initials":[513],"src":[513],"icon":[1],"badSrc":[32],"isLoaded":[32]}]]],["p-0d4aec6e",[[1,"q2-checkbox",{"checked":[1540],"disabled":[516],"hasError":[516,"has-error"],"hideLabel":[1540,"hide-label"],"indeterminate":[516],"label":[1537],"name":[513],"readonly":[516],"type":[513],"value":[513],"groupDisabled":[516,"group-disabled"],"alignment":[513],"description":[513],"ariaLabel":[1537,"aria-label"]},[[0,"change","defaultChangeHandler"],[0,"focus","delegateFocus"]]]]],["p-a53e9f1e",[[1,"q2-option",{"role":[513],"display":[1025],"value":[513],"disabled":[516],"disabledGroup":[516,"disabled-group"],"selected":[516],"multiline":[516],"active":[516],"_multiSelectHidden":[516,"_multiselecthidden"]}],[1,"q2-optgroup",{"disabled":[516],"label":[513],"hidden":[32]}]]],["p-1c993698",[[1,"q2-message",{"type":[513],"appearance":[513],"description":[516],"presentToggle":[32],"present":[64]},[[0,"focus","delegateFocus"]]]]],["p-570c1d3d",[[1,"q2-input",{"value":[1025],"label":[1537],"hideLabel":[1540,"hide-label"],"type":[513],"placeholder":[513],"disabled":[516],"autocomplete":[513],"autocorrect":[513],"autocapitalize":[513],"autofocus":[516],"hideMessages":[516,"hide-messages"],"iconLeft":[513,"icon-left"],"iconRight":[513,"icon-right"],"readonly":[516],"clearable":[516],"optional":[516],"min":[514],"max":[514],"step":[514],"formatModifier":[513,"format-modifier"],"maxlength":[1538],"pseudo":[516],"showVisibilityToggle":[516,"show-visibility-toggle"],"textHidden":[1540,"text-hidden"],"badgeValue":[513,"badge-value"],"badgeTheme":[513,"badge-theme"],"role":[1],"ariaControls":[1,"aria-controls"],"ariaOwns":[1,"aria-owns"],"ariaHaspopup":[1,"aria-haspopup"],"ariaExpanded":[1,"aria-expanded"],"ariaActivedescendant":[1,"aria-activedescendant"],"current":[1],"ariaLabel":[1537,"aria-label"],"errors":[16],"hints":[16],"formattedValueObject":[32],"hasFocus":[32],"isSmall":[32],"setValue":[64],"clearValue":[64]},[[0,"focus","onHostElementFocus"],[0,"change","onHostElementChange"]]]]],["p-5bc4d94c",[[1,"q2-option-list",{"customSearch":[516,"custom-search"],"noSelect":[516,"no-select"],"align":[513],"selectedOptions":[1040],"multiple":[516],"disabled":[516],"showSelected":[1540,"show-selected"],"type":[1],"label":[1],"hasOptions":[32],"setDefaultActiveElement":[64],"setActiveElement":[64],"handleExternalKeydown":[64],"getContents":[64],"getOptions":[64]},[[0,"focus","delegateFocus"],[0,"click","handleClick"]]]]],["p-ff6afb42",[[1,"q2-badge",{"value":[514],"maxLength":[514,"max-length"],"size":[513],"theme":[513],"status":[513]}]]],["p-db6921fb",[[1,"q2-popover",{"direction":[513],"align":[513],"open":[1540],"block":[516],"minHeight":[2,"min-height"],"controlElement":[16],"currentDirection":[32],"show":[32],"toggle":[64],"scrollContainerTo":[64]},[[0,"popoverState","popoverStateHandler"]]],[0,"click-elsewhere"]]],["p-578e3f98",[[1,"q2-btn",{"ariaExpanded":[1,"aria-expanded"],"ariaHasPopup":[1,"aria-has-popup"],"ariaControls":[1,"aria-controls"],"ariaSelected":[1,"aria-selected"],"ariaPressed":[1,"aria-pressed"],"description":[1],"label":[1537],"hideLabel":[1540,"hide-label"],"tabIndex":[2,"tab-index"],"intent":[1537],"disabled":[516],"type":[513],"size":[513],"loading":[516],"badge":[516],"active":[516],"block":[516],"color":[1537],"fab":[516],"ariaLabel":[1537,"aria-label"],"iconPosition":[32]},[[2,"click","disable"],[0,"focus","delegateFocus"]]],[1,"q2-loading",{"type":[513],"shape":[513],"modifiers":[513],"counts":[513],"label":[1537],"inline":[516],"ariaLabel":[1537,"aria-label"]}]]]]'),e)));
|
|
1
|
+
import{p as e,b as a}from"./p-277dc8cd.js";export{s as setNonce}from"./p-277dc8cd.js";const t=()=>{const a=import.meta.url;const t={};if(a!==""){t.resourcesUrl=new URL(".",a).href}return e(t)};t().then((e=>a(JSON.parse('[["p-e8858d0d",[[1,"q2-calendar",{"value":[1537],"label":[1537],"hideLabel":[1540,"hide-label"],"optional":[516],"disabled":[516],"readonly":[516],"invalid":[1540],"open":[1540],"typeable":[516],"clearable":[516],"placeholder":[513],"disabledMsg":[513,"disabled-msg"],"calendarLabel":[513,"calendar-label"],"disclaimer":[513],"displayFormat":[513,"display-format"],"startDate":[513,"start-date"],"endDate":[513,"end-date"],"cutoffTime":[513,"cutoff-time"],"daysOfWeekChecksum":[514,"days-of-week-checksum"],"assume":[513],"hints":[1040],"errors":[1040],"invalidDates":[16],"validDates":[16],"popoverDirection":[1025,"popover-direction"],"popoverAlignment":[1,"popover-alignment"],"popoverMinHeight":[2,"popover-min-height"],"popDirection":[513,"pop-direction"],"onsuccess":[16],"buttonLabel":[513,"button-label"],"ariaLabel":[1537,"aria-label"],"keyboardSelection":[32],"typedValue":[32],"dateList":[32],"hintMessage":[32],"hintMessageType":[32],"openPopover":[64],"closePopover":[64],"setValue":[64],"typeValue":[64]},[[0,"change","defaultChangeHandler"],[0,"error","defaultErrorHandler"],[0,"success","defaultSuccessHandler"],[0,"focus","delegateFocus"],[0,"clear","handleClear"],[0,"popoverStateChanged","popoverStateHandler"]]]]],["p-680929be",[[1,"q2-select",{"label":[1537],"hideLabel":[1540,"hide-label"],"value":[1025],"selectedOptions":[1040],"disabled":[516],"readonly":[516],"invalid":[516],"listLabel":[1,"list-label"],"errors":[16],"multiple":[516],"minRows":[2,"min-rows"],"popDirection":[513,"pop-direction"],"searchable":[516],"multilineOptions":[516,"multiline-options"],"optional":[516],"placeholder":[513],"hoist":[4],"ariaLabel":[1537,"aria-label"],"open":[32],"showSelected":[32],"searchText":[32],"hasCustomDisplay":[32],"inputFocused":[32],"statusMessage":[32],"prioritizeSearch":[32],"structuredSelectedOptions":[32],"openPopover":[64],"closePopover":[64],"setValue":[64],"searchOptions":[64]},[[0,"keydown","keydownHandler"],[0,"change","onHostElementChange"],[0,"input","onHostElementInput"],[0,"focus","delegateFocus"],[0,"focusout","handleFocusout"],[0,"displayChanged","handleSelectedDisplay"]]]]],["p-09d4b3d3",[[1,"q2-action-sheet",{"data":[1040],"title":[1],"hideClose":[4,"hide-close"],"isScrollable":[32],"renderStatus":[32],"hide":[64],"show":[64]}]]],["p-d4e3414e",[[1,"q2-dropdown",{"type":[513],"icon":[513],"label":[1537],"hideLabel":[1540,"hide-label"],"disabled":[516],"name":[513],"context":[513],"contextValue":[513,"context-value"],"resolvedType":[513,"resolved-type"],"additionalContext":[513,"additional-context"],"block":[516],"open":[1540],"popoverMinHeight":[2,"popover-min-height"],"popoverDirection":[1025,"popover-direction"],"popoverAlignment":[1025,"popover-alignment"],"alignment":[513],"popDirection":[513,"pop-direction"],"ariaLabel":[1537,"aria-label"]},[[0,"focus","delegateFocus"],[0,"popoverStateChanged","popoverStateHandler"]]]]],["p-58cdb9c7",[[1,"q2-data-table",{"density":[1537],"bordered":[1540],"shadowed":[1540],"selectable":[1540],"clickable":[1540],"loading":[1540],"hideCaption":[1540,"hide-caption"],"caption":[1025],"selectMode":[1025,"select-mode"],"hideClickable":[1028,"hide-clickable"],"headers":[1040],"rows":[1040],"serializedHeaders":[32],"serializedRows":[32],"hasExpandableRows":[32],"hasDropdowns":[32],"allRowsSelected":[32],"checkSlotCount":[32]},[[0,"click","onClickListener"]]]]],["p-6156f952",[[1,"q2-editable-field",{"value":[1537],"editing":[1540],"label":[1537],"hideLabel":[1540,"hide-label"],"type":[513],"formatModifier":[513,"format-modifier"],"truncated":[516],"maxlength":[514],"persistentLabel":[516,"persistent-label"],"disabled":[516],"block":[516],"hints":[16],"errors":[16],"ariaLabel":[1537,"aria-label"],"formattedValue":[32],"clickEdit":[64],"clickCancel":[64],"clickSave":[64],"setValue":[64]},[[0,"change","onHostElementChange"],[0,"focus","delegateFocus"],[0,"formatted","inputFormatted"]]]]],["p-597f8656",[[1,"q2-pagination",{"recordType":[1,"record-type"],"perPage":[2,"per-page"],"total":[514],"page":[1538],"pages":[1538],"recordsOnly":[1540,"records-only"],"pagesOnly":[1540,"pages-only"],"autoSize":[1540,"auto-size"],"isSmall":[32]},[[0,"focus","onHostElementFocus"]]]]],["p-25bd1b18",[[1,"q2-pill",{"hoist":[4],"disabled":[516],"active":[1540],"open":[1540],"multiple":[516],"maxLength":[514,"max-length"],"label":[513],"value":[1537],"theme":[513],"selectedOptions":[1040],"popoverMinHeight":[2,"popover-min-height"],"popoverDirection":[1,"popover-direction"],"popoverAlignment":[1025,"popover-alignment"],"optionListLabel":[1,"option-list-label"],"optionCount":[32],"selectedOptionElements":[32]},[[0,"focus","delegateFocus"],[0,"popoverStateChanged","popoverStateHandler"],[0,"displayChanged","handleSelectedDisplay"]]]]],["p-ac82ea35",[[1,"q2-tab-container",{"value":[1537],"type":[513],"name":[513],"color":[513],"noPrint":[516,"no-print"],"hasLeft":[32],"hasRight":[32],"scrollEnabled":[32],"showScrollLeft":[32],"showScrollRight":[32],"tabs":[32]},[[0,"change","defaultChangeHandler"],[9,"resize","onResize"],[0,"focus","onFocus"],[0,"badge","onBadge"]]]]],["p-30facf35",[[1,"q2-tag",{"hoist":[4],"open":[1540],"label":[513],"theme":[513],"popoverMinHeight":[2,"popover-min-height"],"popoverDirection":[1,"popover-direction"],"popoverAlignment":[1025,"popover-alignment"],"optionListLabel":[1,"option-list-label"],"optionCount":[32]},[[0,"focus","delegateFocus"],[0,"popoverStateChanged","popoverStateHandler"]]]]],["p-8e7b762a",[[4,"q2-carousel",{"autoPlay":[516,"auto-play"],"fullWidthPanes":[516,"full-width-panes"],"hidePagination":[516,"hide-pagination"],"showNavigationArrows":[516,"show-navigation-arrows"],"label":[513],"index":[1538],"ariaLabel":[513,"aria-label"],"universalCarouselOptions":[32],"fullWidthDisplayOptions":[32],"activePaneIndex":[32],"applyFocus":[32],"applyPaginationFocus":[32],"autoPlayInProgress":[32],"compactMode":[32],"carouselWrapperWidth":[32]},[[0,"change","onHostElementChange"],[0,"clickCarouselPane","carouselPaneClicked"],[0,"focus","delegateFocus"]]]]],["p-4abbd0b1",[[1,"q2-month-picker",{"year":[1538],"disabledMonths":[16],"today":[1],"selectedIndex":[32],"focusedIndex":[32],"showYearLayer":[32]}]]],["p-59d34a17",[[1,"q2-section",{"label":[513],"collapsible":[516],"noCollapseIcon":[516,"no-collapse-icon"],"expanded":[1540],"contentHeight":[32],"hideContent":[32],"hasYieldedHeader":[32]},[[0,"change","defaultChangeHandler"],[0,"focus","delegateFocus"]]]]],["p-7366d36d",[[1,"q2-stepper",{"currentStep":[1538,"current-step"],"stepCount":[1026,"step-count"],"lastEnabledStep":[1026,"last-enabled-step"],"contentChangeTriggerCount":[32],"scrollEnabled":[32],"showScrollLeft":[32],"showScrollRight":[32]},[[0,"change","defaultChangeHandler"],[0,"focus","delegateFocus"],[0,"statusChange","statusChangeHandler"],[0,"contentChange","contentChangeHandler"]]]]],["p-077107c1",[[1,"q2-card",{"title":[513],"description":[513],"avatarName":[513,"avatar-name"],"avatarInitials":[513,"avatar-initials"],"avatarIcon":[513,"avatar-icon"],"avatarSrc":[513,"avatar-src"],"isSmall":[516,"is-small"],"bar":[513],"isStatic":[516,"is-static"],"isTouch":[516,"is-touch"],"url":[513],"target":[513],"type":[513],"isAutoTouch":[32],"isAutoSmall":[32]},[[0,"focus","onHostElementFocus"]]]]],["p-a60f82c0",[[1,"q2-chart-donut",{"chartName":[513,"chart-name"],"summaryIcon":[513,"summary-icon"],"summaryName":[513,"summary-name"],"innerRadius":[1025,"inner-radius"],"outerRadius":[1025,"outer-radius"],"minSliceSize":[1,"min-slice-size"],"selectedOffset":[2,"selected-offset"],"hoverScaleSize":[2,"hover-scale-size"],"format":[513],"isClickable":[516,"is-clickable"],"data":[16],"selectedId":[1,"selected-id"],"hoveredId":[32],"selectById":[64],"selectByIndex":[64],"clearSelection":[64]},[[0,"focus","delegateFocus"]]]]],["p-e45856f7",[[1,"q2-checkbox-group",{"label":[513],"value":[1040],"disabled":[516],"readonly":[516],"optional":[516],"hasError":[516,"has-error"],"setValue":[64]},[[0,"change","onHostElementChange"]]]]],["p-efbe6c17",[[1,"q2-radio-group",{"label":[513],"value":[1025],"disabled":[516],"name":[513],"optional":[516],"readonly":[516],"tileLayout":[1540,"tile-layout"],"tileAlignment":[513,"tile-alignment"],"hasError":[516,"has-error"],"tilelayout":[1540],"setValue":[64]},[[0,"change","onHostElementChange"],[0,"focus","delegateFocus"],[0,"keydown","keydownHandler"]]]]],["p-9a28b93a",[[1,"q2-stepper-vertical",{"currentStepId":[1537,"current-step-id"],"structuredPanes":[32]},[[0,"change","defaultChangeHandler"],[0,"focus","delegateFocus"],[0,"statusChange","statusChangeHandler"]]]]],["p-252889b7",[[1,"q2-textarea",{"value":[1025],"label":[513],"hideLabel":[516,"hide-label"],"hideMessages":[516,"hide-messages"],"optional":[516],"placeholder":[513],"disabled":[516],"readonly":[516],"spellcheck":[516],"maxlength":[1538],"rows":[514],"cols":[514],"resize":[513],"errors":[16],"hints":[16],"hasFocus":[32],"downParams":[32],"setValue":[64]},[[0,"focus","onHostElementFocus"],[0,"change","onHostElementChange"],[0,"input","onHostElementInput"]]]]],["p-a52371cf",[[4,"q2-carousel-pane",{"index":[2],"siblingCount":[2,"sibling-count"],"isActivePane":[516,"is-active-pane"],"label":[513]}]]],["p-9ef2829e",[[1,"q2-chart-area",{"data":[16],"alignChartName":[513,"align-chart-name"],"chartName":[513,"chart-name"],"chartSubTitle":[513,"chart-sub-title"],"lineColor":[513,"line-color"],"pointerLineColor":[513,"pointer-line-color"],"pointerLineStyle":[513,"pointer-line-style"],"areaColor":[513,"area-color"],"dataNamesOverflow":[513,"data-names-overflow"],"dataNamesWidth":[514,"data-names-width"],"format":[513],"formatModifier":[513,"format-modifier"],"hideNameAxisLabels":[516,"hide-name-axis-labels"],"hideValueAxisLabels":[516,"hide-value-axis-labels"],"offsetDataNames":[516,"offset-data-names"],"offsetDataValues":[516,"offset-data-values"],"showChartName":[516,"show-chart-name"],"showDatapointLabels":[516,"show-datapoint-labels"],"showGradient":[516,"show-gradient"],"gridLines":[513,"grid-lines"]}]]],["p-75fd6df5",[[1,"q2-chart-bar",{"data":[16],"alignChartName":[513,"align-chart-name"],"chartName":[513,"chart-name"],"chartSubTitle":[513,"chart-sub-title"],"color":[513],"dataNamesOverflow":[513,"data-names-overflow"],"dataNamesWidth":[514,"data-names-width"],"format":[513],"formatModifier":[513,"format-modifier"],"hideBarLabels":[516,"hide-bar-labels"],"hideValueAxisLabels":[516,"hide-value-axis-labels"],"offsetDataNames":[516,"offset-data-names"],"offsetDataValues":[516,"offset-data-values"],"orientation":[513],"showChartName":[516,"show-chart-name"],"sort":[516]}]]],["p-4eaed8ca",[[0,"q2-loading-element",{"shape":[513],"width":[513],"height":[513],"borderRadius":[513,"border-radius"]}]]],["p-46287c02",[[1,"q2-loc",{"value":[513],"substitutions":[16]}]]],["p-67f33354",[[1,"q2-radio",{"label":[1537],"hideLabel":[1540,"hide-label"],"value":[513],"disabled":[516],"checked":[1540],"readonly":[516],"tabIndex":[2,"tab-index"],"name":[513],"groupDisabled":[4,"group-disabled"],"groupReadonly":[4,"group-readonly"],"groupTileLayout":[4,"group-tile-layout"],"ariaLabel":[1537,"aria-label"]},[[0,"click","onHostClick"],[0,"focus","delegateFocus"]]]]],["p-6cacc879",[[1,"q2-stepper-pane",{"label":[513],"description":[513],"isActive":[516,"is-active"],"showWithChildren":[516,"show-with-children"],"status":[513],"isChildActive":[32]},[[0,"activeChange","checkForActiveChildren"]]]]],["p-3505f25c",[[1,"q2-tab-pane",{"value":[513],"label":[513],"name":[513],"selected":[516],"badgeCount":[514,"badge-count"],"badgeDescription":[513,"badge-description"],"badgeTheme":[513,"badge-theme"],"badgeStatus":[513,"badge-status"],"index":[2],"guid":[2]}]]],["p-47c60d4a",[[1,"q2-tooltip",{"label":[513],"block":[516],"multiline":[516],"persistent":[516],"immediate":[516],"focusable":[516],"position":[513],"focusClass":[32]},[[0,"keyup","keyUpHandler"],[2,"focus","focusCaptureHandler"],[0,"focus","focusHandler"],[0,"focusout","focusOutHandler"]]]]],["p-6170e44c",[[1,"tecton-tab-pane",{"value":[513],"label":[513],"name":[513],"selected":[516],"index":[2],"guid":[2],"provided":[516],"url":[513],"moduleId":[513,"module-id"],"minHeight":[513,"min-height"],"badgeCount":[514,"badge-count"],"badgeDescription":[513,"badge-description"],"badgeTheme":[513,"badge-theme"],"badgeStatus":[513,"badge-status"],"authPayload":[16],"showForm":[4,"show-form"],"_showForm":[32]}]]],["p-bfd69d42",[[1,"q2-icon",{"type":[513],"label":[513],"inline":[516]}]]],["p-9c9a2550",[[1,"q2-dropdown-item",{"disabled":[516],"removable":[516],"separator":[516],"label":[1537],"value":[513],"ariaLabel":[1537,"aria-label"]},[[0,"focus","onHostElementFocus"]]]]],["p-536978fe",[[1,"q2-avatar",{"name":[513],"initials":[513],"src":[513],"icon":[1],"badSrc":[32],"isLoaded":[32]}]]],["p-0d4aec6e",[[1,"q2-checkbox",{"checked":[1540],"disabled":[516],"hasError":[516,"has-error"],"hideLabel":[1540,"hide-label"],"indeterminate":[516],"label":[1537],"name":[513],"readonly":[516],"type":[513],"value":[513],"groupDisabled":[516,"group-disabled"],"alignment":[513],"description":[513],"ariaLabel":[1537,"aria-label"]},[[0,"change","defaultChangeHandler"],[0,"focus","delegateFocus"]]]]],["p-a53e9f1e",[[1,"q2-option",{"role":[513],"display":[1025],"value":[513],"disabled":[516],"disabledGroup":[516,"disabled-group"],"selected":[516],"multiline":[516],"active":[516],"_multiSelectHidden":[516,"_multiselecthidden"]}],[1,"q2-optgroup",{"disabled":[516],"label":[513],"hidden":[32]}]]],["p-1c993698",[[1,"q2-message",{"type":[513],"appearance":[513],"description":[516],"presentToggle":[32],"present":[64]},[[0,"focus","delegateFocus"]]]]],["p-570c1d3d",[[1,"q2-input",{"value":[1025],"label":[1537],"hideLabel":[1540,"hide-label"],"type":[513],"placeholder":[513],"disabled":[516],"autocomplete":[513],"autocorrect":[513],"autocapitalize":[513],"autofocus":[516],"hideMessages":[516,"hide-messages"],"iconLeft":[513,"icon-left"],"iconRight":[513,"icon-right"],"readonly":[516],"clearable":[516],"optional":[516],"min":[514],"max":[514],"step":[514],"formatModifier":[513,"format-modifier"],"maxlength":[1538],"pseudo":[516],"showVisibilityToggle":[516,"show-visibility-toggle"],"textHidden":[1540,"text-hidden"],"badgeValue":[513,"badge-value"],"badgeTheme":[513,"badge-theme"],"role":[1],"ariaControls":[1,"aria-controls"],"ariaOwns":[1,"aria-owns"],"ariaHaspopup":[1,"aria-haspopup"],"ariaExpanded":[1,"aria-expanded"],"ariaActivedescendant":[1,"aria-activedescendant"],"current":[1],"ariaLabel":[1537,"aria-label"],"errors":[16],"hints":[16],"formattedValueObject":[32],"hasFocus":[32],"isSmall":[32],"setValue":[64],"clearValue":[64]},[[0,"focus","onHostElementFocus"],[0,"change","onHostElementChange"]]]]],["p-5bc4d94c",[[1,"q2-option-list",{"customSearch":[516,"custom-search"],"noSelect":[516,"no-select"],"align":[513],"selectedOptions":[1040],"multiple":[516],"disabled":[516],"showSelected":[1540,"show-selected"],"type":[1],"label":[1],"hasOptions":[32],"setDefaultActiveElement":[64],"setActiveElement":[64],"handleExternalKeydown":[64],"getContents":[64],"getOptions":[64]},[[0,"focus","delegateFocus"],[0,"click","handleClick"]]]]],["p-ff6afb42",[[1,"q2-badge",{"value":[514],"maxLength":[514,"max-length"],"size":[513],"theme":[513],"status":[513]}]]],["p-db6921fb",[[1,"q2-popover",{"direction":[513],"align":[513],"open":[1540],"block":[516],"minHeight":[2,"min-height"],"controlElement":[16],"currentDirection":[32],"show":[32],"toggle":[64],"scrollContainerTo":[64]},[[0,"popoverState","popoverStateHandler"]]],[0,"click-elsewhere"]]],["p-e68970b1",[[1,"q2-btn",{"ariaExpanded":[1,"aria-expanded"],"ariaHasPopup":[1,"aria-has-popup"],"ariaControls":[1,"aria-controls"],"ariaSelected":[1,"aria-selected"],"ariaPressed":[1,"aria-pressed"],"description":[1],"label":[1537],"hideLabel":[1540,"hide-label"],"tabIndex":[2,"tab-index"],"intent":[1537],"disabled":[516],"type":[513],"size":[513],"loading":[516],"badge":[516],"active":[516],"block":[516],"color":[1537],"fab":[516],"ariaLabel":[1537,"aria-label"],"iconPosition":[32]},[[2,"click","disable"],[0,"focus","delegateFocus"]]],[1,"q2-loading",{"type":[513],"shape":[513],"modifiers":[513],"counts":[513],"label":[1537],"inline":[516],"ariaLabel":[1537,"aria-label"]}]]]]'),e)));
|
|
2
2
|
//# sourceMappingURL=q2-tecton-elements.esm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["patchBrowser","importMeta","url","opts","resourcesUrl","URL","href","promiseResolve","then","options","bootstrapLazy","JSON","parse"],"sources":["../../node_modules/@stencil/core/internal/client/patch-browser.js","@lazy-browser-entrypoint?app-data=conditional"],"sourcesContent":["/*\n Stencil Client Patch Browser v3.4.2 | MIT Licensed | https://stenciljs.com\n */\nimport { BUILD, NAMESPACE } from '@stencil/core/internal/app-data';\nimport { consoleDevInfo, plt, win, doc, promiseResolve, H } from '@stencil/core';\n/**\n * Helper method for querying a `meta` tag that contains a nonce value\n * out of a DOM's head.\n *\n * @param doc The DOM containing the `head` to query against\n * @returns The content of the meta tag representing the nonce value, or `undefined` if no tag\n * exists or the tag has no content.\n */\nfunction queryNonceMetaTagContent(doc) {\n var _a, _b, _c;\n return (_c = (_b = (_a = doc.head) === null || _a === void 0 ? void 0 : _a.querySelector('meta[name=\"csp-nonce\"]')) === null || _b === void 0 ? void 0 : _b.getAttribute('content')) !== null && _c !== void 0 ? _c : undefined;\n}\n// TODO(STENCIL-661): Remove code related to the dynamic import shim\nconst getDynamicImportFunction = (namespace) => `__sc_import_${namespace.replace(/\\s|-/g, '_')}`;\nconst patchBrowser = () => {\n // NOTE!! This fn cannot use async/await!\n if (BUILD.isDev && !BUILD.isTesting) {\n consoleDevInfo('Running in development mode.');\n }\n // TODO(STENCIL-659): Remove code implementing the CSS variable shim\n if (BUILD.cssVarShim) {\n // shim css vars\n // TODO(STENCIL-659): Remove code implementing the CSS variable shim\n plt.$cssShim$ = win.__cssshim;\n }\n if (BUILD.cloneNodeFix) {\n // opted-in to polyfill cloneNode() for slot polyfilled components\n patchCloneNodeFix(H.prototype);\n }\n if (BUILD.profile && !performance.mark) {\n // not all browsers support performance.mark/measure (Safari 10)\n // because the mark/measure APIs are designed to write entries to a buffer in the browser that does not exist,\n // simply stub the implementations out.\n // TODO(STENCIL-323): Remove this patch when support for older browsers is removed (breaking)\n // @ts-ignore\n performance.mark = performance.measure = () => {\n /*noop*/\n };\n performance.getEntriesByName = () => [];\n }\n // @ts-ignore\n const scriptElm = \n // TODO(STENCIL-661): Remove code related to the dynamic import shim\n // TODO(STENCIL-663): Remove code related to deprecated `safari10` field.\n BUILD.scriptDataOpts || BUILD.safari10 || BUILD.dynamicImportShim\n ? Array.from(doc.querySelectorAll('script')).find((s) => new RegExp(`\\/${NAMESPACE}(\\\\.esm)?\\\\.js($|\\\\?|#)`).test(s.src) ||\n s.getAttribute('data-stencil-namespace') === NAMESPACE)\n : null;\n const importMeta = import.meta.url;\n const opts = BUILD.scriptDataOpts ? (scriptElm || {})['data-opts'] || {} : {};\n // TODO(STENCIL-663): Remove code related to deprecated `safari10` field.\n if (BUILD.safari10 && 'onbeforeload' in scriptElm && !history.scrollRestoration /* IS_ESM_BUILD */) {\n // Safari < v11 support: This IF is true if it's Safari below v11.\n // This fn cannot use async/await since Safari didn't support it until v11,\n // however, Safari 10 did support modules. Safari 10 also didn't support \"nomodule\",\n // so both the ESM file and nomodule file would get downloaded. Only Safari\n // has 'onbeforeload' in the script, and \"history.scrollRestoration\" was added\n // to Safari in v11. Return a noop then() so the async/await ESM code doesn't continue.\n // IS_ESM_BUILD is replaced at build time so this check doesn't happen in systemjs builds.\n return {\n then() {\n /* promise noop */\n },\n };\n }\n // TODO(STENCIL-663): Remove code related to deprecated `safari10` field.\n if (!BUILD.safari10 && importMeta !== '') {\n opts.resourcesUrl = new URL('.', importMeta).href;\n // TODO(STENCIL-661): Remove code related to the dynamic import shim\n // TODO(STENCIL-663): Remove code related to deprecated `safari10` field.\n }\n else if (BUILD.dynamicImportShim || BUILD.safari10) {\n opts.resourcesUrl = new URL('.', new URL(scriptElm.getAttribute('data-resources-url') || scriptElm.src, win.location.href)).href;\n // TODO(STENCIL-661): Remove code related to the dynamic import shim\n if (BUILD.dynamicImportShim) {\n patchDynamicImport(opts.resourcesUrl, scriptElm);\n }\n // TODO(STENCIL-661): Remove code related to the dynamic import shim\n if (BUILD.dynamicImportShim && !win.customElements) {\n // module support, but no custom elements support (Old Edge)\n // @ts-ignore\n return import(/* webpackChunkName: \"polyfills-dom\" */ './dom.js').then(() => opts);\n }\n }\n return promiseResolve(opts);\n};\n// TODO(STENCIL-661): Remove code related to the dynamic import shim\nconst patchDynamicImport = (base, orgScriptElm) => {\n const importFunctionName = getDynamicImportFunction(NAMESPACE);\n try {\n // test if this browser supports dynamic imports\n // There is a caching issue in V8, that breaks using import() in Function\n // By generating a random string, we can workaround it\n // Check https://bugs.chromium.org/p/chromium/issues/detail?id=990810 for more info\n win[importFunctionName] = new Function('w', `return import(w);//${Math.random()}`);\n }\n catch (e) {\n // this shim is specifically for browsers that do support \"esm\" imports\n // however, they do NOT support \"dynamic\" imports\n // basically this code is for old Edge, v18 and below\n const moduleMap = new Map();\n win[importFunctionName] = (src) => {\n var _a;\n const url = new URL(src, base).href;\n let mod = moduleMap.get(url);\n if (!mod) {\n const script = doc.createElement('script');\n script.type = 'module';\n script.crossOrigin = orgScriptElm.crossOrigin;\n script.src = URL.createObjectURL(new Blob([`import * as m from '${url}'; window.${importFunctionName}.m = m;`], {\n type: 'application/javascript',\n }));\n // Apply CSP nonce to the script tag if it exists\n const nonce = (_a = plt.$nonce$) !== null && _a !== void 0 ? _a : queryNonceMetaTagContent(doc);\n if (nonce != null) {\n script.setAttribute('nonce', nonce);\n }\n mod = new Promise((resolve) => {\n script.onload = () => {\n resolve(win[importFunctionName].m);\n script.remove();\n };\n });\n moduleMap.set(url, mod);\n doc.head.appendChild(script);\n }\n return mod;\n };\n }\n};\nconst patchCloneNodeFix = (HTMLElementPrototype) => {\n const nativeCloneNodeFn = HTMLElementPrototype.cloneNode;\n HTMLElementPrototype.cloneNode = function (deep) {\n if (this.nodeName === 'TEMPLATE') {\n return nativeCloneNodeFn.call(this, deep);\n }\n const clonedNode = nativeCloneNodeFn.call(this, false);\n const srcChildNodes = this.childNodes;\n if (deep) {\n for (let i = 0; i < srcChildNodes.length; i++) {\n // Node.ATTRIBUTE_NODE === 2, and checking because IE11\n if (srcChildNodes[i].nodeType !== 2) {\n clonedNode.appendChild(srcChildNodes[i].cloneNode(true));\n }\n }\n }\n return clonedNode;\n };\n};\nexport { patchBrowser };\n","export { setNonce } from '@stencil/core';\nimport { bootstrapLazy } from '@stencil/core';\nimport { patchBrowser } from '@stencil/core/internal/client/patch-browser';\nimport { globalScripts } from '@stencil/core/internal/app-globals';\npatchBrowser().then(options => {\n globalScripts();\n return bootstrapLazy([/*!__STENCIL_LAZY_DATA__*/], options);\n});\n"],"mappings":"sFAmBA,MAAMA,EAAe,KAkCjB,MAAMC,cAAyBC,IAC/B,MAAMC,EAAqE,GAiB3E,GAAuBF,IAAe,GAAI,CACtCE,EAAKC,aAAe,IAAIC,IAAI,IAAKJ,GAAYK,IAGrD,CAcI,OAAOC,EAAeJ,EAAK,ECrF/BH,IAAeQ,MAAKC,GAEXC,EAAcC,KAAAC,MAAA,
|
|
1
|
+
{"version":3,"names":["patchBrowser","importMeta","url","opts","resourcesUrl","URL","href","promiseResolve","then","options","bootstrapLazy","JSON","parse"],"sources":["../../node_modules/@stencil/core/internal/client/patch-browser.js","@lazy-browser-entrypoint?app-data=conditional"],"sourcesContent":["/*\n Stencil Client Patch Browser v3.4.2 | MIT Licensed | https://stenciljs.com\n */\nimport { BUILD, NAMESPACE } from '@stencil/core/internal/app-data';\nimport { consoleDevInfo, plt, win, doc, promiseResolve, H } from '@stencil/core';\n/**\n * Helper method for querying a `meta` tag that contains a nonce value\n * out of a DOM's head.\n *\n * @param doc The DOM containing the `head` to query against\n * @returns The content of the meta tag representing the nonce value, or `undefined` if no tag\n * exists or the tag has no content.\n */\nfunction queryNonceMetaTagContent(doc) {\n var _a, _b, _c;\n return (_c = (_b = (_a = doc.head) === null || _a === void 0 ? void 0 : _a.querySelector('meta[name=\"csp-nonce\"]')) === null || _b === void 0 ? void 0 : _b.getAttribute('content')) !== null && _c !== void 0 ? _c : undefined;\n}\n// TODO(STENCIL-661): Remove code related to the dynamic import shim\nconst getDynamicImportFunction = (namespace) => `__sc_import_${namespace.replace(/\\s|-/g, '_')}`;\nconst patchBrowser = () => {\n // NOTE!! This fn cannot use async/await!\n if (BUILD.isDev && !BUILD.isTesting) {\n consoleDevInfo('Running in development mode.');\n }\n // TODO(STENCIL-659): Remove code implementing the CSS variable shim\n if (BUILD.cssVarShim) {\n // shim css vars\n // TODO(STENCIL-659): Remove code implementing the CSS variable shim\n plt.$cssShim$ = win.__cssshim;\n }\n if (BUILD.cloneNodeFix) {\n // opted-in to polyfill cloneNode() for slot polyfilled components\n patchCloneNodeFix(H.prototype);\n }\n if (BUILD.profile && !performance.mark) {\n // not all browsers support performance.mark/measure (Safari 10)\n // because the mark/measure APIs are designed to write entries to a buffer in the browser that does not exist,\n // simply stub the implementations out.\n // TODO(STENCIL-323): Remove this patch when support for older browsers is removed (breaking)\n // @ts-ignore\n performance.mark = performance.measure = () => {\n /*noop*/\n };\n performance.getEntriesByName = () => [];\n }\n // @ts-ignore\n const scriptElm = \n // TODO(STENCIL-661): Remove code related to the dynamic import shim\n // TODO(STENCIL-663): Remove code related to deprecated `safari10` field.\n BUILD.scriptDataOpts || BUILD.safari10 || BUILD.dynamicImportShim\n ? Array.from(doc.querySelectorAll('script')).find((s) => new RegExp(`\\/${NAMESPACE}(\\\\.esm)?\\\\.js($|\\\\?|#)`).test(s.src) ||\n s.getAttribute('data-stencil-namespace') === NAMESPACE)\n : null;\n const importMeta = import.meta.url;\n const opts = BUILD.scriptDataOpts ? (scriptElm || {})['data-opts'] || {} : {};\n // TODO(STENCIL-663): Remove code related to deprecated `safari10` field.\n if (BUILD.safari10 && 'onbeforeload' in scriptElm && !history.scrollRestoration /* IS_ESM_BUILD */) {\n // Safari < v11 support: This IF is true if it's Safari below v11.\n // This fn cannot use async/await since Safari didn't support it until v11,\n // however, Safari 10 did support modules. Safari 10 also didn't support \"nomodule\",\n // so both the ESM file and nomodule file would get downloaded. Only Safari\n // has 'onbeforeload' in the script, and \"history.scrollRestoration\" was added\n // to Safari in v11. Return a noop then() so the async/await ESM code doesn't continue.\n // IS_ESM_BUILD is replaced at build time so this check doesn't happen in systemjs builds.\n return {\n then() {\n /* promise noop */\n },\n };\n }\n // TODO(STENCIL-663): Remove code related to deprecated `safari10` field.\n if (!BUILD.safari10 && importMeta !== '') {\n opts.resourcesUrl = new URL('.', importMeta).href;\n // TODO(STENCIL-661): Remove code related to the dynamic import shim\n // TODO(STENCIL-663): Remove code related to deprecated `safari10` field.\n }\n else if (BUILD.dynamicImportShim || BUILD.safari10) {\n opts.resourcesUrl = new URL('.', new URL(scriptElm.getAttribute('data-resources-url') || scriptElm.src, win.location.href)).href;\n // TODO(STENCIL-661): Remove code related to the dynamic import shim\n if (BUILD.dynamicImportShim) {\n patchDynamicImport(opts.resourcesUrl, scriptElm);\n }\n // TODO(STENCIL-661): Remove code related to the dynamic import shim\n if (BUILD.dynamicImportShim && !win.customElements) {\n // module support, but no custom elements support (Old Edge)\n // @ts-ignore\n return import(/* webpackChunkName: \"polyfills-dom\" */ './dom.js').then(() => opts);\n }\n }\n return promiseResolve(opts);\n};\n// TODO(STENCIL-661): Remove code related to the dynamic import shim\nconst patchDynamicImport = (base, orgScriptElm) => {\n const importFunctionName = getDynamicImportFunction(NAMESPACE);\n try {\n // test if this browser supports dynamic imports\n // There is a caching issue in V8, that breaks using import() in Function\n // By generating a random string, we can workaround it\n // Check https://bugs.chromium.org/p/chromium/issues/detail?id=990810 for more info\n win[importFunctionName] = new Function('w', `return import(w);//${Math.random()}`);\n }\n catch (e) {\n // this shim is specifically for browsers that do support \"esm\" imports\n // however, they do NOT support \"dynamic\" imports\n // basically this code is for old Edge, v18 and below\n const moduleMap = new Map();\n win[importFunctionName] = (src) => {\n var _a;\n const url = new URL(src, base).href;\n let mod = moduleMap.get(url);\n if (!mod) {\n const script = doc.createElement('script');\n script.type = 'module';\n script.crossOrigin = orgScriptElm.crossOrigin;\n script.src = URL.createObjectURL(new Blob([`import * as m from '${url}'; window.${importFunctionName}.m = m;`], {\n type: 'application/javascript',\n }));\n // Apply CSP nonce to the script tag if it exists\n const nonce = (_a = plt.$nonce$) !== null && _a !== void 0 ? _a : queryNonceMetaTagContent(doc);\n if (nonce != null) {\n script.setAttribute('nonce', nonce);\n }\n mod = new Promise((resolve) => {\n script.onload = () => {\n resolve(win[importFunctionName].m);\n script.remove();\n };\n });\n moduleMap.set(url, mod);\n doc.head.appendChild(script);\n }\n return mod;\n };\n }\n};\nconst patchCloneNodeFix = (HTMLElementPrototype) => {\n const nativeCloneNodeFn = HTMLElementPrototype.cloneNode;\n HTMLElementPrototype.cloneNode = function (deep) {\n if (this.nodeName === 'TEMPLATE') {\n return nativeCloneNodeFn.call(this, deep);\n }\n const clonedNode = nativeCloneNodeFn.call(this, false);\n const srcChildNodes = this.childNodes;\n if (deep) {\n for (let i = 0; i < srcChildNodes.length; i++) {\n // Node.ATTRIBUTE_NODE === 2, and checking because IE11\n if (srcChildNodes[i].nodeType !== 2) {\n clonedNode.appendChild(srcChildNodes[i].cloneNode(true));\n }\n }\n }\n return clonedNode;\n };\n};\nexport { patchBrowser };\n","export { setNonce } from '@stencil/core';\nimport { bootstrapLazy } from '@stencil/core';\nimport { patchBrowser } from '@stencil/core/internal/client/patch-browser';\nimport { globalScripts } from '@stencil/core/internal/app-globals';\npatchBrowser().then(options => {\n globalScripts();\n return bootstrapLazy([/*!__STENCIL_LAZY_DATA__*/], options);\n});\n"],"mappings":"sFAmBA,MAAMA,EAAe,KAkCjB,MAAMC,cAAyBC,IAC/B,MAAMC,EAAqE,GAiB3E,GAAuBF,IAAe,GAAI,CACtCE,EAAKC,aAAe,IAAIC,IAAI,IAAKJ,GAAYK,IAGrD,CAcI,OAAOC,EAAeJ,EAAK,ECrF/BH,IAAeQ,MAAKC,GAEXC,EAAcC,KAAAC,MAAA,q0fAAuCH"}
|
|
@@ -29,6 +29,7 @@ export declare class Q2Btn implements ComponentInterface {
|
|
|
29
29
|
primaryBtnWrapper: HTMLElement;
|
|
30
30
|
componentWillLoad(): void;
|
|
31
31
|
componentDidLoad(): void;
|
|
32
|
+
disconnectedCallback(): void;
|
|
32
33
|
disable(ev: Event): void;
|
|
33
34
|
delegateFocus(event: FocusEvent): void;
|
|
34
35
|
ariaLabelObserver(): void;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { ComponentInterface } from '../../stencil-public-runtime';
|
|
2
|
-
import { IDict } from 'src/util';
|
|
3
2
|
export declare class Q2Dropdown implements ComponentInterface {
|
|
4
3
|
type: 'icon' | 'fab' | 'custom' | 'primary' | 'secondary' | 'neutral';
|
|
5
4
|
icon: string;
|
|
@@ -27,12 +26,10 @@ export declare class Q2Dropdown implements ComponentInterface {
|
|
|
27
26
|
controlElement?: HTMLQ2BtnElement;
|
|
28
27
|
popoverElement?: HTMLQ2PopoverElement;
|
|
29
28
|
dropdownItemSelector: string;
|
|
30
|
-
resolveMenu(): Promise<import("
|
|
29
|
+
resolveMenu(): Promise<import("../../util").ResolvedMenuItem[]>;
|
|
31
30
|
orchestrateResolvedMenuItems(): void;
|
|
32
31
|
removeResolvedElements(): void;
|
|
33
32
|
resolveMenuItemElements(): Promise<HTMLQ2DropdownItemElement[]>;
|
|
34
|
-
navigateTo(featureName: string, moduleName?: string, queryParams?: IDict<string>): void;
|
|
35
|
-
showOverpanel(overpanelPath: string, params: IDict<string>): Promise<unknown>;
|
|
36
33
|
get hasCustomButton(): boolean;
|
|
37
34
|
get determineDropdownItemCount(): number;
|
|
38
35
|
get toggleButtonProps(): {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { EventEmitter } from '../../stencil-public-runtime';
|
|
2
2
|
import { IEventDetail, Q2InputCustomEvent } from 'src/components';
|
|
3
3
|
import { Q2Input } from '../q2-input';
|
|
4
|
+
import { IFormatterValueObject } from '../q2-input/types';
|
|
4
5
|
export declare class Q2EditableField {
|
|
5
6
|
value: string;
|
|
6
7
|
editing: boolean;
|
|
@@ -36,6 +37,7 @@ export declare class Q2EditableField {
|
|
|
36
37
|
get wrapperClass(): string;
|
|
37
38
|
onHostElementChange(event: CustomEvent): void;
|
|
38
39
|
delegateFocus(event: FocusEvent): void;
|
|
40
|
+
inputFormatted(event: CustomEvent<IFormatterValueObject>): void;
|
|
39
41
|
input: EventEmitter;
|
|
40
42
|
change: EventEmitter;
|
|
41
43
|
clickEdit(): void;
|
|
@@ -54,5 +56,4 @@ export declare class Q2EditableField {
|
|
|
54
56
|
render(): any;
|
|
55
57
|
generateEditStateDOM(): any;
|
|
56
58
|
generateReadStateDOM(): any;
|
|
57
|
-
generateEditBtn(): any;
|
|
58
59
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "q2-tecton-elements",
|
|
3
|
-
"version": "1.37.
|
|
3
|
+
"version": "1.37.2",
|
|
4
4
|
"description": "Q2 Tecton Custom Elements",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Q2 Tecton Team",
|
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
"build:docs-json": "stencil build --docs-json dist/docs.json",
|
|
23
23
|
"build:elements": "stencil build",
|
|
24
24
|
"build:local": "stencil build --dev --watch --serve",
|
|
25
|
+
"build:prerelease": "stencil build --debug && node ../../build/create-theme-files.js",
|
|
25
26
|
"build:prod": "stencil build && node ../../build/create-theme-files.js",
|
|
26
27
|
"clean": "rm -rf dist tmp",
|
|
27
28
|
"fmt": "prettier -l 'src/**/*.ts*' 'test/**/*.ts*' '*.js*'",
|
|
@@ -35,7 +36,7 @@
|
|
|
35
36
|
},
|
|
36
37
|
"dependencies": {
|
|
37
38
|
"@stencil/core": "3.4.2",
|
|
38
|
-
"q2-tecton-common": "1.37.
|
|
39
|
+
"q2-tecton-common": "1.37.2",
|
|
39
40
|
"smoothscroll-polyfill": "^0.4.4",
|
|
40
41
|
"swiper": "8.4.4"
|
|
41
42
|
},
|
|
@@ -54,5 +55,5 @@
|
|
|
54
55
|
"tslint-config-prettier": "^1.18.0",
|
|
55
56
|
"typescript": "4.7.4"
|
|
56
57
|
},
|
|
57
|
-
"gitHead": "
|
|
58
|
+
"gitHead": "9e28e6cdb5feac13c6bd7e9936da8fa45d71651d"
|
|
58
59
|
}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as t,c as i,h as e,g as s}from"./p-277dc8cd.js";import{l as n,h as a,o as r,i as h,w as d}from"./p-ef856249.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 #33b4ff #06C)}: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-block;max-width:100%}.q2-editable-field-wrapper:not([hidden]){display:flex}.q2-editable-field-wrapper.editing{align-items:flex-end}:host([block]){display:block;width:100%}:host([block]) .q2-editable-field-wrapper:not([hidden]){display:grid;grid-template-columns:1fr auto auto}q2-input,.text-wrapper{margin:0 var(--tct-scale-2, var(--app-scale-2x, 10px)) 0 0}q2-input{flex:1 1 auto;min-width:170px}.text-wrapper{flex:0 auto;align-self:center;display:inline-block}:host([truncated]) .text-wrapper{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}q2-btn{flex:0 0 44px}dl{margin:var(--tct-scale-0, var(--app-scale-0x, 0))}dt{font-weight:600}dd{margin-left:var(--tct-scale-0, var(--app-scale-0x, 0));display:flex;align-items:center}";const o=class{constructor(e){t(this,e);this.input=i(this,"input",7);this.change=i(this,"change",7);this.scheduledAfterRender=[];this.defaultValue=this.value;this.inputInput=t=>{t.stopPropagation();this.input.emit(t.detail);this.formattedValue=t.detail.formattedValue;this.innerValue=t.detail.value};this.inputChange=t=>{t.stopPropagation()};this.inputKeyDown=t=>{if(t.key==="Escape"||t.key==="Esc"){t.preventDefault();this.cancelClick();return}if(t.key==="Enter"){t.preventDefault();this.saveClick();return}};this.inputClick=t=>{t.stopPropagation()};this.saveClick=t=>{t&&t.stopPropagation();const i=this.hostElement.shadowRoot.querySelector("q2-input").value;this.defaultValue=i;this.change.emit({editing:false,name:"save",value:this.innerValue||i,formattedValue:this.formattedValue||i});setTimeout((()=>{const{errors:t=[]}=this;if(!t.length)return;this.hostElement.focus()}),1)};this.editClick=t=>{t===null||t===void 0?void 0:t.stopPropagation();this.change.emit({editing:true,name:"edit"})};this.cancelClick=t=>{t===null||t===void 0?void 0:t.stopPropagation();this.change.emit({editing:false,name:"cancel"});this.hostElement.shadowRoot.querySelector("q2-input").value=this.defaultValue};this.value="";this.editing=false;this.label="";this.hideLabel=undefined;this.type=undefined;this.formatModifier=undefined;this.truncated=undefined;this.maxlength=undefined;this.persistentLabel=undefined;this.disabled=undefined;this.block=undefined;this.hints=undefined;this.errors=undefined;this.ariaLabel=undefined;this.formattedValue=undefined}get locLabel(){return this.label&&n(this.label)||""}componentWillLoad(){a(this)}componentDidRender(){this.scheduledAfterRender.forEach((t=>t()));this.scheduledAfterRender=[];this.formattedValue=this.inputElement.formattedValue}componentDidLoad(){r(this.hostElement)}errorsObserver(){var t;const{editing:i,errors:e=[]}=this;const s=this.hostElement.shadowRoot.activeElement;const n=(t=(s===null||s===void 0?void 0:s.tagName)==="Q2-INPUT")!==null&&t!==void 0?t:false;const a=e.length;if(n||!s||!i||!a)return;this.inputElement.focus()}ariaLabelObserver(){a(this)}observesEditing(t,i){if(t===i)return;this.scheduledAfterRender.push(this.hostElement.focus)}get wrapperClass(){return`q2-editable-field-wrapper ${this.editing?"editing":""}`}onHostElementChange(t){if(!h(t,this.hostElement)||this.hostElement.onchange)return;switch(t.detail.name){case"save":this.value=t.detail.value;break;case"cancel":this.inputElement.value=this.value;break}this.editing=t.detail.editing}delegateFocus(t){if(!h(t,this.hostElement))return;this.hostElement.shadowRoot.querySelector(this.editing?"q2-input":"q2-btn.begin-edit").focus()}clickEdit(){var t;if(this.editing)return;(t=this.editBtnElement)===null||t===void 0?void 0:t.click()}clickCancel(){var t;if(!this.editing)return;(t=this.cancelBtnElement)===null||t===void 0?void 0:t.click()}clickSave(){var t;if(!this.editing)return;(t=this.saveBtnElement)===null||t===void 0?void 0:t.click()}async setValue(t,i={clickSave:true}){await this.clickEdit();await d();await this.inputElement.setValue(t);if(i.clickSave){await this.clickSave();await d()}}render(){return e("div",null,this.generateEditStateDOM(),this.generateReadStateDOM())}generateEditStateDOM(){return e("div",{class:this.wrapperClass,hidden:!this.editing},e("q2-input",{ref:t=>this.inputElement=t,label:this.locLabel,hideLabel:this.hideLabel,value:this.value,hints:Array.isArray(this.hints)&&this.hints.map((t=>n(t)))||undefined,errors:Array.isArray(this.errors)&&this.errors.map((t=>n(t)))||undefined,type:this.type,disabled:this.disabled,formatModifier:this.formatModifier,maxlength:this.maxlength,"test-id":"editableInput",onInput:this.inputInput,onChange:this.inputChange,onKeyDown:this.inputKeyDown,onClick:this.inputClick}),e("q2-btn",{ref:t=>this.cancelBtnElement=t,class:"cancel-edit",label:`${n("tecton.element.editableField.cancel")} ${this.locLabel}`,"hide-label":true,"test-id":"cancelButton",onClick:this.cancelClick},e("q2-icon",{type:"close"})),e("q2-btn",{ref:t=>this.saveBtnElement=t,class:"save-edit",label:`${n("tecton.element.editableField.save")} ${this.locLabel}`,"hide-label":true,"test-id":"saveButton",onClick:this.saveClick},e("q2-icon",{type:"checkmark"})))}generateReadStateDOM(){if(this.persistentLabel&&this.locLabel){return e("div",{class:this.wrapperClass,hidden:this.editing},e("dl",null,e("dt",{class:"read-state-label"},this.locLabel),e("dd",null,e("span",{class:"text-wrapper"},this.formattedValue||this.value),this.generateEditBtn())))}return e("div",{class:this.wrapperClass,hidden:this.editing},e("div",{class:"text-wrapper"},this.formattedValue||this.value),this.generateEditBtn())}generateEditBtn(){return e("q2-btn",{ref:t=>this.editBtnElement=t,class:"begin-edit",label:`${n("tecton.element.editableField.edit")} ${this.locLabel}`,"hide-label":true,disabled:this.disabled,"test-id":"editButton",onClick:this.editClick},e("q2-icon",{type:"edit"}))}get hostElement(){return s(this)}static get watchers(){return{errors:["errorsObserver"],ariaLabel:["ariaLabelObserver"],editing:["observesEditing"]}}};o.style=l;export{o as q2_editable_field};
|
|
2
|
-
//# sourceMappingURL=p-2a975246.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["stylesCss","Q2EditableField","this","scheduledAfterRender","defaultValue","value","inputInput","event","stopPropagation","input","emit","detail","formattedValue","innerValue","inputChange","e","inputKeyDown","key","preventDefault","cancelClick","saveClick","inputClick","valueFromInputProp","hostElement","shadowRoot","querySelector","change","editing","name","setTimeout","errors","length","focus","editClick","locLabel","label","loc","componentWillLoad","handleAriaLabel","componentDidRender","forEach","fn","inputElement","componentDidLoad","overrideFocus","errorsObserver","focusedElement","activeElement","isInputFocused","_a","tagName","hasErrors","ariaLabelObserver","observesEditing","newValue","oldValue","push","wrapperClass","onHostElementChange","isEventFromElement","onchange","delegateFocus","clickEdit","editBtnElement","click","clickCancel","cancelBtnElement","clickSave","saveBtnElement","async","options","waitForNextPaint","setValue","render","h","generateEditStateDOM","generateReadStateDOM","class","hidden","ref","el","hideLabel","hints","Array","isArray","map","str","undefined","type","disabled","formatModifier","maxlength","onInput","onChange","onKeyDown","onClick","persistentLabel","generateEditBtn"],"sources":["./src/components/q2-editable-field/styles.scss?tag=q2-editable-field&encapsulation=shadow","./src/components/q2-editable-field/index.tsx"],"sourcesContent":["@import '../../styles/host.scss';\n\n:host {\n display: inline-block;\n max-width: 100%;\n}\n\n.q2-editable-field-wrapper:not([hidden]) {\n display: flex;\n}\n\n.q2-editable-field-wrapper.editing {\n align-items: flex-end;\n}\n\n:host([block]) {\n display:block;\n width: 100%;\n .q2-editable-field-wrapper:not([hidden]) {\n display: grid;\n grid-template-columns: 1fr auto auto;\n }\n}\n\nq2-input,\n.text-wrapper {\n margin: 0 var(--tct-scale-2, var(--app-scale-2x, 10px)) 0 0;\n}\n\nq2-input {\n flex: 1 1 auto;\n min-width: 170px;\n}\n\n.text-wrapper {\n flex: 0 auto;\n align-self: center;\n display: inline-block;\n}\n\n:host([truncated]) .text-wrapper {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\nq2-btn {\n flex: 0 0 44px;\n}\n\ndl {\n margin: var(--tct-scale-0, var(--app-scale-0x, 0));\n}\n\ndt {\n font-weight: 600;\n}\n\ndd {\n margin-left: var(--tct-scale-0, var(--app-scale-0x, 0));\n display: flex;\n align-items: center;\n}\n","import { Component, State, Prop, h, Listen, Element, Event, EventEmitter, Method, Watch } from '@stencil/core';\nimport { IEventDetail, Q2InputCustomEvent } from 'src/components';\nimport { handleAriaLabel, isEventFromElement, loc, overrideFocus, waitForNextPaint } from 'src/utils';\nimport { Q2Input } from '../q2-input';\nimport { IFormatterValueObject } from '../q2-input/types';\n\ninterface IExtendedQ2InputElement extends HTMLQ2InputElement {\n formattedValue: IFormatterValueObject['formattedValue'];\n}\n\n@Component({\n tag: 'q2-editable-field',\n shadow: true,\n styleUrl: 'styles.scss',\n})\nexport class Q2EditableField {\n @Prop({ reflect: true, mutable: true }) value: string = '';\n @Prop({ reflect: true, mutable: true }) editing: boolean = false;\n @Prop({ reflect: true, mutable: true }) label: string = '';\n @Prop({ reflect: true, mutable: true }) hideLabel: boolean;\n @Prop({ reflect: true }) type: Q2Input['type'];\n @Prop({ reflect: true }) formatModifier: string;\n @Prop({ reflect: true }) truncated: boolean;\n @Prop({ reflect: true }) maxlength: number;\n @Prop({ reflect: true }) persistentLabel: boolean;\n @Prop({ reflect: true }) disabled: boolean;\n @Prop({ reflect: true }) block: boolean;\n @Prop() hints: string[];\n @Prop() errors: string[];\n\n /** @deprecated */\n @Prop({ reflect: true, mutable: true }) ariaLabel: string;\n\n scheduledAfterRender: (() => void)[] = [];\n\n @Element() hostElement: HTMLElement;\n inputElement: HTMLQ2InputElement;\n editBtnElement: HTMLQ2BtnElement;\n cancelBtnElement: HTMLQ2BtnElement;\n saveBtnElement: HTMLQ2BtnElement;\n\n @State() formattedValue: string;\n innerValue: string;\n defaultValue: string = this.value;\n\n get locLabel() {\n return (this.label && loc(this.label)) || '';\n }\n\n /////// LIFECYCLE HOOKS ///////\n\n componentWillLoad() {\n handleAriaLabel(this);\n }\n\n componentDidRender() {\n this.scheduledAfterRender.forEach(fn => fn());\n this.scheduledAfterRender = [];\n this.formattedValue = (this.inputElement as IExtendedQ2InputElement).formattedValue;\n }\n\n componentDidLoad() {\n overrideFocus(this.hostElement);\n }\n\n //////// OBSERVERS ////////\n\n @Watch('errors')\n errorsObserver() {\n const { editing, errors = [] } = this;\n const focusedElement = this.hostElement.shadowRoot.activeElement;\n const isInputFocused = focusedElement?.tagName === 'Q2-INPUT' ?? false;\n const hasErrors = errors.length;\n if (isInputFocused || !focusedElement || !editing || !hasErrors) return;\n this.inputElement.focus();\n }\n\n @Watch('ariaLabel')\n ariaLabelObserver() {\n handleAriaLabel(this);\n }\n\n @Watch('editing')\n observesEditing(newValue: boolean, oldValue: boolean) {\n if (newValue === oldValue) return;\n this.scheduledAfterRender.push(this.hostElement.focus);\n }\n\n get wrapperClass() {\n return `q2-editable-field-wrapper ${this.editing ? 'editing' : ''}`;\n }\n\n ///////// HOST ELEMENT EVENTS //////\n\n @Listen('change')\n onHostElementChange(event: CustomEvent) {\n if (!isEventFromElement(event, this.hostElement) || this.hostElement.onchange) return;\n switch (event.detail.name) {\n case 'save':\n this.value = event.detail.value;\n break;\n\n case 'cancel':\n this.inputElement.value = this.value;\n break;\n }\n\n this.editing = event.detail.editing;\n }\n\n @Listen('focus')\n delegateFocus(event: FocusEvent) {\n if (!isEventFromElement(event, this.hostElement)) return;\n this.hostElement.shadowRoot.querySelector<HTMLElement>(this.editing ? 'q2-input' : 'q2-btn.begin-edit').focus();\n }\n\n ///////// EVENTS /////////\n\n @Event() input: EventEmitter;\n @Event() change: EventEmitter;\n\n /// Methods ///\n @Method()\n clickEdit() {\n if (this.editing) return;\n this.editBtnElement?.click();\n }\n\n @Method()\n clickCancel() {\n if (!this.editing) return;\n this.cancelBtnElement?.click();\n }\n\n @Method()\n clickSave() {\n if (!this.editing) return;\n this.saveBtnElement?.click();\n }\n\n @Method()\n async setValue(value: string, options: { clickSave?: boolean } = { clickSave: true }) {\n await this.clickEdit();\n await waitForNextPaint();\n\n await this.inputElement.setValue(value);\n\n if (options.clickSave) {\n await this.clickSave();\n await waitForNextPaint();\n }\n }\n\n //////// ACTIONS /////////\n\n inputInput = (event: Q2InputCustomEvent<IEventDetail> & InputEvent) => {\n event.stopPropagation();\n this.input.emit(event.detail);\n this.formattedValue = event.detail.formattedValue;\n this.innerValue = event.detail.value;\n };\n\n inputChange = (e: CustomEvent) => {\n e.stopPropagation();\n };\n\n inputKeyDown = (e: KeyboardEvent) => {\n if (e.key === 'Escape' || e.key === 'Esc') {\n e.preventDefault();\n this.cancelClick();\n return;\n }\n\n if (e.key === 'Enter') {\n e.preventDefault();\n this.saveClick();\n return;\n }\n };\n\n inputClick = (event: MouseEvent) => {\n event.stopPropagation();\n };\n\n saveClick = (event?: MouseEvent) => {\n event && event.stopPropagation();\n const valueFromInputProp = this.hostElement.shadowRoot.querySelector('q2-input').value;\n this.defaultValue = valueFromInputProp;\n this.change.emit({\n editing: false,\n name: 'save',\n value: this.innerValue || valueFromInputProp,\n formattedValue: this.formattedValue || valueFromInputProp,\n });\n\n setTimeout(() => {\n const { errors = [] } = this;\n if (!errors.length) return;\n this.hostElement.focus();\n }, 1);\n };\n\n editClick = (event: MouseEvent) => {\n event?.stopPropagation();\n this.change.emit({ editing: true, name: 'edit' });\n };\n\n cancelClick = (event?: MouseEvent) => {\n event?.stopPropagation();\n this.change.emit({ editing: false, name: 'cancel' });\n this.hostElement.shadowRoot.querySelector('q2-input').value = this.defaultValue;\n };\n\n render() {\n return (\n <div>\n {this.generateEditStateDOM()}\n {this.generateReadStateDOM()}\n </div>\n );\n }\n\n generateEditStateDOM() {\n return (\n <div\n class={this.wrapperClass}\n hidden={!this.editing}\n >\n <q2-input\n ref={el => (this.inputElement = el)}\n label={this.locLabel}\n hideLabel={this.hideLabel}\n value={this.value}\n hints={(Array.isArray(this.hints) && this.hints.map(str => loc(str))) || undefined}\n errors={(Array.isArray(this.errors) && this.errors.map(str => loc(str))) || undefined}\n type={this.type}\n disabled={this.disabled}\n formatModifier={this.formatModifier}\n maxlength={this.maxlength}\n test-id=\"editableInput\"\n onInput={this.inputInput}\n onChange={this.inputChange}\n onKeyDown={this.inputKeyDown}\n onClick={this.inputClick}\n />\n <q2-btn\n ref={el => (this.cancelBtnElement = el)}\n class=\"cancel-edit\"\n label={`${loc('tecton.element.editableField.cancel')} ${this.locLabel}`}\n hide-label\n test-id=\"cancelButton\"\n onClick={this.cancelClick}\n >\n <q2-icon type=\"close\" />\n </q2-btn>\n <q2-btn\n ref={el => (this.saveBtnElement = el)}\n class=\"save-edit\"\n label={`${loc('tecton.element.editableField.save')} ${this.locLabel}`}\n hide-label\n test-id=\"saveButton\"\n onClick={this.saveClick}\n >\n <q2-icon type=\"checkmark\" />\n </q2-btn>\n </div>\n );\n }\n\n generateReadStateDOM() {\n if (this.persistentLabel && this.locLabel) {\n return (\n <div\n class={this.wrapperClass}\n hidden={this.editing}\n >\n <dl>\n <dt class=\"read-state-label\">{this.locLabel}</dt>\n <dd>\n <span class=\"text-wrapper\">{this.formattedValue || this.value}</span>\n {this.generateEditBtn()}\n </dd>\n </dl>\n </div>\n );\n }\n return (\n <div\n class={this.wrapperClass}\n hidden={this.editing}\n >\n <div class=\"text-wrapper\">{this.formattedValue || this.value}</div>\n {this.generateEditBtn()}\n </div>\n );\n }\n\n generateEditBtn() {\n return (\n <q2-btn\n ref={el => (this.editBtnElement = el)}\n class=\"begin-edit\"\n label={`${loc('tecton.element.editableField.edit')} ${this.locLabel}`}\n hide-label\n disabled={this.disabled}\n test-id=\"editButton\"\n onClick={this.editClick}\n >\n <q2-icon type=\"edit\" />\n </q2-btn>\n );\n }\n}\n"],"mappings":"yHAAA,MAAMA,EAAY,o5C,MCeLC,EAAe,M,qFAkBxBC,KAAAC,qBAAuC,GAUvCD,KAAAE,aAAuBF,KAAKG,MAgH5BH,KAAAI,WAAcC,IACVA,EAAMC,kBACNN,KAAKO,MAAMC,KAAKH,EAAMI,QACtBT,KAAKU,eAAiBL,EAAMI,OAAOC,eACnCV,KAAKW,WAAaN,EAAMI,OAAON,KAAK,EAGxCH,KAAAY,YAAeC,IACXA,EAAEP,iBAAiB,EAGvBN,KAAAc,aAAgBD,IACZ,GAAIA,EAAEE,MAAQ,UAAYF,EAAEE,MAAQ,MAAO,CACvCF,EAAEG,iBACFhB,KAAKiB,cACL,M,CAGJ,GAAIJ,EAAEE,MAAQ,QAAS,CACnBF,EAAEG,iBACFhB,KAAKkB,YACL,M,GAIRlB,KAAAmB,WAAcd,IACVA,EAAMC,iBAAiB,EAG3BN,KAAAkB,UAAab,IACTA,GAASA,EAAMC,kBACf,MAAMc,EAAqBpB,KAAKqB,YAAYC,WAAWC,cAAc,YAAYpB,MACjFH,KAAKE,aAAekB,EACpBpB,KAAKwB,OAAOhB,KAAK,CACbiB,QAAS,MACTC,KAAM,OACNvB,MAAOH,KAAKW,YAAcS,EAC1BV,eAAgBV,KAAKU,gBAAkBU,IAG3CO,YAAW,KACP,MAAMC,OAAEA,EAAS,IAAO5B,KACxB,IAAK4B,EAAOC,OAAQ,OACpB7B,KAAKqB,YAAYS,OAAO,GACzB,EAAE,EAGT9B,KAAA+B,UAAa1B,IACTA,IAAK,MAALA,SAAK,SAALA,EAAOC,kBACPN,KAAKwB,OAAOhB,KAAK,CAAEiB,QAAS,KAAMC,KAAM,QAAS,EAGrD1B,KAAAiB,YAAeZ,IACXA,IAAK,MAALA,SAAK,SAALA,EAAOC,kBACPN,KAAKwB,OAAOhB,KAAK,CAAEiB,QAAS,MAAOC,KAAM,WACzC1B,KAAKqB,YAAYC,WAAWC,cAAc,YAAYpB,MAAQH,KAAKE,YAAY,E,WAlM3B,G,aACG,M,WACH,G,2SA2BpD8B,eACA,OAAQhC,KAAKiC,OAASC,EAAIlC,KAAKiC,QAAW,E,CAK9CE,oBACIC,EAAgBpC,K,CAGpBqC,qBACIrC,KAAKC,qBAAqBqC,SAAQC,GAAMA,MACxCvC,KAAKC,qBAAuB,GAC5BD,KAAKU,eAAkBV,KAAKwC,aAAyC9B,c,CAGzE+B,mBACIC,EAAc1C,KAAKqB,Y,CAMvBsB,iB,MACI,MAAMlB,QAAEA,EAAOG,OAAEA,EAAS,IAAO5B,KACjC,MAAM4C,EAAiB5C,KAAKqB,YAAYC,WAAWuB,cACnD,MAAMC,GAAiBC,GAAAH,IAAc,MAAdA,SAAc,SAAdA,EAAgBI,WAAY,cAAU,MAAAD,SAAA,EAAAA,EAAI,MACjE,MAAME,EAAYrB,EAAOC,OACzB,GAAIiB,IAAmBF,IAAmBnB,IAAYwB,EAAW,OACjEjD,KAAKwC,aAAaV,O,CAItBoB,oBACId,EAAgBpC,K,CAIpBmD,gBAAgBC,EAAmBC,GAC/B,GAAID,IAAaC,EAAU,OAC3BrD,KAAKC,qBAAqBqD,KAAKtD,KAAKqB,YAAYS,M,CAGhDyB,mBACA,MAAO,6BAA6BvD,KAAKyB,QAAU,UAAY,I,CAMnE+B,oBAAoBnD,GAChB,IAAKoD,EAAmBpD,EAAOL,KAAKqB,cAAgBrB,KAAKqB,YAAYqC,SAAU,OAC/E,OAAQrD,EAAMI,OAAOiB,MACjB,IAAK,OACD1B,KAAKG,MAAQE,EAAMI,OAAON,MAC1B,MAEJ,IAAK,SACDH,KAAKwC,aAAarC,MAAQH,KAAKG,MAC/B,MAGRH,KAAKyB,QAAUpB,EAAMI,OAAOgB,O,CAIhCkC,cAActD,GACV,IAAKoD,EAAmBpD,EAAOL,KAAKqB,aAAc,OAClDrB,KAAKqB,YAAYC,WAAWC,cAA2BvB,KAAKyB,QAAU,WAAa,qBAAqBK,O,CAU5G8B,Y,MACI,GAAI5D,KAAKyB,QAAS,QAClBsB,EAAA/C,KAAK6D,kBAAc,MAAAd,SAAA,SAAAA,EAAEe,O,CAIzBC,c,MACI,IAAK/D,KAAKyB,QAAS,QACnBsB,EAAA/C,KAAKgE,oBAAgB,MAAAjB,SAAA,SAAAA,EAAEe,O,CAI3BG,Y,MACI,IAAKjE,KAAKyB,QAAS,QACnBsB,EAAA/C,KAAKkE,kBAAc,MAAAnB,SAAA,SAAAA,EAAEe,O,CAIzBK,eAAehE,EAAeiE,EAAmC,CAAEH,UAAW,aACpEjE,KAAK4D,kBACLS,UAEArE,KAAKwC,aAAa8B,SAASnE,GAEjC,GAAIiE,EAAQH,UAAW,OACbjE,KAAKiE,kBACLI,G,EAgEdE,SACI,OACIC,EAAA,WACKxE,KAAKyE,uBACLzE,KAAK0E,uB,CAKlBD,uBACI,OACID,EAAA,OACIG,MAAO3E,KAAKuD,aACZqB,QAAS5E,KAAKyB,SAEd+C,EAAA,YACIK,IAAKC,GAAO9E,KAAKwC,aAAesC,EAChC7C,MAAOjC,KAAKgC,SACZ+C,UAAW/E,KAAK+E,UAChB5E,MAAOH,KAAKG,MACZ6E,MAAQC,MAAMC,QAAQlF,KAAKgF,QAAUhF,KAAKgF,MAAMG,KAAIC,GAAOlD,EAAIkD,MAAUC,UACzEzD,OAASqD,MAAMC,QAAQlF,KAAK4B,SAAW5B,KAAK4B,OAAOuD,KAAIC,GAAOlD,EAAIkD,MAAUC,UAC5EC,KAAMtF,KAAKsF,KACXC,SAAUvF,KAAKuF,SACfC,eAAgBxF,KAAKwF,eACrBC,UAAWzF,KAAKyF,UAAS,UACjB,gBACRC,QAAS1F,KAAKI,WACduF,SAAU3F,KAAKY,YACfgF,UAAW5F,KAAKc,aAChB+E,QAAS7F,KAAKmB,aAElBqD,EAAA,UACIK,IAAKC,GAAO9E,KAAKgE,iBAAmBc,EACpCH,MAAM,cACN1C,MAAO,GAAGC,EAAI,0CAA0ClC,KAAKgC,WAAU,4BAE/D,eACR6D,QAAS7F,KAAKiB,aAEduD,EAAA,WAASc,KAAK,WAElBd,EAAA,UACIK,IAAKC,GAAO9E,KAAKkE,eAAiBY,EAClCH,MAAM,YACN1C,MAAO,GAAGC,EAAI,wCAAwClC,KAAKgC,WAAU,4BAE7D,aACR6D,QAAS7F,KAAKkB,WAEdsD,EAAA,WAASc,KAAK,e,CAM9BZ,uBACI,GAAI1E,KAAK8F,iBAAmB9F,KAAKgC,SAAU,CACvC,OACIwC,EAAA,OACIG,MAAO3E,KAAKuD,aACZqB,OAAQ5E,KAAKyB,SAEb+C,EAAA,UACIA,EAAA,MAAIG,MAAM,oBAAoB3E,KAAKgC,UACnCwC,EAAA,UACIA,EAAA,QAAMG,MAAM,gBAAgB3E,KAAKU,gBAAkBV,KAAKG,OACvDH,KAAK+F,oB,CAM1B,OACIvB,EAAA,OACIG,MAAO3E,KAAKuD,aACZqB,OAAQ5E,KAAKyB,SAEb+C,EAAA,OAAKG,MAAM,gBAAgB3E,KAAKU,gBAAkBV,KAAKG,OACtDH,KAAK+F,kB,CAKlBA,kBACI,OACIvB,EAAA,UACIK,IAAKC,GAAO9E,KAAK6D,eAAiBiB,EAClCH,MAAM,aACN1C,MAAO,GAAGC,EAAI,wCAAwClC,KAAKgC,WAAU,kBAErEuD,SAAUvF,KAAKuF,SAAQ,UACf,aACRM,QAAS7F,KAAK+B,WAEdyC,EAAA,WAASc,KAAK,S"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["stylesCss","Q2Btn","this","handleButtonSize","Number","size","handleDeprecationWarning","handleSlotChange","handleIcons","icon","Array","from","hostElement","querySelectorAll","reduce","acc","element","remove","hasIcon","hasLoc","querySelector","hasText","textContent","trim","hasIconLeft","firstElementChild","hasIconRight","lastElementChild","hasIconOnly","iconPosition","renderButton","ariaExpanded","ariaHasPopup","ariaSelected","ariaPressed","description","disabled","type","tabindex","buttonAttributes","loading","badge","label","hideLabel","renderLoadingSpinner","isLoadingSpinnerInline","h","Fragment","ref","el","primaryBtn","loc","class","undefined","hidden","modifiers","onSlotchange","id","render","primaryBtnWrapper","tabIndex","componentWillLoad","handleAriaLabel","handleColor","componentDidLoad","overrideFocus","disable","ev","stopImmediatePropagation","focus","delegateFocus","event","isEventFromElement","ariaLabelObserver","sizeObserver","_a","toString","ariaLabel","_b","_c","Q2Loading","halfCircleSpinner","localizedLabel","spinner","skeletonLoader","shape","skeletonShape","loader","loaderMap","default","skeleton","modifiersSet","Set","split","countsArray","counts","map","skeletonShapes","call","shapes","spinnerShape","spinnerMap"],"sources":["./src/components/q2-btn/styles.scss?tag=q2-btn&encapsulation=shadow","./src/components/q2-btn/index.tsx","./src/components/q2-loading/styles.scss?tag=q2-loading&encapsulation=shadow","./src/components/q2-loading/index.tsx"],"sourcesContent":["@import '../../styles/host.scss';\n@import '../../styles/functions';\n@import './mixins';\n\n:host {\n display: inline-block;\n}\n\n:host([hidden]) {\n display: none;\n}\n\n:host([block]) {\n display: block;\n width: 100%;\n}\n\n::slotted(q2-icon) {\n pointer-events: none;\n}\n\n:host {\n --comp-font-weight: 600;\n --comp-border-radius: #{var-list(--tct-btn-border-radius, --app-border-radius-1, 3px)};\n --comp-btn-tween: #{var-list(var-prefixer(btn-tween), --tct-tween-1, --app-tween-1, unquote('0.2s ease'))};\n --comp-btn-fallback-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);\n --comp-background-alternative: #ebf8ff;\n .btn-height-wrapper {\n height: var(--comp-btn-min-height, 44px);\n cursor: pointer;\n &:active {\n box-shadow: none;\n }\n }\n}\n\nbutton {\n margin: var-list(--tct-scale-0, --app-scale-0x, 0);\n padding: var-list(--tct-scale-0, --app-scale-0x, 0);\n display: inline-block;\n width: 100%;\n hyphens: auto;\n border: var(--tct-btn-border);\n border-radius: var(--tct-btn-border-radius);\n background: transparent;\n box-shadow: none;\n border-radius: 0;\n font-weight: 400;\n color: inherit;\n cursor: pointer;\n transition: var(--comp-btn-tween);\n transition-property: background, color, box-shadow, fill, border-color, border-width;\n outline: 0;\n &:disabled {\n opacity: var-list(var-prefixer(btn-disabled-opacity), --tct-disabled-opacity, --app-disabled-opacity, 0.4);\n cursor: not-allowed;\n }\n\n // Sizes\n :host([size='1']) & {\n padding: var-list(--tct-scale-1, --app-scale-1x, 5px);\n }\n :host([color]:not([size])) &,\n :host([intent]:not([size])) & {\n padding: var-list(var-prefixer(btn-padding), --tct-scale-2, --app-scale-2x, 10px);\n }\n :host([size='2']) & {\n padding: var-list(--tct-scale-2, --app-scale-2x, 10px);\n }\n :host([size='3']) & {\n padding: var-list(--tct-scale-3, --app-scale-3x, 15px);\n }\n :host([size='4x']) & {\n padding: var-list(--tct-scale-4x, --app-scale-4x, 20px);\n }\n :host([size='4']) & {\n padding: var-list(--tct-scale-6x, --app-scale-6x, 30px);\n }\n\n :host([size='small']) & {\n padding: var-list(var-prefixer(btn-padding-size-small), '4px 16px');\n font-size: var-list(var-prefixer(btn-font-size-small), 12px);\n }\n :host([size='medium']) & {\n padding: var-list(var-prefixer(btn-padding-size-medium), '12px 24px');\n font-size: var-list(var-prefixer(btn-font-size-small), 16px);\n }\n :host([size='large']) & {\n padding: var-list(var-prefixer(btn-padding-size-large), '16px 32px');\n font-size: var-list(var-prefixer(btn-font-size-small), 32px);\n }\n\n // Colors\n :host([color]) &,\n :host([intent]) & {\n font-size: var-list(var-prefixer(btn-font-size), inherit);\n }\n\n :host([color='primary']) &,\n :host([intent='workflow-primary']) & {\n --comp-background: #{var-list(\n --tct-btn-primary-background,\n --tct-btn-primary-bg,\n --t-a11y-active-gray-color-AA,\n #404040\n )};\n --comp-hover-background: #{var-list(--tct-btn-primary-hover-background, --tct-btn-primary-hover-bg)};\n --comp-font-color: #{var-list(--tct-btn-primary-font-color, --app-white, #ffffff)};\n --comp-box-shadow: #{var-list(--tct-btn-primary-box-shadow, --comp-btn-fallback-box-shadow)};\n --comp-focus-box-shadow: #{var-list(--tct-btn-primary-focus-box-shadow, --comp-btn-fallback-box-shadow)};\n // different background for active\n --comp-active-background: var(--tct-btn-primary-active-background, #0063a0);\n @include btn-ring(primary, hover, --comp-background, --comp-font-color, null);\n @include btn-ring(primary, active, transparent, transparent, --comp-box-shadow);\n @include btn-ring(primary, focus-visible, --const-focus-color, --comp-font-color, null);\n @include btn-intent(primary);\n @include btn-icon-color(primary, --comp-font-color);\n }\n\n :host([color='secondary']) &,\n :host([intent='workflow-secondary']) & {\n --comp-background: #{var-list(\n --tct-btn-secondary-background,\n --tct-btn-secondary-bg,\n --t-button-default-bg,\n #cccccc\n )};\n --comp-hover-background: #{var-list(\n --tct-btn-secondary-hover-background,\n --tct-btn-secondary-hover-bg,\n --t-a11y-active-gray-color-AA,\n #404040\n )};\n --comp-hover-font-color: var(--app-white, #ffffff);\n --comp-box-shadow: #{var-list(--tct-btn-secondary-box-shadow, --comp-btn-fallback-box-shadow)};\n --comp-focus-box-shadow: #{var-list(--tct-btn-secondary-focus-box-shadow, --comp-btn-fallback-box-shadow)};\n @include btn-ring(secondary, hover, --comp-hover-background, --app-white, null);\n @include btn-ring(secondary, active, transparent, transparent, --comp-box-shadow);\n @include btn-ring(secondary, focus-visible, --const-focus-color, --app-white, null);\n @include btn-intent(secondary);\n @include btn-icon-color(secondary, --comp-font-color);\n }\n\n :host([intent='workflow-destroy']) & {\n --comp-background: #{var-list(--tct-btn-destroy-background, --const-stoplight-alert, #c30000)};\n --comp-font-color: #{var-list(--tct-btn-destroy-font-color, --app-white)};\n --comp-box-shadow: #{var-list(--tct-btn-destroy-box-shadow, --comp-btn-fallback-box-shadow)};\n --comp-focus-box-shadow: #{var-list(--tct-btn-destroy-focus-box-shadow, --comp-btn-fallback-box-shadow)};\n @include btn-ring(destroy, hover, --comp-background, --comp-font-color, null);\n @include btn-ring(destroy, active, transparent, transparent, --comp-box-shadow);\n @include btn-ring(destroy, focus-visible, --const-focus-color, --comp-font-color, null);\n @include btn-intent(destroy);\n @include btn-icon-color(destroy, --comp-font-color);\n }\n\n :host([intent='workflow-escape']) & {\n --comp-background: #{var-list(--tct-btn-escape-background, --app-white, #ffffff)};\n --comp-font-color: #{var-list(\n --tct-btn-escape-font-color,\n --tct-btn-primary-background,\n --tct-btn-primary-bg,\n --t-a11y-active-gray-color-AA,\n #404040\n )};\n --comp-box-shadow: #{var-list(--tct-btn-escape-box-shadow, --comp-btn-fallback-box-shadow)};\n --comp-hover-box-shadow: #{var-list(--tct-btn-escape-hover-box-shadow, --comp-btn-fallback-box-shadow)};\n --comp-focus-box-shadow: #{var-list(--tct-btn-escape-focus-box-shadow, --comp-btn-fallback-box-shadow)};\n // different background for hover/active/focus\n --comp-hover-background: #{var-list(--tct-btn-escape-hover-background, --comp-background-alternative)};\n --comp-active-background: #{var-list(--tct-btn-escape-active-background, --comp-background-alternative)};\n --comp-focus-background: #{var-list(--tct-btn-escape-focus-background, --comp-background-alternative)};\n @include btn-ring(escape, hover, --comp-font-color, --comp-background, null);\n @include btn-ring(escape, active, transparent, transparent, --comp-box-shadow);\n @include btn-ring(escape, focus-visible, --const-focus-color, --comp-background, null);\n @include btn-intent(escape);\n @include btn-icon-color(escape, --comp-font-color);\n }\n\n :host([intent='neutral']) & {\n --comp-background: #{var-list(--tct-btn-neutral-background, --app-white, #ffffff)};\n --comp-font-color: #{var-list(\n --tct-btn-neutral-font-color,\n --tct-btn-primary-background,\n --tct-btn-primary-bg,\n --t-a11y-active-gray-color-AA,\n #404040\n )};\n --comp-box-shadow: #{var-list(--tct-btn-neutral-box-shadow, --comp-btn-fallback-box-shadow)};\n --comp-focus-box-shadow: #{var-list(--tct-btn-neutral-focus-box-shadow, --comp-btn-fallback-box-shadow)};\n // use outline instead border: because on/off border makes the button shaking on hover/focus/active\n --comp-border-width: 1px;\n --comp-border-style: solid;\n --comp-border-color: var(--comp-font-color);\n @include btn-ring(neutral, hover, --comp-font-color, --app-white, null);\n @include btn-ring(neutral, active, transparent, transparent, --comp-box-shadow);\n @include btn-ring(neutral, focus-visible, --const-focus-color, --comp-background, null);\n @include btn-intent(neutral);\n @include btn-icon-color(neutral, --comp-font-color);\n }\n\n :host([intent='neutral-text']) & {\n --comp-background: #{var-list(\n --tct-btn-neutral-text-background,\n --tct-btn-neutral-text-bg,\n --app-white,\n #ffffff\n )};\n --comp-font-color: #{var-list(\n --tct-btn-neutral-text-font-color,\n --tct-btn-primary-background,\n --tct-btn-primary-bg,\n --t-a11y-active-gray-color-AA,\n #404040\n )};\n --comp-box-shadow: var(--tct-btn-neutral-text-box-shadow);\n --comp-hover-text-decoration: underline;\n // different background for focus\n --comp-focus-background: #{var-list(--tct-btn-neutral-text-focus-background, --comp-background-alternative)};\n @include btn-ring(neutral-text, hover, --comp-font-color, --comp-background, null);\n @include btn-ring(neutral-text, active, transparent, transparent, --comp-box-shadow);\n @include btn-ring(neutral-text, focus-visible, --const-focus-color, --app-white, null);\n @include btn-intent(neutral-text);\n @include btn-icon-color(neutral-text, --comp-font-color);\n }\n\n // different background for loading\n :host([color='primary'][loading]) &,\n :host([intent='workflow-primary'][loading]) & {\n --comp-background: var(--tct-btn-primary-loading-background, #0063a0);\n }\n\n :host([intent='workflow-escape'][loading]) & {\n --comp-background: #{var-list(--tct-btn-escape-loading-background, --comp-background-alternative)};\n }\n\n // Icons\n :host &.icon-only {\n width: var-list(var-prefixer(btn-icon-width), 44px);\n height: var-list(var-prefixer(btn-icon-height), 44px);\n border-radius: var-list(var-prefixer(btn-icon-border-radius), --tct-btn-border-radius, 0);\n\n &:hover,\n &:focus {\n background-color: var-list(\n --tct-btn-icon-hover-background,\n var-prefixer(btn-icon-hover-bg),\n var-prefixer(gray-13),\n --tct-gray-l3,\n --app-gray-l3,\n #f2f2f2\n );\n }\n }\n\n :host(:not([intent])[active]) &.icon-only {\n background-color: var-list(\n --tct-btn-icon-active-background,\n var-prefixer(btn-icon-active-bg),\n var-prefixer(gray-14),\n --tct-gray-l3,\n --app-gray-l3,\n #f2f2f2\n );\n }\n\n :host(:not([intent])) &.icon-only:hover *,\n :host(:not([intent])) &.icon-only:focus *,\n :host(:not([intent])[active]) &.icon-only * {\n color: var-list(var-prefixer(btn-icon-hover-color), var-prefixer(link-hover-color), #080808);\n }\n\n // Badges\n :host([badge]) & {\n padding: var-list(var-prefixer(btn-badge-padding), unquote('2px 5px'));\n font-size: var-list(var-prefixer(btn-badge-font-size), var-prefixer(btn-font-size), inherit);\n border-radius: var-list(\n var-prefixer(btn-badge-border-radius),\n --tct-border-radius-1,\n --app-border-radius-1,\n 3px\n );\n background-color: var-list(--tct-btn-badge-background, var-prefixer(btn-badge-bg), transparent);\n color: var-list(var-prefixer(btn-badge-font-color), inherit);\n\n ::slotted(q2-icon) {\n --tct-icon-size: 1em;\n }\n }\n\n :host([badge]:hover) &:enabled {\n background-color: var-list(\n --tct-btn-badge-hover-background,\n var-prefixer(btn-badge-hover-bg),\n var-prefixer(gray-14),\n --tct-gray-l3,\n --app-gray-l3,\n #f2f2f2\n );\n color: var-list(\n var-prefixer(btn-badge-hover-font-color),\n var-prefixer(gray-5),\n --tct-gray-d2,\n --app-gray-d2,\n #404040\n );\n }\n\n :host(.selected[badge]) &,\n :host([active][badge]) & {\n background-color: var-list(\n --tct-btn-badge-active-background,\n var-prefixer(btn-badge-active-bg),\n --comp-btn-primary-background\n );\n color: var-list(var-prefixer(btn-badge-active-font-color), --comp-btn-primary-font-color);\n }\n}\n\ndiv {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: var-list(--app-scale-1x, 5px);\n\n :host([loading]) .icon-right & {\n flex-direction: row-reverse;\n }\n}\n\nq2-loading {\n --tct-loading-primary-color: currentColor;\n --tct-loading-secondary-color: currentColor;\n --tct-loading-spinner-size: 24px;\n}\n\n:host([loading]) ::slotted(q2-icon) {\n display: none;\n}\n:host([loading]) button {\n pointer-events: none;\n}\n\n:host([block]) button,\n:host([block]) button.icon-only {\n display: block;\n width: 100%;\n}\n","import { Component, State, Prop, h, ComponentInterface, Watch, Listen, Element, Fragment } from '@stencil/core';\nimport {\n handleAriaLabel,\n handleColor,\n isEventFromElement,\n loc,\n overrideFocus,\n handleDeprecationWarning,\n} from 'src/utils';\n\n@Component({\n tag: 'q2-btn',\n shadow: true,\n styleUrl: 'styles.scss',\n})\nexport class Q2Btn implements ComponentInterface {\n @Prop() ariaExpanded: string;\n @Prop() ariaHasPopup: string;\n @Prop() ariaControls: string;\n @Prop() ariaSelected: string;\n @Prop() ariaPressed: string;\n @Prop() description: string;\n @Prop({ reflect: true, mutable: true }) label: string;\n @Prop({ reflect: true, mutable: true }) hideLabel: boolean;\n @Prop() tabIndex: number;\n @Prop({ reflect: true, mutable: true }) intent:\n | 'workflow-primary'\n | 'workflow-secondary'\n | 'workflow-destroy'\n | 'workflow-escape'\n | 'neutral'\n | 'neutral-text';\n @Prop({ reflect: true }) disabled: boolean;\n @Prop({ reflect: true }) type: string;\n @Prop({ reflect: true }) size: string;\n @Prop({ reflect: true }) loading: boolean;\n @Prop({ reflect: true }) badge: boolean;\n @Prop({ reflect: true }) active: boolean;\n @Prop({ reflect: true }) block: boolean;\n\n /** @deprecated */\n @Prop({ reflect: true, mutable: true }) color: string; // deprecated but need it to use utils/handleColor\n\n /** @deprecated */\n @Prop({ reflect: true }) fab: boolean;\n\n /** @deprecated */\n @Prop({ reflect: true, mutable: true }) ariaLabel: string;\n\n @State() iconPosition: 'left' | 'right' | 'only';\n\n @Element() hostElement: HTMLElement;\n\n primaryBtn: HTMLButtonElement;\n primaryBtnWrapper: HTMLElement;\n ////////// LIFECYCLE HOOKS ////////\n\n componentWillLoad() {\n this.handleIcons();\n handleAriaLabel(this);\n handleColor(this);\n }\n\n componentDidLoad(): void {\n this.handleButtonSize();\n overrideFocus(this.hostElement);\n }\n\n @Listen('click', { capture: true })\n disable(ev: Event) {\n if (this.disabled) {\n ev.stopImmediatePropagation();\n }\n this.primaryBtn.focus();\n }\n\n @Listen('focus')\n delegateFocus(event: FocusEvent) {\n if (!isEventFromElement(event, this.hostElement)) return;\n this.primaryBtn.focus();\n }\n\n //////// Method //////////\n\n ////////// OBSERVERS //////////\n\n @Watch('ariaLabel')\n ariaLabelObserver() {\n handleAriaLabel(this);\n }\n\n @Watch('size')\n sizeObserver() {\n this.handleButtonSize();\n }\n\n handleButtonSize = () => {\n if (Number(this.size) <= 4) {\n handleDeprecationWarning(this, 'size', 'prop');\n }\n };\n\n handleSlotChange = () => {\n this.handleIcons();\n };\n\n handleIcons = () => {\n // Only allow one icon in the button\n const icon = Array.from(this.hostElement.querySelectorAll(':scope > q2-icon')).reduce((acc, element) => {\n if (acc) element.remove();\n else acc = element;\n return acc;\n }, null);\n\n const hasIcon = !!icon;\n const hasLoc = !!this.hostElement.querySelector('q2-loc');\n const hasText = !!this.hostElement.textContent.trim();\n const hasIconLeft = (hasLoc || hasText) && hasIcon && this.hostElement.firstElementChild === icon;\n const hasIconRight = (hasLoc || hasText) && hasIcon && this.hostElement.lastElementChild === icon;\n const hasIconOnly = !hasIconLeft && !hasIconRight && hasIcon;\n\n let iconPosition;\n if (hasIconOnly) iconPosition = 'only';\n else if (hasIconLeft) iconPosition = 'left';\n else if (hasIconRight) iconPosition = 'right';\n this.iconPosition = iconPosition;\n };\n\n renderButton = () => {\n const { ariaExpanded, ariaHasPopup, ariaSelected, ariaPressed, description, disabled, type, tabindex } =\n this.buttonAttributes;\n const { iconPosition, loading, badge, label, hideLabel } = this;\n const renderLoadingSpinner = iconPosition || loading;\n const isLoadingSpinnerInline = !iconPosition || badge;\n return (\n <Fragment>\n <button\n ref={el => (this.primaryBtn = el ?? this.primaryBtn)}\n aria-expanded={ariaExpanded}\n aria-haspopup={ariaHasPopup}\n aria-label={hideLabel && loc(label)}\n aria-selected={ariaSelected}\n aria-pressed={ariaPressed}\n disabled={disabled}\n type={type}\n tabindex={tabindex}\n test-id=\"q2BtnInnerButton\"\n class={iconPosition ? `icon-${iconPosition}` : ''}\n aria-describedby={!!description ? 'hidden-description' : undefined}\n >\n <div>\n {renderLoadingSpinner && (\n <q2-loading\n hidden={!loading}\n modifiers={isLoadingSpinnerInline ? 'inline' : undefined}\n />\n )}\n {!hideLabel && label ? loc(label) : <slot onSlotchange={this.handleSlotChange} />}\n </div>\n </button>\n {!!description && (\n <div\n id=\"hidden-description\"\n aria-hidden=\"true\"\n class=\"sr\"\n >\n {description}\n </div>\n )}\n </Fragment>\n );\n };\n\n render = () => {\n return this.size === 'small' ? (\n // wrap only for small sized\n <div\n class=\"btn-height-wrapper\"\n ref={el => (this.primaryBtnWrapper = el ?? this.primaryBtnWrapper)}\n tabIndex={-1}\n >\n {this.renderButton()}\n </div>\n ) : (\n this.renderButton()\n );\n };\n\n get buttonAttributes() {\n return {\n ariaExpanded: this.ariaExpanded !== undefined ? `${this.ariaExpanded?.toString() === 'true'}` : undefined,\n ariaHasPopup:\n this.ariaHasPopup !== undefined\n ? `${this.ariaHasPopup === 'true' || this.ariaHasPopup === 'menu'}`\n : undefined,\n ariaLabel: this.label && this.hideLabel ? loc(this.label) : undefined,\n ariaSelected: this.ariaSelected !== undefined ? `${this.ariaSelected?.toString() === 'true'}` : undefined,\n ariaPressed: this.ariaPressed !== undefined ? `${this.ariaPressed?.toString() === 'true'}` : undefined,\n description: this.description !== undefined ? this.description : undefined,\n disabled: this.disabled || false,\n type: this.type || 'button',\n tabindex: this.tabIndex || undefined,\n };\n }\n}\n","@import '../../styles/host.scss';\n@import '../../styles/utility.scss';\n@import '../../styles/functions';\n\n:host {\n display: block;\n}\n\n:host([inline]),\n:host([modifiers*='inline']) {\n display: inline-block;\n}\n\n:host([hidden]) {\n display: none;\n}\n\n:host(:not([inline]):not([modifiers*='inline'])) {\n font-size: var-list(var-prefixer(loading-spinner-size), --app-scale-12x, 60px);\n}\n\n.q2-loading-animation {\n height: 1em;\n width: 1em;\n}\n\n@import './spinners/half-circle-spinner.scss';\n@import './skeleton/skeleton.scss';\n","import { Component, Prop, h, ComponentInterface, Element, Watch } from '@stencil/core';\nimport { handleAriaLabel, loc } from 'src/utils';\nimport skeletonShapes from './skeleton/shapes';\n\n@Component({\n tag: 'q2-loading',\n shadow: true,\n styleUrl: 'styles.scss',\n})\nexport class Q2Loading implements ComponentInterface {\n @Element() hostElement: HTMLElement;\n\n @Prop({ reflect: true }) type: 'spinner' | 'skeleton';\n @Prop({ reflect: true }) shape: string;\n @Prop({ reflect: true }) modifiers: string;\n @Prop({ reflect: true }) counts: string;\n @Prop({ reflect: true, mutable: true }) label: string;\n @Prop({ reflect: true }) inline: boolean;\n\n /** @deprecated */\n @Prop({ reflect: true, mutable: true }) ariaLabel: string;\n\n get loader() {\n const loaderMap = {\n default: this.spinner,\n spinner: this.spinner,\n skeleton: this.skeletonLoader,\n };\n\n return loaderMap[this.type] || loaderMap.default;\n }\n\n get modifiersSet(): Set<string> {\n if (this.type !== 'skeleton' || !this.modifiers) {\n return undefined;\n }\n\n return new Set(this.modifiers.split('-'));\n }\n\n get countsArray(): number[] {\n if (this.type !== 'skeleton' || !this.counts) {\n return undefined;\n }\n\n return this.counts.split('x').map(Number);\n }\n\n get skeletonShape() {\n return skeletonShapes[this.shape]?.(this.countsArray, this.modifiersSet) ?? '';\n }\n\n get spinnerShape() {\n const spinnerMap = {\n default: this.halfCircleSpinner,\n 'half-circle': this.halfCircleSpinner,\n };\n\n return spinnerMap[this.type] || spinnerMap.default;\n }\n\n get localizedLabel() {\n return loc(this.label || 'tecton.element.loading.ariaLabel');\n }\n\n componentWillLoad() {\n handleAriaLabel(this);\n }\n\n @Watch('ariaLabel')\n ariaLabelObserver() {\n handleAriaLabel(this);\n }\n\n render() {\n return this.loader();\n }\n\n halfCircleSpinner = () => {\n return (\n <div\n class=\"q2-loading-animation half-circle-spinner\"\n aria-label={this.localizedLabel}\n >\n <div class=\"circle circle-1\"></div>\n <div class=\"circle circle-2\"></div>\n </div>\n );\n };\n\n spinner = () => {\n return this.halfCircleSpinner();\n };\n\n skeletonLoader = () => {\n return (\n <div\n class=\"q2-loading-skeleton\"\n aria-label={this.localizedLabel}\n >\n {this.shape === 'custom' ? <slot /> : this.skeletonShape}\n <div class=\"q2-loading-skeleton-shimmer\"></div>\n </div>\n );\n };\n}\n"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as t,h as i,F as e,g as n}from"./p-277dc8cd.js";import{a as s,h as o,i as r,o as d,l as h}from"./p-ef856249.js";const a="*{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 #33b4ff #06C)}: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-flex}:host([block]){display:block}click-elsewhere{position:relative;display:block}q2-popover{--tct-popover-min-width:var(--tct-dropdown-width, var(--t-dropdown-width))}";const l=class{constructor(i){t(this,i);this.dropdownItemSelector="q2-dropdown-item:not([disabled]):not([separator])";this.focusToggle=()=>{this.controlElement.shadowRoot.querySelector("button").focus()};this.openDropdown=()=>{if(this.open)return;this.open=true};this.closeDropdown=()=>{if(!this.open)return;this.open=false};this.onClickElsewhere=t=>{const i=t.target;if(i.localName==="click-elsewhere"){t.stopPropagation();const{popoverElement:i}=this;if(!i)return;i.open=false}};this.onToggleClick=()=>{if(this.open){this.closeDropdown()}else{this.openDropdown()}};this.onToggleKeydown=t=>{if(["ArrowUp","Up"].includes(t.key)){t.preventDefault();this.openDropdown();this.focusLastItem();return}if(["ArrowDown","Down"].includes(t.key)){t.preventDefault();this.openDropdown();this.focusFirstItem();return}if(["Escape","Esc"].includes(t.key)){t.preventDefault();this.focusToggle();this.closeDropdown();return}};this.onDropdownMenuClick=t=>{if(t.target.localName!=="q2-dropdown-item"){return}const i=t.target;if(!i.disabled&&!i.separator){this.focusToggle();this.closeDropdown()}};this.onDropdownMenuKeydown=t=>{if(["Escape","Esc"].includes(t.key)){this.closeDropdown();this.focusToggle();return}if(t.target.localName!=="q2-dropdown-item"){return}const i=t.target;if(["ArrowUp","Up"].includes(t.key)){t.preventDefault();this.focusAdjacentItem(i,"prev");return}if(["ArrowDown","Down"].includes(t.key)){t.preventDefault();this.focusAdjacentItem(i,"next");return}if(t.key==="Tab"){t.preventDefault()}};this.type="icon";this.icon=undefined;this.label=undefined;this.hideLabel=undefined;this.disabled=undefined;this.name=undefined;this.context=undefined;this.contextValue=undefined;this.resolvedType=undefined;this.additionalContext=undefined;this.block=undefined;this.open=undefined;this.popoverMinHeight=150;this.popoverDirection=undefined;this.popoverAlignment="left";this.alignment=undefined;this.popDirection=undefined;this.ariaLabel=undefined}resolveMenu(){return this.name&&window.TectonElements&&window.TectonElements.resolveMenu(this.name,this.contextValue,this.resolvedType,this.additionalContext)}orchestrateResolvedMenuItems(){if(!this.name||!this.context){this.removeResolvedElements();return}this.resolveMenuItemElements().then((t=>{this.removeResolvedElements();t.forEach((t=>{this.hostElement.appendChild(t)}))})).catch((t=>{this.removeResolvedElements();throw t}))}removeResolvedElements(){const t=this.hostElement.querySelectorAll("q2-dropdown-item.resolved-menu-item");t.forEach((t=>this.hostElement.removeChild(t)))}resolveMenuItemElements(){return this.resolveMenu().then((t=>t.map((t=>{let i;let e;if(t["tct-ctxid"]){e={};e[t.contextIdParamName]=t["tct-ctxid"]}switch(t.action){case"navigateTo":i=()=>this.navigateTo(t.featureName,t.moduleName,e);break;case"showOverpanel":i=()=>this.showOverpanel(`${t.featureName}.${t.moduleName}`,e);break}const n=document.createElement("q2-dropdown-item");n.setAttribute("value",t.itemLabel);n.classList.add("resolved-menu-item");n.innerHTML=t.itemLabel;n.onclick=i;return n}))))}navigateTo(t,i,e){var n,s;return(s=(n=window.TectonElements)===null||n===void 0?void 0:n.navigateTo)===null||s===void 0?void 0:s.call(n,t,i,e)}showOverpanel(t,i){var e,n;return(n=(e=window.TectonElements)===null||e===void 0?void 0:e.showOverpanel)===null||n===void 0?void 0:n.call(e,t,i,undefined,true)}get hasCustomButton(){return!!this.hostElement.querySelector("[slot=custom-dropdown-button]")}get determineDropdownItemCount(){return this.hostElement.querySelectorAll(this.dropdownItemSelector).length}get toggleButtonProps(){const t=["primary","secondary","neutral"];const i=["icon","fab","custom",...t];const e=i.includes(this.type)?this.type:"";const n=e==="icon";const s=e==="fab";const o=e==="custom";let r;if(t.includes(e)){r=e==="neutral"?e:`workflow-${e}`}const d=this.open;const h=!!this.disabled;const a=this.open;const l=!n&&!s&&!r?"unstyled":"";return{icon:n,fab:s,intent:r,active:d,disabled:h,ariaExpanded:a,className:l,custom:o}}popDirectionHandler(){s(this,"popDirection","popoverDirection")}alignmentHandler(){s(this,"alignment","popoverAlignment")}ariaLabelHandler(){o(this)}nameHandler(){this.orchestrateResolvedMenuItems()}contextHandler(){this.orchestrateResolvedMenuItems()}contextValueHandler(){this.orchestrateResolvedMenuItems()}resolvedTypeHandler(){this.orchestrateResolvedMenuItems()}additionalContextHandler(){this.orchestrateResolvedMenuItems()}delegateFocus(t){if(!r(t,this.hostElement))return;this.focusToggle()}popoverStateHandler({detail:{open:t}}){var i;if(this.open!==t)this.open=t;(i=this.popoverElement)===null||i===void 0?void 0:i.scrollContainerTo({top:0})}componentWillLoad(){this.popDirectionHandler();this.alignmentHandler();this.ariaLabelHandler()}componentDidLoad(){this.orchestrateResolvedMenuItems();d(this.hostElement)}focusFirstItem(){const t=this.hostElement.querySelector(`${this.dropdownItemSelector}:first-child`);t===null||t===void 0?void 0:t.dispatchEvent(new FocusEvent("focus"))}focusLastItem(){const t=this.hostElement.querySelector(`${this.dropdownItemSelector}:last-child`);t===null||t===void 0?void 0:t.dispatchEvent(new FocusEvent("focus"))}focusAdjacentItem(t,i){const e=Array.from(this.hostElement.querySelectorAll(this.dropdownItemSelector));const n=e.indexOf(t);if(n===-1){return}let s=0;if(i==="next"){s=n<e.length-1?n+1:0}else if(i==="prev"){if(n>0){s=n-1}else{s=e.length-1}}const o=e[s];o&&o.dispatchEvent(new Event("focus"))}render(){const t=this.toggleButtonProps;return i("click-elsewhere",{class:this.open?"dropdown-open":"",onChange:this.onClickElsewhere,"test-id":"dropdownContainer"},i("q2-btn",{ref:t=>this.controlElement=t,class:t.className,onClick:this.onToggleClick,onKeyDown:this.onToggleKeydown,fab:t.fab,intent:t.intent,active:t.active,disabled:t.disabled,ariaExpanded:`${!!t.ariaExpanded}`,label:this.hideLabel&&this.label?h(this.label):undefined,hideLabel:this.hideLabel,ariaHasPopup:"menu","test-id":"dropdownButton",block:this.block,description:h("tecton.element.dropdown.itemCount",[this.determineDropdownItemCount])},this.hasCustomButton?i("div",{"test-id":"dropdownCustom",class:t.custom?"":"hidden"},i("slot",{name:"custom-dropdown-button"})):i(e,null,this.icon?i("q2-icon",{type:this.icon}):" ",this.label&&!this.hideLabel&&i("span",{class:"dropdown-button-text"},h(this.label)))),i("q2-popover",{ref:t=>this.popoverElement=t,controlElement:this.controlElement,open:this.open,minHeight:this.popoverMinHeight,direction:this.popoverDirection,align:this.popoverAlignment,block:this.block},i("div",{onClick:this.onDropdownMenuClick,onKeyDown:this.onDropdownMenuKeydown},i("slot",null),this.open&&i("q2-btn",{class:"sr close-dropdown",onFocus:this.closeDropdown}))))}get hostElement(){return n(this)}static get watchers(){return{popDirection:["popDirectionHandler"],alignment:["alignmentHandler"],ariaLabel:["ariaLabelHandler"],name:["nameHandler"],context:["contextHandler"],contextValue:["contextValueHandler"],resolvedType:["resolvedTypeHandler"],additionalContext:["additionalContextHandler"]}}};l.style=a;export{l as q2_dropdown};
|
|
2
|
-
//# sourceMappingURL=p-9d743327.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["stylesCss","Q2Dropdown","this","dropdownItemSelector","focusToggle","controlElement","shadowRoot","querySelector","focus","openDropdown","open","closeDropdown","onClickElsewhere","event","target","localName","stopPropagation","popoverElement","onToggleClick","onToggleKeydown","includes","key","preventDefault","focusLastItem","focusFirstItem","onDropdownMenuClick","item","disabled","separator","onDropdownMenuKeydown","focusAdjacentItem","resolveMenu","name","window","TectonElements","contextValue","resolvedType","additionalContext","orchestrateResolvedMenuItems","context","removeResolvedElements","resolveMenuItemElements","then","data","forEach","element","hostElement","appendChild","catch","err","resolvedElements","querySelectorAll","removeChild","datas","map","menuItemData","onClickFn","queryParams","contextIdParamName","action","navigateTo","featureName","moduleName","showOverpanel","newDropdownItem","document","createElement","setAttribute","itemLabel","classList","add","innerHTML","onclick","_b","_a","call","overpanelPath","params","undefined","hasCustomButton","determineDropdownItemCount","length","toggleButtonProps","allowedIntents","allowedTypes","type","icon","fab","custom","intent","active","ariaExpanded","className","popDirectionHandler","handleRenamedProp","alignmentHandler","ariaLabelHandler","handleAriaLabel","nameHandler","contextHandler","contextValueHandler","resolvedTypeHandler","additionalContextHandler","delegateFocus","isEventFromElement","popoverStateHandler","detail","scrollContainerTo","top","componentWillLoad","componentDidLoad","overrideFocus","firstItem","dispatchEvent","FocusEvent","lastItem","activeItem","direction","dropdownItems","Array","from","activeIndex","indexOf","targetIndex","targetItem","Event","render","btnProps","h","class","onChange","ref","el","onClick","onKeyDown","label","hideLabel","loc","ariaHasPopup","block","description","Fragment","minHeight","popoverMinHeight","popoverDirection","align","popoverAlignment","onFocus"],"sources":["./src/components/q2-dropdown/styles.scss?tag=q2-dropdown&encapsulation=shadow","./src/components/q2-dropdown/index.tsx"],"sourcesContent":["@import '../../styles/host.scss';\n@import '../../styles/functions';\n\n:host {\n display: inline-flex;\n}\n\n:host([block]) {\n display: block;\n}\n\nclick-elsewhere {\n position: relative;\n display: block;\n}\n\nq2-popover {\n --tct-popover-min-width: #{var-list(var-prefixer(dropdown-width))};\n}\n","import { Component, ComponentInterface, Prop, Element, Watch, h, Fragment, Listen } from '@stencil/core';\nimport { IDict } from 'src/util';\nimport { handleAriaLabel, handleRenamedProp, isEventFromElement, loc, overrideFocus } from 'src/utils';\n\n@Component({\n tag: 'q2-dropdown',\n shadow: true,\n styleUrl: 'styles.scss',\n})\nexport class Q2Dropdown implements ComponentInterface {\n @Prop({ reflect: true }) type: 'icon' | 'fab' | 'custom' | 'primary' | 'secondary' | 'neutral' = 'icon';\n @Prop({ reflect: true }) icon: string;\n @Prop({ reflect: true, mutable: true }) label: string;\n @Prop({ reflect: true, mutable: true }) hideLabel: boolean;\n @Prop({ reflect: true }) disabled: boolean;\n @Prop({ reflect: true }) name: string;\n @Prop({ reflect: true }) context: string;\n @Prop({ reflect: true }) contextValue: string;\n @Prop({ reflect: true }) resolvedType: string;\n @Prop({ reflect: true }) additionalContext: string;\n @Prop({ reflect: true }) block: boolean;\n @Prop({ reflect: true, mutable: true }) open: boolean;\n @Prop() popoverMinHeight: number = 150;\n @Prop({ mutable: true }) popoverDirection: 'up' | 'down';\n @Prop({ mutable: true }) popoverAlignment: 'left' | 'right' = 'left'; // being used in dropdown.scss\n\n /** @deprecated */\n @Prop({ reflect: true }) alignment: 'left' | 'right';\n\n /** @deprecated */\n @Prop({ reflect: true }) popDirection: 'up' | 'down';\n\n /** @deprecated */\n @Prop({ reflect: true, mutable: true }) ariaLabel: string;\n\n @Element() hostElement: HTMLElement;\n privatePopDirection: 'down' | 'up';\n controlElement?: HTMLQ2BtnElement;\n popoverElement?: HTMLQ2PopoverElement;\n dropdownItemSelector: string = 'q2-dropdown-item:not([disabled]):not([separator])';\n\n resolveMenu() {\n return (\n this.name &&\n window.TectonElements &&\n window.TectonElements.resolveMenu(this.name, this.contextValue, this.resolvedType, this.additionalContext)\n );\n }\n\n orchestrateResolvedMenuItems() {\n if (!this.name || !this.context) {\n // this is only for contextual menu outlets\n this.removeResolvedElements();\n return;\n }\n\n this.resolveMenuItemElements()\n .then(data => {\n this.removeResolvedElements();\n data.forEach(element => {\n this.hostElement.appendChild(element);\n });\n })\n .catch(err => {\n this.removeResolvedElements();\n throw err;\n });\n }\n\n removeResolvedElements() {\n const resolvedElements = this.hostElement.querySelectorAll('q2-dropdown-item.resolved-menu-item');\n resolvedElements.forEach(element => this.hostElement.removeChild(element));\n }\n\n resolveMenuItemElements() {\n return this.resolveMenu().then(datas => {\n return datas.map(menuItemData => {\n let onClickFn;\n let queryParams;\n if (menuItemData['tct-ctxid']) {\n queryParams = {};\n queryParams[menuItemData.contextIdParamName] = menuItemData['tct-ctxid'];\n }\n\n switch (menuItemData.action) {\n case 'navigateTo':\n onClickFn = () =>\n this.navigateTo(menuItemData.featureName, menuItemData.moduleName, queryParams);\n break;\n case 'showOverpanel':\n onClickFn = () =>\n this.showOverpanel(`${menuItemData.featureName}.${menuItemData.moduleName}`, queryParams);\n break;\n }\n\n const newDropdownItem = document.createElement('q2-dropdown-item');\n newDropdownItem.setAttribute('value', menuItemData.itemLabel);\n newDropdownItem.classList.add('resolved-menu-item');\n newDropdownItem.innerHTML = menuItemData.itemLabel;\n newDropdownItem.onclick = onClickFn;\n\n return newDropdownItem;\n });\n });\n }\n\n navigateTo(featureName: string, moduleName?: string, queryParams?: IDict<string>) {\n return window.TectonElements?.navigateTo?.(featureName, moduleName, queryParams);\n }\n\n showOverpanel(overpanelPath: string, params: IDict<string>) {\n return window.TectonElements?.showOverpanel?.(overpanelPath, params, undefined, true);\n }\n\n get hasCustomButton() {\n return !!this.hostElement.querySelector('[slot=custom-dropdown-button]');\n }\n\n get determineDropdownItemCount() {\n return this.hostElement.querySelectorAll(this.dropdownItemSelector).length;\n }\n\n get toggleButtonProps() {\n const allowedIntents = ['primary', 'secondary', 'neutral'];\n const allowedTypes = ['icon', 'fab', 'custom', ...allowedIntents];\n const type = allowedTypes.includes(this.type) ? this.type : '';\n const icon = type === 'icon';\n const fab = type === 'fab';\n const custom = type === 'custom';\n let intent;\n if (allowedIntents.includes(type)) {\n intent = type === 'neutral' ? type : `workflow-${type}`;\n }\n const active = this.open;\n const disabled = !!this.disabled;\n const ariaExpanded = this.open;\n const className = !icon && !fab && !intent ? 'unstyled' : '';\n\n return {\n icon,\n fab,\n intent,\n active,\n disabled,\n ariaExpanded,\n className,\n custom,\n };\n }\n\n //////// Observers //////////\n @Watch('popDirection')\n popDirectionHandler() {\n handleRenamedProp(this, 'popDirection', 'popoverDirection');\n }\n\n @Watch('alignment')\n alignmentHandler() {\n handleRenamedProp(this, 'alignment', 'popoverAlignment');\n }\n\n @Watch('ariaLabel')\n ariaLabelHandler() {\n handleAriaLabel(this);\n }\n\n @Watch('name')\n nameHandler() {\n this.orchestrateResolvedMenuItems();\n }\n\n @Watch('context')\n contextHandler() {\n this.orchestrateResolvedMenuItems();\n }\n\n @Watch('contextValue')\n contextValueHandler() {\n this.orchestrateResolvedMenuItems();\n }\n\n @Watch('resolvedType')\n resolvedTypeHandler() {\n this.orchestrateResolvedMenuItems();\n }\n\n @Watch('additionalContext')\n additionalContextHandler() {\n this.orchestrateResolvedMenuItems();\n }\n\n @Listen('focus')\n delegateFocus(event: FocusEvent) {\n if (!isEventFromElement(event, this.hostElement)) return;\n this.focusToggle();\n }\n\n @Listen('popoverStateChanged')\n popoverStateHandler({ detail: { open } }: CustomEvent<{ open: boolean }>) {\n if (this.open !== open) this.open = open;\n this.popoverElement?.scrollContainerTo({ top: 0 });\n }\n\n ///// Lifecycle Hooks ////////\n componentWillLoad() {\n this.popDirectionHandler();\n this.alignmentHandler();\n this.ariaLabelHandler();\n }\n\n componentDidLoad() {\n this.orchestrateResolvedMenuItems();\n overrideFocus(this.hostElement);\n }\n\n ///// Actions ////////\n focusToggle = () => {\n this.controlElement.shadowRoot.querySelector<HTMLButtonElement>('button').focus();\n };\n\n openDropdown = () => {\n if (this.open) return;\n this.open = true;\n };\n\n closeDropdown = () => {\n if (!this.open) return;\n this.open = false;\n };\n\n onClickElsewhere = (event: CustomEvent) => {\n const target = event.target as HTMLClickElsewhereElement;\n if (target.localName === 'click-elsewhere') {\n event.stopPropagation();\n const { popoverElement } = this;\n if (!popoverElement) return;\n popoverElement.open = false;\n }\n };\n\n onToggleClick = () => {\n if (this.open) {\n this.closeDropdown();\n } else {\n this.openDropdown();\n }\n };\n\n onToggleKeydown = (event: KeyboardEvent) => {\n if (['ArrowUp', 'Up'].includes(event.key)) {\n event.preventDefault();\n this.openDropdown();\n this.focusLastItem();\n return;\n }\n\n if (['ArrowDown', 'Down'].includes(event.key)) {\n event.preventDefault();\n this.openDropdown();\n this.focusFirstItem();\n return;\n }\n\n if (['Escape', 'Esc'].includes(event.key)) {\n event.preventDefault();\n this.focusToggle();\n this.closeDropdown();\n return;\n }\n };\n\n onDropdownMenuClick = (event: MouseEvent | CustomEvent) => {\n if ((event.target as HTMLElement).localName !== 'q2-dropdown-item') {\n return;\n }\n const item = event.target as HTMLQ2DropdownItemElement;\n if (!item.disabled && !item.separator) {\n this.focusToggle();\n this.closeDropdown();\n }\n };\n\n focusFirstItem() {\n const firstItem = this.hostElement.querySelector<HTMLQ2DropdownItemElement>(\n `${this.dropdownItemSelector}:first-child`\n );\n\n firstItem?.dispatchEvent(new FocusEvent('focus'));\n }\n\n focusLastItem() {\n const lastItem = this.hostElement.querySelector<HTMLQ2DropdownItemElement>(\n `${this.dropdownItemSelector}:last-child`\n );\n lastItem?.dispatchEvent(new FocusEvent('focus'));\n }\n\n focusAdjacentItem(activeItem: HTMLQ2DropdownItemElement, direction: 'next' | 'prev') {\n const dropdownItems: HTMLQ2DropdownItemElement[] = Array.from(\n this.hostElement.querySelectorAll(this.dropdownItemSelector)\n );\n\n const activeIndex = dropdownItems.indexOf(activeItem);\n\n if (activeIndex === -1) {\n return;\n }\n\n let targetIndex: number = 0;\n if (direction === 'next') {\n targetIndex = activeIndex < dropdownItems.length - 1 ? activeIndex + 1 : 0;\n } else if (direction === 'prev') {\n if (activeIndex > 0) {\n targetIndex = activeIndex - 1;\n } else {\n targetIndex = dropdownItems.length - 1;\n }\n }\n const targetItem = dropdownItems[targetIndex];\n targetItem && targetItem.dispatchEvent(new Event('focus'));\n }\n\n onDropdownMenuKeydown = (event: KeyboardEvent) => {\n if (['Escape', 'Esc'].includes(event.key)) {\n this.closeDropdown();\n this.focusToggle();\n return;\n }\n\n if ((event.target as HTMLElement).localName !== 'q2-dropdown-item') {\n return;\n }\n\n const item = event.target as HTMLQ2DropdownItemElement;\n if (['ArrowUp', 'Up'].includes(event.key)) {\n event.preventDefault();\n this.focusAdjacentItem(item, 'prev');\n return;\n }\n\n if (['ArrowDown', 'Down'].includes(event.key)) {\n event.preventDefault();\n this.focusAdjacentItem(item, 'next');\n return;\n }\n if (event.key === 'Tab') {\n event.preventDefault();\n }\n };\n\n /// DOM ///\n\n render() {\n const btnProps = this.toggleButtonProps;\n\n return (\n <click-elsewhere\n class={this.open ? 'dropdown-open' : ''}\n onChange={this.onClickElsewhere}\n test-id=\"dropdownContainer\"\n >\n <q2-btn\n ref={el => (this.controlElement = el)}\n class={btnProps.className}\n onClick={this.onToggleClick}\n onKeyDown={this.onToggleKeydown}\n fab={btnProps.fab}\n intent={btnProps.intent}\n active={btnProps.active}\n disabled={btnProps.disabled}\n ariaExpanded={`${!!btnProps.ariaExpanded}`}\n label={this.hideLabel && this.label ? loc(this.label) : undefined}\n hideLabel={this.hideLabel}\n ariaHasPopup=\"menu\"\n test-id=\"dropdownButton\"\n block={this.block}\n description={loc('tecton.element.dropdown.itemCount', [this.determineDropdownItemCount])}\n >\n {this.hasCustomButton ? (\n <div\n test-id=\"dropdownCustom\"\n class={btnProps.custom ? '' : 'hidden'}\n >\n <slot name=\"custom-dropdown-button\" />\n </div>\n ) : (\n <Fragment>\n {this.icon ? <q2-icon type={this.icon} /> : ' '}\n {this.label && !this.hideLabel && (\n <span class=\"dropdown-button-text\">{loc(this.label)}</span>\n )}\n </Fragment>\n )}\n </q2-btn>\n <q2-popover\n ref={el => (this.popoverElement = el)}\n controlElement={this.controlElement}\n open={this.open}\n minHeight={this.popoverMinHeight}\n direction={this.popoverDirection}\n align={this.popoverAlignment}\n block={this.block}\n >\n <div\n onClick={this.onDropdownMenuClick}\n onKeyDown={this.onDropdownMenuKeydown}\n >\n <slot />\n {this.open && (\n <q2-btn\n class=\"sr close-dropdown\"\n onFocus={this.closeDropdown}\n />\n )}\n </div>\n </q2-popover>\n </click-elsewhere>\n );\n }\n}\n"],"mappings":"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"}
|