q2-tecton-elements 1.65.0 → 1.66.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundle-report.json +1904 -742
- package/dist/cjs/{action-sheet-CiK2Bap_.js → action-sheet-D71RSc-w.js} +5 -2
- package/dist/cjs/action-sheet-D71RSc-w.js.map +1 -0
- package/dist/cjs/component-DRAntnCA.js +47 -0
- package/dist/cjs/component-DRAntnCA.js.map +1 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/q2-action-group.q2-resize-observer.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-action-group_2.cjs.entry.js +121 -45
- package/dist/cjs/q2-action-group_2.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-action-sheet.cjs.entry.js +9 -5
- package/dist/cjs/q2-action-sheet.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-action-sheet.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-avatar.cjs.entry.js +2 -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-btn.q2-loading.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-btn_2.cjs.entry.js +13 -4
- 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 +5 -5
- package/dist/cjs/q2-card-image.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-card-image.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-card.cjs.entry.js +1 -1
- package/dist/cjs/q2-card.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-card.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-carousel-pane.cjs.entry.js +7 -3
- 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 +12 -2
- 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 +1 -1
- package/dist/cjs/q2-chart-bar.cjs.entry.js +1 -1
- package/dist/cjs/q2-chart-donut.cjs.entry.js +1 -1
- package/dist/cjs/q2-checkbox-group.cjs.entry.js +5 -1
- 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.cjs.entry.js +3 -4
- package/dist/cjs/q2-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-checkbox.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-context.cjs.entry.js +1 -1
- package/dist/cjs/q2-context.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-context.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-currency.cjs.entry.js +1 -1
- package/dist/cjs/q2-data-table.cjs.entry.js +19 -9
- 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-detail.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-detail.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-dropdown-item.cjs.entry.js +3 -1
- package/dist/cjs/q2-dropdown-item.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-dropdown-item.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-dropdown.cjs.entry.js +33 -8
- package/dist/cjs/q2-dropdown.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-dropdown.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-editable-field.cjs.entry.js +1 -1
- package/dist/cjs/q2-example.cjs.entry.js +1 -1
- package/dist/cjs/q2-file-picker.cjs.entry.js +2 -2
- 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 +9 -1
- package/dist/cjs/q2-grid-area.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-grid-area.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-icon.cjs.entry.js +6 -0
- 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 +8 -6
- 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 +17 -17
- 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 +1 -1
- package/dist/cjs/q2-link.q2-list.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-link_2.cjs.entry.js +11 -7
- package/dist/cjs/q2-link_2.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-message.cjs.entry.js +2 -2
- 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 +1 -1
- package/dist/cjs/q2-modal.cjs.entry.js +2 -2
- package/dist/cjs/q2-month-picker.cjs.entry.js +2 -2
- package/dist/cjs/q2-mutation-observer.cjs.entry.js +1 -1
- package/dist/cjs/q2-optgroup.cjs.entry.js +4 -2
- package/dist/cjs/q2-optgroup.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-optgroup.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-option-list.q2-popover.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-option-list_2.cjs.entry.js +5 -3
- package/dist/cjs/q2-option-list_2.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-option.cjs.entry.js +3 -1
- package/dist/cjs/q2-option.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-option.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-pagination.cjs.entry.js +10 -12
- 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 +2 -2
- package/dist/cjs/q2-radio.cjs.entry.js +2 -2
- 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 +1 -1
- package/dist/cjs/q2-section-container.cjs.entry.js +2 -0
- package/dist/cjs/q2-section-container.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-section-container.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-section.cjs.entry.js +2 -2
- package/dist/cjs/q2-select.cjs.entry.js +7 -3
- 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 +3 -1
- 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 +1 -1
- package/dist/cjs/q2-stepper.cjs.entry.js +6 -2
- 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 +5 -1
- 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 +8 -1
- package/dist/cjs/q2-tab-pane.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-tab-pane.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-tag.cjs.entry.js +3 -3
- package/dist/cjs/q2-tag.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-tag.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-tecton-elements.cjs.js +1 -1
- package/dist/cjs/q2-textarea.cjs.entry.js +2 -2
- package/dist/cjs/q2-textarea.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-textarea.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-toast.cjs.entry.js +192 -0
- package/dist/cjs/q2-toast.cjs.entry.js.map +1 -0
- package/dist/cjs/q2-toast.entry.cjs.js.map +1 -0
- package/dist/cjs/{sanitize-html-string-DPqrzfM9.js → sanitize-html-string-C2iwHNz5.js} +30 -6
- package/dist/cjs/sanitize-html-string-C2iwHNz5.js.map +1 -0
- package/dist/cjs/tecton-tab-pane.cjs.entry.js +4 -2
- package/dist/cjs/tecton-tab-pane.cjs.entry.js.map +1 -1
- package/dist/cjs/tecton-tab-pane.entry.cjs.js.map +1 -1
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/q2-action-group/q2-action-group.css +11 -4
- package/dist/collection/components/q2-action-group/q2-action-group.js +121 -45
- package/dist/collection/components/q2-action-group/q2-action-group.js.map +1 -1
- package/dist/collection/components/q2-action-sheet/q2-action-sheet.css +8 -0
- package/dist/collection/components/q2-action-sheet/q2-action-sheet.js +9 -5
- package/dist/collection/components/q2-action-sheet/q2-action-sheet.js.map +1 -1
- package/dist/collection/components/q2-avatar/q2-avatar.css +3 -0
- package/dist/collection/components/q2-avatar/q2-avatar.js +1 -1
- package/dist/collection/components/q2-btn/q2-btn.css +9 -1
- package/dist/collection/components/q2-btn/q2-btn.js +1 -1
- package/dist/collection/components/q2-btn/q2-btn.js.map +1 -1
- package/dist/collection/components/q2-calendar/q2-calendar.css +5 -1
- package/dist/collection/components/q2-calendar/q2-calendar.js +2 -2
- 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/q2-card.css +1 -0
- package/dist/collection/components/q2-card-image/q2-card-image.js +6 -6
- package/dist/collection/components/q2-card-image/q2-card-image.js.map +1 -1
- package/dist/collection/components/q2-carousel/q2-carousel.css +1 -1
- package/dist/collection/components/q2-carousel/q2-carousel.js +11 -1
- package/dist/collection/components/q2-carousel/q2-carousel.js.map +1 -1
- package/dist/collection/components/q2-carousel-pane/q2-carousel-pane.css +11 -1
- package/dist/collection/components/q2-carousel-pane/q2-carousel-pane.js +6 -2
- package/dist/collection/components/q2-carousel-pane/q2-carousel-pane.js.map +1 -1
- package/dist/collection/components/q2-chart-area/q2-chart-area.js +1 -1
- package/dist/collection/components/q2-chart-bar/q2-chart-bar.js +1 -1
- package/dist/collection/components/q2-chart-donut/q2-chart-donut.js +1 -1
- package/dist/collection/components/q2-checkbox/q2-checkbox.css +135 -14
- package/dist/collection/components/q2-checkbox/q2-checkbox.js +2 -8
- package/dist/collection/components/q2-checkbox/q2-checkbox.js.map +1 -1
- package/dist/collection/components/q2-checkbox-group/q2-checkbox-group.js +5 -1
- package/dist/collection/components/q2-checkbox-group/q2-checkbox-group.js.map +1 -1
- package/dist/collection/components/q2-context/q2-context.js +1 -1
- package/dist/collection/components/q2-context/q2-context.js.map +1 -1
- package/dist/collection/components/q2-currency/q2-currency.js +1 -1
- package/dist/collection/components/q2-data-table/q2-data-table.css +3 -0
- package/dist/collection/components/q2-data-table/q2-data-table.js +53 -20
- package/dist/collection/components/q2-data-table/q2-data-table.js.map +1 -1
- package/dist/collection/components/q2-detail/q2-detail.css +6 -0
- package/dist/collection/components/q2-detail/q2-detail.js +1 -1
- package/dist/collection/components/q2-dropdown/q2-dropdown.css +17 -0
- package/dist/collection/components/q2-dropdown/q2-dropdown.js +75 -8
- package/dist/collection/components/q2-dropdown/q2-dropdown.js.map +1 -1
- package/dist/collection/components/q2-dropdown-item/q2-dropdown-item.css +1 -0
- package/dist/collection/components/q2-dropdown-item/q2-dropdown-item.js +2 -0
- package/dist/collection/components/q2-dropdown-item/q2-dropdown-item.js.map +1 -1
- package/dist/collection/components/q2-editable-field/q2-editable-field.js +1 -1
- package/dist/collection/components/q2-example/q2-example.js +1 -1
- package/dist/collection/components/q2-file-picker/q2-file-picker.css +4 -1
- package/dist/collection/components/q2-file-picker/q2-file-picker.js +4 -4
- 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 +30 -30
- package/dist/collection/components/q2-grid-area/q2-grid-area.js +51 -43
- package/dist/collection/components/q2-grid-area/q2-grid-area.js.map +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-input/formatting/phone.js +4 -2
- package/dist/collection/components/q2-input/formatting/phone.js.map +1 -1
- package/dist/collection/components/q2-input/q2-input.css +3 -0
- package/dist/collection/components/q2-input/q2-input.js +6 -6
- package/dist/collection/components/q2-input/q2-input.js.map +1 -1
- package/dist/collection/components/q2-item/q2-item.css +3 -0
- package/dist/collection/components/q2-item/q2-item.js +19 -18
- package/dist/collection/components/q2-item/q2-item.js.map +1 -1
- package/dist/collection/components/q2-legend/q2-legend.js +1 -1
- package/dist/collection/components/q2-link/q2-link.css +53 -1
- package/dist/collection/components/q2-link/q2-link.js +50 -8
- 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-loading/q2-loading.css +1 -1
- package/dist/collection/components/q2-loading/q2-loading.js +10 -1
- package/dist/collection/components/q2-loading/q2-loading.js.map +1 -1
- package/dist/collection/components/q2-message/q2-message.css +1 -0
- package/dist/collection/components/q2-message/q2-message.js +1 -1
- package/dist/collection/components/q2-meter/q2-meter.js +1 -1
- package/dist/collection/components/q2-modal/q2-modal.js +1 -1
- package/dist/collection/components/q2-mutation-observer/q2-mutation-observer.js +1 -1
- package/dist/collection/components/q2-optgroup/q2-optgroup.css +6 -4
- package/dist/collection/components/q2-optgroup/q2-optgroup.js +3 -1
- package/dist/collection/components/q2-optgroup/q2-optgroup.js.map +1 -1
- package/dist/collection/components/q2-option/q2-option.css +5 -0
- package/dist/collection/components/q2-option/q2-option.js +2 -0
- package/dist/collection/components/q2-option/q2-option.js.map +1 -1
- package/dist/collection/components/q2-option-list/q2-option-list.js +8 -6
- package/dist/collection/components/q2-option-list/q2-option-list.js.map +1 -1
- package/dist/collection/components/q2-pagination/q2-pagination.css +3 -0
- package/dist/collection/components/q2-pagination/q2-pagination.js +20 -17
- package/dist/collection/components/q2-pagination/q2-pagination.js.map +1 -1
- package/dist/collection/components/q2-pill/q2-pill.js +1 -1
- package/dist/collection/components/q2-popover/q2-popover.css +1 -1
- package/dist/collection/components/q2-popover/q2-popover.js +1 -1
- package/dist/collection/components/q2-radio/q2-radio.css +85 -35
- package/dist/collection/components/q2-radio/q2-radio.js +1 -1
- package/dist/collection/components/q2-radio/q2-radio.js.map +1 -1
- package/dist/collection/components/q2-relative-time/q2-relative-time.js +1 -1
- package/dist/collection/components/q2-resize-observer/q2-resize-observer.js +1 -1
- package/dist/collection/components/q2-section/q2-section.js +2 -2
- package/dist/collection/components/q2-section-container/q2-section-container.js +2 -0
- package/dist/collection/components/q2-section-container/q2-section-container.js.map +1 -1
- package/dist/collection/components/q2-select/q2-select.js +6 -5
- package/dist/collection/components/q2-select/q2-select.js.map +1 -1
- package/dist/collection/components/q2-stepper/q2-stepper.css +1 -3
- package/dist/collection/components/q2-stepper/q2-stepper.js +6 -2
- package/dist/collection/components/q2-stepper/q2-stepper.js.map +1 -1
- package/dist/collection/components/q2-stepper-pane/q2-stepper-pane.js +7 -5
- package/dist/collection/components/q2-stepper-pane/q2-stepper-pane.js.map +1 -1
- package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.js +1 -1
- package/dist/collection/components/q2-tab-container/q2-tab-container.js +5 -1
- package/dist/collection/components/q2-tab-container/q2-tab-container.js.map +1 -1
- package/dist/collection/components/q2-tab-pane/q2-tab-pane.js +8 -1
- package/dist/collection/components/q2-tab-pane/q2-tab-pane.js.map +1 -1
- package/dist/collection/components/q2-tag/q2-tag.css +8 -0
- package/dist/collection/components/q2-tag/q2-tag.js +1 -1
- package/dist/collection/components/q2-textarea/q2-textarea.css +2 -1
- package/dist/collection/components/q2-textarea/q2-textarea.js +1 -1
- package/dist/collection/components/q2-toast/q2-toast.css +230 -0
- package/dist/collection/components/q2-toast/q2-toast.js +452 -0
- package/dist/collection/components/q2-toast/q2-toast.js.map +1 -0
- package/dist/collection/components/tecton-tab-pane/tecton-tab-pane.js +4 -2
- package/dist/collection/components/tecton-tab-pane/tecton-tab-pane.js.map +1 -1
- package/dist/collection/utils/action-sheet.js +3 -0
- package/dist/collection/utils/action-sheet.js.map +1 -1
- package/dist/collection/utils/component.js +38 -0
- package/dist/collection/utils/component.js.map +1 -0
- package/dist/collection/utils/helpers.js +6 -1
- package/dist/collection/utils/helpers.js.map +1 -1
- package/dist/collection/utils/sanitize-html-string.js +6 -0
- package/dist/collection/utils/sanitize-html-string.js.map +1 -1
- package/dist/components/action-sheet.js +3 -0
- package/dist/components/action-sheet.js.map +1 -1
- package/dist/components/component.js +42 -0
- package/dist/components/component.js.map +1 -0
- package/dist/components/index.js +2 -0
- package/dist/components/index.js.map +1 -1
- package/dist/components/q2-action-group2.js +121 -45
- package/dist/components/q2-action-group2.js.map +1 -1
- package/dist/components/q2-action-sheet.js +9 -5
- package/dist/components/q2-action-sheet.js.map +1 -1
- package/dist/components/q2-avatar2.js +2 -2
- package/dist/components/q2-avatar2.js.map +1 -1
- package/dist/components/q2-btn2.js +2 -2
- package/dist/components/q2-btn2.js.map +1 -1
- package/dist/components/q2-calendar.js +3 -3
- package/dist/components/q2-calendar.js.map +1 -1
- package/dist/components/q2-card-image.js +6 -6
- package/dist/components/q2-card-image.js.map +1 -1
- package/dist/components/q2-card.js +1 -1
- package/dist/components/q2-card.js.map +1 -1
- package/dist/components/q2-carousel-pane.js +7 -3
- package/dist/components/q2-carousel-pane.js.map +1 -1
- package/dist/components/q2-carousel.js +12 -2
- package/dist/components/q2-carousel.js.map +1 -1
- package/dist/components/q2-chart-area.js +1 -1
- package/dist/components/q2-chart-bar.js +1 -1
- package/dist/components/q2-chart-donut.js +1 -1
- package/dist/components/q2-checkbox-group.js +5 -1
- package/dist/components/q2-checkbox-group.js.map +1 -1
- package/dist/components/q2-checkbox2.js +3 -4
- package/dist/components/q2-checkbox2.js.map +1 -1
- package/dist/components/q2-context.js +1 -1
- package/dist/components/q2-context.js.map +1 -1
- package/dist/components/q2-currency.js +1 -1
- package/dist/components/q2-data-table.js +20 -9
- package/dist/components/q2-data-table.js.map +1 -1
- package/dist/components/q2-detail.js +2 -2
- package/dist/components/q2-detail.js.map +1 -1
- package/dist/components/q2-dropdown-item2.js +3 -1
- package/dist/components/q2-dropdown-item2.js.map +1 -1
- package/dist/components/q2-dropdown.js +34 -7
- package/dist/components/q2-dropdown.js.map +1 -1
- package/dist/components/q2-editable-field.js +1 -1
- package/dist/components/q2-example.js +1 -1
- package/dist/components/q2-file-picker.js +2 -2
- 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 +9 -1
- package/dist/components/q2-grid-area.js.map +1 -1
- package/dist/components/q2-icon2.js +6 -0
- package/dist/components/q2-icon2.js.map +1 -1
- package/dist/components/q2-input2.js +8 -6
- package/dist/components/q2-input2.js.map +1 -1
- package/dist/components/q2-item2.js +17 -17
- package/dist/components/q2-item2.js.map +1 -1
- package/dist/components/q2-legend2.js +1 -1
- package/dist/components/q2-link2.js +12 -6
- package/dist/components/q2-link2.js.map +1 -1
- package/dist/components/q2-list2.js +1 -1
- package/dist/components/q2-loading2.js +11 -2
- package/dist/components/q2-loading2.js.map +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 +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 +4 -2
- package/dist/components/q2-optgroup2.js.map +1 -1
- package/dist/components/q2-option-list2.js +3 -1
- package/dist/components/q2-option-list2.js.map +1 -1
- package/dist/components/q2-option2.js +3 -1
- package/dist/components/q2-option2.js.map +1 -1
- package/dist/components/q2-pagination.js +11 -13
- package/dist/components/q2-pagination.js.map +1 -1
- package/dist/components/q2-pill.js +1 -1
- package/dist/components/q2-popover2.js +2 -2
- package/dist/components/q2-popover2.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-container.js +2 -0
- package/dist/components/q2-section-container.js.map +1 -1
- package/dist/components/q2-section.js +2 -2
- package/dist/components/q2-select2.js +6 -2
- package/dist/components/q2-select2.js.map +1 -1
- package/dist/components/q2-stepper-pane.js +3 -1
- package/dist/components/q2-stepper-pane.js.map +1 -1
- package/dist/components/q2-stepper-vertical.js +1 -1
- package/dist/components/q2-stepper.js +7 -3
- package/dist/components/q2-stepper.js.map +1 -1
- package/dist/components/q2-tab-container.js +5 -1
- package/dist/components/q2-tab-container.js.map +1 -1
- package/dist/components/q2-tab-pane.js +8 -1
- package/dist/components/q2-tab-pane.js.map +1 -1
- package/dist/components/q2-tag.js +2 -2
- package/dist/components/q2-tag.js.map +1 -1
- package/dist/components/q2-textarea.js +2 -2
- package/dist/components/q2-textarea.js.map +1 -1
- package/dist/components/q2-toast.d.ts +11 -0
- package/dist/components/q2-toast.js +233 -0
- package/dist/components/q2-toast.js.map +1 -0
- package/dist/components/sanitize-html-string.js +28 -5
- package/dist/components/sanitize-html-string.js.map +1 -1
- package/dist/components/tecton-tab-pane.js +4 -2
- package/dist/components/tecton-tab-pane.js.map +1 -1
- package/dist/esm/{action-sheet-WwoBwnIp.js → action-sheet-B7adb3xs.js} +5 -2
- package/dist/esm/action-sheet-B7adb3xs.js.map +1 -0
- package/dist/esm/component-DVxzK3WH.js +42 -0
- package/dist/esm/component-DVxzK3WH.js.map +1 -0
- package/dist/esm/loader.js +1 -1
- package/dist/esm/q2-action-group.q2-resize-observer.entry.js.map +1 -1
- package/dist/esm/q2-action-group_2.entry.js +121 -45
- package/dist/esm/q2-action-group_2.entry.js.map +1 -1
- package/dist/esm/q2-action-sheet.entry.js +9 -5
- package/dist/esm/q2-action-sheet.entry.js.map +1 -1
- package/dist/esm/q2-avatar.entry.js +2 -2
- package/dist/esm/q2-avatar.entry.js.map +1 -1
- package/dist/esm/q2-btn.q2-loading.entry.js.map +1 -1
- package/dist/esm/q2-btn_2.entry.js +13 -4
- 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 +6 -6
- package/dist/esm/q2-card-image.entry.js.map +1 -1
- package/dist/esm/q2-card.entry.js +1 -1
- package/dist/esm/q2-card.entry.js.map +1 -1
- package/dist/esm/q2-carousel-pane.entry.js +7 -3
- package/dist/esm/q2-carousel-pane.entry.js.map +1 -1
- package/dist/esm/q2-carousel.entry.js +12 -2
- package/dist/esm/q2-carousel.entry.js.map +1 -1
- package/dist/esm/q2-chart-area.entry.js +1 -1
- package/dist/esm/q2-chart-bar.entry.js +1 -1
- package/dist/esm/q2-chart-donut.entry.js +1 -1
- package/dist/esm/q2-checkbox-group.entry.js +5 -1
- package/dist/esm/q2-checkbox-group.entry.js.map +1 -1
- package/dist/esm/q2-checkbox.entry.js +3 -4
- package/dist/esm/q2-checkbox.entry.js.map +1 -1
- package/dist/esm/q2-context.entry.js +1 -1
- package/dist/esm/q2-context.entry.js.map +1 -1
- package/dist/esm/q2-currency.entry.js +1 -1
- package/dist/esm/q2-data-table.entry.js +19 -9
- package/dist/esm/q2-data-table.entry.js.map +1 -1
- package/dist/esm/q2-detail.entry.js +2 -2
- package/dist/esm/q2-detail.entry.js.map +1 -1
- package/dist/esm/q2-dropdown-item.entry.js +3 -1
- package/dist/esm/q2-dropdown-item.entry.js.map +1 -1
- package/dist/esm/q2-dropdown.entry.js +33 -8
- package/dist/esm/q2-dropdown.entry.js.map +1 -1
- package/dist/esm/q2-editable-field.entry.js +1 -1
- package/dist/esm/q2-example.entry.js +1 -1
- package/dist/esm/q2-file-picker.entry.js +2 -2
- 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 +10 -2
- package/dist/esm/q2-grid-area.entry.js.map +1 -1
- package/dist/esm/q2-icon.entry.js +6 -0
- package/dist/esm/q2-icon.entry.js.map +1 -1
- package/dist/esm/q2-input.entry.js +8 -6
- package/dist/esm/q2-input.entry.js.map +1 -1
- package/dist/esm/q2-item.entry.js +17 -17
- package/dist/esm/q2-item.entry.js.map +1 -1
- package/dist/esm/q2-legend.entry.js +1 -1
- package/dist/esm/q2-link.q2-list.entry.js.map +1 -1
- package/dist/esm/q2-link_2.entry.js +11 -7
- package/dist/esm/q2-link_2.entry.js.map +1 -1
- package/dist/esm/q2-message.entry.js +2 -2
- package/dist/esm/q2-message.entry.js.map +1 -1
- package/dist/esm/q2-meter.entry.js +1 -1
- package/dist/esm/q2-modal.entry.js +2 -2
- package/dist/esm/q2-month-picker.entry.js +2 -2
- package/dist/esm/q2-mutation-observer.entry.js +1 -1
- package/dist/esm/q2-optgroup.entry.js +4 -2
- package/dist/esm/q2-optgroup.entry.js.map +1 -1
- package/dist/esm/q2-option-list.q2-popover.entry.js.map +1 -1
- package/dist/esm/q2-option-list_2.entry.js +5 -3
- package/dist/esm/q2-option-list_2.entry.js.map +1 -1
- package/dist/esm/q2-option.entry.js +3 -1
- package/dist/esm/q2-option.entry.js.map +1 -1
- package/dist/esm/q2-pagination.entry.js +10 -12
- package/dist/esm/q2-pagination.entry.js.map +1 -1
- package/dist/esm/q2-pill.entry.js +2 -2
- package/dist/esm/q2-radio.entry.js +2 -2
- package/dist/esm/q2-radio.entry.js.map +1 -1
- package/dist/esm/q2-relative-time.entry.js +1 -1
- package/dist/esm/q2-section-container.entry.js +2 -0
- package/dist/esm/q2-section-container.entry.js.map +1 -1
- package/dist/esm/q2-section.entry.js +2 -2
- package/dist/esm/q2-select.entry.js +7 -3
- package/dist/esm/q2-select.entry.js.map +1 -1
- package/dist/esm/q2-stepper-pane.entry.js +3 -1
- package/dist/esm/q2-stepper-pane.entry.js.map +1 -1
- package/dist/esm/q2-stepper-vertical.entry.js +1 -1
- package/dist/esm/q2-stepper.entry.js +7 -3
- package/dist/esm/q2-stepper.entry.js.map +1 -1
- package/dist/esm/q2-tab-container.entry.js +5 -1
- package/dist/esm/q2-tab-container.entry.js.map +1 -1
- package/dist/esm/q2-tab-pane.entry.js +9 -2
- package/dist/esm/q2-tab-pane.entry.js.map +1 -1
- package/dist/esm/q2-tag.entry.js +3 -3
- package/dist/esm/q2-tag.entry.js.map +1 -1
- package/dist/esm/q2-tecton-elements.js +1 -1
- package/dist/esm/q2-textarea.entry.js +2 -2
- package/dist/esm/q2-textarea.entry.js.map +1 -1
- package/dist/esm/q2-toast.entry.js +190 -0
- package/dist/esm/q2-toast.entry.js.map +1 -0
- package/dist/esm/{sanitize-html-string-DOVERJq5.js → sanitize-html-string-BPwFpYg-.js} +30 -7
- package/dist/esm/sanitize-html-string-BPwFpYg-.js.map +1 -0
- package/dist/esm/tecton-tab-pane.entry.js +4 -2
- package/dist/esm/tecton-tab-pane.entry.js.map +1 -1
- package/dist/jest.e2e-coverage.js +25 -0
- package/dist/jest.e2e-coverage.js.map +1 -0
- package/dist/q2-tecton-elements/{action-sheet-WwoBwnIp.js → action-sheet-B7adb3xs.js} +19 -14
- package/dist/q2-tecton-elements/action-sheet-B7adb3xs.js.map +1 -0
- 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/component-DVxzK3WH.js +40 -0
- package/dist/q2-tecton-elements/component-DVxzK3WH.js.map +1 -0
- package/dist/q2-tecton-elements/q2-action-group.q2-resize-observer.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-action-group_2.entry.js +131 -63
- package/dist/q2-tecton-elements/q2-action-group_2.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-action-sheet.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-action-sheet.entry.js +79 -75
- package/dist/q2-tecton-elements/q2-action-sheet.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-avatar.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-avatar.entry.js +7 -7
- package/dist/q2-tecton-elements/q2-avatar.entry.js.map +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 +11 -4
- 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 -3
- package/dist/q2-tecton-elements/q2-calendar.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-card-image.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-card-image.entry.js +11 -11
- package/dist/q2-tecton-elements/q2-card-image.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-card.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-card.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-card.entry.js.map +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 +25 -20
- 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 +79 -67
- package/dist/q2-tecton-elements/q2-carousel.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-chart-area.entry.js +2 -2
- package/dist/q2-tecton-elements/q2-chart-bar.entry.js +2 -2
- package/dist/q2-tecton-elements/q2-chart-donut.entry.js +9 -9
- package/dist/q2-tecton-elements/q2-checkbox-group.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-checkbox-group.entry.js +20 -15
- package/dist/q2-tecton-elements/q2-checkbox-group.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-checkbox.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-checkbox.entry.js +70 -71
- package/dist/q2-tecton-elements/q2-checkbox.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-context.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-context.entry.js +12 -12
- package/dist/q2-tecton-elements/q2-context.entry.js.map +1 -1
- 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 +40 -27
- package/dist/q2-tecton-elements/q2-data-table.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-detail.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-detail.entry.js +10 -10
- package/dist/q2-tecton-elements/q2-detail.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-dropdown-item.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-dropdown-item.entry.js +11 -8
- package/dist/q2-tecton-elements/q2-dropdown-item.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-dropdown.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-dropdown.entry.js +113 -85
- package/dist/q2-tecton-elements/q2-dropdown.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-editable-field.entry.js +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 +3 -2
- package/dist/q2-tecton-elements/q2-file-picker.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-form.entry.js +7 -7
- package/dist/q2-tecton-elements/q2-formatted-text.entry.js +2 -2
- package/dist/q2-tecton-elements/q2-grid-area.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-grid-area.entry.js +18 -7
- package/dist/q2-tecton-elements/q2-grid-area.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-icon.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-icon.entry.js +145 -137
- 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 +14 -8
- 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 +56 -53
- package/dist/q2-tecton-elements/q2-item.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-legend.entry.js +2 -2
- 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 +22 -18
- package/dist/q2-tecton-elements/q2-link_2.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-message.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-message.entry.js +9 -9
- package/dist/q2-tecton-elements/q2-message.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-meter.entry.js +7 -7
- package/dist/q2-tecton-elements/q2-modal.entry.js +21 -21
- 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.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-optgroup.entry.js +15 -12
- package/dist/q2-tecton-elements/q2-optgroup.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-option-list.q2-popover.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-option-list_2.entry.js +52 -49
- package/dist/q2-tecton-elements/q2-option-list_2.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-option.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-option.entry.js +15 -12
- package/dist/q2-tecton-elements/q2-option.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-pagination.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-pagination.entry.js +66 -66
- package/dist/q2-tecton-elements/q2-pagination.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-pill.entry.js +37 -37
- package/dist/q2-tecton-elements/q2-radio.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-radio.entry.js +47 -45
- package/dist/q2-tecton-elements/q2-radio.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-relative-time.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-section-container.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-section-container.entry.js +5 -2
- package/dist/q2-tecton-elements/q2-section-container.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-section.entry.js +11 -11
- package/dist/q2-tecton-elements/q2-select.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-select.entry.js +6 -3
- 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 +22 -19
- package/dist/q2-tecton-elements/q2-stepper-pane.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-stepper-vertical.entry.js +69 -69
- package/dist/q2-tecton-elements/q2-stepper.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-stepper.entry.js +42 -39
- 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 +21 -16
- package/dist/q2-tecton-elements/q2-tab-container.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-tab-pane.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-tab-pane.entry.js +17 -7
- package/dist/q2-tecton-elements/q2-tab-pane.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-tag.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-tag.entry.js +65 -65
- package/dist/q2-tecton-elements/q2-tag.entry.js.map +1 -1
- 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 +3 -3
- package/dist/q2-tecton-elements/q2-textarea.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-toast.entry.esm.js.map +1 -0
- package/dist/q2-tecton-elements/q2-toast.entry.js +222 -0
- package/dist/q2-tecton-elements/q2-toast.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{sanitize-html-string-DOVERJq5.js → sanitize-html-string-BPwFpYg-.js} +167 -145
- package/dist/q2-tecton-elements/sanitize-html-string-BPwFpYg-.js.map +1 -0
- package/dist/q2-tecton-elements/tecton-tab-pane.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/tecton-tab-pane.entry.js +8 -8
- package/dist/q2-tecton-elements/tecton-tab-pane.entry.js.map +1 -1
- package/dist/scripts/docs-generator/index.js +1 -1
- package/dist/scripts/docs-generator/index.js.map +1 -1
- package/dist/types/Users/kvanhouten/Documents/Work/tecton/packages/q2-tecton-elements/.stencil/jest.e2e-coverage.d.ts +1 -0
- package/dist/types/components/q2-action-group/q2-action-group.d.ts +7 -4
- package/dist/types/components/q2-carousel-pane/q2-carousel-pane.d.ts +1 -0
- package/dist/types/components/q2-checkbox/q2-checkbox.d.ts +0 -5
- package/dist/types/components/q2-data-table/q2-data-table.d.ts +8 -0
- package/dist/types/components/q2-dropdown/q2-dropdown.d.ts +22 -3
- package/dist/types/components/q2-grid-area/q2-grid-area.d.ts +2 -0
- package/dist/types/components/q2-input/q2-input.d.ts +4 -5
- package/dist/types/components/q2-item/q2-item.d.ts +5 -4
- package/dist/types/components/q2-link/q2-link.d.ts +4 -0
- package/dist/types/components/q2-pagination/q2-pagination.d.ts +11 -3
- package/dist/types/components/q2-select/q2-select.d.ts +1 -2
- package/dist/types/components/q2-tab-pane/q2-tab-pane.d.ts +2 -0
- package/dist/types/components/q2-toast/q2-toast.d.ts +67 -0
- package/dist/types/components.d.ts +189 -34
- package/dist/types/utils/action-sheet.d.ts +2 -1
- package/dist/types/utils/component.d.ts +4 -0
- package/dist/types/utils/sanitize-html-string.d.ts +1 -0
- package/package.json +11 -7
- package/dist/cjs/action-sheet-CiK2Bap_.js.map +0 -1
- package/dist/cjs/sanitize-html-string-DPqrzfM9.js.map +0 -1
- package/dist/esm/action-sheet-WwoBwnIp.js.map +0 -1
- package/dist/esm/sanitize-html-string-DOVERJq5.js.map +0 -1
- package/dist/q2-tecton-elements/action-sheet-WwoBwnIp.js.map +0 -1
- package/dist/q2-tecton-elements/sanitize-html-string-DOVERJq5.js.map +0 -1
- /package/dist/types/Users/kvanhouten/Documents/Work/{tecton_extra → tecton}/packages/q2-tecton-elements/.stencil/jest.setup.d.ts +0 -0
- /package/dist/types/Users/kvanhouten/Documents/Work/{tecton_extra → tecton}/packages/q2-tecton-elements/.stencil/scripts/docs-generator/index.d.ts +0 -0
- /package/dist/types/Users/kvanhouten/Documents/Work/{tecton_extra → tecton}/packages/q2-tecton-elements/.stencil/scripts/docs-generator/markdown-generator.d.ts +0 -0
- /package/dist/types/Users/kvanhouten/Documents/Work/{tecton_extra → tecton}/packages/q2-tecton-elements/.stencil/scripts/docs-generator/tag-handlers.d.ts +0 -0
- /package/dist/types/Users/kvanhouten/Documents/Work/{tecton_extra → tecton}/packages/q2-tecton-elements/.stencil/scripts/docs-generator/types.d.ts +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"q2-toast.entry.esm.js","sources":["src/components/q2-toast/q2-toast.scss?tag=q2-toast&encapsulation=shadow","src/components/q2-toast/q2-toast.tsx"],"sourcesContent":["@import '../../styles/host.scss';\n@import '../../styles/functions';\n\n:host {\n display: block;\n}\n\n\n.toast {\n --comp-accent-width: 1px;\n --comp-icon-size: 32px;\n --comp-icon-bg: transparent;\n --comp-text-color: #{var-list(--tct-toast-text, --tct-gray-2, --app-gray-2, #333333)};\n --comp-subtle-color: #{var-list(--tct-toast-subtle, --tct-gray-5, --app-gray-5, #6b6b6b)};\n\n\n --comp-color-success: #{var-list(--tct-stoplight-success, --const-stoplight-success, #0e8a00)};\n --comp-color-info: #{var-list(--tct-stoplight-info, --const-stoplight-info, #0079c1)};\n --comp-color-warning: #{var-list(--tct-stoplight-warning, --const-stoplight-warning, #c35500)};\n --comp-color-alert: #{var-list(--tct-stoplight-alert, --const-stoplight-alert, #d20a0a)};\n --comp-color-default: white;\n\n &.success {\n border-color: var(--comp-color-success);\n background-color: var(--comp-color-success);\n --comp-icon-bg: #e7f5e3;\n }\n\n &.info {\n border-color: var(--comp-color-info);\n background-color: var(--comp-color-info);\n --comp-icon-bg: #e6f1fb;\n }\n\n &.warning {\n border-color: var(--comp-color-warning);\n background-color: var(--comp-color-warning);\n --comp-icon-bg: #fff0df;\n }\n\n &.alert {\n border-color: var(--comp-color-alert);\n background-color: var(--comp-color-alert);\n --comp-icon-bg: #fde6e6;\n }\n\n display: flex;\n flex-direction: column;\n gap: var-list(--tct-toast-gap, --app-scale-2x, 10px);\n padding-left: 3px;\n border-radius: 5px;\n border: 1px solid transparent;\n background: var-list(--tct-toast-background, --tct-gray-14, --app-gray-l3, #ffffff);\n color: var(--comp-text-color);\n box-shadow: var-list(--tct-toast-shadow, --app-shadow-2, unquote('0 12px 24px rgb(0 0 0 / 0.12)'));\n overflow:hidden;\n\n &.is-closing{\n animation-name: shrink;\n animation-duration: 500ms;\n animation-timing-function: linear;\n animation-fill-mode: forwards;\n transform-origin: top;\n overflow: hidden;\n }\n\n &.small {\n\n & .container{\n padding: var-list(--tct-toast-padding-small, --app-scale-2x, 10px);\n }\n }\n\n &.default {\n --comp-border-color: #{var-list(--tct-toast-border, --tct-gray-9, --app-gray-4, #d1d1d1)};\n --comp-icon-bg: #{var-list(--tct-toast-icon-bg, --tct-gray-12, --app-gray-l2, #f3f3f3)};\n border-color: var(--comp-border-color);\n }\n}\n\n.header {\n display: grid;\n grid-template-columns: var(--comp-icon-size) 1fr auto;\n gap: var-list(--tct-toast-gap, --app-scale-2x, 10px);\n align-items: center;\n}\n\n.toast.no-icon .header {\n grid-template-columns: 1fr auto;\n}\n\n.icon {\n width: var(--comp-icon-size);\n height: var(--comp-icon-size);\n border-radius: 50%;\n display: grid;\n place-items: center;\n background: var(--comp-icon-bg);\n}\n\n.icon q2-icon {\n --tct-icon-size: calc(var(--comp-icon-size) - 6px);\n --tct-icon-stroke-primary: var(--comp-border-color);\n --tct-icon-stroke-secondary: var(--comp-border-color);\n --tct-icon-fill: var(--comp-border-color);\n}\n\n.title {\n font-weight: 600;\n display: flex;\n align-items: center;\n}\n\n.title-text {\n display: -webkit-box;\n -webkit-line-clamp: 2;\n line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n}\n\n.content {\n color: var(--comp-subtle-color);\n display: -webkit-box;\n -webkit-line-clamp: 2;\n line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n}\n\n.footer {\n margin-top: var-list(--tct-toast-footer-gap, --app-scale-2x, 10px);\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var-list(--tct-toast-footer-spacing, --app-scale-2x, 10px);\n color: var(--comp-subtle-color);\n font-size: 0.875rem;\n}\n\n.time {\n white-space: nowrap;\n}\n\n.actions {\n display: inline-flex;\n align-items: center;\n gap: var-list(--tct-toast-actions-gap, --app-scale-2x, 10px);\n}\n\n.close {\n border: none;\n background: transparent;\n padding: 2px;\n margin-left: var-list(--tct-toast-close-offset, --app-scale-1x, 5px);\n color: var(--comp-subtle-color);\n cursor: pointer;\n}\n\n.close q2-icon {\n --tct-icon-size: 18px;\n}\n\n.container {\n padding: var-list(--tct-toast-padding, --app-scale-3x, 15px);\n background-color: white;\n}\n\n@keyframes shrink {\n from {\n transform: scale(1);\n height: var(--toast-close-height, 0px);\n opacity: 1;\n }\n\n to {\n transform:scale(0);\n height: 0;\n opacity: 0;\n }\n}\n","import { Component, Prop, h, ComponentInterface, Event, EventEmitter, Element, State, Watch } from '@stencil/core';\nimport { hasSlotContent, loc } from 'src/utils';\n\n/**\n * @slot icon - Optional slot for a custom icon.\n * @slot title - Optional slot for the title content.\n * @slot - Optional slot for the message content.\n * @slot time - Optional slot for the time marker.\n * @slot actions - Optional slot for action links in the footer.\n */\n@Component({ tag: 'q2-toast', shadow: true, styleUrl: 'q2-toast.scss' })\nexport class Q2Toast implements ComponentInterface {\n // #region Own Properties\n\n private autoCloseTimer?: ReturnType<typeof setTimeout>;\n private closeAnimationTimeMs = 500;\n private closeTimer?: ReturnType<typeof setTimeout>;\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 isClosing: boolean = false;\n\n @State()\n isOpen: boolean = true;\n\n // #endregion\n // #region Public Property API\n\n /** Enables automatic dismissal after a duration. */\n @Prop({ reflect: true })\n autoClose: boolean = false;\n\n /** Controls whether the close button is displayed. */\n @Prop({ reflect: true })\n closable: boolean = true;\n\n /** The duration in milliseconds before auto dismissal. */\n @Prop({ reflect: true })\n duration: number = 7000;\n\n /** Manually hide the icon where it would otherwise appear. */\n @Prop({ reflect: true })\n hideIcon: boolean = false;\n\n /** Optional icon type to display. */\n @Prop()\n icon: string;\n\n /** Optional message for the toast body. */\n @Prop()\n message: string;\n\n /**\n * Convenience prop for persistent toasts. When true, sets autoClose to false and closable to true.\n * Aligns with acceptance criteria for showPersistent behavior.\n */\n @Prop({ reflect: true })\n showPersistent: boolean = false;\n\n /** Controls the visual size of the toast. */\n @Prop({ reflect: true })\n size: 'large' | 'small' = 'large';\n\n /** Optional title for the toast. */\n @Prop()\n tctTitle: string;\n\n /** Optional time marker for the footer. */\n @Prop()\n time: string;\n\n /** The visual status of the toast. */\n @Prop({ reflect: true })\n type: 'warning' | 'info' | 'alert' | 'success' | 'default' | 'error' = 'default';\n\n // #endregion\n // #region Events\n\n /** Emitted when the toast is dismissed. */\n @Event()\n tctClose: EventEmitter<{ reason: 'close' | 'timeout' }>;\n\n // #endregion\n // #region Component Lifecycle Events\n\n disconnectedCallback(): void {\n this.clearAutoClose();\n this.clearCloseTimer();\n }\n\n componentDidLoad(): void {\n this.startAutoClose();\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('autoClose')\n @Watch('duration')\n onAutoCloseChange() {\n this.startAutoClose();\n }\n\n @Watch('showPersistent')\n onShowPersistentChange() {\n if (this.showPersistent) {\n this.autoClose = false;\n this.closable = true;\n } else {\n this.autoClose = true;\n }\n }\n\n @Watch('size')\n onSizeChange() {\n if (this.size === 'large') {\n this.showPersistent = true;\n }\n }\n\n // #endregion\n // #region Local Methods\n\n get ariaLive(): 'assertive' | 'polite' {\n // Alert/error/warning types should be assertive, others polite\n return this.resolvedType === 'alert' || this.resolvedType === 'warning' ? 'assertive' : 'polite';\n }\n\n get ariaRole(): 'alert' | 'status' {\n // Alert/error/warning types use \"alert\" role, others use \"status\"\n return this.resolvedType === 'alert' || this.resolvedType === 'warning' ? 'alert' : 'status';\n }\n\n get hasIconSlot(): boolean {\n return hasSlotContent(this.hostElement, 'icon');\n }\n\n get isLarge(): boolean {\n return this.size !== 'small';\n }\n\n get resolvedIcon(): string {\n if (this.icon) return this.icon;\n\n const iconMap = {\n success: 'success-filled',\n warning: 'warning-filled',\n alert: 'error-filled',\n info: 'info-filled',\n };\n\n return iconMap[this.resolvedType];\n }\n\n get resolvedType(): 'warning' | 'info' | 'alert' | 'success' | 'default' {\n return this.type === 'error' ? 'alert' : this.type;\n }\n\n get shouldShowIcon(): boolean {\n return (this.hasIconSlot || !!this.resolvedIcon) && !this.hideIcon;\n }\n\n get showFooter(): boolean {\n const hasActions = hasSlotContent(this.hostElement, 'actions');\n const hasTime = hasSlotContent(this.hostElement, 'time') || !!this.time;\n return this.isLarge && (hasActions || hasTime);\n }\n\n get srTypeLabel(): string {\n // Screen reader label for toast type\n const labelMap = {\n success: loc('tecton.element.toast.type.success'),\n warning: loc('tecton.element.toast.type.warning'),\n alert: loc('tecton.element.toast.type.alert'),\n info: loc('tecton.element.toast.type.info'),\n default: loc('tecton.element.toast.type.default'),\n };\n return labelMap[this.resolvedType] || '';\n }\n\n get toastClasses(): string {\n const classes = ['toast', this.resolvedType, this.size];\n classes.push(this.shouldShowIcon ? 'has-icon' : 'no-icon');\n if (this.isClosing) classes.push('is-closing');\n return classes.join(' ');\n }\n\n clearAutoClose() {\n if (!this.autoCloseTimer) return;\n clearTimeout(this.autoCloseTimer);\n this.autoCloseTimer = undefined;\n }\n\n clearCloseTimer() {\n if (!this.closeTimer) return;\n clearTimeout(this.closeTimer);\n this.closeTimer = undefined;\n }\n\n dismiss(reason: 'close' | 'timeout') {\n if (!this.isOpen || this.isClosing) return;\n this.clearAutoClose();\n this.clearCloseTimer();\n const toastEl = this.hostElement.shadowRoot?.querySelector('.toast') as HTMLElement | null;\n if (toastEl) {\n const height = Math.ceil(toastEl.getBoundingClientRect().height);\n this.hostElement.style.setProperty('--toast-close-height', `${height}px`);\n this.hostElement.style.setProperty('margin-bottom', '0');\n }\n this.isClosing = true;\n this.closeTimer = setTimeout(() => {\n this.isOpen = false;\n this.isClosing = false;\n this.tctClose.emit({ reason });\n }, this.closeAnimationTimeMs);\n }\n\n onCloseClick = () => {\n this.dismiss('close');\n };\n\n startAutoClose() {\n this.clearAutoClose();\n if (!this.autoClose || !this.duration || this.duration <= 0 || !this.isOpen) return;\n this.autoCloseTimer = setTimeout(() => {\n this.dismiss('timeout');\n }, this.duration);\n }\n\n // #endregion\n // #region Render Methods\n\n renderIcon() {\n if (this.hideIcon) return null;\n if (this.hasIconSlot) return <slot name=\"icon\"></slot>;\n if (!this.resolvedIcon) return null;\n return <q2-icon type={this.resolvedIcon} />;\n }\n\n render() {\n if (!this.isOpen) return null;\n\n return (\n <div\n class={this.toastClasses}\n role={this.ariaRole}\n aria-live={this.ariaLive}\n aria-atomic=\"true\"\n aria-relevant=\"all\"\n >\n {this.srTypeLabel && <span class=\"sr\">{this.srTypeLabel}</span>}\n <div class=\"container\">\n <div class=\"header\">\n {this.shouldShowIcon && <div class=\"icon\">{this.renderIcon()}</div>}\n <div class=\"title\">\n <span class=\"title-text\">\n <slot name=\"title\">{this.tctTitle}</slot>\n </span>\n </div>\n {this.closable && (\n <button\n class=\"close\"\n type=\"button\"\n aria-label={loc('tecton.element.toast.close')}\n onClick={this.onCloseClick}\n >\n <q2-icon type=\"close\" />\n </button>\n )}\n </div>\n {this.isLarge && (\n <div class=\"content\">\n {this.message}\n <slot />\n </div>\n )}\n {this.showFooter && (\n <div class=\"footer\">\n <div class=\"time\">\n <slot name=\"time\">{this.time}</slot>\n </div>\n <div class=\"actions\">\n <slot name=\"actions\"></slot>\n </div>\n </div>\n )}\n </div>\n </div>\n );\n }\n\n // #endregion\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
import { r as t, c as o, h as e, g as i } from "./index-CGkHOjh1.js";
|
|
2
|
+
|
|
3
|
+
import { h as s, l as r } from "./index-B4WYBDS9.js";
|
|
4
|
+
|
|
5
|
+
const a = "*{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}.toast{--comp-accent-width:1px;--comp-icon-size:32px;--comp-icon-bg:transparent;--comp-text-color:var(--tct-toast-text, var(--tct-gray-2, var(--app-gray-2, #333333)));--comp-subtle-color:var(--tct-toast-subtle, var(--tct-gray-5, var(--app-gray-5, #6b6b6b)));--comp-color-success:var(--tct-stoplight-success, var(--const-stoplight-success, #0e8a00));--comp-color-info:var(--tct-stoplight-info, var(--const-stoplight-info, #0079c1));--comp-color-warning:var(--tct-stoplight-warning, var(--const-stoplight-warning, #c35500));--comp-color-alert:var(--tct-stoplight-alert, var(--const-stoplight-alert, #d20a0a));--comp-color-default:white;display:flex;flex-direction:column;gap:var(--tct-toast-gap, var(--app-scale-2x, 10px));padding-left:3px;border-radius:5px;border:1px solid transparent;background:var(--tct-toast-background, var(--tct-gray-14, var(--app-gray-l3, #ffffff)));color:var(--comp-text-color);box-shadow:var(--tct-toast-shadow, var(--app-shadow-2, 0 12px 24px rgb(0 0 0 / 0.12)));overflow:hidden}.toast.success{border-color:var(--comp-color-success);background-color:var(--comp-color-success);--comp-icon-bg:#e7f5e3}.toast.info{border-color:var(--comp-color-info);background-color:var(--comp-color-info);--comp-icon-bg:#e6f1fb}.toast.warning{border-color:var(--comp-color-warning);background-color:var(--comp-color-warning);--comp-icon-bg:#fff0df}.toast.alert{border-color:var(--comp-color-alert);background-color:var(--comp-color-alert);--comp-icon-bg:#fde6e6}.toast.is-closing{animation-name:shrink;animation-duration:500ms;animation-timing-function:linear;animation-fill-mode:forwards;transform-origin:top;overflow:hidden}.toast.small .container{padding:var(--tct-toast-padding-small, var(--app-scale-2x, 10px))}.toast.default{--comp-border-color:var(--tct-toast-border, var(--tct-gray-9, var(--app-gray-4, #d1d1d1)));--comp-icon-bg:var(--tct-toast-icon-bg, var(--tct-gray-12, var(--app-gray-l2, #f3f3f3)));border-color:var(--comp-border-color)}.header{display:grid;grid-template-columns:var(--comp-icon-size) 1fr auto;gap:var(--tct-toast-gap, var(--app-scale-2x, 10px));align-items:center}.toast.no-icon .header{grid-template-columns:1fr auto}.icon{width:var(--comp-icon-size);height:var(--comp-icon-size);border-radius:50%;display:grid;place-items:center;background:var(--comp-icon-bg)}.icon q2-icon{--tct-icon-size:calc(var(--comp-icon-size) - 6px);--tct-icon-stroke-primary:var(--comp-border-color);--tct-icon-stroke-secondary:var(--comp-border-color);--tct-icon-fill:var(--comp-border-color)}.title{font-weight:600;display:flex;align-items:center}.title-text{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.content{color:var(--comp-subtle-color);display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.footer{margin-top:var(--tct-toast-footer-gap, var(--app-scale-2x, 10px));display:flex;align-items:center;justify-content:space-between;gap:var(--tct-toast-footer-spacing, var(--app-scale-2x, 10px));color:var(--comp-subtle-color);font-size:0.875rem}.time{white-space:nowrap}.actions{display:inline-flex;align-items:center;gap:var(--tct-toast-actions-gap, var(--app-scale-2x, 10px))}.close{border:none;background:transparent;padding:2px;margin-left:var(--tct-toast-close-offset, var(--app-scale-1x, 5px));color:var(--comp-subtle-color);cursor:pointer}.close q2-icon{--tct-icon-size:18px}.container{padding:var(--tct-toast-padding, var(--app-scale-3x, 15px));background-color:white}@keyframes shrink{from{transform:scale(1);height:var(--toast-close-height, 0px);opacity:1}to{transform:scale(0);height:0;opacity:0}}";
|
|
6
|
+
|
|
7
|
+
const n = class {
|
|
8
|
+
constructor(e) {
|
|
9
|
+
t(this, e);
|
|
10
|
+
this.tctClose = o(this, "tctClose", 7);
|
|
11
|
+
this.closeAnimationTimeMs = 500;
|
|
12
|
+
// #endregion
|
|
13
|
+
// #region State Properties
|
|
14
|
+
this.isClosing = false;
|
|
15
|
+
this.isOpen = true;
|
|
16
|
+
// #endregion
|
|
17
|
+
// #region Public Property API
|
|
18
|
+
/** Enables automatic dismissal after a duration. */ this.autoClose = false;
|
|
19
|
+
/** Controls whether the close button is displayed. */ this.closable = true;
|
|
20
|
+
/** The duration in milliseconds before auto dismissal. */ this.duration = 7e3;
|
|
21
|
+
/** Manually hide the icon where it would otherwise appear. */ this.hideIcon = false;
|
|
22
|
+
/**
|
|
23
|
+
* Convenience prop for persistent toasts. When true, sets autoClose to false and closable to true.
|
|
24
|
+
* Aligns with acceptance criteria for showPersistent behavior.
|
|
25
|
+
*/ this.showPersistent = false;
|
|
26
|
+
/** Controls the visual size of the toast. */ this.size = "large";
|
|
27
|
+
/** The visual status of the toast. */ this.type = "default";
|
|
28
|
+
this.onCloseClick = () => {
|
|
29
|
+
this.dismiss("close");
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
// #endregion
|
|
33
|
+
// #region Component Lifecycle Events
|
|
34
|
+
disconnectedCallback() {
|
|
35
|
+
this.clearAutoClose();
|
|
36
|
+
this.clearCloseTimer();
|
|
37
|
+
}
|
|
38
|
+
componentDidLoad() {
|
|
39
|
+
this.startAutoClose();
|
|
40
|
+
}
|
|
41
|
+
// #endregion
|
|
42
|
+
// #region Watchers
|
|
43
|
+
onAutoCloseChange() {
|
|
44
|
+
this.startAutoClose();
|
|
45
|
+
}
|
|
46
|
+
onShowPersistentChange() {
|
|
47
|
+
if (this.showPersistent) {
|
|
48
|
+
this.autoClose = false;
|
|
49
|
+
this.closable = true;
|
|
50
|
+
} else {
|
|
51
|
+
this.autoClose = true;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
onSizeChange() {
|
|
55
|
+
if (this.size === "large") {
|
|
56
|
+
this.showPersistent = true;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
// #endregion
|
|
60
|
+
// #region Local Methods
|
|
61
|
+
get ariaLive() {
|
|
62
|
+
// Alert/error/warning types should be assertive, others polite
|
|
63
|
+
return this.resolvedType === "alert" || this.resolvedType === "warning" ? "assertive" : "polite";
|
|
64
|
+
}
|
|
65
|
+
get ariaRole() {
|
|
66
|
+
// Alert/error/warning types use "alert" role, others use "status"
|
|
67
|
+
return this.resolvedType === "alert" || this.resolvedType === "warning" ? "alert" : "status";
|
|
68
|
+
}
|
|
69
|
+
get hasIconSlot() {
|
|
70
|
+
return s(this.hostElement, "icon");
|
|
71
|
+
}
|
|
72
|
+
get isLarge() {
|
|
73
|
+
return this.size !== "small";
|
|
74
|
+
}
|
|
75
|
+
get resolvedIcon() {
|
|
76
|
+
if (this.icon) return this.icon;
|
|
77
|
+
const t = {
|
|
78
|
+
success: "success-filled",
|
|
79
|
+
warning: "warning-filled",
|
|
80
|
+
alert: "error-filled",
|
|
81
|
+
info: "info-filled"
|
|
82
|
+
};
|
|
83
|
+
return t[this.resolvedType];
|
|
84
|
+
}
|
|
85
|
+
get resolvedType() {
|
|
86
|
+
return this.type === "error" ? "alert" : this.type;
|
|
87
|
+
}
|
|
88
|
+
get shouldShowIcon() {
|
|
89
|
+
return (this.hasIconSlot || !!this.resolvedIcon) && !this.hideIcon;
|
|
90
|
+
}
|
|
91
|
+
get showFooter() {
|
|
92
|
+
const t = s(this.hostElement, "actions");
|
|
93
|
+
const o = s(this.hostElement, "time") || !!this.time;
|
|
94
|
+
return this.isLarge && (t || o);
|
|
95
|
+
}
|
|
96
|
+
get srTypeLabel() {
|
|
97
|
+
// Screen reader label for toast type
|
|
98
|
+
const t = {
|
|
99
|
+
success: r("tecton.element.toast.type.success"),
|
|
100
|
+
warning: r("tecton.element.toast.type.warning"),
|
|
101
|
+
alert: r("tecton.element.toast.type.alert"),
|
|
102
|
+
info: r("tecton.element.toast.type.info"),
|
|
103
|
+
default: r("tecton.element.toast.type.default")
|
|
104
|
+
};
|
|
105
|
+
return t[this.resolvedType] || "";
|
|
106
|
+
}
|
|
107
|
+
get toastClasses() {
|
|
108
|
+
const t = [ "toast", this.resolvedType, this.size ];
|
|
109
|
+
t.push(this.shouldShowIcon ? "has-icon" : "no-icon");
|
|
110
|
+
if (this.isClosing) t.push("is-closing");
|
|
111
|
+
return t.join(" ");
|
|
112
|
+
}
|
|
113
|
+
clearAutoClose() {
|
|
114
|
+
if (!this.autoCloseTimer) return;
|
|
115
|
+
clearTimeout(this.autoCloseTimer);
|
|
116
|
+
this.autoCloseTimer = undefined;
|
|
117
|
+
}
|
|
118
|
+
clearCloseTimer() {
|
|
119
|
+
if (!this.closeTimer) return;
|
|
120
|
+
clearTimeout(this.closeTimer);
|
|
121
|
+
this.closeTimer = undefined;
|
|
122
|
+
}
|
|
123
|
+
dismiss(t) {
|
|
124
|
+
var o;
|
|
125
|
+
if (!this.isOpen || this.isClosing) return;
|
|
126
|
+
this.clearAutoClose();
|
|
127
|
+
this.clearCloseTimer();
|
|
128
|
+
const e = (o = this.hostElement.shadowRoot) === null || o === void 0 ? void 0 : o.querySelector(".toast");
|
|
129
|
+
if (e) {
|
|
130
|
+
const t = Math.ceil(e.getBoundingClientRect().height);
|
|
131
|
+
this.hostElement.style.setProperty("--toast-close-height", `${t}px`);
|
|
132
|
+
this.hostElement.style.setProperty("margin-bottom", "0");
|
|
133
|
+
}
|
|
134
|
+
this.isClosing = true;
|
|
135
|
+
this.closeTimer = setTimeout((() => {
|
|
136
|
+
this.isOpen = false;
|
|
137
|
+
this.isClosing = false;
|
|
138
|
+
this.tctClose.emit({
|
|
139
|
+
reason: t
|
|
140
|
+
});
|
|
141
|
+
}), this.closeAnimationTimeMs);
|
|
142
|
+
}
|
|
143
|
+
startAutoClose() {
|
|
144
|
+
this.clearAutoClose();
|
|
145
|
+
if (!this.autoClose || !this.duration || this.duration <= 0 || !this.isOpen) return;
|
|
146
|
+
this.autoCloseTimer = setTimeout((() => {
|
|
147
|
+
this.dismiss("timeout");
|
|
148
|
+
}), this.duration);
|
|
149
|
+
}
|
|
150
|
+
// #endregion
|
|
151
|
+
// #region Render Methods
|
|
152
|
+
renderIcon() {
|
|
153
|
+
if (this.hideIcon) return null;
|
|
154
|
+
if (this.hasIconSlot) return e("slot", {
|
|
155
|
+
name: "icon"
|
|
156
|
+
});
|
|
157
|
+
if (!this.resolvedIcon) return null;
|
|
158
|
+
return e("q2-icon", {
|
|
159
|
+
type: this.resolvedIcon
|
|
160
|
+
});
|
|
161
|
+
}
|
|
162
|
+
render() {
|
|
163
|
+
if (!this.isOpen) return null;
|
|
164
|
+
return e("div", {
|
|
165
|
+
class: this.toastClasses,
|
|
166
|
+
role: this.ariaRole,
|
|
167
|
+
"aria-live": this.ariaLive,
|
|
168
|
+
"aria-atomic": "true",
|
|
169
|
+
"aria-relevant": "all"
|
|
170
|
+
}, this.srTypeLabel && e("span", {
|
|
171
|
+
class: "sr"
|
|
172
|
+
}, this.srTypeLabel), e("div", {
|
|
173
|
+
class: "container"
|
|
174
|
+
}, e("div", {
|
|
175
|
+
class: "header"
|
|
176
|
+
}, this.shouldShowIcon && e("div", {
|
|
177
|
+
class: "icon"
|
|
178
|
+
}, this.renderIcon()), e("div", {
|
|
179
|
+
class: "title"
|
|
180
|
+
}, e("span", {
|
|
181
|
+
class: "title-text"
|
|
182
|
+
}, e("slot", {
|
|
183
|
+
name: "title"
|
|
184
|
+
}, this.tctTitle))), this.closable && e("button", {
|
|
185
|
+
class: "close",
|
|
186
|
+
type: "button",
|
|
187
|
+
"aria-label": r("tecton.element.toast.close"),
|
|
188
|
+
onClick: this.onCloseClick
|
|
189
|
+
}, e("q2-icon", {
|
|
190
|
+
type: "close"
|
|
191
|
+
}))), this.isLarge && e("div", {
|
|
192
|
+
class: "content"
|
|
193
|
+
}, this.message, e("slot", null)), this.showFooter && e("div", {
|
|
194
|
+
class: "footer"
|
|
195
|
+
}, e("div", {
|
|
196
|
+
class: "time"
|
|
197
|
+
}, e("slot", {
|
|
198
|
+
name: "time"
|
|
199
|
+
}, this.time)), e("div", {
|
|
200
|
+
class: "actions"
|
|
201
|
+
}, e("slot", {
|
|
202
|
+
name: "actions"
|
|
203
|
+
})))));
|
|
204
|
+
}
|
|
205
|
+
get hostElement() {
|
|
206
|
+
return i(this);
|
|
207
|
+
}
|
|
208
|
+
static get watchers() {
|
|
209
|
+
return {
|
|
210
|
+
autoClose: [ "onAutoCloseChange" ],
|
|
211
|
+
duration: [ "onAutoCloseChange" ],
|
|
212
|
+
showPersistent: [ "onShowPersistentChange" ],
|
|
213
|
+
size: [ "onSizeChange" ]
|
|
214
|
+
};
|
|
215
|
+
}
|
|
216
|
+
};
|
|
217
|
+
|
|
218
|
+
n.style = a;
|
|
219
|
+
|
|
220
|
+
export { n as q2_toast };
|
|
221
|
+
//# sourceMappingURL=q2-toast.entry.esm.js.map
|
|
222
|
+
//# sourceMappingURL=q2-toast.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["q2ToastCss","Q2Toast","constructor","hostRef","this","closeAnimationTimeMs","isClosing","isOpen","autoClose","closable","duration","hideIcon","showPersistent","size","type","onCloseClick","dismiss","disconnectedCallback","clearAutoClose","clearCloseTimer","componentDidLoad","startAutoClose","onAutoCloseChange","onShowPersistentChange","onSizeChange","ariaLive","resolvedType","ariaRole","hasIconSlot","hasSlotContent","hostElement","isLarge","resolvedIcon","icon","iconMap","success","warning","alert","info","shouldShowIcon","showFooter","hasActions","hasTime","time","srTypeLabel","labelMap","loc","default","toastClasses","classes","push","join","autoCloseTimer","clearTimeout","undefined","closeTimer","reason","toastEl","_a","shadowRoot","querySelector","height","Math","ceil","getBoundingClientRect","style","setProperty","setTimeout","tctClose","emit","renderIcon","h","name","render","class","role","tctTitle","onClick","message"],"sources":["src/components/q2-toast/q2-toast.scss?tag=q2-toast&encapsulation=shadow","src/components/q2-toast/q2-toast.tsx"],"sourcesContent":["@import '../../styles/host.scss';\n@import '../../styles/functions';\n\n:host {\n display: block;\n}\n\n\n.toast {\n --comp-accent-width: 1px;\n --comp-icon-size: 32px;\n --comp-icon-bg: transparent;\n --comp-text-color: #{var-list(--tct-toast-text, --tct-gray-2, --app-gray-2, #333333)};\n --comp-subtle-color: #{var-list(--tct-toast-subtle, --tct-gray-5, --app-gray-5, #6b6b6b)};\n\n\n --comp-color-success: #{var-list(--tct-stoplight-success, --const-stoplight-success, #0e8a00)};\n --comp-color-info: #{var-list(--tct-stoplight-info, --const-stoplight-info, #0079c1)};\n --comp-color-warning: #{var-list(--tct-stoplight-warning, --const-stoplight-warning, #c35500)};\n --comp-color-alert: #{var-list(--tct-stoplight-alert, --const-stoplight-alert, #d20a0a)};\n --comp-color-default: white;\n\n &.success {\n border-color: var(--comp-color-success);\n background-color: var(--comp-color-success);\n --comp-icon-bg: #e7f5e3;\n }\n\n &.info {\n border-color: var(--comp-color-info);\n background-color: var(--comp-color-info);\n --comp-icon-bg: #e6f1fb;\n }\n\n &.warning {\n border-color: var(--comp-color-warning);\n background-color: var(--comp-color-warning);\n --comp-icon-bg: #fff0df;\n }\n\n &.alert {\n border-color: var(--comp-color-alert);\n background-color: var(--comp-color-alert);\n --comp-icon-bg: #fde6e6;\n }\n\n display: flex;\n flex-direction: column;\n gap: var-list(--tct-toast-gap, --app-scale-2x, 10px);\n padding-left: 3px;\n border-radius: 5px;\n border: 1px solid transparent;\n background: var-list(--tct-toast-background, --tct-gray-14, --app-gray-l3, #ffffff);\n color: var(--comp-text-color);\n box-shadow: var-list(--tct-toast-shadow, --app-shadow-2, unquote('0 12px 24px rgb(0 0 0 / 0.12)'));\n overflow:hidden;\n\n &.is-closing{\n animation-name: shrink;\n animation-duration: 500ms;\n animation-timing-function: linear;\n animation-fill-mode: forwards;\n transform-origin: top;\n overflow: hidden;\n }\n\n &.small {\n\n & .container{\n padding: var-list(--tct-toast-padding-small, --app-scale-2x, 10px);\n }\n }\n\n &.default {\n --comp-border-color: #{var-list(--tct-toast-border, --tct-gray-9, --app-gray-4, #d1d1d1)};\n --comp-icon-bg: #{var-list(--tct-toast-icon-bg, --tct-gray-12, --app-gray-l2, #f3f3f3)};\n border-color: var(--comp-border-color);\n }\n}\n\n.header {\n display: grid;\n grid-template-columns: var(--comp-icon-size) 1fr auto;\n gap: var-list(--tct-toast-gap, --app-scale-2x, 10px);\n align-items: center;\n}\n\n.toast.no-icon .header {\n grid-template-columns: 1fr auto;\n}\n\n.icon {\n width: var(--comp-icon-size);\n height: var(--comp-icon-size);\n border-radius: 50%;\n display: grid;\n place-items: center;\n background: var(--comp-icon-bg);\n}\n\n.icon q2-icon {\n --tct-icon-size: calc(var(--comp-icon-size) - 6px);\n --tct-icon-stroke-primary: var(--comp-border-color);\n --tct-icon-stroke-secondary: var(--comp-border-color);\n --tct-icon-fill: var(--comp-border-color);\n}\n\n.title {\n font-weight: 600;\n display: flex;\n align-items: center;\n}\n\n.title-text {\n display: -webkit-box;\n -webkit-line-clamp: 2;\n line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n}\n\n.content {\n color: var(--comp-subtle-color);\n display: -webkit-box;\n -webkit-line-clamp: 2;\n line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n}\n\n.footer {\n margin-top: var-list(--tct-toast-footer-gap, --app-scale-2x, 10px);\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var-list(--tct-toast-footer-spacing, --app-scale-2x, 10px);\n color: var(--comp-subtle-color);\n font-size: 0.875rem;\n}\n\n.time {\n white-space: nowrap;\n}\n\n.actions {\n display: inline-flex;\n align-items: center;\n gap: var-list(--tct-toast-actions-gap, --app-scale-2x, 10px);\n}\n\n.close {\n border: none;\n background: transparent;\n padding: 2px;\n margin-left: var-list(--tct-toast-close-offset, --app-scale-1x, 5px);\n color: var(--comp-subtle-color);\n cursor: pointer;\n}\n\n.close q2-icon {\n --tct-icon-size: 18px;\n}\n\n.container {\n padding: var-list(--tct-toast-padding, --app-scale-3x, 15px);\n background-color: white;\n}\n\n@keyframes shrink {\n from {\n transform: scale(1);\n height: var(--toast-close-height, 0px);\n opacity: 1;\n }\n\n to {\n transform:scale(0);\n height: 0;\n opacity: 0;\n }\n}\n","import { Component, Prop, h, ComponentInterface, Event, EventEmitter, Element, State, Watch } from '@stencil/core';\nimport { hasSlotContent, loc } from 'src/utils';\n\n/**\n * @slot icon - Optional slot for a custom icon.\n * @slot title - Optional slot for the title content.\n * @slot - Optional slot for the message content.\n * @slot time - Optional slot for the time marker.\n * @slot actions - Optional slot for action links in the footer.\n */\n@Component({ tag: 'q2-toast', shadow: true, styleUrl: 'q2-toast.scss' })\nexport class Q2Toast implements ComponentInterface {\n // #region Own Properties\n\n private autoCloseTimer?: ReturnType<typeof setTimeout>;\n private closeAnimationTimeMs = 500;\n private closeTimer?: ReturnType<typeof setTimeout>;\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 isClosing: boolean = false;\n\n @State()\n isOpen: boolean = true;\n\n // #endregion\n // #region Public Property API\n\n /** Enables automatic dismissal after a duration. */\n @Prop({ reflect: true })\n autoClose: boolean = false;\n\n /** Controls whether the close button is displayed. */\n @Prop({ reflect: true })\n closable: boolean = true;\n\n /** The duration in milliseconds before auto dismissal. */\n @Prop({ reflect: true })\n duration: number = 7000;\n\n /** Manually hide the icon where it would otherwise appear. */\n @Prop({ reflect: true })\n hideIcon: boolean = false;\n\n /** Optional icon type to display. */\n @Prop()\n icon: string;\n\n /** Optional message for the toast body. */\n @Prop()\n message: string;\n\n /**\n * Convenience prop for persistent toasts. When true, sets autoClose to false and closable to true.\n * Aligns with acceptance criteria for showPersistent behavior.\n */\n @Prop({ reflect: true })\n showPersistent: boolean = false;\n\n /** Controls the visual size of the toast. */\n @Prop({ reflect: true })\n size: 'large' | 'small' = 'large';\n\n /** Optional title for the toast. */\n @Prop()\n tctTitle: string;\n\n /** Optional time marker for the footer. */\n @Prop()\n time: string;\n\n /** The visual status of the toast. */\n @Prop({ reflect: true })\n type: 'warning' | 'info' | 'alert' | 'success' | 'default' | 'error' = 'default';\n\n // #endregion\n // #region Events\n\n /** Emitted when the toast is dismissed. */\n @Event()\n tctClose: EventEmitter<{ reason: 'close' | 'timeout' }>;\n\n // #endregion\n // #region Component Lifecycle Events\n\n disconnectedCallback(): void {\n this.clearAutoClose();\n this.clearCloseTimer();\n }\n\n componentDidLoad(): void {\n this.startAutoClose();\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('autoClose')\n @Watch('duration')\n onAutoCloseChange() {\n this.startAutoClose();\n }\n\n @Watch('showPersistent')\n onShowPersistentChange() {\n if (this.showPersistent) {\n this.autoClose = false;\n this.closable = true;\n } else {\n this.autoClose = true;\n }\n }\n\n @Watch('size')\n onSizeChange() {\n if (this.size === 'large') {\n this.showPersistent = true;\n }\n }\n\n // #endregion\n // #region Local Methods\n\n get ariaLive(): 'assertive' | 'polite' {\n // Alert/error/warning types should be assertive, others polite\n return this.resolvedType === 'alert' || this.resolvedType === 'warning' ? 'assertive' : 'polite';\n }\n\n get ariaRole(): 'alert' | 'status' {\n // Alert/error/warning types use \"alert\" role, others use \"status\"\n return this.resolvedType === 'alert' || this.resolvedType === 'warning' ? 'alert' : 'status';\n }\n\n get hasIconSlot(): boolean {\n return hasSlotContent(this.hostElement, 'icon');\n }\n\n get isLarge(): boolean {\n return this.size !== 'small';\n }\n\n get resolvedIcon(): string {\n if (this.icon) return this.icon;\n\n const iconMap = {\n success: 'success-filled',\n warning: 'warning-filled',\n alert: 'error-filled',\n info: 'info-filled',\n };\n\n return iconMap[this.resolvedType];\n }\n\n get resolvedType(): 'warning' | 'info' | 'alert' | 'success' | 'default' {\n return this.type === 'error' ? 'alert' : this.type;\n }\n\n get shouldShowIcon(): boolean {\n return (this.hasIconSlot || !!this.resolvedIcon) && !this.hideIcon;\n }\n\n get showFooter(): boolean {\n const hasActions = hasSlotContent(this.hostElement, 'actions');\n const hasTime = hasSlotContent(this.hostElement, 'time') || !!this.time;\n return this.isLarge && (hasActions || hasTime);\n }\n\n get srTypeLabel(): string {\n // Screen reader label for toast type\n const labelMap = {\n success: loc('tecton.element.toast.type.success'),\n warning: loc('tecton.element.toast.type.warning'),\n alert: loc('tecton.element.toast.type.alert'),\n info: loc('tecton.element.toast.type.info'),\n default: loc('tecton.element.toast.type.default'),\n };\n return labelMap[this.resolvedType] || '';\n }\n\n get toastClasses(): string {\n const classes = ['toast', this.resolvedType, this.size];\n classes.push(this.shouldShowIcon ? 'has-icon' : 'no-icon');\n if (this.isClosing) classes.push('is-closing');\n return classes.join(' ');\n }\n\n clearAutoClose() {\n if (!this.autoCloseTimer) return;\n clearTimeout(this.autoCloseTimer);\n this.autoCloseTimer = undefined;\n }\n\n clearCloseTimer() {\n if (!this.closeTimer) return;\n clearTimeout(this.closeTimer);\n this.closeTimer = undefined;\n }\n\n dismiss(reason: 'close' | 'timeout') {\n if (!this.isOpen || this.isClosing) return;\n this.clearAutoClose();\n this.clearCloseTimer();\n const toastEl = this.hostElement.shadowRoot?.querySelector('.toast') as HTMLElement | null;\n if (toastEl) {\n const height = Math.ceil(toastEl.getBoundingClientRect().height);\n this.hostElement.style.setProperty('--toast-close-height', `${height}px`);\n this.hostElement.style.setProperty('margin-bottom', '0');\n }\n this.isClosing = true;\n this.closeTimer = setTimeout(() => {\n this.isOpen = false;\n this.isClosing = false;\n this.tctClose.emit({ reason });\n }, this.closeAnimationTimeMs);\n }\n\n onCloseClick = () => {\n this.dismiss('close');\n };\n\n startAutoClose() {\n this.clearAutoClose();\n if (!this.autoClose || !this.duration || this.duration <= 0 || !this.isOpen) return;\n this.autoCloseTimer = setTimeout(() => {\n this.dismiss('timeout');\n }, this.duration);\n }\n\n // #endregion\n // #region Render Methods\n\n renderIcon() {\n if (this.hideIcon) return null;\n if (this.hasIconSlot) return <slot name=\"icon\"></slot>;\n if (!this.resolvedIcon) return null;\n return <q2-icon type={this.resolvedIcon} />;\n }\n\n render() {\n if (!this.isOpen) return null;\n\n return (\n <div\n class={this.toastClasses}\n role={this.ariaRole}\n aria-live={this.ariaLive}\n aria-atomic=\"true\"\n aria-relevant=\"all\"\n >\n {this.srTypeLabel && <span class=\"sr\">{this.srTypeLabel}</span>}\n <div class=\"container\">\n <div class=\"header\">\n {this.shouldShowIcon && <div class=\"icon\">{this.renderIcon()}</div>}\n <div class=\"title\">\n <span class=\"title-text\">\n <slot name=\"title\">{this.tctTitle}</slot>\n </span>\n </div>\n {this.closable && (\n <button\n class=\"close\"\n type=\"button\"\n aria-label={loc('tecton.element.toast.close')}\n onClick={this.onCloseClick}\n >\n <q2-icon type=\"close\" />\n </button>\n )}\n </div>\n {this.isLarge && (\n <div class=\"content\">\n {this.message}\n <slot />\n </div>\n )}\n {this.showFooter && (\n <div class=\"footer\">\n <div class=\"time\">\n <slot name=\"time\">{this.time}</slot>\n </div>\n <div class=\"actions\">\n <slot name=\"actions\"></slot>\n </div>\n </div>\n )}\n </div>\n </div>\n );\n }\n\n // #endregion\n}\n"],"mappings":"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","ignoreList":[]}
|