q2-tecton-elements 1.66.2 → 1.67.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/bundle-report.json +3106 -2970
- package/dist/cjs/action-sheet-D71RSc-w.js.map +1 -1
- package/dist/cjs/click-elsewhere.q2-option-list.q2-popover.entry.cjs.js.map +1 -0
- package/dist/cjs/{q2-option-list_2.cjs.entry.js → click-elsewhere_3.cjs.entry.js} +168 -20
- package/dist/cjs/click-elsewhere_3.cjs.entry.js.map +1 -0
- package/dist/cjs/{index-DyAq0y0v.js → index-YvKoRT-t.js} +61 -21
- package/dist/cjs/index-YvKoRT-t.js.map +1 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/q2-action-group_2.cjs.entry.js +3 -3
- package/dist/cjs/q2-action-sheet.cjs.entry.js +3 -3
- package/dist/cjs/q2-avatar.cjs.entry.js +33 -2
- package/dist/cjs/q2-avatar.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-avatar.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-badge.cjs.entry.js +1 -1
- package/dist/cjs/q2-btn.q2-loading.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-btn_2.cjs.entry.js +22 -8
- package/dist/cjs/q2-btn_2.cjs.entry.js.map +1 -1
- 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-calendar.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-card-image.cjs.entry.js +3 -3
- package/dist/cjs/q2-card.cjs.entry.js +1 -1
- package/dist/cjs/q2-carousel-pane.cjs.entry.js +4 -4
- package/dist/cjs/q2-carousel-pane.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-carousel-pane.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-carousel.cjs.entry.js +67 -42
- package/dist/cjs/q2-carousel.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-carousel.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-chart-area.cjs.entry.js +4 -2
- package/dist/cjs/q2-chart-area.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-chart-area.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-chart-bar.cjs.entry.js +4 -2
- package/dist/cjs/q2-chart-bar.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-chart-bar.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-chart-donut.cjs.entry.js +7 -3
- package/dist/cjs/q2-chart-donut.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-chart-donut.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-checkbox-group.cjs.entry.js +3 -3
- package/dist/cjs/q2-checkbox-group.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-checkbox-group.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-checkbox.q2-tag.entry.cjs.js.map +1 -0
- package/dist/cjs/q2-checkbox_2.cjs.entry.js +322 -0
- package/dist/cjs/q2-checkbox_2.cjs.entry.js.map +1 -0
- package/dist/cjs/q2-context.cjs.entry.js +2 -2
- package/dist/cjs/q2-currency.cjs.entry.js +1 -1
- package/dist/cjs/q2-data-table.cjs.entry.js +13 -16
- package/dist/cjs/q2-data-table.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-data-table.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-detail.cjs.entry.js +2 -2
- package/dist/cjs/q2-dropdown-item.cjs.entry.js +1 -1
- package/dist/cjs/q2-dropdown.cjs.entry.js +2 -2
- package/dist/cjs/q2-editable-field.cjs.entry.js +2 -2
- package/dist/cjs/q2-editable-field.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-editable-field.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-example.cjs.entry.js +1 -1
- package/dist/cjs/q2-file-picker.cjs.entry.js +1 -1
- package/dist/cjs/q2-file-picker.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-file-picker.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-form.cjs.entry.js +1 -1
- package/dist/cjs/q2-formatted-text.cjs.entry.js +1 -1
- package/dist/cjs/q2-grid-area.cjs.entry.js +1 -1
- package/dist/cjs/q2-grid.cjs.entry.js +1 -1
- package/dist/cjs/q2-icon.cjs.entry.js +11 -1
- package/dist/cjs/q2-icon.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-icon.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-input.cjs.entry.js +2 -2
- package/dist/cjs/q2-input.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-input.entry.cjs.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-item.entry.cjs.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-legend.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-link.q2-list.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-link_2.cjs.entry.js +14 -6
- package/dist/cjs/q2-link_2.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-loc.cjs.entry.js +1 -1
- package/dist/cjs/q2-message.cjs.entry.js +3 -3
- package/dist/cjs/q2-message.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-message.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-meter.cjs.entry.js +2 -2
- package/dist/cjs/q2-modal.cjs.entry.js +4 -21
- package/dist/cjs/q2-modal.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-modal.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-month-picker.cjs.entry.js +3 -3
- package/dist/cjs/q2-mutation-observer.cjs.entry.js +1 -1
- package/dist/cjs/q2-optgroup.cjs.entry.js +2 -2
- package/dist/cjs/q2-option.cjs.entry.js +1 -1
- package/dist/cjs/q2-pagination.cjs.entry.js +12 -7
- package/dist/cjs/q2-pagination.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-pagination.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-pill.cjs.entry.js +3 -3
- package/dist/cjs/q2-pill.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-pill.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-radio-group.cjs.entry.js +3 -3
- package/dist/cjs/q2-radio-group.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-radio-group.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-radio.cjs.entry.js +3 -3
- package/dist/cjs/q2-radio.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-radio.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-relative-time.cjs.entry.js +2 -2
- package/dist/cjs/q2-section.cjs.entry.js +3 -3
- package/dist/cjs/q2-select.cjs.entry.js +22 -8
- package/dist/cjs/q2-select.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-select.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-stepper-pane.cjs.entry.js +7 -6
- package/dist/cjs/q2-stepper-pane.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-stepper-pane.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-stepper-vertical.cjs.entry.js +16 -8
- package/dist/cjs/q2-stepper-vertical.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-stepper-vertical.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-stepper.cjs.entry.js +7 -4
- package/dist/cjs/q2-stepper.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-stepper.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-tab-container.cjs.entry.js +3 -3
- package/dist/cjs/q2-tab-container.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-tab-container.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-tab-pane.cjs.entry.js +1 -1
- package/dist/cjs/q2-tecton-elements.cjs.js +1 -1
- package/dist/cjs/q2-textarea.cjs.entry.js +3 -3
- package/dist/cjs/q2-textarea.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-textarea.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-toast.cjs.entry.js +1 -1
- package/dist/cjs/q2-tooltip.cjs.entry.js +33 -3
- package/dist/cjs/q2-tooltip.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-tooltip.entry.cjs.js.map +1 -1
- package/dist/cjs/{sanitize-html-string-C2iwHNz5.js → sanitize-html-string-CW6y5624.js} +27 -17
- package/dist/cjs/sanitize-html-string-CW6y5624.js.map +1 -0
- package/dist/cjs/tecton-tab-pane.cjs.entry.js +2 -2
- package/dist/collection/__mocks__/echarts.js +12 -0
- package/dist/collection/__mocks__/echarts.js.map +1 -0
- package/dist/collection/collection-manifest.json +3 -3
- package/dist/collection/components/q2-action-group/q2-action-group.js +1 -1
- package/dist/collection/components/q2-action-sheet/q2-action-sheet.js +1 -1
- package/dist/collection/components/q2-avatar/q2-avatar.css +84 -89
- package/dist/collection/components/q2-avatar/q2-avatar.js +35 -1
- package/dist/collection/components/q2-avatar/q2-avatar.js.map +1 -1
- package/dist/collection/components/q2-btn/q2-btn.css +10 -3
- package/dist/collection/components/q2-btn/q2-btn.js +42 -6
- package/dist/collection/components/q2-btn/q2-btn.js.map +1 -1
- 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.css +4 -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-card-image/q2-card-image.js +2 -2
- package/dist/collection/components/q2-carousel/q2-carousel.css +143 -13
- package/dist/collection/components/q2-carousel/q2-carousel.js +90 -42
- package/dist/collection/components/q2-carousel/q2-carousel.js.map +1 -1
- package/dist/collection/components/q2-carousel-pane/q2-carousel-pane.css +2 -11
- package/dist/collection/components/q2-carousel-pane/q2-carousel-pane.js +2 -2
- package/dist/collection/components/q2-chart-area/q2-chart-area.js +18 -16
- package/dist/collection/components/q2-chart-area/q2-chart-area.js.map +1 -1
- package/dist/collection/components/q2-chart-bar/q2-chart-bar.js +8 -6
- package/dist/collection/components/q2-chart-bar/q2-chart-bar.js.map +1 -1
- package/dist/collection/components/q2-chart-donut/q2-chart-donut.css +4 -1
- package/dist/collection/components/q2-chart-donut/q2-chart-donut.js +30 -26
- package/dist/collection/components/q2-chart-donut/q2-chart-donut.js.map +1 -1
- package/dist/collection/components/q2-checkbox/q2-checkbox.css +4 -1
- package/dist/collection/components/q2-checkbox/q2-checkbox.js +38 -1
- package/dist/collection/components/q2-checkbox/q2-checkbox.js.map +1 -1
- package/dist/collection/components/q2-checkbox-group/q2-checkbox-group.css +1 -1
- package/dist/collection/components/q2-checkbox-group/q2-checkbox-group.js +1 -1
- package/dist/collection/components/q2-context/q2-context.js +1 -1
- package/dist/collection/components/q2-currency/q2-currency.js +1 -1
- package/dist/collection/components/q2-data-table/q2-data-table.css +14 -0
- package/dist/collection/components/q2-data-table/q2-data-table.js +47 -50
- package/dist/collection/components/q2-data-table/q2-data-table.js.map +1 -1
- package/dist/collection/components/q2-detail/q2-detail.js +1 -1
- package/dist/collection/components/q2-dropdown/q2-dropdown.js +1 -1
- package/dist/collection/components/q2-editable-field/q2-editable-field.js +2 -2
- package/dist/collection/components/q2-editable-field/q2-editable-field.js.map +1 -1
- package/dist/collection/components/q2-example/q2-example.js +1 -1
- package/dist/collection/components/q2-file-picker/q2-file-picker.js +9 -9
- package/dist/collection/components/q2-file-picker/q2-file-picker.js.map +1 -1
- package/dist/collection/components/q2-form/q2-form.js +1 -1
- package/dist/collection/components/q2-formatted-text/q2-formatted-text.js +1 -1
- package/dist/collection/components/q2-grid/q2-grid.js +1 -1
- package/dist/collection/components/q2-grid-area/q2-grid-area.js +1 -1
- package/dist/collection/components/q2-icon/assets/brand.symbol.svg +1 -1
- package/dist/collection/components/q2-icon/assets/browsersos.symbol.svg +1 -1
- package/dist/collection/components/q2-icon/assets/cards.symbol.svg +1 -1
- package/dist/collection/components/q2-icon/assets/communication.symbol.svg +1 -1
- package/dist/collection/components/q2-icon/assets/currencies.symbol.svg +1 -1
- package/dist/collection/components/q2-icon/assets/devices.symbol.svg +1 -1
- package/dist/collection/components/q2-icon/assets/filetypes.symbol.svg +1 -1
- package/dist/collection/components/q2-icon/assets/gestures.symbol.svg +1 -1
- package/dist/collection/components/q2-icon/assets/icon-list.json +1 -1
- package/dist/collection/components/q2-icon/assets/icon-map.json +1 -1
- package/dist/collection/components/q2-icon/assets/legacy.symbol.svg +1 -1
- package/dist/collection/components/q2-icon/assets/mobile.symbol.svg +1 -1
- package/dist/collection/components/q2-icon/assets/standard.symbol.svg +1 -1
- package/dist/collection/components/q2-icon/assets/status.symbol.svg +1 -1
- package/dist/collection/components/q2-icon/q2-icon.js +8 -0
- package/dist/collection/components/q2-icon/q2-icon.js.map +1 -1
- package/dist/collection/components/q2-input/formatting/credit-card.js.map +1 -1
- package/dist/collection/components/q2-input/formatting/currency.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/q2-input-types.js.map +1 -1
- package/dist/collection/components/q2-input/q2-input.js +42 -42
- package/dist/collection/components/q2-input/q2-input.js.map +1 -1
- package/dist/collection/components/q2-item/q2-item.css +4 -0
- package/dist/collection/components/q2-item/q2-item.js +1 -1
- package/dist/collection/components/q2-legend/q2-legend.css +3 -0
- package/dist/collection/components/q2-legend/q2-legend.js +36 -36
- package/dist/collection/components/q2-legend/q2-legend.js.map +1 -1
- package/dist/collection/components/q2-link/q2-link.css +5 -2
- package/dist/collection/components/q2-link/q2-link.js +33 -3
- package/dist/collection/components/q2-link/q2-link.js.map +1 -1
- package/dist/collection/components/q2-list/q2-list.js +1 -1
- package/dist/collection/components/q2-message/q2-message.css +19 -16
- 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/collection/components/q2-meter/q2-meter.js +1 -1
- package/dist/collection/components/q2-modal/q2-modal.css +3 -3
- package/dist/collection/components/q2-modal/q2-modal.js +1 -94
- package/dist/collection/components/q2-modal/q2-modal.js.map +1 -1
- package/dist/collection/components/q2-mutation-observer/q2-mutation-observer.js +1 -1
- package/dist/collection/components/q2-optgroup/q2-optgroup.js +1 -1
- package/dist/collection/components/q2-option-list/q2-option-list.js +13 -13
- package/dist/collection/components/q2-option-list/q2-option-list.js.map +1 -1
- package/dist/collection/components/q2-pagination/q2-pagination.js +15 -10
- package/dist/collection/components/q2-pagination/q2-pagination.js.map +1 -1
- package/dist/collection/components/q2-pill/q2-pill.css +9 -0
- package/dist/collection/components/q2-pill/q2-pill.js +13 -13
- package/dist/collection/components/q2-pill/q2-pill.js.map +1 -1
- package/dist/collection/components/q2-popover/q2-popover.css +66 -1
- package/dist/collection/components/q2-popover/q2-popover.js +94 -14
- package/dist/collection/components/q2-popover/q2-popover.js.map +1 -1
- package/dist/collection/components/q2-radio/q2-radio.css +4 -3
- package/dist/collection/components/q2-radio/q2-radio.js +1 -1
- package/dist/collection/components/q2-radio-group/q2-radio-group.css +1 -1
- package/dist/collection/components/q2-radio-group/q2-radio-group.js +1 -1
- package/dist/collection/components/q2-relative-time/q2-relative-time.js +1 -1
- package/dist/collection/components/q2-resize-observer/q2-resize-observer.js +1 -1
- package/dist/collection/components/q2-section/q2-section.js +2 -2
- package/dist/collection/components/q2-select/q2-select.js +23 -7
- package/dist/collection/components/q2-select/q2-select.js.map +1 -1
- package/dist/collection/components/q2-stepper/q2-stepper.css +9 -2
- package/dist/collection/components/q2-stepper/q2-stepper.js +5 -2
- package/dist/collection/components/q2-stepper/q2-stepper.js.map +1 -1
- package/dist/collection/components/q2-stepper-pane/q2-stepper-pane.js +52 -30
- package/dist/collection/components/q2-stepper-pane/q2-stepper-pane.js.map +1 -1
- package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.css +11 -2
- package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.js +20 -6
- package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.js.map +1 -1
- package/dist/collection/components/q2-tab-container/q2-tab-container.css +7 -1
- package/dist/collection/components/q2-tab-container/q2-tab-container.js +1 -1
- package/dist/collection/components/q2-tab-pane/q2-tab-pane.js +1 -1
- package/dist/collection/components/q2-tag/q2-tag.css +3 -0
- package/dist/collection/components/q2-tag/q2-tag.js +1 -1
- package/dist/collection/components/q2-textarea/q2-textarea.css +1 -0
- package/dist/collection/components/q2-textarea/q2-textarea.js +1 -1
- package/dist/collection/components/q2-tooltip/q2-tooltip.css +1 -1
- package/dist/collection/components/q2-tooltip/q2-tooltip.js +34 -1
- package/dist/collection/components/q2-tooltip/q2-tooltip.js.map +1 -1
- package/dist/collection/components/tecton-tab-pane/tecton-tab-pane.js +2 -2
- package/dist/collection/index.js +1 -0
- package/dist/collection/index.js.map +1 -1
- package/dist/collection/utils/action-sheet.js.map +1 -1
- package/dist/collection/utils/index.js +59 -19
- package/dist/collection/utils/index.js.map +1 -1
- package/dist/components/action-sheet.js.map +1 -1
- package/dist/components/index2.js +59 -19
- package/dist/components/index2.js.map +1 -1
- package/dist/components/q2-action-group2.js +1 -1
- package/dist/components/q2-action-sheet.js +1 -1
- package/dist/components/q2-avatar2.js +34 -2
- package/dist/components/q2-avatar2.js.map +1 -1
- package/dist/components/q2-btn2.js +22 -7
- package/dist/components/q2-btn2.js.map +1 -1
- package/dist/components/q2-calendar.js +2 -2
- package/dist/components/q2-calendar.js.map +1 -1
- package/dist/components/q2-card-image.js +2 -2
- package/dist/components/q2-carousel-pane.js +3 -3
- package/dist/components/q2-carousel-pane.js.map +1 -1
- package/dist/components/q2-carousel.js +69 -55
- package/dist/components/q2-carousel.js.map +1 -1
- package/dist/components/q2-chart-area.js +3 -1
- package/dist/components/q2-chart-area.js.map +1 -1
- package/dist/components/q2-chart-bar.js +3 -1
- package/dist/components/q2-chart-bar.js.map +1 -1
- package/dist/components/q2-chart-donut.js +6 -2
- package/dist/components/q2-chart-donut.js.map +1 -1
- package/dist/components/q2-checkbox-group.js +2 -2
- package/dist/components/q2-checkbox-group.js.map +1 -1
- package/dist/components/q2-checkbox2.js +13 -2
- package/dist/components/q2-checkbox2.js.map +1 -1
- package/dist/components/q2-context.js +1 -1
- package/dist/components/q2-currency.js +1 -1
- package/dist/components/q2-data-table.js +46 -25
- package/dist/components/q2-data-table.js.map +1 -1
- package/dist/components/q2-detail.js +1 -1
- package/dist/components/q2-dropdown.js +1 -1
- package/dist/components/q2-editable-field.js +1 -1
- package/dist/components/q2-editable-field.js.map +1 -1
- package/dist/components/q2-example.js +1 -1
- package/dist/components/q2-file-picker.js.map +1 -1
- package/dist/components/q2-form.js +1 -1
- package/dist/components/q2-formatted-text.js +1 -1
- package/dist/components/q2-grid-area.js +1 -1
- package/dist/components/q2-grid.js +1 -1
- package/dist/components/q2-icon2.js +10 -0
- package/dist/components/q2-icon2.js.map +1 -1
- package/dist/components/q2-input2.js +1 -1
- package/dist/components/q2-input2.js.map +1 -1
- package/dist/components/q2-item2.js +2 -2
- package/dist/components/q2-item2.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-link2.js +13 -4
- package/dist/components/q2-link2.js.map +1 -1
- package/dist/components/q2-list2.js +1 -1
- package/dist/components/q2-message2.js +2 -2
- package/dist/components/q2-message2.js.map +1 -1
- package/dist/components/q2-meter.js +1 -1
- package/dist/components/q2-modal.js +2 -23
- package/dist/components/q2-modal.js.map +1 -1
- package/dist/components/q2-month-picker.js +2 -2
- package/dist/components/q2-mutation-observer.js +1 -1
- package/dist/components/q2-optgroup2.js +1 -1
- package/dist/components/q2-option-list2.js +1 -1
- package/dist/components/q2-option-list2.js.map +1 -1
- package/dist/components/q2-pagination.js +11 -6
- package/dist/components/q2-pagination.js.map +1 -1
- package/dist/components/q2-pill.js +2 -2
- package/dist/components/q2-pill.js.map +1 -1
- package/dist/components/q2-popover2.js +76 -15
- package/dist/components/q2-popover2.js.map +1 -1
- package/dist/components/q2-radio-group.js +2 -2
- package/dist/components/q2-radio-group.js.map +1 -1
- package/dist/components/q2-radio.js +2 -2
- package/dist/components/q2-radio.js.map +1 -1
- package/dist/components/q2-relative-time.js +1 -1
- package/dist/components/q2-resize-observer2.js +1 -1
- package/dist/components/q2-section.js +2 -2
- package/dist/components/q2-select2.js +23 -8
- package/dist/components/q2-select2.js.map +1 -1
- package/dist/components/q2-stepper-pane.js +9 -6
- package/dist/components/q2-stepper-pane.js.map +1 -1
- package/dist/components/q2-stepper-vertical.js +16 -8
- package/dist/components/q2-stepper-vertical.js.map +1 -1
- package/dist/components/q2-stepper.js +6 -3
- package/dist/components/q2-stepper.js.map +1 -1
- package/dist/components/q2-tab-container.js +2 -2
- package/dist/components/q2-tab-container.js.map +1 -1
- package/dist/components/q2-tab-pane.js +1 -1
- package/dist/components/q2-tag.js +1 -257
- package/dist/components/q2-tag.js.map +1 -1
- package/dist/{esm/q2-tag.entry.js → components/q2-tag2.js} +68 -15
- package/dist/components/q2-tag2.js.map +1 -0
- package/dist/components/q2-textarea.js +2 -2
- package/dist/components/q2-textarea.js.map +1 -1
- package/dist/components/q2-tooltip2.js +35 -3
- package/dist/components/q2-tooltip2.js.map +1 -1
- package/dist/components/sanitize-html-string.js +25 -15
- package/dist/components/sanitize-html-string.js.map +1 -1
- package/dist/components/tecton-tab-pane.js +2 -2
- package/dist/esm/action-sheet-B7adb3xs.js.map +1 -1
- package/dist/esm/click-elsewhere.q2-option-list.q2-popover.entry.js.map +1 -0
- package/dist/esm/{q2-option-list_2.entry.js → click-elsewhere_3.entry.js} +169 -22
- package/dist/esm/click-elsewhere_3.entry.js.map +1 -0
- package/dist/esm/{index-B4WYBDS9.js → index-C4PILj1_.js} +61 -21
- package/dist/esm/index-C4PILj1_.js.map +1 -0
- package/dist/esm/loader.js +1 -1
- package/dist/esm/q2-action-group_2.entry.js +3 -3
- package/dist/esm/q2-action-sheet.entry.js +3 -3
- package/dist/esm/q2-avatar.entry.js +33 -2
- package/dist/esm/q2-avatar.entry.js.map +1 -1
- package/dist/esm/q2-badge.entry.js +1 -1
- package/dist/esm/q2-btn.q2-loading.entry.js.map +1 -1
- package/dist/esm/q2-btn_2.entry.js +22 -8
- package/dist/esm/q2-btn_2.entry.js.map +1 -1
- package/dist/esm/q2-calendar.entry.js +3 -3
- package/dist/esm/q2-calendar.entry.js.map +1 -1
- package/dist/esm/q2-card-image.entry.js +3 -3
- package/dist/esm/q2-card.entry.js +1 -1
- package/dist/esm/q2-carousel-pane.entry.js +4 -4
- package/dist/esm/q2-carousel-pane.entry.js.map +1 -1
- package/dist/esm/q2-carousel.entry.js +67 -42
- package/dist/esm/q2-carousel.entry.js.map +1 -1
- package/dist/esm/q2-chart-area.entry.js +4 -2
- package/dist/esm/q2-chart-area.entry.js.map +1 -1
- package/dist/esm/q2-chart-bar.entry.js +4 -2
- package/dist/esm/q2-chart-bar.entry.js.map +1 -1
- package/dist/esm/q2-chart-donut.entry.js +7 -3
- package/dist/esm/q2-chart-donut.entry.js.map +1 -1
- package/dist/esm/q2-checkbox-group.entry.js +3 -3
- package/dist/esm/q2-checkbox-group.entry.js.map +1 -1
- package/dist/esm/q2-checkbox.q2-tag.entry.js.map +1 -0
- package/dist/esm/q2-checkbox_2.entry.js +319 -0
- package/dist/esm/q2-checkbox_2.entry.js.map +1 -0
- package/dist/esm/q2-context.entry.js +2 -2
- package/dist/esm/q2-currency.entry.js +1 -1
- package/dist/esm/q2-data-table.entry.js +13 -16
- 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 +1 -1
- package/dist/esm/q2-dropdown.entry.js +2 -2
- package/dist/esm/q2-editable-field.entry.js +2 -2
- package/dist/esm/q2-editable-field.entry.js.map +1 -1
- package/dist/esm/q2-example.entry.js +1 -1
- package/dist/esm/q2-file-picker.entry.js +1 -1
- package/dist/esm/q2-file-picker.entry.js.map +1 -1
- package/dist/esm/q2-form.entry.js +1 -1
- package/dist/esm/q2-formatted-text.entry.js +1 -1
- package/dist/esm/q2-grid-area.entry.js +1 -1
- package/dist/esm/q2-grid.entry.js +1 -1
- package/dist/esm/q2-icon.entry.js +11 -1
- package/dist/esm/q2-icon.entry.js.map +1 -1
- package/dist/esm/q2-input.entry.js +2 -2
- package/dist/esm/q2-input.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-link.q2-list.entry.js.map +1 -1
- package/dist/esm/q2-link_2.entry.js +14 -6
- package/dist/esm/q2-link_2.entry.js.map +1 -1
- package/dist/esm/q2-loc.entry.js +1 -1
- package/dist/esm/q2-message.entry.js +3 -3
- package/dist/esm/q2-message.entry.js.map +1 -1
- package/dist/esm/q2-meter.entry.js +2 -2
- package/dist/esm/q2-modal.entry.js +4 -21
- package/dist/esm/q2-modal.entry.js.map +1 -1
- package/dist/esm/q2-month-picker.entry.js +3 -3
- package/dist/esm/q2-mutation-observer.entry.js +1 -1
- package/dist/esm/q2-optgroup.entry.js +2 -2
- package/dist/esm/q2-option.entry.js +1 -1
- package/dist/esm/q2-pagination.entry.js +12 -7
- package/dist/esm/q2-pagination.entry.js.map +1 -1
- package/dist/esm/q2-pill.entry.js +3 -3
- package/dist/esm/q2-pill.entry.js.map +1 -1
- package/dist/esm/q2-radio-group.entry.js +3 -3
- package/dist/esm/q2-radio-group.entry.js.map +1 -1
- package/dist/esm/q2-radio.entry.js +3 -3
- package/dist/esm/q2-radio.entry.js.map +1 -1
- package/dist/esm/q2-relative-time.entry.js +2 -2
- package/dist/esm/q2-section.entry.js +3 -3
- package/dist/esm/q2-select.entry.js +22 -8
- package/dist/esm/q2-select.entry.js.map +1 -1
- package/dist/esm/q2-stepper-pane.entry.js +7 -6
- package/dist/esm/q2-stepper-pane.entry.js.map +1 -1
- package/dist/esm/q2-stepper-vertical.entry.js +16 -8
- package/dist/esm/q2-stepper-vertical.entry.js.map +1 -1
- package/dist/esm/q2-stepper.entry.js +7 -4
- package/dist/esm/q2-stepper.entry.js.map +1 -1
- package/dist/esm/q2-tab-container.entry.js +3 -3
- package/dist/esm/q2-tab-container.entry.js.map +1 -1
- package/dist/esm/q2-tab-pane.entry.js +1 -1
- package/dist/esm/q2-tecton-elements.js +1 -1
- package/dist/esm/q2-textarea.entry.js +3 -3
- package/dist/esm/q2-textarea.entry.js.map +1 -1
- package/dist/esm/q2-toast.entry.js +1 -1
- package/dist/esm/q2-tooltip.entry.js +33 -3
- package/dist/esm/q2-tooltip.entry.js.map +1 -1
- package/dist/esm/{sanitize-html-string-BPwFpYg-.js → sanitize-html-string-B35VmRc9.js} +27 -17
- package/dist/esm/sanitize-html-string-B35VmRc9.js.map +1 -0
- package/dist/esm/tecton-tab-pane.entry.js +2 -2
- package/dist/q2-tecton-elements/action-sheet-B7adb3xs.js.map +1 -1
- package/dist/q2-tecton-elements/assets/brand.symbol.svg +1 -1
- package/dist/q2-tecton-elements/assets/browsersos.symbol.svg +1 -1
- package/dist/q2-tecton-elements/assets/cards.symbol.svg +1 -1
- package/dist/q2-tecton-elements/assets/communication.symbol.svg +1 -1
- package/dist/q2-tecton-elements/assets/currencies.symbol.svg +1 -1
- package/dist/q2-tecton-elements/assets/devices.symbol.svg +1 -1
- package/dist/q2-tecton-elements/assets/filetypes.symbol.svg +1 -1
- package/dist/q2-tecton-elements/assets/gestures.symbol.svg +1 -1
- package/dist/q2-tecton-elements/assets/icon-list.json +1 -1
- package/dist/q2-tecton-elements/assets/icon-map.json +1 -1
- package/dist/q2-tecton-elements/assets/legacy.symbol.svg +1 -1
- package/dist/q2-tecton-elements/assets/mobile.symbol.svg +1 -1
- package/dist/q2-tecton-elements/assets/standard.symbol.svg +1 -1
- package/dist/q2-tecton-elements/assets/status.symbol.svg +1 -1
- package/dist/q2-tecton-elements/click-elsewhere.q2-option-list.q2-popover.entry.esm.js.map +1 -0
- package/dist/q2-tecton-elements/{q2-option-list_2.entry.js → click-elsewhere_3.entry.js} +357 -224
- package/dist/q2-tecton-elements/click-elsewhere_3.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{index-B4WYBDS9.js → index-C4PILj1_.js} +53 -14
- package/dist/q2-tecton-elements/index-C4PILj1_.js.map +1 -0
- package/dist/q2-tecton-elements/q2-action-group_2.entry.js +5 -5
- package/dist/q2-tecton-elements/q2-action-sheet.entry.js +10 -10
- package/dist/q2-tecton-elements/q2-avatar.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-avatar.entry.js +68 -30
- package/dist/q2-tecton-elements/q2-avatar.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-badge.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-btn.q2-loading.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-btn_2.entry.js +30 -21
- package/dist/q2-tecton-elements/q2-btn_2.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-calendar.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-calendar.entry.js +4 -4
- package/dist/q2-tecton-elements/q2-calendar.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-card-image.entry.js +3 -3
- package/dist/q2-tecton-elements/q2-card.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-carousel-pane.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-carousel-pane.entry.js +17 -17
- package/dist/q2-tecton-elements/q2-carousel-pane.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-carousel.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-carousel.entry.js +269 -242
- package/dist/q2-tecton-elements/q2-carousel.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-chart-area.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-chart-area.entry.js +6 -5
- package/dist/q2-tecton-elements/q2-chart-area.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-chart-bar.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-chart-bar.entry.js +4 -3
- package/dist/q2-tecton-elements/q2-chart-bar.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-chart-donut.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-chart-donut.entry.js +13 -11
- package/dist/q2-tecton-elements/q2-chart-donut.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-checkbox-group.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-checkbox-group.entry.js +8 -8
- package/dist/q2-tecton-elements/q2-checkbox-group.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-checkbox.q2-tag.entry.esm.js.map +1 -0
- package/dist/q2-tecton-elements/q2-checkbox_2.entry.js +482 -0
- package/dist/q2-tecton-elements/q2-checkbox_2.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-context.entry.js +16 -16
- package/dist/q2-tecton-elements/q2-currency.entry.js +8 -8
- package/dist/q2-tecton-elements/q2-data-table.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-data-table.entry.js +26 -28
- package/dist/q2-tecton-elements/q2-data-table.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-detail.entry.js +4 -4
- package/dist/q2-tecton-elements/q2-dropdown-item.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-dropdown.entry.js +79 -79
- package/dist/q2-tecton-elements/q2-editable-field.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-editable-field.entry.js +2 -2
- package/dist/q2-tecton-elements/q2-editable-field.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-example.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-file-picker.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-file-picker.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-file-picker.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-form.entry.js +2 -2
- package/dist/q2-tecton-elements/q2-formatted-text.entry.js +2 -2
- package/dist/q2-tecton-elements/q2-grid-area.entry.js +2 -2
- package/dist/q2-tecton-elements/q2-grid.entry.js +3 -3
- package/dist/q2-tecton-elements/q2-icon.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-icon.entry.js +122 -111
- package/dist/q2-tecton-elements/q2-icon.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-input.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-input.entry.js +7 -7
- package/dist/q2-tecton-elements/q2-input.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-item.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-item.entry.js +40 -40
- package/dist/q2-tecton-elements/q2-item.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-legend.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-legend.entry.js +3 -3
- package/dist/q2-tecton-elements/q2-legend.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-link.q2-list.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-link_2.entry.js +24 -18
- package/dist/q2-tecton-elements/q2-link_2.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-loc.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-message.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-message.entry.js +29 -25
- package/dist/q2-tecton-elements/q2-message.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-meter.entry.js +14 -14
- package/dist/q2-tecton-elements/q2-modal.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-modal.entry.js +65 -79
- package/dist/q2-tecton-elements/q2-modal.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-month-picker.entry.js +30 -30
- package/dist/q2-tecton-elements/q2-mutation-observer.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-optgroup.entry.js +5 -5
- package/dist/q2-tecton-elements/q2-option.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-pagination.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-pagination.entry.js +43 -32
- package/dist/q2-tecton-elements/q2-pagination.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-pill.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-pill.entry.js +40 -40
- package/dist/q2-tecton-elements/q2-pill.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-radio-group.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-radio-group.entry.js +8 -8
- package/dist/q2-tecton-elements/q2-radio-group.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-radio.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-radio.entry.js +23 -23
- package/dist/q2-tecton-elements/q2-radio.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-relative-time.entry.js +2 -2
- package/dist/q2-tecton-elements/q2-section.entry.js +12 -12
- package/dist/q2-tecton-elements/q2-select.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-select.entry.js +21 -8
- package/dist/q2-tecton-elements/q2-select.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-stepper-pane.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-stepper-pane.entry.js +16 -15
- package/dist/q2-tecton-elements/q2-stepper-pane.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-stepper-vertical.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-stepper-vertical.entry.js +73 -67
- package/dist/q2-tecton-elements/q2-stepper-vertical.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-stepper.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-stepper.entry.js +38 -36
- package/dist/q2-tecton-elements/q2-stepper.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-tab-container.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-tab-container.entry.js +19 -19
- package/dist/q2-tecton-elements/q2-tab-container.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-tab-pane.entry.js +2 -2
- package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +1 -1
- package/dist/q2-tecton-elements/q2-textarea.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-textarea.entry.js +4 -4
- package/dist/q2-tecton-elements/q2-textarea.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-toast.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-tooltip.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-tooltip.entry.js +41 -5
- package/dist/q2-tecton-elements/q2-tooltip.entry.js.map +1 -1
- package/dist/q2-tecton-elements/{sanitize-html-string-BPwFpYg-.js → sanitize-html-string-B35VmRc9.js} +118 -109
- package/dist/q2-tecton-elements/sanitize-html-string-B35VmRc9.js.map +1 -0
- package/dist/q2-tecton-elements/tecton-tab-pane.entry.js +6 -6
- package/dist/scripts/docs-generator/index.js +1 -1
- package/dist/scripts/docs-generator/index.js.map +1 -1
- package/dist/types/__mocks__/echarts.d.ts +16 -0
- package/dist/types/components/q2-avatar/q2-avatar.d.ts +9 -0
- package/dist/types/components/q2-btn/q2-btn.d.ts +6 -0
- package/dist/types/components/q2-calendar/q2-calendar-helpers.d.ts +3 -3
- package/dist/types/components/q2-calendar/q2-calendar-types.d.ts +2 -2
- package/dist/types/components/q2-calendar/q2-calendar-validation.d.ts +5 -5
- package/dist/types/components/q2-calendar/q2-calendar.d.ts +8 -8
- package/dist/types/components/q2-carousel/q2-carousel.d.ts +6 -0
- package/dist/types/components/q2-chart-area/q2-chart-area.d.ts +4 -4
- package/dist/types/components/q2-chart-bar/q2-chart-bar.d.ts +3 -3
- package/dist/types/components/q2-chart-donut/q2-chart-donut.d.ts +9 -9
- package/dist/types/components/q2-checkbox/q2-checkbox.d.ts +11 -0
- package/dist/types/components/q2-data-table/q2-data-table.d.ts +8 -41
- package/dist/types/components/q2-editable-field/q2-editable-field.d.ts +4 -4
- package/dist/types/components/q2-file-picker/q2-file-picker.d.ts +1 -13
- package/dist/types/components/q2-input/formatting/alpha.d.ts +1 -1
- package/dist/types/components/q2-input/formatting/alphanumeric.d.ts +1 -1
- package/dist/types/components/q2-input/formatting/cif.d.ts +1 -1
- package/dist/types/components/q2-input/formatting/clabe.d.ts +1 -1
- package/dist/types/components/q2-input/formatting/credit-card.d.ts +2 -2
- package/dist/types/components/q2-input/formatting/currency.d.ts +2 -2
- package/dist/types/components/q2-input/formatting/generic.d.ts +2 -2
- package/dist/types/components/q2-input/formatting/iban.d.ts +1 -1
- package/dist/types/components/q2-input/formatting/number.d.ts +3 -2
- package/dist/types/components/q2-input/formatting/numeric.d.ts +2 -2
- package/dist/types/components/q2-input/formatting/phone.d.ts +2 -2
- package/dist/types/components/q2-input/formatting/postal.d.ts +1 -1
- package/dist/types/components/q2-input/formatting/routingnumber.d.ts +1 -1
- package/dist/types/components/q2-input/formatting/ssn.d.ts +1 -1
- package/dist/types/components/q2-input/formatting/swift.d.ts +1 -1
- package/dist/types/components/q2-input/formatting/tin.d.ts +1 -1
- package/dist/types/components/q2-input/q2-input-types.d.ts +2 -22
- package/dist/types/components/q2-input/q2-input.d.ts +16 -15
- package/dist/types/components/q2-legend/q2-legend.d.ts +11 -11
- package/dist/types/components/q2-link/q2-link.d.ts +6 -0
- package/dist/types/components/q2-modal/q2-modal.d.ts +0 -17
- package/dist/types/components/q2-option-list/q2-option-list.d.ts +4 -4
- package/dist/types/components/q2-pagination/q2-pagination.d.ts +2 -0
- package/dist/types/components/q2-pill/q2-pill.d.ts +5 -5
- package/dist/types/components/q2-popover/q2-popover.d.ts +8 -0
- package/dist/types/components/q2-select/q2-select.d.ts +9 -6
- package/dist/types/components/q2-stepper-pane/q2-stepper-pane.d.ts +8 -11
- package/dist/types/components/q2-stepper-vertical/q2-stepper-vertical.d.ts +10 -7
- package/dist/types/components/q2-tooltip/q2-tooltip.d.ts +4 -0
- package/dist/types/components.d.ts +148 -118
- package/dist/types/global.d.ts +2 -2
- package/dist/types/index.d.ts +1 -0
- package/dist/types/utils/action-sheet.d.ts +5 -5
- package/dist/types/utils/index.d.ts +13 -0
- package/package.json +8 -9
- package/dist/cjs/click-elsewhere.cjs.entry.js +0 -97
- package/dist/cjs/click-elsewhere.cjs.entry.js.map +0 -1
- package/dist/cjs/click-elsewhere.entry.cjs.js.map +0 -1
- package/dist/cjs/index-DyAq0y0v.js.map +0 -1
- package/dist/cjs/q2-checkbox.cjs.entry.js +0 -110
- package/dist/cjs/q2-checkbox.cjs.entry.js.map +0 -1
- package/dist/cjs/q2-checkbox.entry.cjs.js.map +0 -1
- package/dist/cjs/q2-option-list.q2-popover.entry.cjs.js.map +0 -1
- package/dist/cjs/q2-option-list_2.cjs.entry.js.map +0 -1
- package/dist/cjs/q2-tag.cjs.entry.js +0 -211
- package/dist/cjs/q2-tag.cjs.entry.js.map +0 -1
- package/dist/cjs/q2-tag.entry.cjs.js.map +0 -1
- package/dist/cjs/sanitize-html-string-C2iwHNz5.js.map +0 -1
- package/dist/esm/click-elsewhere.entry.js +0 -95
- package/dist/esm/click-elsewhere.entry.js.map +0 -1
- package/dist/esm/index-B4WYBDS9.js.map +0 -1
- package/dist/esm/q2-checkbox.entry.js +0 -108
- package/dist/esm/q2-checkbox.entry.js.map +0 -1
- package/dist/esm/q2-option-list.q2-popover.entry.js.map +0 -1
- package/dist/esm/q2-option-list_2.entry.js.map +0 -1
- package/dist/esm/q2-tag.entry.js.map +0 -1
- package/dist/esm/sanitize-html-string-BPwFpYg-.js.map +0 -1
- package/dist/q2-tecton-elements/click-elsewhere.entry.esm.js.map +0 -1
- package/dist/q2-tecton-elements/click-elsewhere.entry.js +0 -94
- package/dist/q2-tecton-elements/click-elsewhere.entry.js.map +0 -1
- package/dist/q2-tecton-elements/index-B4WYBDS9.js.map +0 -1
- package/dist/q2-tecton-elements/q2-checkbox.entry.esm.js.map +0 -1
- package/dist/q2-tecton-elements/q2-checkbox.entry.js +0 -228
- package/dist/q2-tecton-elements/q2-checkbox.entry.js.map +0 -1
- package/dist/q2-tecton-elements/q2-option-list.q2-popover.entry.esm.js.map +0 -1
- package/dist/q2-tecton-elements/q2-option-list_2.entry.js.map +0 -1
- package/dist/q2-tecton-elements/q2-tag.entry.esm.js.map +0 -1
- package/dist/q2-tecton-elements/q2-tag.entry.js +0 -256
- package/dist/q2-tecton-elements/q2-tag.entry.js.map +0 -1
- package/dist/q2-tecton-elements/sanitize-html-string-BPwFpYg-.js.map +0 -1
|
@@ -2,7 +2,7 @@ import { r as t, h as e, g as o } from "./index-CGkHOjh1.js";
|
|
|
2
2
|
|
|
3
3
|
import { b as r } from "./component-DVxzK3WH.js";
|
|
4
4
|
|
|
5
|
-
import { c as i, l as a } from "./index-
|
|
5
|
+
import { c as i, l as a } from "./index-C4PILj1_.js";
|
|
6
6
|
|
|
7
7
|
const s = "*{box-sizing:border-box}*:active{outline:none}*:focus-visible{outline:none;box-shadow:var(--const-double-focus-ring, 0 0 0 2px #ffffff, 0 0 0 4px #0066cc)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size:inherit;font-stretch:inherit}:host(.sr),:host(.sr) button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sr,.sr button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none}:host([hidden]){display:none}.invisible{visibility:hidden}:host{display:block}.q2-optgroup-header{--comp-header-padding:var(--tct-scale-1, var(--app-scale-1x, 5px)) var(--tct-scale-2, var(--app-scale-2x, 10px));background:var(--tct-optgroup-header-background, var(--tct-optgroup-header-bg, var(--t-optgroup-header-bg, var(--t-base, #FFFFFF))));color:var(--tct-optgroup-header-color, inherit);font-size:var(--tct-optgroup-header-font-size, 14px);font-weight:var(--tct-optgroup-header-font-weight, 600);letter-spacing:var(--tct-optgroup-header-letter-spacing, inherit);position:var(--tct-optgroup-header-position, sticky);padding:var(--tct-optgroup-header-padding, var(--t-optgroup-header-padding, var(--comp-header-padding)));text-transform:var(--tct-optgroup-header-text-transform, var(--t-optgroup-header-text-transform, none));top:calc(var(--comp-popover-top-container-height, 0px) + var(--tct-optgroup-top, var(--t-optgroup-top, 0px)));z-index:5}";
|
|
8
8
|
|
|
@@ -60,20 +60,20 @@ const p = class {
|
|
|
60
60
|
// #region Render Methods
|
|
61
61
|
render() {
|
|
62
62
|
return e("div", {
|
|
63
|
-
key: "
|
|
63
|
+
key: "1193ca6f02dab8603a148059edfd6b3f01e55556",
|
|
64
64
|
class: "q2-optgroup-container",
|
|
65
65
|
hidden: this.hidden,
|
|
66
66
|
"aria-labelledby": this.headerId,
|
|
67
67
|
role: "group"
|
|
68
68
|
}, e("div", {
|
|
69
|
-
key: "
|
|
69
|
+
key: "5731f04b1976e5e1f96ab37f577ead3889b80e8c",
|
|
70
70
|
class: "q2-optgroup-header",
|
|
71
71
|
id: this.headerId
|
|
72
72
|
}, this.label && a(this.label) || ""), e("div", {
|
|
73
|
-
key: "
|
|
73
|
+
key: "a52522a81176e91855514da0f051058c740ee4b6",
|
|
74
74
|
class: "q2-optgroup-options"
|
|
75
75
|
}, e("slot", {
|
|
76
|
-
key: "
|
|
76
|
+
key: "8b0c0e1f18f3b8ca76cd3c00e28e5cef73457ca6"
|
|
77
77
|
})));
|
|
78
78
|
}
|
|
79
79
|
get hostElement() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"q2-pagination.entry.esm.js","sources":["src/components/q2-pagination/q2-pagination.scss?tag=q2-pagination&encapsulation=shadow","src/components/q2-pagination/q2-pagination.tsx"],"sourcesContent":["@import '../../styles/host';\n@import '../../styles/functions';\n\n:host {\n display: flex;\n width: 100%;\n}\n\n:host([alignment='right']) {\n justify-content: flex-end;\n}\n\n:host([alignment='center']) {\n justify-content: center;\n}\n\n:host([alignment='left']) {\n justify-content: flex-start;\n}\n\n:host([hidden]) {\n display: none;\n}\n\n.container {\n display: inline-flex;\n column-gap: var-list(var-prefixer(pagination-column-gap), --app-scale-2x, 10px);\n align-items: center;\n height: var-list(var-prefixer(pagination-height), 44px);\n color: var(--tct-pagination-color, inherit);\n font-size: var(--tct-pagination-font-size, inherit);\n font-weight: var(--tct-pagination-font-weight, inherit);\n\n &.stacked {\n flex-direction: column;\n column-gap: 0;\n row-gap: var-list(--tct-pagination-row-gap, --app-scale-2x, 10px);\n height: auto;\n align-items: stretch;\n\n .description {\n text-align: center;\n }\n\n .controls {\n justify-content: center;\n }\n\n .per-page {\n display: flex;\n justify-content: center;\n }\n\n q2-select {\n --tct-select-margin: 0;\n width: var(--tct-pagination-perpage-width, 60%);\n }\n }\n}\n\n.controls {\n display: flex;\n}\n\n.btn-group {\n display: flex;\n gap: var-list(var-prefixer(pagination-btn-gap), 0);\n}\n\n.description,\n.input-display {\n white-space: nowrap;\n}\n\n.input-display {\n display: grid;\n grid-template-columns: auto var(--tct-pagination-input-width, 50px) auto;\n align-items: center;\n gap: var-list(var-prefixer(pagination-controls-gap), --app-scale-1x, 5px);\n\n &[hidden] {\n display: none;\n }\n}\n\n.input-wrapper {\n height: var-list(var-prefixer(pagination-height), 44px);\n display: flex;\n align-items: center;\n}\n\nq2-btn {\n --tct-btn-border-radius: #{var-list(var-prefixer(pagination-btn-border-radius))};\n --tct-btn-border: #{var-list(var-prefixer(pagination-btn-border))};\n --tct-btn-icon-hover-background: #{var-list(--tct-pagination-btn-hover-background, --app-gray-l3, #f2f2f2)};\n --tct-icon-stroke-primary: #{var-list(--tct-pagination-btn-icon-stroke-primary, --app-gray, #747474)};\n --tct-icon-stroke-secondary: #{var-list(--tct-pagination-btn-icon-stroke-secondary, --app-gray, #747474)};\n}\n\nq2-icon {\n --tct-icon-size: #{var-list(var-prefixer(pagination-icon-size), 12px)};\n color: var-list(var-prefixer(pagination-icon-color), --t-text, #4d4d4d);\n}\n\nq2-input {\n --tct-input-margin-top: 0;\n --tct-input-margin-bottom: 0;\n --tct-input-height: #{var-list(var-prefixer(pagination-input-height), 30px)};\n --tct-input-min-height: var(--tct-input-height);\n --tct-input-align: center;\n}\n\nq2-select {\n --tct-select-input-min-height: #{var-list(var-prefixer(pagination-select-height), 30px)};\n --tct-select-input-max-height: #{var-list(var-prefixer(pagination-select-height), 30px)};\n width: #{var-list(var-prefixer(pagination-perpage-width), 100%)};\n min-width: #{var-list(var-prefixer(pagination-perpage-min-width), 110px)};\n}\n","import {\n Component,\n State,\n Prop,\n h,\n ComponentInterface,\n Watch,\n Listen,\n Element,\n Method,\n Event,\n EventEmitter,\n} from '@stencil/core';\nimport { isEventFromElement, loc, nextPaint, overrideFocus } from 'src/utils';\nimport mirrorEmit from '@/utils/mirror-emit';\n\n/**\n * @name Pagination\n * @category Display\n * @summary Use for navigating between pages of content like search results or tables.\n */\n@Component({ tag: 'q2-pagination', shadow: true, styleUrl: 'q2-pagination.scss' })\nexport class Q2Pagination implements ComponentInterface {\n // #region Own Properties\n\n containerElement: HTMLElement;\n containerWidth: number;\n firstPageBtn: HTMLQ2BtnElement;\n inputField: HTMLQ2InputElement;\n lastPageBtn: HTMLQ2BtnElement;\n nextPageBtn: HTMLQ2BtnElement;\n perPageSelect: HTMLQ2SelectElement;\n prevPageBtn: HTMLQ2BtnElement;\n resizeObserver: ResizeObserver;\n\n // #endregion\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region State Properties\n\n @State()\n isSmall: boolean;\n\n // #endregion\n // #region Public Property API\n\n /**\n * Indicates the horizontal alignment of pagination elements\n * @info\n * When using the 'stacked' version, the default alignment is 'center'. When using the unstacked version, the default alignment is 'right'.\n */\n @Prop({ reflect: true, mutable: true })\n alignment?: 'left' | 'center' | 'right';\n\n /** Determines whether the component uses dynamic resizing behavior. This is disabled when `pagesOnly`, `recordsOnly`, or `stacked` is true. */\n @Prop({ reflect: true, mutable: true })\n autoSize: boolean = true;\n\n /** Allows the component to be disabled should the state of the page require this */\n @Prop({ reflect: true, mutable: true })\n disabled: boolean = false;\n\n /** The current page that is being displayed. */\n @Prop({ reflect: true, mutable: true })\n page: number;\n\n /**\n * The number of pages that can be displayed.\n * @info\n * Only referenced when `pagesOnly` is true.\n */\n @Prop({ reflect: true, mutable: true })\n pages: number;\n\n /** Indicates to display only the current and total pages. This disables the `autoSize` feature. */\n @Prop({ reflect: true, mutable: true })\n pagesOnly: boolean;\n\n /** The total number of records displayed on each page. This disables the `autoSize` feature. */\n @Prop({ reflect: true, mutable: true })\n perPage: number;\n\n /**\n * A list of perPage values.\n * This generates a [Select](https://tecton.q2developer.com/design-system/q2-select/) element that allows the user to modify the `perPage` value.\n * @info\n * `pagesOnly` or `recordsOnly` being true disables this feature.\n *\n * **Example:**\n * @snippet\n * this.perPageIncrements = [10, 25, 50];\n */\n @Prop({ reflect: true, mutable: true })\n perPageIncrements: number[] | string[] | string | undefined;\n\n /** Indicates to display only the current and total records. */\n @Prop({ reflect: true, mutable: true })\n recordsOnly: boolean;\n\n /** Description of the record type to be displayed alongside the record count. */\n @Prop()\n recordType: string;\n\n /**\n * Allows the component to be displayed in a stacked layout. This disables the `autoSize` feature.\n * @info\n * When set to true, the default alignment will be 'center'. When false, the default alignment is 'right'.\n */\n @Prop({ reflect: true })\n stacked: boolean;\n\n /** The total number of records to paginate. */\n @Prop({ reflect: true })\n total: number;\n\n // #endregion\n // #region Events\n\n /**\n * Emitted when the page is changed.\n * @legacyEvent\n * @deprecated Use 'tctChange' instead\n */\n @Event()\n change: EventEmitter<{ page: number }>;\n\n /**\n * Emitted when the page is changed.\n * @legacyEvent\n */\n @Event()\n tctChange: EventEmitter<{ page: number }>;\n\n // #endregion\n // #region Component Lifecycle Events\n\n disconnectedCallback() {\n this.removeResizeObserver();\n }\n\n componentWillLoad(): void {\n this.checkDisplayTypes();\n this.manageResizeObserver();\n if (!this.alignment) {\n this.alignment = this.stacked ? 'center' : 'right';\n }\n }\n\n componentDidLoad(): void {\n this.containerWidth = this.containerElement.clientWidth;\n\n overrideFocus(this.hostElement);\n }\n\n // #endregion\n // #region Listeners\n\n @Listen('focus')\n onHostElementFocus(event) {\n if (this.disabled) return;\n if (!isEventFromElement(event, this.hostElement)) return;\n const { isFullViewHidden, containerElement, inputField } = this;\n if (isFullViewHidden) {\n containerElement.querySelector<HTMLElement>('q2-btn:not([disabled])')?.focus();\n } else {\n inputField.focus();\n }\n }\n\n // #endregion\n // #region Public Methods API\n\n /**\n * Emulates clicking the button that controls moving to the first page, and emitting a change event with the updated page number.\n *\n * If the `<button>` is disabled, this method does nothing.\n * @testOnly\n */\n @Method()\n async clickFirstPage() {\n if (this.disabled) return;\n const button = this.firstPageBtn;\n if (button?.disabled) return;\n button.click();\n }\n\n /**\n * Emulates clicking the button that controls moving to the last page, and emitting a change event with the updated page number.\n *\n * If the `<button>` is disabled, this method does nothing.\n * @testOnly\n */\n @Method()\n async clickLastPage() {\n if (this.disabled) return;\n const button = this.lastPageBtn;\n if (button?.disabled) return;\n button.click();\n }\n\n /**\n * Emulates clicking the button that controls moving to the next page, and emitting a change event with the updated page number.\n *\n * If the `<button>` is disabled, this method does nothing.\n * @testOnly\n */\n @Method()\n async clickNextPage() {\n if (this.disabled) return;\n const button = this.nextPageBtn;\n if (button?.disabled) return;\n button.click();\n }\n\n /**\n * Emulates clicking the button that controls moving to the previous page, and emitting a change event with the updated page number.\n *\n * If the `<button>` is disabled, this method does nothing.\n * @testOnly\n */\n @Method()\n async clickPreviousPage() {\n if (this.disabled) return;\n const button = this.prevPageBtn;\n if (button?.disabled) return;\n button.click();\n }\n\n /**\n * Emulates selecting a `perPage` value from the `perPageIncrements` dropdown,\n * and updates the value of the `perPage` property.\n *\n * If `value` is not in the `perPageIncrements` array, this method does nothing.\n * @testOnly\n */\n @Method()\n async selectPerPageIncrementValue(value: number) {\n if (this.disabled) return;\n if (isNaN(value) || !this.showPerPageSelect || !this.perPageIncrementsArray.includes(value)) return;\n this.perPageSelect.focus();\n this.perPageSelect.click();\n const options = Array.from(this.perPageSelect.querySelectorAll('q2-option'));\n options.find(option => option.value === `${value}`)?.click();\n }\n\n /**\n * Emulates setting the page value in the `<input>` field,\n * and emitting a change event with the updated page number.\n *\n * If `value` is invalid, this method does nothing.\n * @testOnly\n */\n @Method()\n async setPageValue(value: number) {\n if (this.disabled) return;\n if (!this.inputField || isNaN(value) || value < 1 || value > this.totalPages) return;\n this.inputField?.focus();\n this.inputField.value = `${value}`;\n this.inputField?.blur();\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('autoSize')\n manageResizeObserver() {\n if (this.autoSize) {\n if (this.resizeObserver) return;\n this.resizeObserver = new ResizeObserver(() => this.checkSize());\n this.resizeObserver.observe(this.hostElement);\n window.addEventListener('resize', this.checkSize);\n } else {\n this.isSmall = false;\n this.removeResizeObserver();\n }\n }\n\n @Watch('recordsOnly')\n @Watch('pagesOnly')\n @Watch('stacked')\n checkDisplayTypes() {\n if (this.pagesOnly || this.recordsOnly || this.stacked) this.autoSize = false;\n }\n\n // #endregion\n // #region Local Methods\n\n get containerClasses() {\n const classes = ['container'];\n if (this.stacked) classes.push('stacked');\n return classes;\n }\n\n get currentRange() {\n const { perPageWithDefault: perPage, totalWithDefault: total, pageWithDefault: page } = this;\n const start = total > 0 ? (page - 1) * perPage + 1 : 0;\n const end = Math.min(page * perPage, total);\n return `${start} - ${end}`;\n }\n\n get isFullViewHidden() {\n return this.isSmall || this.recordsOnly || this.pagesOnly;\n }\n\n get nextRange() {\n const { perPageWithDefault: perPage, totalWithDefault: total, pageWithDefault: page } = this;\n const start = page * perPage + 1;\n const end = Math.min((page + 1) * perPage, total);\n return `${start} - ${end}`;\n }\n\n get pageWithDefault() {\n return this.total > 0 ? this.page || 1 : 0;\n }\n\n get perPageIncrementsArray() {\n if (Array.isArray(this.perPageIncrements)) {\n return this.perPageIncrements.map(num => Number(num));\n } else if (typeof this.perPageIncrements === 'string') {\n return this.perPageIncrements\n .trim()\n .replace(/[\\[\\]\\\"\\']/g, '')\n .split(',')\n .map(num => Number(num));\n } else {\n return [];\n }\n }\n\n get perPageWithDefault() {\n return this.perPage || 10;\n }\n\n get prevRange() {\n const { perPageWithDefault: perPage, pageWithDefault: page } = this;\n const start = Math.max(1, (page - 2) * perPage + 1);\n const end = (page - 1) * perPage;\n return `${start} - ${end}`;\n }\n\n get recordTypeWithDefault() {\n return this.recordType || loc('tecton.element.pagination.defaultRecordType');\n }\n\n get showPerPageSelect() {\n return this.perPageIncrements?.length > 1;\n }\n\n get totalPages() {\n const { pagesOnly, totalWithDefault: total, perPageWithDefault: perPage, pages } = this;\n\n if (pagesOnly && pages && !isNaN(parseInt(`${pages}`))) return pages;\n\n return Math.ceil(total / perPage);\n }\n\n get totalWithDefault() {\n return this.total || 0;\n }\n\n checkSize = () => {\n const { hostElement, containerElement } = this;\n const isOverflowing = this.containerWidth > hostElement.clientWidth;\n this.isSmall = isOverflowing;\n\n nextPaint(() => {\n const containerWidthHasNotChanged = this.containerWidth === containerElement.clientWidth;\n if (containerWidthHasNotChanged) return;\n this.containerWidth = containerElement.clientWidth;\n this.checkSize();\n });\n };\n\n handlePageChange = (page: number | string) => {\n if (this.disabled) return;\n const { totalPages, inputField } = this;\n page = parseInt(`${page}`);\n if (isNaN(page) || page < 1) {\n page = 1;\n } else if (page > totalPages) {\n page = totalPages;\n }\n\n if (inputField.value !== `${page}`) inputField.value = `${page}`;\n\n if (!this.hostElement.onchange) {\n this.page = page;\n }\n\n mirrorEmit(this, ['change', 'tctChange'], { page });\n };\n\n handlePerPageChange = (event: CustomEvent) => {\n if (this.disabled) return;\n this.perPage = (event.detail?.value || this.perPage) * 1;\n };\n\n removeResizeObserver() {\n if (this.resizeObserver) {\n this.resizeObserver?.disconnect();\n this.resizeObserver = null;\n window.removeEventListener('resize', this.checkSize);\n }\n }\n\n // #endregion\n // #region Render Methods\n\n renderPerPage() {\n const increments = this.perPageIncrementsArray.sort((a, b) => a - b);\n if (this.perPage === undefined || isNaN(this.perPage)) this.perPage = increments[0];\n this.perPageIncrements = `[${increments.join(',')}]`;\n return (\n <q2-select\n ref={el => (this.perPageSelect = el)}\n onTctChange={this.handlePerPageChange}\n value={this.perPageIncrementsArray.includes(this.perPage) ? `${this.perPage}` : undefined}\n disabled={this.disabled}\n >\n {increments.map(perPage => (\n <q2-option\n value={`${perPage}`}\n display={`${loc('tecton.element.pagination.view')} ${perPage}`}\n >{`${loc('tecton.element.pagination.view')} ${perPage}`}</q2-option>\n ))}\n </q2-select>\n );\n }\n\n render() {\n const {\n pagesOnly,\n recordsOnly,\n isFullViewHidden,\n recordTypeWithDefault: recordType,\n totalPages,\n totalWithDefault: total,\n pageWithDefault: page,\n currentRange,\n nextRange,\n prevRange,\n showPerPageSelect,\n disabled,\n } = this;\n const onFirstPage = page < 2;\n const onLastPage = page === totalPages;\n\n let nextButtonLabel: string = loc('tecton.element.pagination.goToNext');\n let prevButtonLabel: string = loc('tecton.element.pagination.goToPrevious');\n if (pagesOnly) {\n prevButtonLabel = loc('tecton.element.pagination.goToPages', { next: page - 1, total: totalPages });\n nextButtonLabel = loc('tecton.element.pagination.goToPages', { next: page + 1, total: totalPages });\n } else if (recordsOnly) {\n prevButtonLabel = loc('tecton.element.pagination.goToRecords', {\n range: prevRange,\n recordType: recordType.toLowerCase(),\n total,\n });\n nextButtonLabel = loc('tecton.element.pagination.goToRecords', {\n range: nextRange,\n recordType: recordType.toLowerCase(),\n total,\n });\n }\n\n return (\n <nav\n class={this.containerClasses.join(' ')}\n ref={el => (this.containerElement = el)}\n aria-label={loc('tecton.element.pagination.title')}\n >\n <div\n class=\"description\"\n test-id=\"description\"\n >\n {pagesOnly\n ? loc('tecton.element.pagination.pages', {\n current: page,\n total: totalPages,\n })\n : loc('tecton.element.pagination.description', {\n range: currentRange,\n recordType: recordType.toLowerCase(),\n total: total.toLocaleString(),\n })}\n </div>\n <div class=\"controls\">\n <div class=\"btn-group\">\n <q2-btn\n ref={el => (this.firstPageBtn = el)}\n label={loc('tecton.element.pagination.goToFirstPage')}\n disabled={disabled || onFirstPage}\n hidden={isFullViewHidden}\n onTctClick={() => this.handlePageChange(1)}\n test-id=\"firstPageBtn\"\n hide-label\n >\n <q2-icon type=\"chevron-double-left\" />\n </q2-btn>\n <q2-btn\n ref={el => (this.prevPageBtn = el)}\n label={prevButtonLabel}\n disabled={disabled || onFirstPage}\n onTctClick={() => this.handlePageChange(page - 1)}\n test-id=\"prevPageBtn\"\n hide-label\n >\n <q2-icon type=\"chevron-left\" />\n </q2-btn>\n </div>\n <div\n class=\"input-display\"\n hidden={isFullViewHidden}\n >\n <span aria-hidden=\"true\">{loc('tecton.element.pagination.page')}</span>\n <div\n class=\"input-wrapper\"\n onClick={() => this.inputField.dispatchEvent(new FocusEvent('focus'))}\n >\n <q2-input\n ref={el => (this.inputField = el)}\n type=\"number\"\n value={`${page}`}\n min={1}\n max={this.totalPages}\n hideLabel\n optional\n label={`${loc('tecton.element.pagination.page')} (${loc(\n 'tecton.element.pagination.ofPages',\n [totalPages.toLocaleString()]\n )})`}\n onTctChange={event => {\n event.stopPropagation();\n this.handlePageChange(event.detail.value);\n }}\n test-id=\"pageInput\"\n current=\"page\"\n disabled={disabled}\n ></q2-input>\n </div>\n <span aria-hidden=\"true\">\n {loc('tecton.element.pagination.ofPages', [totalPages.toLocaleString()])}\n </span>\n </div>\n <div class=\"btn-group\">\n <q2-btn\n ref={el => (this.nextPageBtn = el)}\n label={nextButtonLabel}\n disabled={disabled || onLastPage}\n onTctClick={() => this.handlePageChange(page + 1)}\n test-id=\"nextPageBtn\"\n hide-label\n >\n <q2-icon type=\"chevron-right\" />\n </q2-btn>\n <q2-btn\n ref={el => (this.lastPageBtn = el)}\n label=\"tecton.element.pagination.goToLastPage\"\n disabled={disabled || onLastPage}\n hidden={isFullViewHidden}\n onTctClick={() => this.handlePageChange(totalPages)}\n test-id=\"lastPageBtn\"\n hide-label\n >\n <q2-icon type=\"chevron-double-right\" />\n </q2-btn>\n </div>\n </div>\n <div\n class=\"per-page\"\n hidden={isFullViewHidden || !this.perPageIncrements?.length}\n >\n {showPerPageSelect && this.renderPerPage()}\n </div>\n </nav>\n );\n }\n\n // #endregion\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"q2-pagination.entry.esm.js","sources":["src/components/q2-pagination/q2-pagination.scss?tag=q2-pagination&encapsulation=shadow","src/components/q2-pagination/q2-pagination.tsx"],"sourcesContent":["@import '../../styles/host';\n@import '../../styles/functions';\n\n:host {\n display: flex;\n width: 100%;\n}\n\n:host([alignment='right']) {\n justify-content: flex-end;\n}\n\n:host([alignment='center']) {\n justify-content: center;\n}\n\n:host([alignment='left']) {\n justify-content: flex-start;\n}\n\n:host([hidden]) {\n display: none;\n}\n\n.container {\n display: inline-flex;\n column-gap: var-list(var-prefixer(pagination-column-gap), --app-scale-2x, 10px);\n align-items: center;\n height: var-list(var-prefixer(pagination-height), 44px);\n color: var(--tct-pagination-color, inherit);\n font-size: var(--tct-pagination-font-size, inherit);\n font-weight: var(--tct-pagination-font-weight, inherit);\n\n &.stacked {\n flex-direction: column;\n column-gap: 0;\n row-gap: var-list(--tct-pagination-row-gap, --app-scale-2x, 10px);\n height: auto;\n align-items: stretch;\n\n .description {\n text-align: center;\n }\n\n .controls {\n justify-content: center;\n }\n\n .per-page {\n display: flex;\n justify-content: center;\n }\n\n q2-select {\n --tct-select-margin: 0;\n width: var(--tct-pagination-perpage-width, 60%);\n }\n }\n}\n\n.controls {\n display: flex;\n}\n\n.btn-group {\n display: flex;\n gap: var-list(var-prefixer(pagination-btn-gap), 0);\n}\n\n.description,\n.input-display {\n white-space: nowrap;\n}\n\n.input-display {\n display: grid;\n grid-template-columns: auto var(--tct-pagination-input-width, 50px) auto;\n align-items: center;\n gap: var-list(var-prefixer(pagination-controls-gap), --app-scale-1x, 5px);\n\n &[hidden] {\n display: none;\n }\n}\n\n.input-wrapper {\n height: var-list(var-prefixer(pagination-height), 44px);\n display: flex;\n align-items: center;\n}\n\nq2-btn {\n --tct-btn-border-radius: #{var-list(var-prefixer(pagination-btn-border-radius))};\n --tct-btn-border: #{var-list(var-prefixer(pagination-btn-border))};\n --tct-btn-icon-hover-background: #{var-list(--tct-pagination-btn-hover-background, --app-gray-l3, #f2f2f2)};\n --tct-icon-stroke-primary: #{var-list(--tct-pagination-btn-icon-stroke-primary, --app-gray, #747474)};\n --tct-icon-stroke-secondary: #{var-list(--tct-pagination-btn-icon-stroke-secondary, --app-gray, #747474)};\n}\n\nq2-icon {\n --tct-icon-size: #{var-list(var-prefixer(pagination-icon-size), 12px)};\n color: var-list(var-prefixer(pagination-icon-color), --t-text, #4d4d4d);\n}\n\nq2-input {\n --tct-input-margin-top: 0;\n --tct-input-margin-bottom: 0;\n --tct-input-height: #{var-list(var-prefixer(pagination-input-height), 30px)};\n --tct-input-min-height: var(--tct-input-height);\n --tct-input-align: center;\n}\n\nq2-select {\n --tct-select-input-min-height: #{var-list(var-prefixer(pagination-select-height), 30px)};\n --tct-select-input-max-height: #{var-list(var-prefixer(pagination-select-height), 30px)};\n width: #{var-list(var-prefixer(pagination-perpage-width), 100%)};\n min-width: #{var-list(var-prefixer(pagination-perpage-min-width), 110px)};\n}\n","import {\n Component,\n State,\n Prop,\n h,\n ComponentInterface,\n Watch,\n Listen,\n Element,\n Method,\n Event,\n EventEmitter,\n} from '@stencil/core';\nimport { isEventFromElement, loc, nextPaint, overrideFocus } from 'src/utils';\nimport mirrorEmit from '@/utils/mirror-emit';\n\n/**\n * @name Pagination\n * @category Display\n * @summary Use for navigating between pages of content like search results or tables.\n */\n@Component({ tag: 'q2-pagination', shadow: true, styleUrl: 'q2-pagination.scss' })\nexport class Q2Pagination implements ComponentInterface {\n // #region Own Properties\n\n containerElement: HTMLElement;\n containerWidth: number;\n firstPageBtn: HTMLQ2BtnElement;\n inputField: HTMLQ2InputElement;\n lastPageBtn: HTMLQ2BtnElement;\n nextPageBtn: HTMLQ2BtnElement;\n perPageSelect: HTMLQ2SelectElement;\n prevPageBtn: HTMLQ2BtnElement;\n resizeObserver: ResizeObserver;\n\n // #endregion\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region State Properties\n\n @State()\n isSmall: boolean;\n\n // #endregion\n // #region Public Property API\n\n /**\n * Indicates the horizontal alignment of pagination elements\n * @info\n * When using the 'stacked' version, the default alignment is 'center'. When using the unstacked version, the default alignment is 'right'.\n */\n @Prop({ reflect: true, mutable: true })\n alignment?: 'left' | 'center' | 'right';\n\n /** Determines whether the component uses dynamic resizing behavior. This is disabled when `pagesOnly`, `recordsOnly`, or `stacked` is true. */\n @Prop({ reflect: true, mutable: true })\n autoSize: boolean = true;\n\n /** Allows the component to be disabled should the state of the page require this */\n @Prop({ reflect: true, mutable: true })\n disabled: boolean = false;\n\n /** The current page that is being displayed. */\n @Prop({ reflect: true, mutable: true })\n page: number;\n\n /**\n * The number of pages that can be displayed.\n * @info\n * Only referenced when `pagesOnly` is true.\n */\n @Prop({ reflect: true, mutable: true })\n pages: number;\n\n /** Indicates to display only the current and total pages. This disables the `autoSize` feature. */\n @Prop({ reflect: true, mutable: true })\n pagesOnly: boolean;\n\n /** The total number of records displayed on each page. This disables the `autoSize` feature. */\n @Prop({ reflect: true, mutable: true })\n perPage: number;\n\n /**\n * A list of perPage values.\n * This generates a [Select](https://tecton.q2developer.com/design-system/q2-select/) element that allows the user to modify the `perPage` value.\n * @info\n * `pagesOnly` or `recordsOnly` being true disables this feature.\n *\n * **Example:**\n * @snippet\n * this.perPageIncrements = [10, 25, 50];\n */\n @Prop({ reflect: true, mutable: true })\n perPageIncrements: number[] | string[] | string | undefined;\n\n /** Indicates to display only the current and total records. */\n @Prop({ reflect: true, mutable: true })\n recordsOnly: boolean;\n\n /** Description of the record type to be displayed alongside the record count. */\n @Prop()\n recordType: string;\n\n /**\n * Allows the component to be displayed in a stacked layout. This disables the `autoSize` feature.\n * @info\n * When set to true, the default alignment will be 'center'. When false, the default alignment is 'right'.\n */\n @Prop({ reflect: true })\n stacked: boolean;\n\n /** The total number of records to paginate. */\n @Prop({ reflect: true })\n total: number;\n\n // #endregion\n // #region Events\n\n /**\n * Emitted when the page is changed.\n * @legacyEvent\n * @deprecated Use 'tctChange' instead\n */\n @Event()\n change: EventEmitter<{ page: number; perPage: number }>;\n\n /**\n * Emitted when the page is changed.\n * @legacyEvent\n */\n @Event()\n tctChange: EventEmitter<{ page: number; perPage: number }>;\n\n // #endregion\n // #region Component Lifecycle Events\n\n disconnectedCallback() {\n this.removeResizeObserver();\n }\n\n componentWillLoad(): void {\n this.checkDisplayTypes();\n this.manageResizeObserver();\n if (!this.alignment) {\n this.alignment = this.stacked ? 'center' : 'right';\n }\n }\n\n componentDidLoad(): void {\n this.containerWidth = this.containerElement.clientWidth;\n\n overrideFocus(this.hostElement);\n }\n\n // #endregion\n // #region Listeners\n\n @Listen('focus')\n onHostElementFocus(event) {\n if (this.disabled) return;\n if (!isEventFromElement(event, this.hostElement)) return;\n const { isFullViewHidden, containerElement, inputField } = this;\n if (isFullViewHidden) {\n containerElement.querySelector<HTMLElement>('q2-btn:not([disabled])')?.focus();\n } else {\n inputField.focus();\n }\n }\n\n // #endregion\n // #region Public Methods API\n\n /**\n * Emulates clicking the button that controls moving to the first page, and emitting a change event with the updated page number.\n *\n * If the `<button>` is disabled, this method does nothing.\n * @testOnly\n */\n @Method()\n async clickFirstPage() {\n if (this.disabled) return;\n const button = this.firstPageBtn;\n if (button?.disabled) return;\n button.click();\n }\n\n /**\n * Emulates clicking the button that controls moving to the last page, and emitting a change event with the updated page number.\n *\n * If the `<button>` is disabled, this method does nothing.\n * @testOnly\n */\n @Method()\n async clickLastPage() {\n if (this.disabled) return;\n const button = this.lastPageBtn;\n if (button?.disabled) return;\n button.click();\n }\n\n /**\n * Emulates clicking the button that controls moving to the next page, and emitting a change event with the updated page number.\n *\n * If the `<button>` is disabled, this method does nothing.\n * @testOnly\n */\n @Method()\n async clickNextPage() {\n if (this.disabled) return;\n const button = this.nextPageBtn;\n if (button?.disabled) return;\n button.click();\n }\n\n /**\n * Emulates clicking the button that controls moving to the previous page, and emitting a change event with the updated page number.\n *\n * If the `<button>` is disabled, this method does nothing.\n * @testOnly\n */\n @Method()\n async clickPreviousPage() {\n if (this.disabled) return;\n const button = this.prevPageBtn;\n if (button?.disabled) return;\n button.click();\n }\n\n /**\n * Emulates selecting a `perPage` value from the `perPageIncrements` dropdown,\n * and updates the value of the `perPage` property.\n *\n * If `value` is not in the `perPageIncrements` array, this method does nothing.\n * @testOnly\n */\n @Method()\n async selectPerPageIncrementValue(value: number) {\n if (this.disabled) return;\n if (isNaN(value) || !this.showPerPageSelect || !this.perPageIncrementsArray.includes(value)) return;\n this.perPageSelect.focus();\n this.perPageSelect.click();\n const options = Array.from(this.perPageSelect.querySelectorAll('q2-option'));\n options.find(option => option.value === `${value}`)?.click();\n }\n\n /**\n * Emulates setting the page value in the `<input>` field,\n * and emitting a change event with the updated page number.\n *\n * If `value` is invalid, this method does nothing.\n * @testOnly\n */\n @Method()\n async setPageValue(value: number) {\n if (this.disabled) return;\n if (!this.inputField || isNaN(value) || value < 1 || value > this.totalPages) return;\n this.inputField?.focus();\n this.inputField.value = `${value}`;\n this.inputField?.blur();\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('autoSize')\n manageResizeObserver() {\n if (this.autoSize) {\n if (this.resizeObserver) return;\n this.resizeObserver = new ResizeObserver(() => this.checkSize());\n this.resizeObserver.observe(this.hostElement);\n window.addEventListener('resize', this.checkSize);\n } else {\n this.isSmall = false;\n this.removeResizeObserver();\n }\n }\n\n @Watch('recordsOnly')\n @Watch('pagesOnly')\n @Watch('stacked')\n checkDisplayTypes() {\n if (this.pagesOnly || this.recordsOnly || this.stacked) this.autoSize = false;\n }\n\n // #endregion\n // #region Local Methods\n\n get containerClasses() {\n const classes = ['container'];\n if (this.stacked) classes.push('stacked');\n return classes;\n }\n\n get currentRange() {\n const { perPageWithDefault: perPage, totalWithDefault: total, pageWithDefault: page } = this;\n const start = total > 0 ? (page - 1) * perPage + 1 : 0;\n const end = Math.min(page * perPage, total);\n return `${start} - ${end}`;\n }\n\n get isFullViewHidden() {\n return this.isSmall || this.recordsOnly || this.pagesOnly;\n }\n\n get nextRange() {\n const { perPageWithDefault: perPage, totalWithDefault: total, pageWithDefault: page } = this;\n const start = page * perPage + 1;\n const end = Math.min((page + 1) * perPage, total);\n return `${start} - ${end}`;\n }\n\n get pageWithDefault() {\n return this.total > 0 ? this.page || 1 : 0;\n }\n\n get perPageIncrementsArray() {\n if (Array.isArray(this.perPageIncrements)) {\n return this.perPageIncrements.map(num => Number(num));\n } else if (typeof this.perPageIncrements === 'string') {\n return this.perPageIncrements\n .trim()\n .replace(/[\\[\\]\\\"\\']/g, '')\n .split(',')\n .map(num => Number(num));\n } else {\n return [];\n }\n }\n\n get perPageWithDefault() {\n return this.perPage || 10;\n }\n\n get prevRange() {\n const { perPageWithDefault: perPage, pageWithDefault: page } = this;\n const start = Math.max(1, (page - 2) * perPage + 1);\n const end = (page - 1) * perPage;\n return `${start} - ${end}`;\n }\n\n get recordTypeWithDefault() {\n return this.recordType || loc('tecton.element.pagination.defaultRecordType');\n }\n\n get showPerPageSelect() {\n return this.perPageIncrements?.length > 1;\n }\n\n get totalPages() {\n const { pagesOnly, totalWithDefault: total, perPageWithDefault: perPage, pages } = this;\n\n if (pagesOnly && pages && !isNaN(parseInt(`${pages}`))) return pages;\n\n return Math.ceil(total / perPage);\n }\n\n get totalWithDefault() {\n return this.total || 0;\n }\n\n checkSize = () => {\n const { hostElement, containerElement } = this;\n const isOverflowing = this.containerWidth > hostElement.clientWidth;\n this.isSmall = isOverflowing;\n\n nextPaint(() => {\n const containerWidthHasNotChanged = this.containerWidth === containerElement.clientWidth;\n if (containerWidthHasNotChanged) return;\n this.containerWidth = containerElement.clientWidth;\n this.checkSize();\n });\n };\n\n handlePageChange = (page: number | string) => {\n if (this.disabled) return;\n const { totalPages, inputField } = this;\n page = parseInt(`${page}`);\n if (isNaN(page) || page < 1) {\n page = 1;\n } else if (page > totalPages) {\n page = totalPages;\n }\n\n if (inputField.value !== `${page}`) inputField.value = `${page}`;\n\n if (!this.hostElement.onchange) {\n this.page = page;\n }\n\n mirrorEmit(this, ['change', 'tctChange'], { page, perPage: this.perPageWithDefault });\n };\n\n handlePerPageChange = (event: CustomEvent) => {\n if (this.disabled) return;\n const perPage = (event.detail?.value || this.perPage) * 1;\n this.perPage = perPage;\n mirrorEmit(this, ['change', 'tctChange'], { page: this.pageWithDefault, perPage });\n };\n\n removeResizeObserver() {\n if (this.resizeObserver) {\n this.resizeObserver?.disconnect();\n this.resizeObserver = null;\n window.removeEventListener('resize', this.checkSize);\n }\n }\n\n // #endregion\n // #region Render Methods\n\n renderPerPage() {\n const increments = this.perPageIncrementsArray.sort((a, b) => a - b);\n if (this.perPage === undefined || isNaN(this.perPage)) this.perPage = increments[0];\n this.perPageIncrements = `[${increments.join(',')}]`;\n return (\n <q2-select\n ref={el => (this.perPageSelect = el)}\n onChange={e => e.stopImmediatePropagation()}\n onTctChange={event => {\n event.stopPropagation();\n this.handlePerPageChange(event);\n }}\n value={this.perPageIncrementsArray.includes(this.perPage) ? `${this.perPage}` : undefined}\n disabled={this.disabled}\n >\n {increments.map(perPage => (\n <q2-option\n value={`${perPage}`}\n display={`${loc('tecton.element.pagination.view')} ${perPage}`}\n >{`${loc('tecton.element.pagination.view')} ${perPage}`}</q2-option>\n ))}\n </q2-select>\n );\n }\n\n render() {\n const {\n pagesOnly,\n recordsOnly,\n isFullViewHidden,\n recordTypeWithDefault: recordType,\n totalPages,\n totalWithDefault: total,\n pageWithDefault: page,\n currentRange,\n nextRange,\n prevRange,\n showPerPageSelect,\n disabled,\n } = this;\n const onFirstPage = page < 2;\n const onLastPage = page === totalPages;\n\n let nextButtonLabel: string = loc('tecton.element.pagination.goToNext');\n let prevButtonLabel: string = loc('tecton.element.pagination.goToPrevious');\n if (pagesOnly) {\n prevButtonLabel = loc('tecton.element.pagination.goToPages', { next: page - 1, total: totalPages });\n nextButtonLabel = loc('tecton.element.pagination.goToPages', { next: page + 1, total: totalPages });\n } else if (recordsOnly) {\n prevButtonLabel = loc('tecton.element.pagination.goToRecords', {\n range: prevRange,\n recordType: recordType.toLowerCase(),\n total,\n });\n nextButtonLabel = loc('tecton.element.pagination.goToRecords', {\n range: nextRange,\n recordType: recordType.toLowerCase(),\n total,\n });\n }\n\n return (\n <nav\n class={this.containerClasses.join(' ')}\n ref={el => (this.containerElement = el)}\n aria-label={loc('tecton.element.pagination.title')}\n >\n <div\n class=\"description\"\n test-id=\"description\"\n >\n {pagesOnly\n ? loc('tecton.element.pagination.pages', {\n current: page,\n total: totalPages,\n })\n : loc('tecton.element.pagination.description', {\n range: currentRange,\n recordType: recordType.toLowerCase(),\n total: total.toLocaleString(),\n })}\n </div>\n <div class=\"controls\">\n <div class=\"btn-group\">\n <q2-btn\n ref={el => (this.firstPageBtn = el)}\n label={loc('tecton.element.pagination.goToFirstPage')}\n disabled={disabled || onFirstPage}\n hidden={isFullViewHidden}\n onTctClick={() => this.handlePageChange(1)}\n test-id=\"firstPageBtn\"\n hide-label\n >\n <q2-icon type=\"chevron-double-left\" />\n </q2-btn>\n <q2-btn\n ref={el => (this.prevPageBtn = el)}\n label={prevButtonLabel}\n disabled={disabled || onFirstPage}\n onTctClick={() => this.handlePageChange(page - 1)}\n test-id=\"prevPageBtn\"\n hide-label\n >\n <q2-icon type=\"chevron-left\" />\n </q2-btn>\n </div>\n <div\n class=\"input-display\"\n hidden={isFullViewHidden}\n >\n <span aria-hidden=\"true\">{loc('tecton.element.pagination.page')}</span>\n <div\n class=\"input-wrapper\"\n onClick={() => this.inputField.dispatchEvent(new FocusEvent('focus'))}\n >\n <q2-input\n ref={el => (this.inputField = el)}\n type=\"number\"\n value={`${page}`}\n min={1}\n max={this.totalPages}\n hideLabel\n optional\n label={`${loc('tecton.element.pagination.page')} (${loc(\n 'tecton.element.pagination.ofPages',\n [totalPages.toLocaleString()]\n )})`}\n onChange={event => event.stopImmediatePropagation()}\n onTctChange={event => {\n event.stopPropagation();\n this.handlePageChange(event.detail.value);\n }}\n test-id=\"pageInput\"\n current=\"page\"\n disabled={disabled}\n ></q2-input>\n </div>\n <span aria-hidden=\"true\">\n {loc('tecton.element.pagination.ofPages', [totalPages.toLocaleString()])}\n </span>\n </div>\n <div class=\"btn-group\">\n <q2-btn\n ref={el => (this.nextPageBtn = el)}\n label={nextButtonLabel}\n disabled={disabled || onLastPage}\n onTctClick={() => this.handlePageChange(page + 1)}\n test-id=\"nextPageBtn\"\n hide-label\n >\n <q2-icon type=\"chevron-right\" />\n </q2-btn>\n <q2-btn\n ref={el => (this.lastPageBtn = el)}\n label=\"tecton.element.pagination.goToLastPage\"\n disabled={disabled || onLastPage}\n hidden={isFullViewHidden}\n onTctClick={() => this.handlePageChange(totalPages)}\n test-id=\"lastPageBtn\"\n hide-label\n >\n <q2-icon type=\"chevron-double-right\" />\n </q2-btn>\n </div>\n </div>\n <div\n class=\"per-page\"\n hidden={isFullViewHidden || !this.perPageIncrements?.length}\n >\n {showPerPageSelect && this.renderPerPage()}\n </div>\n </nav>\n );\n }\n\n // #endregion\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { r as t, c as e, h as i, g as n } from "./index-CGkHOjh1.js";
|
|
2
2
|
|
|
3
|
-
import { n as a, o as s, i as o, l as r } from "./index-
|
|
3
|
+
import { n as a, o as s, i as o, l as r } from "./index-C4PILj1_.js";
|
|
4
4
|
|
|
5
5
|
import { m as c } from "./mirror-emit-DUjY_ucm.js";
|
|
6
6
|
|
|
@@ -38,13 +38,19 @@ const l = class {
|
|
|
38
38
|
this.page = t;
|
|
39
39
|
}
|
|
40
40
|
c(this, [ "change", "tctChange" ], {
|
|
41
|
-
page: t
|
|
41
|
+
page: t,
|
|
42
|
+
perPage: this.perPageWithDefault
|
|
42
43
|
});
|
|
43
44
|
};
|
|
44
45
|
this.handlePerPageChange = t => {
|
|
45
46
|
var e;
|
|
46
47
|
if (this.disabled) return;
|
|
47
|
-
|
|
48
|
+
const i = (((e = t.detail) === null || e === void 0 ? void 0 : e.value) || this.perPage) * 1;
|
|
49
|
+
this.perPage = i;
|
|
50
|
+
c(this, [ "change", "tctChange" ], {
|
|
51
|
+
page: this.pageWithDefault,
|
|
52
|
+
perPage: i
|
|
53
|
+
});
|
|
48
54
|
};
|
|
49
55
|
}
|
|
50
56
|
// #endregion
|
|
@@ -242,7 +248,11 @@ const l = class {
|
|
|
242
248
|
this.perPageIncrements = `[${t.join(",")}]`;
|
|
243
249
|
return i("q2-select", {
|
|
244
250
|
ref: t => this.perPageSelect = t,
|
|
245
|
-
|
|
251
|
+
onChange: t => t.stopImmediatePropagation(),
|
|
252
|
+
onTctChange: t => {
|
|
253
|
+
t.stopPropagation();
|
|
254
|
+
this.handlePerPageChange(t);
|
|
255
|
+
},
|
|
246
256
|
value: this.perPageIncrementsArray.includes(this.perPage) ? `${this.perPage}` : undefined,
|
|
247
257
|
disabled: this.disabled
|
|
248
258
|
}, t.map((t => i("q2-option", {
|
|
@@ -252,8 +262,8 @@ const l = class {
|
|
|
252
262
|
}
|
|
253
263
|
render() {
|
|
254
264
|
var t;
|
|
255
|
-
const {pagesOnly: e, recordsOnly: n, isFullViewHidden: a, recordTypeWithDefault: s, totalPages: o, totalWithDefault: c, pageWithDefault: h, currentRange: l, nextRange:
|
|
256
|
-
const
|
|
265
|
+
const {pagesOnly: e, recordsOnly: n, isFullViewHidden: a, recordTypeWithDefault: s, totalPages: o, totalWithDefault: c, pageWithDefault: h, currentRange: l, nextRange: p, prevRange: d, showPerPageSelect: g, disabled: f} = this;
|
|
266
|
+
const u = h < 2;
|
|
257
267
|
const b = h === o;
|
|
258
268
|
let v = r("tecton.element.pagination.goToNext");
|
|
259
269
|
let y = r("tecton.element.pagination.goToPrevious");
|
|
@@ -268,23 +278,23 @@ const l = class {
|
|
|
268
278
|
});
|
|
269
279
|
} else if (n) {
|
|
270
280
|
y = r("tecton.element.pagination.goToRecords", {
|
|
271
|
-
range:
|
|
281
|
+
range: d,
|
|
272
282
|
recordType: s.toLowerCase(),
|
|
273
283
|
total: c
|
|
274
284
|
});
|
|
275
285
|
v = r("tecton.element.pagination.goToRecords", {
|
|
276
|
-
range:
|
|
286
|
+
range: p,
|
|
277
287
|
recordType: s.toLowerCase(),
|
|
278
288
|
total: c
|
|
279
289
|
});
|
|
280
290
|
}
|
|
281
291
|
return i("nav", {
|
|
282
|
-
key: "
|
|
292
|
+
key: "642369130b2d57d4e6a89927608636a4da87f11d",
|
|
283
293
|
class: this.containerClasses.join(" "),
|
|
284
294
|
ref: t => this.containerElement = t,
|
|
285
295
|
"aria-label": r("tecton.element.pagination.title")
|
|
286
296
|
}, i("div", {
|
|
287
|
-
key: "
|
|
297
|
+
key: "e988b3374cec5bb1a73dfbcc705899fb3a3474d6",
|
|
288
298
|
class: "description",
|
|
289
299
|
"test-id": "description"
|
|
290
300
|
}, e ? r("tecton.element.pagination.pages", {
|
|
@@ -295,47 +305,47 @@ const l = class {
|
|
|
295
305
|
recordType: s.toLowerCase(),
|
|
296
306
|
total: c.toLocaleString()
|
|
297
307
|
})), i("div", {
|
|
298
|
-
key: "
|
|
308
|
+
key: "8ac5316082ab9fcc03fd6c605e56e31124f5d5dc",
|
|
299
309
|
class: "controls"
|
|
300
310
|
}, i("div", {
|
|
301
|
-
key: "
|
|
311
|
+
key: "c7e99c77f10d0d587d31af19b3bd39ba2d64aeb7",
|
|
302
312
|
class: "btn-group"
|
|
303
313
|
}, i("q2-btn", {
|
|
304
|
-
key: "
|
|
314
|
+
key: "ba7cc1e9b1eee9d0db75e7f653c74974e06435a6",
|
|
305
315
|
ref: t => this.firstPageBtn = t,
|
|
306
316
|
label: r("tecton.element.pagination.goToFirstPage"),
|
|
307
|
-
disabled:
|
|
317
|
+
disabled: f || u,
|
|
308
318
|
hidden: a,
|
|
309
319
|
onTctClick: () => this.handlePageChange(1),
|
|
310
320
|
"test-id": "firstPageBtn",
|
|
311
321
|
"hide-label": true
|
|
312
322
|
}, i("q2-icon", {
|
|
313
|
-
key: "
|
|
323
|
+
key: "90b82dd3b935af151d517c997086e5779e51bd3c",
|
|
314
324
|
type: "chevron-double-left"
|
|
315
325
|
})), i("q2-btn", {
|
|
316
|
-
key: "
|
|
326
|
+
key: "179b59d1c5cebff1897d5e0a3e825e969da90719",
|
|
317
327
|
ref: t => this.prevPageBtn = t,
|
|
318
328
|
label: y,
|
|
319
|
-
disabled:
|
|
329
|
+
disabled: f || u,
|
|
320
330
|
onTctClick: () => this.handlePageChange(h - 1),
|
|
321
331
|
"test-id": "prevPageBtn",
|
|
322
332
|
"hide-label": true
|
|
323
333
|
}, i("q2-icon", {
|
|
324
|
-
key: "
|
|
334
|
+
key: "b23b78e56fc5df453036c07c055f2bc7bf10da11",
|
|
325
335
|
type: "chevron-left"
|
|
326
336
|
}))), i("div", {
|
|
327
|
-
key: "
|
|
337
|
+
key: "5ac4941af9479fe7c2644cfe56fb1bf3f4e2c968",
|
|
328
338
|
class: "input-display",
|
|
329
339
|
hidden: a
|
|
330
340
|
}, i("span", {
|
|
331
|
-
key: "
|
|
341
|
+
key: "f748874515ec184a25bc2f10f16f1031b4ed5583",
|
|
332
342
|
"aria-hidden": "true"
|
|
333
343
|
}, r("tecton.element.pagination.page")), i("div", {
|
|
334
|
-
key: "
|
|
344
|
+
key: "2e870838a5ca57ccfd80f648f8eaf6f895c950be",
|
|
335
345
|
class: "input-wrapper",
|
|
336
346
|
onClick: () => this.inputField.dispatchEvent(new FocusEvent("focus"))
|
|
337
347
|
}, i("q2-input", {
|
|
338
|
-
key: "
|
|
348
|
+
key: "3c765b872520ae12cf6d86789a5dfb56fe140d97",
|
|
339
349
|
ref: t => this.inputField = t,
|
|
340
350
|
type: "number",
|
|
341
351
|
value: `${h}`,
|
|
@@ -344,44 +354,45 @@ const l = class {
|
|
|
344
354
|
hideLabel: true,
|
|
345
355
|
optional: true,
|
|
346
356
|
label: `${r("tecton.element.pagination.page")} (${r("tecton.element.pagination.ofPages", [ o.toLocaleString() ])})`,
|
|
357
|
+
onChange: t => t.stopImmediatePropagation(),
|
|
347
358
|
onTctChange: t => {
|
|
348
359
|
t.stopPropagation();
|
|
349
360
|
this.handlePageChange(t.detail.value);
|
|
350
361
|
},
|
|
351
362
|
"test-id": "pageInput",
|
|
352
363
|
current: "page",
|
|
353
|
-
disabled:
|
|
364
|
+
disabled: f
|
|
354
365
|
})), i("span", {
|
|
355
|
-
key: "
|
|
366
|
+
key: "1fad0a391c7b5b2bac9439b7116674d43d205a95",
|
|
356
367
|
"aria-hidden": "true"
|
|
357
368
|
}, r("tecton.element.pagination.ofPages", [ o.toLocaleString() ]))), i("div", {
|
|
358
|
-
key: "
|
|
369
|
+
key: "52dc5be6a7deae84418c2cfbf108b68451c3db5b",
|
|
359
370
|
class: "btn-group"
|
|
360
371
|
}, i("q2-btn", {
|
|
361
|
-
key: "
|
|
372
|
+
key: "b1aa2468c227ad4f251736eee6596a0525f620dd",
|
|
362
373
|
ref: t => this.nextPageBtn = t,
|
|
363
374
|
label: v,
|
|
364
|
-
disabled:
|
|
375
|
+
disabled: f || b,
|
|
365
376
|
onTctClick: () => this.handlePageChange(h + 1),
|
|
366
377
|
"test-id": "nextPageBtn",
|
|
367
378
|
"hide-label": true
|
|
368
379
|
}, i("q2-icon", {
|
|
369
|
-
key: "
|
|
380
|
+
key: "689bc3f2f90724c53ff67d9724d17cc303af716c",
|
|
370
381
|
type: "chevron-right"
|
|
371
382
|
})), i("q2-btn", {
|
|
372
|
-
key: "
|
|
383
|
+
key: "bb1bb9cbbbc58454e6f811fcaa5359d561d79042",
|
|
373
384
|
ref: t => this.lastPageBtn = t,
|
|
374
385
|
label: "tecton.element.pagination.goToLastPage",
|
|
375
|
-
disabled:
|
|
386
|
+
disabled: f || b,
|
|
376
387
|
hidden: a,
|
|
377
388
|
onTctClick: () => this.handlePageChange(o),
|
|
378
389
|
"test-id": "lastPageBtn",
|
|
379
390
|
"hide-label": true
|
|
380
391
|
}, i("q2-icon", {
|
|
381
|
-
key: "
|
|
392
|
+
key: "d271e5fd48c58f95f0b8d2d45af6f48c335038e8",
|
|
382
393
|
type: "chevron-double-right"
|
|
383
394
|
})))), i("div", {
|
|
384
|
-
key: "
|
|
395
|
+
key: "cc2ac1c470e2034b242079c44ecf4435cb42548e",
|
|
385
396
|
class: "per-page",
|
|
386
397
|
hidden: a || !((t = this.perPageIncrements) === null || t === void 0 ? void 0 : t.length)
|
|
387
398
|
}, g && this.renderPerPage()));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["q2PaginationCss","Q2Pagination","constructor","hostRef","this","autoSize","disabled","checkSize","hostElement","containerElement","isOverflowing","containerWidth","clientWidth","isSmall","nextPaint","containerWidthHasNotChanged","handlePageChange","page","totalPages","inputField","parseInt","isNaN","value","onchange","mirrorEmit","handlePerPageChange","event","perPage","_a","detail","disconnectedCallback","removeResizeObserver","componentWillLoad","checkDisplayTypes","manageResizeObserver","alignment","stacked","componentDidLoad","overrideFocus","onHostElementFocus","isEventFromElement","isFullViewHidden","querySelector","focus","clickFirstPage","button","firstPageBtn","click","clickLastPage","lastPageBtn","clickNextPage","nextPageBtn","clickPreviousPage","prevPageBtn","selectPerPageIncrementValue","showPerPageSelect","perPageIncrementsArray","includes","perPageSelect","options","Array","from","querySelectorAll","find","option","setPageValue","_b","blur","resizeObserver","ResizeObserver","observe","window","addEventListener","pagesOnly","recordsOnly","containerClasses","classes","push","currentRange","perPageWithDefault","totalWithDefault","total","pageWithDefault","start","end","Math","min","nextRange","isArray","perPageIncrements","map","num","Number","trim","replace","split","prevRange","max","recordTypeWithDefault","recordType","loc","length","pages","ceil","disconnect","removeEventListener","renderPerPage","increments","sort","a","b","undefined","join","h","ref","el","onTctChange","display","render","onFirstPage","onLastPage","nextButtonLabel","prevButtonLabel","next","range","toLowerCase","key","class","current","toLocaleString","label","hidden","onTctClick","type","onClick","dispatchEvent","FocusEvent","hideLabel","optional","stopPropagation"],"sources":["src/components/q2-pagination/q2-pagination.scss?tag=q2-pagination&encapsulation=shadow","src/components/q2-pagination/q2-pagination.tsx"],"sourcesContent":["@import '../../styles/host';\n@import '../../styles/functions';\n\n:host {\n display: flex;\n width: 100%;\n}\n\n:host([alignment='right']) {\n justify-content: flex-end;\n}\n\n:host([alignment='center']) {\n justify-content: center;\n}\n\n:host([alignment='left']) {\n justify-content: flex-start;\n}\n\n:host([hidden]) {\n display: none;\n}\n\n.container {\n display: inline-flex;\n column-gap: var-list(var-prefixer(pagination-column-gap), --app-scale-2x, 10px);\n align-items: center;\n height: var-list(var-prefixer(pagination-height), 44px);\n color: var(--tct-pagination-color, inherit);\n font-size: var(--tct-pagination-font-size, inherit);\n font-weight: var(--tct-pagination-font-weight, inherit);\n\n &.stacked {\n flex-direction: column;\n column-gap: 0;\n row-gap: var-list(--tct-pagination-row-gap, --app-scale-2x, 10px);\n height: auto;\n align-items: stretch;\n\n .description {\n text-align: center;\n }\n\n .controls {\n justify-content: center;\n }\n\n .per-page {\n display: flex;\n justify-content: center;\n }\n\n q2-select {\n --tct-select-margin: 0;\n width: var(--tct-pagination-perpage-width, 60%);\n }\n }\n}\n\n.controls {\n display: flex;\n}\n\n.btn-group {\n display: flex;\n gap: var-list(var-prefixer(pagination-btn-gap), 0);\n}\n\n.description,\n.input-display {\n white-space: nowrap;\n}\n\n.input-display {\n display: grid;\n grid-template-columns: auto var(--tct-pagination-input-width, 50px) auto;\n align-items: center;\n gap: var-list(var-prefixer(pagination-controls-gap), --app-scale-1x, 5px);\n\n &[hidden] {\n display: none;\n }\n}\n\n.input-wrapper {\n height: var-list(var-prefixer(pagination-height), 44px);\n display: flex;\n align-items: center;\n}\n\nq2-btn {\n --tct-btn-border-radius: #{var-list(var-prefixer(pagination-btn-border-radius))};\n --tct-btn-border: #{var-list(var-prefixer(pagination-btn-border))};\n --tct-btn-icon-hover-background: #{var-list(--tct-pagination-btn-hover-background, --app-gray-l3, #f2f2f2)};\n --tct-icon-stroke-primary: #{var-list(--tct-pagination-btn-icon-stroke-primary, --app-gray, #747474)};\n --tct-icon-stroke-secondary: #{var-list(--tct-pagination-btn-icon-stroke-secondary, --app-gray, #747474)};\n}\n\nq2-icon {\n --tct-icon-size: #{var-list(var-prefixer(pagination-icon-size), 12px)};\n color: var-list(var-prefixer(pagination-icon-color), --t-text, #4d4d4d);\n}\n\nq2-input {\n --tct-input-margin-top: 0;\n --tct-input-margin-bottom: 0;\n --tct-input-height: #{var-list(var-prefixer(pagination-input-height), 30px)};\n --tct-input-min-height: var(--tct-input-height);\n --tct-input-align: center;\n}\n\nq2-select {\n --tct-select-input-min-height: #{var-list(var-prefixer(pagination-select-height), 30px)};\n --tct-select-input-max-height: #{var-list(var-prefixer(pagination-select-height), 30px)};\n width: #{var-list(var-prefixer(pagination-perpage-width), 100%)};\n min-width: #{var-list(var-prefixer(pagination-perpage-min-width), 110px)};\n}\n","import {\n Component,\n State,\n Prop,\n h,\n ComponentInterface,\n Watch,\n Listen,\n Element,\n Method,\n Event,\n EventEmitter,\n} from '@stencil/core';\nimport { isEventFromElement, loc, nextPaint, overrideFocus } from 'src/utils';\nimport mirrorEmit from '@/utils/mirror-emit';\n\n/**\n * @name Pagination\n * @category Display\n * @summary Use for navigating between pages of content like search results or tables.\n */\n@Component({ tag: 'q2-pagination', shadow: true, styleUrl: 'q2-pagination.scss' })\nexport class Q2Pagination implements ComponentInterface {\n // #region Own Properties\n\n containerElement: HTMLElement;\n containerWidth: number;\n firstPageBtn: HTMLQ2BtnElement;\n inputField: HTMLQ2InputElement;\n lastPageBtn: HTMLQ2BtnElement;\n nextPageBtn: HTMLQ2BtnElement;\n perPageSelect: HTMLQ2SelectElement;\n prevPageBtn: HTMLQ2BtnElement;\n resizeObserver: ResizeObserver;\n\n // #endregion\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region State Properties\n\n @State()\n isSmall: boolean;\n\n // #endregion\n // #region Public Property API\n\n /**\n * Indicates the horizontal alignment of pagination elements\n * @info\n * When using the 'stacked' version, the default alignment is 'center'. When using the unstacked version, the default alignment is 'right'.\n */\n @Prop({ reflect: true, mutable: true })\n alignment?: 'left' | 'center' | 'right';\n\n /** Determines whether the component uses dynamic resizing behavior. This is disabled when `pagesOnly`, `recordsOnly`, or `stacked` is true. */\n @Prop({ reflect: true, mutable: true })\n autoSize: boolean = true;\n\n /** Allows the component to be disabled should the state of the page require this */\n @Prop({ reflect: true, mutable: true })\n disabled: boolean = false;\n\n /** The current page that is being displayed. */\n @Prop({ reflect: true, mutable: true })\n page: number;\n\n /**\n * The number of pages that can be displayed.\n * @info\n * Only referenced when `pagesOnly` is true.\n */\n @Prop({ reflect: true, mutable: true })\n pages: number;\n\n /** Indicates to display only the current and total pages. This disables the `autoSize` feature. */\n @Prop({ reflect: true, mutable: true })\n pagesOnly: boolean;\n\n /** The total number of records displayed on each page. This disables the `autoSize` feature. */\n @Prop({ reflect: true, mutable: true })\n perPage: number;\n\n /**\n * A list of perPage values.\n * This generates a [Select](https://tecton.q2developer.com/design-system/q2-select/) element that allows the user to modify the `perPage` value.\n * @info\n * `pagesOnly` or `recordsOnly` being true disables this feature.\n *\n * **Example:**\n * @snippet\n * this.perPageIncrements = [10, 25, 50];\n */\n @Prop({ reflect: true, mutable: true })\n perPageIncrements: number[] | string[] | string | undefined;\n\n /** Indicates to display only the current and total records. */\n @Prop({ reflect: true, mutable: true })\n recordsOnly: boolean;\n\n /** Description of the record type to be displayed alongside the record count. */\n @Prop()\n recordType: string;\n\n /**\n * Allows the component to be displayed in a stacked layout. This disables the `autoSize` feature.\n * @info\n * When set to true, the default alignment will be 'center'. When false, the default alignment is 'right'.\n */\n @Prop({ reflect: true })\n stacked: boolean;\n\n /** The total number of records to paginate. */\n @Prop({ reflect: true })\n total: number;\n\n // #endregion\n // #region Events\n\n /**\n * Emitted when the page is changed.\n * @legacyEvent\n * @deprecated Use 'tctChange' instead\n */\n @Event()\n change: EventEmitter<{ page: number }>;\n\n /**\n * Emitted when the page is changed.\n * @legacyEvent\n */\n @Event()\n tctChange: EventEmitter<{ page: number }>;\n\n // #endregion\n // #region Component Lifecycle Events\n\n disconnectedCallback() {\n this.removeResizeObserver();\n }\n\n componentWillLoad(): void {\n this.checkDisplayTypes();\n this.manageResizeObserver();\n if (!this.alignment) {\n this.alignment = this.stacked ? 'center' : 'right';\n }\n }\n\n componentDidLoad(): void {\n this.containerWidth = this.containerElement.clientWidth;\n\n overrideFocus(this.hostElement);\n }\n\n // #endregion\n // #region Listeners\n\n @Listen('focus')\n onHostElementFocus(event) {\n if (this.disabled) return;\n if (!isEventFromElement(event, this.hostElement)) return;\n const { isFullViewHidden, containerElement, inputField } = this;\n if (isFullViewHidden) {\n containerElement.querySelector<HTMLElement>('q2-btn:not([disabled])')?.focus();\n } else {\n inputField.focus();\n }\n }\n\n // #endregion\n // #region Public Methods API\n\n /**\n * Emulates clicking the button that controls moving to the first page, and emitting a change event with the updated page number.\n *\n * If the `<button>` is disabled, this method does nothing.\n * @testOnly\n */\n @Method()\n async clickFirstPage() {\n if (this.disabled) return;\n const button = this.firstPageBtn;\n if (button?.disabled) return;\n button.click();\n }\n\n /**\n * Emulates clicking the button that controls moving to the last page, and emitting a change event with the updated page number.\n *\n * If the `<button>` is disabled, this method does nothing.\n * @testOnly\n */\n @Method()\n async clickLastPage() {\n if (this.disabled) return;\n const button = this.lastPageBtn;\n if (button?.disabled) return;\n button.click();\n }\n\n /**\n * Emulates clicking the button that controls moving to the next page, and emitting a change event with the updated page number.\n *\n * If the `<button>` is disabled, this method does nothing.\n * @testOnly\n */\n @Method()\n async clickNextPage() {\n if (this.disabled) return;\n const button = this.nextPageBtn;\n if (button?.disabled) return;\n button.click();\n }\n\n /**\n * Emulates clicking the button that controls moving to the previous page, and emitting a change event with the updated page number.\n *\n * If the `<button>` is disabled, this method does nothing.\n * @testOnly\n */\n @Method()\n async clickPreviousPage() {\n if (this.disabled) return;\n const button = this.prevPageBtn;\n if (button?.disabled) return;\n button.click();\n }\n\n /**\n * Emulates selecting a `perPage` value from the `perPageIncrements` dropdown,\n * and updates the value of the `perPage` property.\n *\n * If `value` is not in the `perPageIncrements` array, this method does nothing.\n * @testOnly\n */\n @Method()\n async selectPerPageIncrementValue(value: number) {\n if (this.disabled) return;\n if (isNaN(value) || !this.showPerPageSelect || !this.perPageIncrementsArray.includes(value)) return;\n this.perPageSelect.focus();\n this.perPageSelect.click();\n const options = Array.from(this.perPageSelect.querySelectorAll('q2-option'));\n options.find(option => option.value === `${value}`)?.click();\n }\n\n /**\n * Emulates setting the page value in the `<input>` field,\n * and emitting a change event with the updated page number.\n *\n * If `value` is invalid, this method does nothing.\n * @testOnly\n */\n @Method()\n async setPageValue(value: number) {\n if (this.disabled) return;\n if (!this.inputField || isNaN(value) || value < 1 || value > this.totalPages) return;\n this.inputField?.focus();\n this.inputField.value = `${value}`;\n this.inputField?.blur();\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('autoSize')\n manageResizeObserver() {\n if (this.autoSize) {\n if (this.resizeObserver) return;\n this.resizeObserver = new ResizeObserver(() => this.checkSize());\n this.resizeObserver.observe(this.hostElement);\n window.addEventListener('resize', this.checkSize);\n } else {\n this.isSmall = false;\n this.removeResizeObserver();\n }\n }\n\n @Watch('recordsOnly')\n @Watch('pagesOnly')\n @Watch('stacked')\n checkDisplayTypes() {\n if (this.pagesOnly || this.recordsOnly || this.stacked) this.autoSize = false;\n }\n\n // #endregion\n // #region Local Methods\n\n get containerClasses() {\n const classes = ['container'];\n if (this.stacked) classes.push('stacked');\n return classes;\n }\n\n get currentRange() {\n const { perPageWithDefault: perPage, totalWithDefault: total, pageWithDefault: page } = this;\n const start = total > 0 ? (page - 1) * perPage + 1 : 0;\n const end = Math.min(page * perPage, total);\n return `${start} - ${end}`;\n }\n\n get isFullViewHidden() {\n return this.isSmall || this.recordsOnly || this.pagesOnly;\n }\n\n get nextRange() {\n const { perPageWithDefault: perPage, totalWithDefault: total, pageWithDefault: page } = this;\n const start = page * perPage + 1;\n const end = Math.min((page + 1) * perPage, total);\n return `${start} - ${end}`;\n }\n\n get pageWithDefault() {\n return this.total > 0 ? this.page || 1 : 0;\n }\n\n get perPageIncrementsArray() {\n if (Array.isArray(this.perPageIncrements)) {\n return this.perPageIncrements.map(num => Number(num));\n } else if (typeof this.perPageIncrements === 'string') {\n return this.perPageIncrements\n .trim()\n .replace(/[\\[\\]\\\"\\']/g, '')\n .split(',')\n .map(num => Number(num));\n } else {\n return [];\n }\n }\n\n get perPageWithDefault() {\n return this.perPage || 10;\n }\n\n get prevRange() {\n const { perPageWithDefault: perPage, pageWithDefault: page } = this;\n const start = Math.max(1, (page - 2) * perPage + 1);\n const end = (page - 1) * perPage;\n return `${start} - ${end}`;\n }\n\n get recordTypeWithDefault() {\n return this.recordType || loc('tecton.element.pagination.defaultRecordType');\n }\n\n get showPerPageSelect() {\n return this.perPageIncrements?.length > 1;\n }\n\n get totalPages() {\n const { pagesOnly, totalWithDefault: total, perPageWithDefault: perPage, pages } = this;\n\n if (pagesOnly && pages && !isNaN(parseInt(`${pages}`))) return pages;\n\n return Math.ceil(total / perPage);\n }\n\n get totalWithDefault() {\n return this.total || 0;\n }\n\n checkSize = () => {\n const { hostElement, containerElement } = this;\n const isOverflowing = this.containerWidth > hostElement.clientWidth;\n this.isSmall = isOverflowing;\n\n nextPaint(() => {\n const containerWidthHasNotChanged = this.containerWidth === containerElement.clientWidth;\n if (containerWidthHasNotChanged) return;\n this.containerWidth = containerElement.clientWidth;\n this.checkSize();\n });\n };\n\n handlePageChange = (page: number | string) => {\n if (this.disabled) return;\n const { totalPages, inputField } = this;\n page = parseInt(`${page}`);\n if (isNaN(page) || page < 1) {\n page = 1;\n } else if (page > totalPages) {\n page = totalPages;\n }\n\n if (inputField.value !== `${page}`) inputField.value = `${page}`;\n\n if (!this.hostElement.onchange) {\n this.page = page;\n }\n\n mirrorEmit(this, ['change', 'tctChange'], { page });\n };\n\n handlePerPageChange = (event: CustomEvent) => {\n if (this.disabled) return;\n this.perPage = (event.detail?.value || this.perPage) * 1;\n };\n\n removeResizeObserver() {\n if (this.resizeObserver) {\n this.resizeObserver?.disconnect();\n this.resizeObserver = null;\n window.removeEventListener('resize', this.checkSize);\n }\n }\n\n // #endregion\n // #region Render Methods\n\n renderPerPage() {\n const increments = this.perPageIncrementsArray.sort((a, b) => a - b);\n if (this.perPage === undefined || isNaN(this.perPage)) this.perPage = increments[0];\n this.perPageIncrements = `[${increments.join(',')}]`;\n return (\n <q2-select\n ref={el => (this.perPageSelect = el)}\n onTctChange={this.handlePerPageChange}\n value={this.perPageIncrementsArray.includes(this.perPage) ? `${this.perPage}` : undefined}\n disabled={this.disabled}\n >\n {increments.map(perPage => (\n <q2-option\n value={`${perPage}`}\n display={`${loc('tecton.element.pagination.view')} ${perPage}`}\n >{`${loc('tecton.element.pagination.view')} ${perPage}`}</q2-option>\n ))}\n </q2-select>\n );\n }\n\n render() {\n const {\n pagesOnly,\n recordsOnly,\n isFullViewHidden,\n recordTypeWithDefault: recordType,\n totalPages,\n totalWithDefault: total,\n pageWithDefault: page,\n currentRange,\n nextRange,\n prevRange,\n showPerPageSelect,\n disabled,\n } = this;\n const onFirstPage = page < 2;\n const onLastPage = page === totalPages;\n\n let nextButtonLabel: string = loc('tecton.element.pagination.goToNext');\n let prevButtonLabel: string = loc('tecton.element.pagination.goToPrevious');\n if (pagesOnly) {\n prevButtonLabel = loc('tecton.element.pagination.goToPages', { next: page - 1, total: totalPages });\n nextButtonLabel = loc('tecton.element.pagination.goToPages', { next: page + 1, total: totalPages });\n } else if (recordsOnly) {\n prevButtonLabel = loc('tecton.element.pagination.goToRecords', {\n range: prevRange,\n recordType: recordType.toLowerCase(),\n total,\n });\n nextButtonLabel = loc('tecton.element.pagination.goToRecords', {\n range: nextRange,\n recordType: recordType.toLowerCase(),\n total,\n });\n }\n\n return (\n <nav\n class={this.containerClasses.join(' ')}\n ref={el => (this.containerElement = el)}\n aria-label={loc('tecton.element.pagination.title')}\n >\n <div\n class=\"description\"\n test-id=\"description\"\n >\n {pagesOnly\n ? loc('tecton.element.pagination.pages', {\n current: page,\n total: totalPages,\n })\n : loc('tecton.element.pagination.description', {\n range: currentRange,\n recordType: recordType.toLowerCase(),\n total: total.toLocaleString(),\n })}\n </div>\n <div class=\"controls\">\n <div class=\"btn-group\">\n <q2-btn\n ref={el => (this.firstPageBtn = el)}\n label={loc('tecton.element.pagination.goToFirstPage')}\n disabled={disabled || onFirstPage}\n hidden={isFullViewHidden}\n onTctClick={() => this.handlePageChange(1)}\n test-id=\"firstPageBtn\"\n hide-label\n >\n <q2-icon type=\"chevron-double-left\" />\n </q2-btn>\n <q2-btn\n ref={el => (this.prevPageBtn = el)}\n label={prevButtonLabel}\n disabled={disabled || onFirstPage}\n onTctClick={() => this.handlePageChange(page - 1)}\n test-id=\"prevPageBtn\"\n hide-label\n >\n <q2-icon type=\"chevron-left\" />\n </q2-btn>\n </div>\n <div\n class=\"input-display\"\n hidden={isFullViewHidden}\n >\n <span aria-hidden=\"true\">{loc('tecton.element.pagination.page')}</span>\n <div\n class=\"input-wrapper\"\n onClick={() => this.inputField.dispatchEvent(new FocusEvent('focus'))}\n >\n <q2-input\n ref={el => (this.inputField = el)}\n type=\"number\"\n value={`${page}`}\n min={1}\n max={this.totalPages}\n hideLabel\n optional\n label={`${loc('tecton.element.pagination.page')} (${loc(\n 'tecton.element.pagination.ofPages',\n [totalPages.toLocaleString()]\n )})`}\n onTctChange={event => {\n event.stopPropagation();\n this.handlePageChange(event.detail.value);\n }}\n test-id=\"pageInput\"\n current=\"page\"\n disabled={disabled}\n ></q2-input>\n </div>\n <span aria-hidden=\"true\">\n {loc('tecton.element.pagination.ofPages', [totalPages.toLocaleString()])}\n </span>\n </div>\n <div class=\"btn-group\">\n <q2-btn\n ref={el => (this.nextPageBtn = el)}\n label={nextButtonLabel}\n disabled={disabled || onLastPage}\n onTctClick={() => this.handlePageChange(page + 1)}\n test-id=\"nextPageBtn\"\n hide-label\n >\n <q2-icon type=\"chevron-right\" />\n </q2-btn>\n <q2-btn\n ref={el => (this.lastPageBtn = el)}\n label=\"tecton.element.pagination.goToLastPage\"\n disabled={disabled || onLastPage}\n hidden={isFullViewHidden}\n onTctClick={() => this.handlePageChange(totalPages)}\n test-id=\"lastPageBtn\"\n hide-label\n >\n <q2-icon type=\"chevron-double-right\" />\n </q2-btn>\n </div>\n </div>\n <div\n class=\"per-page\"\n hidden={isFullViewHidden || !this.perPageIncrements?.length}\n >\n {showPerPageSelect && this.renderPerPage()}\n </div>\n </nav>\n );\n }\n\n // #endregion\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["q2PaginationCss","Q2Pagination","constructor","hostRef","this","autoSize","disabled","checkSize","hostElement","containerElement","isOverflowing","containerWidth","clientWidth","isSmall","nextPaint","containerWidthHasNotChanged","handlePageChange","page","totalPages","inputField","parseInt","isNaN","value","onchange","mirrorEmit","perPage","perPageWithDefault","handlePerPageChange","event","_a","detail","pageWithDefault","disconnectedCallback","removeResizeObserver","componentWillLoad","checkDisplayTypes","manageResizeObserver","alignment","stacked","componentDidLoad","overrideFocus","onHostElementFocus","isEventFromElement","isFullViewHidden","querySelector","focus","clickFirstPage","button","firstPageBtn","click","clickLastPage","lastPageBtn","clickNextPage","nextPageBtn","clickPreviousPage","prevPageBtn","selectPerPageIncrementValue","showPerPageSelect","perPageIncrementsArray","includes","perPageSelect","options","Array","from","querySelectorAll","find","option","setPageValue","_b","blur","resizeObserver","ResizeObserver","observe","window","addEventListener","pagesOnly","recordsOnly","containerClasses","classes","push","currentRange","totalWithDefault","total","start","end","Math","min","nextRange","isArray","perPageIncrements","map","num","Number","trim","replace","split","prevRange","max","recordTypeWithDefault","recordType","loc","length","pages","ceil","disconnect","removeEventListener","renderPerPage","increments","sort","a","b","undefined","join","h","ref","el","onChange","e","stopImmediatePropagation","onTctChange","stopPropagation","display","render","onFirstPage","onLastPage","nextButtonLabel","prevButtonLabel","next","range","toLowerCase","key","class","current","toLocaleString","label","hidden","onTctClick","type","onClick","dispatchEvent","FocusEvent","hideLabel","optional"],"sources":["src/components/q2-pagination/q2-pagination.scss?tag=q2-pagination&encapsulation=shadow","src/components/q2-pagination/q2-pagination.tsx"],"sourcesContent":["@import '../../styles/host';\n@import '../../styles/functions';\n\n:host {\n display: flex;\n width: 100%;\n}\n\n:host([alignment='right']) {\n justify-content: flex-end;\n}\n\n:host([alignment='center']) {\n justify-content: center;\n}\n\n:host([alignment='left']) {\n justify-content: flex-start;\n}\n\n:host([hidden]) {\n display: none;\n}\n\n.container {\n display: inline-flex;\n column-gap: var-list(var-prefixer(pagination-column-gap), --app-scale-2x, 10px);\n align-items: center;\n height: var-list(var-prefixer(pagination-height), 44px);\n color: var(--tct-pagination-color, inherit);\n font-size: var(--tct-pagination-font-size, inherit);\n font-weight: var(--tct-pagination-font-weight, inherit);\n\n &.stacked {\n flex-direction: column;\n column-gap: 0;\n row-gap: var-list(--tct-pagination-row-gap, --app-scale-2x, 10px);\n height: auto;\n align-items: stretch;\n\n .description {\n text-align: center;\n }\n\n .controls {\n justify-content: center;\n }\n\n .per-page {\n display: flex;\n justify-content: center;\n }\n\n q2-select {\n --tct-select-margin: 0;\n width: var(--tct-pagination-perpage-width, 60%);\n }\n }\n}\n\n.controls {\n display: flex;\n}\n\n.btn-group {\n display: flex;\n gap: var-list(var-prefixer(pagination-btn-gap), 0);\n}\n\n.description,\n.input-display {\n white-space: nowrap;\n}\n\n.input-display {\n display: grid;\n grid-template-columns: auto var(--tct-pagination-input-width, 50px) auto;\n align-items: center;\n gap: var-list(var-prefixer(pagination-controls-gap), --app-scale-1x, 5px);\n\n &[hidden] {\n display: none;\n }\n}\n\n.input-wrapper {\n height: var-list(var-prefixer(pagination-height), 44px);\n display: flex;\n align-items: center;\n}\n\nq2-btn {\n --tct-btn-border-radius: #{var-list(var-prefixer(pagination-btn-border-radius))};\n --tct-btn-border: #{var-list(var-prefixer(pagination-btn-border))};\n --tct-btn-icon-hover-background: #{var-list(--tct-pagination-btn-hover-background, --app-gray-l3, #f2f2f2)};\n --tct-icon-stroke-primary: #{var-list(--tct-pagination-btn-icon-stroke-primary, --app-gray, #747474)};\n --tct-icon-stroke-secondary: #{var-list(--tct-pagination-btn-icon-stroke-secondary, --app-gray, #747474)};\n}\n\nq2-icon {\n --tct-icon-size: #{var-list(var-prefixer(pagination-icon-size), 12px)};\n color: var-list(var-prefixer(pagination-icon-color), --t-text, #4d4d4d);\n}\n\nq2-input {\n --tct-input-margin-top: 0;\n --tct-input-margin-bottom: 0;\n --tct-input-height: #{var-list(var-prefixer(pagination-input-height), 30px)};\n --tct-input-min-height: var(--tct-input-height);\n --tct-input-align: center;\n}\n\nq2-select {\n --tct-select-input-min-height: #{var-list(var-prefixer(pagination-select-height), 30px)};\n --tct-select-input-max-height: #{var-list(var-prefixer(pagination-select-height), 30px)};\n width: #{var-list(var-prefixer(pagination-perpage-width), 100%)};\n min-width: #{var-list(var-prefixer(pagination-perpage-min-width), 110px)};\n}\n","import {\n Component,\n State,\n Prop,\n h,\n ComponentInterface,\n Watch,\n Listen,\n Element,\n Method,\n Event,\n EventEmitter,\n} from '@stencil/core';\nimport { isEventFromElement, loc, nextPaint, overrideFocus } from 'src/utils';\nimport mirrorEmit from '@/utils/mirror-emit';\n\n/**\n * @name Pagination\n * @category Display\n * @summary Use for navigating between pages of content like search results or tables.\n */\n@Component({ tag: 'q2-pagination', shadow: true, styleUrl: 'q2-pagination.scss' })\nexport class Q2Pagination implements ComponentInterface {\n // #region Own Properties\n\n containerElement: HTMLElement;\n containerWidth: number;\n firstPageBtn: HTMLQ2BtnElement;\n inputField: HTMLQ2InputElement;\n lastPageBtn: HTMLQ2BtnElement;\n nextPageBtn: HTMLQ2BtnElement;\n perPageSelect: HTMLQ2SelectElement;\n prevPageBtn: HTMLQ2BtnElement;\n resizeObserver: ResizeObserver;\n\n // #endregion\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region State Properties\n\n @State()\n isSmall: boolean;\n\n // #endregion\n // #region Public Property API\n\n /**\n * Indicates the horizontal alignment of pagination elements\n * @info\n * When using the 'stacked' version, the default alignment is 'center'. When using the unstacked version, the default alignment is 'right'.\n */\n @Prop({ reflect: true, mutable: true })\n alignment?: 'left' | 'center' | 'right';\n\n /** Determines whether the component uses dynamic resizing behavior. This is disabled when `pagesOnly`, `recordsOnly`, or `stacked` is true. */\n @Prop({ reflect: true, mutable: true })\n autoSize: boolean = true;\n\n /** Allows the component to be disabled should the state of the page require this */\n @Prop({ reflect: true, mutable: true })\n disabled: boolean = false;\n\n /** The current page that is being displayed. */\n @Prop({ reflect: true, mutable: true })\n page: number;\n\n /**\n * The number of pages that can be displayed.\n * @info\n * Only referenced when `pagesOnly` is true.\n */\n @Prop({ reflect: true, mutable: true })\n pages: number;\n\n /** Indicates to display only the current and total pages. This disables the `autoSize` feature. */\n @Prop({ reflect: true, mutable: true })\n pagesOnly: boolean;\n\n /** The total number of records displayed on each page. This disables the `autoSize` feature. */\n @Prop({ reflect: true, mutable: true })\n perPage: number;\n\n /**\n * A list of perPage values.\n * This generates a [Select](https://tecton.q2developer.com/design-system/q2-select/) element that allows the user to modify the `perPage` value.\n * @info\n * `pagesOnly` or `recordsOnly` being true disables this feature.\n *\n * **Example:**\n * @snippet\n * this.perPageIncrements = [10, 25, 50];\n */\n @Prop({ reflect: true, mutable: true })\n perPageIncrements: number[] | string[] | string | undefined;\n\n /** Indicates to display only the current and total records. */\n @Prop({ reflect: true, mutable: true })\n recordsOnly: boolean;\n\n /** Description of the record type to be displayed alongside the record count. */\n @Prop()\n recordType: string;\n\n /**\n * Allows the component to be displayed in a stacked layout. This disables the `autoSize` feature.\n * @info\n * When set to true, the default alignment will be 'center'. When false, the default alignment is 'right'.\n */\n @Prop({ reflect: true })\n stacked: boolean;\n\n /** The total number of records to paginate. */\n @Prop({ reflect: true })\n total: number;\n\n // #endregion\n // #region Events\n\n /**\n * Emitted when the page is changed.\n * @legacyEvent\n * @deprecated Use 'tctChange' instead\n */\n @Event()\n change: EventEmitter<{ page: number; perPage: number }>;\n\n /**\n * Emitted when the page is changed.\n * @legacyEvent\n */\n @Event()\n tctChange: EventEmitter<{ page: number; perPage: number }>;\n\n // #endregion\n // #region Component Lifecycle Events\n\n disconnectedCallback() {\n this.removeResizeObserver();\n }\n\n componentWillLoad(): void {\n this.checkDisplayTypes();\n this.manageResizeObserver();\n if (!this.alignment) {\n this.alignment = this.stacked ? 'center' : 'right';\n }\n }\n\n componentDidLoad(): void {\n this.containerWidth = this.containerElement.clientWidth;\n\n overrideFocus(this.hostElement);\n }\n\n // #endregion\n // #region Listeners\n\n @Listen('focus')\n onHostElementFocus(event) {\n if (this.disabled) return;\n if (!isEventFromElement(event, this.hostElement)) return;\n const { isFullViewHidden, containerElement, inputField } = this;\n if (isFullViewHidden) {\n containerElement.querySelector<HTMLElement>('q2-btn:not([disabled])')?.focus();\n } else {\n inputField.focus();\n }\n }\n\n // #endregion\n // #region Public Methods API\n\n /**\n * Emulates clicking the button that controls moving to the first page, and emitting a change event with the updated page number.\n *\n * If the `<button>` is disabled, this method does nothing.\n * @testOnly\n */\n @Method()\n async clickFirstPage() {\n if (this.disabled) return;\n const button = this.firstPageBtn;\n if (button?.disabled) return;\n button.click();\n }\n\n /**\n * Emulates clicking the button that controls moving to the last page, and emitting a change event with the updated page number.\n *\n * If the `<button>` is disabled, this method does nothing.\n * @testOnly\n */\n @Method()\n async clickLastPage() {\n if (this.disabled) return;\n const button = this.lastPageBtn;\n if (button?.disabled) return;\n button.click();\n }\n\n /**\n * Emulates clicking the button that controls moving to the next page, and emitting a change event with the updated page number.\n *\n * If the `<button>` is disabled, this method does nothing.\n * @testOnly\n */\n @Method()\n async clickNextPage() {\n if (this.disabled) return;\n const button = this.nextPageBtn;\n if (button?.disabled) return;\n button.click();\n }\n\n /**\n * Emulates clicking the button that controls moving to the previous page, and emitting a change event with the updated page number.\n *\n * If the `<button>` is disabled, this method does nothing.\n * @testOnly\n */\n @Method()\n async clickPreviousPage() {\n if (this.disabled) return;\n const button = this.prevPageBtn;\n if (button?.disabled) return;\n button.click();\n }\n\n /**\n * Emulates selecting a `perPage` value from the `perPageIncrements` dropdown,\n * and updates the value of the `perPage` property.\n *\n * If `value` is not in the `perPageIncrements` array, this method does nothing.\n * @testOnly\n */\n @Method()\n async selectPerPageIncrementValue(value: number) {\n if (this.disabled) return;\n if (isNaN(value) || !this.showPerPageSelect || !this.perPageIncrementsArray.includes(value)) return;\n this.perPageSelect.focus();\n this.perPageSelect.click();\n const options = Array.from(this.perPageSelect.querySelectorAll('q2-option'));\n options.find(option => option.value === `${value}`)?.click();\n }\n\n /**\n * Emulates setting the page value in the `<input>` field,\n * and emitting a change event with the updated page number.\n *\n * If `value` is invalid, this method does nothing.\n * @testOnly\n */\n @Method()\n async setPageValue(value: number) {\n if (this.disabled) return;\n if (!this.inputField || isNaN(value) || value < 1 || value > this.totalPages) return;\n this.inputField?.focus();\n this.inputField.value = `${value}`;\n this.inputField?.blur();\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('autoSize')\n manageResizeObserver() {\n if (this.autoSize) {\n if (this.resizeObserver) return;\n this.resizeObserver = new ResizeObserver(() => this.checkSize());\n this.resizeObserver.observe(this.hostElement);\n window.addEventListener('resize', this.checkSize);\n } else {\n this.isSmall = false;\n this.removeResizeObserver();\n }\n }\n\n @Watch('recordsOnly')\n @Watch('pagesOnly')\n @Watch('stacked')\n checkDisplayTypes() {\n if (this.pagesOnly || this.recordsOnly || this.stacked) this.autoSize = false;\n }\n\n // #endregion\n // #region Local Methods\n\n get containerClasses() {\n const classes = ['container'];\n if (this.stacked) classes.push('stacked');\n return classes;\n }\n\n get currentRange() {\n const { perPageWithDefault: perPage, totalWithDefault: total, pageWithDefault: page } = this;\n const start = total > 0 ? (page - 1) * perPage + 1 : 0;\n const end = Math.min(page * perPage, total);\n return `${start} - ${end}`;\n }\n\n get isFullViewHidden() {\n return this.isSmall || this.recordsOnly || this.pagesOnly;\n }\n\n get nextRange() {\n const { perPageWithDefault: perPage, totalWithDefault: total, pageWithDefault: page } = this;\n const start = page * perPage + 1;\n const end = Math.min((page + 1) * perPage, total);\n return `${start} - ${end}`;\n }\n\n get pageWithDefault() {\n return this.total > 0 ? this.page || 1 : 0;\n }\n\n get perPageIncrementsArray() {\n if (Array.isArray(this.perPageIncrements)) {\n return this.perPageIncrements.map(num => Number(num));\n } else if (typeof this.perPageIncrements === 'string') {\n return this.perPageIncrements\n .trim()\n .replace(/[\\[\\]\\\"\\']/g, '')\n .split(',')\n .map(num => Number(num));\n } else {\n return [];\n }\n }\n\n get perPageWithDefault() {\n return this.perPage || 10;\n }\n\n get prevRange() {\n const { perPageWithDefault: perPage, pageWithDefault: page } = this;\n const start = Math.max(1, (page - 2) * perPage + 1);\n const end = (page - 1) * perPage;\n return `${start} - ${end}`;\n }\n\n get recordTypeWithDefault() {\n return this.recordType || loc('tecton.element.pagination.defaultRecordType');\n }\n\n get showPerPageSelect() {\n return this.perPageIncrements?.length > 1;\n }\n\n get totalPages() {\n const { pagesOnly, totalWithDefault: total, perPageWithDefault: perPage, pages } = this;\n\n if (pagesOnly && pages && !isNaN(parseInt(`${pages}`))) return pages;\n\n return Math.ceil(total / perPage);\n }\n\n get totalWithDefault() {\n return this.total || 0;\n }\n\n checkSize = () => {\n const { hostElement, containerElement } = this;\n const isOverflowing = this.containerWidth > hostElement.clientWidth;\n this.isSmall = isOverflowing;\n\n nextPaint(() => {\n const containerWidthHasNotChanged = this.containerWidth === containerElement.clientWidth;\n if (containerWidthHasNotChanged) return;\n this.containerWidth = containerElement.clientWidth;\n this.checkSize();\n });\n };\n\n handlePageChange = (page: number | string) => {\n if (this.disabled) return;\n const { totalPages, inputField } = this;\n page = parseInt(`${page}`);\n if (isNaN(page) || page < 1) {\n page = 1;\n } else if (page > totalPages) {\n page = totalPages;\n }\n\n if (inputField.value !== `${page}`) inputField.value = `${page}`;\n\n if (!this.hostElement.onchange) {\n this.page = page;\n }\n\n mirrorEmit(this, ['change', 'tctChange'], { page, perPage: this.perPageWithDefault });\n };\n\n handlePerPageChange = (event: CustomEvent) => {\n if (this.disabled) return;\n const perPage = (event.detail?.value || this.perPage) * 1;\n this.perPage = perPage;\n mirrorEmit(this, ['change', 'tctChange'], { page: this.pageWithDefault, perPage });\n };\n\n removeResizeObserver() {\n if (this.resizeObserver) {\n this.resizeObserver?.disconnect();\n this.resizeObserver = null;\n window.removeEventListener('resize', this.checkSize);\n }\n }\n\n // #endregion\n // #region Render Methods\n\n renderPerPage() {\n const increments = this.perPageIncrementsArray.sort((a, b) => a - b);\n if (this.perPage === undefined || isNaN(this.perPage)) this.perPage = increments[0];\n this.perPageIncrements = `[${increments.join(',')}]`;\n return (\n <q2-select\n ref={el => (this.perPageSelect = el)}\n onChange={e => e.stopImmediatePropagation()}\n onTctChange={event => {\n event.stopPropagation();\n this.handlePerPageChange(event);\n }}\n value={this.perPageIncrementsArray.includes(this.perPage) ? `${this.perPage}` : undefined}\n disabled={this.disabled}\n >\n {increments.map(perPage => (\n <q2-option\n value={`${perPage}`}\n display={`${loc('tecton.element.pagination.view')} ${perPage}`}\n >{`${loc('tecton.element.pagination.view')} ${perPage}`}</q2-option>\n ))}\n </q2-select>\n );\n }\n\n render() {\n const {\n pagesOnly,\n recordsOnly,\n isFullViewHidden,\n recordTypeWithDefault: recordType,\n totalPages,\n totalWithDefault: total,\n pageWithDefault: page,\n currentRange,\n nextRange,\n prevRange,\n showPerPageSelect,\n disabled,\n } = this;\n const onFirstPage = page < 2;\n const onLastPage = page === totalPages;\n\n let nextButtonLabel: string = loc('tecton.element.pagination.goToNext');\n let prevButtonLabel: string = loc('tecton.element.pagination.goToPrevious');\n if (pagesOnly) {\n prevButtonLabel = loc('tecton.element.pagination.goToPages', { next: page - 1, total: totalPages });\n nextButtonLabel = loc('tecton.element.pagination.goToPages', { next: page + 1, total: totalPages });\n } else if (recordsOnly) {\n prevButtonLabel = loc('tecton.element.pagination.goToRecords', {\n range: prevRange,\n recordType: recordType.toLowerCase(),\n total,\n });\n nextButtonLabel = loc('tecton.element.pagination.goToRecords', {\n range: nextRange,\n recordType: recordType.toLowerCase(),\n total,\n });\n }\n\n return (\n <nav\n class={this.containerClasses.join(' ')}\n ref={el => (this.containerElement = el)}\n aria-label={loc('tecton.element.pagination.title')}\n >\n <div\n class=\"description\"\n test-id=\"description\"\n >\n {pagesOnly\n ? loc('tecton.element.pagination.pages', {\n current: page,\n total: totalPages,\n })\n : loc('tecton.element.pagination.description', {\n range: currentRange,\n recordType: recordType.toLowerCase(),\n total: total.toLocaleString(),\n })}\n </div>\n <div class=\"controls\">\n <div class=\"btn-group\">\n <q2-btn\n ref={el => (this.firstPageBtn = el)}\n label={loc('tecton.element.pagination.goToFirstPage')}\n disabled={disabled || onFirstPage}\n hidden={isFullViewHidden}\n onTctClick={() => this.handlePageChange(1)}\n test-id=\"firstPageBtn\"\n hide-label\n >\n <q2-icon type=\"chevron-double-left\" />\n </q2-btn>\n <q2-btn\n ref={el => (this.prevPageBtn = el)}\n label={prevButtonLabel}\n disabled={disabled || onFirstPage}\n onTctClick={() => this.handlePageChange(page - 1)}\n test-id=\"prevPageBtn\"\n hide-label\n >\n <q2-icon type=\"chevron-left\" />\n </q2-btn>\n </div>\n <div\n class=\"input-display\"\n hidden={isFullViewHidden}\n >\n <span aria-hidden=\"true\">{loc('tecton.element.pagination.page')}</span>\n <div\n class=\"input-wrapper\"\n onClick={() => this.inputField.dispatchEvent(new FocusEvent('focus'))}\n >\n <q2-input\n ref={el => (this.inputField = el)}\n type=\"number\"\n value={`${page}`}\n min={1}\n max={this.totalPages}\n hideLabel\n optional\n label={`${loc('tecton.element.pagination.page')} (${loc(\n 'tecton.element.pagination.ofPages',\n [totalPages.toLocaleString()]\n )})`}\n onChange={event => event.stopImmediatePropagation()}\n onTctChange={event => {\n event.stopPropagation();\n this.handlePageChange(event.detail.value);\n }}\n test-id=\"pageInput\"\n current=\"page\"\n disabled={disabled}\n ></q2-input>\n </div>\n <span aria-hidden=\"true\">\n {loc('tecton.element.pagination.ofPages', [totalPages.toLocaleString()])}\n </span>\n </div>\n <div class=\"btn-group\">\n <q2-btn\n ref={el => (this.nextPageBtn = el)}\n label={nextButtonLabel}\n disabled={disabled || onLastPage}\n onTctClick={() => this.handlePageChange(page + 1)}\n test-id=\"nextPageBtn\"\n hide-label\n >\n <q2-icon type=\"chevron-right\" />\n </q2-btn>\n <q2-btn\n ref={el => (this.lastPageBtn = el)}\n label=\"tecton.element.pagination.goToLastPage\"\n disabled={disabled || onLastPage}\n hidden={isFullViewHidden}\n onTctClick={() => this.handlePageChange(totalPages)}\n test-id=\"lastPageBtn\"\n hide-label\n >\n <q2-icon type=\"chevron-double-right\" />\n </q2-btn>\n </div>\n </div>\n <div\n class=\"per-page\"\n hidden={isFullViewHidden || !this.perPageIncrements?.length}\n >\n {showPerPageSelect && this.renderPerPage()}\n </div>\n </nav>\n );\n }\n\n // #endregion\n}\n"],"mappings":";;;;;;AAAA,MAAMA,IAAkB;;MCsBXC,IAAY;EADzB,WAAAC,CAAAC;;;;uJAuCIC,KAAQC,WAAY;6FAIpBD,KAAQE,WAAY;IA4SpBF,KAASG,YAAG;MACR,OAAMC,aAAEA,GAAWC,kBAAEA,KAAqBL;MAC1C,MAAMM,IAAgBN,KAAKO,iBAAiBH,EAAYI;MACxDR,KAAKS,UAAUH;MAEfI,GAAU;QACN,MAAMC,IAA8BX,KAAKO,mBAAmBF,EAAiBG;QAC7E,IAAIG,GAA6B;QACjCX,KAAKO,iBAAiBF,EAAiBG;QACvCR,KAAKG;AAAW;AAClB;IAGNH,KAAAY,mBAAoBC;MAChB,IAAIb,KAAKE,UAAU;MACnB,OAAMY,YAAEA,GAAUC,YAAEA,KAAef;MACnCa,IAAOG,SAAS,GAAGH;MACnB,IAAII,MAAMJ,MAASA,IAAO,GAAG;QACzBA,IAAO;aACJ,IAAIA,IAAOC,GAAY;QAC1BD,IAAOC;;MAGX,IAAIC,EAAWG,UAAU,GAAGL,KAAQE,EAAWG,QAAQ,GAAGL;MAE1D,KAAKb,KAAKI,YAAYe,UAAU;QAC5BnB,KAAKa,OAAOA;;MAGhBO,EAAWpB,MAAM,EAAC,UAAU,eAAc;QAAEa;QAAMQ,SAASrB,KAAKsB;;AAAqB;IAGzFtB,KAAAuB,sBAAuBC;;MACnB,IAAIxB,KAAKE,UAAU;MACnB,MAAMmB,OAAWI,IAAAD,EAAME,YAAQ,QAAAD,WAAA,aAAAA,EAAAP,UAASlB,KAAKqB,WAAW;MACxDrB,KAAKqB,UAAUA;MACfD,EAAWpB,MAAM,EAAC,UAAU,eAAc;QAAEa,MAAMb,KAAK2B;QAAiBN;;AAAU;AA8LzF;;;EAlcG,oBAAAO;IACI5B,KAAK6B;;EAGT,iBAAAC;IACI9B,KAAK+B;IACL/B,KAAKgC;IACL,KAAKhC,KAAKiC,WAAW;MACjBjC,KAAKiC,YAAYjC,KAAKkC,UAAU,WAAW;;;EAInD,gBAAAC;IACInC,KAAKO,iBAAiBP,KAAKK,iBAAiBG;IAE5C4B,EAAcpC,KAAKI;;;;EAOvB,kBAAAiC,CAAmBb;;IACf,IAAIxB,KAAKE,UAAU;IACnB,KAAKoC,EAAmBd,GAAOxB,KAAKI,cAAc;IAClD,OAAMmC,kBAAEA,GAAgBlC,kBAAEA,GAAgBU,YAAEA,KAAef;IAC3D,IAAIuC,GAAkB;OAClBd,IAAApB,EAAiBmC,cAA2B,+BAAyB,QAAAf,WAAA,aAAAA,EAAEgB;WACpE;MACH1B,EAAW0B;;;;;;;;;;;EAcnB,oBAAMC;IACF,IAAI1C,KAAKE,UAAU;IACnB,MAAMyC,IAAS3C,KAAK4C;IACpB,IAAID,MAAA,QAAAA,WAAA,aAAAA,EAAQzC,UAAU;IACtByC,EAAOE;;;;;;;SAUX,mBAAMC;IACF,IAAI9C,KAAKE,UAAU;IACnB,MAAMyC,IAAS3C,KAAK+C;IACpB,IAAIJ,MAAA,QAAAA,WAAA,aAAAA,EAAQzC,UAAU;IACtByC,EAAOE;;;;;;;SAUX,mBAAMG;IACF,IAAIhD,KAAKE,UAAU;IACnB,MAAMyC,IAAS3C,KAAKiD;IACpB,IAAIN,MAAA,QAAAA,WAAA,aAAAA,EAAQzC,UAAU;IACtByC,EAAOE;;;;;;;SAUX,uBAAMK;IACF,IAAIlD,KAAKE,UAAU;IACnB,MAAMyC,IAAS3C,KAAKmD;IACpB,IAAIR,MAAA,QAAAA,WAAA,aAAAA,EAAQzC,UAAU;IACtByC,EAAOE;;;;;;;;SAWX,iCAAMO,CAA4BlC;;IAC9B,IAAIlB,KAAKE,UAAU;IACnB,IAAIe,MAAMC,OAAWlB,KAAKqD,sBAAsBrD,KAAKsD,uBAAuBC,SAASrC,IAAQ;IAC7FlB,KAAKwD,cAAcf;IACnBzC,KAAKwD,cAAcX;IACnB,MAAMY,IAAUC,MAAMC,KAAK3D,KAAKwD,cAAcI,iBAAiB;KAC/DnC,IAAAgC,EAAQI,MAAKC,KAAUA,EAAO5C,UAAU,GAAGA,WAAU,QAAAO,WAAA,aAAAA,EAAAoB;;;;;;;;SAWzD,kBAAMkB,CAAa7C;;IACf,IAAIlB,KAAKE,UAAU;IACnB,KAAKF,KAAKe,cAAcE,MAAMC,MAAUA,IAAQ,KAAKA,IAAQlB,KAAKc,YAAY;KAC9EW,IAAAzB,KAAKe,gBAAY,QAAAU,WAAA,aAAAA,EAAAgB;IACjBzC,KAAKe,WAAWG,QAAQ,GAAGA;KAC3B8C,IAAAhE,KAAKe,gBAAY,QAAAiD,WAAA,aAAAA,EAAAC;;;;EAOrB,oBAAAjC;IACI,IAAIhC,KAAKC,UAAU;MACf,IAAID,KAAKkE,gBAAgB;MACzBlE,KAAKkE,iBAAiB,IAAIC,gBAAe,MAAMnE,KAAKG;MACpDH,KAAKkE,eAAeE,QAAQpE,KAAKI;MACjCiE,OAAOC,iBAAiB,UAAUtE,KAAKG;WACpC;MACHH,KAAKS,UAAU;MACfT,KAAK6B;;;EAOb,iBAAAE;IACI,IAAI/B,KAAKuE,aAAavE,KAAKwE,eAAexE,KAAKkC,SAASlC,KAAKC,WAAW;;;;EAM5E,oBAAIwE;IACA,MAAMC,IAAU,EAAC;IACjB,IAAI1E,KAAKkC,SAASwC,EAAQC,KAAK;IAC/B,OAAOD;;EAGX,gBAAIE;IACA,OAAQtD,oBAAoBD,GAASwD,kBAAkBC,GAAOnD,iBAAiBd,KAASb;IACxF,MAAM+E,IAAQD,IAAQ,KAAKjE,IAAO,KAAKQ,IAAU,IAAI;IACrD,MAAM2D,IAAMC,KAAKC,IAAIrE,IAAOQ,GAASyD;IACrC,OAAO,GAAGC,OAAWC;;EAGzB,oBAAIzC;IACA,OAAOvC,KAAKS,WAAWT,KAAKwE,eAAexE,KAAKuE;;EAGpD,aAAIY;IACA,OAAQ7D,oBAAoBD,GAASwD,kBAAkBC,GAAOnD,iBAAiBd,KAASb;IACxF,MAAM+E,IAAQlE,IAAOQ,IAAU;IAC/B,MAAM2D,IAAMC,KAAKC,KAAKrE,IAAO,KAAKQ,GAASyD;IAC3C,OAAO,GAAGC,OAAWC;;EAGzB,mBAAIrD;IACA,OAAO3B,KAAK8E,QAAQ,IAAI9E,KAAKa,QAAQ,IAAI;;EAG7C,0BAAIyC;IACA,IAAII,MAAM0B,QAAQpF,KAAKqF,oBAAoB;MACvC,OAAOrF,KAAKqF,kBAAkBC,KAAIC,KAAOC,OAAOD;WAC7C,WAAWvF,KAAKqF,sBAAsB,UAAU;MACnD,OAAOrF,KAAKqF,kBACPI,OACAC,QAAQ,eAAe,IACvBC,MAAM,KACNL,KAAIC,KAAOC,OAAOD;WACpB;MACH,OAAO;;;EAIf,sBAAIjE;IACA,OAAOtB,KAAKqB,WAAW;;EAG3B,aAAIuE;IACA,OAAQtE,oBAAoBD,GAASM,iBAAiBd,KAASb;IAC/D,MAAM+E,IAAQE,KAAKY,IAAI,IAAIhF,IAAO,KAAKQ,IAAU;IACjD,MAAM2D,KAAOnE,IAAO,KAAKQ;IACzB,OAAO,GAAG0D,OAAWC;;EAGzB,yBAAIc;IACA,OAAO9F,KAAK+F,cAAcC,EAAI;;EAGlC,qBAAI3C;;IACA,SAAO5B,IAAAzB,KAAKqF,uBAAmB,QAAA5D,WAAA,aAAAA,EAAAwE,UAAS;;EAG5C,cAAInF;IACA,OAAMyD,WAAEA,GAAWM,kBAAkBC,GAAOxD,oBAAoBD,GAAO6E,OAAEA,KAAUlG;IAEnF,IAAIuE,KAAa2B,MAAUjF,MAAMD,SAAS,GAAGkF,OAAW,OAAOA;IAE/D,OAAOjB,KAAKkB,KAAKrB,IAAQzD;;EAG7B,oBAAIwD;IACA,OAAO7E,KAAK8E,SAAS;;EA0CzB,oBAAAjD;;IACI,IAAI7B,KAAKkE,gBAAgB;OACrBzC,IAAAzB,KAAKkE,oBAAgB,QAAAzC,WAAA,aAAAA,EAAA2E;MACrBpG,KAAKkE,iBAAiB;MACtBG,OAAOgC,oBAAoB,UAAUrG,KAAKG;;;;;EAOlD,aAAAmG;IACI,MAAMC,IAAavG,KAAKsD,uBAAuBkD,MAAK,CAACC,GAAGC,MAAMD,IAAIC;IAClE,IAAI1G,KAAKqB,YAAYsF,aAAa1F,MAAMjB,KAAKqB,UAAUrB,KAAKqB,UAAUkF,EAAW;IACjFvG,KAAKqF,oBAAoB,IAAIkB,EAAWK,KAAK;IAC7C,OACIC,EAAA;MACIC,KAAKC,KAAO/G,KAAKwD,gBAAgBuD;MACjCC,UAAUC,KAAKA,EAAEC;MACjBC,aAAa3F;QACTA,EAAM4F;QACNpH,KAAKuB,oBAAoBC;AAAM;MAEnCN,OAAOlB,KAAKsD,uBAAuBC,SAASvD,KAAKqB,WAAW,GAAGrB,KAAKqB,YAAYsF;MAChFzG,UAAUF,KAAKE;OAEdqG,EAAWjB,KAAIjE,KACZwF,EAAA;MACI3F,OAAO,GAAGG;MACVgG,SAAS,GAAGrB,EAAI,qCAAqC3E;OACvD,GAAG2E,EAAI,qCAAqC3E;;EAM9D,MAAAiG;;IACI,OAAM/C,WACFA,GAASC,aACTA,GAAWjC,kBACXA,GACAuD,uBAAuBC,GAAUjF,YACjCA,GACA+D,kBAAkBC,GAClBnD,iBAAiBd,GAAI+D,cACrBA,GAAYO,WACZA,GAASS,WACTA,GAASvC,mBACTA,GAAiBnD,UACjBA,KACAF;IACJ,MAAMuH,IAAc1G,IAAO;IAC3B,MAAM2G,IAAa3G,MAASC;IAE5B,IAAI2G,IAA0BzB,EAAI;IAClC,IAAI0B,IAA0B1B,EAAI;IAClC,IAAIzB,GAAW;MACXmD,IAAkB1B,EAAI,uCAAuC;QAAE2B,MAAM9G,IAAO;QAAGiE,OAAOhE;;MACtF2G,IAAkBzB,EAAI,uCAAuC;QAAE2B,MAAM9G,IAAO;QAAGiE,OAAOhE;;WACnF,IAAI0D,GAAa;MACpBkD,IAAkB1B,EAAI,yCAAyC;QAC3D4B,OAAOhC;QACPG,YAAYA,EAAW8B;QACvB/C;;MAEJ2C,IAAkBzB,EAAI,yCAAyC;QAC3D4B,OAAOzC;QACPY,YAAYA,EAAW8B;QACvB/C;;;IAIR,OACI+B,EAAA;MAAAiB,KAAA;MACIC,OAAO/H,KAAKyE,iBAAiBmC,KAAK;MAClCE,KAAKC,KAAO/G,KAAKK,mBAAmB0G;MAAG,cAC3Bf,EAAI;OAEhBa,EAAA;MAAAiB,KAAA;MACIC,OAAM;MACE;OAEPxD,IACKyB,EAAI,mCAAmC;MACnCgC,SAASnH;MACTiE,OAAOhE;SAEXkF,EAAI,yCAAyC;MACzC4B,OAAOhD;MACPmB,YAAYA,EAAW8B;MACvB/C,OAAOA,EAAMmD;SAG3BpB,EAAK;MAAAiB,KAAA;MAAAC,OAAM;OACPlB,EAAK;MAAAiB,KAAA;MAAAC,OAAM;OACPlB,EAAA;MAAAiB,KAAA;MACIhB,KAAKC,KAAO/G,KAAK4C,eAAemE;MAChCmB,OAAOlC,EAAI;MACX9F,UAAUA,KAAYqH;MACtBY,QAAQ5F;MACR6F,YAAY,MAAMpI,KAAKY,iBAAiB;MAAE,WAClC;MAAc;OAGtBiG,EAAA;MAAAiB,KAAA;MAASO,MAAK;SAElBxB,EAAA;MAAAiB,KAAA;MACIhB,KAAKC,KAAO/G,KAAKmD,cAAc4D;MAC/BmB,OAAOR;MACPxH,UAAUA,KAAYqH;MACtBa,YAAY,MAAMpI,KAAKY,iBAAiBC,IAAO;MAAE,WACzC;MAAa;OAGrBgG,EAAA;MAAAiB,KAAA;MAASO,MAAK;UAGtBxB,EAAA;MAAAiB,KAAA;MACIC,OAAM;MACNI,QAAQ5F;OAERsE,EAAA;MAAAiB,KAAA;MAAA,eAAkB;OAAQ9B,EAAI,oCAC9Ba,EACI;MAAAiB,KAAA;MAAAC,OAAM;MACNO,SAAS,MAAMtI,KAAKe,WAAWwH,cAAc,IAAIC,WAAW;OAE5D3B,EAAA;MAAAiB,KAAA;MACIhB,KAAKC,KAAO/G,KAAKe,aAAagG;MAC9BsB,MAAK;MACLnH,OAAO,GAAGL;MACVqE,KAAK;MACLW,KAAK7F,KAAKc;MACV2H,WACA;MAAAC,UACA;MAAAR,OAAO,GAAGlC,EAAI,sCAAsCA,EAChD,qCACA,EAAClF,EAAWmH;MAEhBjB,UAAUxF,KAASA,EAAM0F;MACzBC,aAAa3F;QACTA,EAAM4F;QACNpH,KAAKY,iBAAiBY,EAAME,OAAOR;AAAM;MAC5C,WACO;MACR8G,SAAQ;MACR9H,UAAUA;SAGlB2G,EAAA;MAAAiB,KAAA;MAAA,eAAkB;OACb9B,EAAI,qCAAqC,EAAClF,EAAWmH,uBAG9DpB,EAAK;MAAAiB,KAAA;MAAAC,OAAM;OACPlB,EAAA;MAAAiB,KAAA;MACIhB,KAAKC,KAAO/G,KAAKiD,cAAc8D;MAC/BmB,OAAOT;MACPvH,UAAUA,KAAYsH;MACtBY,YAAY,MAAMpI,KAAKY,iBAAiBC,IAAO;MAAE,WACzC;MAAa;OAGrBgG,EAAA;MAAAiB,KAAA;MAASO,MAAK;SAElBxB,EAAA;MAAAiB,KAAA;MACIhB,KAAKC,KAAO/G,KAAK+C,cAAcgE;MAC/BmB,OAAM;MACNhI,UAAUA,KAAYsH;MACtBW,QAAQ5F;MACR6F,YAAY,MAAMpI,KAAKY,iBAAiBE;MAAW,WAC3C;MAAa;OAGrB+F,EAAA;MAAAiB,KAAA;MAASO,MAAK;WAI1BxB,EACI;MAAAiB,KAAA;MAAAC,OAAM;MACNI,QAAQ5F,QAAqBd,IAAAzB,KAAKqF,uBAAiB,QAAA5D,WAAA,aAAAA,EAAEwE;OAEpD5C,KAAqBrD,KAAKsG","ignoreList":[]}
|