q2-tecton-elements 1.49.2 → 1.50.1
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-42fcd170.js → index-43010ce4.js} +1 -1
- package/dist/cjs/{index-42fcd170.js.map → index-43010ce4.js.map} +1 -1
- package/dist/cjs/index-64d8b839.js +1580 -0
- package/dist/cjs/index-64d8b839.js.map +1 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/q2-action-sheet.cjs.entry.js +5 -5
- package/dist/cjs/q2-action-sheet.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-avatar.cjs.entry.js +1 -1
- package/dist/cjs/{q2-input.cjs.entry.js → q2-badge_7.cjs.entry.js} +1284 -3
- package/dist/cjs/q2-badge_7.cjs.entry.js.map +1 -0
- package/dist/cjs/q2-calendar.cjs.entry.js +3 -3
- 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 +3 -3
- package/dist/cjs/q2-carousel-pane.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-carousel.cjs.entry.js +131 -149
- package/dist/cjs/q2-carousel.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-chart-area.cjs.entry.js +3 -3
- package/dist/cjs/q2-chart-area.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-chart-bar.cjs.entry.js +3 -3
- package/dist/cjs/q2-chart-bar.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-chart-donut.cjs.entry.js +2 -2
- package/dist/cjs/q2-checkbox-group.cjs.entry.js +2 -2
- package/dist/cjs/q2-checkbox.cjs.entry.js +2 -2
- package/dist/cjs/q2-currency.cjs.entry.js +1 -1
- package/dist/cjs/q2-data-table.cjs.entry.js +62 -2
- 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-dropdown-item.cjs.entry.js +11 -13
- package/dist/cjs/q2-dropdown-item.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-dropdown.cjs.entry.js +62 -58
- package/dist/cjs/q2-dropdown.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-editable-field.cjs.entry.js +4 -4
- package/dist/cjs/q2-editable-field.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-item.cjs.entry.js +3 -3
- package/dist/cjs/q2-item.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-legend.cjs.entry.js +2 -2
- package/dist/cjs/q2-legend.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-list.cjs.entry.js +2 -2
- package/dist/cjs/q2-loc.cjs.entry.js +2 -2
- package/dist/cjs/q2-message.cjs.entry.js +2 -2
- package/dist/cjs/q2-month-picker.cjs.entry.js +3 -3
- package/dist/cjs/q2-optgroup.cjs.entry.js +2 -2
- package/dist/cjs/q2-option-list.cjs.entry.js +13 -11
- package/dist/cjs/q2-option-list.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-option.cjs.entry.js +1 -1
- package/dist/cjs/q2-pagination.cjs.entry.js +3 -3
- package/dist/cjs/q2-pill.cjs.entry.js +95 -36
- package/dist/cjs/q2-pill.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-radio-group.cjs.entry.js +2 -2
- package/dist/cjs/q2-radio.cjs.entry.js +2 -2
- package/dist/cjs/q2-relative-time.cjs.entry.js +3 -3
- package/dist/cjs/q2-section.cjs.entry.js +4 -4
- package/dist/cjs/q2-section.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-select.cjs.entry.js +19 -18
- package/dist/cjs/q2-select.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-stepper-pane.cjs.entry.js +2 -2
- package/dist/cjs/q2-stepper-vertical.cjs.entry.js +2 -2
- package/dist/cjs/q2-stepper.cjs.entry.js +2 -2
- package/dist/cjs/q2-tag.cjs.entry.js +33 -6
- 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-tooltip.cjs.entry.js +1 -1
- package/dist/cjs/tecton-tab-pane.cjs.entry.js +2 -2
- package/dist/collection/collection-manifest.json +7 -8
- package/dist/collection/components/click-elsewhere/click-elsewhere.js.map +1 -1
- package/dist/{test/elements → collection/components/click-elsewhere/test}/click-elsewhere-test.e2e.js +1 -1
- package/dist/collection/components/click-elsewhere/test/click-elsewhere-test.e2e.js.map +1 -0
- package/dist/collection/components/q2-action-sheet/q2-action-sheet.js +5 -5
- package/dist/collection/components/q2-action-sheet/q2-action-sheet.js.map +1 -1
- package/dist/{test/elements → collection/components/q2-action-sheet/test}/q2-action-sheet-test.e2e.js +29 -1
- package/dist/collection/components/q2-action-sheet/test/q2-action-sheet-test.e2e.js.map +1 -0
- package/dist/collection/components/q2-avatar/q2-avatar.js +1 -1
- package/dist/collection/components/q2-avatar/q2-avatar.js.map +1 -1
- package/dist/{test/elements → collection/components/q2-avatar/test}/q2-avatar-test.e2e.js +1 -1
- package/dist/collection/components/q2-avatar/test/q2-avatar-test.e2e.js.map +1 -0
- package/dist/collection/components/q2-badge/q2-badge.js +0 -1
- package/dist/collection/components/q2-badge/q2-badge.js.map +1 -1
- package/dist/{test/elements → collection/components/q2-badge/test}/q2-badge-test.e2e.js +1 -1
- package/dist/collection/components/q2-badge/test/q2-badge-test.e2e.js.map +1 -0
- package/dist/collection/components/q2-btn/q2-btn.css +1 -0
- package/dist/collection/components/q2-btn/q2-btn.js +3 -15
- package/dist/collection/components/q2-btn/q2-btn.js.map +1 -1
- package/dist/{test/elements → collection/components/q2-btn/test}/q2-btn-test.e2e.js +36 -1
- package/dist/collection/components/q2-btn/test/q2-btn-test.e2e.js.map +1 -0
- package/dist/collection/components/q2-calendar/q2-calendar-helpers.js.map +1 -1
- package/dist/collection/components/q2-calendar/q2-calendar-types.js.map +1 -1
- package/dist/collection/components/q2-calendar/q2-calendar-validation.js.map +1 -1
- package/dist/collection/components/q2-calendar/q2-calendar.js +1 -1
- package/dist/collection/components/q2-calendar/q2-calendar.js.map +1 -1
- package/dist/collection/components/q2-calendar/q2-month-picker.js +2 -2
- package/dist/collection/components/q2-calendar/q2-month-picker.js.map +1 -1
- package/dist/{test/elements/q2-calendar → collection/components/q2-calendar/test}/helpers-test.e2e.js +2 -2
- package/dist/collection/components/q2-calendar/test/helpers-test.e2e.js.map +1 -0
- package/dist/{test/elements → collection/components/q2-calendar/test}/q2-calendar-month-picker-test.e2e.js +1 -1
- package/dist/collection/components/q2-calendar/test/q2-calendar-month-picker-test.e2e.js.map +1 -0
- package/dist/{test/elements → collection/components/q2-calendar/test}/q2-calendar-test.e2e.js +3 -3
- package/dist/collection/components/q2-calendar/test/q2-calendar-test.e2e.js.map +1 -0
- package/dist/{test/elements/q2-calendar → collection/components/q2-calendar/test}/validation-test.e2e.js +2 -2
- package/dist/collection/components/q2-calendar/test/validation-test.e2e.js.map +1 -0
- package/dist/collection/components/q2-card/q2-card.js.map +1 -1
- package/dist/{test/elements → collection/components/q2-card/test}/q2-card-test.e2e.js +1 -1
- package/dist/collection/components/q2-card/test/q2-card-test.e2e.js.map +1 -0
- package/dist/collection/components/q2-carousel/q2-carousel.js +190 -164
- package/dist/collection/components/q2-carousel/q2-carousel.js.map +1 -1
- package/dist/{test/elements → collection/components/q2-carousel/test}/q2-carousel-test.e2e.js +175 -188
- package/dist/collection/components/q2-carousel/test/q2-carousel-test.e2e.js.map +1 -0
- package/dist/collection/components/q2-carousel-pane/q2-carousel-pane.js +5 -5
- package/dist/collection/components/q2-carousel-pane/q2-carousel-pane.js.map +1 -1
- package/dist/{test/elements → collection/components/q2-carousel-pane/test}/q2-carousel-pane-test.e2e.js +1 -1
- package/dist/collection/components/q2-carousel-pane/test/q2-carousel-pane-test.e2e.js.map +1 -0
- package/dist/{test/elements → collection/components/q2-carousel-pane/test}/q2-carousel-pane-test.spec.js +1 -1
- package/dist/collection/components/q2-carousel-pane/test/q2-carousel-pane-test.spec.js.map +1 -0
- package/dist/collection/components/q2-chart-area/q2-chart-area.js +20 -20
- package/dist/collection/components/q2-chart-area/q2-chart-area.js.map +1 -1
- package/dist/{test/elements → collection/components/q2-chart-area/test}/q2-chart-area-test.e2e.js +1 -1
- package/dist/collection/components/q2-chart-area/test/q2-chart-area-test.e2e.js.map +1 -0
- package/dist/collection/components/q2-chart-bar/q2-chart-bar.js +20 -20
- package/dist/collection/components/q2-chart-bar/q2-chart-bar.js.map +1 -1
- package/dist/{test/elements → collection/components/q2-chart-bar/test}/q2-chart-bar-test.e2e.js +1 -1
- package/dist/collection/components/q2-chart-bar/test/q2-chart-bar-test.e2e.js.map +1 -0
- package/dist/collection/components/q2-chart-donut/q2-chart-donut.js +1 -1
- package/dist/collection/components/q2-chart-donut/q2-chart-donut.js.map +1 -1
- package/dist/{test/elements → collection/components/q2-chart-donut/test}/q2-chart-donut-test.e2e.js +1 -1
- package/dist/collection/components/q2-chart-donut/test/q2-chart-donut-test.e2e.js.map +1 -0
- package/dist/collection/components/q2-checkbox/q2-checkbox.js +1 -1
- package/dist/collection/components/q2-checkbox/q2-checkbox.js.map +1 -1
- package/dist/{test/elements → collection/components/q2-checkbox/test}/q2-checkbox-test.e2e.js +1 -1
- package/dist/collection/components/q2-checkbox/test/q2-checkbox-test.e2e.js.map +1 -0
- package/dist/collection/components/q2-checkbox-group/q2-checkbox-group.js +1 -1
- package/dist/collection/components/q2-checkbox-group/q2-checkbox-group.js.map +1 -1
- package/dist/{test/elements → collection/components/q2-checkbox-group/test}/q2-checkbox-group-test.e2e.js +1 -1
- package/dist/collection/components/q2-checkbox-group/test/q2-checkbox-group-test.e2e.js.map +1 -0
- package/dist/collection/components/q2-currency/q2-currency.js +1 -1
- package/dist/collection/components/q2-currency/q2-currency.js.map +1 -1
- package/dist/{test/elements → collection/components/q2-currency/test}/q2-currency-test.e2e.js +2 -2
- package/dist/collection/components/q2-currency/test/q2-currency-test.e2e.js.map +1 -0
- package/dist/collection/components/q2-data-table/q2-data-table.js +240 -7
- package/dist/collection/components/q2-data-table/q2-data-table.js.map +1 -1
- package/dist/{test/elements → collection/components/q2-data-table/test}/q2-data-table-test.e2e.js +64 -2
- package/dist/collection/components/q2-data-table/test/q2-data-table-test.e2e.js.map +1 -0
- package/dist/collection/components/q2-detail/q2-detail.js +1 -1
- package/dist/collection/components/q2-detail/q2-detail.js.map +1 -1
- package/dist/{test/elements/q2-detail → collection/components/q2-detail/test}/q2-detail-test.e2e.js +3 -3
- package/dist/collection/components/q2-detail/test/q2-detail-test.e2e.js.map +1 -0
- package/dist/collection/components/q2-dropdown/q2-dropdown.js +65 -57
- package/dist/collection/components/q2-dropdown/q2-dropdown.js.map +1 -1
- package/dist/{test/elements → collection/components/q2-dropdown/test}/q2-dropdown-test.e2e.js +165 -120
- package/dist/collection/components/q2-dropdown/test/q2-dropdown-test.e2e.js.map +1 -0
- package/dist/collection/components/q2-dropdown-item/q2-dropdown-item.js +10 -12
- package/dist/collection/components/q2-dropdown-item/q2-dropdown-item.js.map +1 -1
- package/dist/{test/elements → collection/components/q2-dropdown-item/test}/q2-dropdown-item-test.e2e.js +5 -13
- package/dist/collection/components/q2-dropdown-item/test/q2-dropdown-item-test.e2e.js.map +1 -0
- package/dist/collection/components/q2-editable-field/q2-editable-field.js +3 -3
- package/dist/collection/components/q2-editable-field/q2-editable-field.js.map +1 -1
- package/dist/{test/elements → collection/components/q2-editable-field/test}/q2-editable-field-test.e2e.js +1 -4
- package/dist/collection/components/q2-editable-field/test/q2-editable-field-test.e2e.js.map +1 -0
- package/dist/collection/components/q2-icon/q2-icon-types.js.map +1 -1
- package/dist/collection/components/q2-icon/q2-icon.js.map +1 -1
- package/dist/{test/elements → collection/components/q2-icon/test}/q2-icon-test.e2e.js +2 -2
- package/dist/collection/components/q2-icon/test/q2-icon-test.e2e.js.map +1 -0
- package/dist/collection/components/q2-input/formatting/alpha.js.map +1 -1
- package/dist/collection/components/q2-input/formatting/alphanumeric.js.map +1 -1
- package/dist/collection/components/q2-input/formatting/credit-card.js.map +1 -1
- package/dist/collection/components/q2-input/formatting/credit-card.spec.js.map +1 -1
- package/dist/collection/components/q2-input/formatting/currency.js.map +1 -1
- package/dist/collection/components/q2-input/formatting/date.js.map +1 -1
- package/dist/collection/components/q2-input/formatting/generic.js.map +1 -1
- package/dist/collection/components/q2-input/formatting/number.js.map +1 -1
- package/dist/collection/components/q2-input/formatting/numeric.js.map +1 -1
- package/dist/collection/components/q2-input/formatting/phone.js.map +1 -1
- package/dist/collection/components/q2-input/formatting/postal.js.map +1 -1
- package/dist/collection/components/q2-input/formatting/ssn.js.map +1 -1
- package/dist/collection/components/q2-input/formatting/tin.js.map +1 -1
- package/dist/collection/components/q2-input/q2-input-types.js.map +1 -1
- package/dist/collection/components/q2-input/q2-input.js +2 -2
- package/dist/collection/components/q2-input/q2-input.js.map +1 -1
- package/dist/{test/elements → collection/components/q2-input/test}/q2-input-credit-card-test.e2e.js +1 -1
- package/dist/collection/components/q2-input/test/q2-input-credit-card-test.e2e.js.map +1 -0
- package/dist/{test/elements → collection/components/q2-input/test}/q2-input-test.e2e.js +1 -1
- package/dist/collection/components/q2-input/test/q2-input-test.e2e.js.map +1 -0
- package/dist/collection/components/q2-item/q2-item.css +3 -3
- package/dist/collection/components/q2-item/q2-item.js +1 -1
- package/dist/collection/components/q2-item/q2-item.js.map +1 -1
- package/dist/{test/elements → collection/components/q2-item/test}/q2-item-test.e2e.js +1 -1
- package/dist/collection/components/q2-item/test/q2-item-test.e2e.js.map +1 -0
- package/dist/{test/elements → collection/components/q2-item/test}/q2-item-test.spec.js +1 -1
- package/dist/collection/components/q2-item/test/q2-item-test.spec.js.map +1 -0
- package/dist/collection/components/q2-legend/q2-legend.css +6 -6
- package/dist/collection/components/q2-legend/q2-legend.js +1 -1
- package/dist/collection/components/q2-legend/q2-legend.js.map +1 -1
- package/dist/{test/elements → collection/components/q2-legend/test}/q2-legend-test.e2e.js +1 -1
- package/dist/collection/components/q2-legend/test/q2-legend-test.e2e.js.map +1 -0
- package/dist/{test/elements → collection/components/q2-legend/test}/q2-legend-test.spec.js +1 -1
- package/dist/collection/components/q2-legend/test/q2-legend-test.spec.js.map +1 -0
- package/dist/collection/components/q2-list/q2-list.js +1 -1
- package/dist/collection/components/q2-list/q2-list.js.map +1 -1
- package/dist/{test/elements/q2-detail → collection/components/q2-list/test}/q2-list-test.e2e.js +1 -1
- package/dist/collection/components/q2-list/test/q2-list-test.e2e.js.map +1 -0
- package/dist/collection/components/q2-loading/q2-loading.js.map +1 -1
- package/dist/collection/components/q2-loading/skeleton/q2-loading-element/index.js.map +1 -1
- package/dist/collection/components/q2-loading/skeleton/shapes.js.map +1 -1
- package/dist/{test/elements → collection/components/q2-loading/test}/q2-loading-element-test.e2e.js +1 -1
- package/dist/collection/components/q2-loading/test/q2-loading-element-test.e2e.js.map +1 -0
- package/dist/{test/elements → collection/components/q2-loading/test}/q2-loading-test.e2e.js +1 -1
- package/dist/collection/components/q2-loading/test/q2-loading-test.e2e.js.map +1 -0
- package/dist/collection/components/q2-loc/q2-loc.js +1 -1
- package/dist/collection/components/q2-loc/q2-loc.js.map +1 -1
- package/dist/{test/elements → collection/components/q2-loc/test}/q2-loc-test.e2e.js +1 -1
- package/dist/collection/components/q2-loc/test/q2-loc-test.e2e.js.map +1 -0
- package/dist/collection/components/q2-message/q2-message.js +1 -1
- package/dist/collection/components/q2-message/q2-message.js.map +1 -1
- package/dist/{test/elements → collection/components/q2-message/test}/q2-message-test.e2e.js +1 -1
- package/dist/collection/components/q2-message/test/q2-message-test.e2e.js.map +1 -0
- package/dist/collection/components/q2-optgroup/q2-optgroup.js +1 -1
- package/dist/collection/components/q2-optgroup/q2-optgroup.js.map +1 -1
- package/dist/{test/elements → collection/components/q2-optgroup/test}/q2-optgroup-test.e2e.js +1 -1
- package/dist/collection/components/q2-optgroup/test/q2-optgroup-test.e2e.js.map +1 -0
- package/dist/collection/components/q2-option/q2-option.js +1 -1
- package/dist/collection/components/q2-option/q2-option.js.map +1 -1
- package/dist/{test/elements → collection/components/q2-option/test}/q2-option-test.e2e.js +1 -1
- package/dist/collection/components/q2-option/test/q2-option-test.e2e.js.map +1 -0
- package/dist/collection/components/q2-option-list/q2-option-list.js +15 -13
- package/dist/collection/components/q2-option-list/q2-option-list.js.map +1 -1
- package/dist/{test/elements → collection/components/q2-option-list/test}/q2-option-list-test.e2e.js +1 -1
- package/dist/collection/components/q2-option-list/test/q2-option-list-test.e2e.js.map +1 -0
- package/dist/collection/components/q2-pagination/q2-pagination.js +2 -2
- package/dist/collection/components/q2-pagination/q2-pagination.js.map +1 -1
- package/dist/{test/elements → collection/components/q2-pagination/test}/q2-pagination-test.e2e.js +1 -1
- package/dist/collection/components/q2-pagination/test/q2-pagination-test.e2e.js.map +1 -0
- package/dist/collection/components/q2-pill/q2-pill.js +172 -37
- package/dist/collection/components/q2-pill/q2-pill.js.map +1 -1
- package/dist/{test/elements → collection/components/q2-pill/test}/q2-pill-test.e2e.js +484 -392
- package/dist/collection/components/q2-pill/test/q2-pill-test.e2e.js.map +1 -0
- package/dist/collection/components/q2-popover/q2-popover.js +1 -1
- package/dist/collection/components/q2-popover/q2-popover.js.map +1 -1
- package/dist/{test/elements → collection/components/q2-popover/test}/q2-popover-test.e2e.js +2 -2
- package/dist/collection/components/q2-popover/test/q2-popover-test.e2e.js.map +1 -0
- package/dist/{test/elements → collection/components/q2-popover/test}/q2-popover-test.spec.js +1 -1
- package/dist/collection/components/q2-popover/test/q2-popover-test.spec.js.map +1 -0
- 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/{test/elements → collection/components/q2-radio/test}/q2-radio-test.e2e.js +1 -1
- package/dist/collection/components/q2-radio/test/q2-radio-test.e2e.js.map +1 -0
- package/dist/collection/components/q2-radio-group/q2-radio-group.js +1 -1
- package/dist/collection/components/q2-radio-group/q2-radio-group.js.map +1 -1
- package/dist/{test/elements → collection/components/q2-radio-group/test}/q2-radio-group-test.e2e.js +1 -1
- package/dist/collection/components/q2-radio-group/test/q2-radio-group-test.e2e.js.map +1 -0
- package/dist/collection/components/q2-relative-time/q2-relative-time.js +1 -1
- package/dist/collection/components/q2-relative-time/q2-relative-time.js.map +1 -1
- package/dist/{test/elements → collection/components/q2-relative-time/test}/q2-relative-time-test.e2e.js +2 -2
- package/dist/collection/components/q2-relative-time/test/q2-relative-time-test.e2e.js.map +1 -0
- package/dist/collection/components/q2-section/q2-section.css +1 -1
- package/dist/collection/components/q2-section/q2-section.js +2 -2
- package/dist/collection/components/q2-section/q2-section.js.map +1 -1
- package/dist/{test/elements → collection/components/q2-section/test}/q2-section-test.e2e.js +12 -7
- package/dist/collection/components/q2-section/test/q2-section-test.e2e.js.map +1 -0
- package/dist/collection/components/q2-select/q2-select.js +18 -17
- package/dist/collection/components/q2-select/q2-select.js.map +1 -1
- package/dist/{test/elements → collection/components/q2-select/test}/q2-select-test.e2e.js +20 -2
- package/dist/collection/components/q2-select/test/q2-select-test.e2e.js.map +1 -0
- package/dist/collection/components/q2-stepper/q2-stepper.js +1 -1
- package/dist/collection/components/q2-stepper/q2-stepper.js.map +1 -1
- package/dist/{test/elements → collection/components/q2-stepper/test}/q2-stepper-test.e2e.js +1 -1
- package/dist/collection/components/q2-stepper/test/q2-stepper-test.e2e.js.map +1 -0
- package/dist/collection/components/q2-stepper-pane/q2-stepper-pane.js +3 -3
- package/dist/collection/components/q2-stepper-pane/q2-stepper-pane.js.map +1 -1
- package/dist/{test/elements → collection/components/q2-stepper-pane/test}/q2-stepper-pane-test.e2e.js +1 -1
- package/dist/collection/components/q2-stepper-pane/test/q2-stepper-pane-test.e2e.js.map +1 -0
- package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.js +1 -1
- package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.js.map +1 -1
- package/dist/{test/elements → collection/components/q2-stepper-vertical/test}/q2-stepper-vertical-test.e2e.js +1 -1
- package/dist/collection/components/q2-stepper-vertical/test/q2-stepper-vertical-test.e2e.js.map +1 -0
- package/dist/collection/components/q2-tab-container/q2-tab-container.js +21 -20
- package/dist/collection/components/q2-tab-container/q2-tab-container.js.map +1 -1
- package/dist/{test/elements → collection/components/q2-tab-container/test}/q2-tab-container-test.e2e.js +1 -1
- package/dist/collection/components/q2-tab-container/test/q2-tab-container-test.e2e.js.map +1 -0
- package/dist/collection/components/q2-tab-container/test/q2-tab-container-test.spec.js +54 -0
- package/dist/collection/components/q2-tab-container/test/q2-tab-container-test.spec.js.map +1 -0
- package/dist/collection/components/q2-tab-pane/q2-tab-pane.js +1 -1
- package/dist/collection/components/q2-tab-pane/q2-tab-pane.js.map +1 -1
- package/dist/{test/elements → collection/components/q2-tab-pane/test}/q2-tab-pane-test.e2e.js +1 -1
- package/dist/collection/components/q2-tab-pane/test/q2-tab-pane-test.e2e.js.map +1 -0
- package/dist/collection/components/q2-tag/q2-tag.js +92 -6
- package/dist/collection/components/q2-tag/q2-tag.js.map +1 -1
- package/dist/{test/elements → collection/components/q2-tag/test}/q2-tag-test.e2e.js +40 -8
- package/dist/collection/components/q2-tag/test/q2-tag-test.e2e.js.map +1 -0
- package/dist/collection/components/q2-textarea/q2-textarea.js +1 -1
- package/dist/collection/components/q2-textarea/q2-textarea.js.map +1 -1
- package/dist/{test/elements → collection/components/q2-textarea/test}/q2-textarea-test.e2e.js +1 -1
- package/dist/collection/components/q2-textarea/test/q2-textarea-test.e2e.js.map +1 -0
- package/dist/collection/components/q2-tooltip/q2-tooltip.js.map +1 -1
- package/dist/{test/elements → collection/components/q2-tooltip/test}/q2-tooltip-test.e2e.js +1 -1
- package/dist/collection/components/q2-tooltip/test/q2-tooltip-test.e2e.js.map +1 -0
- package/dist/collection/components/tecton-tab-pane/tecton-tab-pane-types.js.map +1 -1
- package/dist/collection/components/tecton-tab-pane/tecton-tab-pane.js +2 -2
- package/dist/collection/components/tecton-tab-pane/tecton-tab-pane.js.map +1 -1
- package/dist/{test/elements → collection/components/tecton-tab-pane/test}/tecton-tab-pane-test.e2e.js +1 -1
- package/dist/collection/components/tecton-tab-pane/test/tecton-tab-pane-test.e2e.js.map +1 -0
- package/dist/collection/index.js.map +1 -1
- package/dist/collection/utils/action-sheet.js.map +1 -1
- package/dist/collection/utils/charting.js.map +1 -1
- package/dist/{test → collection/utils}/helpers.js +1 -1
- package/dist/collection/utils/helpers.js.map +1 -0
- package/dist/collection/utils/index.js +9 -0
- package/dist/collection/utils/index.js.map +1 -1
- package/dist/{test/utils → collection/utils/test}/action-sheet-test.e2e.js +1 -1
- package/dist/collection/utils/test/action-sheet-test.e2e.js.map +1 -0
- package/dist/{test/utils → collection/utils/test}/index.spec.js +1 -1
- package/dist/collection/utils/test/index.spec.js.map +1 -0
- package/dist/components/action-sheet.js +1 -1
- package/dist/components/index.js +0 -2
- package/dist/components/index.js.map +1 -1
- package/dist/components/index2.js +1355 -1
- package/dist/components/index2.js.map +1 -1
- package/dist/components/q2-action-sheet.js +5 -5
- package/dist/components/q2-action-sheet.js.map +1 -1
- package/dist/components/q2-avatar2.js +1 -1
- package/dist/components/q2-badge2.js.map +1 -1
- package/dist/components/q2-btn2.js +6 -12
- package/dist/components/q2-btn2.js.map +1 -1
- package/dist/components/q2-calendar.js +1 -1
- package/dist/components/q2-calendar.js.map +1 -1
- package/dist/components/q2-carousel-pane.js +2 -2
- package/dist/components/q2-carousel-pane.js.map +1 -1
- package/dist/components/q2-carousel.js +133 -154
- package/dist/components/q2-carousel.js.map +1 -1
- package/dist/components/q2-chart-area.js +3 -3
- package/dist/components/q2-chart-area.js.map +1 -1
- package/dist/components/q2-chart-bar.js +4 -4
- package/dist/components/q2-chart-bar.js.map +1 -1
- package/dist/components/q2-chart-donut.js +1 -1
- package/dist/components/q2-checkbox-group.js +1 -1
- package/dist/components/q2-checkbox2.js +1 -1
- package/dist/components/q2-currency.js +1 -1
- package/dist/components/q2-data-table.js +68 -2
- package/dist/components/q2-data-table.js.map +1 -1
- package/dist/components/q2-detail.js +1 -1
- package/dist/components/q2-dropdown-item2.js +10 -12
- package/dist/components/q2-dropdown-item2.js.map +1 -1
- package/dist/components/q2-dropdown.js +61 -57
- package/dist/components/q2-dropdown.js.map +1 -1
- package/dist/components/q2-editable-field.js +3 -3
- package/dist/components/q2-editable-field.js.map +1 -1
- package/dist/components/q2-input2.js +2 -2
- package/dist/components/q2-item.js +2 -2
- package/dist/components/q2-item.js.map +1 -1
- package/dist/components/q2-legend2.js +2 -2
- package/dist/components/q2-legend2.js.map +1 -1
- package/dist/components/q2-list.js +1 -1
- package/dist/components/q2-loc.js +1 -1
- package/dist/components/q2-message2.js +2 -2
- package/dist/components/q2-month-picker.js +2 -2
- package/dist/components/q2-optgroup2.js +1 -1
- package/dist/components/q2-option-list2.js +13 -11
- package/dist/components/q2-option-list2.js.map +1 -1
- package/dist/components/q2-option2.js +1 -1
- package/dist/components/q2-pagination.js +2 -2
- package/dist/components/q2-pill.js +100 -38
- 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 +1 -1
- package/dist/components/q2-relative-time.js +1 -1
- package/dist/components/q2-section.js +3 -3
- package/dist/components/q2-section.js.map +1 -1
- package/dist/components/q2-select2.js +20 -19
- package/dist/components/q2-select2.js.map +1 -1
- package/dist/components/q2-stepper-pane.js +1 -1
- package/dist/components/q2-stepper-vertical.js +1 -1
- package/dist/components/q2-stepper.js +1 -1
- package/dist/components/q2-tab-container.js +21 -20
- 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 +38 -8
- package/dist/components/q2-tag.js.map +1 -1
- package/dist/components/q2-textarea.js +2 -2
- package/dist/components/tecton-tab-pane.js +2 -2
- package/dist/esm/{action-sheet-dd527168.js → action-sheet-e64cb6f7.js} +2 -2
- package/dist/esm/{action-sheet-dd527168.js.map → action-sheet-e64cb6f7.js.map} +1 -1
- package/dist/esm/click-elsewhere_2.entry.js +2 -2
- package/dist/esm/index-4a80972c.js +1556 -0
- package/dist/esm/index-4a80972c.js.map +1 -0
- package/dist/esm/{index-1c019b24.js → index-c6d74f10.js} +1 -1
- package/dist/esm/{index-1c019b24.js.map → index-c6d74f10.js.map} +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/q2-action-sheet.entry.js +5 -5
- package/dist/esm/q2-action-sheet.entry.js.map +1 -1
- package/dist/esm/q2-avatar.entry.js +1 -1
- package/dist/esm/{q2-input.entry.js → q2-badge_7.entry.js} +1280 -5
- package/dist/esm/q2-badge_7.entry.js.map +1 -0
- package/dist/esm/q2-calendar.entry.js +3 -3
- 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 +3 -3
- package/dist/esm/q2-carousel-pane.entry.js.map +1 -1
- package/dist/esm/q2-carousel.entry.js +131 -149
- package/dist/esm/q2-carousel.entry.js.map +1 -1
- package/dist/esm/q2-chart-area.entry.js +3 -3
- package/dist/esm/q2-chart-area.entry.js.map +1 -1
- package/dist/esm/q2-chart-bar.entry.js +3 -3
- package/dist/esm/q2-chart-bar.entry.js.map +1 -1
- package/dist/esm/q2-chart-donut.entry.js +2 -2
- package/dist/esm/q2-checkbox-group.entry.js +2 -2
- package/dist/esm/q2-checkbox.entry.js +2 -2
- package/dist/esm/q2-currency.entry.js +1 -1
- package/dist/esm/q2-data-table.entry.js +62 -2
- package/dist/esm/q2-data-table.entry.js.map +1 -1
- package/dist/esm/q2-detail.entry.js +2 -2
- package/dist/esm/q2-dropdown-item.entry.js +11 -13
- package/dist/esm/q2-dropdown-item.entry.js.map +1 -1
- package/dist/esm/q2-dropdown.entry.js +62 -58
- package/dist/esm/q2-dropdown.entry.js.map +1 -1
- package/dist/esm/q2-editable-field.entry.js +4 -4
- package/dist/esm/q2-editable-field.entry.js.map +1 -1
- package/dist/esm/q2-item.entry.js +3 -3
- package/dist/esm/q2-item.entry.js.map +1 -1
- package/dist/esm/q2-legend.entry.js +2 -2
- package/dist/esm/q2-legend.entry.js.map +1 -1
- package/dist/esm/q2-list.entry.js +2 -2
- package/dist/esm/q2-loc.entry.js +2 -2
- package/dist/esm/q2-message.entry.js +2 -2
- package/dist/esm/q2-month-picker.entry.js +3 -3
- package/dist/esm/q2-optgroup.entry.js +2 -2
- package/dist/esm/q2-option-list.entry.js +13 -11
- package/dist/esm/q2-option-list.entry.js.map +1 -1
- package/dist/esm/q2-option.entry.js +1 -1
- package/dist/esm/q2-pagination.entry.js +3 -3
- package/dist/esm/q2-pill.entry.js +96 -37
- package/dist/esm/q2-pill.entry.js.map +1 -1
- package/dist/esm/q2-radio-group.entry.js +2 -2
- package/dist/esm/q2-radio.entry.js +2 -2
- package/dist/esm/q2-relative-time.entry.js +3 -3
- package/dist/esm/q2-section.entry.js +4 -4
- package/dist/esm/q2-section.entry.js.map +1 -1
- package/dist/esm/q2-select.entry.js +20 -19
- package/dist/esm/q2-select.entry.js.map +1 -1
- package/dist/esm/q2-stepper-pane.entry.js +2 -2
- package/dist/esm/q2-stepper-vertical.entry.js +2 -2
- package/dist/esm/q2-stepper.entry.js +2 -2
- package/dist/esm/q2-tag.entry.js +34 -7
- 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-tooltip.entry.js +1 -1
- package/dist/esm/tecton-tab-pane.entry.js +2 -2
- package/dist/q2-tecton-elements/{p-da711c59.entry.js → p-072c5877.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-f6358905.entry.js → p-074ae80c.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-0a1dff75.entry.js +2 -0
- package/dist/q2-tecton-elements/p-0a1dff75.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-93680d12.entry.js → p-0a3a804a.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-93680d12.entry.js.map → p-0a3a804a.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/p-259b728a.entry.js +2 -0
- package/dist/q2-tecton-elements/{p-77a763eb.entry.js.map → p-259b728a.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/{p-7b9a6bb7.entry.js → p-2c26295e.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-bbf9d36d.entry.js → p-2ca6d44f.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-2bcb7e89.entry.js → p-2fcaf2d6.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-2fcaf2d6.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-0852e6fe.entry.js → p-34696e3f.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-1e7fa870.entry.js → p-34856c71.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-34856c71.entry.js.map +1 -0
- package/dist/q2-tecton-elements/p-376a0589.entry.js +2 -0
- package/dist/q2-tecton-elements/p-376a0589.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-630613c7.entry.js → p-395904b4.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-3b0d3cd4.entry.js +2 -0
- package/dist/q2-tecton-elements/p-3b0d3cd4.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-d8d9ba1f.entry.js → p-3c7be0bb.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-3c7be0bb.entry.js.map +1 -0
- package/dist/q2-tecton-elements/p-403bf3d4.entry.js +2 -0
- package/dist/q2-tecton-elements/{p-5037fa67.entry.js.map → p-403bf3d4.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/{p-db79c056.entry.js → p-4116579f.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-e0a6baea.entry.js → p-45407ecc.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-ec8a0b64.entry.js → p-58cafc0d.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-4388e521.entry.js → p-5d936af5.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-6237c775.entry.js +2 -0
- package/dist/q2-tecton-elements/p-6237c775.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-a177d812.entry.js → p-661ed976.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-da0cacef.entry.js → p-6b7c53a8.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-6c933b14.entry.js → p-6e6d9793.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-be518818.js → p-721365be.js} +1 -1
- package/dist/q2-tecton-elements/{p-a8e7e591.entry.js → p-77272c4c.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-793a453e.entry.js → p-77a0cc0c.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-9c589ab3.entry.js → p-8111547c.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-05b30f98.entry.js → p-8a4b106d.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-8a4b106d.entry.js.map +1 -0
- package/dist/q2-tecton-elements/p-9a1a4bc0.js +3 -0
- package/dist/q2-tecton-elements/p-9a1a4bc0.js.map +1 -0
- package/dist/q2-tecton-elements/p-a7a0b8aa.entry.js +2 -0
- package/dist/q2-tecton-elements/p-a7a0b8aa.entry.js.map +1 -0
- package/dist/q2-tecton-elements/p-aa57b657.entry.js +2 -0
- package/dist/q2-tecton-elements/p-aa57b657.entry.js.map +1 -0
- package/dist/q2-tecton-elements/p-ad998f71.entry.js +2 -0
- package/dist/q2-tecton-elements/p-ad998f71.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-e3ad770b.entry.js → p-adec9275.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-adf0a7c9.entry.js +2 -0
- package/dist/q2-tecton-elements/p-adf0a7c9.entry.js.map +1 -0
- package/dist/q2-tecton-elements/p-b72fd065.entry.js +2 -0
- package/dist/q2-tecton-elements/p-b72fd065.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-780a1d0e.js → p-b7554a79.js} +2 -2
- package/dist/q2-tecton-elements/{p-40df4468.entry.js → p-c0c658d1.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-baa2eaa9.entry.js → p-c81d299a.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-c81d299a.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-08176bd0.entry.js → p-cb3f48de.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-2810ba28.entry.js → p-ce4e6b41.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-76b98623.entry.js → p-cf32b5db.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-cf966a0f.entry.js +2 -0
- package/dist/q2-tecton-elements/p-cf966a0f.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-c5aac064.entry.js → p-d2e1631a.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-c5aac064.entry.js.map → p-d2e1631a.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/{p-2e6669a7.entry.js → p-dc77bf66.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-e4b8f4b3.entry.js → p-fffb54e9.entry.js} +2 -2
- package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +1 -1
- package/dist/q2-tecton-elements/q2-tecton-elements.esm.js.map +1 -1
- package/dist/types/components/q2-action-sheet/q2-action-sheet.d.ts +60 -0
- package/dist/types/components/q2-btn/q2-btn.d.ts +1 -2
- package/dist/types/components/q2-calendar/q2-calendar.d.ts +323 -0
- package/dist/types/components/q2-carousel/q2-carousel.d.ts +36 -25
- package/dist/types/components/q2-carousel-pane/q2-carousel-pane.d.ts +3 -3
- package/dist/types/components/q2-chart-area/q2-chart-area.d.ts +6 -6
- package/dist/types/components/q2-chart-bar/q2-chart-bar.d.ts +14 -14
- package/dist/types/components/q2-data-table/q2-data-table.d.ts +259 -0
- package/dist/types/components/q2-dropdown/q2-dropdown.d.ts +129 -0
- package/dist/types/components/q2-dropdown-item/q2-dropdown-item.d.ts +50 -0
- package/dist/types/components/q2-editable-field/q2-editable-field.d.ts +140 -0
- package/dist/types/components/q2-loading/skeleton/shapes.d.ts +1 -0
- package/dist/types/components/q2-optgroup/q2-optgroup.d.ts +1 -1
- package/dist/types/components/q2-option-list/q2-option-list.d.ts +99 -0
- package/dist/types/components/q2-pagination/q2-pagination.d.ts +60 -0
- package/dist/types/components/q2-pill/q2-pill.d.ts +128 -0
- package/dist/types/components/q2-select/q2-select.d.ts +232 -0
- package/dist/types/components/q2-stepper/q2-stepper.d.ts +52 -0
- package/dist/types/components/q2-stepper-vertical/q2-stepper-vertical.d.ts +62 -0
- package/dist/types/components/q2-tab-container/q2-tab-container.d.ts +5 -5
- package/dist/types/components/q2-tag/q2-tag.d.ts +63 -0
- package/dist/types/components.d.ts +77 -33
- package/dist/types/utils/action-sheet.d.ts +12 -0
- package/dist/types/{workspace/workspace/tecton-production_release_1.49.x/packages/q2-tecton-elements/.stencil/test → utils}/helpers.d.ts +1 -1
- package/dist/types/utils/index.d.ts +1 -0
- package/package.json +8 -6
- package/dist/cjs/index-a93362ed.js +0 -225
- package/dist/cjs/index-a93362ed.js.map +0 -1
- package/dist/cjs/q2-badge.cjs.entry.js +0 -52
- package/dist/cjs/q2-badge.cjs.entry.js.map +0 -1
- package/dist/cjs/q2-btn_2.cjs.entry.js +0 -237
- package/dist/cjs/q2-btn_2.cjs.entry.js.map +0 -1
- package/dist/cjs/q2-icon.cjs.entry.js +0 -731
- package/dist/cjs/q2-icon.cjs.entry.js.map +0 -1
- package/dist/cjs/q2-input.cjs.entry.js.map +0 -1
- package/dist/cjs/q2-tab-container.cjs.entry.js +0 -263
- package/dist/cjs/q2-tab-container.cjs.entry.js.map +0 -1
- package/dist/cjs/q2-tab-pane.cjs.entry.js +0 -46
- package/dist/cjs/q2-tab-pane.cjs.entry.js.map +0 -1
- package/dist/cjs/slot-component.cjs.entry.js +0 -19
- package/dist/cjs/slot-component.cjs.entry.js.map +0 -1
- package/dist/components/slot-component.d.ts +0 -11
- package/dist/components/slot-component.js +0 -34
- package/dist/components/slot-component.js.map +0 -1
- package/dist/esm/index-3c5cd75e.js +0 -202
- package/dist/esm/index-3c5cd75e.js.map +0 -1
- package/dist/esm/q2-badge.entry.js +0 -48
- package/dist/esm/q2-badge.entry.js.map +0 -1
- package/dist/esm/q2-btn_2.entry.js +0 -232
- package/dist/esm/q2-btn_2.entry.js.map +0 -1
- package/dist/esm/q2-icon.entry.js +0 -727
- package/dist/esm/q2-icon.entry.js.map +0 -1
- package/dist/esm/q2-input.entry.js.map +0 -1
- package/dist/esm/q2-tab-container.entry.js +0 -259
- package/dist/esm/q2-tab-container.entry.js.map +0 -1
- package/dist/esm/q2-tab-pane.entry.js +0 -42
- package/dist/esm/q2-tab-pane.entry.js.map +0 -1
- package/dist/esm/slot-component.entry.js +0 -15
- package/dist/esm/slot-component.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-05b30f98.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-089a7a1e.entry.js +0 -2
- package/dist/q2-tecton-elements/p-089a7a1e.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-1e7fa870.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-25bfe0b2.entry.js +0 -2
- package/dist/q2-tecton-elements/p-25bfe0b2.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-2bcb7e89.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-333a41ca.entry.js +0 -2
- package/dist/q2-tecton-elements/p-333a41ca.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-4da4cb5d.entry.js +0 -2
- package/dist/q2-tecton-elements/p-4da4cb5d.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-5037fa67.entry.js +0 -2
- package/dist/q2-tecton-elements/p-550881db.entry.js +0 -2
- package/dist/q2-tecton-elements/p-550881db.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-5775b02b.entry.js +0 -2
- package/dist/q2-tecton-elements/p-5775b02b.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-77a763eb.entry.js +0 -2
- package/dist/q2-tecton-elements/p-84190698.js +0 -2
- package/dist/q2-tecton-elements/p-84190698.js.map +0 -1
- package/dist/q2-tecton-elements/p-9e90a38a.entry.js +0 -2
- package/dist/q2-tecton-elements/p-9e90a38a.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-9ecabc7a.entry.js +0 -2
- package/dist/q2-tecton-elements/p-9ecabc7a.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-a657277b.entry.js +0 -2
- package/dist/q2-tecton-elements/p-a657277b.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-b3322f94.entry.js +0 -2
- package/dist/q2-tecton-elements/p-b3322f94.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-baa2eaa9.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-c8b4f5f7.entry.js +0 -2
- package/dist/q2-tecton-elements/p-c8b4f5f7.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-d2d3d95b.entry.js +0 -2
- package/dist/q2-tecton-elements/p-d2d3d95b.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-d78669df.entry.js +0 -2
- package/dist/q2-tecton-elements/p-d78669df.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-d8d9ba1f.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-dbfab45b.entry.js +0 -2
- package/dist/q2-tecton-elements/p-dbfab45b.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-e44560d9.entry.js +0 -2
- package/dist/q2-tecton-elements/p-e44560d9.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-ea7876eb.entry.js +0 -2
- package/dist/q2-tecton-elements/p-ea7876eb.entry.js.map +0 -1
- package/dist/test/elements/click-elsewhere-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-action-sheet-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-avatar-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-badge-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-btn-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-calendar/helpers-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-calendar/validation-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-calendar-month-picker-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-calendar-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-card-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-carousel-pane-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-carousel-pane-test.spec.js.map +0 -1
- package/dist/test/elements/q2-carousel-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-chart-area-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-chart-bar-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-chart-donut-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-checkbox-group-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-checkbox-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-currency-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-data-table-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-detail/q2-detail-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-detail/q2-list-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-detail/slot-component.js +0 -32
- package/dist/test/elements/q2-detail/slot-component.js.map +0 -1
- package/dist/test/elements/q2-dropdown-item-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-dropdown-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-editable-field-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-icon-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-input-credit-card-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-input-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-item-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-item-test.spec.js.map +0 -1
- package/dist/test/elements/q2-legend-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-legend-test.spec.js.map +0 -1
- package/dist/test/elements/q2-loading-element-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-loading-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-loc-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-message-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-optgroup-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-option-list-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-option-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-pagination-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-pill-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-popover-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-popover-test.spec.js.map +0 -1
- package/dist/test/elements/q2-radio-group-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-radio-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-relative-time-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-section-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-select-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-stepper-pane-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-stepper-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-stepper-vertical-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-tab-container-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-tab-pane-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-tag-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-textarea-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-tooltip-test.e2e.js.map +0 -1
- package/dist/test/elements/tecton-tab-pane-test.e2e.js.map +0 -1
- package/dist/test/helpers.js.map +0 -1
- package/dist/test/utils/action-sheet-test.e2e.js.map +0 -1
- package/dist/test/utils/index.spec.js.map +0 -1
- package/dist/types/workspace/workspace/tecton-production_release_1.49.x/packages/q2-tecton-elements/.stencil/test/elements/q2-detail/slot-component.d.ts +0 -4
- /package/dist/q2-tecton-elements/{p-da711c59.entry.js.map → p-072c5877.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-f6358905.entry.js.map → p-074ae80c.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-7b9a6bb7.entry.js.map → p-2c26295e.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-bbf9d36d.entry.js.map → p-2ca6d44f.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-0852e6fe.entry.js.map → p-34696e3f.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-630613c7.entry.js.map → p-395904b4.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-db79c056.entry.js.map → p-4116579f.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-e0a6baea.entry.js.map → p-45407ecc.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-ec8a0b64.entry.js.map → p-58cafc0d.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-4388e521.entry.js.map → p-5d936af5.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-a177d812.entry.js.map → p-661ed976.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-da0cacef.entry.js.map → p-6b7c53a8.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-6c933b14.entry.js.map → p-6e6d9793.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-be518818.js.map → p-721365be.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-a8e7e591.entry.js.map → p-77272c4c.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-793a453e.entry.js.map → p-77a0cc0c.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-9c589ab3.entry.js.map → p-8111547c.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-e3ad770b.entry.js.map → p-adec9275.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-780a1d0e.js.map → p-b7554a79.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-40df4468.entry.js.map → p-c0c658d1.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-08176bd0.entry.js.map → p-cb3f48de.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-2810ba28.entry.js.map → p-ce4e6b41.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-76b98623.entry.js.map → p-cf32b5db.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-2e6669a7.entry.js.map → p-dc77bf66.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-e4b8f4b3.entry.js.map → p-fffb54e9.entry.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"q2-checkbox.js","sourceRoot":"","sources":["../../../../src/components/q2-checkbox/q2-checkbox.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, ComponentInterface, Prop, Element, Listen, Watch, Event, EventEmitter, h } from '@stencil/core';\nimport { createGuid, handleAriaLabel, isEventFromElement, loc, overrideFocus } from 'src/utils';\n\n@Component({ tag: 'q2-checkbox', shadow: true, styleUrl: 'q2-checkbox.scss' })\nexport class Q2Checkbox implements ComponentInterface {\n // #region Own Properties\n\n _id: string = `checkbox-${createGuid()}`;\n inputElement: HTMLInputElement;\n\n // #endregion\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region Public Property API\n\n /** Determine which side of the label the checkbox will render on. */\n @Prop({ reflect: true })\n alignment: string;\n\n /** @deprecated */\n @Prop({ reflect: true, mutable: true })\n ariaLabel: string;\n\n /** The state of the checkbox. This modifies the visual appearance of the element. */\n @Prop({ reflect: true, mutable: true })\n checked: boolean = false;\n\n /**\n * Populates a description that is displayed beneath the label.\n * @localizable\n */\n @Prop({ reflect: true })\n description: string;\n\n /** Disables the checkbox and prevents interaction. */\n @Prop({ reflect: true })\n disabled: boolean;\n\n /**\n * Used by q2-checkbox-group to disable all checkboxes in the group\n * @private\n */\n @Prop({ reflect: true })\n groupDisabled: boolean;\n\n /** Determines if the component should display in an errant state. */\n @Prop({ reflect: true })\n hasError: boolean = false;\n\n /**\n * Hide's the field's `<label>` element from view.\n *\n * @warning\n * Only use when a visible label is impractical.\n */\n @Prop({ reflect: true, mutable: true })\n hideLabel: boolean;\n\n /**\n * Used on a parent checkbox in a checkbox group (e.g. \"Select All\") to indicate that some, but not all, checkboxes in a group are checked.\n *\n * When `true`, the \"indeterminate\" selection style is applied.\n * To apply the standard \"checked\" selection style, `checked` must be true, and `indeterminate` must be `false`.\n */\n @Prop({ reflect: true })\n indeterminate: boolean;\n\n /**\n * The visible label text for the checkbox. Appears to the right of the box for 'default' and 'favorite' checkboxes, and to the left for 'toggle' checkboxes.\n * Yielded content will be adjacent to this text.\n * @localizable\n */\n @Prop({ reflect: true, mutable: true })\n label: string;\n\n /** A static string used to establish a symbolic relationship between checkboxes. */\n @Prop({ reflect: true })\n name: string;\n\n /** The field is not interactive, but remains focusable. */\n @Prop({ reflect: true })\n readonly: boolean;\n\n /** The field is not interactive, but remains focusable. */\n @Prop({ reflect: true })\n slotReadonly: boolean;\n\n /** The visual style of the checkbox. This does not need to be defined for a standard checkbox. */\n @Prop({ reflect: true })\n type: 'favorite' | 'toggle';\n\n /** A static reference value for the checkbox. */\n @Prop({ reflect: true })\n value: string;\n\n // #endregion\n // #region Events\n\n /**\n * Emitted when the checkbox is toggled.\n * @legacyEvent\n */\n @Event()\n change: EventEmitter<{ value: string; checked: boolean }>;\n\n // #endregion\n // #region Component Lifecycle Events\n\n componentWillLoad() {\n handleAriaLabel(this);\n }\n\n componentDidLoad(): void {\n overrideFocus(this.hostElement);\n this.hostElement.click = () => this.inputElement.click();\n }\n\n // #endregion\n // #region Listeners\n\n @Listen('change')\n defaultChangeHandler(event: CustomEvent) {\n // We use setTimeout to give an opportunity to call preventDefault\n setTimeout(() => this.handleChangeEvent(event), 0);\n }\n\n @Listen('focus')\n delegateFocus(event: FocusEvent) {\n if (!isEventFromElement(event, this.hostElement)) return;\n this.hostElement.shadowRoot.querySelector('input').focus();\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('ariaLabel')\n ariaLabelObserver() {\n handleAriaLabel(this);\n }\n\n // #endregion\n // #region Local Methods\n\n generateCheckboxSVG() {\n if (this.type === 'favorite') {\n return (\n <q2-icon\n type=\"star\"\n class=\"checkbox-icon\"\n />\n );\n }\n\n if (this.type === 'toggle') {\n return this.generateToggleSVG();\n }\n\n return (\n <svg\n aria-hidden=\"true\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n class=\"checkbox-icon\"\n focusable=\"false\"\n >\n <rect\n x=\"1\"\n y=\"1\"\n width=\"18\"\n height=\"18\"\n rx=\"3\"\n />\n {(this.checked || this.indeterminate) && this.generateCheckBoxSVGFill()}\n </svg>\n );\n }\n\n generateCheckBoxSVGFill() {\n if (this.indeterminate) {\n return (\n <line\n class=\"checkbox-fill indeterminate-fill\"\n x1=\"4\"\n y1=\"10\"\n x2=\"16\"\n y2=\"10\"\n />\n );\n }\n return (\n <polyline\n class=\"checkbox-fill checked-fill\"\n points=\"5 11 8.5 14.5 15 6\"\n />\n );\n }\n\n generateToggleSVG() {\n return (\n <div class=\"toggle-svg\">\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n viewBox=\"0 0 46 14\"\n class=\"toggle-track\"\n test-id=\"toggleTrack\"\n >\n <rect\n width=\"36\"\n height=\"14\"\n rx=\"7\"\n x=\"5\"\n />\n </svg>\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n viewBox=\"0 0 30 30\"\n class=\"toggle-indicator\"\n test-id=\"toggleIndicator\"\n >\n <circle\n class=\"toggle-hover-circle\"\n width=\"20\"\n height=\"20\"\n cx=\"15\"\n cy=\"15\"\n r=\"10\"\n />\n <circle\n class=\"toggle-circle\"\n width=\"20\"\n height=\"20\"\n cx=\"15\"\n cy=\"15\"\n r=\"10\"\n />\n <line\n class=\"off checked-fill\"\n x1=\"12\"\n y1=\"18\"\n x2=\"18\"\n y2=\"12\"\n />\n <line\n class=\"off checked-fill\"\n x1=\"12\"\n y1=\"12\"\n x2=\"18\"\n y2=\"18\"\n />\n <polyline\n class=\"on checked-fill\"\n points=\"11,16 14,19 18,12 14,19\"\n />\n </svg>\n </div>\n );\n }\n\n handleChangeEvent(event: CustomEvent<{ checked: boolean; value: string }>) {\n if (\n this.readonly ||\n this.disabled ||\n this.hostElement.onchange ||\n event.defaultPrevented ||\n event.target !== this.hostElement ||\n !event.detail\n ) {\n return;\n }\n this.checked = event.detail.checked;\n }\n\n onInputClick = (event: Event) => {\n event.stopPropagation();\n event.preventDefault();\n\n const isNotInteractive = this.disabled || this.readonly || this.slotReadonly;\n if (isNotInteractive) return;\n if (!(event.target instanceof HTMLInputElement)) return;\n const { value, checked } = event.target;\n\n this.change.emit({\n value,\n checked,\n });\n this.inputElement.focus();\n };\n\n // #endregion\n // #region Render Methods\n\n render() {\n const textLabelClasses = ['label-text'];\n if (this.hideLabel) textLabelClasses.push('sr');\n return (\n <div class=\"container\">\n <input\n ref={el => (this.inputElement = el)}\n aria-describedby={this.description ? 'description' : undefined}\n aria-invalid={this.hasError === undefined ? undefined : `${this.hasError}`}\n checked={this.indeterminate || this.checked || false}\n class=\"sr\"\n disabled={!!this.disabled || !!this.groupDisabled}\n id={this._id}\n name={this.name || this._id}\n onClick={this.onInputClick}\n test-id=\"q2CheckboxInnerCheckBox\"\n type=\"checkbox\"\n value={this.value}\n />\n <label\n htmlFor={this._id}\n class=\"label-control\"\n test-id=\"checkboxButton\"\n >\n {this.generateCheckboxSVG()}\n </label>\n <div class={textLabelClasses.join(' ')}>\n <label\n test-id=\"checkboxLabel\"\n htmlFor={this._id}\n >\n {loc(this.label)}\n <slot />\n </label>\n </div>\n {this.description && (\n <div\n class=\"description-text\"\n test-id=\"checkboxDescription\"\n id=\"description\"\n >\n {loc(this.description)}\n </div>\n )}\n </div>\n );\n }\n\n // #endregion\n}\n"]}
|
|
1
|
+
{"version":3,"file":"q2-checkbox.js","sourceRoot":"","sources":["../../../src/components/q2-checkbox/q2-checkbox.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, ComponentInterface, Prop, Element, Listen, Watch, Event, EventEmitter, h } from '@stencil/core';\nimport { createGuid, handleAriaLabel, isEventFromElement, loc, overrideFocus } from 'src/utils';\n\n@Component({ tag: 'q2-checkbox', shadow: true, styleUrl: 'q2-checkbox.scss' })\nexport class Q2Checkbox implements ComponentInterface {\n // #region Own Properties\n\n _id: string = `checkbox-${createGuid()}`;\n inputElement: HTMLInputElement;\n\n // #endregion\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region Public Property API\n\n /** Determine which side of the label the checkbox will render on. */\n @Prop({ reflect: true })\n alignment: string;\n\n /** @deprecated */\n @Prop({ reflect: true, mutable: true })\n ariaLabel: string;\n\n /** The state of the checkbox. This modifies the visual appearance of the element. */\n @Prop({ reflect: true, mutable: true })\n checked: boolean = false;\n\n /**\n * Populates a description that is displayed beneath the label.\n * @localizable\n */\n @Prop({ reflect: true })\n description: string;\n\n /** Disables the checkbox and prevents interaction. */\n @Prop({ reflect: true })\n disabled: boolean;\n\n /**\n * Used by q2-checkbox-group to disable all checkboxes in the group\n * @private\n */\n @Prop({ reflect: true })\n groupDisabled: boolean;\n\n /** Determines if the component should display in an errant state. */\n @Prop({ reflect: true })\n hasError: boolean = false;\n\n /**\n * Hide's the field's `<label>` element from view.\n *\n * @warning\n * Only use when a visible label is impractical.\n */\n @Prop({ reflect: true, mutable: true })\n hideLabel: boolean;\n\n /**\n * Used on a parent checkbox in a checkbox group (e.g. \"Select All\") to indicate that some, but not all, checkboxes in a group are checked.\n *\n * When `true`, the \"indeterminate\" selection style is applied.\n * To apply the standard \"checked\" selection style, `checked` must be true, and `indeterminate` must be `false`.\n */\n @Prop({ reflect: true })\n indeterminate: boolean;\n\n /**\n * The visible label text for the checkbox. Appears to the right of the box for 'default' and 'favorite' checkboxes, and to the left for 'toggle' checkboxes.\n * Yielded content will be adjacent to this text.\n * @localizable\n */\n @Prop({ reflect: true, mutable: true })\n label: string;\n\n /** A static string used to establish a symbolic relationship between checkboxes. */\n @Prop({ reflect: true })\n name: string;\n\n /** The field is not interactive, but remains focusable. */\n @Prop({ reflect: true })\n readonly: boolean;\n\n /** The field is not interactive, but remains focusable. */\n @Prop({ reflect: true })\n slotReadonly: boolean;\n\n /** The visual style of the checkbox. This does not need to be defined for a standard checkbox. */\n @Prop({ reflect: true })\n type: 'favorite' | 'toggle';\n\n /** A static reference value for the checkbox. */\n @Prop({ reflect: true })\n value: string;\n\n // #endregion\n // #region Events\n\n /**\n * Emitted when the checkbox is toggled.\n * @legacyEvent\n */\n @Event()\n change: EventEmitter<{ value: string; checked: boolean }>;\n\n // #endregion\n // #region Component Lifecycle Events\n\n componentWillLoad() {\n handleAriaLabel(this);\n }\n\n componentDidLoad(): void {\n overrideFocus(this.hostElement);\n this.hostElement.click = () => this.inputElement.click();\n }\n\n // #endregion\n // #region Listeners\n\n @Listen('change')\n defaultChangeHandler(event: CustomEvent) {\n // We use setTimeout to give an opportunity to call preventDefault\n setTimeout(() => this.handleChangeEvent(event), 0);\n }\n\n @Listen('focus')\n delegateFocus(event: FocusEvent) {\n if (!isEventFromElement(event, this.hostElement)) return;\n this.hostElement.shadowRoot.querySelector('input').focus();\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('ariaLabel')\n ariaLabelObserver() {\n handleAriaLabel(this);\n }\n\n // #endregion\n // #region Local Methods\n\n generateCheckboxSVG() {\n if (this.type === 'favorite') {\n return (\n <q2-icon\n type=\"star\"\n class=\"checkbox-icon\"\n />\n );\n }\n\n if (this.type === 'toggle') {\n return this.generateToggleSVG();\n }\n\n return (\n <svg\n aria-hidden=\"true\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n class=\"checkbox-icon\"\n focusable=\"false\"\n >\n <rect\n x=\"1\"\n y=\"1\"\n width=\"18\"\n height=\"18\"\n rx=\"3\"\n />\n {(this.checked || this.indeterminate) && this.generateCheckBoxSVGFill()}\n </svg>\n );\n }\n\n generateCheckBoxSVGFill() {\n if (this.indeterminate) {\n return (\n <line\n class=\"checkbox-fill indeterminate-fill\"\n x1=\"4\"\n y1=\"10\"\n x2=\"16\"\n y2=\"10\"\n />\n );\n }\n return (\n <polyline\n class=\"checkbox-fill checked-fill\"\n points=\"5 11 8.5 14.5 15 6\"\n />\n );\n }\n\n generateToggleSVG() {\n return (\n <div class=\"toggle-svg\">\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n viewBox=\"0 0 46 14\"\n class=\"toggle-track\"\n test-id=\"toggleTrack\"\n >\n <rect\n width=\"36\"\n height=\"14\"\n rx=\"7\"\n x=\"5\"\n />\n </svg>\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n viewBox=\"0 0 30 30\"\n class=\"toggle-indicator\"\n test-id=\"toggleIndicator\"\n >\n <circle\n class=\"toggle-hover-circle\"\n width=\"20\"\n height=\"20\"\n cx=\"15\"\n cy=\"15\"\n r=\"10\"\n />\n <circle\n class=\"toggle-circle\"\n width=\"20\"\n height=\"20\"\n cx=\"15\"\n cy=\"15\"\n r=\"10\"\n />\n <line\n class=\"off checked-fill\"\n x1=\"12\"\n y1=\"18\"\n x2=\"18\"\n y2=\"12\"\n />\n <line\n class=\"off checked-fill\"\n x1=\"12\"\n y1=\"12\"\n x2=\"18\"\n y2=\"18\"\n />\n <polyline\n class=\"on checked-fill\"\n points=\"11,16 14,19 18,12 14,19\"\n />\n </svg>\n </div>\n );\n }\n\n handleChangeEvent(event: CustomEvent<{ checked: boolean; value: string }>) {\n if (\n this.readonly ||\n this.disabled ||\n this.hostElement.onchange ||\n event.defaultPrevented ||\n event.target !== this.hostElement ||\n !event.detail\n ) {\n return;\n }\n this.checked = event.detail.checked;\n }\n\n onInputClick = (event: Event) => {\n event.stopPropagation();\n event.preventDefault();\n\n const isNotInteractive = this.disabled || this.readonly || this.slotReadonly;\n if (isNotInteractive) return;\n if (!(event.target instanceof HTMLInputElement)) return;\n const { value, checked } = event.target;\n\n this.change.emit({\n value,\n checked,\n });\n this.inputElement.focus();\n };\n\n // #endregion\n // #region Render Methods\n\n render() {\n const textLabelClasses = ['label-text'];\n if (this.hideLabel) textLabelClasses.push('sr');\n return (\n <div class=\"container\">\n <input\n ref={el => (this.inputElement = el)}\n aria-describedby={this.description ? 'description' : undefined}\n aria-invalid={this.hasError === undefined ? undefined : `${this.hasError}`}\n checked={this.indeterminate || this.checked || false}\n class=\"sr\"\n disabled={!!this.disabled || !!this.groupDisabled}\n id={this._id}\n name={this.name || this._id}\n onClick={this.onInputClick}\n test-id=\"q2CheckboxInnerCheckBox\"\n type=\"checkbox\"\n value={this.value}\n />\n <label\n htmlFor={this._id}\n class=\"label-control\"\n test-id=\"checkboxButton\"\n >\n {this.generateCheckboxSVG()}\n </label>\n <div class={textLabelClasses.join(' ')}>\n <label\n test-id=\"checkboxLabel\"\n htmlFor={this._id}\n >\n {loc(this.label)}\n <slot />\n </label>\n </div>\n {this.description && (\n <div\n class=\"description-text\"\n test-id=\"checkboxDescription\"\n id=\"description\"\n >\n {loc(this.description)}\n </div>\n )}\n </div>\n );\n }\n\n // #endregion\n}\n"]}
|
package/dist/{test/elements → collection/components/q2-checkbox/test}/q2-checkbox-test.e2e.js
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { setTestStrings, setup, dispatchEvent, testDeprecatedAriaLabel, getActiveElementTestId, getNestedElementStyle, getListOfStyleCompilationIssues, evaluateA11y, } from "
|
|
1
|
+
import { setTestStrings, setup, dispatchEvent, testDeprecatedAriaLabel, getActiveElementTestId, getNestedElementStyle, getListOfStyleCompilationIssues, evaluateA11y, } from "../../../utils/helpers";
|
|
2
2
|
describe('q2-checkbox', () => {
|
|
3
3
|
let page;
|
|
4
4
|
let normalStyle;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"q2-checkbox-test.e2e.js","sourceRoot":"","sources":["../../../../src/components/q2-checkbox/test/q2-checkbox-test.e2e.ts"],"names":[],"mappings":"AACA,OAAO,EACH,cAAc,EACd,KAAK,EACL,aAAa,EACb,uBAAuB,EACvB,sBAAsB,EACtB,qBAAqB,EACrB,+BAA+B,EAC/B,YAAY,GACf,MAAM,iBAAiB,CAAC;AAEzB,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IACzB,IAAI,IAAa,CAAC;IAClB,IAAI,WAAW,CAAC;IAChB,IAAI,UAAU,CAAC;IACf,MAAM,KAAK,GAAG,aAAa,CAAC;IAE5B,MAAM,SAAS,GAAG,KAAK,EAAE,QAAgB,EAAE,EAAE,EAAE;QAC3C,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjC,IAAI,GAAG,MAAM,KAAK,CAAC;YACf,IAAI,EAAE,gBAAgB,KAAK,iBAAiB;SAC/C,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,OAAO,IAAI,CAAC;IAChB,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,KAAK,EAAE,IAAa,EAAE,EAAE;QACtC,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,CAAC,EAAE,eAAC,OAAA,MAAA,MAAA,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,0CAAE,OAAO,mCAAI,KAAK,CAAA,EAAA,CAAC,CAAC;IACnG,CAAC,CAAC;IAEF,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;QACtD,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,UAAU,KAAK,GAAG,CAAC,CAAC;QACjD,MAAM,CAAC,MAAM,+BAA+B,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACvF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;QAChE,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,UAAU,KAAK,aAAa,CAAC,CAAC;QAC3D,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAClE,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QAE/D,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAClC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QACpD,MAAM,CAAC,MAAM,aAAa,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACzC,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;YACpD,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,UAAU,KAAK,GAAG,CAAC,CAAC;YACjD,MAAM,aAAa,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;YAC/C,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;QACrB,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;YACnB,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;gBAC9C,IAAI,GAAG,MAAM,SAAS,CAAC,qBAAqB,CAAC,CAAC;gBAC9C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAChD,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;gBAEtD,MAAM,CAAC,MAAM,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACtD,MAAM,CAAC,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC1C,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;gBAEhD,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;gBAClD,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;gBAE5B,MAAM,CAAC,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACzC,MAAM,CAAC,QAAQ,CAAC,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;gBAC5C,MAAM,CAAC,SAAS,CAAC,CAAC,yBAAyB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC5E,MAAM,CAAC,MAAM,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;YAClF,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;gBACxD,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC;oBACrB,IAAI,EAAE,oDAAoD;iBAC7D,CAAC,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAChD,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;gBAE/D,MAAM,CAAC,MAAM,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACtD,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;gBAChD,MAAM,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;gBAErD,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;gBAClD,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;gBAE5B,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;gBAChD,MAAM,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;YACzD,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;gBACxD,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC;oBACrB,IAAI,EAAE,oDAAoD;iBAC7D,CAAC,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAChD,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;gBAE/D,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;gBAChD,MAAM,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;gBAErD,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,EAAyB,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC3E,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;gBAE5B,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;gBAChD,MAAM,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;gBACrD,MAAM,CAAC,MAAM,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC1D,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;QACnB,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;YACzB,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;gBAC/B,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;oBACzC,IAAI,GAAG,MAAM,SAAS,CAAC,qBAAqB,CAAC,CAAC;oBAC9C,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;oBACzE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;oBAEvD,MAAM,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC;oBAC/B,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC;gBAC1D,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;YACH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;gBAC3B,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;oBACzC,IAAI,GAAG,MAAM,SAAS,CAAC,+CAA+C,CAAC,CAAC;oBACxE,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;oBACzE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;oBAEvD,MAAM,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;oBAC/C,MAAM,CAAC,KAAK,CAAC,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC;gBACtE,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;YAC3B,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;gBACtE,IAAI,GAAG,MAAM,SAAS,CAAC,oCAAoC,CAAC,CAAC;gBAC7D,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;gBAE5D,MAAM,CAAC,UAAU,CAAC,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;YACnD,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QACH,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;YACtB,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;gBAC3B,EAAE,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;oBACvC,IAAI,GAAG,MAAM,SAAS,CAAC,WAAW,CAAC,CAAC;oBACpC,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;oBAE/D,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACpE,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;YACH,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;gBAC/B,EAAE,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;oBACxC,IAAI,GAAG,MAAM,SAAS,EAAE,CAAC;oBACzB,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;oBAE/D,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACrE,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QACH,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;YACtB,MAAM,aAAa,GAAG,KAAK,EAAE,IAAa,EAAE,EAAE;gBAC1C,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,EAAyB,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC3E,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;YAChC,CAAC,CAAC;YAEF,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;gBACzB,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;oBAC9C,IAAI,GAAG,MAAM,SAAS,CAAC,+BAA+B,CAAC,CAAC;oBACxD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;oBAC/C,MAAM,OAAO,CAAC,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;oBAC5C,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;oBAC5B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;oBACnE,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC;oBACvB,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;oBAE5B,MAAM,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;gBAC7D,CAAC,CAAC,CAAC;gBACH,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;oBAC9C,IAAI,GAAG,MAAM,SAAS,CAAC,+BAA+B,CAAC,CAAC;oBACxD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;oBAC/C,MAAM,OAAO,CAAC,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;oBAC5C,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;oBAC5B,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;oBACtE,MAAM,cAAc,CAAC,KAAK,EAAE,CAAC;oBAC7B,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;oBAE5B,MAAM,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;gBAC7D,CAAC,CAAC,CAAC;gBACH,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;oBAC9D,IAAI,GAAG,MAAM,SAAS,CAAC,8BAA8B,CAAC,CAAC;oBACvD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;oBAEhD,MAAM,CAAC,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC1C,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;oBAEhD,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;oBAE1B,MAAM,CAAC,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC1C,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;gBACpD,CAAC,CAAC,CAAC;gBACH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;oBACjE,IAAI,GAAG,MAAM,SAAS,CAAC,qBAAqB,CAAC,CAAC;oBAC9C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;oBAEhD,MAAM,CAAC,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC1C,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;oBAEhD,QAAQ,CAAC,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;oBACvC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;oBAC5B,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;oBAE1B,MAAM,CAAC,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC1C,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;gBACpD,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;YACH,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;gBAC1B,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;oBACtD,IAAI,GAAG,MAAM,SAAS,CAAC,qBAAqB,CAAC,CAAC;oBAC9C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;oBAEhD,MAAM,CAAC,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC1C,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;oBAEhD,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;oBAE1B,MAAM,CAAC,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACzC,MAAM,CAAC,QAAQ,CAAC,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;gBAChD,CAAC,CAAC,CAAC;gBACH,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;oBACzD,IAAI,GAAG,MAAM,SAAS,CAAC,8BAA8B,CAAC,CAAC;oBACvD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;oBAEhD,MAAM,CAAC,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC1C,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;oBAEhD,QAAQ,CAAC,WAAW,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;oBACxC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;oBAC5B,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;oBAE1B,MAAM,CAAC,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACzC,MAAM,CAAC,QAAQ,CAAC,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;gBAChD,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;YACnB,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;gBACnC,EAAE,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;oBACtC,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC;wBACrB,IAAI,EAAE,sDAAsD;qBAC/D,CAAC,CAAC;oBACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;oBAEjD,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,OAAO,CAAC,EAAE;wBACnE,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,aAAa,CAAc,aAAa,CAAC,CAAC;wBAC/E,OAAO;4BACH,gBAAgB,EAAE,SAAS,CAAC,YAAY;yBAC3C,CAAC;oBACN,CAAC,CAAC,CAAC;oBAEH,QAAQ,CAAC,WAAW,CAChB,OAAO,EACP,oRAAoR,CACvR,CAAC;oBAEF,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;oBAE5B,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,OAAO,CAAC,EAAE;wBAClE,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,aAAa,CAAc,aAAa,CAAC,CAAC;wBAC/E,OAAO;4BACH,eAAe,EAAE,SAAS,CAAC,YAAY;yBAC1C,CAAC;oBACN,CAAC,CAAC,CAAC;oBAEH,MAAM,CAAC,gBAAgB,CAAC,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;gBAC3D,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE;YAClB,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;gBACpC,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;oBACzC,IAAI,GAAG,MAAM,SAAS,EAAE,CAAC;oBACzB,MAAM,eAAe,GAAG,MAAM,qBAAqB,CAC/C,IAAI,EACJ,CAAC,aAAa,EAAE,mBAAmB,CAAC,EACpC,aAAa,CAChB,CAAC;oBACF,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;oBACvE,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACpC,MAAM,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACpC,CAAC,CAAC,CAAC;gBAEH,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;oBACnD,IAAI,GAAG,MAAM,SAAS,CAAC,eAAe,CAAC,CAAC;oBACxC,MAAM,IAAI,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;oBAChD,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;oBAE5B,MAAM,eAAe,GAAG,MAAM,qBAAqB,CAC/C,IAAI,EACJ,CAAC,aAAa,EAAE,mBAAmB,CAAC,EACpC,aAAa,CAChB,CAAC;oBACF,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACxC,CAAC,CAAC,CAAC;gBAEH,QAAQ,CAAC,mCAAmC,EAAE,GAAG,EAAE;oBAC/C,EAAE,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;wBACvC,IAAI,GAAG,MAAM,SAAS,CAAC,SAAS,CAAC,CAAC;wBAClC,MAAM,eAAe,GAAG,MAAM,qBAAqB,CAC/C,IAAI,EACJ,CAAC,aAAa,EAAE,mBAAmB,CAAC,EACpC,aAAa,CAChB,CAAC;wBACF,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;wBACvE,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBACpC,MAAM,CAAC,YAAY,CAAC,CAAC,UAAU,EAAE,CAAC;oBACtC,CAAC,CAAC,CAAC;oBAEH,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;wBACnD,IAAI,GAAG,MAAM,SAAS,CAAC,SAAS,CAAC,CAAC;wBAClC,MAAM,IAAI,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;wBACnD,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;wBAC5B,MAAM,eAAe,GAAG,MAAM,qBAAqB,CAC/C,IAAI,EACJ,CAAC,aAAa,EAAE,mBAAmB,CAAC,EACpC,aAAa,CAChB,CAAC;wBACF,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;wBACvE,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBACpC,MAAM,CAAC,YAAY,CAAC,CAAC,UAAU,EAAE,CAAC;oBACtC,CAAC,CAAC,CAAC;oBAEH,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;wBAC9D,IAAI,GAAG,MAAM,SAAS,CAAC,iBAAiB,CAAC,CAAC;wBAC1C,MAAM,eAAe,GAAG,MAAM,qBAAqB,CAC/C,IAAI,EACJ,CAAC,aAAa,EAAE,mBAAmB,CAAC,EACpC,aAAa,CAChB,CAAC;wBACF,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;wBACvE,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBACpC,MAAM,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC;oBACpC,CAAC,CAAC,CAAC;gBACP,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;YAEH,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;gBAClC,MAAM,eAAe,GAAG,KAAK,EAAE,IAAa,EAAE,EAAE;oBAC5C,MAAM,eAAe,GAAG,MAAM,qBAAqB,CAC/C,IAAI,EACJ,CAAC,aAAa,EAAE,mBAAmB,CAAC,EACpC,aAAa,CAChB,CAAC;oBACF,MAAM,4BAA4B,GAAG,MAAM,qBAAqB,CAC5D,IAAI,EACJ,CAAC,aAAa,EAAE,sBAAsB,CAAC,EACvC,cAAc,CACjB,CAAC;oBACF,MAAM,mBAAmB,GAAG,MAAM,qBAAqB,CACnD,IAAI,EACJ,CAAC,aAAa,EAAE,mBAAmB,CAAC,EACpC,MAAM,CACT,CAAC;oBACF,MAAM,mBAAmB,GAAG,MAAM,qBAAqB,CACnD,IAAI,EACJ,CAAC,aAAa,EAAE,kBAAkB,CAAC,EACnC,SAAS,CACZ,CAAC;oBACF,MAAM,kBAAkB,GAAG,MAAM,qBAAqB,CAClD,IAAI,EACJ,CAAC,aAAa,EAAE,iBAAiB,CAAC,EAClC,SAAS,CACZ,CAAC;oBAEF,OAAO;wBACH,eAAe;wBACf,mBAAmB;wBACnB,4BAA4B;wBAC5B,mBAAmB;wBACnB,kBAAkB;qBACrB,CAAC;gBACN,CAAC,CAAC;gBAEF,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;oBACzC,IAAI,GAAG,MAAM,SAAS,CAAC,eAAe,CAAC,CAAC;oBACxC,MAAM,cAAc,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,CAAC;oBACnD,MAAM,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACnD,MAAM,CAAC,cAAc,CAAC,4BAA4B,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAChE,MAAM,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACvD,MAAM,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACrD,MAAM,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACxD,CAAC,CAAC,CAAC;gBAEH,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;oBACnD,IAAI,GAAG,MAAM,SAAS,CAAC,eAAe,CAAC,CAAC;oBACxC,MAAM,IAAI,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;oBAChD,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;oBAE5B,MAAM,cAAc,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,CAAC;oBACnD,MAAM,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACnD,MAAM,CAAC,cAAc,CAAC,4BAA4B,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACjE,MAAM,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACvD,MAAM,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACrD,MAAM,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACxD,CAAC,CAAC,CAAC;gBAEH,QAAQ,CAAC,mCAAmC,EAAE,GAAG,EAAE;oBAC/C,EAAE,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;wBACvC,IAAI,GAAG,MAAM,SAAS,CAAC,uBAAuB,CAAC,CAAC;wBAChD,MAAM,cAAc,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,CAAC;wBACnD,MAAM,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBACnD,MAAM,CAAC,cAAc,CAAC,4BAA4B,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBAChE,MAAM,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBACxD,MAAM,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBACrD,MAAM,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACxD,CAAC,CAAC,CAAC;oBAEH,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;wBACnD,IAAI,GAAG,MAAM,SAAS,CAAC,uBAAuB,CAAC,CAAC;wBAChD,MAAM,IAAI,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;wBAChD,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;wBAE5B,MAAM,cAAc,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,CAAC;wBACnD,MAAM,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBACnD,MAAM,CAAC,cAAc,CAAC,4BAA4B,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBACjE,MAAM,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBACxD,MAAM,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBACrD,MAAM,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACxD,CAAC,CAAC,CAAC;oBAEH,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;wBAC9D,IAAI,GAAG,MAAM,SAAS,CAAC,+BAA+B,CAAC,CAAC;wBACxD,MAAM,cAAc,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,CAAC;wBACnD,MAAM,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBACnD,MAAM,CAAC,cAAc,CAAC,4BAA4B,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBAChE,MAAM,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBACvD,MAAM,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBACrD,MAAM,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACxD,CAAC,CAAC,CAAC;gBACP,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;QACxD,IAAI,GAAG,MAAM,SAAS,CAAC,qBAAqB,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAEhD,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QAChD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QAC5D,MAAM,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAChC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,QAAQ,CAAC,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;QACpC,IAAI,GAAG,MAAM,KAAK,CAAC;YACf,IAAI,EAAE;;;;aAIL;SACJ,CAAC,CAAC;QACH,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,OAAO,CAAC,EAAE;YAC1E,MAAM,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC;YACnF,OAAO;gBACH,WAAW,EAAE,WAAW,CAAC,WAAW;gBACpC,UAAU,EAAE,WAAW,CAAC,SAAS;aACpC,CAAC;QACN,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAC/C,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;QACjE,IAAI,GAAG,MAAM,SAAS,CAAC,8BAA8B,CAAC,CAAC;QACvD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAChD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAEpE,MAAM,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACvC,MAAM,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;QAEpD,QAAQ,CAAC,WAAW,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAC5C,QAAQ,CAAC,WAAW,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QACzC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;QACrC,IAAI,GAAG,MAAM,SAAS,EAAE,CAAC;QACzB,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QAC/D,MAAM,eAAe,GAAG,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAEzD,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAEpE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAChD,QAAQ,CAAC,WAAW,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAC7C,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACvD,IAAI,GAAG,MAAM,SAAS,EAAE,CAAC;QACzB,IAAI,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QAE5D,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAEnC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAChD,QAAQ,CAAC,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACzC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QAExD,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACvC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;QAClD,IAAI,GAAG,MAAM,SAAS,EAAE,CAAC;QACzB,IAAI,SAAS,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAE/D,MAAM,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC;QAE7B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAChD,QAAQ,CAAC,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACvC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,SAAS,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAE3D,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;QACnC,IAAI,GAAG,MAAM,SAAS,CAAC,SAAS,CAAC,CAAC;QAClC,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QAE/D,MAAM,CAAC,MAAM,aAAa,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAEjE,IAAI,YAAY,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QAErE,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QACpC,MAAM,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QAEjD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAChD,QAAQ,CAAC,WAAW,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACvC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,YAAY,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QAEjE,MAAM,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;QACzC,IAAI,GAAG,MAAM,SAAS,CAAC,eAAe,CAAC,CAAC;QACxC,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QAE/D,MAAM,CAAC,MAAM,aAAa,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAEjE,IAAI,YAAY,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QAErE,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QACpC,MAAM,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC;QAEvD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAChD,QAAQ,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACtC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,YAAY,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QAEjE,+CAA+C;QAC/C,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QACpC,MAAM,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC;QACvD,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QAErD,QAAQ,CAAC,WAAW,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;QAC7C,QAAQ,CAAC,WAAW,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACvC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,YAAY,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QAEjE,MAAM,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;QACrD,IAAI,GAAG,MAAM,SAAS,EAAE,CAAC;QACzB,MAAM,cAAc,CAAC,IAAI,EAAE;YACvB,mBAAmB,EAAE,YAAY;YACjC,uBAAuB,EAAE,iBAAiB;SAC7C,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAChD,QAAQ,CAAC,WAAW,CAAC,WAAW,EAAE,uBAAuB,CAAC,CAAC;QAC3D,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAElE,MAAM,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;QAElD,QAAQ,CAAC,WAAW,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;QACnD,QAAQ,CAAC,WAAW,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QACzC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAChC,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;YAClD,IAAI,GAAG,MAAM,SAAS,EAAE,CAAC;YACzB,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC,CAAC;YACpD,MAAM,iBAAiB,GAAG,KAAK,EAAE,IAAa,EAAE,EAAE;gBAC9C,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,CAAC,EAAE;;oBAClC,OAAO,MAAA,EAAE,CAAC,UAAU,CAAC,aAAa,0CAAE,YAAY,CAAC,SAAS,CAAC,CAAC;gBAChE,CAAC,CAAC,CAAC;YACP,CAAC,CAAC;YAEF,MAAM,CAAC,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;QAC7E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;YAC/C,IAAI,GAAG,MAAM,SAAS,EAAE,CAAC;YACzB,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC,CAAC;YACpD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAChD,MAAM,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YACrC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;YAC5B,MAAM,iBAAiB,GAAG,KAAK,EAAE,IAAa,EAAE,EAAE;gBAC9C,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,CAAC,EAAE;;oBAClC,OAAO,MAAA,EAAE,CAAC,UAAU,CAAC,aAAa,0CAAE,YAAY,CAAC,SAAS,CAAC,CAAC;gBAChE,CAAC,CAAC,CAAC;YACP,CAAC,CAAC;YAEF,MAAM,CAAC,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;QAC7E,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;QAC5B,QAAQ,CAAC,oCAAoC,EAAE,GAAG,EAAE;YAChD,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;gBAC9B,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;oBACzD,IAAI,GAAG,MAAM,SAAS,CAAC,mCAAmC,CAAC,CAAC;oBAC5D,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;oBAC7E,WAAW,GAAG,MAAM,YAAY,CAAC,gBAAgB,EAAE,CAAC;oBAEpD,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAChD,CAAC,CAAC,CAAC;gBACH,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;oBACjD,IAAI,GAAG,MAAM,SAAS,CAAC,mCAAmC,CAAC,CAAC;oBAC5D,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;oBAC7E,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;oBAChC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;oBAC5B,UAAU,GAAG,MAAM,YAAY,CAAC,gBAAgB,EAAE,CAAC;oBAEnD,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAChD,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QACH,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;YAC1C,QAAQ,CAAC,oCAAoC,EAAE,GAAG,EAAE;gBAChD,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;oBACzC,IAAI,GAAG,MAAM,SAAS,CAAC,qBAAqB,CAAC,CAAC;oBAC9C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;oBAC9D,WAAW,GAAG,MAAM,GAAG,CAAC,gBAAgB,EAAE,CAAC;oBAE3C,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;oBAChC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;oBAC5B,UAAU,GAAG,MAAM,GAAG,CAAC,gBAAgB,EAAE,CAAC;oBAE1C,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBAC1D,CAAC,CAAC,CAAC;gBACH,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;oBAC9C,IAAI,GAAG,MAAM,SAAS,CAAC,qBAAqB,CAAC,CAAC;oBAC9C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;oBAC7D,WAAW,GAAG,MAAM,KAAK,CAAC,gBAAgB,EAAE,CAAC;oBAE7C,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;oBAE9C,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;oBAChC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;oBAC5B,UAAU,GAAG,MAAM,KAAK,CAAC,gBAAgB,EAAE,CAAC;oBAE5C,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;gBAClE,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;YACH,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;gBAC5C,EAAE,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;oBAC3C,IAAI,GAAG,MAAM,SAAS,CAAC,qBAAqB,CAAC,CAAC;oBAC9C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;oBAC9D,WAAW,GAAG,MAAM,GAAG,CAAC,gBAAgB,EAAE,CAAC;oBAE3C,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;oBAEzD,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,EAAe,EAAE,EAAE;wBAChD,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,yCAAyC,EAAE,gBAAgB,CAAC,CAAC;oBACtF,CAAC,CAAC,CAAC;oBACH,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;oBAChC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;oBAC5B,UAAU,GAAG,MAAM,GAAG,CAAC,gBAAgB,EAAE,CAAC;oBAE1C,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;gBACxD,CAAC,CAAC,CAAC;gBACH,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;oBAC/C,IAAI,GAAG,MAAM,SAAS,CAAC,qBAAqB,CAAC,CAAC;oBAC9C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;oBAC7D,WAAW,GAAG,MAAM,KAAK,CAAC,gBAAgB,EAAE,CAAC;oBAE7C,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;oBAE9C,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,EAAe,EAAE,EAAE;wBAChD,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,wCAAwC,EAAE,KAAK,CAAC,CAAC;oBAC1E,CAAC,CAAC,CAAC;oBACH,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;oBAChC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;oBAC5B,UAAU,GAAG,MAAM,KAAK,CAAC,gBAAgB,EAAE,CAAC;oBAE5C,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACjD,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QACH,QAAQ,CAAC,sCAAsC,EAAE,GAAG,EAAE;YAClD,QAAQ,CAAC,oCAAoC,EAAE,GAAG,EAAE;gBAChD,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;oBACzC,IAAI,GAAG,MAAM,SAAS,CAAC,qCAAqC,CAAC,CAAC;oBAC9D,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;oBACvD,WAAW,GAAG,MAAM,GAAG,CAAC,gBAAgB,EAAE,CAAC;oBAE3C,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;oBAChC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;oBAC5B,UAAU,GAAG,MAAM,GAAG,CAAC,gBAAgB,EAAE,CAAC;oBAE1C,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBAC1D,CAAC,CAAC,CAAC;gBACH,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;oBAC9C,IAAI,GAAG,MAAM,SAAS,CAAC,qCAAqC,CAAC,CAAC;oBAC9D,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;oBAC7D,WAAW,GAAG,MAAM,KAAK,CAAC,gBAAgB,EAAE,CAAC;oBAE7C,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;oBAE9C,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;oBAChC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;oBAC5B,UAAU,GAAG,MAAM,KAAK,CAAC,gBAAgB,EAAE,CAAC;oBAE5C,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;gBAClE,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;YACH,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;gBAC5C,EAAE,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;oBAC3C,IAAI,GAAG,MAAM,SAAS,CAAC,qCAAqC,CAAC,CAAC;oBAC9D,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;oBAC9D,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;oBAC5B,WAAW,GAAG,MAAM,GAAG,CAAC,gBAAgB,EAAE,CAAC;oBAE3C,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;oBAEzD,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,EAAe,EAAE,EAAE;wBAChD,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,4CAA4C,EAAE,gBAAgB,CAAC,CAAC;oBACzF,CAAC,CAAC,CAAC;oBAEH,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;oBAChC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;oBAC5B,UAAU,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,yBAAyB,EAAE,CAAC,CAAC,EAAE;wBACzD,MAAM,GAAG,GAAG,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;wBAC9C,MAAM,IAAI,GAAG,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;wBACvC,MAAM,KAAK,GAAG,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;wBAC5C,OAAO,KAAK,CAAC,MAAM,CAAC;oBACxB,CAAC,CAAC,CAAC;oBAEH,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;gBACjD,CAAC,CAAC,CAAC;gBACH,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;oBAC/C,IAAI,GAAG,MAAM,SAAS,CAAC,qCAAqC,CAAC,CAAC;oBAC9D,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;oBAC7D,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;oBAC5B,WAAW,GAAG,MAAM,KAAK,CAAC,gBAAgB,EAAE,CAAC;oBAE7C,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;oBAE9C,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,EAAe,EAAE,EAAE;wBAChD,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,wCAAwC,EAAE,KAAK,CAAC,CAAC;oBAC1E,CAAC,CAAC,CAAC;oBACH,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;oBAChC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;oBAC5B,UAAU,GAAG,MAAM,KAAK,CAAC,gBAAgB,EAAE,CAAC;oBAE5C,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACjD,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;QACpB,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;YACpB,QAAQ,CAAC,mCAAmC,EAAE,GAAG,EAAE;gBAC/C,EAAE,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;oBAC3E,IAAI,GAAG,MAAM,KAAK,CAAC;wBACf,IAAI,EAAE;;;;;;;yBAOL;qBACJ,CAAC,CAAC;oBACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;oBAChD,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;oBACtD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;oBAE5D,MAAM,CAAC,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAE1C,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;oBACzB,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;oBAE5B,MAAM,CAAC,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC1C,MAAM,CAAC,MAAM,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;oBAC7D,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC;gBAChD,CAAC,CAAC,CAAC;gBAEH,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;oBACzE,IAAI,GAAG,MAAM,KAAK,CAAC;wBACf,IAAI,EAAE;;;;;yBAKL;qBACJ,CAAC,CAAC;oBACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;oBAChD,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;oBACtD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;oBAE5D,MAAM,CAAC,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC1C,MAAM,CAAC,MAAM,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAE1D,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;oBACzB,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;oBAE5B,MAAM,CAAC,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC1C,MAAM,CAAC,MAAM,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;oBAC7D,MAAM,CAAC,SAAS,CAAC,CAAC,yBAAyB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC;gBAChG,CAAC,CAAC,CAAC;gBAEH,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;oBACpE,IAAI,GAAG,MAAM,KAAK,CAAC;wBACf,IAAI,EAAE;;;;;;;qBAOT;qBACA,CAAC,CAAC;oBACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;oBAChD,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;oBACtD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;oBAE5D,MAAM,CAAC,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAE1C,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;oBACzB,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;oBAE5B,MAAM,CAAC,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACzC,MAAM,CAAC,MAAM,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBAC5D,MAAM,CAAC,SAAS,CAAC,CAAC,yBAAyB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC;gBAChG,CAAC,CAAC,CAAC;gBAEH,EAAE,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;oBAC5E,IAAI,GAAG,MAAM,KAAK,CAAC;wBACf,IAAI,EAAE;;;;;;;qBAOT;qBACA,CAAC,CAAC;oBAEH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;oBAChD,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;oBACtD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;oBAE5D,MAAM,CAAC,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAE1C,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;oBACzB,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;oBAE5B,MAAM,CAAC,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC1C,MAAM,CAAC,MAAM,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;oBAC7D,MAAM,CAAC,SAAS,CAAC,CAAC,yBAAyB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC;gBAChG,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;YAEH,QAAQ,CAAC,0CAA0C,EAAE,GAAG,EAAE;gBACtD,EAAE,CAAC,6FAA6F,EAAE,KAAK,IAAI,EAAE;oBACzG,IAAI,GAAG,MAAM,KAAK,CAAC;wBACf,IAAI,EAAE;;;;;;;qBAOT;qBACA,CAAC,CAAC;oBACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;oBAChD,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;oBACtD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;oBAE5D,MAAM,CAAC,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAE1C,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;oBACzB,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;oBAE5B,MAAM,CAAC,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACzC,MAAM,CAAC,MAAM,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBAC5D,MAAM,CAAC,SAAS,CAAC,CAAC,yBAAyB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC;gBAChG,CAAC,CAAC,CAAC;gBAEH,EAAE,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;oBAC3E,IAAI,GAAG,MAAM,KAAK,CAAC;wBACf,IAAI,EAAE;;;;;;;;qBAQT;qBACA,CAAC,CAAC;oBACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;oBAChD,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;oBACtD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;oBAE5D,MAAM,CAAC,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAE1C,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;oBACzB,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;oBAE5B,MAAM,CAAC,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC1C,MAAM,CAAC,MAAM,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;oBAC7D,MAAM,CAAC,SAAS,CAAC,CAAC,yBAAyB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC;gBAChG,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;QACzB,EAAE,CAAC,sEAAsE,EAAE,KAAK,IAAI,EAAE;YAClF,IAAI,GAAG,MAAM,SAAS,CAAC,qBAAqB,CAAC,CAAC;YAC9C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;YAC7D,IAAI,WAAW,GAAG,MAAM,KAAK,CAAC,gBAAgB,EAAE,CAAC;YAEjD,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAE9C,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,EAAe,EAAE,EAAE;gBAChD,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;YACpE,CAAC,CAAC,CAAC;YACH,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;YAC5B,WAAW,GAAG,MAAM,KAAK,CAAC,gBAAgB,EAAE,CAAC;YAE7C,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;QAC1B,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;YACjD,MAAM,KAAK,GAAG,UAAU,CAAC;YACzB,IAAI,GAAG,MAAM,SAAS,CAAC,eAAe,KAAK,GAAG,CAAC,CAAC;YAEhD,MAAM,uBAAuB,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,CAAC;YACrE,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;YAElE,MAAM,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC","sourcesContent":["import { E2EPage } from '@stencil/core/testing';\nimport {\n setTestStrings,\n setup,\n dispatchEvent,\n testDeprecatedAriaLabel,\n getActiveElementTestId,\n getNestedElementStyle,\n getListOfStyleCompilationIssues,\n evaluateA11y,\n} from '@/utils/helpers';\n\ndescribe('q2-checkbox', () => {\n let page: E2EPage;\n let normalStyle;\n let hoverStyle;\n const label = 'My Checkbox';\n\n const setupPage = async (props: string = '') => {\n props = props ? ` ${props}` : '';\n page = await setup({\n html: `<q2-checkbox ${props}></q2-checkbox>`,\n });\n await page.waitForChanges();\n\n return page;\n };\n\n const isChecked = async (page: E2EPage) => {\n return page.$eval('q2-checkbox', el => el.shadowRoot.querySelector('input')?.checked ?? false);\n };\n\n it('properly compiles CSS vars and functions', async () => {\n const page = await setupPage(`label=\"${label}\"`);\n expect(await getListOfStyleCompilationIssues(page, 'q2-checkbox')).toHaveLength(0);\n });\n\n it('renders checkbox with label and unchecked checkbox', async () => {\n const page = await setupPage(`label=\"${label}\" value=\"1\"`);\n const foundLabel = await page.find('q2-checkbox >>> .label-text');\n const innerCheckbox = await page.find('q2-checkbox >>> input');\n\n expect(foundLabel).not.toBeNull();\n expect(foundLabel.innerText).toEqual('My Checkbox');\n expect(await innerCheckbox.getProperty('value')).toEqual('1');\n });\n\n describe('[A11y] guideline compliance', () => {\n it('Does not have accessibility violations', async () => {\n const page = await setupPage(`label=\"${label}\"`);\n const hasViolations = await evaluateA11y(page);\n expect(hasViolations).toBe(false);\n });\n });\n\n describe('Methods', () => {\n describe('click', () => {\n it('selects the checkbox when called', async () => {\n page = await setupPage('label=\"My Checkbox\"');\n const checkbox = await page.find('q2-checkbox');\n const changeSpy = await checkbox.spyOnEvent('change');\n\n expect(await getActiveElementTestId(page)).toBeNull();\n expect(await isChecked(page)).toBe(false);\n expect(checkbox).not.toHaveAttribute('checked');\n\n await page.$eval('q2-checkbox', el => el.click());\n await page.waitForChanges();\n\n expect(await isChecked(page)).toBe(true);\n expect(checkbox).toHaveAttribute('checked');\n expect(changeSpy).toHaveReceivedEventDetail({ checked: true, value: 'on' });\n expect(await getActiveElementTestId(page)).toEqual('q2CheckboxInnerCheckBox');\n });\n\n it('does not select the checkbox when readonly', async () => {\n const page = await setup({\n html: `<q2-checkbox label=\"Label\" readonly></q2-checkbox>`,\n });\n const checkbox = await page.find('q2-checkbox');\n const innerCheckbox = await page.find('q2-checkbox >>> input');\n\n expect(await getActiveElementTestId(page)).toBeNull();\n expect(checkbox).not.toHaveAttribute('checked');\n expect(innerCheckbox).not.toHaveAttribute('checked');\n\n await page.$eval('q2-checkbox', el => el.click());\n await page.waitForChanges();\n\n expect(checkbox).not.toHaveAttribute('checked');\n expect(innerCheckbox).not.toHaveAttribute('checked');\n });\n\n it('does not select the checkbox when disabled', async () => {\n const page = await setup({\n html: `<q2-checkbox label=\"Label\" disabled></q2-checkbox>`,\n });\n const checkbox = await page.find('q2-checkbox');\n const innerCheckbox = await page.find('q2-checkbox >>> input');\n\n expect(checkbox).not.toHaveAttribute('checked');\n expect(innerCheckbox).not.toHaveAttribute('checked');\n\n await page.$eval('q2-checkbox', (el: HTMLQ2CheckboxElement) => el.click());\n await page.waitForChanges();\n\n expect(checkbox).not.toHaveAttribute('checked');\n expect(innerCheckbox).not.toHaveAttribute('checked');\n expect(await getActiveElementTestId(page)).toBeNull();\n });\n });\n });\n\n describe('Props', () => {\n describe('description', () => {\n describe('when not provided', () => {\n it('adds the description markup', async () => {\n page = await setupPage('label=\"My Checkbox\"');\n const description = await page.find('q2-checkbox >>> .description-text');\n const input = await page.find('q2-checkbox >>> input');\n\n expect(description).toBeNull();\n expect(input).not.toHaveAttribute('aria-describedby');\n });\n });\n describe('when provided', () => {\n it('adds the description markup', async () => {\n page = await setupPage('label=\"My Checkbox\" description=\"Hello world\"');\n const description = await page.find('q2-checkbox >>> .description-text');\n const input = await page.find('q2-checkbox >>> input');\n\n expect(description).toEqualText('Hello world');\n expect(input).toEqualAttribute('aria-describedby', 'description');\n });\n });\n });\n describe('groupDisabled', () => {\n it('adds the disabled attribute to the checkbox when present', async () => {\n page = await setupPage('label=\"My Checkbox\" group-disabled');\n const innerInput = await page.find('q2-checkbox >>> input');\n\n expect(innerInput).toHaveAttribute('disabled');\n });\n });\n describe('hasError', () => {\n describe('when provided', () => {\n it('sets aria-invalid to true', async () => {\n page = await setupPage('has-error');\n const innerCheckbox = await page.find('q2-checkbox >>> input');\n\n expect(innerCheckbox.getAttribute('aria-invalid')).toBe('true');\n });\n });\n describe('when not provided', () => {\n it('sets aria-invalid to false', async () => {\n page = await setupPage();\n const innerCheckbox = await page.find('q2-checkbox >>> input');\n\n expect(innerCheckbox.getAttribute('aria-invalid')).toBe('false');\n });\n });\n });\n describe('readonly', () => {\n const clickCheckbox = async (page: E2EPage) => {\n await page.$eval('q2-checkbox', (el: HTMLQ2CheckboxElement) => el.click());\n await page.waitForChanges();\n };\n\n describe('set to true', () => {\n it('click check icon should not work', async () => {\n page = await setupPage('label=\"My Checkbox\" value=\"1\"');\n const element = await page.find('q2-checkbox');\n await element.setProperty('readonly', true);\n await page.waitForChanges();\n const checkbox = await page.find('q2-checkbox >>> .checkbox-icon');\n await checkbox.click();\n await page.waitForChanges();\n\n expect(await element.getProperty('checked')).toBeFalsy();\n });\n it('click label text should not work', async () => {\n page = await setupPage('label=\"My Checkbox\" value=\"1\"');\n const element = await page.find('q2-checkbox');\n await element.setProperty('readonly', true);\n await page.waitForChanges();\n const checkLabelText = await page.find('q2-checkbox >>> .label-text');\n await checkLabelText.click();\n await page.waitForChanges();\n\n expect(await element.getProperty('checked')).toBeFalsy();\n });\n it('on load does not check the checkbox when clicked', async () => {\n page = await setupPage('label=\"My Checkbox\" readonly');\n const checkbox = await page.find('q2-checkbox');\n\n expect(await isChecked(page)).toBe(false);\n expect(checkbox).not.toHaveAttribute('checked');\n\n await clickCheckbox(page);\n\n expect(await isChecked(page)).toBe(false);\n expect(checkbox).not.toHaveAttribute('checked');\n });\n it('after load does not check the checkbox when clicked', async () => {\n page = await setupPage('label=\"My Checkbox\"');\n const checkbox = await page.find('q2-checkbox');\n\n expect(await isChecked(page)).toBe(false);\n expect(checkbox).not.toHaveAttribute('checked');\n\n checkbox.setProperty('readonly', true);\n await page.waitForChanges();\n await clickCheckbox(page);\n\n expect(await isChecked(page)).toBe(false);\n expect(checkbox).not.toHaveAttribute('checked');\n });\n });\n describe('set to false', () => {\n it('on load checks the checkbox when clicked', async () => {\n page = await setupPage('label=\"My Checkbox\"');\n const checkbox = await page.find('q2-checkbox');\n\n expect(await isChecked(page)).toBe(false);\n expect(checkbox).not.toHaveAttribute('checked');\n\n await clickCheckbox(page);\n\n expect(await isChecked(page)).toBe(true);\n expect(checkbox).toHaveAttribute('checked');\n });\n it('after load checks the checkbox when clicked', async () => {\n page = await setupPage('label=\"My Checkbox\" readonly');\n const checkbox = await page.find('q2-checkbox');\n\n expect(await isChecked(page)).toBe(false);\n expect(checkbox).not.toHaveAttribute('checked');\n\n checkbox.setProperty('readonly', false);\n await page.waitForChanges();\n await clickCheckbox(page);\n\n expect(await isChecked(page)).toBe(true);\n expect(checkbox).toHaveAttribute('checked');\n });\n });\n });\n\n describe('label', () => {\n describe('when overflows width,', () => {\n it('hyphenates label content', async () => {\n const page = await setup({\n html: `<q2-checkbox label=\"Short Label, Hey\"></q2-checkbox>`,\n });\n const checkbox = await page.find('q2-checkbox ');\n\n const { shortLabelHeight } = await page.$eval('q2-checkbox', element => {\n const labelText = element.shadowRoot.querySelector<HTMLElement>('.label-text');\n return {\n shortLabelHeight: labelText.clientHeight,\n };\n });\n\n checkbox.setProperty(\n 'label',\n 'Life-forms living together for mutual advantage. Without the midi-chlorians, life could not exist and we would have no knowledge of the Force. They continually speak to us, telling us the will of the Force. When you learn to quiet your mind, youll hear them speaking to you.'\n );\n\n await page.waitForChanges();\n\n const { longLabelHeight } = await page.$eval('q2-checkbox', element => {\n const labelText = element.shadowRoot.querySelector<HTMLElement>('.label-text');\n return {\n longLabelHeight: labelText.clientHeight,\n };\n });\n\n expect(shortLabelHeight).toBeLessThan(longLabelHeight);\n });\n });\n });\n\n describe('type', () => {\n describe('when not set (default)', () => {\n it('renders the unchecked state', async () => {\n page = await setupPage();\n const labelFontWeight = await getNestedElementStyle(\n page,\n ['q2-checkbox', '.label-text label'],\n 'font-weight'\n );\n const checkboxFill = await page.find('q2-checkbox >>> .checkbox-fill');\n expect(labelFontWeight).toBe('400');\n expect(checkboxFill).toBeNull();\n });\n\n it('applies necessary styles when hovered', async () => {\n page = await setupPage('type=\"toggle\"');\n await page.hover('q2-checkbox >>> .toggle-svg');\n await page.waitForChanges();\n\n const labelFontWeight = await getNestedElementStyle(\n page,\n ['q2-checkbox', '.label-text label'],\n 'font-weight'\n );\n expect(labelFontWeight).toBe('400');\n });\n\n describe('when checked attribute is present', () => {\n it('renders the checked state', async () => {\n page = await setupPage('checked');\n const labelFontWeight = await getNestedElementStyle(\n page,\n ['q2-checkbox', '.label-text label'],\n 'font-weight'\n );\n const checkboxFill = await page.find('q2-checkbox >>> .checkbox-fill');\n expect(labelFontWeight).toBe('600');\n expect(checkboxFill).toBeTruthy();\n });\n\n it('applies necessary styles when hovered', async () => {\n page = await setupPage('checked');\n await page.hover('q2-checkbox >>> .checkbox-fill');\n await page.waitForChanges();\n const labelFontWeight = await getNestedElementStyle(\n page,\n ['q2-checkbox', '.label-text label'],\n 'font-weight'\n );\n const checkboxFill = await page.find('q2-checkbox >>> .checkbox-fill');\n expect(labelFontWeight).toBe('600');\n expect(checkboxFill).toBeTruthy();\n });\n\n it('renders the unchecked state when checked=\"false\"', async () => {\n page = await setupPage('checked=\"false\"');\n const labelFontWeight = await getNestedElementStyle(\n page,\n ['q2-checkbox', '.label-text label'],\n 'font-weight'\n );\n const checkboxFill = await page.find('q2-checkbox >>> .checkbox-fill');\n expect(labelFontWeight).toBe('400');\n expect(checkboxFill).toBeNull();\n });\n });\n });\n\n describe(\"when set to 'toggle'\", () => {\n const getToggleStyles = async (page: E2EPage) => {\n const labelFontWeight = await getNestedElementStyle(\n page,\n ['q2-checkbox', '.label-text label'],\n 'font-weight'\n );\n const toggleHoverCircleStrokeWidth = await getNestedElementStyle(\n page,\n ['q2-checkbox', '.toggle-hover-circle'],\n 'stroke-width'\n );\n const toggleIndicatorLeft = await getNestedElementStyle(\n page,\n ['q2-checkbox', '.toggle-indicator'],\n 'left'\n );\n const toggleSvgOffOpacity = await getNestedElementStyle(\n page,\n ['q2-checkbox', '.toggle-svg .off'],\n 'opacity'\n );\n const toggleSvgOnOpacity = await getNestedElementStyle(\n page,\n ['q2-checkbox', '.toggle-svg .on'],\n 'opacity'\n );\n\n return {\n labelFontWeight,\n toggleIndicatorLeft,\n toggleHoverCircleStrokeWidth,\n toggleSvgOffOpacity,\n toggleSvgOnOpacity,\n };\n };\n\n it('renders the unchecked state', async () => {\n page = await setupPage('type=\"toggle\"');\n const computedStyles = await getToggleStyles(page);\n expect(computedStyles.labelFontWeight).toBe('400');\n expect(computedStyles.toggleHoverCircleStrokeWidth).toBe('0px');\n expect(computedStyles.toggleIndicatorLeft).toBe('0px');\n expect(computedStyles.toggleSvgOffOpacity).toBe('1');\n expect(computedStyles.toggleSvgOnOpacity).toBe('0');\n });\n\n it('applies necessary styles when hovered', async () => {\n page = await setupPage('type=\"toggle\"');\n await page.hover('q2-checkbox >>> .toggle-svg');\n await page.waitForChanges();\n\n const computedStyles = await getToggleStyles(page);\n expect(computedStyles.labelFontWeight).toBe('400');\n expect(computedStyles.toggleHoverCircleStrokeWidth).toBe('10px');\n expect(computedStyles.toggleIndicatorLeft).toBe('0px');\n expect(computedStyles.toggleSvgOffOpacity).toBe('1');\n expect(computedStyles.toggleSvgOnOpacity).toBe('0');\n });\n\n describe('when checked attribute is present', () => {\n it('renders the checked state', async () => {\n page = await setupPage('type=\"toggle\" checked');\n const computedStyles = await getToggleStyles(page);\n expect(computedStyles.labelFontWeight).toBe('600');\n expect(computedStyles.toggleHoverCircleStrokeWidth).toBe('0px');\n expect(computedStyles.toggleIndicatorLeft).toBe('21px');\n expect(computedStyles.toggleSvgOffOpacity).toBe('0');\n expect(computedStyles.toggleSvgOnOpacity).toBe('1');\n });\n\n it('applies necessary styles when hovered', async () => {\n page = await setupPage('type=\"toggle\" checked');\n await page.hover('q2-checkbox >>> .toggle-svg');\n await page.waitForChanges();\n\n const computedStyles = await getToggleStyles(page);\n expect(computedStyles.labelFontWeight).toBe('600');\n expect(computedStyles.toggleHoverCircleStrokeWidth).toBe('10px');\n expect(computedStyles.toggleIndicatorLeft).toBe('21px');\n expect(computedStyles.toggleSvgOffOpacity).toBe('0');\n expect(computedStyles.toggleSvgOnOpacity).toBe('1');\n });\n\n it('renders the unchecked state when checked=\"false\"', async () => {\n page = await setupPage('type=\"toggle\" checked=\"false\"');\n const computedStyles = await getToggleStyles(page);\n expect(computedStyles.labelFontWeight).toBe('400');\n expect(computedStyles.toggleHoverCircleStrokeWidth).toBe('0px');\n expect(computedStyles.toggleIndicatorLeft).toBe('0px');\n expect(computedStyles.toggleSvgOffOpacity).toBe('1');\n expect(computedStyles.toggleSvgOnOpacity).toBe('0');\n });\n });\n });\n });\n });\n\n it('toggles the checked attribute when clicked', async () => {\n page = await setupPage('label=\"My Checkbox\"');\n const checkbox = await page.find('q2-checkbox');\n\n expect(checkbox).not.toHaveAttribute('checked');\n const innerInput = await page.find('q2-checkbox >>> input');\n await innerInput.press('Space');\n await page.waitForChanges();\n expect(checkbox).toHaveAttribute('checked');\n });\n\n it('allows slotted content', async () => {\n page = await setup({\n html: `\n <q2-checkbox value=\"1\" label=\"Label\">\n <p>A yielded label</p>\n </q2-checkbox>\n `,\n });\n const { slottedText, slottedTag } = await page.$eval('q2-checkbox', element => {\n const slottedNode = element.shadowRoot.querySelector('slot').assignedElements()[0];\n return {\n slottedText: slottedNode.textContent,\n slottedTag: slottedNode.localName,\n };\n });\n\n expect(slottedText).toEqual('A yielded label');\n expect(slottedTag).toEqual('p');\n });\n\n it('binds aria-label when provided and no label present', async () => {\n page = await setupPage('aria-label=\"Aria-Label Text\"');\n const checkbox = await page.find('q2-checkbox');\n const labelContent = await page.find('q2-checkbox >>> .label-text');\n\n expect(labelContent).toHaveClass('sr');\n expect(labelContent).toEqualText('Aria-Label Text');\n\n checkbox.setProperty('label', 'Label Text');\n checkbox.setProperty('hideLabel', false);\n await page.waitForChanges();\n\n expect(labelContent).not.toHaveClass('sr');\n expect(labelContent).toEqualText('Label Text');\n });\n\n it('binds the name property', async () => {\n page = await setupPage();\n const innerCheckbox = await page.find('q2-checkbox >>> input');\n const innerCheckboxId = innerCheckbox.getAttribute('id');\n\n expect(innerCheckbox.getAttribute('name')).toEqual(innerCheckboxId);\n\n const checkbox = await page.find('q2-checkbox');\n checkbox.setProperty('name', 'checkboxname');\n await page.waitForChanges();\n\n expect(innerCheckbox.getAttribute('name')).toEqual('checkboxname');\n });\n\n it('renders the star icon for type=\"favorite\"', async () => {\n page = await setupPage();\n let svg = await page.find('q2-checkbox >>> .checkbox-icon');\n\n expect(svg.tagName).toEqual('svg');\n\n const checkbox = await page.find('q2-checkbox');\n checkbox.setProperty('type', 'favorite');\n await page.waitForChanges();\n svg = await page.find('q2-checkbox >>> .checkbox-icon');\n\n expect(svg.tagName).toEqual('Q2-ICON');\n expect(svg.getAttribute('type')).toEqual('star');\n });\n\n it('renders the toggle for type=\"toggle\"', async () => {\n page = await setupPage();\n let toggleSVG = await page.find('q2-checkbox >>> .toggle-svg');\n\n expect(toggleSVG).toBeNull();\n\n const checkbox = await page.find('q2-checkbox');\n checkbox.setProperty('type', 'toggle');\n await page.waitForChanges();\n toggleSVG = await page.find('q2-checkbox >>> .toggle-svg');\n\n expect(toggleSVG).not.toBeNull();\n });\n\n it('handles checked state', async () => {\n page = await setupPage('checked');\n const innerCheckbox = await page.find('q2-checkbox >>> input');\n\n expect(await innerCheckbox.getProperty('checked')).toEqual(true);\n\n let checkboxFill = await page.find('q2-checkbox >>> .checkbox-fill');\n\n expect(checkboxFill).not.toBeNull();\n expect(checkboxFill).toHaveClass('checked-fill');\n\n const checkbox = await page.find('q2-checkbox');\n checkbox.setProperty('checked', false);\n await page.waitForChanges();\n checkboxFill = await page.find('q2-checkbox >>> .checkbox-fill');\n\n expect(checkboxFill).toBeNull();\n });\n\n it('handles indeterminate state', async () => {\n page = await setupPage('indeterminate');\n const innerCheckbox = await page.find('q2-checkbox >>> input');\n\n expect(await innerCheckbox.getProperty('checked')).toEqual(true);\n\n let checkboxFill = await page.find('q2-checkbox >>> .checkbox-fill');\n\n expect(checkboxFill).not.toBeNull();\n expect(checkboxFill).toHaveClass('indeterminate-fill');\n\n const checkbox = await page.find('q2-checkbox');\n checkbox.setProperty('checked', true);\n await page.waitForChanges();\n checkboxFill = await page.find('q2-checkbox >>> .checkbox-fill');\n\n // indeterminance takes precedence over checked\n expect(checkboxFill).not.toBeNull();\n expect(checkboxFill).toHaveClass('indeterminate-fill');\n expect(checkboxFill).not.toHaveClass('checked-fill');\n\n checkbox.setProperty('indeterminate', false);\n checkbox.setProperty('checked', false);\n await page.waitForChanges();\n checkboxFill = await page.find('q2-checkbox >>> .checkbox-fill');\n\n expect(checkboxFill).toBeNull();\n });\n\n it('localizes appropriate attribute strings', async () => {\n page = await setupPage();\n await setTestStrings(page, {\n 'q2-checkbox.label': 'Label Text',\n 'q2-checkbox.ariaLabel': 'Aria-Label Text',\n });\n const checkbox = await page.find('q2-checkbox');\n checkbox.setProperty('ariaLabel', 'q2-checkbox.ariaLabel');\n await page.waitForChanges();\n const innerLabel = await page.find('q2-checkbox >>> .label-text');\n\n expect(innerLabel).toEqualText('Aria-Label Text');\n\n checkbox.setProperty('label', 'q2-checkbox.label');\n checkbox.setProperty('hideLabel', false);\n await page.waitForChanges();\n\n expect(innerLabel.innerText).toEqual('Label Text');\n });\n\n describe('focus transferring', () => {\n it('focuses when focus event dispatched ', async () => {\n page = await setupPage();\n await dispatchEvent(page, ['q2-checkbox'], 'focus');\n const innerActiveTestId = async (page: E2EPage) => {\n return page.$eval('q2-checkbox', el => {\n return el.shadowRoot.activeElement?.getAttribute('test-id');\n });\n };\n\n expect(await innerActiveTestId(page)).toEqual('q2CheckboxInnerCheckBox');\n });\n\n it('focuses when focus method called ', async () => {\n page = await setupPage();\n await dispatchEvent(page, ['q2-checkbox'], 'focus');\n const checkbox = await page.find('q2-checkbox');\n await checkbox.triggerEvent('focus');\n await page.waitForChanges();\n const innerActiveTestId = async (page: E2EPage) => {\n return page.$eval('q2-checkbox', el => {\n return el.shadowRoot.activeElement?.getAttribute('test-id');\n });\n };\n\n expect(await innerActiveTestId(page)).toEqual('q2CheckboxInnerCheckBox');\n });\n });\n\n describe('Hover behavior', () => {\n describe('checkbox type=\"toggle\" hover state', () => {\n describe('default behavior', () => {\n it('hides default outer circle when not hovered', async () => {\n page = await setupPage('label=\"My Checkbox\" type=\"toggle\"');\n const toggleCircle = await page.find('q2-checkbox >>> .toggle-hover-circle');\n normalStyle = await toggleCircle.getComputedStyle();\n\n expect(normalStyle.strokeWidth).toBe('0px');\n });\n it('shows default outer circle on hover', async () => {\n page = await setupPage('label=\"My Checkbox\" type=\"toggle\"');\n const toggleCircle = await page.find('q2-checkbox >>> .toggle-hover-circle');\n await page.hover('q2-checkbox');\n await page.waitForChanges();\n hoverStyle = await toggleCircle.getComputedStyle();\n\n expect(hoverStyle.strokeWidth).toBe('10px');\n });\n });\n });\n describe('default checkbox hover state', () => {\n describe('when not provided custom variables', () => {\n it('does not alter stroke color', async () => {\n page = await setupPage('label=\"My Checkbox\"');\n const box = await page.find('q2-checkbox >>> .checkbox-icon');\n normalStyle = await box.getComputedStyle();\n\n await page.hover('q2-checkbox');\n await page.waitForChanges();\n hoverStyle = await box.getComputedStyle();\n\n expect(normalStyle.stroke).toEqual(hoverStyle.stroke);\n });\n it('does not alter label font-weight', async () => {\n page = await setupPage('label=\"My Checkbox\"');\n const label = await page.find('q2-checkbox >>> .label-text');\n normalStyle = await label.getComputedStyle();\n\n expect(normalStyle.fontWeight).toEqual('400');\n\n await page.hover('q2-checkbox');\n await page.waitForChanges();\n hoverStyle = await label.getComputedStyle();\n\n expect(normalStyle.fontWeight).toEqual(hoverStyle.fontWeight);\n });\n });\n describe('when provided custom variables', () => {\n it('applies altered stroke color ', async () => {\n page = await setupPage('label=\"My Checkbox\"');\n const box = await page.find('q2-checkbox >>> .checkbox-icon');\n normalStyle = await box.getComputedStyle();\n\n expect(normalStyle.stroke).toEqual('rgb(148, 148, 148)');\n\n await page.$eval('q2-checkbox', (el: HTMLElement) => {\n el.style.setProperty('--tct-checkbox-hover-outer-stroke-color', 'rgb(0, 0, 255)');\n });\n await page.hover('q2-checkbox');\n await page.waitForChanges();\n hoverStyle = await box.getComputedStyle();\n\n expect(hoverStyle.stroke).toEqual('rgb(0, 0, 255)');\n });\n it('applies altered label font-weight', async () => {\n page = await setupPage('label=\"My Checkbox\"');\n const label = await page.find('q2-checkbox >>> .label-text');\n normalStyle = await label.getComputedStyle();\n\n expect(normalStyle.fontWeight).toEqual('400');\n\n await page.$eval('q2-checkbox', (el: HTMLElement) => {\n el.style.setProperty('--tct-checkbox-hover-label-font-weight', '800');\n });\n await page.hover('q2-checkbox');\n await page.waitForChanges();\n hoverStyle = await label.getComputedStyle();\n\n expect(hoverStyle.fontWeight).toEqual('800');\n });\n });\n });\n describe('checkbox type=\"favorite\" hover state', () => {\n describe('when not provided custom variables', () => {\n it('does not alter stroke color', async () => {\n page = await setupPage('label=\"My Checkbox\" type=\"favorite\"');\n const box = await page.find('q2-checkbox >>> q2-icon');\n normalStyle = await box.getComputedStyle();\n\n await page.hover('q2-checkbox');\n await page.waitForChanges();\n hoverStyle = await box.getComputedStyle();\n\n expect(normalStyle.stroke).toEqual(hoverStyle.stroke);\n });\n it('does not alter label font-weight', async () => {\n page = await setupPage('label=\"My Checkbox\" type=\"favorite\"');\n const label = await page.find('q2-checkbox >>> .label-text');\n normalStyle = await label.getComputedStyle();\n\n expect(normalStyle.fontWeight).toEqual('400');\n\n await page.hover('q2-checkbox');\n await page.waitForChanges();\n hoverStyle = await label.getComputedStyle();\n\n expect(normalStyle.fontWeight).toEqual(hoverStyle.fontWeight);\n });\n });\n describe('when provided custom variables', () => {\n it('applies altered stroke color ', async () => {\n page = await setupPage('label=\"My Checkbox\" type=\"favorite\"');\n const box = await page.find('q2-checkbox >>> .checkbox-icon');\n await page.waitForChanges();\n normalStyle = await box.getComputedStyle();\n\n expect(normalStyle.stroke).toEqual('rgb(148, 148, 148)');\n\n await page.$eval('q2-checkbox', (el: HTMLElement) => {\n el.style.setProperty('--tct-checkbox-favorite-hover-stroke-color', 'rgb(0, 0, 255)');\n });\n\n await page.hover('q2-checkbox');\n await page.waitForChanges();\n hoverStyle = await page.$eval('q2-checkbox >>> q2-icon', e => {\n const svg = e.shadowRoot.querySelector('svg');\n const path = svg.querySelector('path');\n const style = window.getComputedStyle(path);\n return style.stroke;\n });\n\n expect(hoverStyle).toEqual('rgb(0, 0, 255)');\n });\n it('applies altered label font-weight', async () => {\n page = await setupPage('label=\"My Checkbox\" type=\"favorite\"');\n const label = await page.find('q2-checkbox >>> .label-text');\n await page.waitForChanges();\n normalStyle = await label.getComputedStyle();\n\n expect(normalStyle.fontWeight).toEqual('400');\n\n await page.$eval('q2-checkbox', (el: HTMLElement) => {\n el.style.setProperty('--tct-checkbox-hover-label-font-weight', '800');\n });\n await page.hover('q2-checkbox');\n await page.waitForChanges();\n hoverStyle = await label.getComputedStyle();\n\n expect(hoverStyle.fontWeight).toEqual('800');\n });\n });\n });\n });\n\n describe('Events', () => {\n describe('change', () => {\n describe('when event is added as a property', () => {\n it('does not update checked attribute if preventDefault is called', async () => {\n page = await setup({\n html: `\n <script>\n function onClick(event) {\n event.preventDefault();\n }\n </script>\n <q2-checkbox value=\"foo-onchange-dummy\" onclick=\"onClick(event)\"></q2-checkbox>\n `,\n });\n const checkbox = await page.find('q2-checkbox');\n const changeSpy = await checkbox.spyOnEvent('change');\n const innerLabel = await page.find('q2-checkbox >>> label');\n\n expect(await isChecked(page)).toBe(false);\n\n await innerLabel.click();\n await page.waitForChanges();\n\n expect(await isChecked(page)).toBe(false);\n expect(await checkbox.getProperty('checked')).toEqual(false);\n expect(changeSpy).not.toHaveReceivedEvent();\n });\n\n it('does not update checked property if not done in the handler', async () => {\n page = await setup({\n html: `\n <script>\n function onChange() {}\n </script>\n <q2-checkbox value=\"foo-onchange-dummy\" onchange=\"onChange(event)\"></q2-checkbox>\n `,\n });\n const checkbox = await page.find('q2-checkbox');\n const changeSpy = await checkbox.spyOnEvent('change');\n const innerLabel = await page.find('q2-checkbox >>> label');\n\n expect(await isChecked(page)).toBe(false);\n expect(await checkbox.getProperty('checked')).toBe(false);\n\n await innerLabel.click();\n await page.waitForChanges();\n\n expect(await isChecked(page)).toBe(false);\n expect(await checkbox.getProperty('checked')).toEqual(false);\n expect(changeSpy).toHaveReceivedEventDetail({ checked: true, value: 'foo-onchange-dummy' });\n });\n\n it('updates the checked attribute when done in the handler', async () => {\n page = await setup({\n html: `\n <script>\n function onChange(event) {\n event.target.checked = event.detail.checked;\n }\n </script>\n <q2-checkbox value=\"foo-onchange-dummy\" onchange=\"onChange(event)\"></q2-checkbox>\n `,\n });\n const checkbox = await page.find('q2-checkbox');\n const changeSpy = await checkbox.spyOnEvent('change');\n const innerLabel = await page.find('q2-checkbox >>> label');\n\n expect(await isChecked(page)).toBe(false);\n\n await innerLabel.click();\n await page.waitForChanges();\n\n expect(await isChecked(page)).toBe(true);\n expect(await checkbox.getProperty('checked')).toEqual(true);\n expect(changeSpy).toHaveReceivedEventDetail({ checked: true, value: 'foo-onchange-dummy' });\n });\n\n it('forces the checked attribute to false when done in the handler', async () => {\n page = await setup({\n html: `\n <script>\n function onChange(event) {\n event.target.checked = false;\n }\n </script>\n <q2-checkbox value=\"foo-onchange-dummy\" onchange=\"onChange(event)\"></q2-checkbox>\n `,\n });\n\n const checkbox = await page.find('q2-checkbox');\n const changeSpy = await checkbox.spyOnEvent('change');\n const innerLabel = await page.find('q2-checkbox >>> label');\n\n expect(await isChecked(page)).toBe(false);\n\n await innerLabel.click();\n await page.waitForChanges();\n\n expect(await isChecked(page)).toBe(false);\n expect(await checkbox.getProperty('checked')).toEqual(false);\n expect(changeSpy).toHaveReceivedEventDetail({ checked: true, value: 'foo-onchange-dummy' });\n });\n });\n\n describe('when event is added via addEventListener', () => {\n it('mutates the value when event is added via addEventListener but does not call preventDefault', async () => {\n page = await setup({\n html: `\n <q2-checkbox value=\"foo-onchange-dummy\"></q2-checkbox>\n <script>\n function onChange() {\n }\n document.querySelector(\"q2-checkbox\").addEventListener(\"change\", onChange);\n </script>\n `,\n });\n const checkbox = await page.find('q2-checkbox');\n const changeSpy = await checkbox.spyOnEvent('change');\n const innerLabel = await page.find('q2-checkbox >>> label');\n\n expect(await isChecked(page)).toBe(false);\n\n await innerLabel.click();\n await page.waitForChanges();\n\n expect(await isChecked(page)).toBe(true);\n expect(await checkbox.getProperty('checked')).toEqual(true);\n expect(changeSpy).toHaveReceivedEventDetail({ checked: true, value: 'foo-onchange-dummy' });\n });\n\n it('does not update checked attribute if preventDefault is called', async () => {\n page = await setup({\n html: `\n <q2-checkbox value=\"foo-onchange-dummy\"></q2-checkbox>\n <script>\n function onChange(event) {\n event.preventDefault();\n }\n document.querySelector(\"q2-checkbox\").addEventListener(\"change\", onChange);\n </script>\n `,\n });\n const checkbox = await page.find('q2-checkbox');\n const changeSpy = await checkbox.spyOnEvent('change');\n const innerLabel = await page.find('q2-checkbox >>> label');\n\n expect(await isChecked(page)).toBe(false);\n\n await innerLabel.click();\n await page.waitForChanges();\n\n expect(await isChecked(page)).toBe(false);\n expect(await checkbox.getProperty('checked')).toEqual(false);\n expect(changeSpy).toHaveReceivedEventDetail({ checked: true, value: 'foo-onchange-dummy' });\n });\n });\n });\n });\n\n describe('Regressions', () => {\n it('applies font-weight to label when CSS property is updated (TCT-2246)', async () => {\n page = await setupPage('label=\"My Checkbox\"');\n const label = await page.find('q2-checkbox >>> .label-text');\n let styledLabel = await label.getComputedStyle();\n\n expect(styledLabel.fontWeight).toEqual('400');\n\n await page.$eval('q2-checkbox', (el: HTMLElement) => {\n el.style.setProperty('--tct-checkbox-label-font-weight', '800');\n });\n await page.waitForChanges();\n styledLabel = await label.getComputedStyle();\n\n expect(styledLabel.fontWeight).toEqual('800');\n });\n });\n\n describe('Deprecations', () => {\n it('handles deprecated `ariaLabel` prop', async () => {\n const label = 'My Label';\n page = await setupPage(`aria-label=\"${label}\"`);\n\n await testDeprecatedAriaLabel(await page.find('q2-checkbox'), label);\n const innerLabel = await page.find('q2-checkbox >>> .label-text');\n\n expect(innerLabel).toHaveClass('sr');\n });\n });\n});\n"]}
|
|
@@ -115,7 +115,7 @@ export class Q2CheckboxGroup {
|
|
|
115
115
|
// #region Render Methods
|
|
116
116
|
render() {
|
|
117
117
|
const showLabel = this.label || this.optional || this.readonly;
|
|
118
|
-
return (h("div", { key: '
|
|
118
|
+
return (h("div", { key: '4114fcde4adac060df83295fa602362c36e5fe09' }, showLabel && !this.hideLabel && h("div", { key: '6611f3a1a8cb84f48dab0a57cedba61d5e5290c3', class: "group-legend" }, labelDOM(this)), h("fieldset", { key: 'aa1080e07d33e34f56ca6a68938e6f71f4f030bb', class: `q2-checkbox-fieldset ${this.hasError ? 'has-error' : ''}`, onChange: this.onInnerCheckboxChange, "aria-invalid": this.hasError === undefined ? undefined : `${this.hasError}` }, this.label || this.optional ? h("legend", { class: "sr-only" }, labelDOM(this)) : '', this.hasError ? (h("div", { class: `error-icon-container ${this.label || this.optional ? '' : 'no-label'}` }, h("q2-icon", { class: "h(4) w(4) mrg-b(2)", type: "error" }))) : (''), this.inputDom())));
|
|
119
119
|
}
|
|
120
120
|
static get is() { return "q2-checkbox-group"; }
|
|
121
121
|
static get encapsulation() { return "shadow"; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"q2-checkbox-group.js","sourceRoot":"","sources":["../../../../src/components/q2-checkbox-group/q2-checkbox-group.tsx"],"names":[],"mappings":"AAAA,OAAO,EACH,SAAS,EACT,IAAI,EACJ,OAAO,EACP,CAAC,EACD,MAAM,EAEN,KAAK,EAEL,KAAK,EACL,MAAM,GACT,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAGjD,MAAM,OAAO,eAAe;;QACxB,yBAAyB;QAEzB,QAAG,GAAW,kBAAkB,UAAU,EAAE,EAAE,CAAC;QAwJ/C,0BAAqB,GAAG,CAAC,KAAkB,EAAE,EAAE;YAC3C,KAAK,CAAC,wBAAwB,EAAE,CAAC;YACjC,MAAM,UAAU,GAAG,EAAE,CAAC;YACtB,UAAU,CAAC,GAAG,EAAE;gBACZ,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;oBAClC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;gBAC9C,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACjC,CAAC,EAAE,CAAC,CAAC,CAAC;QACV,CAAC,CAAC;QAEF,uBAAkB,GAAG,GAAG,EAAE;YACtB,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,CAAC,cAAc,EAAE,CAAC;QAC1B,CAAC,CAAC;;;;;;;;;IAnGF,aAAa;IACb,qCAAqC;IAErC,oBAAoB;QAChB,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC;YACnC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QACjC,CAAC;IACL,CAAC;IAED,iBAAiB;QACb,IAAI,CAAC,cAAc,EAAE,CAAC;IAC1B,CAAC;IAED,gBAAgB;QACZ,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC/D,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACvE,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;QACjC,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC9B,CAAC;IAED,aAAa;IACb,oBAAoB;IAGpB,mBAAmB,CAAC,KAAkB;QAClC,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;YAClE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;QAC9B,CAAC;IACL,CAAC;IAED,aAAa;IACb,6BAA6B;IAE7B;;;;OAIG;IAEH,QAAQ,CAAC,MAAyB;QAC9B,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QACrE,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YAClC,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC;gBAAE,KAAK,CAAC,KAAK,EAAE,CAAC;QAClD,CAAC,CAAC,CAAC;IACP,CAAC;IAED,aAAa;IACb,mBAAmB;IAGnB,gBAAgB;QACZ,IAAI,CAAC,cAAc,EAAE,CAAC;IAC1B,CAAC;IAGD,gBAAgB;QACZ,IAAI,CAAC,cAAc,EAAE,CAAC;IAC1B,CAAC;IAGD,aAAa;QACT,IAAI,CAAC,WAAW,EAAE,CAAC;IACvB,CAAC;IAED,aAAa;IACb,wBAAwB;IAExB,IAAI,gBAAgB;QAChB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAA4B,CAAC;IACnG,CAAC;IAED,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,GAAG,CAAC;IACpB,CAAC;IAED,IAAI,cAAc;QACd,OAAO,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;IAC5B,CAAC;IAED,QAAQ;QACJ,OAAO,eAAQ,CAAC;IACpB,CAAC;IAmBD,cAAc;QACV,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC;QACpC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YACrC,QAAQ,CAAC,aAAa,GAAG,aAAa,CAAC;QAC3C,CAAC,CAAC,CAAC;IACP,CAAC;IAED,cAAc;QACV,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;QACnC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YACrC,QAAQ,CAAC,YAAY,GAAG,YAAY,CAAC;QACzC,CAAC,CAAC,CAAC;IACP,CAAC;IAED,WAAW;QACP,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC1B,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YAClC,IAAI,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;gBAClD,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC5C,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,aAAa;IACb,yBAAyB;IAEzB,MAAM;QACF,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC;QAC/D,OAAO,CACH;YACK,SAAS,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,4DAAK,KAAK,EAAC,cAAc,IAAE,QAAQ,CAAC,IAAI,CAAC,CAAO;YACjF,iEACI,KAAK,EAAE,wBAAwB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,EACjE,QAAQ,EAAE,IAAI,CAAC,qBAAqB,kBACtB,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE;gBAEzE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAQ,KAAK,EAAC,SAAS,IAAE,QAAQ,CAAC,IAAI,CAAC,CAAU,CAAC,CAAC,CAAC,EAAE;gBACpF,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CACb,WAAK,KAAK,EAAE,wBAAwB,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE;oBAC/E,eACI,KAAK,EAAC,oBAAoB,EAC1B,IAAI,EAAC,OAAO,GACL,CACT,CACT,CAAC,CAAC,CAAC,CACA,EAAE,CACL;gBACA,IAAI,CAAC,QAAQ,EAAE,CACT,CACT,CACT,CAAC;IACN,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGJ","sourcesContent":["import {\n Component,\n Prop,\n Element,\n h,\n Listen,\n EventEmitter,\n Event,\n ComponentInterface,\n Watch,\n Method,\n} from '@stencil/core';\nimport { createGuid, labelDOM } from 'src/utils';\n\n@Component({ tag: 'q2-checkbox-group', shadow: true, styleUrl: 'q2-checkbox-group.scss' })\nexport class Q2CheckboxGroup implements ComponentInterface {\n // #region Own Properties\n\n _id: string = `checkbox-group-${createGuid()}`;\n mutationObserver: MutationObserver;\n\n // #endregion\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region Public Property API\n\n /** Determines if all checkboxes in the group are put into a `disabled` state. */\n @Prop({ reflect: true })\n disabled: boolean;\n\n /** Determines if the component should display in an errant state. */\n @Prop({ reflect: true })\n hasError: boolean;\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 })\n hideLabel: boolean;\n\n /**\n * The label that displays above all the checkboxes.\n * @localizable\n */\n @Prop({ reflect: true })\n label: string;\n\n /** Determines if the component is marked as `optional`. */\n @Prop({ reflect: true })\n optional: boolean;\n\n /** Determines if all the checkboxes are marked as `readonly`. */\n @Prop({ reflect: true })\n readonly: boolean;\n\n /**\n * Can be used to get and set the checked status of each `<q2-checkbox>` element contained within the group.\n *\n * **Example:**\n * @snippet\n * element.value = {\n * 'checkbox-value-1': true,\n * 'checkbox-value-2': false,\n * 'checkbox-value-3': true,\n * };\n *\n * // Also accepts partial values\n * element.value = {\n * 'checkbox-value-2': false,\n * }\n */\n @Prop({ mutable: true })\n value: object;\n\n // #endregion\n // #region Events\n\n @Event()\n change: EventEmitter;\n\n // #endregion\n // #region Component Lifecycle Events\n\n disconnectedCallback() {\n if (this.mutationObserver) {\n this.mutationObserver.disconnect();\n this.mutationObserver = null;\n }\n }\n\n componentWillLoad() {\n this.updateReadonly();\n }\n\n componentDidLoad() {\n const observer = new MutationObserver(this.onMutationObserved);\n observer.observe(this.hostElement, { childList: true, subtree: true });\n this.mutationObserver = observer;\n this.onMutationObserved();\n }\n\n // #endregion\n // #region Listeners\n\n @Listen('change')\n onHostElementChange(event: CustomEvent) {\n if (event.target === this.hostElement && !this.hostElement.onchange) {\n this.value = event.detail;\n }\n }\n\n // #endregion\n // #region Public Methods API\n\n /**\n * Emulates clicking the `<q2-checkbox>` option(s) with the provided value.\n *\n * @testOnly\n */\n @Method()\n setValue(values: string | string[]) {\n const valuesSet = new Set(Array.isArray(values) ? values : [values]);\n this.checkboxElements.forEach(check => {\n if (valuesSet.has(check.value)) check.click();\n });\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('disabled')\n disabledObserver() {\n this.updateDisabled();\n }\n\n @Watch('readonly')\n readonlyObserver() {\n this.updateReadonly();\n }\n\n @Watch('value')\n valueObserver() {\n this.updateValue();\n }\n\n // #endregion\n // #region Local Methods\n\n get checkboxElements() {\n return Array.from(this.hostElement.querySelectorAll('q2-checkbox')) as HTMLQ2CheckboxElement[];\n }\n\n get inputId() {\n return this._id;\n }\n\n get protectedValue(): object {\n return this.value || {};\n }\n\n inputDom() {\n return <slot />;\n }\n\n onInnerCheckboxChange = (event: CustomEvent) => {\n event.stopImmediatePropagation();\n const groupValue = {};\n setTimeout(() => {\n this.checkboxElements.forEach(check => {\n groupValue[check.value] = !!check.checked;\n });\n this.change.emit(groupValue);\n }, 0);\n };\n\n onMutationObserved = () => {\n this.updateValue();\n this.updateDisabled();\n this.updateReadonly();\n };\n\n updateDisabled() {\n const groupDisabled = this.disabled;\n this.checkboxElements.forEach(checkbox => {\n checkbox.groupDisabled = groupDisabled;\n });\n }\n\n updateReadonly() {\n const slotReadonly = this.readonly;\n this.checkboxElements.forEach(checkbox => {\n checkbox.slotReadonly = slotReadonly;\n });\n }\n\n updateValue() {\n if (this.readonly) return;\n this.checkboxElements.forEach(check => {\n if (this.protectedValue.hasOwnProperty(check.value)) {\n check.checked = this.value[check.value];\n }\n });\n }\n\n // #endregion\n // #region Render Methods\n\n render() {\n const showLabel = this.label || this.optional || this.readonly;\n return (\n <div>\n {showLabel && !this.hideLabel && <div class=\"group-legend\">{labelDOM(this)}</div>}\n <fieldset\n class={`q2-checkbox-fieldset ${this.hasError ? 'has-error' : ''}`}\n onChange={this.onInnerCheckboxChange}\n aria-invalid={this.hasError === undefined ? undefined : `${this.hasError}`}\n >\n {this.label || this.optional ? <legend class=\"sr-only\">{labelDOM(this)}</legend> : ''}\n {this.hasError ? (\n <div class={`error-icon-container ${this.label || this.optional ? '' : 'no-label'}`}>\n <q2-icon\n class=\"h(4) w(4) mrg-b(2)\"\n type=\"error\"\n ></q2-icon>\n </div>\n ) : (\n ''\n )}\n {this.inputDom()}\n </fieldset>\n </div>\n );\n }\n\n // #endregion\n}\n"]}
|
|
1
|
+
{"version":3,"file":"q2-checkbox-group.js","sourceRoot":"","sources":["../../../src/components/q2-checkbox-group/q2-checkbox-group.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Prop,\n Element,\n h,\n Listen,\n EventEmitter,\n Event,\n ComponentInterface,\n Watch,\n Method,\n} from '@stencil/core';\nimport { createGuid, labelDOM } from 'src/utils';\n\n@Component({ tag: 'q2-checkbox-group', shadow: true, styleUrl: 'q2-checkbox-group.scss' })\nexport class Q2CheckboxGroup implements ComponentInterface {\n // #region Own Properties\n\n _id: string = `checkbox-group-${createGuid()}`;\n mutationObserver: MutationObserver;\n\n // #endregion\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region Public Property API\n\n /** Determines if all checkboxes in the group are put into a `disabled` state. */\n @Prop({ reflect: true })\n disabled: boolean;\n\n /** Determines if the component should display in an errant state. */\n @Prop({ reflect: true })\n hasError: boolean;\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 })\n hideLabel: boolean;\n\n /**\n * The label that displays above all the checkboxes.\n * @localizable\n */\n @Prop({ reflect: true })\n label: string;\n\n /** Determines if the component is marked as `optional`. */\n @Prop({ reflect: true })\n optional: boolean;\n\n /** Determines if all the checkboxes are marked as `readonly`. */\n @Prop({ reflect: true })\n readonly: boolean;\n\n /**\n * Can be used to get and set the checked status of each `<q2-checkbox>` element contained within the group.\n *\n * **Example:**\n * @snippet\n * element.value = {\n * 'checkbox-value-1': true,\n * 'checkbox-value-2': false,\n * 'checkbox-value-3': true,\n * };\n *\n * // Also accepts partial values\n * element.value = {\n * 'checkbox-value-2': false,\n * }\n */\n @Prop({ mutable: true })\n value: object;\n\n // #endregion\n // #region Events\n\n @Event()\n change: EventEmitter;\n\n // #endregion\n // #region Component Lifecycle Events\n\n disconnectedCallback() {\n if (this.mutationObserver) {\n this.mutationObserver.disconnect();\n this.mutationObserver = null;\n }\n }\n\n componentWillLoad() {\n this.updateReadonly();\n }\n\n componentDidLoad() {\n const observer = new MutationObserver(this.onMutationObserved);\n observer.observe(this.hostElement, { childList: true, subtree: true });\n this.mutationObserver = observer;\n this.onMutationObserved();\n }\n\n // #endregion\n // #region Listeners\n\n @Listen('change')\n onHostElementChange(event: CustomEvent) {\n if (event.target === this.hostElement && !this.hostElement.onchange) {\n this.value = event.detail;\n }\n }\n\n // #endregion\n // #region Public Methods API\n\n /**\n * Emulates clicking the `<q2-checkbox>` option(s) with the provided value.\n *\n * @testOnly\n */\n @Method()\n setValue(values: string | string[]) {\n const valuesSet = new Set(Array.isArray(values) ? values : [values]);\n this.checkboxElements.forEach(check => {\n if (valuesSet.has(check.value)) check.click();\n });\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('disabled')\n disabledObserver() {\n this.updateDisabled();\n }\n\n @Watch('readonly')\n readonlyObserver() {\n this.updateReadonly();\n }\n\n @Watch('value')\n valueObserver() {\n this.updateValue();\n }\n\n // #endregion\n // #region Local Methods\n\n get checkboxElements() {\n return Array.from(this.hostElement.querySelectorAll('q2-checkbox')) as HTMLQ2CheckboxElement[];\n }\n\n get inputId() {\n return this._id;\n }\n\n get protectedValue(): object {\n return this.value || {};\n }\n\n inputDom() {\n return <slot />;\n }\n\n onInnerCheckboxChange = (event: CustomEvent) => {\n event.stopImmediatePropagation();\n const groupValue = {};\n setTimeout(() => {\n this.checkboxElements.forEach(check => {\n groupValue[check.value] = !!check.checked;\n });\n this.change.emit(groupValue);\n }, 0);\n };\n\n onMutationObserved = () => {\n this.updateValue();\n this.updateDisabled();\n this.updateReadonly();\n };\n\n updateDisabled() {\n const groupDisabled = this.disabled;\n this.checkboxElements.forEach(checkbox => {\n checkbox.groupDisabled = groupDisabled;\n });\n }\n\n updateReadonly() {\n const slotReadonly = this.readonly;\n this.checkboxElements.forEach(checkbox => {\n checkbox.slotReadonly = slotReadonly;\n });\n }\n\n updateValue() {\n if (this.readonly) return;\n this.checkboxElements.forEach(check => {\n if (this.protectedValue.hasOwnProperty(check.value)) {\n check.checked = this.value[check.value];\n }\n });\n }\n\n // #endregion\n // #region Render Methods\n\n render() {\n const showLabel = this.label || this.optional || this.readonly;\n return (\n <div>\n {showLabel && !this.hideLabel && <div class=\"group-legend\">{labelDOM(this)}</div>}\n <fieldset\n class={`q2-checkbox-fieldset ${this.hasError ? 'has-error' : ''}`}\n onChange={this.onInnerCheckboxChange}\n aria-invalid={this.hasError === undefined ? undefined : `${this.hasError}`}\n >\n {this.label || this.optional ? <legend class=\"sr-only\">{labelDOM(this)}</legend> : ''}\n {this.hasError ? (\n <div class={`error-icon-container ${this.label || this.optional ? '' : 'no-label'}`}>\n <q2-icon\n class=\"h(4) w(4) mrg-b(2)\"\n type=\"error\"\n ></q2-icon>\n </div>\n ) : (\n ''\n )}\n {this.inputDom()}\n </fieldset>\n </div>\n );\n }\n\n // #endregion\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { evaluateA11y, getFocusedAttribute, getListOfStyleCompilationIssues, setup } from "
|
|
1
|
+
import { evaluateA11y, getFocusedAttribute, getListOfStyleCompilationIssues, setup } from "../../../utils/helpers";
|
|
2
2
|
describe('q2-checkbox-group', () => {
|
|
3
3
|
let page;
|
|
4
4
|
it('properly compiles CSS vars and functions', async () => {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"q2-checkbox-group-test.e2e.js","sourceRoot":"","sources":["../../../../src/components/q2-checkbox-group/test/q2-checkbox-group-test.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["import { E2EPage } from '@stencil/core/testing';\nimport { evaluateA11y, getFocusedAttribute, getListOfStyleCompilationIssues, setup } from '@/utils/helpers';\n\ndescribe('q2-checkbox-group', () => {\n let page: E2EPage;\n\n it('properly compiles CSS vars and functions', async () => {\n const page = await setup({ html: '<q2-checkbox-group></q2-checkbox-group>' });\n expect(await getListOfStyleCompilationIssues(page, 'q2-checkbox-group')).toHaveLength(0);\n });\n\n describe('[A11y] guideline compliance', () => {\n it('Does not have accessibility violations', async () => {\n const page = await setup({\n html: `\n <q2-checkbox-group label=\"My Checkbox group\">\n <q2-checkbox value=\"value-1\" label=\"Checkbox 1\"></q2-checkbox>\n <q2-checkbox value=\"value-2\" label=\"Checkbox 2\"></q2-checkbox>\n <q2-checkbox value=\"value-3\" label=\"Checkbox 3\"></q2-checkbox>\n <q2-checkbox value=\"value-4\" label=\"Checkbox 4\"></q2-checkbox>\n <q2-checkbox value=\"value-5\" label=\"Checkbox 5\"></q2-checkbox>\n </q2-checkbox-group>\n `,\n });\n const hasViolations = await evaluateA11y(page);\n expect(hasViolations).toBe(false);\n });\n });\n\n describe('Props', () => {\n async function setupPage(props: string = '') {\n props = props ? ` ${props}` : '';\n const page = await setup({\n html: `\n <q2-checkbox-group label=\"My Checkbox group\"${props}>\n <q2-checkbox value=\"value-1\" label=\"Checkbox 1\"></q2-checkbox>\n <q2-checkbox value=\"value-2\" label=\"Checkbox 2\"></q2-checkbox>\n <q2-checkbox value=\"value-3\" label=\"Checkbox 3\"></q2-checkbox>\n <q2-checkbox value=\"value-4\" label=\"Checkbox 4\"></q2-checkbox>\n <q2-checkbox value=\"value-5\" label=\"Checkbox 5\"></q2-checkbox>\n </q2-checkbox-group>\n `,\n });\n await page.waitForChanges();\n\n return page;\n }\n\n describe('disabled', () => {\n it('does not add the group-disabled attribute to the checkboxes by default', async () => {\n page = await setupPage();\n const checkboxes = await page.findAll('q2-checkbox');\n\n expect(checkboxes).toHaveLength(5);\n checkboxes.forEach(checkbox => {\n expect(checkbox).not.toHaveAttribute('group-disabled');\n });\n });\n\n it('adds the group-disabled attribute to the checkboxes when present', async () => {\n page = await setupPage('disabled');\n const checkboxes = await page.findAll('q2-checkbox');\n\n expect(checkboxes).toHaveLength(5);\n checkboxes.forEach(checkbox => {\n expect(checkbox).toHaveAttribute('group-disabled');\n });\n });\n });\n describe('readonly', () => {\n describe('set to true', () => {\n it('on load child q2-checkbox components are readonly', async () => {\n page = await setupPage('readonly'); // setting readonly but slotReadonly should get updated\n const checkboxes = await page.findAll('q2-checkbox');\n\n checkboxes.forEach(checkbox => {\n expect(checkbox).toHaveAttribute('slot-readonly');\n expect(checkbox).not.toHaveAttribute('readonly');\n });\n });\n it('after load child q2-checkbox components are readonly', async () => {\n page = await setupPage();\n const checkboxGroup = await page.find('q2-checkbox-group');\n const checkboxes = await page.findAll('q2-checkbox');\n\n checkboxes.forEach(checkbox => {\n expect(checkbox).not.toHaveAttribute('slot-readonly');\n });\n\n checkboxGroup.setAttribute('readonly', 'true'); // setting readonly but slotReadonly should get updated\n await page.waitForChanges();\n\n checkboxes.forEach(checkbox => {\n expect(checkbox).toHaveAttribute('slot-readonly');\n expect(checkbox).not.toHaveAttribute('readonly');\n });\n });\n });\n describe('set to false', () => {\n it('on load child q2-checkbox components are NOT readonly', async () => {\n page = await setupPage();\n const checkboxes = await page.findAll('q2-checkbox');\n\n checkboxes.forEach(checkbox => {\n expect(checkbox).not.toHaveAttribute('slot-readonly');\n });\n });\n it('after load child q2-checkbox components are NOT readonly', async () => {\n page = await setupPage('readonly'); // setting readonly but slotReadonly should get updated\n const checkboxGroup = await page.find('q2-checkbox-group');\n const checkboxes = await page.findAll('q2-checkbox');\n\n checkboxes.forEach(checkbox => {\n expect(checkbox).toHaveAttribute('slot-readonly');\n expect(checkbox).not.toHaveAttribute('readonly');\n });\n\n checkboxGroup.setAttribute('readonly', 'false'); // setting readonly but slotReadonly should get updated\n await page.waitForChanges();\n\n checkboxes.forEach(checkbox => {\n expect(checkbox).not.toHaveAttribute('slot-readonly');\n });\n });\n });\n });\n });\n\n describe('Methods', () => {\n describe('setValue', () => {\n beforeEach(async () => {\n page = await setup({\n html: `\n <q2-checkbox-group label=\"My Checkbox group\">\n <q2-checkbox value=\"value-1\" label=\"Checkbox 1\"></q2-checkbox>\n <q2-checkbox value=\"value-2\" label=\"Checkbox 2\"></q2-checkbox>\n <q2-checkbox value=\"value-3\" label=\"Checkbox 3\"></q2-checkbox>\n <q2-checkbox value=\"value-4\" label=\"Checkbox 4\"></q2-checkbox>\n <q2-checkbox value=\"value-5\" label=\"Checkbox 5\"></q2-checkbox>\n </q2-checkbox-group>\n `,\n });\n await page.waitForChanges();\n });\n\n it('selects every checkbox provided in an array of strings', async () => {\n const checkboxGroup = await page.find('q2-checkbox-group');\n const checkboxGroupChangeSpy = await checkboxGroup.spyOnEvent('change');\n\n expect(checkboxGroupChangeSpy).toHaveReceivedEventTimes(0);\n expect(await getFocusedAttribute(page, 'value')).toBeNull();\n\n await checkboxGroup.callMethod('setValue', ['value-1', 'value-3', 'value-5']);\n await page.waitForChanges();\n\n expect(checkboxGroupChangeSpy).toHaveReceivedEventTimes(3);\n expect(checkboxGroupChangeSpy).toHaveReceivedEventDetail({\n 'value-1': true,\n 'value-2': false,\n 'value-3': true,\n 'value-4': false,\n 'value-5': true,\n });\n\n const allCheckboxes = await page.findAll('q2-checkbox');\n expect(allCheckboxes[0]).toHaveAttribute('checked');\n expect(allCheckboxes[1]).not.toHaveAttribute('checked');\n expect(allCheckboxes[2]).toHaveAttribute('checked');\n expect(allCheckboxes[3]).not.toHaveAttribute('checked');\n expect(allCheckboxes[4]).toHaveAttribute('checked');\n expect(await getFocusedAttribute(page, 'value')).toEqual('value-5');\n });\n\n it('selects the checkbox for the provided value', async () => {\n const checkboxGroup = await page.find('q2-checkbox-group');\n const checkboxGroupChangeSpy = await checkboxGroup.spyOnEvent('change');\n\n expect(checkboxGroupChangeSpy).toHaveReceivedEventTimes(0);\n expect(await getFocusedAttribute(page, 'value')).toBeNull();\n\n await checkboxGroup.callMethod('setValue', 'value-3');\n await page.waitForChanges();\n\n expect(checkboxGroupChangeSpy).toHaveReceivedEventTimes(1);\n expect(checkboxGroupChangeSpy).toHaveReceivedEventDetail({\n 'value-1': false,\n 'value-2': false,\n 'value-3': true,\n 'value-4': false,\n 'value-5': false,\n });\n\n const allCheckboxes = await page.findAll('q2-checkbox');\n expect(allCheckboxes[0]).not.toHaveAttribute('checked');\n expect(allCheckboxes[1]).not.toHaveAttribute('checked');\n expect(allCheckboxes[2]).toHaveAttribute('checked');\n expect(allCheckboxes[3]).not.toHaveAttribute('checked');\n expect(allCheckboxes[4]).not.toHaveAttribute('checked');\n expect(await getFocusedAttribute(page, 'value')).toEqual('value-3');\n });\n\n it('does not select any checkbox when the provided value is not found', async () => {\n const checkboxGroup = await page.find('q2-checkbox-group');\n const checkboxGroupChangeSpy = await checkboxGroup.spyOnEvent('change');\n\n expect(checkboxGroupChangeSpy).toHaveReceivedEventTimes(0);\n expect(await getFocusedAttribute(page, 'value')).toBeNull();\n\n await checkboxGroup.callMethod('setValue', 'value-10');\n await page.waitForChanges();\n\n expect(checkboxGroupChangeSpy).toHaveReceivedEventTimes(0);\n const allCheckboxes = await page.findAll('q2-checkbox');\n expect(allCheckboxes[0]).not.toHaveAttribute('checked');\n expect(allCheckboxes[1]).not.toHaveAttribute('checked');\n expect(allCheckboxes[2]).not.toHaveAttribute('checked');\n expect(allCheckboxes[3]).not.toHaveAttribute('checked');\n expect(allCheckboxes[4]).not.toHaveAttribute('checked');\n expect(await getFocusedAttribute(page, 'value')).toBeNull();\n });\n });\n });\n});\n"]}
|
|
@@ -105,7 +105,7 @@ export class Q2Currency {
|
|
|
105
105
|
// #region Render Methods
|
|
106
106
|
render() {
|
|
107
107
|
const { hasPlusMinusSign, plusMinusSign, currencyIsFront, currencySymbol, shouldSuperscriptSymbol, amountCore, fraction, shouldSuperscriptFraction, readableCurrency, currencyClasses, } = this;
|
|
108
|
-
return (h("div", { key: '
|
|
108
|
+
return (h("div", { key: 'ed33172deafa3f61e799dffc372e7b9fd6a874e9', class: currencyClasses, "aria-label": readableCurrency }, hasPlusMinusSign && h("span", { key: 'af56566eac86d140a2d6593895c3393fbdaf805a' }, plusMinusSign), currencyIsFront && h("span", { key: '6ed73eab5877469f48eb44ab7dce6642304adeae', class: shouldSuperscriptSymbol ? 'superscript' : '' }, currencySymbol), h("span", { key: '240303c419b898c255a00eac5e55a910ee1ac6d1' }, amountCore), h("span", { key: '83902dbf7399faf3afcd9bdaf165802f1c9e78d8', class: shouldSuperscriptFraction ? 'superscript' : '' }, fraction), !currencyIsFront && h("span", { key: '11fb3f1155b4273eb6bf9f13924ef98a51c18034', class: shouldSuperscriptSymbol ? 'superscript' : '' }, currencySymbol)));
|
|
109
109
|
}
|
|
110
110
|
static get is() { return "q2-currency"; }
|
|
111
111
|
static get encapsulation() { return "shadow"; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"q2-currency.js","sourceRoot":"","sources":["../../../../src/components/q2-currency/q2-currency.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Prop, Watch, h, ComponentInterface } from '@stencil/core';\n@Component({ tag: 'q2-currency', shadow: true, styleUrl: 'q2-currency.scss' })\nexport class Q2Currency implements ComponentInterface {\n // #region Own Properties\n\n /** @private The parts of the formatted number. */\n formattedParts: Intl.NumberFormatPart[];\n /** @private The full currency for aria-label purposes. */\n readableCurrency: string;\n\n // #endregion\n // #region Public Property API\n\n /** The amount you want formatted. */\n @Prop({ reflect: true })\n amount: number;\n\n /** Formats the `amount` to a specific currency. */\n @Prop({ reflect: true })\n currency: string = 'USD';\n\n /** Formats to the language provided. Accepts multiple locales in an array as sequential fallbacks. */\n @Prop({ reflect: true })\n locale: string | string[] = document.documentElement.lang || 'en-US';\n\n /**\n * Determine how the positive or negative sign should display.\n *\n * Behavior:\n * - `always`: Always display the sign.\n * - `auto`: Sign displays for negative numbers only, including negative zero.\n * - `exceptZero`: Sign displays for positive and negative numbers, but not zero.\n * - `never`: Never display the sign.\n */\n @Prop({ reflect: true })\n signDisplay: 'never' | 'auto' | 'always' | 'exceptZero' = 'auto';\n\n /** Applies styling based on the size provided. If no size is provided, it will display as inline text. */\n @Prop({ reflect: true })\n size: 'small' | 'medium' | 'large';\n\n /** @private Inherited from q2-detail when slotted to match styling of q2-detail and q2-currency texts. */\n @Prop({ reflect: true })\n slotSize: string;\n\n // #endregion\n // #region Component Lifecycle Events\n\n componentWillLoad(): void | Promise<void> {\n this.formatCurrency();\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('amount')\n @Watch('currency')\n @Watch('locale')\n @Watch('size')\n @Watch('slotSize')\n @Watch('signDisplay')\n propsUpdated() {\n this.formatCurrency();\n }\n\n // #endregion\n // #region Local Methods\n\n get amountCore(): string {\n const { formattedParts, shouldSuperscriptFraction } = this;\n let amount: string = '';\n\n for (const part of formattedParts) {\n if (\n part.type === 'integer' ||\n part.type === 'decimal' ||\n part.type === 'group' ||\n part.type === 'literal'\n ) {\n amount += part.value;\n }\n }\n\n // removes trailing decimal point if superscripting the fraction\n if (shouldSuperscriptFraction && amount[amount.length - 1] === '.') amount = amount.slice(0, -1);\n // removes end whitespace that breaks formatting\n amount = amount.trimEnd();\n\n return amount;\n }\n\n get currencyClasses(): string {\n const classes = ['currency'];\n const sizeClass = this.size ? this.size : this.slotSize;\n\n if (!!sizeClass) classes.push(`currency-${sizeClass}`);\n\n return classes.join(' ');\n }\n\n get currencyIsFront(): boolean {\n const index = this.formattedParts.findIndex((part: Intl.NumberFormatPart) => part.type === 'currency');\n if (index === 0 || index === 1) return true;\n return false;\n }\n\n get currencySymbol(): string {\n const { formattedParts, currencyIsFront } = this;\n const currencyIndex = formattedParts.findIndex((part: Intl.NumberFormatPart) => part.type === 'currency');\n const symbol = formattedParts[currencyIndex].value;\n return currencyIsFront ? symbol : ' ' + symbol;\n }\n\n get fraction(): string {\n const { formattedParts } = this;\n const fraction = formattedParts.find((part: Intl.NumberFormatPart) => part.type === 'fraction');\n if (!fraction) return;\n\n return fraction.value;\n }\n\n get hasPlusMinusSign(): boolean {\n return this.formattedParts.some(\n (part: Intl.NumberFormatPart) => part.type === 'minusSign' || part.type === 'plusSign'\n );\n }\n\n get plusMinusSign(): string {\n const { formattedParts, hasPlusMinusSign } = this;\n if (!hasPlusMinusSign) return;\n\n const sign = formattedParts.find(\n (part: Intl.NumberFormatPart) => part.type === 'minusSign' || part.type === 'plusSign'\n );\n return sign.value;\n }\n\n get shouldSuperscriptFraction(): boolean {\n const fractionIndex = this.formattedParts.findIndex((part: Intl.NumberFormatPart) => part.type === 'fraction');\n const commaBeforeFraction = this.formattedParts[fractionIndex - 1].value === ',';\n\n if (commaBeforeFraction || !this.currencyIsFront || this.sizeValue === 'small' || !this.sizeProvided)\n return false;\n\n return true;\n }\n\n get shouldSuperscriptSymbol(): boolean {\n if (!this.currencyIsFront || this.sizeProvided) return true;\n\n return false;\n }\n\n get sizeProvided(): boolean {\n return !!this.size || !!this.slotSize;\n }\n\n get sizeValue(): string {\n return this.size ? this.size : this.slotSize;\n }\n\n formatCurrency() {\n const formatOptions = new Intl.NumberFormat(this.locale, {\n style: 'currency',\n currency: this.currency,\n signDisplay: this.signDisplay,\n });\n this.formattedParts = formatOptions.formatToParts(this.amount);\n this.readableCurrency = formatOptions.format(this.amount);\n }\n\n // #endregion\n // #region Render Methods\n\n render() {\n const {\n hasPlusMinusSign,\n plusMinusSign,\n currencyIsFront,\n currencySymbol,\n shouldSuperscriptSymbol,\n amountCore,\n fraction,\n shouldSuperscriptFraction,\n readableCurrency,\n currencyClasses,\n } = this;\n\n return (\n <div\n class={currencyClasses}\n aria-label={readableCurrency}\n >\n {hasPlusMinusSign && <span>{plusMinusSign}</span>}\n {currencyIsFront && <span class={shouldSuperscriptSymbol ? 'superscript' : ''}>{currencySymbol}</span>}\n <span>{amountCore}</span>\n <span class={shouldSuperscriptFraction ? 'superscript' : ''}>{fraction}</span>\n {!currencyIsFront && <span class={shouldSuperscriptSymbol ? 'superscript' : ''}>{currencySymbol}</span>}\n </div>\n );\n }\n\n // #endregion\n}\n"]}
|
|
1
|
+
{"version":3,"file":"q2-currency.js","sourceRoot":"","sources":["../../../src/components/q2-currency/q2-currency.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Prop, Watch, h, ComponentInterface } from '@stencil/core';\n@Component({ tag: 'q2-currency', shadow: true, styleUrl: 'q2-currency.scss' })\nexport class Q2Currency implements ComponentInterface {\n // #region Own Properties\n\n /** @private The parts of the formatted number. */\n formattedParts: Intl.NumberFormatPart[];\n /** @private The full currency for aria-label purposes. */\n readableCurrency: string;\n\n // #endregion\n // #region Public Property API\n\n /** The amount you want formatted. */\n @Prop({ reflect: true })\n amount: number;\n\n /** Formats the `amount` to a specific currency. */\n @Prop({ reflect: true })\n currency: string = 'USD';\n\n /** Formats to the language provided. Accepts multiple locales in an array as sequential fallbacks. */\n @Prop({ reflect: true })\n locale: string | string[] = document.documentElement.lang || 'en-US';\n\n /**\n * Determine how the positive or negative sign should display.\n *\n * Behavior:\n * - `always`: Always display the sign.\n * - `auto`: Sign displays for negative numbers only, including negative zero.\n * - `exceptZero`: Sign displays for positive and negative numbers, but not zero.\n * - `never`: Never display the sign.\n */\n @Prop({ reflect: true })\n signDisplay: 'never' | 'auto' | 'always' | 'exceptZero' = 'auto';\n\n /** Applies styling based on the size provided. If no size is provided, it will display as inline text. */\n @Prop({ reflect: true })\n size: 'small' | 'medium' | 'large';\n\n /** @private Inherited from q2-detail when slotted to match styling of q2-detail and q2-currency texts. */\n @Prop({ reflect: true })\n slotSize: string;\n\n // #endregion\n // #region Component Lifecycle Events\n\n componentWillLoad(): void | Promise<void> {\n this.formatCurrency();\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('amount')\n @Watch('currency')\n @Watch('locale')\n @Watch('size')\n @Watch('slotSize')\n @Watch('signDisplay')\n propsUpdated() {\n this.formatCurrency();\n }\n\n // #endregion\n // #region Local Methods\n\n get amountCore(): string {\n const { formattedParts, shouldSuperscriptFraction } = this;\n let amount: string = '';\n\n for (const part of formattedParts) {\n if (\n part.type === 'integer' ||\n part.type === 'decimal' ||\n part.type === 'group' ||\n part.type === 'literal'\n ) {\n amount += part.value;\n }\n }\n\n // removes trailing decimal point if superscripting the fraction\n if (shouldSuperscriptFraction && amount[amount.length - 1] === '.') amount = amount.slice(0, -1);\n // removes end whitespace that breaks formatting\n amount = amount.trimEnd();\n\n return amount;\n }\n\n get currencyClasses(): string {\n const classes = ['currency'];\n const sizeClass = this.size ? this.size : this.slotSize;\n\n if (!!sizeClass) classes.push(`currency-${sizeClass}`);\n\n return classes.join(' ');\n }\n\n get currencyIsFront(): boolean {\n const index = this.formattedParts.findIndex((part: Intl.NumberFormatPart) => part.type === 'currency');\n if (index === 0 || index === 1) return true;\n return false;\n }\n\n get currencySymbol(): string {\n const { formattedParts, currencyIsFront } = this;\n const currencyIndex = formattedParts.findIndex((part: Intl.NumberFormatPart) => part.type === 'currency');\n const symbol = formattedParts[currencyIndex].value;\n return currencyIsFront ? symbol : ' ' + symbol;\n }\n\n get fraction(): string {\n const { formattedParts } = this;\n const fraction = formattedParts.find((part: Intl.NumberFormatPart) => part.type === 'fraction');\n if (!fraction) return;\n\n return fraction.value;\n }\n\n get hasPlusMinusSign(): boolean {\n return this.formattedParts.some(\n (part: Intl.NumberFormatPart) => part.type === 'minusSign' || part.type === 'plusSign'\n );\n }\n\n get plusMinusSign(): string {\n const { formattedParts, hasPlusMinusSign } = this;\n if (!hasPlusMinusSign) return;\n\n const sign = formattedParts.find(\n (part: Intl.NumberFormatPart) => part.type === 'minusSign' || part.type === 'plusSign'\n );\n return sign.value;\n }\n\n get shouldSuperscriptFraction(): boolean {\n const fractionIndex = this.formattedParts.findIndex((part: Intl.NumberFormatPart) => part.type === 'fraction');\n const commaBeforeFraction = this.formattedParts[fractionIndex - 1].value === ',';\n\n if (commaBeforeFraction || !this.currencyIsFront || this.sizeValue === 'small' || !this.sizeProvided)\n return false;\n\n return true;\n }\n\n get shouldSuperscriptSymbol(): boolean {\n if (!this.currencyIsFront || this.sizeProvided) return true;\n\n return false;\n }\n\n get sizeProvided(): boolean {\n return !!this.size || !!this.slotSize;\n }\n\n get sizeValue(): string {\n return this.size ? this.size : this.slotSize;\n }\n\n formatCurrency() {\n const formatOptions = new Intl.NumberFormat(this.locale, {\n style: 'currency',\n currency: this.currency,\n signDisplay: this.signDisplay,\n });\n this.formattedParts = formatOptions.formatToParts(this.amount);\n this.readableCurrency = formatOptions.format(this.amount);\n }\n\n // #endregion\n // #region Render Methods\n\n render() {\n const {\n hasPlusMinusSign,\n plusMinusSign,\n currencyIsFront,\n currencySymbol,\n shouldSuperscriptSymbol,\n amountCore,\n fraction,\n shouldSuperscriptFraction,\n readableCurrency,\n currencyClasses,\n } = this;\n\n return (\n <div\n class={currencyClasses}\n aria-label={readableCurrency}\n >\n {hasPlusMinusSign && <span>{plusMinusSign}</span>}\n {currencyIsFront && <span class={shouldSuperscriptSymbol ? 'superscript' : ''}>{currencySymbol}</span>}\n <span>{amountCore}</span>\n <span class={shouldSuperscriptFraction ? 'superscript' : ''}>{fraction}</span>\n {!currencyIsFront && <span class={shouldSuperscriptSymbol ? 'superscript' : ''}>{currencySymbol}</span>}\n </div>\n );\n }\n\n // #endregion\n}\n"]}
|
package/dist/{test/elements → collection/components/q2-currency/test}/q2-currency-test.e2e.js
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { newSpecPage } from "@stencil/core/testing";
|
|
2
|
-
import { setup, evaluateA11y, getListOfStyleCompilationIssues } from "../../../
|
|
3
|
-
import { Q2Currency } from "
|
|
2
|
+
import { setup, evaluateA11y, getListOfStyleCompilationIssues } from "../../../utils/helpers";
|
|
3
|
+
import { Q2Currency } from "../q2-currency";
|
|
4
4
|
function createNewSpecPage(props) {
|
|
5
5
|
let htmlProps = '';
|
|
6
6
|
if (!isNaN(props.amount)) {
|