q2-tecton-elements 1.67.2 → 1.68.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 +22598 -10670
- package/dist/cjs/click-elsewhere.q2-option-list.q2-popover.entry.cjs.js.map +1 -1
- package/dist/cjs/click-elsewhere_3.cjs.entry.js +46 -32
- package/dist/cjs/click-elsewhere_3.cjs.entry.js.map +1 -1
- package/dist/cjs/{component-DRAntnCA.js → component-iASoq6gx.js} +9 -3
- package/dist/cjs/component-iASoq6gx.js.map +1 -0
- package/dist/cjs/{index-YvKoRT-t.js → index-DmGkqdX2.js} +3 -3
- package/dist/cjs/index-DmGkqdX2.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 +2 -2
- package/dist/cjs/q2-action-group_2.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-action-sheet.cjs.entry.js +109 -4
- 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.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-badge.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-badge.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 +1 -1
- package/dist/cjs/q2-btn_2.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-calendar.cjs.entry.js +6 -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 +2 -2
- 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 +3 -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 +162 -29
- 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 +3 -2
- 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 +2 -2
- 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 -1
- package/dist/cjs/q2-checkbox_2.cjs.entry.js +3 -3
- package/dist/cjs/q2-checkbox_2.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-context.cjs.entry.js +2 -2
- 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 +2 -3
- package/dist/cjs/q2-currency.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-currency.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-data-table.cjs.entry.js +2 -2
- 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 +2 -2
- 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 +3 -5
- 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-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 +2 -2
- package/dist/cjs/q2-form.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-form.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-formatted-text.cjs.entry.js +1 -1
- package/dist/cjs/q2-formatted-text.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-formatted-text.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-grid-area.cjs.entry.js +1 -1
- package/dist/cjs/q2-grid.cjs.entry.js +32 -8
- package/dist/cjs/q2-grid.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-grid.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-icon.cjs.entry.js +1 -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 +8 -5
- 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 +2 -2
- 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 -3
- 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 +2 -2
- 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-meter.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-meter.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-modal.cjs.entry.js +3 -3
- 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 +1 -1
- package/dist/cjs/q2-mutation-observer.cjs.entry.js +1 -1
- package/dist/cjs/q2-optgroup.cjs.entry.js +3 -3
- 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.cjs.entry.js +3 -3
- 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-otp.cjs.entry.js +373 -0
- package/dist/cjs/q2-otp.cjs.entry.js.map +1 -0
- package/dist/cjs/q2-otp.entry.cjs.js.map +1 -0
- package/dist/cjs/q2-pagination.cjs.entry.js +4 -4
- 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 +24 -15
- 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 +1 -1
- 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-container.cjs.entry.js +1 -1
- package/dist/cjs/q2-section.cjs.entry.js +3 -3
- package/dist/cjs/q2-section.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-section.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-select.cjs.entry.js +1 -1
- 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 -3
- package/dist/cjs/q2-stepper-vertical.cjs.entry.js +2 -2
- 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 +2 -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 +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 +2 -2
- package/dist/cjs/q2-tecton-elements.cjs.js +1 -1
- package/dist/cjs/q2-textarea.cjs.entry.js +1 -1
- 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-toast.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-toast.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-tooltip.cjs.entry.js +124 -5
- 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-CW6y5624.js → sanitize-html-string-D17Pr7-c.js} +21 -4
- package/dist/cjs/{sanitize-html-string-CW6y5624.js.map → sanitize-html-string-D17Pr7-c.js.map} +1 -1
- package/dist/cjs/tecton-tab-pane.cjs.entry.js +2 -2
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/click-elsewhere/click-elsewhere.js +2 -0
- package/dist/collection/components/click-elsewhere/click-elsewhere.js.map +1 -1
- package/dist/collection/components/q2-action-group/q2-action-group.css +14 -0
- package/dist/collection/components/q2-action-sheet/q2-action-sheet.css +16 -0
- package/dist/collection/components/q2-action-sheet/q2-action-sheet.js +107 -2
- package/dist/collection/components/q2-action-sheet/q2-action-sheet.js.map +1 -1
- package/dist/collection/components/q2-avatar/q2-avatar.css +24 -0
- package/dist/collection/components/q2-avatar/test/q2-avatar-test.vr.js +61 -0
- package/dist/collection/components/q2-avatar/test/q2-avatar-test.vr.js.map +1 -0
- package/dist/collection/components/q2-badge/q2-badge.css +30 -0
- package/dist/collection/components/q2-badge/test/q2-badge-test.vr.js +34 -0
- package/dist/collection/components/q2-badge/test/q2-badge-test.vr.js.map +1 -0
- package/dist/collection/components/q2-btn/q2-btn.css +279 -0
- package/dist/collection/components/q2-btn/test/q2-btn-test.vr.js +80 -0
- package/dist/collection/components/q2-btn/test/q2-btn-test.vr.js.map +1 -0
- package/dist/collection/components/q2-calendar/q2-calendar.css +36 -0
- package/dist/collection/components/q2-calendar/q2-calendar.js +5 -2
- package/dist/collection/components/q2-calendar/q2-calendar.js.map +1 -1
- package/dist/collection/components/q2-calendar/test/q2-calendar-test.vr.js +170 -0
- package/dist/collection/components/q2-calendar/test/q2-calendar-test.vr.js.map +1 -0
- package/dist/collection/components/q2-card/q2-card.css +62 -0
- package/dist/collection/components/q2-card/test/q2-card-test.vr.js +72 -0
- package/dist/collection/components/q2-card/test/q2-card-test.vr.js.map +1 -0
- package/dist/collection/components/q2-card-image/q2-card-image.css +74 -13
- package/dist/collection/components/q2-card-image/test/q2-card-image-test.vr.js +152 -0
- package/dist/collection/components/q2-card-image/test/q2-card-image-test.vr.js.map +1 -0
- package/dist/collection/components/q2-carousel/q2-carousel.css +78 -13
- package/dist/collection/components/q2-carousel/q2-carousel.js +241 -27
- package/dist/collection/components/q2-carousel/q2-carousel.js.map +1 -1
- package/dist/collection/components/q2-carousel/test/q2-carousel-test.vr.js +104 -0
- package/dist/collection/components/q2-carousel/test/q2-carousel-test.vr.js.map +1 -0
- package/dist/collection/components/q2-carousel-pane/q2-carousel-pane.css +26 -1
- package/dist/collection/components/q2-chart-area/test/q2-chart-area-test.vr.js +126 -0
- package/dist/collection/components/q2-chart-area/test/q2-chart-area-test.vr.js.map +1 -0
- package/dist/collection/components/q2-chart-bar/test/q2-chart-bar-test.vr.js +105 -0
- package/dist/collection/components/q2-chart-bar/test/q2-chart-bar-test.vr.js.map +1 -0
- package/dist/collection/components/q2-chart-donut/q2-chart-donut.css +29 -0
- package/dist/collection/components/q2-chart-donut/q2-chart-donut.js +21 -1
- package/dist/collection/components/q2-chart-donut/q2-chart-donut.js.map +1 -1
- package/dist/collection/components/q2-chart-donut/test/q2-chart-donut-test.vr.js +151 -0
- package/dist/collection/components/q2-chart-donut/test/q2-chart-donut-test.vr.js.map +1 -0
- package/dist/collection/components/q2-checkbox/q2-checkbox.css +128 -0
- package/dist/collection/components/q2-checkbox/test/q2-checkbox-test.vr.js +69 -0
- package/dist/collection/components/q2-checkbox/test/q2-checkbox-test.vr.js.map +1 -0
- package/dist/collection/components/q2-checkbox-group/q2-checkbox-group.css +21 -0
- package/dist/collection/components/q2-checkbox-group/test/q2-checkbox-group-test.vr.js +61 -0
- package/dist/collection/components/q2-checkbox-group/test/q2-checkbox-group-test.vr.js.map +1 -0
- package/dist/collection/components/q2-context/q2-context.css +16 -0
- package/dist/collection/components/q2-context/test/q2-context-test.vr.js +95 -0
- package/dist/collection/components/q2-context/test/q2-context-test.vr.js.map +1 -0
- package/dist/collection/components/q2-currency/q2-currency.css +31 -0
- package/dist/collection/components/q2-currency/q2-currency.js +3 -4
- package/dist/collection/components/q2-currency/q2-currency.js.map +1 -1
- package/dist/collection/components/q2-currency/test/q2-currency-test.vr.js +79 -0
- package/dist/collection/components/q2-currency/test/q2-currency-test.vr.js.map +1 -0
- package/dist/collection/components/q2-data-table/q2-data-table.css +51 -0
- package/dist/collection/components/q2-data-table/q2-data-table.js +1 -1
- package/dist/collection/components/q2-data-table/test/q2-data-table-test.vr.js +79 -0
- package/dist/collection/components/q2-data-table/test/q2-data-table-test.vr.js.map +1 -0
- package/dist/collection/components/q2-detail/q2-detail.css +42 -0
- package/dist/collection/components/q2-detail/q2-detail.js +1 -1
- package/dist/collection/components/q2-dropdown/q2-dropdown.css +8 -0
- package/dist/collection/components/q2-dropdown/q2-dropdown.js +2 -4
- package/dist/collection/components/q2-dropdown/q2-dropdown.js.map +1 -1
- package/dist/collection/components/q2-dropdown-item/q2-dropdown-item.css +11 -0
- package/dist/collection/components/q2-editable-field/q2-editable-field.css +5 -0
- package/dist/collection/components/q2-editable-field/test/q2-editable-field-test.vr.js +89 -0
- package/dist/collection/components/q2-editable-field/test/q2-editable-field-test.vr.js.map +1 -0
- package/dist/collection/components/q2-example/q2-example.js +1 -1
- package/dist/collection/components/q2-file-picker/q2-file-picker.css +64 -0
- package/dist/collection/components/q2-file-picker/test/q2-file-picker-test.vr.js +92 -0
- package/dist/collection/components/q2-file-picker/test/q2-file-picker-test.vr.js.map +1 -0
- package/dist/collection/components/q2-form/q2-form.css +34 -20
- package/dist/collection/components/q2-form/q2-form.js +1 -1
- package/dist/collection/components/q2-formatted-text/q2-formatted-text.css +14 -0
- package/dist/collection/components/q2-formatted-text/q2-formatted-text.js +1 -1
- package/dist/collection/components/q2-formatted-text/test/q2-formatted-text-test.vr.js +55 -0
- package/dist/collection/components/q2-formatted-text/test/q2-formatted-text-test.vr.js.map +1 -0
- package/dist/collection/components/q2-grid/q2-grid.css +13 -0
- package/dist/collection/components/q2-grid/q2-grid.js +31 -7
- package/dist/collection/components/q2-grid/q2-grid.js.map +1 -1
- package/dist/collection/components/q2-icon/assets/standard.symbol.svg +1 -1
- package/dist/collection/components/q2-icon/q2-icon.css +15 -0
- package/dist/collection/components/q2-icon/test/q2-icon-test.vr.js +55 -0
- package/dist/collection/components/q2-icon/test/q2-icon-test.vr.js.map +1 -0
- package/dist/collection/components/q2-input/q2-input.css +104 -0
- package/dist/collection/components/q2-input/q2-input.js +6 -3
- package/dist/collection/components/q2-input/q2-input.js.map +1 -1
- package/dist/collection/components/q2-input/test/q2-input-test.vr.js +97 -0
- package/dist/collection/components/q2-input/test/q2-input-test.vr.js.map +1 -0
- package/dist/collection/components/q2-item/q2-item.css +28 -0
- package/dist/collection/components/q2-item/q2-item.js +1 -1
- package/dist/collection/components/q2-legend/q2-legend.css +16 -0
- package/dist/collection/components/q2-legend/q2-legend.js +21 -3
- package/dist/collection/components/q2-legend/q2-legend.js.map +1 -1
- package/dist/collection/components/q2-link/q2-link.css +20 -0
- package/dist/collection/components/q2-link/test/q2-link-test.vr.js +70 -0
- package/dist/collection/components/q2-link/test/q2-link-test.vr.js.map +1 -0
- package/dist/collection/components/q2-list/q2-list.css +14 -0
- package/dist/collection/components/q2-list/q2-list.js +1 -1
- package/dist/collection/components/q2-list/test/q2-list-test.vr.js +58 -0
- package/dist/collection/components/q2-list/test/q2-list-test.vr.js.map +1 -0
- package/dist/collection/components/q2-loading/q2-loading.css +9 -0
- package/dist/collection/components/q2-message/q2-message.css +29 -1
- package/dist/collection/components/q2-message/q2-message.js +1 -1
- package/dist/collection/components/q2-message/test/q2-message-test.vr.js +57 -0
- package/dist/collection/components/q2-message/test/q2-message-test.vr.js.map +1 -0
- package/dist/collection/components/q2-meter/q2-meter.css +40 -0
- package/dist/collection/components/q2-meter/q2-meter.js +1 -1
- package/dist/collection/components/q2-meter/test/q2-meter-test.vr.js +78 -0
- package/dist/collection/components/q2-meter/test/q2-meter-test.vr.js.map +1 -0
- package/dist/collection/components/q2-modal/q2-modal.css +21 -0
- package/dist/collection/components/q2-modal/q2-modal.js +1 -1
- package/dist/collection/components/q2-modal/test/q2-modal-test.vr.js +107 -0
- package/dist/collection/components/q2-modal/test/q2-modal-test.vr.js.map +1 -0
- package/dist/collection/components/q2-mutation-observer/q2-mutation-observer.js +1 -1
- package/dist/collection/components/q2-optgroup/q2-optgroup.css +11 -0
- package/dist/collection/components/q2-optgroup/q2-optgroup.js +1 -1
- package/dist/collection/components/q2-option/q2-option.css +9 -0
- package/dist/collection/components/q2-option/q2-option.js +1 -1
- package/dist/collection/components/q2-option/q2-option.js.map +1 -1
- package/dist/collection/components/q2-option-list/q2-option-list.css +3 -0
- package/dist/collection/components/q2-option-list/q2-option-list.js +37 -28
- package/dist/collection/components/q2-option-list/q2-option-list.js.map +1 -1
- package/dist/collection/components/q2-otp/q2-otp.css +312 -0
- package/dist/collection/components/q2-otp/q2-otp.js +873 -0
- package/dist/collection/components/q2-otp/q2-otp.js.map +1 -0
- package/dist/collection/components/q2-pagination/q2-pagination.css +22 -0
- package/dist/collection/components/q2-pagination/q2-pagination.js +3 -3
- package/dist/collection/components/q2-pagination/test/q2-pagination-test.vr.js +145 -0
- package/dist/collection/components/q2-pagination/test/q2-pagination-test.vr.js.map +1 -0
- package/dist/collection/components/q2-pill/q2-pill.css +53 -0
- package/dist/collection/components/q2-pill/q2-pill.js +23 -14
- package/dist/collection/components/q2-pill/q2-pill.js.map +1 -1
- package/dist/collection/components/q2-pill/test/q2-pill-test.vr.js +110 -0
- package/dist/collection/components/q2-pill/test/q2-pill-test.vr.js.map +1 -0
- package/dist/collection/components/q2-popover/q2-popover.css +20 -0
- package/dist/collection/components/q2-popover/q2-popover.js +5 -2
- package/dist/collection/components/q2-popover/q2-popover.js.map +1 -1
- package/dist/collection/components/q2-radio/q2-radio.css +52 -1
- package/dist/collection/components/q2-radio/q2-radio.js +2 -2
- package/dist/collection/components/q2-radio/q2-radio.js.map +1 -1
- package/dist/collection/components/q2-radio/test/q2-radio-test.vr.js +73 -0
- package/dist/collection/components/q2-radio/test/q2-radio-test.vr.js.map +1 -0
- package/dist/collection/components/q2-radio-group/q2-radio-group.css +22 -0
- package/dist/collection/components/q2-radio-group/test/q2-radio-group-test.vr.js +99 -0
- package/dist/collection/components/q2-radio-group/test/q2-radio-group-test.vr.js.map +1 -0
- 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.css +26 -0
- package/dist/collection/components/q2-section/q2-section.js +2 -2
- package/dist/collection/components/q2-section/test/q2-section-test.vr.js +68 -0
- package/dist/collection/components/q2-section/test/q2-section-test.vr.js.map +1 -0
- package/dist/collection/components/q2-select/q2-select.css +17 -0
- package/dist/collection/components/q2-select/test/q2-select-test.vr.js +107 -0
- package/dist/collection/components/q2-select/test/q2-select-test.vr.js.map +1 -0
- package/dist/collection/components/q2-stepper/q2-stepper.css +36 -0
- package/dist/collection/components/q2-stepper/q2-stepper.js +1 -1
- package/dist/collection/components/q2-stepper/test/q2-stepper-test.vr.js +86 -0
- package/dist/collection/components/q2-stepper/test/q2-stepper-test.vr.js.map +1 -0
- package/dist/collection/components/q2-stepper-pane/q2-stepper-pane.js +1 -1
- package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.css +31 -0
- package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.js +1 -1
- package/dist/collection/components/q2-stepper-vertical/test/q2-stepper-vertical-test.vr.js +97 -0
- package/dist/collection/components/q2-stepper-vertical/test/q2-stepper-vertical-test.vr.js.map +1 -0
- package/dist/collection/components/q2-tab-container/q2-tab-container.css +38 -0
- package/dist/collection/components/q2-tab-container/q2-tab-container.js +1 -1
- package/dist/collection/components/q2-tab-container/test/q2-tab-container-test.vr.js +78 -0
- package/dist/collection/components/q2-tab-container/test/q2-tab-container-test.vr.js.map +1 -0
- package/dist/collection/components/q2-tab-pane/q2-tab-pane.js +1 -1
- package/dist/collection/components/q2-tag/q2-tag.css +30 -1
- package/dist/collection/components/q2-tag/q2-tag.js +1 -1
- package/dist/collection/components/q2-tag/test/q2-tag-test.vr.js +83 -0
- package/dist/collection/components/q2-tag/test/q2-tag-test.vr.js.map +1 -0
- package/dist/collection/components/q2-textarea/q2-textarea.css +80 -0
- package/dist/collection/components/q2-textarea/test/q2-textarea-test.vr.js +102 -0
- package/dist/collection/components/q2-textarea/test/q2-textarea-test.vr.js.map +1 -0
- package/dist/collection/components/q2-toast/q2-toast.css +15 -0
- package/dist/collection/components/q2-tooltip/q2-tooltip.css +31 -0
- package/dist/collection/components/q2-tooltip/q2-tooltip.js +135 -4
- package/dist/collection/components/q2-tooltip/q2-tooltip.js.map +1 -1
- package/dist/collection/components/q2-tooltip/test/q2-tooltip-test.vr.js +76 -0
- package/dist/collection/components/q2-tooltip/test/q2-tooltip-test.vr.js.map +1 -0
- package/dist/collection/components/tecton-tab-pane/tecton-tab-pane.js +2 -2
- package/dist/collection/utils/component.js +7 -1
- package/dist/collection/utils/component.js.map +1 -1
- package/dist/collection/utils/index.js +1 -1
- package/dist/collection/utils/index.js.map +1 -1
- package/dist/collection/utils/sanitize-html-string.js +19 -2
- package/dist/collection/utils/sanitize-html-string.js.map +1 -1
- package/dist/collection/utils/test/vr-helpers.js +98 -0
- package/dist/collection/utils/test/vr-helpers.js.map +1 -0
- package/dist/components/click-elsewhere2.js +2 -0
- package/dist/components/click-elsewhere2.js.map +1 -1
- package/dist/components/component.js +7 -1
- package/dist/components/component.js.map +1 -1
- package/dist/components/index.js +2 -0
- package/dist/components/index.js.map +1 -1
- package/dist/components/index2.js +1 -1
- package/dist/components/index2.js.map +1 -1
- package/dist/components/q2-action-group2.js.map +1 -1
- package/dist/components/q2-action-sheet.js +107 -2
- package/dist/components/q2-action-sheet.js.map +1 -1
- package/dist/components/q2-avatar2.js.map +1 -1
- package/dist/components/q2-badge2.js.map +1 -1
- package/dist/components/q2-btn2.js.map +1 -1
- package/dist/components/q2-calendar.js +5 -2
- package/dist/components/q2-calendar.js.map +1 -1
- package/dist/components/q2-card-image.js +1 -1
- package/dist/components/q2-card-image.js.map +1 -1
- package/dist/components/q2-card.js.map +1 -1
- package/dist/components/q2-carousel-pane.js +1 -135
- package/dist/components/q2-carousel-pane.js.map +1 -1
- package/dist/components/q2-carousel-pane2.js +140 -0
- package/dist/components/q2-carousel-pane2.js.map +1 -0
- package/dist/components/q2-carousel.js +173 -29
- package/dist/components/q2-carousel.js.map +1 -1
- package/dist/components/q2-chart-donut.js +3 -1
- package/dist/components/q2-chart-donut.js.map +1 -1
- package/dist/components/q2-checkbox-group.js.map +1 -1
- 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 +3 -4
- package/dist/components/q2-currency.js.map +1 -1
- package/dist/components/q2-data-table.js +1 -1
- package/dist/components/q2-data-table.js.map +1 -1
- package/dist/components/q2-detail.js +1 -1
- package/dist/components/q2-detail.js.map +1 -1
- package/dist/components/q2-dropdown-item2.js.map +1 -1
- package/dist/components/q2-dropdown.js +2 -4
- package/dist/components/q2-dropdown.js.map +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 +2 -2
- package/dist/components/q2-form.js.map +1 -1
- package/dist/components/q2-formatted-text.js +1 -1
- package/dist/components/q2-formatted-text.js.map +1 -1
- package/dist/components/q2-grid.js +32 -8
- package/dist/components/q2-grid.js.map +1 -1
- package/dist/components/q2-icon2.js.map +1 -1
- package/dist/components/q2-input2.js +7 -4
- package/dist/components/q2-input2.js.map +1 -1
- package/dist/components/q2-item2.js +1 -1
- package/dist/components/q2-item2.js.map +1 -1
- package/dist/components/q2-legend2.js +3 -3
- package/dist/components/q2-legend2.js.map +1 -1
- package/dist/components/q2-link2.js.map +1 -1
- package/dist/components/q2-list2.js +1 -1
- package/dist/components/q2-list2.js.map +1 -1
- 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-meter.js.map +1 -1
- package/dist/components/q2-modal.js +1 -1
- package/dist/components/q2-modal.js.map +1 -1
- package/dist/components/q2-mutation-observer.js +1 -1
- package/dist/components/q2-optgroup2.js +1 -1
- package/dist/components/q2-optgroup2.js.map +1 -1
- package/dist/components/q2-option-list2.js +37 -28
- package/dist/components/q2-option-list2.js.map +1 -1
- package/dist/components/q2-option2.js +1 -1
- package/dist/components/q2-option2.js.map +1 -1
- package/dist/components/q2-otp.d.ts +11 -0
- package/dist/components/q2-otp.js +439 -0
- package/dist/components/q2-otp.js.map +1 -0
- package/dist/components/q2-pagination.js +3 -3
- package/dist/components/q2-pagination.js.map +1 -1
- package/dist/components/q2-pill.js +23 -14
- package/dist/components/q2-pill.js.map +1 -1
- package/dist/components/q2-popover2.js +5 -2
- package/dist/components/q2-popover2.js.map +1 -1
- 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-section.js.map +1 -1
- package/dist/components/q2-select2.js.map +1 -1
- package/dist/components/q2-stepper-pane.js +1 -1
- package/dist/components/q2-stepper-vertical.js +1 -1
- package/dist/components/q2-stepper-vertical.js.map +1 -1
- package/dist/components/q2-stepper.js +1 -1
- package/dist/components/q2-stepper.js.map +1 -1
- package/dist/components/q2-tab-container.js +1 -1
- package/dist/components/q2-tab-container.js.map +1 -1
- package/dist/components/q2-tab-pane.js +1 -1
- package/dist/components/q2-tag2.js +2 -2
- package/dist/components/q2-tag2.js.map +1 -1
- package/dist/components/q2-textarea.js.map +1 -1
- package/dist/components/q2-toast.js.map +1 -1
- package/dist/components/q2-tooltip2.js +124 -5
- package/dist/components/q2-tooltip2.js.map +1 -1
- package/dist/components/sanitize-html-string.js +19 -2
- package/dist/components/sanitize-html-string.js.map +1 -1
- package/dist/components/tecton-tab-pane.js +2 -2
- package/dist/esm/click-elsewhere.q2-option-list.q2-popover.entry.js.map +1 -1
- package/dist/esm/click-elsewhere_3.entry.js +46 -32
- package/dist/esm/click-elsewhere_3.entry.js.map +1 -1
- package/dist/esm/{component-DVxzK3WH.js → component-DaQM9u3s.js} +9 -3
- package/dist/esm/component-DaQM9u3s.js.map +1 -0
- package/dist/esm/{index-C4PILj1_.js → index-C5gj0T_3.js} +4 -4
- package/dist/esm/index-C5gj0T_3.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 +2 -2
- package/dist/esm/q2-action-group_2.entry.js.map +1 -1
- package/dist/esm/q2-action-sheet.entry.js +109 -4
- package/dist/esm/q2-action-sheet.entry.js.map +1 -1
- package/dist/esm/q2-avatar.entry.js.map +1 -1
- package/dist/esm/q2-badge.entry.js +1 -1
- package/dist/esm/q2-badge.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 +1 -1
- package/dist/esm/q2-btn_2.entry.js.map +1 -1
- package/dist/esm/q2-calendar.entry.js +6 -3
- package/dist/esm/q2-calendar.entry.js.map +1 -1
- package/dist/esm/q2-card-image.entry.js +2 -2
- 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 +3 -3
- package/dist/esm/q2-carousel-pane.entry.js.map +1 -1
- package/dist/esm/q2-carousel.entry.js +162 -29
- 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 +3 -2
- package/dist/esm/q2-chart-donut.entry.js.map +1 -1
- package/dist/esm/q2-checkbox-group.entry.js +2 -2
- package/dist/esm/q2-checkbox-group.entry.js.map +1 -1
- package/dist/esm/q2-checkbox.q2-tag.entry.js.map +1 -1
- package/dist/esm/q2-checkbox_2.entry.js +3 -3
- package/dist/esm/q2-checkbox_2.entry.js.map +1 -1
- package/dist/esm/q2-context.entry.js +2 -2
- package/dist/esm/q2-context.entry.js.map +1 -1
- package/dist/esm/q2-currency.entry.js +3 -4
- package/dist/esm/q2-currency.entry.js.map +1 -1
- package/dist/esm/q2-data-table.entry.js +2 -2
- package/dist/esm/q2-data-table.entry.js.map +1 -1
- package/dist/esm/q2-detail.entry.js +2 -2
- package/dist/esm/q2-detail.entry.js.map +1 -1
- package/dist/esm/q2-dropdown-item.entry.js +2 -2
- package/dist/esm/q2-dropdown-item.entry.js.map +1 -1
- package/dist/esm/q2-dropdown.entry.js +3 -5
- package/dist/esm/q2-dropdown.entry.js.map +1 -1
- package/dist/esm/q2-editable-field.entry.js +1 -1
- 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 +2 -2
- package/dist/esm/q2-form.entry.js.map +1 -1
- package/dist/esm/q2-formatted-text.entry.js +1 -1
- package/dist/esm/q2-formatted-text.entry.js.map +1 -1
- package/dist/esm/q2-grid-area.entry.js +1 -1
- package/dist/esm/q2-grid.entry.js +33 -9
- package/dist/esm/q2-grid.entry.js.map +1 -1
- package/dist/esm/q2-icon.entry.js +1 -1
- package/dist/esm/q2-icon.entry.js.map +1 -1
- package/dist/esm/q2-input.entry.js +8 -5
- package/dist/esm/q2-input.entry.js.map +1 -1
- package/dist/esm/q2-item.entry.js +2 -2
- package/dist/esm/q2-item.entry.js.map +1 -1
- package/dist/esm/q2-legend.entry.js +2 -3
- 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 +2 -2
- 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-meter.entry.js.map +1 -1
- package/dist/esm/q2-modal.entry.js +3 -3
- package/dist/esm/q2-modal.entry.js.map +1 -1
- package/dist/esm/q2-month-picker.entry.js +1 -1
- package/dist/esm/q2-mutation-observer.entry.js +1 -1
- package/dist/esm/q2-optgroup.entry.js +3 -3
- package/dist/esm/q2-optgroup.entry.js.map +1 -1
- package/dist/esm/q2-option.entry.js +3 -3
- package/dist/esm/q2-option.entry.js.map +1 -1
- package/dist/esm/q2-otp.entry.js +371 -0
- package/dist/esm/q2-otp.entry.js.map +1 -0
- package/dist/esm/q2-pagination.entry.js +4 -4
- package/dist/esm/q2-pagination.entry.js.map +1 -1
- package/dist/esm/q2-pill.entry.js +24 -15
- package/dist/esm/q2-pill.entry.js.map +1 -1
- package/dist/esm/q2-radio-group.entry.js +1 -1
- package/dist/esm/q2-radio-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-container.entry.js +1 -1
- package/dist/esm/q2-section.entry.js +3 -3
- package/dist/esm/q2-section.entry.js.map +1 -1
- package/dist/esm/q2-select.entry.js +1 -1
- package/dist/esm/q2-select.entry.js.map +1 -1
- package/dist/esm/q2-stepper-pane.entry.js +3 -3
- package/dist/esm/q2-stepper-vertical.entry.js +2 -2
- package/dist/esm/q2-stepper-vertical.entry.js.map +1 -1
- package/dist/esm/q2-stepper.entry.js +2 -2
- 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 +2 -2
- package/dist/esm/q2-tecton-elements.js +1 -1
- package/dist/esm/q2-textarea.entry.js +1 -1
- package/dist/esm/q2-textarea.entry.js.map +1 -1
- package/dist/esm/q2-toast.entry.js +1 -1
- package/dist/esm/q2-toast.entry.js.map +1 -1
- package/dist/esm/q2-tooltip.entry.js +124 -5
- package/dist/esm/q2-tooltip.entry.js.map +1 -1
- package/dist/esm/{sanitize-html-string-B35VmRc9.js → sanitize-html-string-DPHNpMWE.js} +21 -4
- package/dist/{q2-tecton-elements/sanitize-html-string-B35VmRc9.js.map → esm/sanitize-html-string-DPHNpMWE.js.map} +1 -1
- package/dist/esm/tecton-tab-pane.entry.js +2 -2
- package/dist/playwright.config.js +12 -0
- package/dist/playwright.config.js.map +1 -0
- package/dist/q2-tecton-elements/assets/standard.symbol.svg +1 -1
- package/dist/q2-tecton-elements/click-elsewhere.q2-option-list.q2-popover.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/click-elsewhere_3.entry.js +44 -35
- package/dist/q2-tecton-elements/click-elsewhere_3.entry.js.map +1 -1
- package/dist/q2-tecton-elements/component-DaQM9u3s.js +46 -0
- package/dist/q2-tecton-elements/component-DaQM9u3s.js.map +1 -0
- package/dist/q2-tecton-elements/{index-C4PILj1_.js → index-C5gj0T_3.js} +4 -4
- package/dist/q2-tecton-elements/index-C5gj0T_3.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 +2 -2
- 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 +166 -70
- 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.map +1 -1
- package/dist/q2-tecton-elements/q2-badge.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-badge.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-badge.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 +1 -1
- 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.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-card-image.entry.js +2 -2
- 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 +6 -6
- 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 +402 -271
- package/dist/q2-tecton-elements/q2-carousel.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-chart-area.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-chart-bar.entry.js +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 +18 -16
- 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 +2 -2
- 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 -1
- package/dist/q2-tecton-elements/q2-checkbox_2.entry.js +7 -7
- package/dist/q2-tecton-elements/q2-checkbox_2.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 +2 -2
- package/dist/q2-tecton-elements/q2-context.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-currency.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-currency.entry.js +34 -33
- package/dist/q2-tecton-elements/q2-currency.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-data-table.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-data-table.entry.js +4 -4
- 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 +4 -4
- 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 +2 -2
- 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 +18 -19
- package/dist/q2-tecton-elements/q2-dropdown.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-editable-field.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-editable-field.entry.js +1 -1
- 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.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-form.entry.js +9 -9
- package/dist/q2-tecton-elements/q2-form.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-formatted-text.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-formatted-text.entry.js +2 -2
- package/dist/q2-tecton-elements/q2-formatted-text.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-grid-area.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-grid.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-grid.entry.js +39 -14
- package/dist/q2-tecton-elements/q2-grid.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 +52 -52
- 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 +10 -6
- 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 +14 -14
- 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 +4 -5
- 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 +7 -7
- 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 +28 -28
- package/dist/q2-tecton-elements/q2-message.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-meter.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-meter.entry.js +8 -8
- package/dist/q2-tecton-elements/q2-meter.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-modal.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-modal.entry.js +53 -53
- package/dist/q2-tecton-elements/q2-modal.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-month-picker.entry.js +1 -1
- 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 +6 -6
- package/dist/q2-tecton-elements/q2-optgroup.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 +3 -3
- package/dist/q2-tecton-elements/q2-option.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-otp.entry.esm.js.map +1 -0
- package/dist/q2-tecton-elements/q2-otp.entry.js +453 -0
- package/dist/q2-tecton-elements/q2-otp.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-pagination.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-pagination.entry.js +29 -29
- 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 +43 -28
- 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 +1 -1
- 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 +10 -10
- 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-container.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-section.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-section.entry.js +21 -21
- package/dist/q2-tecton-elements/q2-section.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-select.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-select.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-select.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-stepper-pane.entry.js +10 -10
- package/dist/q2-tecton-elements/q2-stepper-vertical.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-stepper-vertical.entry.js +5 -5
- 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 +33 -33
- 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 +14 -14
- package/dist/q2-tecton-elements/q2-tab-container.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-tab-pane.entry.js +6 -6
- 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 +1 -1
- package/dist/q2-tecton-elements/q2-textarea.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-toast.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-toast.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-toast.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-tooltip.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-tooltip.entry.js +136 -20
- package/dist/q2-tecton-elements/q2-tooltip.entry.js.map +1 -1
- package/dist/q2-tecton-elements/{sanitize-html-string-B35VmRc9.js → sanitize-html-string-DPHNpMWE.js} +147 -142
- package/dist/{esm/sanitize-html-string-B35VmRc9.js.map → q2-tecton-elements/sanitize-html-string-DPHNpMWE.js.map} +1 -1
- package/dist/q2-tecton-elements/tecton-tab-pane.entry.js +6 -6
- package/dist/types/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/.stencil/playwright.config.d.ts +2 -0
- package/dist/types/components/q2-action-sheet/q2-action-sheet.d.ts +22 -0
- package/dist/types/components/q2-avatar/test/q2-avatar-test.vr.d.ts +1 -0
- package/dist/types/components/q2-badge/test/q2-badge-test.vr.d.ts +1 -0
- package/dist/types/components/q2-btn/test/q2-btn-test.vr.d.ts +1 -0
- package/dist/types/components/q2-calendar/test/q2-calendar-test.vr.d.ts +1 -0
- package/dist/types/components/q2-card/test/q2-card-test.vr.d.ts +1 -0
- package/dist/types/components/q2-card-image/test/q2-card-image-test.vr.d.ts +1 -0
- package/dist/types/components/q2-carousel/q2-carousel.d.ts +29 -0
- package/dist/types/components/q2-carousel/test/q2-carousel-test.vr.d.ts +1 -0
- package/dist/types/components/q2-chart-area/test/q2-chart-area-test.vr.d.ts +1 -0
- package/dist/types/components/q2-chart-bar/test/q2-chart-bar-test.vr.d.ts +1 -0
- package/dist/types/components/q2-chart-donut/q2-chart-donut.d.ts +2 -0
- package/dist/types/components/q2-chart-donut/test/q2-chart-donut-test.vr.d.ts +1 -0
- package/dist/types/components/q2-checkbox/test/q2-checkbox-test.vr.d.ts +1 -0
- package/dist/types/components/q2-checkbox-group/test/q2-checkbox-group-test.vr.d.ts +1 -0
- package/dist/types/components/q2-context/test/q2-context-test.vr.d.ts +1 -0
- package/dist/types/components/q2-currency/test/q2-currency-test.vr.d.ts +1 -0
- package/dist/types/components/q2-data-table/test/q2-data-table-test.vr.d.ts +1 -0
- package/dist/types/components/q2-editable-field/test/q2-editable-field-test.vr.d.ts +1 -0
- package/dist/types/components/q2-file-picker/test/q2-file-picker-test.vr.d.ts +1 -0
- package/dist/types/components/q2-formatted-text/test/q2-formatted-text-test.vr.d.ts +1 -0
- package/dist/types/components/q2-grid/q2-grid.d.ts +10 -0
- package/dist/types/components/q2-icon/test/q2-icon-test.vr.d.ts +1 -0
- package/dist/types/components/q2-input/test/q2-input-test.vr.d.ts +1 -0
- package/dist/types/components/q2-legend/q2-legend.d.ts +2 -0
- package/dist/types/components/q2-link/test/q2-link-test.vr.d.ts +1 -0
- package/dist/types/components/q2-list/test/q2-list-test.vr.d.ts +1 -0
- package/dist/types/components/q2-message/test/q2-message-test.vr.d.ts +1 -0
- package/dist/types/components/q2-meter/test/q2-meter-test.vr.d.ts +1 -0
- package/dist/types/components/q2-modal/test/q2-modal-test.vr.d.ts +1 -0
- package/dist/types/components/q2-otp/q2-otp.d.ts +159 -0
- package/dist/types/components/q2-pagination/test/q2-pagination-test.vr.d.ts +1 -0
- package/dist/types/components/q2-pill/q2-pill.d.ts +5 -2
- package/dist/types/components/q2-pill/test/q2-pill-test.vr.d.ts +1 -0
- package/dist/types/components/q2-radio/q2-radio.d.ts +1 -1
- package/dist/types/components/q2-radio/test/q2-radio-test.vr.d.ts +1 -0
- package/dist/types/components/q2-radio-group/test/q2-radio-group-test.vr.d.ts +1 -0
- package/dist/types/components/q2-section/test/q2-section-test.vr.d.ts +1 -0
- package/dist/types/components/q2-select/test/q2-select-test.vr.d.ts +1 -0
- package/dist/types/components/q2-stepper/test/q2-stepper-test.vr.d.ts +1 -0
- package/dist/types/components/q2-stepper-vertical/test/q2-stepper-vertical-test.vr.d.ts +1 -0
- package/dist/types/components/q2-tab-container/test/q2-tab-container-test.vr.d.ts +1 -0
- package/dist/types/components/q2-tag/test/q2-tag-test.vr.d.ts +1 -0
- package/dist/types/components/q2-textarea/test/q2-textarea-test.vr.d.ts +1 -0
- package/dist/types/components/q2-tooltip/q2-tooltip.d.ts +4 -0
- package/dist/types/components/q2-tooltip/test/q2-tooltip-test.vr.d.ts +1 -0
- package/dist/types/components.d.ts +306 -2
- package/dist/types/utils/component.d.ts +1 -1
- package/dist/types/utils/test/vr-helpers.d.ts +14 -0
- package/package.json +12 -3
- package/dist/cjs/component-DRAntnCA.js.map +0 -1
- package/dist/cjs/index-YvKoRT-t.js.map +0 -1
- package/dist/esm/component-DVxzK3WH.js.map +0 -1
- package/dist/esm/index-C4PILj1_.js.map +0 -1
- package/dist/q2-tecton-elements/component-DVxzK3WH.js +0 -40
- package/dist/q2-tecton-elements/component-DVxzK3WH.js.map +0 -1
- package/dist/q2-tecton-elements/index-C4PILj1_.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"q2-currency.entry.esm.js","sources":["src/components/q2-currency/q2-currency.scss?tag=q2-currency&encapsulation=shadow","src/components/q2-currency/q2-currency.tsx"],"sourcesContent":["@import '../../styles/host.scss';\n@import '../../styles/functions';\n\n:host {\n display: inline-block;\n}\n\n.currency {\n --comp-currency-color: #{var-list(--tct-currency-color, --t-text, #4d4d4d)};\n color: var(--comp-currency-color);\n font-size: var-list(--tct-currency-font-size, inherit);\n font-weight: var-list(--tct-currency-font-weight, inherit);\n\n &.positive {\n color: var-list(--tct-currency-positive-color, --comp-currency-color);\n }\n\n &.negative {\n color: var-list(--tct-currency-negative-color, --comp-currency-color);\n }\n\n &.debit {\n &.positive {\n color: var-list(--tct-currency-debit-positive-color, --const-stoplight-success, #0e8a00);\n }\n\n &.negative {\n color: var-list(--tct-currency-debit-negative-color, --const-stoplight-alert, #d20a0a);\n }\n }\n\n &.credit {\n &.positive {\n color: var-list(--tct-currency-credit-positive-color, --const-stoplight-alert, #d20a0a);\n }\n\n &.negative {\n color: var-list(--tct-currency-credit-negative-color, --const-stoplight-success, #0e8a00);\n }\n }\n\n &.masked {\n line-height: 1; // ensures gradient covers full text height in all contexts\n\n &.positive {\n background: var(\n --tct-currency-masked-positive-background,\n unquote('linear-gradient(180deg, var(--t-text, #4d4d4d) 0%, #b3b3b3 100%)')\n );\n background-clip: text;\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n -moz-background-clip: text;\n -moz-text-fill-color: transparent;\n }\n\n &.negative {\n background: var(\n --tct-currency-masked-negative-background,\n unquote('linear-gradient(180deg, var(--t-text, #4d4d4d) 0%, #b3b3b3 100%)')\n );\n background-clip: text;\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n -moz-background-clip: text;\n -moz-text-fill-color: transparent;\n }\n }\n}\n\n.currency-small {\n color: var(--tct-currency-small-color, inherit);\n font-size: var(--tct-currency-small-font-size, 24px);\n font-weight: var(--tct-currency-small-font-weight, 600);\n\n .superscript {\n vertical-align: super;\n color: var(--tct-currency-small-superscript-color, inherit);\n font-size: var(--tct-currency-small-superscript-font-size, 0.5em);\n font-weight: var(--tct-currency-small-superscript-font-weight, 700);\n }\n}\n\n.currency-medium {\n color: var(--tct-currency-medium-color, inherit);\n font-size: var(--tct-currency-medium-font-size, 42px);\n font-weight: var(--tct-currency-medium-font-weight, 600);\n\n .superscript {\n vertical-align: super;\n color: var(--tct-currency-medium-superscript-color, inherit);\n font-size: var(--tct-currency-medium-superscript-font-size, 0.5em);\n font-weight: var(--tct-currency-medium-superscript-font-weight, 700);\n }\n}\n\n.currency-large {\n color: var(--tct-currency-large-color, inherit);\n font-size: var(--tct-currency-large-font-size, 70px);\n font-weight: var(--tct-currency-large-font-weight, 700);\n\n .superscript {\n vertical-align: super;\n color: var(--tct-currency-large-superscript-color, inherit);\n font-size: var(--tct-currency-large-superscript-font-size, 0.5em);\n font-weight: var(--tct-currency-large-superscript-font-weight, 800);\n }\n}\n","import { Component, Prop, Watch, h, ComponentInterface, Element, Method } from '@stencil/core';\n/**\n * @name Currency\n * @category Text\n * @summary Use for displaying formatted monetary amounts with proper locale.\n */\n@Component({ tag: 'q2-currency', shadow: true, styleUrl: 'q2-currency.scss' })\nexport class Q2Currency implements ComponentInterface {\n // #region Own Properties\n\n /** @private The parts of the formatted number. */\n formattedParts: Intl.NumberFormatPart[];\n /** @private The full currency for aria-label purposes. */\n readableCurrency: string;\n\n // #endregion\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region Public Property API\n\n /** The amount you want formatted. */\n @Prop({ reflect: true })\n amount: number;\n\n /** Formats the `amount` to a specific currency. */\n @Prop({ reflect: true })\n currency: string = 'USD';\n\n /** Formats to the language provided. Accepts multiple locales in an array as sequential fallbacks. */\n @Prop({ reflect: true })\n locale: string | string[] = document.documentElement.lang || 'en-US';\n\n /**\n * Determine how the positive or negative sign should display.\n *\n * Behavior:\n * - `accounting`: No sign displays for positive amounts and parentheses wrap negative amounts.\n * - `always`: Always display the sign.\n * - `auto`: Sign displays for negative amounts only, including negative zero.\n * - `exceptZero`: Sign displays for positive and negative amounts, but not zero.\n * - `never`: Never display the sign.\n */\n @Prop({ reflect: true })\n signDisplay: 'accounting' | 'always' | 'auto' | 'exceptZero' | 'never' = 'auto';\n\n /** Applies styling based on the size provided. If no size is provided, it will display as inline text. */\n @Prop({ reflect: true })\n size: 'small' | 'medium' | 'large';\n\n /** @private Inherited from q2-detail when slotted to match styling of q2-detail and q2-currency texts. */\n @Prop({ reflect: true })\n slotSize: string;\n\n /**\n * The variant controls how the currency is colored and exposes unique CSS overrides.\n * The `debit` and `credit` variants align styling with common practices for coloring debit and credit accounts.\n * The `masked` variant exposes the ability to use gradients and images to color the currency.\n */\n @Prop({ reflect: true })\n variant: 'debit' | 'credit' | 'masked';\n\n // #endregion\n // #region Component Lifecycle Events\n\n componentWillLoad(): void | Promise<void> {\n this.formatCurrency();\n }\n\n // #endregion\n // #region Public Methods API\n\n /**\n * A method to retrieve the displayed currency value.\n *\n * @testOnly\n */\n @Method()\n async displayedMessageValue() {\n const currency = this.hostElement.shadowRoot.querySelector('[test-id=\"q2CurrencyInner\"]');\n return currency?.getAttribute('aria-label') || '';\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('amount')\n @Watch('currency')\n @Watch('locale')\n @Watch('size')\n @Watch('slotSize')\n @Watch('signDisplay')\n @Watch('variant')\n propsUpdated() {\n this.formatCurrency();\n }\n\n // #endregion\n // #region Local Methods\n\n get amountCore(): string {\n const { formattedParts, shouldSuperscriptFraction } = this;\n let amount: string = '';\n\n for (const part of formattedParts) {\n if (\n part.type === 'integer' ||\n part.type === 'decimal' ||\n part.type === 'group' ||\n part.type === 'literal'\n ) {\n amount += part.value;\n }\n }\n\n // removes trailing decimal point if superscripting the fraction\n if (shouldSuperscriptFraction && amount[amount.length - 1] === '.') amount = amount.slice(0, -1);\n // removes end whitespace that breaks formatting\n amount = amount.trimEnd();\n\n return amount;\n }\n\n get currencyClasses(): string {\n const { size, slotSize, isNegativeAmount, variant } = this;\n const classes = ['currency'];\n const sizeClass = size ? size : slotSize;\n const sign = isNegativeAmount ? 'negative' : 'positive';\n\n classes.push(sign);\n if (!!variant) classes.push(variant);\n if (!!sizeClass) classes.push(`currency-${sizeClass}`);\n\n return classes.join(' ');\n }\n\n get currencyIsFront(): boolean {\n const index = this.formattedParts.findIndex((part: Intl.NumberFormatPart) => part.type === 'currency');\n if (index === 0 || index === 1) return true;\n return false;\n }\n\n get currencySymbol(): string {\n const { formattedParts, currencyIsFront } = this;\n const currencyIndex = formattedParts.findIndex((part: Intl.NumberFormatPart) => part.type === 'currency');\n const symbol = formattedParts[currencyIndex].value;\n return currencyIsFront ? symbol : ' ' + symbol;\n }\n\n get fraction(): string {\n const { formattedParts } = this;\n const fraction = formattedParts.find((part: Intl.NumberFormatPart) => part.type === 'fraction');\n if (!fraction) return;\n\n return fraction.value;\n }\n\n get hasPlusMinusSign(): boolean {\n return this.formattedParts.some(\n (part: Intl.NumberFormatPart) => part.type === 'minusSign' || part.type === 'plusSign'\n );\n }\n\n get isNegativeAmount(): boolean {\n const hasNegativePart = this.formattedParts.some((part: Intl.NumberFormatPart) => part.type === 'minusSign');\n const hasNegativeDash = String(this.amount).startsWith('-');\n return hasNegativePart || hasNegativeDash;\n }\n\n get plusMinusSign(): string {\n const { formattedParts, hasPlusMinusSign } = this;\n if (!hasPlusMinusSign) return;\n\n const sign = formattedParts.find(\n (part: Intl.NumberFormatPart) => part.type === 'minusSign' || part.type === 'plusSign'\n );\n return sign.value;\n }\n\n get shouldSuperscriptFraction(): boolean {\n const fractionIndex = this.formattedParts.findIndex((part: Intl.NumberFormatPart) => part.type === 'fraction');\n const commaBeforeFraction = this.formattedParts[fractionIndex - 1]?.value === ',';\n\n if (commaBeforeFraction || !this.currencyIsFront || this.sizeValue === 'small' || !this.sizeProvided)\n return false;\n\n return true;\n }\n\n get shouldSuperscriptSymbol(): boolean {\n if (!this.currencyIsFront || this.sizeProvided) return true;\n\n return false;\n }\n\n get sizeProvided(): boolean {\n return !!this.size || !!this.slotSize;\n }\n\n get sizeValue(): string {\n return this.size ? this.size : this.slotSize;\n }\n\n formatCurrency() {\n const formatOptions = new Intl.NumberFormat(this.locale, {\n style: 'currency',\n currency: this.currency,\n signDisplay: this.signDisplay === 'accounting' ? 'never' : this.signDisplay,\n });\n this.formattedParts = formatOptions.formatToParts(this.amount);\n this.readableCurrency = formatOptions.format(this.amount);\n }\n\n // #endregion\n // #region Render Methods\n\n render() {\n const {\n hasPlusMinusSign,\n plusMinusSign,\n currencyIsFront,\n currencySymbol,\n shouldSuperscriptSymbol,\n amountCore,\n fraction,\n shouldSuperscriptFraction,\n readableCurrency,\n currencyClasses,\n signDisplay,\n isNegativeAmount,\n } = this;\n\n return (\n <div\n test-id=\"q2CurrencyInner\"\n class={currencyClasses}\n aria-label={readableCurrency}\n >\n {signDisplay === 'accounting' && isNegativeAmount && <span>{'('}</span>}\n {hasPlusMinusSign && <span>{plusMinusSign}</span>}\n {currencyIsFront && <span class={shouldSuperscriptSymbol ? 'superscript' : ''}>{currencySymbol}</span>}\n <span>{amountCore}</span>\n <span class={shouldSuperscriptFraction ? 'superscript' : ''}>{fraction}</span>\n {!currencyIsFront && <span class={shouldSuperscriptSymbol ? 'superscript' : ''}>{currencySymbol}</span>}\n {signDisplay === 'accounting' && isNegativeAmount && <span>{')'}</span>}\n </div>\n );\n }\n\n // #endregion\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"q2-currency.entry.esm.js","sources":["src/components/q2-currency/q2-currency.scss?tag=q2-currency&encapsulation=shadow","src/components/q2-currency/q2-currency.tsx"],"sourcesContent":["@import '../../styles/host.scss';\n@import '../../styles/functions';\n@import './variables';\n\n:host {\n display: inline-block;\n}\n\n.currency {\n --comp-currency-color: #{var-list(--tct-currency-color, --t-text, #4d4d4d)};\n color: var(--comp-currency-color);\n font-size: var-list(--tct-currency-font-size, inherit);\n font-weight: var-list(--tct-currency-font-weight, inherit);\n\n &.positive {\n color: var-list(--tct-currency-positive-color, --comp-currency-color);\n }\n\n &.negative {\n color: var-list(--tct-currency-negative-color, --comp-currency-color);\n }\n\n &.debit {\n &.positive {\n color: var-list(--tct-currency-debit-positive-color, --const-stoplight-success, #0e8a00);\n }\n\n &.negative {\n color: var-list(--tct-currency-debit-negative-color, --const-stoplight-alert, #d20a0a);\n }\n }\n\n &.credit {\n &.positive {\n color: var-list(--tct-currency-credit-positive-color, --const-stoplight-alert, #d20a0a);\n }\n\n &.negative {\n color: var-list(--tct-currency-credit-negative-color, --const-stoplight-success, #0e8a00);\n }\n }\n\n &.masked {\n line-height: 1; // ensures gradient covers full text height in all contexts\n\n &.positive {\n background: var(\n --tct-currency-masked-positive-background,\n unquote('linear-gradient(180deg, var(--t-text, #4d4d4d) 0%, #b3b3b3 100%)')\n );\n background-clip: text;\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n -moz-background-clip: text;\n -moz-text-fill-color: transparent;\n }\n\n &.negative {\n background: var(\n --tct-currency-masked-negative-background,\n unquote('linear-gradient(180deg, var(--t-text, #4d4d4d) 0%, #b3b3b3 100%)')\n );\n background-clip: text;\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n -moz-background-clip: text;\n -moz-text-fill-color: transparent;\n }\n }\n}\n\n.currency-small {\n color: var(--tct-currency-small-color, inherit);\n font-size: var(--tct-currency-small-font-size, 24px);\n font-weight: var(--tct-currency-small-font-weight, 600);\n\n .superscript {\n vertical-align: super;\n color: var(--tct-currency-small-superscript-color, inherit);\n font-size: var(--tct-currency-small-superscript-font-size, 0.5em);\n font-weight: var(--tct-currency-small-superscript-font-weight, 700);\n }\n}\n\n.currency-medium {\n color: var(--tct-currency-medium-color, inherit);\n font-size: var(--tct-currency-medium-font-size, 42px);\n font-weight: var(--tct-currency-medium-font-weight, 600);\n\n .superscript {\n vertical-align: super;\n color: var(--tct-currency-medium-superscript-color, inherit);\n font-size: var(--tct-currency-medium-superscript-font-size, 0.5em);\n font-weight: var(--tct-currency-medium-superscript-font-weight, 700);\n }\n}\n\n.currency-large {\n color: var(--tct-currency-large-color, inherit);\n font-size: var(--tct-currency-large-font-size, 70px);\n font-weight: var(--tct-currency-large-font-weight, 700);\n\n .superscript {\n vertical-align: super;\n color: var(--tct-currency-large-superscript-color, inherit);\n font-size: var(--tct-currency-large-superscript-font-size, 0.5em);\n font-weight: var(--tct-currency-large-superscript-font-weight, 800);\n }\n}\n","import { Component, Prop, Watch, h, ComponentInterface, Element, Host, Method } from '@stencil/core';\n/**\n * @name Currency\n * @category Text\n * @summary Use for displaying formatted monetary amounts with proper locale.\n */\n@Component({ tag: 'q2-currency', shadow: true, styleUrl: 'q2-currency.scss' })\nexport class Q2Currency implements ComponentInterface {\n // #region Own Properties\n\n /** @private The parts of the formatted number. */\n formattedParts: Intl.NumberFormatPart[];\n /** @private The full currency for aria-label purposes. */\n readableCurrency: string;\n\n // #endregion\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region Public Property API\n\n /** The amount you want formatted. */\n @Prop({ reflect: true })\n amount: number;\n\n /** Formats the `amount` to a specific currency. */\n @Prop({ reflect: true })\n currency: string = 'USD';\n\n /** Formats to the language provided. Accepts multiple locales in an array as sequential fallbacks. */\n @Prop({ reflect: true })\n locale: string | string[] = document.documentElement.lang || 'en-US';\n\n /**\n * Determine how the positive or negative sign should display.\n *\n * Behavior:\n * - `accounting`: No sign displays for positive amounts and parentheses wrap negative amounts.\n * - `always`: Always display the sign.\n * - `auto`: Sign displays for negative amounts only, including negative zero.\n * - `exceptZero`: Sign displays for positive and negative amounts, but not zero.\n * - `never`: Never display the sign.\n */\n @Prop({ reflect: true })\n signDisplay: 'accounting' | 'always' | 'auto' | 'exceptZero' | 'never' = 'auto';\n\n /** Applies styling based on the size provided. If no size is provided, it will display as inline text. */\n @Prop({ reflect: true })\n size: 'small' | 'medium' | 'large';\n\n /** @private Inherited from q2-detail when slotted to match styling of q2-detail and q2-currency texts. */\n @Prop({ reflect: true })\n slotSize: string;\n\n /**\n * The variant controls how the currency is colored and exposes unique CSS overrides.\n * The `debit` and `credit` variants align styling with common practices for coloring debit and credit accounts.\n * The `masked` variant exposes the ability to use gradients and images to color the currency.\n */\n @Prop({ reflect: true })\n variant: 'debit' | 'credit' | 'masked';\n\n // #endregion\n // #region Component Lifecycle Events\n\n componentWillLoad(): void | Promise<void> {\n this.formatCurrency();\n }\n\n // #endregion\n // #region Public Methods API\n\n /**\n * A method to retrieve the displayed currency value.\n *\n * @testOnly\n */\n @Method()\n async displayedMessageValue() {\n return this.hostElement.getAttribute('aria-label') || '';\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('amount')\n @Watch('currency')\n @Watch('locale')\n @Watch('size')\n @Watch('slotSize')\n @Watch('signDisplay')\n @Watch('variant')\n propsUpdated() {\n this.formatCurrency();\n }\n\n // #endregion\n // #region Local Methods\n\n get amountCore(): string {\n const { formattedParts, shouldSuperscriptFraction } = this;\n let amount: string = '';\n\n for (const part of formattedParts) {\n if (\n part.type === 'integer' ||\n part.type === 'decimal' ||\n part.type === 'group' ||\n part.type === 'literal'\n ) {\n amount += part.value;\n }\n }\n\n // removes trailing decimal point if superscripting the fraction\n if (shouldSuperscriptFraction && amount[amount.length - 1] === '.') amount = amount.slice(0, -1);\n // removes end whitespace that breaks formatting\n amount = amount.trimEnd();\n\n return amount;\n }\n\n get currencyClasses(): string {\n const { size, slotSize, isNegativeAmount, variant } = this;\n const classes = ['currency'];\n const sizeClass = size ? size : slotSize;\n const sign = isNegativeAmount ? 'negative' : 'positive';\n\n classes.push(sign);\n if (!!variant) classes.push(variant);\n if (!!sizeClass) classes.push(`currency-${sizeClass}`);\n\n return classes.join(' ');\n }\n\n get currencyIsFront(): boolean {\n const index = this.formattedParts.findIndex((part: Intl.NumberFormatPart) => part.type === 'currency');\n if (index === 0 || index === 1) return true;\n return false;\n }\n\n get currencySymbol(): string {\n const { formattedParts, currencyIsFront } = this;\n const currencyIndex = formattedParts.findIndex((part: Intl.NumberFormatPart) => part.type === 'currency');\n const symbol = formattedParts[currencyIndex].value;\n return currencyIsFront ? symbol : ' ' + symbol;\n }\n\n get fraction(): string {\n const { formattedParts } = this;\n const fraction = formattedParts.find((part: Intl.NumberFormatPart) => part.type === 'fraction');\n if (!fraction) return;\n\n return fraction.value;\n }\n\n get hasPlusMinusSign(): boolean {\n return this.formattedParts.some(\n (part: Intl.NumberFormatPart) => part.type === 'minusSign' || part.type === 'plusSign'\n );\n }\n\n get isNegativeAmount(): boolean {\n const hasNegativePart = this.formattedParts.some((part: Intl.NumberFormatPart) => part.type === 'minusSign');\n const hasNegativeDash = String(this.amount).startsWith('-');\n return hasNegativePart || hasNegativeDash;\n }\n\n get plusMinusSign(): string {\n const { formattedParts, hasPlusMinusSign } = this;\n if (!hasPlusMinusSign) return;\n\n const sign = formattedParts.find(\n (part: Intl.NumberFormatPart) => part.type === 'minusSign' || part.type === 'plusSign'\n );\n return sign.value;\n }\n\n get shouldSuperscriptFraction(): boolean {\n const fractionIndex = this.formattedParts.findIndex((part: Intl.NumberFormatPart) => part.type === 'fraction');\n const commaBeforeFraction = this.formattedParts[fractionIndex - 1]?.value === ',';\n\n if (commaBeforeFraction || !this.currencyIsFront || this.sizeValue === 'small' || !this.sizeProvided)\n return false;\n\n return true;\n }\n\n get shouldSuperscriptSymbol(): boolean {\n if (!this.currencyIsFront || this.sizeProvided) return true;\n\n return false;\n }\n\n get sizeProvided(): boolean {\n return !!this.size || !!this.slotSize;\n }\n\n get sizeValue(): string {\n return this.size ? this.size : this.slotSize;\n }\n\n formatCurrency() {\n const formatOptions = new Intl.NumberFormat(this.locale, {\n style: 'currency',\n currency: this.currency,\n signDisplay: this.signDisplay === 'accounting' ? 'never' : this.signDisplay,\n });\n this.formattedParts = formatOptions.formatToParts(this.amount);\n this.readableCurrency = formatOptions.format(this.amount);\n }\n\n // #endregion\n // #region Render Methods\n\n render() {\n const {\n hasPlusMinusSign,\n plusMinusSign,\n currencyIsFront,\n currencySymbol,\n shouldSuperscriptSymbol,\n amountCore,\n fraction,\n shouldSuperscriptFraction,\n readableCurrency,\n currencyClasses,\n signDisplay,\n isNegativeAmount,\n } = this;\n\n return (\n <Host aria-label={readableCurrency}>\n <div\n test-id=\"q2CurrencyInner\"\n class={currencyClasses}\n >\n {signDisplay === 'accounting' && isNegativeAmount && <span>{'('}</span>}\n {hasPlusMinusSign && <span>{plusMinusSign}</span>}\n {currencyIsFront && (\n <span class={shouldSuperscriptSymbol ? 'superscript' : ''}>{currencySymbol}</span>\n )}\n <span>{amountCore}</span>\n <span class={shouldSuperscriptFraction ? 'superscript' : ''}>{fraction}</span>\n {!currencyIsFront && (\n <span class={shouldSuperscriptSymbol ? 'superscript' : ''}>{currencySymbol}</span>\n )}\n {signDisplay === 'accounting' && isNegativeAmount && <span>{')'}</span>}\n </div>\n </Host>\n );\n }\n\n // #endregion\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { r, h as t,
|
|
1
|
+
import { r, h as t, H as e, g as c } from "./index-CGkHOjh1.js";
|
|
2
2
|
|
|
3
|
-
const
|
|
3
|
+
const i = "*{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:inline-block}.currency{--comp-currency-color:var(--tct-currency-color, var(--t-text, #4d4d4d));color:var(--comp-currency-color);font-size:var(--tct-currency-font-size, inherit);font-weight:var(--tct-currency-font-weight, inherit)}.currency.positive{color:var(--tct-currency-positive-color, var(--comp-currency-color))}.currency.negative{color:var(--tct-currency-negative-color, var(--comp-currency-color))}.currency.debit.positive{color:var(--tct-currency-debit-positive-color, var(--const-stoplight-success, #0e8a00))}.currency.debit.negative{color:var(--tct-currency-debit-negative-color, var(--const-stoplight-alert, #d20a0a))}.currency.credit.positive{color:var(--tct-currency-credit-positive-color, var(--const-stoplight-alert, #d20a0a))}.currency.credit.negative{color:var(--tct-currency-credit-negative-color, var(--const-stoplight-success, #0e8a00))}.currency.masked{line-height:1}.currency.masked.positive{background:var(--tct-currency-masked-positive-background, linear-gradient(180deg, var(--t-text, #4d4d4d) 0%, #b3b3b3 100%));background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;-moz-background-clip:text;-moz-text-fill-color:transparent}.currency.masked.negative{background:var(--tct-currency-masked-negative-background, linear-gradient(180deg, var(--t-text, #4d4d4d) 0%, #b3b3b3 100%));background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;-moz-background-clip:text;-moz-text-fill-color:transparent}.currency-small{color:var(--tct-currency-small-color, inherit);font-size:var(--tct-currency-small-font-size, 24px);font-weight:var(--tct-currency-small-font-weight, 600)}.currency-small .superscript{vertical-align:super;color:var(--tct-currency-small-superscript-color, inherit);font-size:var(--tct-currency-small-superscript-font-size, 0.5em);font-weight:var(--tct-currency-small-superscript-font-weight, 700)}.currency-medium{color:var(--tct-currency-medium-color, inherit);font-size:var(--tct-currency-medium-font-size, 42px);font-weight:var(--tct-currency-medium-font-weight, 600)}.currency-medium .superscript{vertical-align:super;color:var(--tct-currency-medium-superscript-color, inherit);font-size:var(--tct-currency-medium-superscript-font-size, 0.5em);font-weight:var(--tct-currency-medium-superscript-font-weight, 700)}.currency-large{color:var(--tct-currency-large-color, inherit);font-size:var(--tct-currency-large-font-size, 70px);font-weight:var(--tct-currency-large-font-weight, 700)}.currency-large .superscript{vertical-align:super;color:var(--tct-currency-large-superscript-color, inherit);font-size:var(--tct-currency-large-superscript-font-size, 0.5em);font-weight:var(--tct-currency-large-superscript-font-weight, 800)}";
|
|
4
4
|
|
|
5
5
|
const n = class {
|
|
6
6
|
constructor(t) {
|
|
@@ -31,8 +31,7 @@ const n = class {
|
|
|
31
31
|
* @testOnly
|
|
32
32
|
*/
|
|
33
33
|
async displayedMessageValue() {
|
|
34
|
-
|
|
35
|
-
return (r === null || r === void 0 ? void 0 : r.getAttribute("aria-label")) || "";
|
|
34
|
+
return this.hostElement.getAttribute("aria-label") || "";
|
|
36
35
|
}
|
|
37
36
|
// #endregion
|
|
38
37
|
// #region Watchers
|
|
@@ -57,13 +56,13 @@ const n = class {
|
|
|
57
56
|
}
|
|
58
57
|
get currencyClasses() {
|
|
59
58
|
const {size: r, slotSize: t, isNegativeAmount: e, variant: c} = this;
|
|
60
|
-
const
|
|
61
|
-
const
|
|
59
|
+
const i = [ "currency" ];
|
|
60
|
+
const n = r ? r : t;
|
|
62
61
|
const s = e ? "negative" : "positive";
|
|
63
|
-
|
|
64
|
-
if (!!c)
|
|
65
|
-
if (!!
|
|
66
|
-
return
|
|
62
|
+
i.push(s);
|
|
63
|
+
if (!!c) i.push(c);
|
|
64
|
+
if (!!n) i.push(`currency-${n}`);
|
|
65
|
+
return i.join(" ");
|
|
67
66
|
}
|
|
68
67
|
get currencyIsFront() {
|
|
69
68
|
const r = this.formattedParts.findIndex((r => r.type === "currency"));
|
|
@@ -125,33 +124,35 @@ const n = class {
|
|
|
125
124
|
// #endregion
|
|
126
125
|
// #region Render Methods
|
|
127
126
|
render() {
|
|
128
|
-
const {hasPlusMinusSign: r, plusMinusSign:
|
|
129
|
-
return t(
|
|
130
|
-
key: "
|
|
127
|
+
const {hasPlusMinusSign: r, plusMinusSign: c, currencyIsFront: i, currencySymbol: n, shouldSuperscriptSymbol: s, amountCore: o, fraction: a, shouldSuperscriptFraction: u, readableCurrency: l, currencyClasses: p, signDisplay: d, isNegativeAmount: f} = this;
|
|
128
|
+
return t(e, {
|
|
129
|
+
key: "ef34175a8e5490734fff3dea6315012cff694ffa",
|
|
130
|
+
"aria-label": l
|
|
131
|
+
}, t("div", {
|
|
132
|
+
key: "68bbd6aeec8220bba221b5b0d8fccf2500c9b2c0",
|
|
131
133
|
"test-id": "q2CurrencyInner",
|
|
132
|
-
class:
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
key: "40a2b4736c8afc5b7939391fe90600d79d584c66"
|
|
134
|
+
class: p
|
|
135
|
+
}, d === "accounting" && f && t("span", {
|
|
136
|
+
key: "0beac730d59b4241acc7514b7107116531665894"
|
|
136
137
|
}, "("), r && t("span", {
|
|
137
|
-
key: "
|
|
138
|
-
},
|
|
139
|
-
key: "
|
|
140
|
-
class:
|
|
138
|
+
key: "382819a090c7b64fbd6396dad59ef1599dafac64"
|
|
139
|
+
}, c), i && t("span", {
|
|
140
|
+
key: "3537b66c817af1a9de2eb1f05b4e6a2e2f6a2355",
|
|
141
|
+
class: s ? "superscript" : ""
|
|
141
142
|
}, n), t("span", {
|
|
142
|
-
key: "
|
|
143
|
-
},
|
|
144
|
-
key: "
|
|
145
|
-
class:
|
|
146
|
-
},
|
|
147
|
-
key: "
|
|
148
|
-
class:
|
|
149
|
-
}, n),
|
|
150
|
-
key: "
|
|
151
|
-
}, ")"));
|
|
143
|
+
key: "3cbf46fc1608be20c15d5b46fd7cc5da99954081"
|
|
144
|
+
}, o), t("span", {
|
|
145
|
+
key: "2df7ac4a43fedc127d02eaea6aa96b6d4d8b107f",
|
|
146
|
+
class: u ? "superscript" : ""
|
|
147
|
+
}, a), !i && t("span", {
|
|
148
|
+
key: "5ad6317c0a36f7a5fef10f1ea83ac8fc667571e5",
|
|
149
|
+
class: s ? "superscript" : ""
|
|
150
|
+
}, n), d === "accounting" && f && t("span", {
|
|
151
|
+
key: "0356a4cf07928a11fa2226f40115159b63c2daf9"
|
|
152
|
+
}, ")")));
|
|
152
153
|
}
|
|
153
154
|
get hostElement() {
|
|
154
|
-
return
|
|
155
|
+
return c(this);
|
|
155
156
|
}
|
|
156
157
|
static get watchers() {
|
|
157
158
|
return {
|
|
@@ -166,7 +167,7 @@ const n = class {
|
|
|
166
167
|
}
|
|
167
168
|
};
|
|
168
169
|
|
|
169
|
-
n.style =
|
|
170
|
+
n.style = i;
|
|
170
171
|
|
|
171
172
|
export { n as q2_currency };
|
|
172
173
|
//# sourceMappingURL=q2-currency.entry.esm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["q2CurrencyCss","Q2Currency","constructor","hostRef","this","currency","locale","document","documentElement","lang","signDisplay","componentWillLoad","formatCurrency","displayedMessageValue","hostElement","shadowRoot","querySelector","getAttribute","propsUpdated","amountCore","formattedParts","shouldSuperscriptFraction","amount","part","type","value","length","slice","trimEnd","currencyClasses","size","slotSize","isNegativeAmount","variant","classes","sizeClass","sign","push","join","currencyIsFront","index","findIndex","currencySymbol","currencyIndex","symbol","fraction","find","hasPlusMinusSign","some","hasNegativePart","hasNegativeDash","String","startsWith","plusMinusSign","fractionIndex","commaBeforeFraction","_a","sizeValue","sizeProvided","shouldSuperscriptSymbol","formatOptions","Intl","NumberFormat","style","formatToParts","readableCurrency","format","render","h","key","class"],"sources":["src/components/q2-currency/q2-currency.scss?tag=q2-currency&encapsulation=shadow","src/components/q2-currency/q2-currency.tsx"],"sourcesContent":["@import '../../styles/host.scss';\n@import '../../styles/functions';\n\n:host {\n display: inline-block;\n}\n\n.currency {\n --comp-currency-color: #{var-list(--tct-currency-color, --t-text, #4d4d4d)};\n color: var(--comp-currency-color);\n font-size: var-list(--tct-currency-font-size, inherit);\n font-weight: var-list(--tct-currency-font-weight, inherit);\n\n &.positive {\n color: var-list(--tct-currency-positive-color, --comp-currency-color);\n }\n\n &.negative {\n color: var-list(--tct-currency-negative-color, --comp-currency-color);\n }\n\n &.debit {\n &.positive {\n color: var-list(--tct-currency-debit-positive-color, --const-stoplight-success, #0e8a00);\n }\n\n &.negative {\n color: var-list(--tct-currency-debit-negative-color, --const-stoplight-alert, #d20a0a);\n }\n }\n\n &.credit {\n &.positive {\n color: var-list(--tct-currency-credit-positive-color, --const-stoplight-alert, #d20a0a);\n }\n\n &.negative {\n color: var-list(--tct-currency-credit-negative-color, --const-stoplight-success, #0e8a00);\n }\n }\n\n &.masked {\n line-height: 1; // ensures gradient covers full text height in all contexts\n\n &.positive {\n background: var(\n --tct-currency-masked-positive-background,\n unquote('linear-gradient(180deg, var(--t-text, #4d4d4d) 0%, #b3b3b3 100%)')\n );\n background-clip: text;\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n -moz-background-clip: text;\n -moz-text-fill-color: transparent;\n }\n\n &.negative {\n background: var(\n --tct-currency-masked-negative-background,\n unquote('linear-gradient(180deg, var(--t-text, #4d4d4d) 0%, #b3b3b3 100%)')\n );\n background-clip: text;\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n -moz-background-clip: text;\n -moz-text-fill-color: transparent;\n }\n }\n}\n\n.currency-small {\n color: var(--tct-currency-small-color, inherit);\n font-size: var(--tct-currency-small-font-size, 24px);\n font-weight: var(--tct-currency-small-font-weight, 600);\n\n .superscript {\n vertical-align: super;\n color: var(--tct-currency-small-superscript-color, inherit);\n font-size: var(--tct-currency-small-superscript-font-size, 0.5em);\n font-weight: var(--tct-currency-small-superscript-font-weight, 700);\n }\n}\n\n.currency-medium {\n color: var(--tct-currency-medium-color, inherit);\n font-size: var(--tct-currency-medium-font-size, 42px);\n font-weight: var(--tct-currency-medium-font-weight, 600);\n\n .superscript {\n vertical-align: super;\n color: var(--tct-currency-medium-superscript-color, inherit);\n font-size: var(--tct-currency-medium-superscript-font-size, 0.5em);\n font-weight: var(--tct-currency-medium-superscript-font-weight, 700);\n }\n}\n\n.currency-large {\n color: var(--tct-currency-large-color, inherit);\n font-size: var(--tct-currency-large-font-size, 70px);\n font-weight: var(--tct-currency-large-font-weight, 700);\n\n .superscript {\n vertical-align: super;\n color: var(--tct-currency-large-superscript-color, inherit);\n font-size: var(--tct-currency-large-superscript-font-size, 0.5em);\n font-weight: var(--tct-currency-large-superscript-font-weight, 800);\n }\n}\n","import { Component, Prop, Watch, h, ComponentInterface, Element, Method } from '@stencil/core';\n/**\n * @name Currency\n * @category Text\n * @summary Use for displaying formatted monetary amounts with proper locale.\n */\n@Component({ tag: 'q2-currency', shadow: true, styleUrl: 'q2-currency.scss' })\nexport class Q2Currency implements ComponentInterface {\n // #region Own Properties\n\n /** @private The parts of the formatted number. */\n formattedParts: Intl.NumberFormatPart[];\n /** @private The full currency for aria-label purposes. */\n readableCurrency: string;\n\n // #endregion\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region Public Property API\n\n /** The amount you want formatted. */\n @Prop({ reflect: true })\n amount: number;\n\n /** Formats the `amount` to a specific currency. */\n @Prop({ reflect: true })\n currency: string = 'USD';\n\n /** Formats to the language provided. Accepts multiple locales in an array as sequential fallbacks. */\n @Prop({ reflect: true })\n locale: string | string[] = document.documentElement.lang || 'en-US';\n\n /**\n * Determine how the positive or negative sign should display.\n *\n * Behavior:\n * - `accounting`: No sign displays for positive amounts and parentheses wrap negative amounts.\n * - `always`: Always display the sign.\n * - `auto`: Sign displays for negative amounts only, including negative zero.\n * - `exceptZero`: Sign displays for positive and negative amounts, but not zero.\n * - `never`: Never display the sign.\n */\n @Prop({ reflect: true })\n signDisplay: 'accounting' | 'always' | 'auto' | 'exceptZero' | 'never' = 'auto';\n\n /** Applies styling based on the size provided. If no size is provided, it will display as inline text. */\n @Prop({ reflect: true })\n size: 'small' | 'medium' | 'large';\n\n /** @private Inherited from q2-detail when slotted to match styling of q2-detail and q2-currency texts. */\n @Prop({ reflect: true })\n slotSize: string;\n\n /**\n * The variant controls how the currency is colored and exposes unique CSS overrides.\n * The `debit` and `credit` variants align styling with common practices for coloring debit and credit accounts.\n * The `masked` variant exposes the ability to use gradients and images to color the currency.\n */\n @Prop({ reflect: true })\n variant: 'debit' | 'credit' | 'masked';\n\n // #endregion\n // #region Component Lifecycle Events\n\n componentWillLoad(): void | Promise<void> {\n this.formatCurrency();\n }\n\n // #endregion\n // #region Public Methods API\n\n /**\n * A method to retrieve the displayed currency value.\n *\n * @testOnly\n */\n @Method()\n async displayedMessageValue() {\n const currency = this.hostElement.shadowRoot.querySelector('[test-id=\"q2CurrencyInner\"]');\n return currency?.getAttribute('aria-label') || '';\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('amount')\n @Watch('currency')\n @Watch('locale')\n @Watch('size')\n @Watch('slotSize')\n @Watch('signDisplay')\n @Watch('variant')\n propsUpdated() {\n this.formatCurrency();\n }\n\n // #endregion\n // #region Local Methods\n\n get amountCore(): string {\n const { formattedParts, shouldSuperscriptFraction } = this;\n let amount: string = '';\n\n for (const part of formattedParts) {\n if (\n part.type === 'integer' ||\n part.type === 'decimal' ||\n part.type === 'group' ||\n part.type === 'literal'\n ) {\n amount += part.value;\n }\n }\n\n // removes trailing decimal point if superscripting the fraction\n if (shouldSuperscriptFraction && amount[amount.length - 1] === '.') amount = amount.slice(0, -1);\n // removes end whitespace that breaks formatting\n amount = amount.trimEnd();\n\n return amount;\n }\n\n get currencyClasses(): string {\n const { size, slotSize, isNegativeAmount, variant } = this;\n const classes = ['currency'];\n const sizeClass = size ? size : slotSize;\n const sign = isNegativeAmount ? 'negative' : 'positive';\n\n classes.push(sign);\n if (!!variant) classes.push(variant);\n if (!!sizeClass) classes.push(`currency-${sizeClass}`);\n\n return classes.join(' ');\n }\n\n get currencyIsFront(): boolean {\n const index = this.formattedParts.findIndex((part: Intl.NumberFormatPart) => part.type === 'currency');\n if (index === 0 || index === 1) return true;\n return false;\n }\n\n get currencySymbol(): string {\n const { formattedParts, currencyIsFront } = this;\n const currencyIndex = formattedParts.findIndex((part: Intl.NumberFormatPart) => part.type === 'currency');\n const symbol = formattedParts[currencyIndex].value;\n return currencyIsFront ? symbol : ' ' + symbol;\n }\n\n get fraction(): string {\n const { formattedParts } = this;\n const fraction = formattedParts.find((part: Intl.NumberFormatPart) => part.type === 'fraction');\n if (!fraction) return;\n\n return fraction.value;\n }\n\n get hasPlusMinusSign(): boolean {\n return this.formattedParts.some(\n (part: Intl.NumberFormatPart) => part.type === 'minusSign' || part.type === 'plusSign'\n );\n }\n\n get isNegativeAmount(): boolean {\n const hasNegativePart = this.formattedParts.some((part: Intl.NumberFormatPart) => part.type === 'minusSign');\n const hasNegativeDash = String(this.amount).startsWith('-');\n return hasNegativePart || hasNegativeDash;\n }\n\n get plusMinusSign(): string {\n const { formattedParts, hasPlusMinusSign } = this;\n if (!hasPlusMinusSign) return;\n\n const sign = formattedParts.find(\n (part: Intl.NumberFormatPart) => part.type === 'minusSign' || part.type === 'plusSign'\n );\n return sign.value;\n }\n\n get shouldSuperscriptFraction(): boolean {\n const fractionIndex = this.formattedParts.findIndex((part: Intl.NumberFormatPart) => part.type === 'fraction');\n const commaBeforeFraction = this.formattedParts[fractionIndex - 1]?.value === ',';\n\n if (commaBeforeFraction || !this.currencyIsFront || this.sizeValue === 'small' || !this.sizeProvided)\n return false;\n\n return true;\n }\n\n get shouldSuperscriptSymbol(): boolean {\n if (!this.currencyIsFront || this.sizeProvided) return true;\n\n return false;\n }\n\n get sizeProvided(): boolean {\n return !!this.size || !!this.slotSize;\n }\n\n get sizeValue(): string {\n return this.size ? this.size : this.slotSize;\n }\n\n formatCurrency() {\n const formatOptions = new Intl.NumberFormat(this.locale, {\n style: 'currency',\n currency: this.currency,\n signDisplay: this.signDisplay === 'accounting' ? 'never' : this.signDisplay,\n });\n this.formattedParts = formatOptions.formatToParts(this.amount);\n this.readableCurrency = formatOptions.format(this.amount);\n }\n\n // #endregion\n // #region Render Methods\n\n render() {\n const {\n hasPlusMinusSign,\n plusMinusSign,\n currencyIsFront,\n currencySymbol,\n shouldSuperscriptSymbol,\n amountCore,\n fraction,\n shouldSuperscriptFraction,\n readableCurrency,\n currencyClasses,\n signDisplay,\n isNegativeAmount,\n } = this;\n\n return (\n <div\n test-id=\"q2CurrencyInner\"\n class={currencyClasses}\n aria-label={readableCurrency}\n >\n {signDisplay === 'accounting' && isNegativeAmount && <span>{'('}</span>}\n {hasPlusMinusSign && <span>{plusMinusSign}</span>}\n {currencyIsFront && <span class={shouldSuperscriptSymbol ? 'superscript' : ''}>{currencySymbol}</span>}\n <span>{amountCore}</span>\n <span class={shouldSuperscriptFraction ? 'superscript' : ''}>{fraction}</span>\n {!currencyIsFront && <span class={shouldSuperscriptSymbol ? 'superscript' : ''}>{currencySymbol}</span>}\n {signDisplay === 'accounting' && isNegativeAmount && <span>{')'}</span>}\n </div>\n );\n }\n\n // #endregion\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["q2CurrencyCss","Q2Currency","constructor","hostRef","this","currency","locale","document","documentElement","lang","signDisplay","componentWillLoad","formatCurrency","displayedMessageValue","hostElement","getAttribute","propsUpdated","amountCore","formattedParts","shouldSuperscriptFraction","amount","part","type","value","length","slice","trimEnd","currencyClasses","size","slotSize","isNegativeAmount","variant","classes","sizeClass","sign","push","join","currencyIsFront","index","findIndex","currencySymbol","currencyIndex","symbol","fraction","find","hasPlusMinusSign","some","hasNegativePart","hasNegativeDash","String","startsWith","plusMinusSign","fractionIndex","commaBeforeFraction","_a","sizeValue","sizeProvided","shouldSuperscriptSymbol","formatOptions","Intl","NumberFormat","style","formatToParts","readableCurrency","format","render","h","Host","key","class"],"sources":["src/components/q2-currency/q2-currency.scss?tag=q2-currency&encapsulation=shadow","src/components/q2-currency/q2-currency.tsx"],"sourcesContent":["@import '../../styles/host.scss';\n@import '../../styles/functions';\n@import './variables';\n\n:host {\n display: inline-block;\n}\n\n.currency {\n --comp-currency-color: #{var-list(--tct-currency-color, --t-text, #4d4d4d)};\n color: var(--comp-currency-color);\n font-size: var-list(--tct-currency-font-size, inherit);\n font-weight: var-list(--tct-currency-font-weight, inherit);\n\n &.positive {\n color: var-list(--tct-currency-positive-color, --comp-currency-color);\n }\n\n &.negative {\n color: var-list(--tct-currency-negative-color, --comp-currency-color);\n }\n\n &.debit {\n &.positive {\n color: var-list(--tct-currency-debit-positive-color, --const-stoplight-success, #0e8a00);\n }\n\n &.negative {\n color: var-list(--tct-currency-debit-negative-color, --const-stoplight-alert, #d20a0a);\n }\n }\n\n &.credit {\n &.positive {\n color: var-list(--tct-currency-credit-positive-color, --const-stoplight-alert, #d20a0a);\n }\n\n &.negative {\n color: var-list(--tct-currency-credit-negative-color, --const-stoplight-success, #0e8a00);\n }\n }\n\n &.masked {\n line-height: 1; // ensures gradient covers full text height in all contexts\n\n &.positive {\n background: var(\n --tct-currency-masked-positive-background,\n unquote('linear-gradient(180deg, var(--t-text, #4d4d4d) 0%, #b3b3b3 100%)')\n );\n background-clip: text;\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n -moz-background-clip: text;\n -moz-text-fill-color: transparent;\n }\n\n &.negative {\n background: var(\n --tct-currency-masked-negative-background,\n unquote('linear-gradient(180deg, var(--t-text, #4d4d4d) 0%, #b3b3b3 100%)')\n );\n background-clip: text;\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n -moz-background-clip: text;\n -moz-text-fill-color: transparent;\n }\n }\n}\n\n.currency-small {\n color: var(--tct-currency-small-color, inherit);\n font-size: var(--tct-currency-small-font-size, 24px);\n font-weight: var(--tct-currency-small-font-weight, 600);\n\n .superscript {\n vertical-align: super;\n color: var(--tct-currency-small-superscript-color, inherit);\n font-size: var(--tct-currency-small-superscript-font-size, 0.5em);\n font-weight: var(--tct-currency-small-superscript-font-weight, 700);\n }\n}\n\n.currency-medium {\n color: var(--tct-currency-medium-color, inherit);\n font-size: var(--tct-currency-medium-font-size, 42px);\n font-weight: var(--tct-currency-medium-font-weight, 600);\n\n .superscript {\n vertical-align: super;\n color: var(--tct-currency-medium-superscript-color, inherit);\n font-size: var(--tct-currency-medium-superscript-font-size, 0.5em);\n font-weight: var(--tct-currency-medium-superscript-font-weight, 700);\n }\n}\n\n.currency-large {\n color: var(--tct-currency-large-color, inherit);\n font-size: var(--tct-currency-large-font-size, 70px);\n font-weight: var(--tct-currency-large-font-weight, 700);\n\n .superscript {\n vertical-align: super;\n color: var(--tct-currency-large-superscript-color, inherit);\n font-size: var(--tct-currency-large-superscript-font-size, 0.5em);\n font-weight: var(--tct-currency-large-superscript-font-weight, 800);\n }\n}\n","import { Component, Prop, Watch, h, ComponentInterface, Element, Host, Method } from '@stencil/core';\n/**\n * @name Currency\n * @category Text\n * @summary Use for displaying formatted monetary amounts with proper locale.\n */\n@Component({ tag: 'q2-currency', shadow: true, styleUrl: 'q2-currency.scss' })\nexport class Q2Currency implements ComponentInterface {\n // #region Own Properties\n\n /** @private The parts of the formatted number. */\n formattedParts: Intl.NumberFormatPart[];\n /** @private The full currency for aria-label purposes. */\n readableCurrency: string;\n\n // #endregion\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region Public Property API\n\n /** The amount you want formatted. */\n @Prop({ reflect: true })\n amount: number;\n\n /** Formats the `amount` to a specific currency. */\n @Prop({ reflect: true })\n currency: string = 'USD';\n\n /** Formats to the language provided. Accepts multiple locales in an array as sequential fallbacks. */\n @Prop({ reflect: true })\n locale: string | string[] = document.documentElement.lang || 'en-US';\n\n /**\n * Determine how the positive or negative sign should display.\n *\n * Behavior:\n * - `accounting`: No sign displays for positive amounts and parentheses wrap negative amounts.\n * - `always`: Always display the sign.\n * - `auto`: Sign displays for negative amounts only, including negative zero.\n * - `exceptZero`: Sign displays for positive and negative amounts, but not zero.\n * - `never`: Never display the sign.\n */\n @Prop({ reflect: true })\n signDisplay: 'accounting' | 'always' | 'auto' | 'exceptZero' | 'never' = 'auto';\n\n /** Applies styling based on the size provided. If no size is provided, it will display as inline text. */\n @Prop({ reflect: true })\n size: 'small' | 'medium' | 'large';\n\n /** @private Inherited from q2-detail when slotted to match styling of q2-detail and q2-currency texts. */\n @Prop({ reflect: true })\n slotSize: string;\n\n /**\n * The variant controls how the currency is colored and exposes unique CSS overrides.\n * The `debit` and `credit` variants align styling with common practices for coloring debit and credit accounts.\n * The `masked` variant exposes the ability to use gradients and images to color the currency.\n */\n @Prop({ reflect: true })\n variant: 'debit' | 'credit' | 'masked';\n\n // #endregion\n // #region Component Lifecycle Events\n\n componentWillLoad(): void | Promise<void> {\n this.formatCurrency();\n }\n\n // #endregion\n // #region Public Methods API\n\n /**\n * A method to retrieve the displayed currency value.\n *\n * @testOnly\n */\n @Method()\n async displayedMessageValue() {\n return this.hostElement.getAttribute('aria-label') || '';\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('amount')\n @Watch('currency')\n @Watch('locale')\n @Watch('size')\n @Watch('slotSize')\n @Watch('signDisplay')\n @Watch('variant')\n propsUpdated() {\n this.formatCurrency();\n }\n\n // #endregion\n // #region Local Methods\n\n get amountCore(): string {\n const { formattedParts, shouldSuperscriptFraction } = this;\n let amount: string = '';\n\n for (const part of formattedParts) {\n if (\n part.type === 'integer' ||\n part.type === 'decimal' ||\n part.type === 'group' ||\n part.type === 'literal'\n ) {\n amount += part.value;\n }\n }\n\n // removes trailing decimal point if superscripting the fraction\n if (shouldSuperscriptFraction && amount[amount.length - 1] === '.') amount = amount.slice(0, -1);\n // removes end whitespace that breaks formatting\n amount = amount.trimEnd();\n\n return amount;\n }\n\n get currencyClasses(): string {\n const { size, slotSize, isNegativeAmount, variant } = this;\n const classes = ['currency'];\n const sizeClass = size ? size : slotSize;\n const sign = isNegativeAmount ? 'negative' : 'positive';\n\n classes.push(sign);\n if (!!variant) classes.push(variant);\n if (!!sizeClass) classes.push(`currency-${sizeClass}`);\n\n return classes.join(' ');\n }\n\n get currencyIsFront(): boolean {\n const index = this.formattedParts.findIndex((part: Intl.NumberFormatPart) => part.type === 'currency');\n if (index === 0 || index === 1) return true;\n return false;\n }\n\n get currencySymbol(): string {\n const { formattedParts, currencyIsFront } = this;\n const currencyIndex = formattedParts.findIndex((part: Intl.NumberFormatPart) => part.type === 'currency');\n const symbol = formattedParts[currencyIndex].value;\n return currencyIsFront ? symbol : ' ' + symbol;\n }\n\n get fraction(): string {\n const { formattedParts } = this;\n const fraction = formattedParts.find((part: Intl.NumberFormatPart) => part.type === 'fraction');\n if (!fraction) return;\n\n return fraction.value;\n }\n\n get hasPlusMinusSign(): boolean {\n return this.formattedParts.some(\n (part: Intl.NumberFormatPart) => part.type === 'minusSign' || part.type === 'plusSign'\n );\n }\n\n get isNegativeAmount(): boolean {\n const hasNegativePart = this.formattedParts.some((part: Intl.NumberFormatPart) => part.type === 'minusSign');\n const hasNegativeDash = String(this.amount).startsWith('-');\n return hasNegativePart || hasNegativeDash;\n }\n\n get plusMinusSign(): string {\n const { formattedParts, hasPlusMinusSign } = this;\n if (!hasPlusMinusSign) return;\n\n const sign = formattedParts.find(\n (part: Intl.NumberFormatPart) => part.type === 'minusSign' || part.type === 'plusSign'\n );\n return sign.value;\n }\n\n get shouldSuperscriptFraction(): boolean {\n const fractionIndex = this.formattedParts.findIndex((part: Intl.NumberFormatPart) => part.type === 'fraction');\n const commaBeforeFraction = this.formattedParts[fractionIndex - 1]?.value === ',';\n\n if (commaBeforeFraction || !this.currencyIsFront || this.sizeValue === 'small' || !this.sizeProvided)\n return false;\n\n return true;\n }\n\n get shouldSuperscriptSymbol(): boolean {\n if (!this.currencyIsFront || this.sizeProvided) return true;\n\n return false;\n }\n\n get sizeProvided(): boolean {\n return !!this.size || !!this.slotSize;\n }\n\n get sizeValue(): string {\n return this.size ? this.size : this.slotSize;\n }\n\n formatCurrency() {\n const formatOptions = new Intl.NumberFormat(this.locale, {\n style: 'currency',\n currency: this.currency,\n signDisplay: this.signDisplay === 'accounting' ? 'never' : this.signDisplay,\n });\n this.formattedParts = formatOptions.formatToParts(this.amount);\n this.readableCurrency = formatOptions.format(this.amount);\n }\n\n // #endregion\n // #region Render Methods\n\n render() {\n const {\n hasPlusMinusSign,\n plusMinusSign,\n currencyIsFront,\n currencySymbol,\n shouldSuperscriptSymbol,\n amountCore,\n fraction,\n shouldSuperscriptFraction,\n readableCurrency,\n currencyClasses,\n signDisplay,\n isNegativeAmount,\n } = this;\n\n return (\n <Host aria-label={readableCurrency}>\n <div\n test-id=\"q2CurrencyInner\"\n class={currencyClasses}\n >\n {signDisplay === 'accounting' && isNegativeAmount && <span>{'('}</span>}\n {hasPlusMinusSign && <span>{plusMinusSign}</span>}\n {currencyIsFront && (\n <span class={shouldSuperscriptSymbol ? 'superscript' : ''}>{currencySymbol}</span>\n )}\n <span>{amountCore}</span>\n <span class={shouldSuperscriptFraction ? 'superscript' : ''}>{fraction}</span>\n {!currencyIsFront && (\n <span class={shouldSuperscriptSymbol ? 'superscript' : ''}>{currencySymbol}</span>\n )}\n {signDisplay === 'accounting' && isNegativeAmount && <span>{')'}</span>}\n </div>\n </Host>\n );\n }\n\n // #endregion\n}\n"],"mappings":"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","ignoreList":[]}
|