q2-tecton-elements 1.44.0 → 1.45.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/click-elsewhere_2.cjs.entry.js +2 -2
- package/dist/cjs/{index-1deac3ee.js → index-0e15dc8d.js} +14 -1
- package/dist/cjs/index-0e15dc8d.js.map +1 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/q2-action-sheet.cjs.entry.js +1 -1
- package/dist/cjs/q2-avatar.cjs.entry.js +1 -5
- package/dist/cjs/q2-avatar.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-badge.cjs.entry.js +4 -4
- package/dist/cjs/q2-badge.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-btn_2.cjs.entry.js +20 -9
- package/dist/cjs/q2-btn_2.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-calendar.cjs.entry.js +50 -19
- package/dist/cjs/q2-calendar.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-card.cjs.entry.js +1 -1
- package/dist/cjs/q2-carousel-pane.cjs.entry.js +7 -6
- package/dist/cjs/q2-carousel-pane.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-carousel.cjs.entry.js +25 -11
- package/dist/cjs/q2-carousel.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-chart-area.cjs.entry.js +1 -1
- package/dist/cjs/q2-chart-bar.cjs.entry.js +1 -1
- package/dist/cjs/q2-chart-donut.cjs.entry.js +18 -10
- package/dist/cjs/q2-chart-donut.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-checkbox-group.cjs.entry.js +1 -1
- package/dist/cjs/q2-checkbox.cjs.entry.js +1 -1
- package/dist/cjs/q2-data-table.cjs.entry.js +3 -3
- package/dist/cjs/q2-data-table.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-detail.cjs.entry.js +2 -2
- package/dist/cjs/q2-detail.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-dropdown-item.cjs.entry.js +1 -1
- package/dist/cjs/q2-dropdown-item.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-dropdown.cjs.entry.js +1 -1
- package/dist/cjs/q2-editable-field.cjs.entry.js +1 -1
- package/dist/cjs/q2-icon.cjs.entry.js +206 -211
- package/dist/cjs/q2-icon.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-input.cjs.entry.js +31 -6
- package/dist/cjs/q2-input.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-item.cjs.entry.js +120 -0
- package/dist/cjs/q2-item.cjs.entry.js.map +1 -0
- package/dist/cjs/q2-list.cjs.entry.js +84 -0
- package/dist/cjs/q2-list.cjs.entry.js.map +1 -0
- package/dist/cjs/q2-loc.cjs.entry.js +2 -2
- package/dist/cjs/q2-message.cjs.entry.js +3 -3
- package/dist/cjs/q2-message.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-month-picker.cjs.entry.js +1 -1
- package/dist/cjs/q2-optgroup_2.cjs.entry.js +4 -4
- package/dist/cjs/q2-optgroup_2.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-option-list.cjs.entry.js +1 -1
- package/dist/cjs/q2-pagination.cjs.entry.js +3 -3
- package/dist/cjs/q2-pagination.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-pill.cjs.entry.js +4 -3
- package/dist/cjs/q2-pill.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-radio-group.cjs.entry.js +1 -1
- package/dist/cjs/q2-radio.cjs.entry.js +3 -3
- package/dist/cjs/q2-radio.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-relative-time.cjs.entry.js +1 -1
- package/dist/cjs/q2-section.cjs.entry.js +3 -3
- package/dist/cjs/q2-select.cjs.entry.js +1 -1
- package/dist/cjs/q2-stepper-pane.cjs.entry.js +2 -2
- package/dist/cjs/q2-stepper-vertical.cjs.entry.js +3 -3
- package/dist/cjs/q2-stepper-vertical.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-stepper.cjs.entry.js +2 -2
- package/dist/cjs/q2-tab-container.cjs.entry.js +3 -3
- package/dist/cjs/q2-tab-container.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-tab-pane.cjs.entry.js +1 -1
- package/dist/cjs/q2-tag.cjs.entry.js +3 -3
- package/dist/cjs/q2-tag.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-tecton-elements.cjs.js +1 -1
- package/dist/cjs/q2-textarea.cjs.entry.js +2 -2
- package/dist/cjs/q2-textarea.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-tooltip.cjs.entry.js +1 -1
- package/dist/cjs/tecton-tab-pane.cjs.entry.js +2 -2
- package/dist/collection/collection-manifest.json +2 -0
- package/dist/collection/components/q2-avatar/q2-avatar.js +1 -5
- package/dist/collection/components/q2-avatar/q2-avatar.js.map +1 -1
- package/dist/collection/components/q2-badge/q2-badge.js +5 -4
- package/dist/collection/components/q2-badge/q2-badge.js.map +1 -1
- package/dist/collection/components/q2-btn/q2-btn.css +1 -1
- package/dist/collection/components/q2-btn/q2-btn.js +25 -8
- package/dist/collection/components/q2-btn/q2-btn.js.map +1 -1
- package/dist/collection/components/q2-calendar/q2-calendar-helpers.js +1 -1
- package/dist/collection/components/q2-calendar/q2-calendar-helpers.js.map +1 -1
- package/dist/collection/components/q2-calendar/q2-calendar.js +48 -17
- package/dist/collection/components/q2-calendar/q2-calendar.js.map +1 -1
- package/dist/collection/components/q2-carousel/q2-carousel.css +3 -1
- package/dist/collection/components/q2-carousel/q2-carousel.js +47 -10
- package/dist/collection/components/q2-carousel/q2-carousel.js.map +1 -1
- package/dist/collection/components/q2-carousel-pane/q2-carousel-pane.css +6 -0
- package/dist/collection/components/q2-carousel-pane/q2-carousel-pane.js +25 -4
- package/dist/collection/components/q2-carousel-pane/q2-carousel-pane.js.map +1 -1
- package/dist/collection/components/q2-chart-donut/q2-chart-donut.js +17 -12
- package/dist/collection/components/q2-chart-donut/q2-chart-donut.js.map +1 -1
- package/dist/collection/components/q2-data-table/q2-data-table.css +1 -1
- package/dist/collection/components/q2-data-table/q2-data-table.js +2 -2
- package/dist/collection/components/q2-data-table/q2-data-table.js.map +1 -1
- package/dist/collection/components/q2-detail/q2-detail.css +24 -21
- package/dist/collection/components/q2-dropdown-item/q2-dropdown-item.js +1 -1
- package/dist/collection/components/q2-dropdown-item/q2-dropdown-item.js.map +1 -1
- package/dist/collection/components/q2-icon/assets/cards.symbol.svg +1 -1
- package/dist/collection/components/q2-icon/assets/icon-list.json +1 -1
- package/dist/collection/components/q2-icon/assets/icon-map.json +1 -1
- package/dist/collection/components/q2-icon/assets/legacy.symbol.svg +1 -1
- package/dist/collection/components/q2-icon/assets/standard.symbol.svg +1 -1
- package/dist/collection/components/q2-icon/q2-icon.css +0 -2
- package/dist/collection/components/q2-icon/q2-icon.js +7 -35
- package/dist/collection/components/q2-icon/q2-icon.js.map +1 -1
- package/dist/collection/components/q2-input/q2-input.css +3 -5
- package/dist/collection/components/q2-input/q2-input.js +30 -5
- package/dist/collection/components/q2-input/q2-input.js.map +1 -1
- package/dist/collection/components/q2-item/q2-item.css +261 -0
- package/dist/collection/components/q2-item/q2-item.js +145 -0
- package/dist/collection/components/q2-item/q2-item.js.map +1 -0
- package/dist/collection/components/q2-list/q2-list.css +173 -0
- package/dist/collection/components/q2-list/q2-list.js +126 -0
- package/dist/collection/components/q2-list/q2-list.js.map +1 -0
- package/dist/collection/components/q2-loc/q2-loc.js +1 -1
- package/dist/collection/components/q2-message/q2-message.css +6 -3
- package/dist/collection/components/q2-message/q2-message.js +1 -1
- package/dist/collection/components/q2-optgroup/q2-optgroup.js +1 -1
- package/dist/collection/components/q2-option/q2-option.css +1 -1
- package/dist/collection/components/q2-option/q2-option.js +1 -1
- package/dist/collection/components/q2-pagination/q2-pagination.js +3 -3
- package/dist/collection/components/q2-pagination/q2-pagination.js.map +1 -1
- package/dist/collection/components/q2-pill/q2-pill.css +13 -9
- package/dist/collection/components/q2-pill/q2-pill.js +19 -1
- package/dist/collection/components/q2-pill/q2-pill.js.map +1 -1
- package/dist/collection/components/q2-popover/q2-popover.js +1 -1
- package/dist/collection/components/q2-radio/q2-radio.css +9 -6
- package/dist/collection/components/q2-radio/q2-radio.js +1 -1
- package/dist/collection/components/q2-radio/q2-radio.js.map +1 -1
- package/dist/collection/components/q2-relative-time/q2-relative-time.js +1 -1
- package/dist/collection/components/q2-section/q2-section.js +2 -2
- package/dist/collection/components/q2-stepper/q2-stepper.js +1 -1
- package/dist/collection/components/q2-stepper-pane/q2-stepper-pane.js +1 -1
- package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.css +6 -2
- package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.js +1 -1
- package/dist/collection/components/q2-tab-container/q2-tab-container.css +2 -2
- package/dist/collection/components/q2-tab-container/q2-tab-container.js +1 -1
- package/dist/collection/components/q2-tab-pane/q2-tab-pane.js +1 -1
- package/dist/collection/components/q2-tag/q2-tag.css +6 -6
- package/dist/collection/components/q2-tag/q2-tag.js +1 -1
- package/dist/collection/components/q2-textarea/q2-textarea.css +4 -24
- package/dist/collection/components/tecton-tab-pane/tecton-tab-pane.js +2 -2
- package/dist/collection/utils/index.js +12 -0
- package/dist/collection/utils/index.js.map +1 -1
- package/dist/components/index.js +4 -0
- package/dist/components/index.js.map +1 -1
- package/dist/components/index2.js +13 -1
- package/dist/components/index2.js.map +1 -1
- package/dist/components/q2-avatar2.js +2 -5
- package/dist/components/q2-avatar2.js.map +1 -1
- package/dist/components/q2-badge2.js +4 -4
- package/dist/components/q2-badge2.js.map +1 -1
- package/dist/components/q2-btn2.js +21 -10
- package/dist/components/q2-btn2.js.map +1 -1
- package/dist/components/q2-calendar.js +49 -18
- package/dist/components/q2-calendar.js.map +1 -1
- package/dist/components/q2-carousel-pane.js +8 -6
- package/dist/components/q2-carousel-pane.js.map +1 -1
- package/dist/components/q2-carousel.js +26 -10
- package/dist/components/q2-carousel.js.map +1 -1
- package/dist/components/q2-chart-donut.js +19 -11
- package/dist/components/q2-chart-donut.js.map +1 -1
- package/dist/components/q2-checkbox-group.js +1 -1
- package/dist/components/q2-data-table.js +2 -2
- package/dist/components/q2-data-table.js.map +1 -1
- package/dist/components/q2-detail.js +2 -2
- package/dist/components/q2-detail.js.map +1 -1
- package/dist/components/q2-dropdown-item2.js.map +1 -1
- package/dist/components/q2-icon2.js +207 -3106
- package/dist/components/q2-icon2.js.map +1 -1
- package/dist/components/q2-input2.js +31 -6
- package/dist/components/q2-input2.js.map +1 -1
- package/dist/components/q2-item.d.ts +11 -0
- package/dist/components/q2-item.js +137 -0
- package/dist/components/q2-item.js.map +1 -0
- package/dist/components/q2-list.d.ts +11 -0
- package/dist/components/q2-list.js +102 -0
- package/dist/components/q2-list.js.map +1 -0
- package/dist/components/q2-loc.js +1 -1
- package/dist/components/q2-message2.js +3 -3
- package/dist/components/q2-message2.js.map +1 -1
- package/dist/components/q2-optgroup2.js +1 -1
- package/dist/components/q2-option-list2.js +1 -1
- package/dist/components/q2-option2.js +2 -2
- package/dist/components/q2-option2.js.map +1 -1
- package/dist/components/q2-pagination.js +2 -2
- package/dist/components/q2-pagination.js.map +1 -1
- package/dist/components/q2-pill.js +4 -2
- package/dist/components/q2-pill.js.map +1 -1
- package/dist/components/q2-popover2.js +2 -2
- package/dist/components/q2-radio-group.js +1 -1
- package/dist/components/q2-radio.js +2 -2
- package/dist/components/q2-radio.js.map +1 -1
- package/dist/components/q2-relative-time.js +1 -1
- package/dist/components/q2-section.js +2 -2
- package/dist/components/q2-select.js +1 -1
- package/dist/components/q2-stepper-pane.js +1 -1
- package/dist/components/q2-stepper-vertical.js +2 -2
- package/dist/components/q2-stepper-vertical.js.map +1 -1
- package/dist/components/q2-stepper.js +1 -1
- package/dist/components/q2-tab-container.js +2 -2
- package/dist/components/q2-tab-container.js.map +1 -1
- package/dist/components/q2-tab-pane.js +1 -1
- package/dist/components/q2-tag.js +2 -2
- package/dist/components/q2-tag.js.map +1 -1
- package/dist/components/q2-textarea.js +2 -2
- package/dist/components/q2-textarea.js.map +1 -1
- package/dist/components/tecton-tab-pane.js +2 -2
- package/dist/esm/click-elsewhere_2.entry.js +2 -2
- package/dist/esm/{index-12c2a320.js → index-0a702dd6.js} +14 -2
- package/dist/esm/index-0a702dd6.js.map +1 -0
- package/dist/esm/loader.js +1 -1
- package/dist/esm/q2-action-sheet.entry.js +1 -1
- package/dist/esm/q2-avatar.entry.js +1 -5
- package/dist/esm/q2-avatar.entry.js.map +1 -1
- package/dist/esm/q2-badge.entry.js +4 -4
- package/dist/esm/q2-badge.entry.js.map +1 -1
- package/dist/esm/q2-btn_2.entry.js +20 -9
- package/dist/esm/q2-btn_2.entry.js.map +1 -1
- package/dist/esm/q2-calendar.entry.js +50 -19
- package/dist/esm/q2-calendar.entry.js.map +1 -1
- package/dist/esm/q2-card.entry.js +1 -1
- package/dist/esm/q2-carousel-pane.entry.js +7 -6
- package/dist/esm/q2-carousel-pane.entry.js.map +1 -1
- package/dist/esm/q2-carousel.entry.js +25 -11
- package/dist/esm/q2-carousel.entry.js.map +1 -1
- package/dist/esm/q2-chart-area.entry.js +1 -1
- package/dist/esm/q2-chart-bar.entry.js +1 -1
- package/dist/esm/q2-chart-donut.entry.js +18 -10
- package/dist/esm/q2-chart-donut.entry.js.map +1 -1
- package/dist/esm/q2-checkbox-group.entry.js +1 -1
- package/dist/esm/q2-checkbox.entry.js +1 -1
- package/dist/esm/q2-data-table.entry.js +3 -3
- package/dist/esm/q2-data-table.entry.js.map +1 -1
- package/dist/esm/q2-detail.entry.js +2 -2
- package/dist/esm/q2-detail.entry.js.map +1 -1
- package/dist/esm/q2-dropdown-item.entry.js +1 -1
- package/dist/esm/q2-dropdown-item.entry.js.map +1 -1
- package/dist/esm/q2-dropdown.entry.js +1 -1
- package/dist/esm/q2-editable-field.entry.js +1 -1
- package/dist/esm/q2-icon.entry.js +206 -211
- package/dist/esm/q2-icon.entry.js.map +1 -1
- package/dist/esm/q2-input.entry.js +31 -6
- package/dist/esm/q2-input.entry.js.map +1 -1
- package/dist/esm/q2-item.entry.js +116 -0
- package/dist/esm/q2-item.entry.js.map +1 -0
- package/dist/esm/q2-list.entry.js +80 -0
- package/dist/esm/q2-list.entry.js.map +1 -0
- package/dist/esm/q2-loc.entry.js +2 -2
- package/dist/esm/q2-message.entry.js +3 -3
- package/dist/esm/q2-message.entry.js.map +1 -1
- package/dist/esm/q2-month-picker.entry.js +1 -1
- package/dist/esm/q2-optgroup_2.entry.js +4 -4
- package/dist/esm/q2-optgroup_2.entry.js.map +1 -1
- package/dist/esm/q2-option-list.entry.js +1 -1
- package/dist/esm/q2-pagination.entry.js +3 -3
- package/dist/esm/q2-pagination.entry.js.map +1 -1
- package/dist/esm/q2-pill.entry.js +4 -3
- package/dist/esm/q2-pill.entry.js.map +1 -1
- package/dist/esm/q2-radio-group.entry.js +1 -1
- package/dist/esm/q2-radio.entry.js +3 -3
- package/dist/esm/q2-radio.entry.js.map +1 -1
- package/dist/esm/q2-relative-time.entry.js +1 -1
- package/dist/esm/q2-section.entry.js +3 -3
- package/dist/esm/q2-select.entry.js +1 -1
- package/dist/esm/q2-stepper-pane.entry.js +2 -2
- package/dist/esm/q2-stepper-vertical.entry.js +3 -3
- package/dist/esm/q2-stepper-vertical.entry.js.map +1 -1
- package/dist/esm/q2-stepper.entry.js +2 -2
- package/dist/esm/q2-tab-container.entry.js +3 -3
- package/dist/esm/q2-tab-container.entry.js.map +1 -1
- package/dist/esm/q2-tab-pane.entry.js +1 -1
- package/dist/esm/q2-tag.entry.js +3 -3
- package/dist/esm/q2-tag.entry.js.map +1 -1
- package/dist/esm/q2-tecton-elements.js +1 -1
- package/dist/esm/q2-textarea.entry.js +2 -2
- package/dist/esm/q2-textarea.entry.js.map +1 -1
- package/dist/esm/q2-tooltip.entry.js +1 -1
- package/dist/esm/tecton-tab-pane.entry.js +2 -2
- package/dist/q2-tecton-elements/assets/cards.symbol.svg +1 -1
- package/dist/q2-tecton-elements/assets/icon-list.json +1 -1
- package/dist/q2-tecton-elements/assets/icon-map.json +1 -1
- package/dist/q2-tecton-elements/assets/legacy.symbol.svg +1 -1
- package/dist/q2-tecton-elements/assets/standard.symbol.svg +1 -1
- package/dist/q2-tecton-elements/p-05b015a8.entry.js +2 -0
- package/dist/q2-tecton-elements/p-05b015a8.entry.js.map +1 -0
- package/dist/q2-tecton-elements/p-0d548810.entry.js +2 -0
- package/dist/q2-tecton-elements/p-0d548810.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-cbbc7659.entry.js → p-1c17d118.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-1c17d118.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-86cf292d.entry.js → p-2132da06.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-1fac9c85.entry.js → p-22661533.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-2436c843.entry.js +2 -0
- package/dist/q2-tecton-elements/p-2436c843.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-5ebb80b6.entry.js → p-391acc00.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-5ebb80b6.entry.js.map → p-391acc00.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/p-3b1ea100.entry.js +2 -0
- package/dist/q2-tecton-elements/p-3b1ea100.entry.js.map +1 -0
- package/dist/q2-tecton-elements/p-42302f6f.js +2 -0
- package/dist/q2-tecton-elements/p-42302f6f.js.map +1 -0
- package/dist/q2-tecton-elements/{p-92955258.entry.js → p-4570ff06.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-47868d6d.entry.js +2 -0
- package/dist/q2-tecton-elements/p-47868d6d.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-c1e03092.entry.js → p-4a332c2a.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-0a705412.entry.js → p-4b81a121.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-4bbe563f.entry.js +2 -0
- package/dist/q2-tecton-elements/p-4bbe563f.entry.js.map +1 -0
- package/dist/q2-tecton-elements/p-4f7e2c8a.entry.js +2 -0
- package/dist/q2-tecton-elements/p-4f7e2c8a.entry.js.map +1 -0
- package/dist/q2-tecton-elements/p-50bd4437.entry.js +2 -0
- package/dist/q2-tecton-elements/p-50bd4437.entry.js.map +1 -0
- package/dist/q2-tecton-elements/p-515d424b.entry.js +2 -0
- package/dist/q2-tecton-elements/{p-913a23f5.entry.js.map → p-515d424b.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/{p-bb6e6290.entry.js → p-57bf9342.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-0fccdca2.entry.js → p-5dc5c4e2.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-5dc5c4e2.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-5b9ee831.entry.js → p-63192fac.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-281e7ce7.entry.js → p-685b821c.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-bd5e5864.entry.js → p-71180fcd.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-db615608.entry.js → p-7523305d.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-ca8dd86f.entry.js → p-7f663376.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-b52eb7ce.entry.js → p-8dc489e1.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-a214077c.entry.js +2 -0
- package/dist/q2-tecton-elements/p-a214077c.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-3bc27513.entry.js → p-aec64fcb.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-aed969d4.entry.js +2 -0
- package/dist/q2-tecton-elements/p-aed969d4.entry.js.map +1 -0
- package/dist/q2-tecton-elements/p-b21ed2d9.entry.js +2 -0
- package/dist/q2-tecton-elements/p-b21ed2d9.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-1954ab7d.entry.js → p-b3322f94.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-b3322f94.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-25eccf38.entry.js → p-b3d10d52.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-25eccf38.entry.js.map → p-b3d10d52.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/{p-5b3f885f.entry.js → p-b7d5fd12.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-b7d5fd12.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-cb30f949.entry.js → p-bf125cdf.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-d1a9ed3d.entry.js +2 -0
- package/dist/q2-tecton-elements/p-d1a9ed3d.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-73a3c437.entry.js → p-d635e39f.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-a5b16c01.entry.js → p-d9e19f70.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-d9e19f70.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-a89814b8.entry.js → p-dc057a9c.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-debd5249.entry.js +2 -0
- package/dist/q2-tecton-elements/p-debd5249.entry.js.map +1 -0
- package/dist/q2-tecton-elements/p-df297a77.entry.js +2 -0
- package/dist/q2-tecton-elements/p-df297a77.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-6afb4d46.entry.js → p-e762526f.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-698f82c5.entry.js → p-f1265647.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-954d49de.entry.js → p-f162c670.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-f418967b.entry.js +2 -0
- package/dist/q2-tecton-elements/p-f418967b.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-fddebc47.entry.js → p-f4d77672.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-fcc84527.entry.js +2 -0
- package/dist/q2-tecton-elements/p-fcc84527.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/test/elements/q2-badge-test.e2e.js +11 -3
- package/dist/test/elements/q2-badge-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-btn-test.e2e.js +25 -25
- package/dist/test/elements/q2-btn-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-calendar-test.e2e.js +3 -3
- package/dist/test/elements/q2-calendar-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-carousel-pane-test.e2e.js +16 -86
- package/dist/test/elements/q2-carousel-pane-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-carousel-pane-test.spec.js +113 -0
- package/dist/test/elements/q2-carousel-pane-test.spec.js.map +1 -0
- package/dist/test/elements/q2-carousel-test.e2e.js +27 -1
- package/dist/test/elements/q2-carousel-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-chart-donut-test.e2e.js +64 -30
- package/dist/test/elements/q2-chart-donut-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-currency-test.e2e.js +7 -7
- package/dist/test/elements/q2-currency-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-detail/q2-detail-test.e2e.js +1 -1
- package/dist/test/elements/q2-detail/q2-detail-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-detail/q2-item-test.e2e.js +223 -0
- package/dist/test/elements/q2-detail/q2-item-test.e2e.js.map +1 -0
- package/dist/test/elements/q2-detail/q2-list-test.e2e.js +92 -0
- package/dist/test/elements/q2-detail/q2-list-test.e2e.js.map +1 -0
- package/dist/test/elements/q2-icon-test.e2e.js +20 -98
- package/dist/test/elements/q2-icon-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-input-test.e2e.js +140 -7
- package/dist/test/elements/q2-input-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-pill-test.e2e.js +23 -0
- package/dist/test/elements/q2-pill-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-relative-time-test.e2e.js +50 -48
- package/dist/test/elements/q2-relative-time-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-textarea-test.e2e.js +4 -8
- package/dist/test/elements/q2-textarea-test.e2e.js.map +1 -1
- package/dist/test/helpers.js +18 -16
- package/dist/test/helpers.js.map +1 -1
- package/dist/test/utils/index.spec.js +18 -0
- package/dist/test/utils/index.spec.js.map +1 -0
- package/dist/types/components/q2-avatar/q2-avatar.d.ts +0 -1
- package/dist/types/components/q2-badge/q2-badge.d.ts +1 -0
- package/dist/types/components/q2-btn/q2-btn.d.ts +1 -0
- package/dist/types/components/q2-carousel/q2-carousel.d.ts +3 -0
- package/dist/types/components/q2-carousel-pane/q2-carousel-pane.d.ts +5 -0
- package/dist/types/components/q2-chart-donut/q2-chart-donut.d.ts +13 -12
- package/dist/types/components/q2-icon/q2-icon.d.ts +1 -5
- package/dist/types/components/q2-input/q2-input.d.ts +8 -0
- package/dist/types/components/q2-item/q2-item.d.ts +21 -0
- package/dist/types/components/q2-list/q2-list.d.ts +20 -0
- package/dist/types/components.d.ts +82 -14
- package/dist/types/global.d.ts +1 -1
- package/dist/types/utils/index.d.ts +6 -0
- package/dist/types/workspace/workspace/_Gitlab_tecton-production_master/packages/q2-tecton-elements/.stencil/test/helpers.d.ts +1 -1
- package/package.json +3 -3
- package/dist/cjs/icons-04e4f595.js +0 -2900
- package/dist/cjs/icons-04e4f595.js.map +0 -1
- package/dist/cjs/index-1deac3ee.js.map +0 -1
- package/dist/collection/components/q2-icon/icons.js +0 -1184
- package/dist/collection/components/q2-icon/icons.js.map +0 -1
- package/dist/esm/icons-8f4c3b69.js +0 -2898
- package/dist/esm/icons-8f4c3b69.js.map +0 -1
- package/dist/esm/index-12c2a320.js.map +0 -1
- package/dist/q2-tecton-elements/p-043bb5c0.entry.js +0 -2
- package/dist/q2-tecton-elements/p-043bb5c0.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-0e2e7b2d.entry.js +0 -2
- package/dist/q2-tecton-elements/p-0e2e7b2d.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-0fccdca2.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-1954ab7d.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-55bc5c9b.entry.js +0 -2
- package/dist/q2-tecton-elements/p-55bc5c9b.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-562d598b.entry.js +0 -2
- package/dist/q2-tecton-elements/p-562d598b.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-5b3f885f.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-5c46acb8.js +0 -2
- package/dist/q2-tecton-elements/p-5c46acb8.js.map +0 -1
- package/dist/q2-tecton-elements/p-5dd0eede.entry.js +0 -2
- package/dist/q2-tecton-elements/p-5dd0eede.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-6479c450.entry.js +0 -2
- package/dist/q2-tecton-elements/p-6479c450.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-7c5d43cf.entry.js +0 -2
- package/dist/q2-tecton-elements/p-7c5d43cf.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-7ff4c446.entry.js +0 -2
- package/dist/q2-tecton-elements/p-7ff4c446.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-87d72e3e.entry.js +0 -2
- package/dist/q2-tecton-elements/p-87d72e3e.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-913a23f5.entry.js +0 -2
- package/dist/q2-tecton-elements/p-a5b16c01.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-c13ce2d3.entry.js +0 -2
- package/dist/q2-tecton-elements/p-c13ce2d3.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-cbbc7659.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-d7e608f7.entry.js +0 -2
- package/dist/q2-tecton-elements/p-d7e608f7.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-dce084f9.entry.js +0 -2
- package/dist/q2-tecton-elements/p-dce084f9.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-ecce27a0.entry.js +0 -2
- package/dist/q2-tecton-elements/p-ecce27a0.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-f6c1f69b.js +0 -2
- package/dist/q2-tecton-elements/p-f6c1f69b.js.map +0 -1
- package/dist/q2-tecton-elements/p-f8c7cad7.entry.js +0 -2
- package/dist/q2-tecton-elements/p-f8c7cad7.entry.js.map +0 -1
- package/dist/types/components/q2-icon/icons.d.ts +0 -3
- /package/dist/q2-tecton-elements/{p-86cf292d.entry.js.map → p-2132da06.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-1fac9c85.entry.js.map → p-22661533.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-92955258.entry.js.map → p-4570ff06.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-c1e03092.entry.js.map → p-4a332c2a.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-0a705412.entry.js.map → p-4b81a121.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-bb6e6290.entry.js.map → p-57bf9342.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-5b9ee831.entry.js.map → p-63192fac.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-281e7ce7.entry.js.map → p-685b821c.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-bd5e5864.entry.js.map → p-71180fcd.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-db615608.entry.js.map → p-7523305d.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-ca8dd86f.entry.js.map → p-7f663376.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-b52eb7ce.entry.js.map → p-8dc489e1.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-3bc27513.entry.js.map → p-aec64fcb.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-cb30f949.entry.js.map → p-bf125cdf.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-73a3c437.entry.js.map → p-d635e39f.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-a89814b8.entry.js.map → p-dc057a9c.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-6afb4d46.entry.js.map → p-e762526f.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-698f82c5.entry.js.map → p-f1265647.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-954d49de.entry.js.map → p-f162c670.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-fddebc47.entry.js.map → p-f4d77672.entry.js.map} +0 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as t,c as e,h as r,F as a,g as i}from"./p-a5f18e27.js";import{o as c,c as n,i as s,l as o}from"./p-42302f6f.js";const l='*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-double-focus-ring, 0 0 0 2px #ffffff, 0 0 0 4px #0066cc)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size:inherit;font-stretch:inherit}:host(.sr),:host(.sr) button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sr,.sr button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none}:host([hidden]){display:none}.invisible{visibility:hidden}:host{display:grid;grid-template-columns:var(--tct-stepper-vertical-list-width, var(--tct-advanced-stepper-list-width, var(--t-advanced-stepper-list-width, 180px))) 1fr;gap:var(--tct-stepper-vertical-layout-gap, var(--tct-advanced-stepper-layout-gap, var(--t-advanced-stepper-layout-gap, 120px)))}.step-label,.step-child-label{color:var(--comp-btn-label-color);font-size:var(--comp-btn-label-font-size);font-weight:var(--comp-label-font-weight, 400);min-height:1.5em}.step-label{text-overflow:ellipsis;overflow:hidden;display:-webkit-box;-webkit-line-clamp:var(--tct-stepper-label-line-count, var(--tct-advanced-stepper-label-line-count, var(--t-advanced-stepper-label-line-count, 2)));-webkit-box-orient:vertical}[aria-selected=true] .step-label{font-weight:var(--tct-stepper-vertical-btn-active-font-weight, var(--tct-advanced-stepper-btn-active-font-weight, var(--t-advanced-stepper-btn-active-font-weight, 600)))}[aria-describedby] .step-label{text-overflow:ellipsis;overflow:hidden;display:-webkit-box;-webkit-line-clamp:var(--tct-stepper-label-line-count, var(--tct-advanced-stepper-label-line-count, var(--t-advanced-stepper-label-line-count, 1)));-webkit-box-orient:vertical}.step-child-label{grid-area:content;color:var(--comp-btn-label-color)}.step-description{color:var(--tct-stepper-vertical-description-color, var(--tct-advanced-stepper-description-color, var(--t-advanced-stepper-description-color, var(--t-textA, rgba(77, 77, 77, 0.77)))));font-size:var(--tct-stepper-vertical-description-font-size, var(--tct-advanced-stepper-description-font-size, var(--t-advanced-stepper-description-font-size, var(--app-font-size-small, 12px))));padding-bottom:0.2em}ul{--comp-top-btn-icon-size:var(--tct-stepper-vertical-btn-icon-size, var(--tct-advanced-stepper-btn-icon-size, var(--t-advanced-stepper-btn-icon-size, 24px)));--comp-btn-icon-size:var(--comp-top-btn-icon-size);--comp-btn-content-gap:var(--tct-stepper-vertical-btn-gap, var(--tct-advanced-stepper-btn-gap, var(--t-advanced-stepper-btn-gap, var(--app-scale-3x, 15px))));--comp-btn-label-font-size:var-list(\n --tct-stepper-vertical-btn-label-font-size,\n var-prefixer(advanced-stepper-btn-label-font-size),\n 16px\n );--comp-btn-label-color:var(--tct-stepper-vertical-label-color, var(--tct-advanced-stepper-label-color, var(--t-advanced-stepper-label-color, var(--t-text, #4d4d4d))));--comp-tween:var(--tct-stepper-vertical-tween, var(--tct-advanced-stepper-tween, var(--t-advanced-stepper-tween, var(--app-tween-1, 0.2s ease))));--comp-bullet-bg:var(--tct-stepper-vertical-bullet-active-background, var(--tct-advanced-stepper-bullet-active-bg, var(--t-advanced-stepper-bullet-active-bg, var(--t-primary, #0079c1))));list-style:none;margin:0;padding:0}ul ul{--comp-btn-icon-size:var(--tct-stepper-vertical-child-btn-icon-size, var(--tct-advanced-stepper-child-btn-icon-size, var(--t-advanced-stepper-child-btn-icon-size, 12px)));--comp-btn-content-gap:var(--tct-stepper-vertical-btn-gap, var(--tct-advanced-stepper-btn-gap, var(--t-advanced-stepper-btn-gap, var(--app-scale-2x, 10px))));--comp-btn-label-font-size:var-list(\n --tct-stepper-vertical-child-btn-label-font-size,\n var-prefixer(advanced-stepper-child-btn-label-font-size),\n --app-font-size-small,\n 12px\n )}ul ul[aria-hidden=true]{display:none}.step-btn,.step-child-btn{display:grid;grid-template-columns:var(--comp-btn-icon-size) 1fr;gap:var(--comp-btn-content-gap);text-align:var(--tct-stepper-vertical-btn-text-align, var(--tct-advanced-stepper-btn-text-align, var(--t-advanced-stepper-btn-text-align, start)));grid-template-areas:"icon content";align-items:center;width:100%;position:relative;background:transparent;border:0;cursor:pointer;padding:0;transition-property:box-shadow;outline:none}.step-btn[aria-disabled],.step-child-btn[aria-disabled]{cursor:default;--comp-label-font-weight:300;--comp-btn-label-color:var(--tct-stepper-vertical-btn-locked-color, var(--tct-advanced-stepper-btn-locked-color, var(--t-advanced-stepper-btn-locked-color, var(--t-textA, rgba(77, 77, 77, 0.77)))))}.step-btn[aria-selected=true],.step-child-btn[aria-selected=true]{--comp-label-font-weight:600}.step-btn{min-height:var(--tct-stepper-vertical-btn-height, var(--tct-advanced-stepper-btn-height, var(--t-advanced-stepper-btn-height, 40px)));font-size:var(--tct-stepper-vertical-btn-font-size, var(--tct-advanced-stepper-btn-font-size, var(--t-advanced-stepper-btn-font-size, 16px)));--comp-active-color:var(--comp-bullet-bg)}.step-btn.status-complete{--comp-active-color:var(--const-stoplight-success, #0e8a00)}.step-btn.status-error{--comp-active-color:var(--const-stoplight-alert, #d20a0a)}.step-btn.status-locked{cursor:not-allowed}.step-child-btn{--comp-active-color:var(--comp-bullet-bg);min-height:var(--tct-stepper-vertical-child-btn-height, var(--tct-advanced-stepper-child-btn-height, var(--t-advanced-stepper-child-btn-height, 30px)));padding-left:var(--tct-stepper-vertical-child-btn-left-padding, var(--tct-advanced-stepper-child-btn-left-padding, var(--t-advanced-stepper-child-btn-left-padding, var(--app-scale-2x, 10px))));font-size:var(--tct-stepper-vertical-child-btn-font-size, var(--tct-advanced-stepper-child-btn-font-size, var(--t-advanced-stepper-child-btn-font-size, 12px)));border-left-width:var(--tct-stepper-vertical-child-btn-left-border-width, var(--tct-advanced-stepper-child-btn-left-border-width, var(--t-advanced-stepper-child-btn-left-border-width, 3px)));border-left-style:var(--tct-stepper-vertical-child-btn-left-border-style, var(--tct-advanced-stepper-child-btn-left-border-style, var(--t-advanced-stepper-child-btn-left-border-style, solid)));border-left-color:transparent}.step-child-btn[aria-selected=true]{--comp-btn-label-color:var(--comp-active-color);border-left-color:var(--comp-active-color)}.step-child-btn.status-error{--comp-btn-label-color:var(--const-stoplight-alert, #d20a0a);--comp-active-color:var(--const-stoplight-alert, #d20a0a)}.step-child-btn.status-locked{cursor:not-allowed}.step-content{grid-area:content}.step-icon,.step-bubble,.step-child-icon{grid-area:icon;width:var(--comp-btn-icon-size);height:var(--comp-btn-icon-size);line-height:0}.step-icon q2-icon,.step-bubble q2-icon,.step-child-icon q2-icon{width:var(--comp-btn-icon-size);height:var(--comp-btn-icon-size);--tct-icon-fill:var(--comp-active-color)}.step-icon,.step-bubble{background:var(--comp-active-color);color:var(--t-base, #ffffff);border-radius:50%}.status-complete .step-icon,.status-error .step-icon,.status-complete .step-bubble,.status-error .step-bubble{background:var(--comp-active-color)}.step-icon q2-icon,.step-bubble q2-icon{--tct-icon-fill:var(--comp-active-color)}.step-icon q2-icon:before,.step-bubble q2-icon:before{content:"";display:block;background:var(--t-base, #ffffff);position:absolute;width:80%;height:80%;left:11%;top:11%;border-radius:50%}.status-locked .step-icon,.status-locked .step-bubble{background:var(--t-gray-12, #d9d9d9);color:var(--t-text, #4d4d4d)}[aria-selected=true] .step-icon,[aria-selected=true] .step-bubble{box-shadow:0 0 0 2px var(--t-base, #ffffff), 0 0 0 4px var(--comp-active-color)}.step-bubble{display:flex;justify-content:center;align-items:center;line-height:0}.step-child-icon q2-icon{--tct-icon-stroke-primary:var(--comp-active-color);--tct-icon-stroke-secondary:var(--comp-active-color)}[aria-selected=true] .step-child-icon q2-icon{fill:var(--comp-active-color);--tct-icon-stroke-secondary:var(--t-base, #ffffff)}.spacer{height:0;border-left-width:var(--tct-stepper-vertical-child-border-width, var(--tct-advanced-stepaer-child-border-width, var(--t-advanced-stepaer-child-border-width, 1px)));border-left-style:var(--tct-stepper-vertical-child-border-style, var(--tct-advanced-stepper-child-border-style, var(--t-advanced-stepper-child-border-style, solid)));border-left-color:var(--tct-stepper-vertical-child-border-color, var(--tct-advanced-stepper-child-border-color, var(--t-advanced-stepper-child-border-color, var(--t-gray-12, #d9d9d9))));overflow:hidden;margin-left:calc(var(--comp-top-btn-icon-size) / 2);transition:height var(--comp-tween)}.spacer.has-sibling{height:var(--tct-stepper-vertical-spacer-height, var(--tct-advanced-stepper-spacer-height, var(--t-advanced-stepper-spacer-height, var(--app-scale-6x, 30px))))}.spacer ul{opacity:0;transition:opacity var(--comp-tween)}.spacer.is-opening ul,.spacer.is-open ul{display:block;opacity:1 !important}.spacer.is-open{overflow:visible}';const p=l;const d=class{constructor(r){t(this,r);this.change=e(this,"change",7);this.scheduledAfterRender=[];this.determinePaneChanges=t=>{t.forEach((t=>{var e,r;if(t.type!=="childList")return;if(!t.addedNodes.length&&!t.removedNodes.length)return;if(((e=t.addedNodes[0])===null||e===void 0?void 0:e.nodeType)!==Node.ELEMENT_NODE&&((r=t.removedNodes[0])===null||r===void 0?void 0:r.nodeType)!==Node.ELEMENT_NODE)return;this.buildPaneList()}))};this.buildPaneList=()=>{const{allRootPanes:t}=this;if(!t.length)return;this.structuredPanes=Array.from(t).reduce(((t,e)=>{var r,a;const i=Array.from((a=(r=e.querySelector("[slot=children]"))===null||r===void 0?void 0:r.children)!==null&&a!==void 0?a:[]).filter((({tagName:t})=>t==="Q2-STEPPER-PANE")).map(this.extractDetails);t.push(Object.assign(Object.assign({},this.extractDetails(e)),{children:i}));return t}),[])};this.onStepClick=(t,e)=>{t.stopPropagation();const{currentStepId:r}=this;if(e===r)return;const a=this.allPanes.find((t=>t.id===e));this.change.emit({selectedStep:a,selectedStepId:e,currentStepId:r})};this.onStepKeyDown=(t,e)=>{const{key:r}=t;let a;switch(r){case"ArrowUp":case"ArrowLeft":t.preventDefault();a=this.getStepId(e,"prev");break;case"ArrowDown":case"ArrowRight":t.preventDefault();a=this.getStepId(e,"next");break;case"Home":t.preventDefault();a=this.getStepId(e,"first");break;case"End":t.preventDefault();a=this.getStepId(e,"last");break}if(!a)return;this.focusStepBtn(a,true)};this.currentStepId=undefined;this.structuredPanes=[]}componentWillLoad(){this.setDefaultPane();this.buildPaneList();const t=new MutationObserver(this.determinePaneChanges);const e={childList:true};t.observe(this.hostElement,e);this.allRootPanes.forEach((r=>{const a=r.querySelector("[slot=children]");if(a)t.observe(a,e)}));this.mutationObserver=t}componentDidLoad(){c(this.hostElement);setTimeout((()=>this.showStep(this.currentStepId)),0)}componentWillUpdate(){this.expandedStepChildrenList=null}componentDidRender(){this.scheduledAfterRender.forEach((t=>t()));this.scheduledAfterRender=[];this.openCurrentStepChildren()}disconnectedCallback(){this.mutationObserver.disconnect();this.mutationObserver=null}get allRootPanes(){return Array.from(this.hostElement.querySelectorAll(":scope > q2-stepper-pane"))}get allPanes(){return Array.from(this.hostElement.querySelectorAll("q2-stepper-pane"))}setDefaultPane(){if(this.currentStepId)return;const t=this.hostElement.querySelector("q2-stepper-pane");if(!t)return;if(!t.id)t.id=`step-${n()}`;this.currentStepId=t.id}getStepId(t,e){const r=Array.from(this.hostElement.shadowRoot.querySelectorAll('ul:not([aria-hidden="true"]) > li > button:not([aria-disabled="true"])'));const a=r.findIndex((e=>e.getAttribute("aria-controls")===t));let i;switch(e){case"prev":i=Math.max(a-1,0);break;case"next":i=Math.min(a+1,r.length-1);break;case"first":i=0;break;case"last":i=r.length-1;break}return r[i].getAttribute("aria-controls")}showStep(t){this.scheduledAfterRender.push(this.resizeIframe);this.showStepPane(t);this.focusStepBtn(t)}extractDetails(t){const{label:e,description:r,status:a}=t;if(!t.id)t.id=`step-${n()}`;return{id:t.id,label:e,description:r,status:a}}resizeIframe(){var t,e;return(e=(t=window===null||window===void 0?void 0:window.TectonElements)===null||t===void 0?void 0:t.resizeIframe)===null||e===void 0?void 0:e.call(t)}openCurrentStepChildren(){const{expandedStepChildrenList:t}=this;const e=this.hostElement.shadowRoot.querySelectorAll(".spacer");e.forEach((e=>{if(t&&e.contains(t)){e.style.height=`${t.clientHeight}px`;if(e.classList.contains("is-open"))return;e.classList.add("is-opening");e.addEventListener("transitionend",(()=>{e.classList.remove("is-opening");e.classList.add("is-open");this.resizeIframe()}),{once:true})}else{e.removeAttribute("style");e.classList.remove("is-open","is-opening")}}))}showStepPane(t){this.allPanes.forEach((e=>{if(e.isActive||e.id===t){e.isActive=t===e.id}}))}focusStepBtn(t,e){const r=this.hostElement.shadowRoot.querySelector(`button[aria-controls="${t}"]`);const a=document.activeElement===this.hostElement;if(!r)return;if(a||e){r.focus()}}defaultChangeHandler(t){const{hostElement:e}=this;if(t.target===e&&!e.getAttribute("onchange")&&!!t.detail){this.currentStepId=t.detail.selectedStepId}}delegateFocus(t){if(!s(t,this.hostElement))return;this.focusStepBtn(this.currentStepId,true)}statusChangeHandler(){this.buildPaneList()}currentStepChanged(t){this.showStep(t)}renderStepBtn(t,e){const{currentStepId:a,structuredPanes:i}=this;const c=e===i.length-1;const{id:n,label:s,description:l,status:p}=t;const d=e+1;const b=n===a;const v=s&&`label-${n}`;const h=p==="locked";const u=s&&o(s);const f=s&&l&&`description-${n}`;const g=!s&&o("tecton.element.advancedStepper.number",[`${d}`,`${i.length}`]);let m;if(p==="complete")m="success-filled";else if(p==="error")m="warning-filled";const w=["step-btn"];if(p)w.push(`status-${p}`);const x=t.children.map((t=>t.id));const y=b||x.includes(a);return r("li",{role:"presentation"},r("button",{class:w.join(" "),type:"button","aria-labelledby":v,"aria-describedBy":f,"aria-label":g,"aria-selected":`${b}`,"aria-expanded":!!t.children.length?`${y}`:null,"aria-controls":n,"aria-disabled":h?"true":null,role:"tab",tabIndex:b?0:-1,onKeyDown:t=>!h&&this.onStepKeyDown(t,n),onClick:t=>!h&&this.onStepClick(t,n)},m?r("div",{class:"step-icon"},r("q2-icon",{type:m})):r("div",{class:"step-bubble"},d),s&&r("div",null,r("div",{class:"step-label",id:v},u),l&&r("div",{class:"step-description",id:f},o(l)))),this.renderSpacer(t,u,y,c))}renderSpacer(t,e,a,i){const c=i&&!!t.children.length||!i;const n=["spacer"];if(!i)n.push("has-sibling");return c&&r("div",{class:n.join(" ")},!!t.children.length&&r("ul",{ref:t=>a&&(this.expandedStepChildrenList=t),"aria-hidden":`${!a}`},t.children.map(((t,r,a)=>this.renderChildStepBtn(t,r,a.length,e)))))}renderChildStepBtn(t,e,a,i){const{currentStepId:c}=this;const{id:n,label:s,status:l}=t;const p=e+1;const d=s&&`label-${n}`;const b=n===c;const v=l==="locked";const h=!s&&o("tecton.element.advancedStepper.childNumber",[`${p}`,`${a}`,i]);let u;if(l==="error")u="warning-filled";const f=["step-child-btn"];if(l)f.push(`status-${l}`);return r("li",{role:"presentation"},r("button",{class:f.join(" "),type:"button","aria-labelledby":d,"aria-label":h,"aria-selected":`${b}`,"aria-controls":n,"aria-disabled":v?"true":null,role:"tab",tabIndex:b?0:-1,onKeyDown:t=>!v&&this.onStepKeyDown(t,n),onClick:t=>!v&&this.onStepClick(t,n)},u&&r("div",{class:"step-child-icon"},r("q2-icon",{type:u})),s&&r("div",{class:"step-child-label",id:d},o(s))))}render(){return r(a,{key:"111b2d1fde499840f0bfc3bc7e15aa031ca48352"},r("ul",{key:"cb06c9ee1ce93cc160b07819062cf4f4010be2a7",role:"tablist"},this.structuredPanes.map(((t,e)=>this.renderStepBtn(t,e)))),r("div",{key:"993998a6cc4bedb69065f318c59c729896671947"},r("slot",{key:"12527fc15e44c8ca0c189e797a9e3694143789d0"})))}get hostElement(){return i(this)}static get watchers(){return{currentStepId:["currentStepChanged"]}}};d.style=p;export{d as q2_stepper_vertical};
|
|
2
|
+
//# sourceMappingURL=p-4f7e2c8a.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["q2StepperVerticalCss","Q2StepperVerticalStyle0","Q2StepperVertical","this","scheduledAfterRender","determinePaneChanges","mutations","forEach","mutation","type","addedNodes","length","removedNodes","_a","nodeType","Node","ELEMENT_NODE","_b","buildPaneList","allRootPanes","structuredPanes","Array","from","reduce","accum","pane","children","querySelector","filter","tagName","map","extractDetails","push","Object","assign","onStepClick","event","stepId","stopPropagation","currentStepId","selectedStep","allPanes","find","id","change","emit","selectedStepId","onStepKeyDown","key","preventDefault","getStepId","focusStepBtn","componentWillLoad","setDefaultPane","observer","MutationObserver","observerOptions","childList","observe","hostElement","childrenSlot","mutationObserver","componentDidLoad","overrideFocus","setTimeout","showStep","componentWillUpdate","expandedStepChildrenList","componentDidRender","fn","openCurrentStepChildren","disconnectedCallback","disconnect","querySelectorAll","firstEnabledStep","createGuid","goTo","allEnabledStepBtns","shadowRoot","currentStepIndex","findIndex","btn","getAttribute","nextStepIndex","Math","max","min","resizeIframe","showStepPane","label","description","status","window","TectonElements","call","allSpacers","spacer","contains","style","height","clientHeight","classList","add","addEventListener","remove","once","removeAttribute","isActive","forceFocus","stepBtn","isComponentActive","document","activeElement","focus","defaultChangeHandler","target","detail","delegateFocus","isEventFromElement","statusChangeHandler","currentStepChanged","renderStepBtn","index","isLastStep","stepNumber","isCurrentStep","labelId","isLocked","stepLabel","loc","descriptionId","btnLabel","statusIcon","stepClasses","childIds","child","isExpanded","includes","h","role","class","join","tabIndex","onKeyDown","ev","onClick","renderSpacer","shouldRender","spacerClasses","ref","el","renderChildStepBtn","parentLabel","render","Fragment"],"sources":["src/components/q2-stepper-vertical/q2-stepper-vertical.scss?tag=q2-stepper-vertical&encapsulation=shadow","src/components/q2-stepper-vertical/q2-stepper-vertical.tsx"],"sourcesContent":["@import '../../styles/host.scss';\n@import '../../styles/functions';\n\n:host {\n display: grid;\n grid-template-columns: var-list(--tct-stepper-vertical-list-width, var-prefixer(advanced-stepper-list-width), 180px) 1fr;\n gap: var-list(--tct-stepper-vertical-layout-gap, var-prefixer(advanced-stepper-layout-gap), 120px);\n}\n\n.step-label,\n.step-child-label {\n color: var(--comp-btn-label-color);\n font-size: var(--comp-btn-label-font-size);\n font-weight: var(--comp-label-font-weight, 400);\n min-height: 1.5em;\n}\n\n.step-label {\n @include line-clamp(var-list(--tct-stepper-label-line-count, var-prefixer(advanced-stepper-label-line-count), 2));\n\n [aria-selected='true'] & {\n font-weight: var-list(\n --tct-stepper-vertical-btn-active-font-weight,\n var-prefixer(advanced-stepper-btn-active-font-weight),\n 600\n );\n }\n\n [aria-describedby] & {\n @include line-clamp(\n var-list(--tct-stepper-label-line-count, var-prefixer(advanced-stepper-label-line-count), 1)\n );\n }\n}\n\n.step-child-label {\n grid-area: content;\n color: var(--comp-btn-label-color);\n}\n\n.step-description {\n color: var-list(\n --tct-stepper-vertical-description-color,\n var-prefixer(advanced-stepper-description-color),\n --t-textA,\n rgba(77, 77, 77, 0.77)\n );\n font-size: var-list(\n --tct-stepper-vertical-description-font-size,\n var-prefixer(advanced-stepper-description-font-size),\n --app-font-size-small,\n 12px\n );\n\n // Add padding for descenders\n padding-bottom: 0.2em;\n}\n\nul {\n --comp-top-btn-icon-size: #{var-list(\n --tct-stepper-vertical-btn-icon-size,\n var-prefixer(advanced-stepper-btn-icon-size),\n 24px\n )};\n --comp-btn-icon-size: #{var(--comp-top-btn-icon-size)};\n --comp-btn-content-gap: #{var-list(\n --tct-stepper-vertical-btn-gap,\n var-prefixer(advanced-stepper-btn-gap),\n --app-scale-3x,\n 15px\n )};\n --comp-btn-label-font-size: var-list(\n --tct-stepper-vertical-btn-label-font-size,\n var-prefixer(advanced-stepper-btn-label-font-size),\n 16px\n );\n --comp-btn-label-color: #{var-list(\n --tct-stepper-vertical-label-color,\n var-prefixer(advanced-stepper-label-color),\n --t-text,\n #4d4d4d\n )};\n --comp-tween: #{var-list(\n --tct-stepper-vertical-tween,\n var-prefixer(advanced-stepper-tween),\n --app-tween-1,\n unquote('0.2s ease')\n )};\n --comp-bullet-bg: #{var-list(\n --tct-stepper-vertical-bullet-active-background,\n var-prefixer(advanced-stepper-bullet-active-bg),\n --t-primary,\n #0079c1\n )};\n\n list-style: none;\n margin: 0;\n padding: 0;\n\n ul {\n --comp-btn-icon-size: #{var-list(\n --tct-stepper-vertical-child-btn-icon-size,\n var-prefixer(advanced-stepper-child-btn-icon-size),\n 12px\n )};\n --comp-btn-content-gap: #{var-list(\n --tct-stepper-vertical-btn-gap,\n var-prefixer(advanced-stepper-btn-gap),\n --app-scale-2x,\n 10px\n )};\n --comp-btn-label-font-size: var-list(\n --tct-stepper-vertical-child-btn-label-font-size,\n var-prefixer(advanced-stepper-child-btn-label-font-size),\n --app-font-size-small,\n 12px\n );\n\n &[aria-hidden='true'] {\n display: none;\n }\n }\n}\n\n.step-btn,\n.step-child-btn {\n display: grid;\n grid-template-columns: var(--comp-btn-icon-size) 1fr;\n gap: var(--comp-btn-content-gap);\n text-align: var-list(--tct-stepper-vertical-btn-text-align, var-prefixer(advanced-stepper-btn-text-align), start);\n grid-template-areas: 'icon content';\n align-items: center;\n width: 100%;\n position: relative;\n background: transparent;\n border: 0;\n cursor: pointer;\n padding: 0;\n transition-property: box-shadow;\n outline: none;\n\n &[aria-disabled] {\n cursor: default;\n --comp-label-font-weight: 300;\n --comp-btn-label-color: #{var-list(\n --tct-stepper-vertical-btn-locked-color,\n var-prefixer(advanced-stepper-btn-locked-color),\n --t-textA,\n rgba(77, 77, 77, 0.77)\n )};\n }\n\n &[aria-selected='true'] {\n --comp-label-font-weight: 600;\n }\n}\n\n.step-btn {\n min-height: var-list(--tct-stepper-vertical-btn-height, var-prefixer(advanced-stepper-btn-height), 40px);\n font-size: var-list(--tct-stepper-vertical-btn-font-size, var-prefixer(advanced-stepper-btn-font-size), 16px);\n\n --comp-active-color: var(--comp-bullet-bg);\n &.status-complete {\n --comp-active-color: var(--const-stoplight-success, #0e8a00);\n }\n &.status-error {\n --comp-active-color: var(--const-stoplight-alert, #d20a0a);\n }\n &.status-locked {\n cursor: not-allowed;\n }\n}\n\n.step-child-btn {\n --comp-active-color: var(--comp-bullet-bg);\n\n min-height: var-list(\n --tct-stepper-vertical-child-btn-height,\n var-prefixer(advanced-stepper-child-btn-height),\n 30px\n );\n padding-left: var-list(\n --tct-stepper-vertical-child-btn-left-padding,\n var-prefixer(advanced-stepper-child-btn-left-padding),\n --app-scale-2x,\n 10px\n );\n font-size: var-list(\n --tct-stepper-vertical-child-btn-font-size,\n var-prefixer(advanced-stepper-child-btn-font-size),\n 12px\n );\n border-left-width: var-list(\n --tct-stepper-vertical-child-btn-left-border-width,\n var-prefixer(advanced-stepper-child-btn-left-border-width),\n 3px\n );\n border-left-style: var-list(\n --tct-stepper-vertical-child-btn-left-border-style,\n var-prefixer(advanced-stepper-child-btn-left-border-style),\n solid\n );\n border-left-color: transparent;\n\n &[aria-selected='true'] {\n --comp-btn-label-color: var(--comp-active-color);\n border-left-color: var(--comp-active-color);\n }\n\n &.status-error {\n --comp-btn-label-color: var(--const-stoplight-alert, #d20a0a);\n --comp-active-color: var(--const-stoplight-alert, #d20a0a);\n }\n\n &.status-locked {\n cursor: not-allowed;\n }\n}\n\n.step-content {\n grid-area: content;\n}\n\n.step-icon,\n.step-bubble,\n.step-child-icon {\n grid-area: icon;\n width: var(--comp-btn-icon-size);\n height: var(--comp-btn-icon-size);\n line-height: 0;\n\n q2-icon {\n width: var(--comp-btn-icon-size);\n height: var(--comp-btn-icon-size);\n --tct-icon-fill: var(--comp-active-color);\n }\n}\n\n.step-icon,\n.step-bubble {\n background: var(--comp-active-color);\n color: var(--t-base, #ffffff);\n border-radius: 50%;\n\n .status-complete &,\n .status-error & {\n background: var(--comp-active-color);\n }\n\n q2-icon {\n --tct-icon-fill: var(--comp-active-color);\n &:before {\n content: '';\n display: block;\n background: var(--t-base, #ffffff);\n position: absolute;\n width: 80%;\n height: 80%;\n left: 11%;\n top: 11%;\n border-radius: 50%;\n }\n }\n\n // Text-based statuses\n .status-locked & {\n background: var(--t-gray-12, #d9d9d9);\n color: var(--t-text, #4d4d4d);\n }\n\n [aria-selected='true'] & {\n box-shadow:\n 0 0 0 2px var(--t-base, #ffffff),\n 0 0 0 4px var(--comp-active-color);\n }\n}\n\n.step-bubble {\n display: flex;\n justify-content: center;\n align-items: center;\n line-height: 0;\n}\n\n.step-child-icon {\n q2-icon {\n --tct-icon-stroke-primary: var(--comp-active-color);\n --tct-icon-stroke-secondary: var(--comp-active-color);\n }\n [aria-selected='true'] & {\n q2-icon {\n fill: var(--comp-active-color);\n --tct-icon-stroke-secondary: var(--t-base, #ffffff);\n }\n }\n}\n\n.spacer {\n height: 0;\n border-left-width: var-list(\n --tct-stepper-vertical-child-border-width,\n var-prefixer(advanced-stepaer-child-border-width),\n 1px\n );\n border-left-style: var-list(\n --tct-stepper-vertical-child-border-style,\n var-prefixer(advanced-stepper-child-border-style),\n solid\n );\n border-left-color: var-list(\n --tct-stepper-vertical-child-border-color,\n var-prefixer(advanced-stepper-child-border-color),\n --t-gray-12,\n #d9d9d9\n );\n overflow: hidden;\n margin-left: calc(var(--comp-top-btn-icon-size) / 2);\n transition: height var(--comp-tween);\n\n &.has-sibling {\n height: var-list(\n --tct-stepper-vertical-spacer-height,\n var-prefixer(advanced-stepper-spacer-height),\n --app-scale-6x,\n 30px\n );\n }\n\n ul {\n opacity: 0;\n transition: opacity var(--comp-tween);\n }\n\n &.is-opening,\n &.is-open {\n ul {\n display: block;\n opacity: 1 !important;\n }\n }\n\n &.is-open {\n overflow: visible;\n }\n}\n","import {\n Component,\n Prop,\n h,\n Element,\n ComponentInterface,\n State,\n Watch,\n Listen,\n Event,\n EventEmitter,\n Fragment,\n} from '@stencil/core';\nimport { loc, overrideFocus, isEventFromElement, createGuid } from 'src/utils';\n\ninterface IBaseStructuredPane {\n id: string;\n label: string;\n description: string;\n isActive: boolean;\n status: string;\n}\n\ninterface IStructuredPane extends IBaseStructuredPane {\n children: IBaseStructuredPane[];\n}\n\n@Component({ tag: 'q2-stepper-vertical', shadow: true, styleUrl: 'q2-stepper-vertical.scss' })\nexport class Q2StepperVertical implements ComponentInterface {\n /** The `id` of the currently selected `q2-stepper-pane`. */\n @Prop({ reflect: true, mutable: true }) currentStepId: string;\n\n @Element() hostElement: HTMLElement;\n\n /**\n * Emitted when the selected step changes.\n * @legacyEvent\n */\n @Event() change: EventEmitter<{\n selectedStep: HTMLQ2StepperPaneElement;\n selectedStepId: string;\n currentStepId: string;\n }>;\n @State() structuredPanes: IStructuredPane[] = [];\n mutationObserver: MutationObserver;\n expandedStepChildrenList: HTMLUListElement;\n scheduledAfterRender: (() => void)[] = [];\n\n /// LifeCycle Hooks ///\n componentWillLoad() {\n this.setDefaultPane();\n this.buildPaneList();\n const observer = new MutationObserver(this.determinePaneChanges);\n const observerOptions = {\n childList: true,\n };\n observer.observe(this.hostElement, observerOptions);\n this.allRootPanes.forEach(pane => {\n const childrenSlot = pane.querySelector('[slot=children]');\n if (childrenSlot) observer.observe(childrenSlot, observerOptions);\n });\n this.mutationObserver = observer;\n }\n\n componentDidLoad() {\n overrideFocus(this.hostElement);\n setTimeout(() => this.showStep(this.currentStepId), 0);\n }\n\n componentWillUpdate() {\n this.expandedStepChildrenList = null;\n }\n\n componentDidRender() {\n this.scheduledAfterRender.forEach(fn => fn());\n this.scheduledAfterRender = [];\n\n this.openCurrentStepChildren();\n }\n\n disconnectedCallback() {\n this.mutationObserver.disconnect();\n this.mutationObserver = null;\n }\n\n /// Getters ///\n get allRootPanes() {\n return Array.from(this.hostElement.querySelectorAll<HTMLQ2StepperPaneElement>(':scope > q2-stepper-pane'));\n }\n\n get allPanes() {\n return Array.from(this.hostElement.querySelectorAll<HTMLQ2StepperPaneElement>('q2-stepper-pane'));\n }\n\n /// Helpers ///\n setDefaultPane() {\n if (this.currentStepId) return;\n const firstEnabledStep = this.hostElement.querySelector('q2-stepper-pane');\n if (!firstEnabledStep) return;\n if (!firstEnabledStep.id) firstEnabledStep.id = `step-${createGuid()}`;\n this.currentStepId = firstEnabledStep.id;\n }\n\n determinePaneChanges = (mutations: MutationRecord[]) => {\n mutations.forEach(mutation => {\n if (mutation.type !== 'childList') return;\n if (!mutation.addedNodes.length && !mutation.removedNodes.length) return;\n if (\n mutation.addedNodes[0]?.nodeType !== Node.ELEMENT_NODE &&\n mutation.removedNodes[0]?.nodeType !== Node.ELEMENT_NODE\n )\n return;\n this.buildPaneList();\n });\n };\n\n getStepId(currentStepId: string, goTo: string) {\n const allEnabledStepBtns = Array.from(\n this.hostElement.shadowRoot.querySelectorAll<HTMLQ2StepperPaneElement>(\n 'ul:not([aria-hidden=\"true\"]) > li > button:not([aria-disabled=\"true\"])'\n )\n );\n const currentStepIndex = allEnabledStepBtns.findIndex(\n btn => btn.getAttribute('aria-controls') === currentStepId\n );\n\n let nextStepIndex;\n switch (goTo) {\n case 'prev':\n nextStepIndex = Math.max(currentStepIndex - 1, 0);\n break;\n\n case 'next':\n nextStepIndex = Math.min(currentStepIndex + 1, allEnabledStepBtns.length - 1);\n break;\n\n case 'first':\n nextStepIndex = 0;\n break;\n\n case 'last':\n nextStepIndex = allEnabledStepBtns.length - 1;\n break;\n }\n\n return allEnabledStepBtns[nextStepIndex].getAttribute('aria-controls');\n }\n\n showStep(stepId: string) {\n this.scheduledAfterRender.push(this.resizeIframe);\n this.showStepPane(stepId);\n this.focusStepBtn(stepId);\n }\n\n extractDetails(pane: HTMLQ2StepperPaneElement) {\n const { label, description, status } = pane;\n if (!pane.id) pane.id = `step-${createGuid()}`;\n return {\n id: pane.id,\n label,\n description,\n status,\n };\n }\n\n buildPaneList = () => {\n const { allRootPanes } = this;\n if (!allRootPanes.length) return;\n\n this.structuredPanes = Array.from(allRootPanes).reduce((accum, pane) => {\n const children = Array.from(pane.querySelector('[slot=children]')?.children ?? [])\n .filter(({ tagName }) => tagName === 'Q2-STEPPER-PANE')\n .map(this.extractDetails);\n\n accum.push({ ...this.extractDetails(pane), children });\n return accum;\n }, []);\n };\n\n resizeIframe() {\n return window?.TectonElements?.resizeIframe?.();\n }\n\n openCurrentStepChildren() {\n const { expandedStepChildrenList } = this;\n const allSpacers = this.hostElement.shadowRoot.querySelectorAll<HTMLDivElement>('.spacer');\n allSpacers.forEach(spacer => {\n if (expandedStepChildrenList && spacer.contains(expandedStepChildrenList)) {\n spacer.style.height = `${expandedStepChildrenList.clientHeight}px`;\n if (spacer.classList.contains('is-open')) return;\n spacer.classList.add('is-opening');\n spacer.addEventListener(\n 'transitionend',\n () => {\n spacer.classList.remove('is-opening');\n spacer.classList.add('is-open');\n this.resizeIframe();\n },\n { once: true }\n );\n } else {\n spacer.removeAttribute('style');\n spacer.classList.remove('is-open', 'is-opening');\n }\n });\n }\n\n showStepPane(stepId: string) {\n this.allPanes.forEach(pane => {\n if (pane.isActive || pane.id === stepId) {\n pane.isActive = stepId === pane.id;\n }\n });\n }\n\n focusStepBtn(stepId: string, forceFocus?: boolean) {\n const stepBtn = this.hostElement.shadowRoot.querySelector<HTMLElement>(`button[aria-controls=\"${stepId}\"]`);\n const isComponentActive = document.activeElement === this.hostElement;\n if (!stepBtn) return;\n if (isComponentActive || forceFocus) {\n stepBtn.focus();\n }\n }\n\n /// Listeners ///\n @Listen('change')\n defaultChangeHandler(event: CustomEvent) {\n const { hostElement } = this;\n if (event.target === hostElement && !hostElement.getAttribute('onchange') && !!event.detail) {\n this.currentStepId = event.detail.selectedStepId;\n }\n }\n\n @Listen('focus')\n delegateFocus(event: FocusEvent) {\n if (!isEventFromElement(event, this.hostElement)) return;\n this.focusStepBtn(this.currentStepId, true);\n }\n\n @Listen('statusChange')\n statusChangeHandler() {\n this.buildPaneList();\n }\n\n /// Watchers ///\n @Watch('currentStepId')\n currentStepChanged(stepId: string) {\n this.showStep(stepId);\n }\n\n /// Event Handlers ///\n onStepClick = (event, stepId: string) => {\n event.stopPropagation();\n const { currentStepId } = this;\n if (stepId === currentStepId) return;\n const selectedStep = this.allPanes.find(pane => pane.id === stepId);\n\n this.change.emit({\n selectedStep,\n selectedStepId: stepId,\n currentStepId,\n });\n };\n\n onStepKeyDown = (event: KeyboardEvent, stepId: string) => {\n const { key } = event;\n\n let selectedStepId;\n switch (key) {\n case 'ArrowUp':\n case 'ArrowLeft':\n event.preventDefault();\n selectedStepId = this.getStepId(stepId, 'prev');\n break;\n\n case 'ArrowDown':\n case 'ArrowRight':\n event.preventDefault();\n selectedStepId = this.getStepId(stepId, 'next');\n break;\n\n case 'Home':\n event.preventDefault();\n selectedStepId = this.getStepId(stepId, 'first');\n break;\n\n case 'End':\n event.preventDefault();\n selectedStepId = this.getStepId(stepId, 'last');\n break;\n }\n\n if (!selectedStepId) return;\n this.focusStepBtn(selectedStepId, true);\n };\n\n /// DOM ///\n renderStepBtn(pane: IStructuredPane, index: number) {\n const { currentStepId, structuredPanes } = this;\n const isLastStep = index === structuredPanes.length - 1;\n const { id, label, description, status } = pane;\n const stepNumber = index + 1;\n const isCurrentStep = id === currentStepId;\n const labelId = label && `label-${id}`;\n const isLocked = status === 'locked';\n const stepLabel = label && loc(label);\n const descriptionId = label && description && `description-${id}`;\n const btnLabel =\n !label && loc('tecton.element.advancedStepper.number', [`${stepNumber}`, `${structuredPanes.length}`]);\n\n let statusIcon;\n if (status === 'complete') statusIcon = 'success-filled';\n else if (status === 'error') statusIcon = 'warning-filled';\n\n const stepClasses = ['step-btn'];\n if (status) stepClasses.push(`status-${status}`);\n\n const childIds = pane.children.map(child => child.id);\n const isExpanded = isCurrentStep || childIds.includes(currentStepId);\n\n return (\n <li role=\"presentation\">\n <button\n class={stepClasses.join(' ')}\n type=\"button\"\n aria-labelledby={labelId}\n aria-describedBy={descriptionId}\n aria-label={btnLabel}\n aria-selected={`${isCurrentStep}`}\n aria-expanded={!!pane.children.length ? `${isExpanded}` : null}\n aria-controls={id}\n aria-disabled={isLocked ? 'true' : null}\n role=\"tab\"\n tabIndex={isCurrentStep ? 0 : -1}\n onKeyDown={ev => !isLocked && this.onStepKeyDown(ev, id)}\n onClick={ev => !isLocked && this.onStepClick(ev, id)}\n >\n {statusIcon ? (\n <div class=\"step-icon\">\n <q2-icon type={statusIcon}></q2-icon>\n </div>\n ) : (\n <div class=\"step-bubble\">{stepNumber}</div>\n )}\n\n {label && (\n <div>\n <div\n class=\"step-label\"\n id={labelId}\n >\n {stepLabel}\n </div>\n {description && (\n <div\n class=\"step-description\"\n id={descriptionId}\n >\n {loc(description)}\n </div>\n )}\n </div>\n )}\n </button>\n {this.renderSpacer(pane, stepLabel, isExpanded, isLastStep)}\n </li>\n );\n }\n\n renderSpacer(pane: IStructuredPane, stepLabel: string, isExpanded: boolean, isLastStep: boolean) {\n const shouldRender = (isLastStep && !!pane.children.length) || !isLastStep;\n const spacerClasses = ['spacer'];\n if (!isLastStep) spacerClasses.push('has-sibling');\n return (\n shouldRender && (\n <div class={spacerClasses.join(' ')}>\n {!!pane.children.length && (\n <ul\n ref={el => isExpanded && (this.expandedStepChildrenList = el)}\n aria-hidden={`${!isExpanded}`}\n >\n {pane.children.map((child, index, children) =>\n this.renderChildStepBtn(child, index, children.length, stepLabel)\n )}\n </ul>\n )}\n </div>\n )\n );\n }\n\n renderChildStepBtn(pane: IBaseStructuredPane, index: number, children: number, parentLabel: string) {\n const { currentStepId } = this;\n const { id, label, status } = pane;\n const stepNumber = index + 1;\n const labelId = label && `label-${id}`;\n const isCurrentStep = id === currentStepId;\n const isLocked = status === 'locked';\n const btnLabel =\n !label && loc('tecton.element.advancedStepper.childNumber', [`${stepNumber}`, `${children}`, parentLabel]);\n\n let statusIcon;\n if (status === 'error') statusIcon = 'warning-filled';\n\n const stepClasses = ['step-child-btn'];\n if (status) stepClasses.push(`status-${status}`);\n\n return (\n <li role=\"presentation\">\n <button\n class={stepClasses.join(' ')}\n type=\"button\"\n aria-labelledby={labelId}\n aria-label={btnLabel}\n aria-selected={`${isCurrentStep}`}\n aria-controls={id}\n aria-disabled={isLocked ? 'true' : null}\n role=\"tab\"\n tabIndex={isCurrentStep ? 0 : -1}\n onKeyDown={ev => !isLocked && this.onStepKeyDown(ev, id)}\n onClick={ev => !isLocked && this.onStepClick(ev, id)}\n >\n {statusIcon && (\n <div class=\"step-child-icon\">\n <q2-icon type={statusIcon}></q2-icon>\n </div>\n )}\n {label && (\n <div\n class=\"step-child-label\"\n id={labelId}\n >\n {loc(label)}\n </div>\n )}\n </button>\n </li>\n );\n }\n\n render() {\n return (\n <Fragment>\n <ul role=\"tablist\">{this.structuredPanes.map((pane, index) => this.renderStepBtn(pane, index))}</ul>\n <div>\n <slot />\n </div>\n </Fragment>\n );\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as t,h as e,F as o,g as i}from"./p-a5f18e27.js";import{f as a}from"./p-42302f6f.js";const r="*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-double-focus-ring, 0 0 0 2px #ffffff, 0 0 0 4px #0066cc)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size:inherit;font-stretch:inherit}:host(.sr),:host(.sr) button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sr,.sr button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none}:host([hidden]){display:none}.invisible{visibility:hidden}*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-double-focus-ring, 0 0 0 2px #ffffff, 0 0 0 4px #0066cc)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size:inherit;font-stretch:inherit}:host(.sr),:host(.sr) button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sr,.sr button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none}:host([hidden]){display:none}.invisible{visibility:hidden}:host{display:block}:host([clickable]){cursor:pointer;--comp-background:var(--tct-btn-primary-background, var(--tct-btn-primary-bg, var(--t-a11y-active-gray-color-AA, #404040)))}:host([clickable]) .item{--comp-border-radius:var(--tct-item-border-radius, var(--app-border-radius-1, 3px));--comp-btn-tween:var(--tct-btn-tween, var(--t-btn-tween, var(--tct-tween-1, var(--app-tween-1, 0.2s ease))));--comp-btn-fallback-box-shadow:0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);--comp-hover-box-shadow:var(--tct-btn-primary-box-shadow, var(--comp-btn-fallback-box-shadow));--comp-active-box-shadow:var(--tct-btn-primary-active-background, #0063a0);--comp-font-color:var(--tct-btn-primary-font-color, var(--app-white, #ffffff));--comp-hover-outer-ring-color:var(--tct-btn-primary-hover-outer-ring-color, var(--comp-background));--comp-hover-inner-ring-color:var(--tct-btn-primary-hover-inner-ring-color, var(--comp-font-color));--comp-hover-box-shadow:0 0 0 2px var(--comp-hover-inner-ring-color),\n 0 0 0 4px var(--comp-hover-outer-ring-color)}:host([clickable]) .item:hover{box-shadow:var(--comp-hover-box-shadow)}:host([clickable]) .item:active{box-shadow:var(--comp-active-box-shadow)}:host([clickable]) .item:focus-visible{box-shadow:var(--const-double-focus-ring)}::slotted([slot]){--tct-avatar-height:var(--tct-item-avatar-height, var(--app-scale-7x, 35px));--tct-avatar-width:var(--tct-item-avatar-width, var(--app-scale-7x, 35px))}.action{align-items:center;display:flex;grid-row:1;justify-content:center;--tct-btn-icon-height:28px;--tct-btn-icon-width:28px;--tct-icon-size:16px;--tct-radio-label-hidden-columns:18px;--tct-radio-label-margin-right:0;--tct-radio-margin:0}.action-no-bullet{grid-column:2}.body{color:var(--tct-item-body-color, var(--t-textA, #747474));font-size:var(--tct-item-body-font-size, var(--app-font-size, 14px));font-weight:var(--tct-item-body-font-weight, 400)}.bullet{grid-column:1;grid-row-start:1;grid-row-end:3;padding-top:var(--tct-item-bullet-padding-top, var(--app-scale-1x, 5px))}.bullet-no-footer{grid-row-end:2}.footer{grid-column-start:2;grid-column-end:4;grid-row:2}.footer-no-action-nor-bullet{grid-column-start:1;grid-column-end:2}.footer-no-action{grid-column-start:2;grid-column-end:3}.footer-no-bullet{grid-column-start:1;grid-column-end:3}.header{color:var(--tct-item-header-color, var(--t-text, #4d4d4d));font-size:var(--tct-item-header-font-size, 16px);font-weight:var(--tct-item-header-font-weight, 600);line-height:var(--tct-item-header-line-height, 1.5)}.item{border:var(--tct-item-border);border-radius:var(--comp-border-radius);transition:var(--comp-btn-tween);transition-property:box-shadow;column-gap:var(--tct-item-horizontal-spacing, var(--app-scale-3x, 15px));display:grid;grid-template-columns:minmax(var(--app-scale-7x, 35px), auto) minmax(auto, 100%) minmax(var(--app-scale-5x, 25px), auto);grid-template-rows:auto auto;padding:var(--tct-item-padding, var(--app-scale-2x, 10px) var(--app-scale-4x, 20px));row-gap:var(--tct-item-vertical-spacing, var(--app-scale-2x, 10px))}.item-no-action-nor-bullet{grid-template-columns:auto}.item-no-action{grid-template-columns:minmax(var(--app-scale-7x, 35px), auto) minmax(auto, 100%)}.item-no-footer{grid-template-rows:auto}.item-no-bullet{grid-template-columns:minmax(auto, 100%) minmax(var(--app-scale-5x, 25px), auto)}.main{grid-column:2;grid-row:1}.main-no-action-nor-bullet{grid-column:1}.main-no-bullet{grid-column:1}";const n=r;const s=class{constructor(e){t(this,e);this.renderTrigger=0;this.clickable=undefined}componentDidLoad(){if(typeof MutationObserver!=="undefined"){const t=new MutationObserver((()=>this.renderTrigger+=1));t.observe(this.hostElement,{childList:true,subtree:true,attributes:true});this.mutationObserver=t}this.setClickable()}get actionClasses(){const t=["action"];if(!this.hasBulletSlotContent){t.push(`action-no-bullet`)}return t.join(" ")}get bulletClasses(){const t=["bullet"];if(!this.hasFooterSlotContent){t.push(`bullet-no-footer`)}return t.join(" ")}get footerClasses(){const t=["footer"];if(!this.hasActionSlotContent&&!this.hasBulletSlotContent){t.push(`footer-no-action-nor-bullet`)}else if(!this.hasActionSlotContent){t.push(`footer-no-action`)}else if(!this.hasBulletSlotContent){t.push(`footer-no-bullet`)}return t.join(" ")}get hasActionSlotContent(){return a(this.hostElement,"action")}get hasBodySlotContent(){return a(this.hostElement,"body")}get hasBulletSlotContent(){return a(this.hostElement,"bullet")}get hasHeaderSlotContent(){return a(this.hostElement,"header")}get hasFooterSlotContent(){return a(this.hostElement,"footer")}get itemClasses(){const t=["item"];if(!this.hasActionSlotContent&&!this.hasBulletSlotContent){t.push(`item-no-action-nor-bullet`)}else if(!this.hasActionSlotContent){t.push(`item-no-action`)}else if(!this.hasBulletSlotContent){t.push(`item-no-bullet`)}if(!this.hasFooterSlotContent){t.push(`item-no-footer`)}return t.join(" ")}get mainClasses(){const t=["main"];if(!this.hasActionSlotContent&&!this.hasBulletSlotContent){t.push(`main-no-action-nor-bullet`)}else if(!this.hasBulletSlotContent){t.push(`main-no-bullet`)}return t.join(" ")}setClickable(){var t,e,o,i;if(this.clickable){(t=this.itemElement)===null||t===void 0?void 0:t.setAttribute("role","button");(e=this.itemElement)===null||e===void 0?void 0:e.setAttribute("tabindex","0")}else{(o=this.itemElement)===null||o===void 0?void 0:o.removeAttribute("role");(i=this.itemElement)===null||i===void 0?void 0:i.removeAttribute("tabindex")}}render(){this.setClickable();return e(o,{key:"d5ba951c9454ce295806c0c12381c97d766010c6"},e("div",{key:"ce49d5fbe107d66f77a0eae1e6719c2567fd52c8",class:this.itemClasses,ref:t=>this.itemElement=t},this.hasBulletSlotContent&&e("div",{key:"4fb7c74d6e4da51c9c40e4eac1b86557d8498f0f",class:this.bulletClasses},e("slot",{key:"f9029c81cc4b955c04fcd7e2445cd8b4a9dc1807",name:"bullet"})),e("div",{key:"eeef4eb04e2f636b8fbc10c7629a1d1e90ce9867",class:this.mainClasses},this.hasHeaderSlotContent&&e("div",{key:"eedc08d67609dba329306406b19323989496fa30",class:"header"},e("slot",{key:"7ca6467804317ef7b54ca4b7893def703aa0a07a",name:"header"})),this.hasBodySlotContent&&e("div",{key:"cb7e3fb9eae10c3d3481975563edb7b1a9615fbf",class:"body"},e("slot",{key:"9fd0a9a4b82671a47ec02ca87ae3512f54f0aeb4",name:"body"}))),this.hasActionSlotContent&&e("div",{key:"e20c1a4c400f607dfe5299a9e564b1937870e5a8",class:this.actionClasses},e("slot",{key:"9fe4231d6af81ba6e69de4c00da41d8d4ca7ae89",name:"action"})),this.hasFooterSlotContent&&e("div",{key:"08afea866e6750c4c3ea06a004e2e4fef50e2a7f",class:this.footerClasses},e("slot",{key:"a0502cd05cc9af67a3c1496e11fa23235e887be3",name:"footer"}))))}get hostElement(){return i(this)}};s.style=n;export{s as q2_item};
|
|
2
|
+
//# sourceMappingURL=p-50bd4437.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["q2ItemCss","Q2ItemStyle0","Q2Item","componentDidLoad","MutationObserver","observer","this","renderTrigger","observe","hostElement","childList","subtree","attributes","mutationObserver","setClickable","actionClasses","classes","hasBulletSlotContent","push","join","bulletClasses","hasFooterSlotContent","footerClasses","hasActionSlotContent","hasSlotContent","hasBodySlotContent","hasHeaderSlotContent","itemClasses","mainClasses","clickable","_a","itemElement","setAttribute","_b","_c","removeAttribute","_d","render","h","Fragment","key","class","ref","el","name"],"sources":["src/components/q2-item/q2-item.scss?tag=q2-item&encapsulation=shadow","src/components/q2-item/q2-item.tsx"],"sourcesContent":["@import '../../styles/host.scss';\n@import '../../styles/functions';\n@import '../q2-btn/q2-btn-mixins';\n\n:host {\n display: block;\n}\n\n:host([clickable]) {\n cursor: pointer;\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 .item {\n --comp-border-radius: #{var-list(--tct-item-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-hover-box-shadow: #{var-list(--tct-btn-primary-box-shadow, --comp-btn-fallback-box-shadow)};\n --comp-active-box-shadow: var(--tct-btn-primary-active-background, #0063a0);\n --comp-font-color: #{var-list(--tct-btn-primary-font-color, --app-white, #ffffff)};\n @include btn-ring(primary, hover, --comp-background, --comp-font-color, null);\n &:hover {\n box-shadow: var(--comp-hover-box-shadow);\n }\n &:active {\n box-shadow: var(--comp-active-box-shadow);\n }\n &:focus-visible {\n box-shadow: var(--const-double-focus-ring);\n }\n }\n}\n\n::slotted([slot]) {\n --tct-avatar-height: var(--tct-item-avatar-height, var(--app-scale-7x, 35px));\n --tct-avatar-width: var(--tct-item-avatar-width, var(--app-scale-7x, 35px));\n}\n\n.action {\n align-items: center;\n display: flex;\n grid-row: 1;\n justify-content: center;\n --tct-btn-icon-height: 28px;\n --tct-btn-icon-width: 28px;\n --tct-icon-size: 16px;\n --tct-radio-label-hidden-columns: 18px;\n --tct-radio-label-margin-right: 0;\n --tct-radio-margin: 0;\n\n &-no-bullet {\n grid-column: 2;\n }\n}\n\n.body {\n color: var-list(--tct-item-body-color, --t-textA, #747474);\n font-size: var-list(--tct-item-body-font-size, --app-font-size, 14px);\n font-weight: var-list(--tct-item-body-font-weight, 400);\n}\n\n.bullet {\n grid-column: 1;\n grid-row-start: 1;\n grid-row-end: 3;\n padding-top: var-list(--tct-item-bullet-padding-top, --app-scale-1x, 5px);\n\n &-no-footer {\n grid-row-end: 2;\n }\n}\n\n.footer {\n grid-column-start: 2;\n grid-column-end: 4;\n grid-row: 2;\n\n &-no-action-nor-bullet {\n grid-column-start: 1;\n grid-column-end: 2;\n }\n\n &-no-action {\n grid-column-start: 2;\n grid-column-end: 3;\n }\n\n &-no-bullet {\n grid-column-start: 1;\n grid-column-end: 3;\n }\n}\n\n.header {\n color: var-list(--tct-item-header-color, --t-text, #4d4d4d);\n font-size: var-list(--tct-item-header-font-size, 16px);\n font-weight: var-list(--tct-item-header-font-weight, 600);\n line-height: var-list(--tct-item-header-line-height, 1.5);\n}\n\n.item {\n border: var(--tct-item-border);\n border-radius: var(--comp-border-radius);\n transition: var(--comp-btn-tween);\n transition-property: box-shadow;\n column-gap: var-list(--tct-item-horizontal-spacing, --app-scale-3x, 15px);\n display: grid;\n grid-template-columns: minmax(var(--app-scale-7x, 35px), auto) minmax(auto, 100%) minmax(\n var(--app-scale-5x, 25px),\n auto\n );\n grid-template-rows: auto auto;\n padding: var(--tct-item-padding, var-list(--app-scale-2x, 10px) var-list(--app-scale-4x, 20px));\n row-gap: var(--tct-item-vertical-spacing, var(--app-scale-2x, 10px));\n\n &-no-action-nor-bullet {\n grid-template-columns: auto;\n }\n\n &-no-action {\n grid-template-columns: minmax(var(--app-scale-7x, 35px), auto) minmax(auto, 100%);\n }\n\n &-no-footer {\n grid-template-rows: auto;\n }\n\n &-no-bullet {\n grid-template-columns: minmax(auto, 100%) minmax(var(--app-scale-5x, 25px), auto);\n }\n}\n\n.main {\n grid-column: 2;\n grid-row: 1;\n\n &-no-action-nor-bullet {\n grid-column: 1;\n }\n\n &-no-bullet {\n grid-column: 1;\n }\n}\n\n","import { Component, Element, h, State, Prop, Fragment } from '@stencil/core';\nimport { hasSlotContent } from 'src/utils';\n\n@Component({\n tag: 'q2-item',\n styleUrl: 'q2-item.scss',\n shadow: true,\n})\nexport class Q2Item {\n // #region Own Properties\n\n @Element() hostElement: HTMLElement;\n mutationObserver: MutationObserver;\n itemElement: HTMLDivElement;\n\n // #endregion\n // #region State() Variables\n\n @State() renderTrigger: number = 0;\n\n // #endregion\n // #region Public Property API\n\n /** Makes the item clickable. */\n @Prop({ reflect: true })\n clickable: boolean;\n\n // #endregion\n // #region Component Lifecycle Events\n\n componentDidLoad() {\n if (typeof MutationObserver !== 'undefined') {\n const observer = new MutationObserver(() => (this.renderTrigger += 1));\n observer.observe(this.hostElement, { childList: true, subtree: true, attributes: true });\n this.mutationObserver = observer;\n }\n this.setClickable();\n }\n // #endregion\n // #region Local methods\n\n get actionClasses() {\n const classes = ['action'];\n if (!this.hasBulletSlotContent) {\n classes.push(`action-no-bullet`);\n }\n\n return classes.join(' ');\n }\n\n get bulletClasses() {\n const classes = ['bullet'];\n if (!this.hasFooterSlotContent) {\n classes.push(`bullet-no-footer`);\n }\n\n return classes.join(' ');\n }\n\n get footerClasses() {\n const classes = ['footer'];\n if (!this.hasActionSlotContent && !this.hasBulletSlotContent) {\n classes.push(`footer-no-action-nor-bullet`);\n } else if (!this.hasActionSlotContent) {\n classes.push(`footer-no-action`);\n } else if (!this.hasBulletSlotContent) {\n classes.push(`footer-no-bullet`);\n }\n\n return classes.join(' ');\n }\n\n get hasActionSlotContent() {\n return hasSlotContent(this.hostElement, 'action');\n }\n\n get hasBodySlotContent() {\n return hasSlotContent(this.hostElement, 'body');\n }\n\n get hasBulletSlotContent() {\n return hasSlotContent(this.hostElement, 'bullet');\n }\n\n get hasHeaderSlotContent() {\n return hasSlotContent(this.hostElement, 'header');\n }\n\n get hasFooterSlotContent() {\n return hasSlotContent(this.hostElement, 'footer');\n }\n\n get itemClasses() {\n const classes = ['item'];\n if (!this.hasActionSlotContent && !this.hasBulletSlotContent) {\n classes.push(`item-no-action-nor-bullet`);\n } else if (!this.hasActionSlotContent) {\n classes.push(`item-no-action`);\n } else if (!this.hasBulletSlotContent) {\n classes.push(`item-no-bullet`);\n }\n if (!this.hasFooterSlotContent) {\n classes.push(`item-no-footer`);\n }\n\n return classes.join(' ');\n }\n\n get mainClasses() {\n const classes = ['main'];\n if (!this.hasActionSlotContent && !this.hasBulletSlotContent) {\n classes.push(`main-no-action-nor-bullet`);\n } else if (!this.hasBulletSlotContent) {\n classes.push(`main-no-bullet`);\n }\n\n return classes.join(' ');\n }\n\n setClickable() {\n if (this.clickable) {\n this.itemElement?.setAttribute('role', 'button');\n this.itemElement?.setAttribute('tabindex', '0');\n } else {\n this.itemElement?.removeAttribute('role');\n this.itemElement?.removeAttribute('tabindex');\n }\n }\n\n // #endregion\n // #region Render methods\n\n render() {\n this.setClickable();\n return (\n <Fragment>\n <div\n class={this.itemClasses}\n ref={el => (this.itemElement = el)}\n >\n {this.hasBulletSlotContent && (\n <div class={this.bulletClasses}>\n <slot name=\"bullet\" />\n </div>\n )}\n <div class={this.mainClasses}>\n {this.hasHeaderSlotContent && (\n <div class=\"header\">\n <slot name=\"header\" />\n </div>\n )}\n {this.hasBodySlotContent && (\n <div class=\"body\">\n <slot name=\"body\" />\n </div>\n )}\n </div>\n {this.hasActionSlotContent && (\n <div class={this.actionClasses}>\n <slot name=\"action\" />\n </div>\n )}\n {this.hasFooterSlotContent && (\n <div class={this.footerClasses}>\n <slot name=\"footer\" />\n </div>\n )}\n </div>\n </Fragment>\n );\n }\n\n // #endregion\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as t,c as i,h as e,F as a,g as o}from"./p-a5f18e27.js";import{c as r,o as n,i as s,e as d}from"./p-42302f6f.js";const l='*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-double-focus-ring, 0 0 0 2px #ffffff, 0 0 0 4px #0066cc)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size:inherit;font-stretch:inherit}:host(.sr),:host(.sr) button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sr,.sr button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none}:host([hidden]){display:none}.invisible{visibility:hidden}:host{margin-top:var(--tct-scale-2, var(--app-scale-2x, 10px))}fieldset{padding:0;margin:0;border:0;position:relative}.label-row{display:grid;grid-template-columns:1fr 24px;grid-template-areas:"label icon";gap:var(--app-scale-1x, 5px)}.label-row q2-icon{grid-area:icon;margin-top:-2px;margin-bottom:-2px}.group-legend{font-weight:600}.optional-tag{margin-left:var(--tct-input-label-optional-margin-left, var(--t-input-label-optional-margin-left, var(--tct-scale-1, var(--app-scale-1x, 5px))));color:var(--tct-input-label-optional-font-color, var(--t-input-label-optional-font-color, var(--t-textA, var(--t-a11y-gray-color, rgba(77, 77, 77, 0.77)))));font-size:var(--tct-input-label-optional-font-size, var(--t-input-label-optional-font-size, 12px));font-weight:var(--tct-input-label-optional-font-weight, var(--t-input-label-optional-font-weight, 400))}.tile-container,.tile-container .options-container{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;flex-grow:1}.options-container{--comp-default-margin:var(--app-scale-1x, 5px) 0;--comp-options-margin:var(--tct-radio-group-options-margin, var(--t-radio-group-options-margin, var(--comp-default-margin, 5px 0)));margin:var(--comp-options-margin);padding:var(--tct-radio-group-options-padding, var(--t-radio-group-options-padding, var(--app-scale-1x, 5px)));border-width:1px;border-color:transparent;border-style:solid;border-radius:var(--tct-border-radius-1, var(--app-border-radius-1, 2px))}:host([has-error]) .options-container{border-color:var(--tct-input-error-border-color, var(--const-stoplight-alert, #d20a0a))}:host([has-error=false]) .options-container{border-color:transparent}.tile-container.left{justify-content:start}.tile-container.right{justify-content:end}.tile-container .options-container{gap:var(--tct-radio-group-tile-gap, var(--t-radio-group-tile-gap, var(--app-scale-2x, 10px)));justify-content:inherit}';const c=l;const p=class{constructor(e){t(this,e);this.change=i(this,"change",7);this._id=`radio-group-${r()}`;this.onMutationObserved=()=>{this.valueUpdated(this.value);this.nameUpdated();this.disabledUpdated();this.readonlyUpdated();this.tileLayoutUpdated(this.tileLayout)};this.onInnerRadioChange=t=>{t.stopImmediatePropagation();if(this.readonly)return;this.change.emit({value:t.detail.value})};this.checkedRadioExists=()=>{const t=this.radioElements.find((t=>t.checked===true))||undefined;if(!this.value&&!!t){this.value=t.value}else if(!this.value&&!t){if(this.radioElements.length)this.radioElements[0].tabIndex=0}};this.disabled=false;this.hasError=false;this.hideLabel=undefined;this.label=undefined;this.name=undefined;this.optional=undefined;this.readonly=undefined;this.tileAlignment="center";this.tileLayout=undefined;this.value=undefined;this.tilelayout=undefined}get inputId(){return this._id}get radioElements(){return Array.from(this.hostElement.querySelectorAll("q2-radio"))}componentWillLoad(){this.checkedRadioExists();this.onMutationObserved();this.handleDeprecatedTilelayout(this.tilelayout)}componentDidLoad(){const t=new MutationObserver(this.onMutationObserved);t.observe(this.hostElement,{childList:true});this.mutationObserver=t;n(this.hostElement);this.checkedRadioExists()}valueUpdated(t){this.radioElements.forEach((i=>{i.checked=t===i.value;if(!i.checked){i.removeAttribute("checked");i.tabIndex=-1}else if(i.checked){i.tabIndex=0}}))}nameUpdated(){this.radioElements.forEach((t=>{t.name=this.name||this._id}))}disabledUpdated(){this.radioElements.forEach((t=>{t.groupDisabled=this.disabled}))}readonlyUpdated(){const t=this.readonly;this.radioElements.forEach((i=>i.groupReadonly=t))}handleDeprecatedTilelayout(t){if(typeof t!=="boolean")return;this.tileLayout=t;this.tilelayout=undefined}tileLayoutUpdated(t){this.radioElements.forEach((i=>{i.groupTileLayout=t}))}setValue(t){this.radioElements.forEach((i=>{if(t!==i.value)return;i.click()}))}onHostElementChange(t){if(t.target===this.hostElement){if(!this.hostElement.onchange){this.value=t.detail.value}}}delegateFocus(t){if(!s(t,this.hostElement))return;const i=this.hostElement.querySelector("q2-radio[checked]")||this.hostElement.querySelector("q2-radio");i===null||i===void 0?void 0:i.dispatchEvent(new FocusEvent("focus"))}keydownHandler(t){const i=t.target.getAttribute("value")||this.value;let e=this.radioElements.findIndex((e=>e===t.target||e.getAttribute("value")===i));let a=0;switch(t.key){case"ArrowLeft":case"ArrowUp":a=-1;break;case"ArrowRight":case"ArrowDown":a=1;break}if(e===-1||a===0){return}e+=a;e=a<0?Math.max(0,e):Math.min(this.radioElements.length-1,e);t.preventDefault();if(!this.readonly){this.value=this.radioElements[e].value}this.radioElements[e].dispatchEvent(new FocusEvent("focus"))}render(){const t=this.label||this.optional||this.readonly;const{hasError:i}=this;const o=t||i;return e(a,{key:"5fc0ba8dc6df9631a891e6997e520e663671dbf8"},o&&e("div",{key:"d65d48917b4dfa90b498467baf1b0d546f57df1b",class:"label-row"},t&&e("div",{key:"43e5db86c270d7e0822c1683d1eca97cb64e72c2",class:"group-legend"},d(this)),i&&e("q2-icon",{key:"f57ca3a0da21160ac81d00cac3c85a069fd3d9e5",type:"error","test-id":"iconError"})),e("fieldset",{key:"e85a89714c71b43670d392ba311d436a4c73038b",onChange:this.onInnerRadioChange,"aria-invalid":`${this.hasError}`},t&&e("legend",{key:"701af7a401c2871f9cbc472ffa27edac8b3e109e",class:"sr"},d(this)),this.inputDom()))}inputDom(){if(this.tileLayout){const{tileAlignment:t}=this;const i=["left","center","right"].includes(t)?t:"center";return e("div",{class:`tile-container ${i}`},e("div",{class:"options-container"},e("slot",null)))}else{return e("div",{class:"options-container"},e("slot",null))}}get hostElement(){return o(this)}static get watchers(){return{value:["valueUpdated"],name:["nameUpdated"],disabled:["disabledUpdated"],readonly:["readonlyUpdated"],tilelayout:["handleDeprecatedTilelayout"],tileLayout:["tileLayoutUpdated"]}}};p.style=c;export{p as q2_radio_group};
|
|
2
|
+
//# sourceMappingURL=p-515d424b.entry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["q2RadioGroupCss","Q2RadioGroupStyle0","Q2RadioGroup","this","_id","createGuid","onMutationObserved","valueUpdated","value","nameUpdated","disabledUpdated","readonlyUpdated","tileLayoutUpdated","tileLayout","onInnerRadioChange","event","stopImmediatePropagation","readonly","change","emit","detail","checkedRadioExists","firstCheckedRadio","radioElements","find","radio","checked","undefined","length","tabIndex","inputId","Array","from","hostElement","querySelectorAll","componentWillLoad","handleDeprecatedTilelayout","tilelayout","componentDidLoad","observer","MutationObserver","observe","childList","mutationObserver","overrideFocus","newVal","forEach","removeAttribute","name","groupDisabled","disabled","groupReadonly","groupTileLayout","setValue","click","onHostElementChange","target","onchange","delegateFocus","isEventFromElement","querySelector","dispatchEvent","FocusEvent","keydownHandler","currentValue","getAttribute","index","findIndex","el","sign","key","Math","max","min","preventDefault","render","showLabel","label","optional","hasError","showLabelRow","h","Fragment","class","labelDOM","type","onChange","inputDom","tileAlignment","alignment","includes"],"sources":["src/components/q2-radio-group/q2-radio-group.scss?tag=q2-radio-group&encapsulation=shadow","src/components/q2-radio-group/q2-radio-group.tsx"],"sourcesContent":["@import '../../styles/host.scss';\n@import '../../styles/functions';\n\n:host {\n margin-top: var-list(--tct-scale-2, --app-scale-2x, 10px);\n}\n\nfieldset {\n padding: 0;\n margin: 0;\n border: 0;\n position: relative;\n}\n\n.label-row {\n display: grid;\n grid-template-columns: 1fr 24px;\n grid-template-areas: 'label icon';\n gap: var-list(--app-scale-1x, 5px);\n\n q2-icon {\n grid-area: icon;\n margin-top: -2px;\n margin-bottom: -2px;\n }\n}\n\n.group-legend {\n font-weight: 600;\n}\n\n.optional-tag {\n margin-left: var-list(var-prefixer(input-label-optional-margin-left), --tct-scale-1, --app-scale-1x, 5px);\n color: var-list(\n var-prefixer(input-label-optional-font-color),\n --t-textA,\n --t-a11y-gray-color,\n rgba(77, 77, 77, 0.77)\n );\n font-size: var-list(var-prefixer(input-label-optional-font-size), 12px);\n font-weight: var-list(var-prefixer(input-label-optional-font-weight), 400);\n}\n\n.tile-container {\n &,\n .options-container {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-wrap: wrap;\n flex-grow: 1;\n }\n}\n\n.options-container {\n --comp-default-margin: #{var-list(--app-scale-1x, 5px)} 0;\n --comp-options-margin: #{var-list(var-prefixer(radio-group-options-margin), --comp-default-margin, unquote('5px 0'))};\n margin: var(--comp-options-margin);\n padding: var-list(var-prefixer(radio-group-options-padding), --app-scale-1x, 5px);\n border-width: 1px;\n border-color: transparent;\n border-style: solid;\n border-radius: var-list(--tct-border-radius-1, --app-border-radius-1, 2px);\n\n :host([has-error]) & {\n border-color: var-list(--tct-input-error-border-color, --const-stoplight-alert, #d20a0a);\n }\n :host([has-error='false']) & {\n border-color: transparent;\n }\n}\n\n.tile-container {\n &.left {\n justify-content: start;\n }\n &.right {\n justify-content: end;\n }\n\n .options-container {\n gap: var-list(var-prefixer(radio-group-tile-gap), --app-scale-2x, 10px);\n justify-content: inherit;\n }\n}\n","import {\n Component,\n Prop,\n Element,\n h,\n Listen,\n EventEmitter,\n Event,\n ComponentInterface,\n Watch,\n Fragment,\n Method,\n} from '@stencil/core';\nimport { createGuid, isEventFromElement, overrideFocus, labelDOM } from 'src/utils';\n\n@Component({ tag: 'q2-radio-group', shadow: true, styleUrl: 'q2-radio-group.scss' })\nexport class Q2RadioGroup implements ComponentInterface {\n /** Determines if all radios in the group are put into a `disabled` state. */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /** Determines if the component should display in an errant state. */\n @Prop({ reflect: true }) hasError: boolean = false;\n\n /**\n * Hide's the group's `<label>` element from view.\n * @warning\n * Only use when a visible label is impractical.\n */\n @Prop({ reflect: true, mutable: true }) hideLabel: boolean;\n\n /**\n * Text for the fieldset legend describing the radio group.\n * @localizable\n */\n @Prop({ reflect: true }) label: string;\n\n /** Identifier which ties all radios together for accessibility and DOM selection. */\n @Prop({ reflect: true }) name: string;\n\n /** Appends \"(optional)\" to the group label, and sets `aria-required` on the nested input tag to `false`. */\n @Prop({ reflect: true }) optional: boolean;\n\n /** Determines if all radios in the group can be focused, but not interacted with. */\n @Prop({ reflect: true }) readonly: boolean;\n\n /** Provides alignment direction for tile-style radio group. */\n @Prop({ reflect: true }) tileAlignment: 'left' | 'center' | 'right' = 'center';\n\n /** Show the radio group as a horizontal set of tiles. */\n @Prop({ reflect: true, mutable: true }) tileLayout: boolean;\n\n /** The `value` of the currently selected `q2-radio` within the `q2-radio-group`. */\n @Prop({ mutable: true }) value: string;\n\n /** @deprecated */\n @Prop({ reflect: true, mutable: true }) tilelayout: boolean;\n\n @Element() hostElement: HTMLElement;\n _id: string = `radio-group-${createGuid()}`;\n mutationObserver: MutationObserver;\n\n get inputId() {\n return this._id;\n }\n\n get radioElements() {\n return Array.from(this.hostElement.querySelectorAll('q2-radio')) as HTMLQ2RadioElement[];\n }\n\n onMutationObserved = () => {\n this.valueUpdated(this.value);\n this.nameUpdated();\n this.disabledUpdated();\n this.readonlyUpdated();\n this.tileLayoutUpdated(this.tileLayout);\n };\n\n onInnerRadioChange = (event: CustomEvent) => {\n event.stopImmediatePropagation();\n if (this.readonly) return;\n\n this.change.emit({ value: event.detail.value });\n };\n\n checkedRadioExists = () => {\n // Returns first checked individual q2-radio or undefined if none are set to checked={true}\n const firstCheckedRadio = this.radioElements.find(radio => radio.checked === true) || undefined;\n\n // Changes radio-group[\"value\"] if inital value is not set and if a any individual q2-radio is checked\n if (!this.value && !!firstCheckedRadio) {\n this.value = firstCheckedRadio.value;\n } else if (!this.value && !firstCheckedRadio) {\n // if no radios are meant to be checked, then assign first radio tabIndex of 0\n if (this.radioElements.length) this.radioElements[0].tabIndex = 0;\n }\n };\n\n /////// LIFECYCLE HOOK ///////\n componentWillLoad() {\n this.checkedRadioExists();\n this.onMutationObserved();\n this.handleDeprecatedTilelayout(this.tilelayout);\n }\n\n componentDidLoad() {\n const observer = new MutationObserver(this.onMutationObserved);\n observer.observe(this.hostElement, { childList: true });\n this.mutationObserver = observer;\n overrideFocus(this.hostElement);\n this.checkedRadioExists();\n }\n\n /////// OBSERVERS ///////\n\n @Watch('value')\n valueUpdated(newVal: string) {\n this.radioElements.forEach(radio => {\n radio.checked = newVal === radio.value;\n // Removes checked attribute from trailing radios, if multiple individual radio's are intially checked (checked={true}) at componentDidLoad\n if (!radio.checked) {\n radio.removeAttribute('checked');\n radio.tabIndex = -1;\n } else if (radio.checked) {\n radio.tabIndex = 0;\n }\n });\n }\n\n @Watch('name')\n nameUpdated() {\n this.radioElements.forEach(radio => {\n radio.name = this.name || this._id;\n });\n }\n\n @Watch('disabled')\n disabledUpdated() {\n this.radioElements.forEach(radio => {\n radio.groupDisabled = this.disabled;\n });\n }\n\n @Watch('readonly')\n readonlyUpdated() {\n const readonly = this.readonly;\n this.radioElements.forEach(radio => (radio.groupReadonly = readonly));\n }\n\n @Watch('tilelayout')\n handleDeprecatedTilelayout(tilelayout: boolean) {\n if (typeof tilelayout !== 'boolean') return;\n this.tileLayout = tilelayout;\n this.tilelayout = undefined;\n }\n\n @Watch('tileLayout')\n tileLayoutUpdated(tileLayout: boolean) {\n this.radioElements.forEach(radio => {\n radio.groupTileLayout = tileLayout;\n });\n }\n\n /// Methods ///\n /**\n * Emulates clicking the `<q2-radio>` option with the provided value.\n *\n * @testOnly\n */\n @Method()\n setValue(value: string) {\n this.radioElements.forEach(radio => {\n if (value !== radio.value) return;\n radio.click();\n });\n }\n\n /////// HOST ELEMENT EVENTS ///////\n\n /**\n * Emitted when the value of the radio group changes.\n * @legacyEvent\n */\n @Event() change: EventEmitter<{ value: string }>;\n\n @Listen('change')\n onHostElementChange(event: CustomEvent) {\n if (event.target === this.hostElement) {\n if (!this.hostElement.onchange) {\n this.value = event.detail.value;\n }\n }\n }\n\n @Listen('focus')\n delegateFocus(event: FocusEvent) {\n if (!isEventFromElement(event, this.hostElement)) return;\n const radio = this.hostElement.querySelector('q2-radio[checked]') || this.hostElement.querySelector('q2-radio');\n radio?.dispatchEvent(new FocusEvent('focus'));\n }\n\n @Listen('keydown')\n keydownHandler(event: KeyboardEvent) {\n const currentValue = (event.target as HTMLElement).getAttribute('value') || this.value;\n let index = this.radioElements.findIndex(\n el => el === event.target || (el as HTMLElement).getAttribute('value') === currentValue\n );\n let sign = 0;\n switch (event.key) {\n case 'ArrowLeft':\n case 'ArrowUp':\n sign = -1;\n break;\n\n case 'ArrowRight':\n case 'ArrowDown':\n sign = 1;\n break;\n }\n\n if (index === -1 || sign === 0) {\n return;\n }\n index += sign;\n index = sign < 0 ? Math.max(0, index) : Math.min(this.radioElements.length - 1, index);\n event.preventDefault();\n if (!this.readonly) {\n this.value = this.radioElements[index].value;\n }\n this.radioElements[index].dispatchEvent(new FocusEvent('focus'));\n }\n\n render() {\n const showLabel = this.label || this.optional || this.readonly;\n const { hasError } = this;\n const showLabelRow = showLabel || hasError;\n return (\n <Fragment>\n {showLabelRow && (\n <div class=\"label-row\">\n {showLabel && <div class=\"group-legend\">{labelDOM(this)}</div>}\n {hasError && (\n <q2-icon\n type=\"error\"\n test-id=\"iconError\"\n ></q2-icon>\n )}\n </div>\n )}\n <fieldset\n onChange={this.onInnerRadioChange}\n aria-invalid={`${this.hasError}`}\n >\n {showLabel && <legend class=\"sr\">{labelDOM(this)}</legend>}\n {this.inputDom()}\n </fieldset>\n </Fragment>\n );\n }\n\n inputDom() {\n if (this.tileLayout) {\n const { tileAlignment } = this;\n const alignment = ['left', 'center', 'right'].includes(tileAlignment) ? tileAlignment : 'center';\n return (\n <div class={`tile-container ${alignment}`}>\n <div class=\"options-container\">\n <slot />\n </div>\n </div>\n );\n } else {\n return (\n <div class=\"options-container\">\n <slot />\n </div>\n );\n }\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["q2RadioGroupCss","Q2RadioGroupStyle0","Q2RadioGroup","this","_id","createGuid","onMutationObserved","valueUpdated","value","nameUpdated","disabledUpdated","readonlyUpdated","tileLayoutUpdated","tileLayout","onInnerRadioChange","event","stopImmediatePropagation","readonly","change","emit","detail","checkedRadioExists","firstCheckedRadio","radioElements","find","radio","checked","undefined","length","tabIndex","inputId","Array","from","hostElement","querySelectorAll","componentWillLoad","handleDeprecatedTilelayout","tilelayout","componentDidLoad","observer","MutationObserver","observe","childList","mutationObserver","overrideFocus","newVal","forEach","removeAttribute","name","groupDisabled","disabled","groupReadonly","groupTileLayout","setValue","click","onHostElementChange","target","onchange","delegateFocus","isEventFromElement","querySelector","dispatchEvent","FocusEvent","keydownHandler","currentValue","getAttribute","index","findIndex","el","sign","key","Math","max","min","preventDefault","render","showLabel","label","optional","hasError","showLabelRow","h","Fragment","class","labelDOM","type","onChange","inputDom","tileAlignment","alignment","includes"],"sources":["src/components/q2-radio-group/q2-radio-group.scss?tag=q2-radio-group&encapsulation=shadow","src/components/q2-radio-group/q2-radio-group.tsx"],"sourcesContent":["@import '../../styles/host.scss';\n@import '../../styles/functions';\n\n:host {\n margin-top: var-list(--tct-scale-2, --app-scale-2x, 10px);\n}\n\nfieldset {\n padding: 0;\n margin: 0;\n border: 0;\n position: relative;\n}\n\n.label-row {\n display: grid;\n grid-template-columns: 1fr 24px;\n grid-template-areas: 'label icon';\n gap: var-list(--app-scale-1x, 5px);\n\n q2-icon {\n grid-area: icon;\n margin-top: -2px;\n margin-bottom: -2px;\n }\n}\n\n.group-legend {\n font-weight: 600;\n}\n\n.optional-tag {\n margin-left: var-list(var-prefixer(input-label-optional-margin-left), --tct-scale-1, --app-scale-1x, 5px);\n color: var-list(\n var-prefixer(input-label-optional-font-color),\n --t-textA,\n --t-a11y-gray-color,\n rgba(77, 77, 77, 0.77)\n );\n font-size: var-list(var-prefixer(input-label-optional-font-size), 12px);\n font-weight: var-list(var-prefixer(input-label-optional-font-weight), 400);\n}\n\n.tile-container {\n &,\n .options-container {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-wrap: wrap;\n flex-grow: 1;\n }\n}\n\n.options-container {\n --comp-default-margin: #{var-list(--app-scale-1x, 5px)} 0;\n --comp-options-margin: #{var-list(var-prefixer(radio-group-options-margin), --comp-default-margin, unquote('5px 0'))};\n margin: var(--comp-options-margin);\n padding: var-list(var-prefixer(radio-group-options-padding), --app-scale-1x, 5px);\n border-width: 1px;\n border-color: transparent;\n border-style: solid;\n border-radius: var-list(--tct-border-radius-1, --app-border-radius-1, 2px);\n\n :host([has-error]) & {\n border-color: var-list(--tct-input-error-border-color, --const-stoplight-alert, #d20a0a);\n }\n :host([has-error='false']) & {\n border-color: transparent;\n }\n}\n\n.tile-container {\n &.left {\n justify-content: start;\n }\n &.right {\n justify-content: end;\n }\n\n .options-container {\n gap: var-list(var-prefixer(radio-group-tile-gap), --app-scale-2x, 10px);\n justify-content: inherit;\n }\n}\n","import {\n Component,\n Prop,\n Element,\n h,\n Listen,\n EventEmitter,\n Event,\n ComponentInterface,\n Watch,\n Fragment,\n Method,\n} from '@stencil/core';\nimport { createGuid, isEventFromElement, overrideFocus, labelDOM } from 'src/utils';\n\n@Component({ tag: 'q2-radio-group', shadow: true, styleUrl: 'q2-radio-group.scss' })\nexport class Q2RadioGroup implements ComponentInterface {\n /** Determines if all radios in the group are put into a `disabled` state. */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /** Determines if the component should display in an errant state. */\n @Prop({ reflect: true }) hasError: boolean = false;\n\n /**\n * Hide's the group's `<label>` element from view.\n * @warning\n * Only use when a visible label is impractical.\n */\n @Prop({ reflect: true, mutable: true }) hideLabel: boolean;\n\n /**\n * Text for the fieldset legend describing the radio group.\n * @localizable\n */\n @Prop({ reflect: true }) label: string;\n\n /** Identifier which ties all radios together for accessibility and DOM selection. */\n @Prop({ reflect: true }) name: string;\n\n /** Appends \"(optional)\" to the group label, and sets `aria-required` on the nested input tag to `false`. */\n @Prop({ reflect: true }) optional: boolean;\n\n /** Determines if all radios in the group can be focused, but not interacted with. */\n @Prop({ reflect: true }) readonly: boolean;\n\n /** Provides alignment direction for tile-style radio group. */\n @Prop({ reflect: true }) tileAlignment: 'left' | 'center' | 'right' = 'center';\n\n /** Show the radio group as a horizontal set of tiles. */\n @Prop({ reflect: true, mutable: true }) tileLayout: boolean;\n\n /** The `value` of the currently selected `q2-radio` within the `q2-radio-group`. */\n @Prop({ mutable: true }) value: string;\n\n /** @deprecated */\n @Prop({ reflect: true, mutable: true }) tilelayout: boolean;\n\n @Element() hostElement: HTMLElement;\n _id: string = `radio-group-${createGuid()}`;\n mutationObserver: MutationObserver;\n\n get inputId() {\n return this._id;\n }\n\n get radioElements() {\n return Array.from(this.hostElement.querySelectorAll('q2-radio')) as HTMLQ2RadioElement[];\n }\n\n onMutationObserved = () => {\n this.valueUpdated(this.value);\n this.nameUpdated();\n this.disabledUpdated();\n this.readonlyUpdated();\n this.tileLayoutUpdated(this.tileLayout);\n };\n\n onInnerRadioChange = (event: CustomEvent) => {\n event.stopImmediatePropagation();\n if (this.readonly) return;\n\n this.change.emit({ value: event.detail.value });\n };\n\n checkedRadioExists = () => {\n // Returns first checked individual q2-radio or undefined if none are set to checked={true}\n const firstCheckedRadio = this.radioElements.find(radio => radio.checked === true) || undefined;\n\n // Changes radio-group[\"value\"] if inital value is not set and if a any individual q2-radio is checked\n if (!this.value && !!firstCheckedRadio) {\n this.value = firstCheckedRadio.value;\n } else if (!this.value && !firstCheckedRadio) {\n // if no radios are meant to be checked, then assign first radio tabIndex of 0\n if (this.radioElements.length) this.radioElements[0].tabIndex = 0;\n }\n };\n\n /////// LIFECYCLE HOOK ///////\n componentWillLoad() {\n this.checkedRadioExists();\n this.onMutationObserved();\n this.handleDeprecatedTilelayout(this.tilelayout);\n }\n\n componentDidLoad() {\n const observer = new MutationObserver(this.onMutationObserved);\n observer.observe(this.hostElement, { childList: true });\n this.mutationObserver = observer;\n overrideFocus(this.hostElement);\n this.checkedRadioExists();\n }\n\n /////// OBSERVERS ///////\n\n @Watch('value')\n valueUpdated(newVal: string) {\n this.radioElements.forEach(radio => {\n radio.checked = newVal === radio.value;\n // Removes checked attribute from trailing radios, if multiple individual radio's are intially checked (checked={true}) at componentDidLoad\n if (!radio.checked) {\n radio.removeAttribute('checked');\n radio.tabIndex = -1;\n } else if (radio.checked) {\n radio.tabIndex = 0;\n }\n });\n }\n\n @Watch('name')\n nameUpdated() {\n this.radioElements.forEach(radio => {\n radio.name = this.name || this._id;\n });\n }\n\n @Watch('disabled')\n disabledUpdated() {\n this.radioElements.forEach(radio => {\n radio.groupDisabled = this.disabled;\n });\n }\n\n @Watch('readonly')\n readonlyUpdated() {\n const readonly = this.readonly;\n this.radioElements.forEach(radio => (radio.groupReadonly = readonly));\n }\n\n @Watch('tilelayout')\n handleDeprecatedTilelayout(tilelayout: boolean) {\n if (typeof tilelayout !== 'boolean') return;\n this.tileLayout = tilelayout;\n this.tilelayout = undefined;\n }\n\n @Watch('tileLayout')\n tileLayoutUpdated(tileLayout: boolean) {\n this.radioElements.forEach(radio => {\n radio.groupTileLayout = tileLayout;\n });\n }\n\n /// Methods ///\n /**\n * Emulates clicking the `<q2-radio>` option with the provided value.\n *\n * @testOnly\n */\n @Method()\n setValue(value: string) {\n this.radioElements.forEach(radio => {\n if (value !== radio.value) return;\n radio.click();\n });\n }\n\n /////// HOST ELEMENT EVENTS ///////\n\n /**\n * Emitted when the value of the radio group changes.\n * @legacyEvent\n */\n @Event() change: EventEmitter<{ value: string }>;\n\n @Listen('change')\n onHostElementChange(event: CustomEvent) {\n if (event.target === this.hostElement) {\n if (!this.hostElement.onchange) {\n this.value = event.detail.value;\n }\n }\n }\n\n @Listen('focus')\n delegateFocus(event: FocusEvent) {\n if (!isEventFromElement(event, this.hostElement)) return;\n const radio = this.hostElement.querySelector('q2-radio[checked]') || this.hostElement.querySelector('q2-radio');\n radio?.dispatchEvent(new FocusEvent('focus'));\n }\n\n @Listen('keydown')\n keydownHandler(event: KeyboardEvent) {\n const currentValue = (event.target as HTMLElement).getAttribute('value') || this.value;\n let index = this.radioElements.findIndex(\n el => el === event.target || (el as HTMLElement).getAttribute('value') === currentValue\n );\n let sign = 0;\n switch (event.key) {\n case 'ArrowLeft':\n case 'ArrowUp':\n sign = -1;\n break;\n\n case 'ArrowRight':\n case 'ArrowDown':\n sign = 1;\n break;\n }\n\n if (index === -1 || sign === 0) {\n return;\n }\n index += sign;\n index = sign < 0 ? Math.max(0, index) : Math.min(this.radioElements.length - 1, index);\n event.preventDefault();\n if (!this.readonly) {\n this.value = this.radioElements[index].value;\n }\n this.radioElements[index].dispatchEvent(new FocusEvent('focus'));\n }\n\n render() {\n const showLabel = this.label || this.optional || this.readonly;\n const { hasError } = this;\n const showLabelRow = showLabel || hasError;\n return (\n <Fragment>\n {showLabelRow && (\n <div class=\"label-row\">\n {showLabel && <div class=\"group-legend\">{labelDOM(this)}</div>}\n {hasError && (\n <q2-icon\n type=\"error\"\n test-id=\"iconError\"\n ></q2-icon>\n )}\n </div>\n )}\n <fieldset\n onChange={this.onInnerRadioChange}\n aria-invalid={`${this.hasError}`}\n >\n {showLabel && <legend class=\"sr\">{labelDOM(this)}</legend>}\n {this.inputDom()}\n </fieldset>\n </Fragment>\n );\n }\n\n inputDom() {\n if (this.tileLayout) {\n const { tileAlignment } = this;\n const alignment = ['left', 'center', 'right'].includes(tileAlignment) ? tileAlignment : 'center';\n return (\n <div class={`tile-container ${alignment}`}>\n <div class=\"options-container\">\n <slot />\n </div>\n </div>\n );\n } else {\n return (\n <div class=\"options-container\">\n <slot />\n </div>\n );\n }\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as t,c as e,h as n,g as o}from"./p-a5f18e27.js";import{l as a,o as i}from"./p-
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{r as t,c as e,h as n,g as o}from"./p-a5f18e27.js";import{l as a,o as i}from"./p-42302f6f.js";const r="*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-double-focus-ring, 0 0 0 2px #ffffff, 0 0 0 4px #0066cc)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size:inherit;font-stretch:inherit}:host(.sr),:host(.sr) button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sr,.sr button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none}:host([hidden]){display:none}.invisible{visibility:hidden}.month-container{--comp-month-primary-background:var(--tct-btn-primary-background, var(--tct-btn-primary-bg, var(--t-btn-primary-bg, #2e2e2e)));--comp-month-primary-font-color:var(--tct-btn-primary-font-color, var(--t-btn-primary-font-color, var(--tct-white, var(--app-white, #ffffff))));--comp-month-primary-background:var(--tct-btn-secondary-background, var(--tct-btn-secondary-bg, var(--t-button-default-bg, #cccccc)));--comp-month-secondary-font-color:var(--tct-btn-secondary-font-color, var(--t-btn-secondary-font-color, var(--t-button-default-font-color, #2e2e2e)))}.month-container .navigation{display:flex;justify-content:space-between;flex-direction:row}.month-container .navigation .year-btn{padding:0 1rem;display:flex;align-items:center}.month-container .navigation .year-btn .year{margin-right:0.2rem}.month-container .navigation .year-btn .year-icon{--t-icon-stroke-width:2px;width:16px;height:16px;transition:all 0.3s ease-in-out}.month-container .navigation .year-btn .year-icon.on{transform:rotate(-180deg)}.month-container .navigation .month-controller{display:flex;align-items:center}.month-container .month-list{display:grid;grid-template-columns:auto auto auto}.month-container .month-list .month{display:flex;justify-content:center;align-items:center;padding:0.5rem 0}.month-container .month-list .month .month-button{border-radius:50%;aspect-ratio:1;width:50px;display:flex;justify-content:center;align-items:center}.month-container .month-list .month .month-button:hover{background:var(--comp-month-primary-background);color:var(--comp-month-secondary-font-color);cursor:pointer}.month-container .month-list .month .month-button:active,.month-container .month-list .month .month-button.active{background:var(--comp-month-primary-background);color:var(--comp-month-primary-font-color)}.month-container .today-label{padding:0.5rem 0;color:var(--tct-calendar-day-selected-outline-color, var(--t-calendar-day-selected-outline-color, var(--tct-stoplight-info, var(--const-stoplight-info, #0079c1))))}";const c=r;const s=class{constructor(n){t(this,n);this.viewChange=e(this,"viewChange",7);this.toggleChange=e(this,"toggleChange",7);this.scheduledAfterRender=[];this.monthGrid=[[0,1,2],[3,4,5],[6,7,8],[9,10,11]];this.months=["January","February","March","April","May","June","July","August","September","October","November","December"].map((t=>({label:a(`tecton.element.calendar.months.${t}`),abbr:a(`tecton.element.calendar.months.abbr.${t}`)})));this.onMonthSelection=t=>{var e,n;const o=t.target.closest(".month-button");if((e=o===null||o===void 0?void 0:o.dataset)===null||e===void 0?void 0:e.index){this.selectMonth(Number((n=o===null||o===void 0?void 0:o.dataset)===null||n===void 0?void 0:n.index))}};this.onMonthKeydown=t=>{if(t.key==="Escape"||t.key==="Esc"){this.toggleChange.emit({close:true});return}const e=t.target.dataset.index;if(!e)return;if(t.key==="Enter"||t.key===" "){t.preventDefault();t.stopPropagation();this.selectMonth(Number(e))}else{const n=this.moveMonth(this.monthGrid,Number(e),t);this.focusMonth(n)}};this.moveMonth=(t,e,n)=>{const o=t.length;const a=t[0].length;const i=Math.floor(e/a);const r=e%a;const c=[i,r];if(n.key==="ArrowUp"){n.stopPropagation();n.preventDefault();return t[Math.max(0,c[0]-1)][c[1]]}else if(n.key==="ArrowDown"){n.stopPropagation();n.preventDefault();return t[Math.min(o-1,c[0]+1)][c[1]]}else if(n.key==="ArrowLeft"){n.stopPropagation();n.preventDefault();return Math.max(0,e-1)}else if(n.key==="ArrowRight"){n.stopPropagation();n.preventDefault();return Math.min(this.months.length-1,e+1)}else{return t[c[0]][c[1]]}};this.focusMonth=t=>{const e=this.hostElement.shadowRoot.querySelector(`.month-button[data-index="${t}"]`);if(e){this.focusedIndex=t;e.focus()}};this.selectMonth=t=>{var e,n,o;this.selectedIndex=t;this.focusedIndex=t;const a=this.hostElement.shadowRoot.querySelector(`.month-button[data-index="${t}"]`);(e=this.hostElement.shadowRoot.querySelectorAll(`.month-button`))===null||e===void 0?void 0:e.forEach((t=>t.classList.remove("active")));a===null||a===void 0?void 0:a.classList.add("active");a===null||a===void 0?void 0:a.focus();const i={view:"day",monthIndex:t,selectedYear:this.year};(o=(n=this.hostElement).onchange)===null||o===void 0?void 0:o.call(n,new CustomEvent("click",{bubbles:true,detail:i}));this.viewChange.emit(i)};this.selectYear=t=>{this.year=Math.max(1970,t)};this.year=Number((new Date).toLocaleString("en-US",{year:"numeric"}));this.disabledMonths=undefined;this.today=undefined;this.selectedIndex=0;this.focusedIndex=0;this.showYearLayer=false}componentDidRender(){var t;(t=this.scheduledAfterRender)===null||t===void 0?void 0:t.forEach((t=>t()));this.scheduledAfterRender=[]}componentDidLoad(){i(this.hostElement)}render(){return n("div",{key:"9a58edaff34f92a675f9df129f843c21cb0d271d",class:"month-container",onKeyDown:this.onMonthKeydown},n("div",{key:"0903f95ddacd18a43ca7219bc4cf610dd6386304",class:"navigation"},n("q2-btn",{key:"54df6360507c598ab40592eb63e2412e8f571fb3",class:"year-btn",onClick:()=>this.viewChange.emit({view:"year",selectedYear:this.year})},n("span",{key:"bbb1a38a4e5a7a22a449700d2b9cb1ceadf52c29",class:"year"},this.year),n("q2-icon",{key:"eeccf64f25a569491e1a02f248e160e9ff8e769b",class:"year-icon off",type:"chevron-down"})),n("div",{key:"de47dff959e5f3459c716e2f5d54aa911007e97e",class:"month-controller"},n("div",{key:"5f8fcd7cce3a14e3f4edb0b060ba72d429a44cea",class:"cal-year-prev-next"},n("q2-btn",{key:"18482f30f6905d858f59f00a073622b3fe40d45c",label:a("tecton.element.calendar.previousYear"),"hide-label":true,class:"cal-nav-btn prev-year","test-id":"previousYearButton",onClick:()=>this.selectYear(this.year-1)},n("q2-icon",{key:"5daeea35c3a1af290bc65468f3f423b4765eb624",type:"arrow-left"})),n("q2-btn",{key:"a2ea40ba55c61c7a80e50fc205e12940f40dd3e8",label:a("tecton.element.calendar.nextYear"),"hide-label":true,class:"cal-nav-btn next-year","test-id":"nextYearButton",onClick:()=>this.selectYear(this.year+1)},n("q2-icon",{key:"05df41c89607c8efa7d645108c0ac6101a35f114",type:"arrow-right"}))))),n("div",{key:"d46cba38180a70b7f1468fa34bafd6c04c5dd487",class:"month-list",onClick:this.onMonthSelection},this.months.map(((t,e)=>n("div",{class:"month"},n("span",{role:"button",class:"month-button","data-index":e,"aria-label":t.label,tabindex:e===this.focusedIndex?0:-1},t.abbr))))),this.today&&n("div",{key:"24a1512f07d15a78ca900e6e5625fed2eda76ab7",class:"today-label"},a("tecton.element.calendar.today"),": ",this.today))}get hostElement(){return o(this)}};s.style=c;export{s as q2_month_picker};
|
|
2
|
+
//# sourceMappingURL=p-57bf9342.entry.js.map
|