q2-tecton-elements 1.51.1 → 1.52.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/click-elsewhere_2.cjs.entry.js +16 -5
- package/dist/cjs/click-elsewhere_2.cjs.entry.js.map +1 -1
- package/dist/cjs/{index-9aa4a776.js → index-07285783.js} +86 -2
- package/dist/cjs/index-07285783.js.map +1 -0
- package/dist/cjs/{index-14c3693c.js → index-e7e68b1e.js} +40 -5
- package/dist/cjs/index-e7e68b1e.js.map +1 -0
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/q2-action-group.cjs.entry.js +2 -2
- package/dist/cjs/q2-action-sheet.cjs.entry.js +3 -3
- package/dist/cjs/q2-avatar.cjs.entry.js +2 -2
- package/dist/cjs/q2-badge_7.cjs.entry.js +49 -44
- package/dist/cjs/q2-badge_7.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-calendar.cjs.entry.js +17 -20
- package/dist/cjs/q2-calendar.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-card.cjs.entry.js +4 -2
- package/dist/cjs/q2-card.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-carousel-pane.cjs.entry.js +4 -4
- package/dist/cjs/q2-carousel.cjs.entry.js +2 -2
- package/dist/cjs/q2-chart-area.cjs.entry.js +16 -3
- package/dist/cjs/q2-chart-area.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-chart-bar.cjs.entry.js +3 -3
- package/dist/cjs/q2-chart-donut.cjs.entry.js +19 -3
- package/dist/cjs/q2-chart-donut.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-checkbox-group.cjs.entry.js +6 -5
- package/dist/cjs/q2-checkbox-group.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-checkbox.cjs.entry.js +2 -2
- package/dist/cjs/q2-currency.cjs.entry.js +14 -2
- package/dist/cjs/q2-currency.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-data-table.cjs.entry.js +3 -3
- package/dist/cjs/q2-data-table.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-detail.cjs.entry.js +3 -3
- package/dist/cjs/q2-dropdown-item.cjs.entry.js +12 -14
- package/dist/cjs/q2-dropdown-item.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-dropdown.cjs.entry.js +7 -5
- package/dist/cjs/q2-dropdown.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-editable-field.cjs.entry.js +3 -3
- package/dist/cjs/q2-example.cjs.entry.js +145 -0
- package/dist/cjs/q2-example.cjs.entry.js.map +1 -0
- package/dist/cjs/q2-formatted-text.cjs.entry.js +2 -2
- package/dist/cjs/q2-item.cjs.entry.js +3 -3
- package/dist/cjs/q2-legend.cjs.entry.js +2 -2
- package/dist/cjs/q2-link.cjs.entry.js +4 -4
- package/dist/cjs/q2-link.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-list.cjs.entry.js +6 -7
- package/dist/cjs/q2-list.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-loading-element.cjs.entry.js +2 -2
- package/dist/cjs/q2-loc.cjs.entry.js +52 -3
- package/dist/cjs/q2-loc.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-message.cjs.entry.js +3 -3
- package/dist/cjs/q2-month-picker.cjs.entry.js +4 -4
- package/dist/cjs/q2-optgroup.cjs.entry.js +5 -4
- package/dist/cjs/q2-optgroup.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-option-list.cjs.entry.js +2 -2
- package/dist/cjs/q2-option.cjs.entry.js +50 -33
- package/dist/cjs/q2-option.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-pagination.cjs.entry.js +11 -7
- package/dist/cjs/q2-pagination.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-pill.cjs.entry.js +19 -18
- package/dist/cjs/q2-pill.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-radio-group.cjs.entry.js +5 -5
- package/dist/cjs/q2-radio-group.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-radio.cjs.entry.js +3 -3
- package/dist/cjs/q2-relative-time.cjs.entry.js +3 -3
- package/dist/cjs/q2-resize-observer.cjs.entry.js +2 -2
- package/dist/cjs/q2-section.cjs.entry.js +8 -6
- package/dist/cjs/q2-section.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-select.cjs.entry.js +6 -5
- package/dist/cjs/q2-select.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-stepper-pane.cjs.entry.js +5 -4
- package/dist/cjs/q2-stepper-pane.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-stepper-vertical.cjs.entry.js +16 -4
- package/dist/cjs/q2-stepper-vertical.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-stepper.cjs.entry.js +6 -4
- package/dist/cjs/q2-stepper.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-tag.cjs.entry.js +6 -4
- package/dist/cjs/q2-tag.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-tecton-elements.cjs.js +2 -2
- package/dist/cjs/q2-textarea.cjs.entry.js +3 -3
- package/dist/cjs/q2-tooltip.cjs.entry.js +2 -2
- package/dist/cjs/{shapes-be198cc0.js → shapes-5d45fc11.js} +2 -2
- package/dist/cjs/{shapes-be198cc0.js.map → shapes-5d45fc11.js.map} +1 -1
- package/dist/cjs/tecton-tab-pane.cjs.entry.js +3 -3
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/q2-action-group/q2-action-group.js +1 -1
- package/dist/collection/components/q2-action-sheet/q2-action-sheet.js +1 -1
- package/dist/collection/components/q2-avatar/q2-avatar.js +1 -1
- package/dist/collection/components/q2-calendar/q2-calendar.js +16 -18
- package/dist/collection/components/q2-calendar/q2-calendar.js.map +1 -1
- package/dist/collection/components/q2-calendar/q2-month-picker.js +2 -2
- package/dist/collection/components/q2-calendar/test/q2-calendar-test.e2e.js +27 -0
- package/dist/collection/components/q2-calendar/test/q2-calendar-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-card/q2-card.js +2 -0
- package/dist/collection/components/q2-card/q2-card.js.map +1 -1
- package/dist/collection/components/q2-carousel-pane/q2-carousel-pane.js +2 -2
- package/dist/collection/components/q2-chart-area/q2-chart-area.js +42 -1
- package/dist/collection/components/q2-chart-area/q2-chart-area.js.map +1 -1
- package/dist/collection/components/q2-chart-area/test/q2-chart-area-test.e2e.js +15 -0
- package/dist/collection/components/q2-chart-area/test/q2-chart-area-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-chart-bar/q2-chart-bar.js +1 -1
- package/dist/collection/components/q2-chart-donut/q2-chart-donut.js +41 -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.e2e.js +11 -0
- package/dist/collection/components/q2-chart-donut/test/q2-chart-donut-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-checkbox-group/q2-checkbox-group.css +30 -23
- package/dist/collection/components/q2-checkbox-group/q2-checkbox-group.js +4 -3
- package/dist/collection/components/q2-checkbox-group/q2-checkbox-group.js.map +1 -1
- package/dist/collection/components/q2-currency/q2-currency.js +37 -1
- package/dist/collection/components/q2-currency/q2-currency.js.map +1 -1
- package/dist/collection/components/q2-currency/test/q2-currency-test.e2e.js +34 -23
- package/dist/collection/components/q2-currency/test/q2-currency-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-data-table/q2-data-table.js +1 -1
- package/dist/collection/components/q2-data-table/q2-data-table.js.map +1 -1
- package/dist/collection/components/q2-data-table/test/q2-data-table-test.e2e.js +6 -4
- package/dist/collection/components/q2-data-table/test/q2-data-table-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-detail/q2-detail.js +1 -1
- package/dist/collection/components/q2-dropdown/q2-dropdown.css +5 -0
- package/dist/collection/components/q2-dropdown/q2-dropdown.js +10 -4
- package/dist/collection/components/q2-dropdown/q2-dropdown.js.map +1 -1
- package/dist/collection/components/q2-dropdown/test/q2-dropdown-test.e2e.js +59 -14
- package/dist/collection/components/q2-dropdown/test/q2-dropdown-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-dropdown-item/q2-dropdown-item.css +29 -11
- package/dist/collection/components/q2-dropdown-item/q2-dropdown-item.js +9 -11
- package/dist/collection/components/q2-dropdown-item/q2-dropdown-item.js.map +1 -1
- package/dist/collection/components/q2-dropdown-item/test/q2-dropdown-item-test.e2e.js +108 -74
- package/dist/collection/components/q2-dropdown-item/test/q2-dropdown-item-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-editable-field/q2-editable-field.js +1 -1
- package/dist/collection/components/q2-example/q2-example.css +66 -0
- package/dist/collection/components/q2-example/q2-example.js +312 -0
- package/dist/collection/components/q2-example/q2-example.js.map +1 -0
- package/dist/collection/components/q2-example/test/q2-example.e2e.js +27 -0
- package/dist/collection/components/q2-example/test/q2-example.e2e.js.map +1 -0
- package/dist/collection/components/q2-example/test/q2-example.spec.js +126 -0
- package/dist/collection/components/q2-example/test/q2-example.spec.js.map +1 -0
- package/dist/collection/components/q2-formatted-text/q2-formatted-text.js +1 -1
- package/dist/collection/components/q2-input/formatting/alpha.spec.js +10 -0
- package/dist/collection/components/q2-input/formatting/alpha.spec.js.map +1 -0
- package/dist/collection/components/q2-input/formatting/alphanumeric.spec.js +7 -0
- package/dist/collection/components/q2-input/formatting/alphanumeric.spec.js.map +1 -0
- package/dist/collection/components/q2-input/formatting/currency.spec.js +20 -0
- package/dist/collection/components/q2-input/formatting/currency.spec.js.map +1 -0
- package/dist/collection/components/q2-input/formatting/date.js +1 -1
- package/dist/collection/components/q2-input/formatting/date.js.map +1 -1
- package/dist/collection/components/q2-input/formatting/date.spec.js +17 -0
- package/dist/collection/components/q2-input/formatting/date.spec.js.map +1 -0
- package/dist/collection/components/q2-input/formatting/numeric.spec.js +32 -0
- package/dist/collection/components/q2-input/formatting/numeric.spec.js.map +1 -0
- package/dist/collection/components/q2-input/formatting/phone.spec.js +16 -0
- package/dist/collection/components/q2-input/formatting/phone.spec.js.map +1 -0
- package/dist/collection/components/q2-input/formatting/postal.js +1 -1
- package/dist/collection/components/q2-input/formatting/postal.js.map +1 -1
- package/dist/collection/components/q2-input/formatting/postal.spec.js +28 -0
- package/dist/collection/components/q2-input/formatting/postal.spec.js.map +1 -0
- package/dist/collection/components/q2-input/formatting/ssn.spec.js +7 -0
- package/dist/collection/components/q2-input/formatting/ssn.spec.js.map +1 -0
- package/dist/collection/components/q2-input/formatting/tin.spec.js +7 -0
- package/dist/collection/components/q2-input/formatting/tin.spec.js.map +1 -0
- package/dist/collection/components/q2-input/q2-input.js +58 -44
- package/dist/collection/components/q2-input/q2-input.js.map +1 -1
- package/dist/collection/components/q2-input/test/q2-input-test.e2e.js +259 -2106
- package/dist/collection/components/q2-input/test/q2-input-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-input/test/q2-input-test.spec.js +4035 -0
- package/dist/collection/components/q2-input/test/q2-input-test.spec.js.map +1 -0
- package/dist/collection/components/q2-item/q2-item.js +1 -1
- package/dist/collection/components/q2-legend/q2-legend.js +1 -1
- package/dist/collection/components/q2-link/q2-link.css +17 -20
- package/dist/collection/components/q2-link/q2-link.js +2 -2
- package/dist/collection/components/q2-link/q2-link.js.map +1 -1
- package/dist/collection/components/q2-link/test/q2-link-test.e2e.js +6 -6
- package/dist/collection/components/q2-link/test/q2-link-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-list/q2-list.js +4 -5
- package/dist/collection/components/q2-list/q2-list.js.map +1 -1
- package/dist/collection/components/q2-loc/q2-loc.js +66 -4
- package/dist/collection/components/q2-loc/q2-loc.js.map +1 -1
- package/dist/collection/components/q2-loc/test/q2-loc-test.e2e.js +19 -30
- package/dist/collection/components/q2-loc/test/q2-loc-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-loc/test/q2-loc-test.spec.js +164 -0
- package/dist/collection/components/q2-loc/test/q2-loc-test.spec.js.map +1 -0
- package/dist/collection/components/q2-message/q2-message.js +1 -1
- package/dist/collection/components/q2-optgroup/q2-optgroup.js +3 -2
- package/dist/collection/components/q2-optgroup/q2-optgroup.js.map +1 -1
- package/dist/collection/components/q2-option/q2-option.css +1 -1
- package/dist/collection/components/q2-option/q2-option.js +57 -34
- package/dist/collection/components/q2-option/q2-option.js.map +1 -1
- package/dist/collection/components/q2-option/test/q2-option-test.e2e.js +110 -106
- package/dist/collection/components/q2-option/test/q2-option-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-option/test/q2-option-test.spec.js +532 -0
- package/dist/collection/components/q2-option/test/q2-option-test.spec.js.map +1 -0
- package/dist/collection/components/q2-pagination/q2-pagination.js +9 -5
- package/dist/collection/components/q2-pagination/q2-pagination.js.map +1 -1
- package/dist/collection/components/q2-pagination/test/q2-pagination-test.e2e.js +18 -1
- package/dist/collection/components/q2-pagination/test/q2-pagination-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-pill/q2-pill.js +18 -17
- package/dist/collection/components/q2-pill/q2-pill.js.map +1 -1
- package/dist/collection/components/q2-pill/test/q2-pill-test.e2e.js +128 -57
- package/dist/collection/components/q2-pill/test/q2-pill-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-popover/q2-popover.js +17 -4
- package/dist/collection/components/q2-popover/q2-popover.js.map +1 -1
- package/dist/collection/components/q2-radio/q2-radio.js +1 -1
- package/dist/collection/components/q2-radio-group/q2-radio-group.css +19 -9
- package/dist/collection/components/q2-radio-group/q2-radio-group.js +2 -2
- package/dist/collection/components/q2-radio-group/q2-radio-group.js.map +1 -1
- package/dist/collection/components/q2-relative-time/q2-relative-time.js +1 -1
- package/dist/collection/components/q2-resize-observer/q2-resize-observer.js +1 -1
- package/dist/collection/components/q2-section/q2-section.js +6 -4
- package/dist/collection/components/q2-section/q2-section.js.map +1 -1
- package/dist/collection/components/q2-select/q2-select.js +5 -3
- package/dist/collection/components/q2-select/q2-select.js.map +1 -1
- package/dist/collection/components/q2-select/test/q2-select-test.e2e.js +123 -62
- package/dist/collection/components/q2-select/test/q2-select-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-stepper/q2-stepper.js +4 -2
- package/dist/collection/components/q2-stepper/q2-stepper.js.map +1 -1
- package/dist/collection/components/q2-stepper-pane/q2-stepper-pane.js +3 -2
- package/dist/collection/components/q2-stepper-pane/q2-stepper-pane.js.map +1 -1
- package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.js +46 -2
- package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.js.map +1 -1
- package/dist/collection/components/q2-stepper-vertical/test/q2-stepper-vertical-test.e2e.js +26 -0
- package/dist/collection/components/q2-stepper-vertical/test/q2-stepper-vertical-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-tab-container/q2-tab-container.js +4 -3
- package/dist/collection/components/q2-tab-container/q2-tab-container.js.map +1 -1
- package/dist/collection/components/q2-tab-pane/q2-tab-pane.js +1 -1
- package/dist/collection/components/q2-tag/q2-tag.js +5 -2
- package/dist/collection/components/q2-tag/q2-tag.js.map +1 -1
- package/dist/collection/components/q2-tag/test/q2-tag-test.e2e.js +55 -4
- package/dist/collection/components/q2-tag/test/q2-tag-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-textarea/q2-textarea.js +1 -1
- package/dist/collection/components/tecton-tab-pane/tecton-tab-pane.js +2 -2
- package/dist/collection/utils/helpers.js +63 -41
- package/dist/collection/utils/helpers.js.map +1 -1
- package/dist/collection/utils/index.js +83 -0
- package/dist/collection/utils/index.js.map +1 -1
- package/dist/components/index.js +2 -0
- package/dist/components/index.js.map +1 -1
- package/dist/components/index2.js +84 -1
- package/dist/components/index2.js.map +1 -1
- package/dist/components/q2-action-group.js +1 -1
- package/dist/components/q2-action-sheet.js +1 -1
- package/dist/components/q2-avatar2.js +1 -1
- package/dist/components/q2-calendar.js +16 -18
- package/dist/components/q2-calendar.js.map +1 -1
- package/dist/components/q2-card.js +2 -0
- package/dist/components/q2-card.js.map +1 -1
- package/dist/components/q2-carousel-pane.js +2 -2
- package/dist/components/q2-chart-area.js +16 -2
- package/dist/components/q2-chart-area.js.map +1 -1
- package/dist/components/q2-chart-bar.js +1 -1
- package/dist/components/q2-chart-donut.js +19 -2
- package/dist/components/q2-chart-donut.js.map +1 -1
- package/dist/components/q2-checkbox-group.js +5 -4
- package/dist/components/q2-checkbox-group.js.map +1 -1
- package/dist/components/q2-currency.js +15 -2
- 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-dropdown-item2.js +12 -26
- package/dist/components/q2-dropdown-item2.js.map +1 -1
- package/dist/components/q2-dropdown.js +6 -3
- package/dist/components/q2-dropdown.js.map +1 -1
- package/dist/components/q2-editable-field.js +1 -1
- package/dist/components/q2-example.d.ts +11 -0
- package/dist/components/q2-example.js +170 -0
- package/dist/components/q2-example.js.map +1 -0
- package/dist/components/q2-formatted-text.js +1 -1
- package/dist/components/q2-input2.js +41 -37
- package/dist/components/q2-input2.js.map +1 -1
- package/dist/components/q2-item.js +1 -1
- package/dist/components/q2-legend2.js +1 -1
- package/dist/components/q2-link.js +3 -3
- package/dist/components/q2-link.js.map +1 -1
- package/dist/components/q2-list.js +4 -5
- package/dist/components/q2-list.js.map +1 -1
- package/dist/components/q2-loc.js +55 -2
- package/dist/components/q2-loc.js.map +1 -1
- package/dist/components/q2-message2.js +1 -1
- package/dist/components/q2-month-picker.js +2 -2
- package/dist/components/q2-optgroup2.js +3 -2
- package/dist/components/q2-optgroup2.js.map +1 -1
- package/dist/components/q2-option-list2.js +1 -1
- package/dist/components/q2-option2.js +52 -33
- package/dist/components/q2-option2.js.map +1 -1
- package/dist/components/q2-pagination.js +9 -5
- package/dist/components/q2-pagination.js.map +1 -1
- package/dist/components/q2-pill.js +18 -17
- package/dist/components/q2-pill.js.map +1 -1
- package/dist/components/q2-popover2.js +16 -4
- package/dist/components/q2-popover2.js.map +1 -1
- package/dist/components/q2-radio-group.js +3 -3
- package/dist/components/q2-radio-group.js.map +1 -1
- package/dist/components/q2-radio.js +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 +6 -4
- package/dist/components/q2-section.js.map +1 -1
- package/dist/components/q2-select2.js +6 -4
- package/dist/components/q2-select2.js.map +1 -1
- package/dist/components/q2-stepper-pane.js +3 -2
- package/dist/components/q2-stepper-pane.js.map +1 -1
- package/dist/components/q2-stepper-vertical.js +16 -3
- package/dist/components/q2-stepper-vertical.js.map +1 -1
- package/dist/components/q2-stepper.js +4 -2
- package/dist/components/q2-stepper.js.map +1 -1
- package/dist/components/q2-tab-container.js +4 -3
- package/dist/components/q2-tab-container.js.map +1 -1
- package/dist/components/q2-tab-pane.js +1 -1
- package/dist/components/q2-tag.js +5 -2
- package/dist/components/q2-tag.js.map +1 -1
- package/dist/components/q2-textarea.js +1 -1
- package/dist/components/tecton-tab-pane.js +2 -2
- package/dist/esm/click-elsewhere_2.entry.js +16 -5
- package/dist/esm/click-elsewhere_2.entry.js.map +1 -1
- package/dist/esm/{index-1e1ce94e.js → index-7a5365e2.js} +40 -5
- package/dist/esm/index-7a5365e2.js.map +1 -0
- package/dist/esm/{index-844fc010.js → index-d18e2a20.js} +86 -3
- package/dist/esm/index-d18e2a20.js.map +1 -0
- package/dist/esm/loader.js +3 -3
- package/dist/esm/q2-action-group.entry.js +2 -2
- package/dist/esm/q2-action-sheet.entry.js +3 -3
- package/dist/esm/q2-avatar.entry.js +2 -2
- package/dist/esm/q2-badge_7.entry.js +49 -44
- package/dist/esm/q2-badge_7.entry.js.map +1 -1
- package/dist/esm/q2-calendar.entry.js +17 -20
- package/dist/esm/q2-calendar.entry.js.map +1 -1
- package/dist/esm/q2-card.entry.js +4 -2
- package/dist/esm/q2-card.entry.js.map +1 -1
- package/dist/esm/q2-carousel-pane.entry.js +4 -4
- package/dist/esm/q2-carousel.entry.js +2 -2
- package/dist/esm/q2-chart-area.entry.js +16 -3
- package/dist/esm/q2-chart-area.entry.js.map +1 -1
- package/dist/esm/q2-chart-bar.entry.js +3 -3
- package/dist/esm/q2-chart-donut.entry.js +19 -3
- package/dist/esm/q2-chart-donut.entry.js.map +1 -1
- package/dist/esm/q2-checkbox-group.entry.js +6 -5
- package/dist/esm/q2-checkbox-group.entry.js.map +1 -1
- package/dist/esm/q2-checkbox.entry.js +2 -2
- package/dist/esm/q2-currency.entry.js +14 -2
- package/dist/esm/q2-currency.entry.js.map +1 -1
- package/dist/esm/q2-data-table.entry.js +3 -3
- package/dist/esm/q2-data-table.entry.js.map +1 -1
- package/dist/esm/q2-detail.entry.js +3 -3
- package/dist/esm/q2-dropdown-item.entry.js +12 -14
- package/dist/esm/q2-dropdown-item.entry.js.map +1 -1
- package/dist/esm/q2-dropdown.entry.js +7 -5
- package/dist/esm/q2-dropdown.entry.js.map +1 -1
- package/dist/esm/q2-editable-field.entry.js +3 -3
- package/dist/esm/q2-example.entry.js +141 -0
- package/dist/esm/q2-example.entry.js.map +1 -0
- package/dist/esm/q2-formatted-text.entry.js +2 -2
- package/dist/esm/q2-item.entry.js +3 -3
- package/dist/esm/q2-legend.entry.js +2 -2
- package/dist/esm/q2-link.entry.js +4 -4
- package/dist/esm/q2-link.entry.js.map +1 -1
- package/dist/esm/q2-list.entry.js +6 -7
- package/dist/esm/q2-list.entry.js.map +1 -1
- package/dist/esm/q2-loading-element.entry.js +2 -2
- package/dist/esm/q2-loc.entry.js +52 -3
- package/dist/esm/q2-loc.entry.js.map +1 -1
- package/dist/esm/q2-message.entry.js +3 -3
- package/dist/esm/q2-month-picker.entry.js +4 -4
- package/dist/esm/q2-optgroup.entry.js +5 -4
- package/dist/esm/q2-optgroup.entry.js.map +1 -1
- package/dist/esm/q2-option-list.entry.js +2 -2
- package/dist/esm/q2-option.entry.js +50 -33
- package/dist/esm/q2-option.entry.js.map +1 -1
- package/dist/esm/q2-pagination.entry.js +11 -7
- package/dist/esm/q2-pagination.entry.js.map +1 -1
- package/dist/esm/q2-pill.entry.js +19 -18
- package/dist/esm/q2-pill.entry.js.map +1 -1
- package/dist/esm/q2-radio-group.entry.js +5 -5
- package/dist/esm/q2-radio-group.entry.js.map +1 -1
- package/dist/esm/q2-radio.entry.js +3 -3
- package/dist/esm/q2-relative-time.entry.js +3 -3
- package/dist/esm/q2-resize-observer.entry.js +2 -2
- package/dist/esm/q2-section.entry.js +8 -6
- package/dist/esm/q2-section.entry.js.map +1 -1
- package/dist/esm/q2-select.entry.js +6 -5
- package/dist/esm/q2-select.entry.js.map +1 -1
- package/dist/esm/q2-stepper-pane.entry.js +5 -4
- package/dist/esm/q2-stepper-pane.entry.js.map +1 -1
- package/dist/esm/q2-stepper-vertical.entry.js +16 -4
- package/dist/esm/q2-stepper-vertical.entry.js.map +1 -1
- package/dist/esm/q2-stepper.entry.js +6 -4
- package/dist/esm/q2-stepper.entry.js.map +1 -1
- package/dist/esm/q2-tag.entry.js +6 -4
- package/dist/esm/q2-tag.entry.js.map +1 -1
- package/dist/esm/q2-tecton-elements.js +3 -3
- package/dist/esm/q2-textarea.entry.js +3 -3
- package/dist/esm/q2-tooltip.entry.js +2 -2
- package/dist/esm/{shapes-36183b2a.js → shapes-c7e1a3fa.js} +2 -2
- package/dist/esm/{shapes-36183b2a.js.map → shapes-c7e1a3fa.js.map} +1 -1
- package/dist/esm/tecton-tab-pane.entry.js +3 -3
- package/dist/q2-tecton-elements/action-sheet-e64cb6f7.js +77 -0
- package/dist/q2-tecton-elements/{p-b7554a79.js.map → action-sheet-e64cb6f7.js.map} +1 -1
- package/dist/q2-tecton-elements/app-globals-0f993ce5.js +4 -0
- package/dist/q2-tecton-elements/{p-e1255160.js.map → app-globals-0f993ce5.js.map} +1 -1
- package/dist/q2-tecton-elements/charting-1abfb877.js +34872 -0
- package/dist/q2-tecton-elements/{p-2941aafa.js.map → charting-1abfb877.js.map} +1 -1
- package/dist/q2-tecton-elements/click-elsewhere_2.entry.js +410 -0
- package/dist/q2-tecton-elements/click-elsewhere_2.entry.js.map +1 -0
- package/dist/q2-tecton-elements/dataSample-7b62e101.js +2602 -0
- package/dist/q2-tecton-elements/{p-ad80aef0.js.map → dataSample-7b62e101.js.map} +1 -1
- package/dist/q2-tecton-elements/index-3184c760.js +18168 -0
- package/dist/q2-tecton-elements/{p-f1e887f5.js.map → index-3184c760.js.map} +1 -1
- package/dist/q2-tecton-elements/index-7a5365e2.js +1792 -0
- package/dist/q2-tecton-elements/index-7a5365e2.js.map +1 -0
- package/dist/q2-tecton-elements/index-d18e2a20.js +323 -0
- package/dist/q2-tecton-elements/index-d18e2a20.js.map +1 -0
- package/dist/q2-tecton-elements/q2-action-group.entry.js +56 -0
- package/dist/q2-tecton-elements/{p-5637c486.entry.js.map → q2-action-group.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/q2-action-sheet.entry.js +1480 -0
- package/dist/q2-tecton-elements/{p-188eb162.entry.js.map → q2-action-sheet.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/q2-avatar.entry.js +101 -0
- package/dist/q2-tecton-elements/{p-07d1c3ae.entry.js.map → q2-avatar.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/q2-badge_7.entry.js +5449 -0
- package/dist/q2-tecton-elements/q2-badge_7.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-calendar.entry.js +1313 -0
- package/dist/q2-tecton-elements/q2-calendar.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-card.entry.js +170 -0
- package/dist/q2-tecton-elements/q2-card.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-carousel-pane.entry.js +130 -0
- package/dist/q2-tecton-elements/{p-7aef0c08.entry.js.map → q2-carousel-pane.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/q2-carousel.entry.js +4613 -0
- package/dist/q2-tecton-elements/{p-e216ef3f.entry.js.map → q2-carousel.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/q2-chart-area.entry.js +4330 -0
- package/dist/q2-tecton-elements/q2-chart-area.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-chart-bar.entry.js +1479 -0
- package/dist/q2-tecton-elements/{p-7906f49e.entry.js.map → q2-chart-bar.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/q2-chart-donut.entry.js +4537 -0
- package/dist/q2-tecton-elements/q2-chart-donut.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-checkbox-group.entry.js +166 -0
- package/dist/q2-tecton-elements/q2-checkbox-group.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-checkbox.entry.js +223 -0
- package/dist/q2-tecton-elements/{p-b7de110e.entry.js.map → q2-checkbox.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/q2-currency.entry.js +153 -0
- package/dist/q2-tecton-elements/q2-currency.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-data-table.entry.js +622 -0
- package/dist/q2-tecton-elements/{p-7903cd15.entry.js.map → q2-data-table.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/q2-detail.entry.js +128 -0
- package/dist/q2-tecton-elements/{p-f5f23659.entry.js.map → q2-detail.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/q2-dropdown-item.entry.js +146 -0
- package/dist/q2-tecton-elements/q2-dropdown-item.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-dropdown.entry.js +430 -0
- package/dist/q2-tecton-elements/q2-dropdown.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-editable-field.entry.js +296 -0
- package/dist/q2-tecton-elements/{p-896c7008.entry.js.map → q2-editable-field.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/q2-example.entry.js +152 -0
- package/dist/q2-tecton-elements/q2-example.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-formatted-text.entry.js +73 -0
- package/dist/q2-tecton-elements/{p-7c9f8b62.entry.js.map → q2-formatted-text.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/q2-item.entry.js +158 -0
- package/dist/q2-tecton-elements/{p-7c9a0122.entry.js.map → q2-item.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/q2-legend.entry.js +146 -0
- package/dist/q2-tecton-elements/{p-ff8f1a32.entry.js.map → q2-legend.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/q2-link.entry.js +83 -0
- package/dist/q2-tecton-elements/q2-link.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-list.entry.js +100 -0
- package/dist/q2-tecton-elements/q2-list.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-loading-element.entry.js +36 -0
- package/dist/q2-tecton-elements/{p-a068c84c.entry.js.map → q2-loading-element.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/q2-loc.entry.js +82 -0
- package/dist/q2-tecton-elements/q2-loc.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-message.entry.js +99 -0
- package/dist/q2-tecton-elements/{p-8d2b02e1.entry.js.map → q2-message.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/q2-month-picker.entry.js +198 -0
- package/dist/q2-tecton-elements/{p-8d07cf91.entry.js.map → q2-month-picker.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/q2-optgroup.entry.js +88 -0
- package/dist/q2-tecton-elements/q2-optgroup.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-option-list.entry.js +585 -0
- package/dist/q2-tecton-elements/{p-a5d0e252.entry.js.map → q2-option-list.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/q2-option.entry.js +110 -0
- package/dist/q2-tecton-elements/q2-option.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-pagination.entry.js +377 -0
- package/dist/q2-tecton-elements/q2-pagination.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-pill.entry.js +434 -0
- package/dist/q2-tecton-elements/q2-pill.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-radio-group.entry.js +227 -0
- package/dist/q2-tecton-elements/q2-radio-group.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-radio.entry.js +144 -0
- package/dist/q2-tecton-elements/{p-c235ab3f.entry.js.map → q2-radio.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/q2-relative-time.entry.js +162 -0
- package/dist/q2-tecton-elements/{p-95a7c042.entry.js.map → q2-relative-time.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/q2-resize-observer.entry.js +100 -0
- package/dist/q2-tecton-elements/{p-e2c800ef.entry.js.map → q2-resize-observer.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/q2-section.entry.js +256 -0
- package/dist/q2-tecton-elements/q2-section.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-select.entry.js +684 -0
- package/dist/q2-tecton-elements/q2-select.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-stepper-pane.entry.js +124 -0
- package/dist/q2-tecton-elements/q2-stepper-pane.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-stepper-vertical.entry.js +356 -0
- package/dist/q2-tecton-elements/q2-stepper-vertical.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-stepper.entry.js +332 -0
- package/dist/q2-tecton-elements/q2-stepper.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-tag.entry.js +213 -0
- package/dist/q2-tecton-elements/q2-tag.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +21 -1
- package/dist/q2-tecton-elements/q2-tecton-elements.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-textarea.entry.js +364 -0
- package/dist/q2-tecton-elements/{p-f135b265.entry.js.map → q2-textarea.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/q2-tooltip.entry.js +105 -0
- package/dist/q2-tecton-elements/{p-c5667d5d.entry.js.map → q2-tooltip.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/sectorHelper-183cedd0.js +949 -0
- package/dist/q2-tecton-elements/{p-eea5aa01.js.map → sectorHelper-183cedd0.js.map} +1 -1
- package/dist/q2-tecton-elements/shapes-c7e1a3fa.js +132 -0
- package/dist/q2-tecton-elements/{p-50b425de.js.map → shapes-c7e1a3fa.js.map} +1 -1
- package/dist/q2-tecton-elements/tecton-tab-pane.entry.js +134 -0
- package/dist/q2-tecton-elements/{p-96b1406c.entry.js.map → tecton-tab-pane.entry.js.map} +1 -1
- package/dist/types/components/q2-calendar/q2-calendar.d.ts +4 -5
- package/dist/types/components/q2-chart-area/q2-chart-area.d.ts +6 -0
- package/dist/types/components/q2-chart-donut/q2-chart-donut.d.ts +6 -0
- package/dist/types/components/q2-currency/q2-currency.d.ts +7 -0
- package/dist/types/components/q2-dropdown/q2-dropdown.d.ts +1 -1
- package/dist/types/components/q2-dropdown-item/q2-dropdown-item.d.ts +2 -2
- package/dist/types/components/q2-example/q2-example.d.ts +119 -0
- package/dist/types/components/q2-input/formatting/date.d.ts +22 -0
- package/dist/types/components/q2-input/formatting/postal.d.ts +197 -0
- package/dist/types/components/q2-input/q2-input.d.ts +15 -12
- package/dist/types/components/q2-loc/q2-loc.d.ts +15 -1
- package/dist/types/components/q2-option/q2-option.d.ts +11 -3
- package/dist/types/components/q2-pill/q2-pill.d.ts +3 -3
- package/dist/types/components/q2-popover/q2-popover.d.ts +1 -0
- package/dist/types/components/q2-select/q2-select.d.ts +1 -1
- package/dist/types/components/q2-stepper-vertical/q2-stepper-vertical.d.ts +6 -0
- package/dist/types/components/q2-tag/q2-tag.d.ts +1 -1
- package/dist/types/components.d.ts +104 -14
- package/dist/types/utils/helpers.d.ts +13 -0
- package/dist/types/utils/index.d.ts +11 -0
- package/package.json +7 -7
- package/dist/cjs/index-14c3693c.js.map +0 -1
- package/dist/cjs/index-9aa4a776.js.map +0 -1
- package/dist/esm/index-1e1ce94e.js.map +0 -1
- package/dist/esm/index-844fc010.js.map +0 -1
- package/dist/q2-tecton-elements/p-06701928.entry.js +0 -2
- package/dist/q2-tecton-elements/p-06701928.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-07d1c3ae.entry.js +0 -2
- package/dist/q2-tecton-elements/p-1305f7ca.entry.js +0 -2
- package/dist/q2-tecton-elements/p-1305f7ca.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-15ac45d6.js +0 -2
- package/dist/q2-tecton-elements/p-15ac45d6.js.map +0 -1
- package/dist/q2-tecton-elements/p-16910682.entry.js +0 -2
- package/dist/q2-tecton-elements/p-16910682.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-188eb162.entry.js +0 -3
- package/dist/q2-tecton-elements/p-1c760a89.entry.js +0 -2
- package/dist/q2-tecton-elements/p-1c760a89.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-1c88d057.entry.js +0 -2
- package/dist/q2-tecton-elements/p-1c88d057.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-20a3d6ed.entry.js +0 -2
- package/dist/q2-tecton-elements/p-20a3d6ed.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-2733583e.entry.js +0 -2
- package/dist/q2-tecton-elements/p-2733583e.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-2941aafa.js +0 -39
- package/dist/q2-tecton-elements/p-3e428290.entry.js +0 -2
- package/dist/q2-tecton-elements/p-3e428290.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-4774e5b3.entry.js +0 -2
- package/dist/q2-tecton-elements/p-4774e5b3.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-490ef8e5.entry.js +0 -2
- package/dist/q2-tecton-elements/p-490ef8e5.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-4e10550d.entry.js +0 -2
- package/dist/q2-tecton-elements/p-4e10550d.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-50b425de.js +0 -2
- package/dist/q2-tecton-elements/p-50f7328f.entry.js +0 -2
- package/dist/q2-tecton-elements/p-50f7328f.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-5637c486.entry.js +0 -2
- package/dist/q2-tecton-elements/p-56df21b0.entry.js +0 -2
- package/dist/q2-tecton-elements/p-56df21b0.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-5a834214.entry.js +0 -2
- package/dist/q2-tecton-elements/p-5a834214.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-5f99a4a8.entry.js +0 -2
- package/dist/q2-tecton-elements/p-5f99a4a8.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-72d948b4.entry.js +0 -2
- package/dist/q2-tecton-elements/p-72d948b4.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-7903cd15.entry.js +0 -2
- package/dist/q2-tecton-elements/p-7906f49e.entry.js +0 -2
- package/dist/q2-tecton-elements/p-7aef0c08.entry.js +0 -2
- package/dist/q2-tecton-elements/p-7c9a0122.entry.js +0 -2
- package/dist/q2-tecton-elements/p-7c9f8b62.entry.js +0 -2
- package/dist/q2-tecton-elements/p-81fbe718.entry.js +0 -2
- package/dist/q2-tecton-elements/p-81fbe718.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-896c7008.entry.js +0 -2
- package/dist/q2-tecton-elements/p-8d07cf91.entry.js +0 -2
- package/dist/q2-tecton-elements/p-8d2b02e1.entry.js +0 -2
- package/dist/q2-tecton-elements/p-95a7c042.entry.js +0 -2
- package/dist/q2-tecton-elements/p-96b1406c.entry.js +0 -2
- package/dist/q2-tecton-elements/p-a068c84c.entry.js +0 -2
- package/dist/q2-tecton-elements/p-a47597dd.entry.js +0 -2
- package/dist/q2-tecton-elements/p-a47597dd.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-a5d0e252.entry.js +0 -2
- package/dist/q2-tecton-elements/p-a5f18e27.js +0 -3
- package/dist/q2-tecton-elements/p-a5f18e27.js.map +0 -1
- package/dist/q2-tecton-elements/p-ac6aa392.entry.js +0 -2
- package/dist/q2-tecton-elements/p-ac6aa392.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-ad057d10.entry.js +0 -2
- package/dist/q2-tecton-elements/p-ad057d10.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-ad80aef0.js +0 -2
- package/dist/q2-tecton-elements/p-b0e5e9dc.entry.js +0 -2
- package/dist/q2-tecton-elements/p-b0e5e9dc.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-b1784be3.entry.js +0 -2
- package/dist/q2-tecton-elements/p-b1784be3.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-b7554a79.js +0 -2
- package/dist/q2-tecton-elements/p-b7de110e.entry.js +0 -2
- package/dist/q2-tecton-elements/p-c235ab3f.entry.js +0 -2
- package/dist/q2-tecton-elements/p-c5667d5d.entry.js +0 -2
- package/dist/q2-tecton-elements/p-e1255160.js +0 -2
- package/dist/q2-tecton-elements/p-e216ef3f.entry.js +0 -2
- package/dist/q2-tecton-elements/p-e2c800ef.entry.js +0 -2
- package/dist/q2-tecton-elements/p-eea5aa01.js +0 -2
- package/dist/q2-tecton-elements/p-f135b265.entry.js +0 -2
- package/dist/q2-tecton-elements/p-f1e887f5.js +0 -2
- package/dist/q2-tecton-elements/p-f5f23659.entry.js +0 -2
- package/dist/q2-tecton-elements/p-f7867f21.entry.js +0 -2
- package/dist/q2-tecton-elements/p-f7867f21.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-ff8f1a32.entry.js +0 -2
- package/dist/q2-tecton-elements/p-fff01dc1.entry.js +0 -2
- package/dist/q2-tecton-elements/p-fff01dc1.entry.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"q2-checkbox-group.js","sourceRoot":"","sources":["../../../src/components/q2-checkbox-group/q2-checkbox-group.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Prop,\n Element,\n h,\n Listen,\n EventEmitter,\n Event,\n ComponentInterface,\n Watch,\n Method,\n} from '@stencil/core';\nimport { createGuid, renderLabel } from 'src/utils';\n\n@Component({ tag: 'q2-checkbox-group', shadow: true, styleUrl: 'q2-checkbox-group.scss' })\nexport class Q2CheckboxGroup implements ComponentInterface {\n // #region Own Properties\n\n _id: string = `checkbox-group-${createGuid()}`;\n mutationObserver: MutationObserver;\n\n // #endregion\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region Public Property API\n\n /** Determines if all checkboxes in the group are put into a `disabled` state. */\n @Prop({ reflect: true })\n disabled: boolean;\n\n /** Determines if the component should display in an errant state. */\n @Prop({ reflect: true })\n hasError: boolean;\n\n /**\n * Hide's the group's `<label>` element from view.\n * @warning\n * Only use when a visible label is impractical.\n */\n @Prop({ reflect: true, mutable: true })\n hideLabel: boolean;\n\n /**\n * The label that displays above all the checkboxes.\n * @localizable\n */\n @Prop({ reflect: true })\n label: string;\n\n /** Determines if the component is marked as `optional`. */\n @Prop({ reflect: true })\n optional: boolean;\n\n /** Determines if all the checkboxes are marked as `readonly`. */\n @Prop({ reflect: true })\n readonly: boolean;\n\n /**\n * Can be used to get and set the checked status of each `<q2-checkbox>` element contained within the group.\n *\n * **Example:**\n * @snippet\n * element.value = {\n * 'checkbox-value-1': true,\n * 'checkbox-value-2': false,\n * 'checkbox-value-3': true,\n * };\n *\n * // Also accepts partial values\n * element.value = {\n * 'checkbox-value-2': false,\n * }\n */\n @Prop({ mutable: true })\n value: object;\n\n // #endregion\n // #region Events\n\n @Event()\n change: EventEmitter;\n\n // #endregion\n // #region Component Lifecycle Events\n\n disconnectedCallback() {\n if (this.mutationObserver) {\n this.mutationObserver.disconnect();\n this.mutationObserver = null;\n }\n }\n\n componentWillLoad() {\n this.updateReadonly();\n }\n\n componentDidLoad() {\n const observer = new MutationObserver(this.onMutationObserved);\n observer.observe(this.hostElement, { childList: true, subtree: true });\n this.mutationObserver = observer;\n this.onMutationObserved();\n }\n\n // #endregion\n // #region Listeners\n\n @Listen('change')\n onHostElementChange(event: CustomEvent) {\n if (event.target === this.hostElement && !this.hostElement.onchange) {\n this.value = event.detail;\n }\n }\n\n // #endregion\n // #region Public Methods API\n\n /**\n * Emulates clicking the `<q2-checkbox>` option(s) with the provided value.\n *\n * @testOnly\n */\n @Method()\n setValue(values: string | string[]) {\n const valuesSet = new Set(Array.isArray(values) ? values : [values]);\n this.checkboxElements.forEach(check => {\n if (valuesSet.has(check.value)) check.click();\n });\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('disabled')\n disabledObserver() {\n this.updateDisabled();\n }\n\n @Watch('readonly')\n readonlyObserver() {\n this.updateReadonly();\n }\n\n @Watch('value')\n valueObserver() {\n this.updateValue();\n }\n\n // #endregion\n // #region Local Methods\n\n get checkboxElements() {\n return Array.from(this.hostElement.querySelectorAll('q2-checkbox')) as HTMLQ2CheckboxElement[];\n }\n\n get inputId() {\n return this._id;\n }\n\n get protectedValue(): object {\n return this.value || {};\n }\n\n inputDom() {\n return <slot />;\n }\n\n onInnerCheckboxChange = (event: CustomEvent) => {\n event.stopImmediatePropagation();\n const groupValue = {};\n setTimeout(() => {\n this.checkboxElements.forEach(check => {\n groupValue[check.value] = !!check.checked;\n });\n this.change.emit(groupValue);\n }, 0);\n };\n\n onMutationObserved = () => {\n this.updateValue();\n this.updateDisabled();\n this.updateReadonly();\n };\n\n updateDisabled() {\n const groupDisabled = this.disabled;\n this.checkboxElements.forEach(checkbox => {\n checkbox.groupDisabled = groupDisabled;\n });\n }\n\n updateReadonly() {\n const slotReadonly = this.readonly;\n this.checkboxElements.forEach(checkbox => {\n checkbox.slotReadonly = slotReadonly;\n });\n }\n\n updateValue() {\n if (this.readonly) return;\n this.checkboxElements.forEach(check => {\n if (this.protectedValue.hasOwnProperty(check.value)) {\n check.checked = this.value[check.value];\n }\n });\n }\n\n // #endregion\n // #region Render Methods\n\n render() {\n const showLabel = this.label || this.optional || this.readonly;\n return (\n <div>\n {showLabel && !this.hideLabel && <div class=\"group-legend\">{renderLabel(this)}</div>}\n <fieldset\n class={`q2-checkbox-fieldset ${this.hasError ? 'has-error' : ''}`}\n onChange={this.onInnerCheckboxChange}\n aria-invalid={this.hasError === undefined ? undefined : `${this.hasError}`}\n >\n {this.label || this.optional ? <legend class=\"sr-only\">{renderLabel(this)}</legend> : ''}\n {this.hasError ? (\n <div class={`error-icon-container ${this.label || this.optional ? '' : 'no-label'}`}>\n <q2-icon\n class=\"h(4) w(4) mrg-b(2)\"\n type=\"error\"\n ></q2-icon>\n </div>\n ) : (\n ''\n )}\n {this.inputDom()}\n </fieldset>\n </div>\n );\n }\n\n // #endregion\n}\n"]}
|
|
1
|
+
{"version":3,"file":"q2-checkbox-group.js","sourceRoot":"","sources":["../../../src/components/q2-checkbox-group/q2-checkbox-group.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Prop,\n Element,\n h,\n Listen,\n EventEmitter,\n Event,\n ComponentInterface,\n Watch,\n Method,\n Fragment,\n} from '@stencil/core';\nimport { createGuid, renderLabel } from 'src/utils';\n\n@Component({ tag: 'q2-checkbox-group', shadow: true, styleUrl: 'q2-checkbox-group.scss' })\nexport class Q2CheckboxGroup implements ComponentInterface {\n // #region Own Properties\n\n _id: string = `checkbox-group-${createGuid()}`;\n mutationObserver: MutationObserver;\n\n // #endregion\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region Public Property API\n\n /** Determines if all checkboxes in the group are put into a `disabled` state. */\n @Prop({ reflect: true })\n disabled: boolean;\n\n /** Determines if the component should display in an errant state. */\n @Prop({ reflect: true })\n hasError: boolean;\n\n /**\n * Hide's the group's `<label>` element from view.\n * @warning\n * Only use when a visible label is impractical.\n */\n @Prop({ reflect: true, mutable: true })\n hideLabel: boolean;\n\n /**\n * The label that displays above all the checkboxes.\n * @localizable\n */\n @Prop({ reflect: true })\n label: string;\n\n /** Determines if the component is marked as `optional`. */\n @Prop({ reflect: true })\n optional: boolean;\n\n /** Determines if all the checkboxes are marked as `readonly`. */\n @Prop({ reflect: true })\n readonly: boolean;\n\n /**\n * Can be used to get and set the checked status of each `<q2-checkbox>` element contained within the group.\n *\n * **Example:**\n * @snippet\n * element.value = {\n * 'checkbox-value-1': true,\n * 'checkbox-value-2': false,\n * 'checkbox-value-3': true,\n * };\n *\n * // Also accepts partial values\n * element.value = {\n * 'checkbox-value-2': false,\n * }\n */\n @Prop({ mutable: true })\n value: object;\n\n // #endregion\n // #region Events\n\n @Event()\n change: EventEmitter;\n\n // #endregion\n // #region Component Lifecycle Events\n\n disconnectedCallback() {\n if (this.mutationObserver) {\n this.mutationObserver.disconnect();\n this.mutationObserver = null;\n }\n }\n\n componentWillLoad() {\n this.updateReadonly();\n }\n\n componentDidLoad() {\n const observer = new MutationObserver(this.onMutationObserved);\n observer.observe(this.hostElement, { childList: true, subtree: true });\n this.mutationObserver = observer;\n this.onMutationObserved();\n }\n\n // #endregion\n // #region Listeners\n\n @Listen('change')\n onHostElementChange(event: CustomEvent) {\n if (event.target === this.hostElement && !this.hostElement.onchange) {\n this.value = event.detail;\n }\n }\n\n // #endregion\n // #region Public Methods API\n\n /**\n * Emulates clicking the `<q2-checkbox>` option(s) with the provided value.\n *\n * @testOnly\n */\n @Method()\n setValue(values: string | string[]) {\n const valuesSet = new Set(Array.isArray(values) ? values : [values]);\n this.checkboxElements.forEach(check => {\n if (valuesSet.has(check.value)) check.click();\n });\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('disabled')\n disabledObserver() {\n this.updateDisabled();\n }\n\n @Watch('readonly')\n readonlyObserver() {\n this.updateReadonly();\n }\n\n @Watch('value')\n valueObserver() {\n this.updateValue();\n }\n\n // #endregion\n // #region Local Methods\n\n get checkboxElements() {\n return Array.from(this.hostElement.querySelectorAll('q2-checkbox')) as HTMLQ2CheckboxElement[];\n }\n\n get inputId() {\n return this._id;\n }\n\n get protectedValue(): object {\n return this.value || {};\n }\n\n inputDom() {\n return (\n <div class=\"slot-container\">\n <slot />\n </div>\n );\n }\n\n onInnerCheckboxChange = (event: CustomEvent) => {\n event.stopImmediatePropagation();\n const groupValue = {};\n setTimeout(() => {\n this.checkboxElements.forEach(check => {\n groupValue[check.value] = !!check.checked;\n });\n this.change.emit(groupValue);\n }, 0);\n };\n\n onMutationObserved = () => {\n this.updateValue();\n this.updateDisabled();\n this.updateReadonly();\n };\n\n updateDisabled() {\n const groupDisabled = this.disabled;\n this.checkboxElements.forEach(checkbox => {\n checkbox.groupDisabled = groupDisabled;\n });\n }\n\n updateReadonly() {\n const slotReadonly = this.readonly;\n this.checkboxElements.forEach(checkbox => {\n checkbox.slotReadonly = slotReadonly;\n });\n }\n\n updateValue() {\n if (this.readonly) return;\n this.checkboxElements.forEach(check => {\n if (this.protectedValue.hasOwnProperty(check.value)) {\n check.checked = this.value[check.value];\n }\n });\n }\n\n // #endregion\n // #region Render Methods\n\n render() {\n const showLabel = this.label || this.optional || this.readonly;\n const showLabelRow = (showLabel && !this.hideLabel) || this.hasError;\n return (\n <Fragment>\n {showLabelRow && (\n <div class=\"label-row\">\n {showLabel && !this.hideLabel && <div class=\"group-legend\">{renderLabel(this)}</div>}\n {this.hasError && (\n <q2-icon\n type=\"error\"\n test-id=\"iconError\"\n ></q2-icon>\n )}\n </div>\n )}\n <fieldset\n onChange={this.onInnerCheckboxChange}\n aria-invalid={this.hasError ? `${this.hasError}` : undefined}\n >\n {showLabel && <legend class=\"sr-only\">{renderLabel(this)}</legend>}\n {this.inputDom()}\n </fieldset>\n </Fragment>\n );\n }\n\n // #endregion\n}\n"]}
|
|
@@ -14,6 +14,17 @@ export class Q2Currency {
|
|
|
14
14
|
this.formatCurrency();
|
|
15
15
|
}
|
|
16
16
|
// #endregion
|
|
17
|
+
// #region Public Methods API
|
|
18
|
+
/**
|
|
19
|
+
* A method to select a tab pane corresponding with the value.
|
|
20
|
+
*
|
|
21
|
+
* @testOnly
|
|
22
|
+
*/
|
|
23
|
+
async displayedMessageValue() {
|
|
24
|
+
const currency = this.hostElement.shadowRoot.querySelector('[test-id="q2CurrencyInner"]');
|
|
25
|
+
return currency === null || currency === void 0 ? void 0 : currency.ariaLabel;
|
|
26
|
+
}
|
|
27
|
+
// #endregion
|
|
17
28
|
// #region Watchers
|
|
18
29
|
propsUpdated() {
|
|
19
30
|
this.formatCurrency();
|
|
@@ -105,7 +116,7 @@ export class Q2Currency {
|
|
|
105
116
|
// #region Render Methods
|
|
106
117
|
render() {
|
|
107
118
|
const { hasPlusMinusSign, plusMinusSign, currencyIsFront, currencySymbol, shouldSuperscriptSymbol, amountCore, fraction, shouldSuperscriptFraction, readableCurrency, currencyClasses, } = this;
|
|
108
|
-
return (h("div", { key: '
|
|
119
|
+
return (h("div", { key: 'a2427d807ba868ebff71438f4422e075205da869', "test-id": "q2CurrencyInner", class: currencyClasses, "aria-label": readableCurrency }, hasPlusMinusSign && h("span", { key: '594c8cd84fd3226b2d8170ee9a05532f57bb0d6f' }, plusMinusSign), currencyIsFront && h("span", { key: 'f726da3911833f35f0fe5c5b68d9d341acf5af27', class: shouldSuperscriptSymbol ? 'superscript' : '' }, currencySymbol), h("span", { key: '08644b7c1397237676dc00a81552ba7badefa38e' }, amountCore), h("span", { key: 'cab6f51a4af6067122f3c2994d79f0d9fb828c14', class: shouldSuperscriptFraction ? 'superscript' : '' }, fraction), !currencyIsFront && h("span", { key: '1f1265a8bf437499d0d613f47b7c2f357e22165c', class: shouldSuperscriptSymbol ? 'superscript' : '' }, currencySymbol)));
|
|
109
120
|
}
|
|
110
121
|
static get is() { return "q2-currency"; }
|
|
111
122
|
static get encapsulation() { return "shadow"; }
|
|
@@ -231,6 +242,31 @@ export class Q2Currency {
|
|
|
231
242
|
}
|
|
232
243
|
};
|
|
233
244
|
}
|
|
245
|
+
static get methods() {
|
|
246
|
+
return {
|
|
247
|
+
"displayedMessageValue": {
|
|
248
|
+
"complexType": {
|
|
249
|
+
"signature": "() => Promise<string>",
|
|
250
|
+
"parameters": [],
|
|
251
|
+
"references": {
|
|
252
|
+
"Promise": {
|
|
253
|
+
"location": "global",
|
|
254
|
+
"id": "global::Promise"
|
|
255
|
+
}
|
|
256
|
+
},
|
|
257
|
+
"return": "Promise<string>"
|
|
258
|
+
},
|
|
259
|
+
"docs": {
|
|
260
|
+
"text": "A method to select a tab pane corresponding with the value.",
|
|
261
|
+
"tags": [{
|
|
262
|
+
"name": "testOnly",
|
|
263
|
+
"text": undefined
|
|
264
|
+
}]
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
};
|
|
268
|
+
}
|
|
269
|
+
static get elementRef() { return "hostElement"; }
|
|
234
270
|
static get watchers() {
|
|
235
271
|
return [{
|
|
236
272
|
"propName": "amount",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"q2-currency.js","sourceRoot":"","sources":["../../../src/components/q2-currency/q2-currency.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Prop, Watch, h, ComponentInterface } from '@stencil/core';\n@Component({ tag: 'q2-currency', shadow: true, styleUrl: 'q2-currency.scss' })\nexport class Q2Currency implements ComponentInterface {\n // #region Own Properties\n\n /** @private The parts of the formatted number. */\n formattedParts: Intl.NumberFormatPart[];\n /** @private The full currency for aria-label purposes. */\n readableCurrency: string;\n\n // #endregion\n // #region Public Property API\n\n /** The amount you want formatted. */\n @Prop({ reflect: true })\n amount: number;\n\n /** Formats the `amount` to a specific currency. */\n @Prop({ reflect: true })\n currency: string = 'USD';\n\n /** Formats to the language provided. Accepts multiple locales in an array as sequential fallbacks. */\n @Prop({ reflect: true })\n locale: string | string[] = document.documentElement.lang || 'en-US';\n\n /**\n * Determine how the positive or negative sign should display.\n *\n * Behavior:\n * - `always`: Always display the sign.\n * - `auto`: Sign displays for negative numbers only, including negative zero.\n * - `exceptZero`: Sign displays for positive and negative numbers, but not zero.\n * - `never`: Never display the sign.\n */\n @Prop({ reflect: true })\n signDisplay: 'never' | 'auto' | 'always' | 'exceptZero' = 'auto';\n\n /** Applies styling based on the size provided. If no size is provided, it will display as inline text. */\n @Prop({ reflect: true })\n size: 'small' | 'medium' | 'large';\n\n /** @private Inherited from q2-detail when slotted to match styling of q2-detail and q2-currency texts. */\n @Prop({ reflect: true })\n slotSize: string;\n\n // #endregion\n // #region Component Lifecycle Events\n\n componentWillLoad(): void | Promise<void> {\n this.formatCurrency();\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('amount')\n @Watch('currency')\n @Watch('locale')\n @Watch('size')\n @Watch('slotSize')\n @Watch('signDisplay')\n propsUpdated() {\n this.formatCurrency();\n }\n\n // #endregion\n // #region Local Methods\n\n get amountCore(): string {\n const { formattedParts, shouldSuperscriptFraction } = this;\n let amount: string = '';\n\n for (const part of formattedParts) {\n if (\n part.type === 'integer' ||\n part.type === 'decimal' ||\n part.type === 'group' ||\n part.type === 'literal'\n ) {\n amount += part.value;\n }\n }\n\n // removes trailing decimal point if superscripting the fraction\n if (shouldSuperscriptFraction && amount[amount.length - 1] === '.') amount = amount.slice(0, -1);\n // removes end whitespace that breaks formatting\n amount = amount.trimEnd();\n\n return amount;\n }\n\n get currencyClasses(): string {\n const classes = ['currency'];\n const sizeClass = this.size ? this.size : this.slotSize;\n\n if (!!sizeClass) classes.push(`currency-${sizeClass}`);\n\n return classes.join(' ');\n }\n\n get currencyIsFront(): boolean {\n const index = this.formattedParts.findIndex((part: Intl.NumberFormatPart) => part.type === 'currency');\n if (index === 0 || index === 1) return true;\n return false;\n }\n\n get currencySymbol(): string {\n const { formattedParts, currencyIsFront } = this;\n const currencyIndex = formattedParts.findIndex((part: Intl.NumberFormatPart) => part.type === 'currency');\n const symbol = formattedParts[currencyIndex].value;\n return currencyIsFront ? symbol : ' ' + symbol;\n }\n\n get fraction(): string {\n const { formattedParts } = this;\n const fraction = formattedParts.find((part: Intl.NumberFormatPart) => part.type === 'fraction');\n if (!fraction) return;\n\n return fraction.value;\n }\n\n get hasPlusMinusSign(): boolean {\n return this.formattedParts.some(\n (part: Intl.NumberFormatPart) => part.type === 'minusSign' || part.type === 'plusSign'\n );\n }\n\n get plusMinusSign(): string {\n const { formattedParts, hasPlusMinusSign } = this;\n if (!hasPlusMinusSign) return;\n\n const sign = formattedParts.find(\n (part: Intl.NumberFormatPart) => part.type === 'minusSign' || part.type === 'plusSign'\n );\n return sign.value;\n }\n\n get shouldSuperscriptFraction(): boolean {\n const fractionIndex = this.formattedParts.findIndex((part: Intl.NumberFormatPart) => part.type === 'fraction');\n const commaBeforeFraction = this.formattedParts[fractionIndex - 1].value === ',';\n\n if (commaBeforeFraction || !this.currencyIsFront || this.sizeValue === 'small' || !this.sizeProvided)\n return false;\n\n return true;\n }\n\n get shouldSuperscriptSymbol(): boolean {\n if (!this.currencyIsFront || this.sizeProvided) return true;\n\n return false;\n }\n\n get sizeProvided(): boolean {\n return !!this.size || !!this.slotSize;\n }\n\n get sizeValue(): string {\n return this.size ? this.size : this.slotSize;\n }\n\n formatCurrency() {\n const formatOptions = new Intl.NumberFormat(this.locale, {\n style: 'currency',\n currency: this.currency,\n signDisplay: this.signDisplay,\n });\n this.formattedParts = formatOptions.formatToParts(this.amount);\n this.readableCurrency = formatOptions.format(this.amount);\n }\n\n // #endregion\n // #region Render Methods\n\n render() {\n const {\n hasPlusMinusSign,\n plusMinusSign,\n currencyIsFront,\n currencySymbol,\n shouldSuperscriptSymbol,\n amountCore,\n fraction,\n shouldSuperscriptFraction,\n readableCurrency,\n currencyClasses,\n } = this;\n\n return (\n <div\n class={currencyClasses}\n aria-label={readableCurrency}\n >\n {hasPlusMinusSign && <span>{plusMinusSign}</span>}\n {currencyIsFront && <span class={shouldSuperscriptSymbol ? 'superscript' : ''}>{currencySymbol}</span>}\n <span>{amountCore}</span>\n <span class={shouldSuperscriptFraction ? 'superscript' : ''}>{fraction}</span>\n {!currencyIsFront && <span class={shouldSuperscriptSymbol ? 'superscript' : ''}>{currencySymbol}</span>}\n </div>\n );\n }\n\n // #endregion\n}\n"]}
|
|
1
|
+
{"version":3,"file":"q2-currency.js","sourceRoot":"","sources":["../../../src/components/q2-currency/q2-currency.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Prop, Watch, h, ComponentInterface, Element, Method } from '@stencil/core';\n@Component({ tag: 'q2-currency', shadow: true, styleUrl: 'q2-currency.scss' })\nexport class Q2Currency implements ComponentInterface {\n // #region Own Properties\n\n /** @private The parts of the formatted number. */\n formattedParts: Intl.NumberFormatPart[];\n /** @private The full currency for aria-label purposes. */\n readableCurrency: string;\n\n // #endregion\n // #region 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 * - `always`: Always display the sign.\n * - `auto`: Sign displays for negative numbers only, including negative zero.\n * - `exceptZero`: Sign displays for positive and negative numbers, but not zero.\n * - `never`: Never display the sign.\n */\n @Prop({ reflect: true })\n signDisplay: 'never' | 'auto' | 'always' | 'exceptZero' = 'auto';\n\n /** Applies styling based on the size provided. If no size is provided, it will display as inline text. */\n @Prop({ reflect: true })\n size: 'small' | 'medium' | 'large';\n\n /** @private Inherited from q2-detail when slotted to match styling of q2-detail and q2-currency texts. */\n @Prop({ reflect: true })\n slotSize: string;\n\n // #endregion\n // #region Component Lifecycle Events\n\n componentWillLoad(): void | Promise<void> {\n this.formatCurrency();\n }\n\n // #endregion\n // #region Public Methods API\n\n /**\n * A method to select a tab pane corresponding with the value.\n *\n * @testOnly\n */\n @Method()\n async displayedMessageValue() {\n const currency = this.hostElement.shadowRoot.querySelector('[test-id=\"q2CurrencyInner\"]');\n return currency?.ariaLabel;\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('amount')\n @Watch('currency')\n @Watch('locale')\n @Watch('size')\n @Watch('slotSize')\n @Watch('signDisplay')\n propsUpdated() {\n this.formatCurrency();\n }\n\n // #endregion\n // #region Local Methods\n\n get amountCore(): string {\n const { formattedParts, shouldSuperscriptFraction } = this;\n let amount: string = '';\n\n for (const part of formattedParts) {\n if (\n part.type === 'integer' ||\n part.type === 'decimal' ||\n part.type === 'group' ||\n part.type === 'literal'\n ) {\n amount += part.value;\n }\n }\n\n // removes trailing decimal point if superscripting the fraction\n if (shouldSuperscriptFraction && amount[amount.length - 1] === '.') amount = amount.slice(0, -1);\n // removes end whitespace that breaks formatting\n amount = amount.trimEnd();\n\n return amount;\n }\n\n get currencyClasses(): string {\n const classes = ['currency'];\n const sizeClass = this.size ? this.size : this.slotSize;\n\n if (!!sizeClass) classes.push(`currency-${sizeClass}`);\n\n return classes.join(' ');\n }\n\n get currencyIsFront(): boolean {\n const index = this.formattedParts.findIndex((part: Intl.NumberFormatPart) => part.type === 'currency');\n if (index === 0 || index === 1) return true;\n return false;\n }\n\n get currencySymbol(): string {\n const { formattedParts, currencyIsFront } = this;\n const currencyIndex = formattedParts.findIndex((part: Intl.NumberFormatPart) => part.type === 'currency');\n const symbol = formattedParts[currencyIndex].value;\n return currencyIsFront ? symbol : ' ' + symbol;\n }\n\n get fraction(): string {\n const { formattedParts } = this;\n const fraction = formattedParts.find((part: Intl.NumberFormatPart) => part.type === 'fraction');\n if (!fraction) return;\n\n return fraction.value;\n }\n\n get hasPlusMinusSign(): boolean {\n return this.formattedParts.some(\n (part: Intl.NumberFormatPart) => part.type === 'minusSign' || part.type === 'plusSign'\n );\n }\n\n get plusMinusSign(): string {\n const { formattedParts, hasPlusMinusSign } = this;\n if (!hasPlusMinusSign) return;\n\n const sign = formattedParts.find(\n (part: Intl.NumberFormatPart) => part.type === 'minusSign' || part.type === 'plusSign'\n );\n return sign.value;\n }\n\n get shouldSuperscriptFraction(): boolean {\n const fractionIndex = this.formattedParts.findIndex((part: Intl.NumberFormatPart) => part.type === 'fraction');\n const commaBeforeFraction = this.formattedParts[fractionIndex - 1].value === ',';\n\n if (commaBeforeFraction || !this.currencyIsFront || this.sizeValue === 'small' || !this.sizeProvided)\n return false;\n\n return true;\n }\n\n get shouldSuperscriptSymbol(): boolean {\n if (!this.currencyIsFront || this.sizeProvided) return true;\n\n return false;\n }\n\n get sizeProvided(): boolean {\n return !!this.size || !!this.slotSize;\n }\n\n get sizeValue(): string {\n return this.size ? this.size : this.slotSize;\n }\n\n formatCurrency() {\n const formatOptions = new Intl.NumberFormat(this.locale, {\n style: 'currency',\n currency: this.currency,\n signDisplay: this.signDisplay,\n });\n this.formattedParts = formatOptions.formatToParts(this.amount);\n this.readableCurrency = formatOptions.format(this.amount);\n }\n\n // #endregion\n // #region Render Methods\n\n render() {\n const {\n hasPlusMinusSign,\n plusMinusSign,\n currencyIsFront,\n currencySymbol,\n shouldSuperscriptSymbol,\n amountCore,\n fraction,\n shouldSuperscriptFraction,\n readableCurrency,\n currencyClasses,\n } = this;\n\n return (\n <div\n test-id=\"q2CurrencyInner\"\n class={currencyClasses}\n aria-label={readableCurrency}\n >\n {hasPlusMinusSign && <span>{plusMinusSign}</span>}\n {currencyIsFront && <span class={shouldSuperscriptSymbol ? 'superscript' : ''}>{currencySymbol}</span>}\n <span>{amountCore}</span>\n <span class={shouldSuperscriptFraction ? 'superscript' : ''}>{fraction}</span>\n {!currencyIsFront && <span class={shouldSuperscriptSymbol ? 'superscript' : ''}>{currencySymbol}</span>}\n </div>\n );\n }\n\n // #endregion\n}\n"]}
|
|
@@ -41,7 +41,7 @@ describe('q2-currency', () => {
|
|
|
41
41
|
expect(page.root).toEqualHtml(`
|
|
42
42
|
<q2-currency amount="1234.56" currency="USD" locale="en-US" sign-display="auto">
|
|
43
43
|
<mock:shadow-root>
|
|
44
|
-
<div aria-label="$1,234.56" class="currency">
|
|
44
|
+
<div aria-label="$1,234.56" class="currency" test-id="q2CurrencyInner">
|
|
45
45
|
<span>$</span>
|
|
46
46
|
<span>1,234.</span>
|
|
47
47
|
<span>56</span>
|
|
@@ -69,7 +69,7 @@ describe('q2-currency', () => {
|
|
|
69
69
|
expect(page.root).toEqualHtml(`
|
|
70
70
|
<q2-currency amount="-1234.56" currency="USD" locale="en-US" sign-display="auto">
|
|
71
71
|
<mock:shadow-root>
|
|
72
|
-
<div aria-label="-$1,234.56" class="currency">
|
|
72
|
+
<div aria-label="-$1,234.56" class="currency" test-id="q2CurrencyInner">
|
|
73
73
|
<span>-</span>
|
|
74
74
|
<span>$</span>
|
|
75
75
|
<span>1,234.</span>
|
|
@@ -90,7 +90,7 @@ describe('q2-currency', () => {
|
|
|
90
90
|
expect(page.root).toEqualHtml(`
|
|
91
91
|
<q2-currency amount="1234.56" currency="EUR" locale="en-US" sign-display="auto">
|
|
92
92
|
<mock:shadow-root>
|
|
93
|
-
<div aria-label="€1,234.56" class="currency">
|
|
93
|
+
<div aria-label="€1,234.56" class="currency" test-id="q2CurrencyInner">
|
|
94
94
|
<span>€</span>
|
|
95
95
|
<span>1,234.</span>
|
|
96
96
|
<span>56</span>
|
|
@@ -110,7 +110,7 @@ describe('q2-currency', () => {
|
|
|
110
110
|
expect(page.root).toEqualHtml(`
|
|
111
111
|
<q2-currency amount="1234.56" currency="USD" locale="es-MX" sign-display="auto">
|
|
112
112
|
<mock:shadow-root>
|
|
113
|
-
<div aria-label="USD 1,234.56" class="currency">
|
|
113
|
+
<div aria-label="USD 1,234.56" class="currency" test-id="q2CurrencyInner">
|
|
114
114
|
<span>USD</span>
|
|
115
115
|
<span>1,234.</span>
|
|
116
116
|
<span>56</span>
|
|
@@ -131,7 +131,7 @@ describe('q2-currency', () => {
|
|
|
131
131
|
expect(page.root).toEqualHtml(`
|
|
132
132
|
<q2-currency amount="1234.56" currency="USD" locale="en-US" size="small" sign-display="auto">
|
|
133
133
|
<mock:shadow-root>
|
|
134
|
-
<div aria-label="$1,234.56" class="currency currency-small">
|
|
134
|
+
<div aria-label="$1,234.56" class="currency currency-small" test-id="q2CurrencyInner">
|
|
135
135
|
<span class='superscript'>$</span>
|
|
136
136
|
<span>1,234.</span>
|
|
137
137
|
<span>56</span>
|
|
@@ -150,7 +150,7 @@ describe('q2-currency', () => {
|
|
|
150
150
|
expect(page.root).toEqualHtml(`
|
|
151
151
|
<q2-currency amount="1234.56" currency="USD" locale="en-US" size="medium" sign-display="auto">
|
|
152
152
|
<mock:shadow-root>
|
|
153
|
-
<div aria-label="$1,234.56" class="currency currency-medium">
|
|
153
|
+
<div aria-label="$1,234.56" class="currency currency-medium" test-id="q2CurrencyInner">
|
|
154
154
|
<span class='superscript'>$</span>
|
|
155
155
|
<span>1,234</span>
|
|
156
156
|
<span class='superscript'>56</span>
|
|
@@ -169,7 +169,7 @@ describe('q2-currency', () => {
|
|
|
169
169
|
expect(page.root).toEqualHtml(`
|
|
170
170
|
<q2-currency amount="1234.56" currency="USD" locale="en-US" size="large" sign-display="auto">
|
|
171
171
|
<mock:shadow-root>
|
|
172
|
-
<div aria-label="$1,234.56" class="currency currency-large">
|
|
172
|
+
<div aria-label="$1,234.56" class="currency currency-large" test-id="q2CurrencyInner">
|
|
173
173
|
<span class='superscript'>$</span>
|
|
174
174
|
<span>1,234</span>
|
|
175
175
|
<span class='superscript'>56</span>
|
|
@@ -190,7 +190,7 @@ describe('q2-currency', () => {
|
|
|
190
190
|
expect(page.root).toEqualHtml(`
|
|
191
191
|
<q2-currency amount="-1234.56" currency="USD" locale="en-US" sign-display="auto">
|
|
192
192
|
<mock:shadow-root>
|
|
193
|
-
<div aria-label="-$1,234.56" class="currency">
|
|
193
|
+
<div aria-label="-$1,234.56" class="currency" test-id="q2CurrencyInner">
|
|
194
194
|
<span>-</span>
|
|
195
195
|
<span>$</span>
|
|
196
196
|
<span>1,234.</span>
|
|
@@ -210,7 +210,7 @@ describe('q2-currency', () => {
|
|
|
210
210
|
expect(page.root).toEqualHtml(`
|
|
211
211
|
<q2-currency amount="-1234.56" currency="USD" locale="en-US" sign-display="always">
|
|
212
212
|
<mock:shadow-root>
|
|
213
|
-
<div aria-label="-$1,234.56" class="currency">
|
|
213
|
+
<div aria-label="-$1,234.56" class="currency" test-id="q2CurrencyInner">
|
|
214
214
|
<span>-</span>
|
|
215
215
|
<span>$</span>
|
|
216
216
|
<span>1,234.</span>
|
|
@@ -230,7 +230,7 @@ describe('q2-currency', () => {
|
|
|
230
230
|
expect(page.root).toEqualHtml(`
|
|
231
231
|
<q2-currency amount="0" currency="USD" locale="en-US" sign-display="exceptZero">
|
|
232
232
|
<mock:shadow-root>
|
|
233
|
-
<div aria-label="$0.00" class="currency">
|
|
233
|
+
<div aria-label="$0.00" class="currency" test-id="q2CurrencyInner">
|
|
234
234
|
<span>$</span>
|
|
235
235
|
<span>0.</span>
|
|
236
236
|
<span>00</span>
|
|
@@ -247,7 +247,7 @@ describe('q2-currency', () => {
|
|
|
247
247
|
expect(page.root).toEqualHtml(`
|
|
248
248
|
<q2-currency amount="-1234.56" currency="USD" locale="en-US" sign-display="exceptZero">
|
|
249
249
|
<mock:shadow-root>
|
|
250
|
-
<div aria-label="-$1,234.56" class="currency">
|
|
250
|
+
<div aria-label="-$1,234.56" class="currency" test-id="q2CurrencyInner">
|
|
251
251
|
<span>-</span>
|
|
252
252
|
<span>$</span>
|
|
253
253
|
<span>1,234.</span>
|
|
@@ -267,7 +267,7 @@ describe('q2-currency', () => {
|
|
|
267
267
|
expect(page.root).toEqualHtml(`
|
|
268
268
|
<q2-currency amount="-1234.56" currency="USD" locale="en-US" sign-display="never">
|
|
269
269
|
<mock:shadow-root>
|
|
270
|
-
<div aria-label="$1,234.56" class="currency">
|
|
270
|
+
<div aria-label="$1,234.56" class="currency" test-id="q2CurrencyInner">
|
|
271
271
|
<span>$</span>
|
|
272
272
|
<span>1,234.</span>
|
|
273
273
|
<span>56</span>
|
|
@@ -287,7 +287,7 @@ describe('q2-currency', () => {
|
|
|
287
287
|
expect(page.root).toEqualHtml(`
|
|
288
288
|
<q2-currency amount="1234.56" currency="USD" locale="en-US" sign-display="auto">
|
|
289
289
|
<mock:shadow-root>
|
|
290
|
-
<div aria-label="$1,234.56" class="currency">
|
|
290
|
+
<div aria-label="$1,234.56" class="currency" test-id="q2CurrencyInner">
|
|
291
291
|
<span>$</span>
|
|
292
292
|
<span>1,234.</span>
|
|
293
293
|
<span>56</span>
|
|
@@ -306,7 +306,7 @@ describe('q2-currency', () => {
|
|
|
306
306
|
expect(page.root).toEqualHtml(`
|
|
307
307
|
<q2-currency amount="1234.56" currency="USD" locale="en-US" sign-display="always">
|
|
308
308
|
<mock:shadow-root>
|
|
309
|
-
<div aria-label="+$1,234.56" class="currency">
|
|
309
|
+
<div aria-label="+$1,234.56" class="currency" test-id="q2CurrencyInner">
|
|
310
310
|
<span>+</span>
|
|
311
311
|
<span>$</span>
|
|
312
312
|
<span>1,234.</span>
|
|
@@ -326,7 +326,7 @@ describe('q2-currency', () => {
|
|
|
326
326
|
expect(page.root).toEqualHtml(`
|
|
327
327
|
<q2-currency amount="0" currency="USD" locale="en-US" sign-display="exceptZero">
|
|
328
328
|
<mock:shadow-root>
|
|
329
|
-
<div aria-label="$0.00" class="currency">
|
|
329
|
+
<div aria-label="$0.00" class="currency" test-id="q2CurrencyInner">
|
|
330
330
|
<span>$</span>
|
|
331
331
|
<span>0.</span>
|
|
332
332
|
<span>00</span>
|
|
@@ -343,7 +343,7 @@ describe('q2-currency', () => {
|
|
|
343
343
|
expect(page.root).toEqualHtml(`
|
|
344
344
|
<q2-currency amount="1234.56" currency="USD" locale="en-US" sign-display="exceptZero">
|
|
345
345
|
<mock:shadow-root>
|
|
346
|
-
<div aria-label="+$1,234.56" class="currency">
|
|
346
|
+
<div aria-label="+$1,234.56" class="currency" test-id="q2CurrencyInner">
|
|
347
347
|
<span>+</span>
|
|
348
348
|
<span>$</span>
|
|
349
349
|
<span>1,234.</span>
|
|
@@ -363,7 +363,7 @@ describe('q2-currency', () => {
|
|
|
363
363
|
expect(page.root).toEqualHtml(`
|
|
364
364
|
<q2-currency amount="1234.56" currency="USD" locale="en-US" sign-display="never">
|
|
365
365
|
<mock:shadow-root>
|
|
366
|
-
<div aria-label="$1,234.56" class="currency">
|
|
366
|
+
<div aria-label="$1,234.56" class="currency" test-id="q2CurrencyInner">
|
|
367
367
|
<span>$</span>
|
|
368
368
|
<span>1,234.</span>
|
|
369
369
|
<span>56</span>
|
|
@@ -385,7 +385,7 @@ describe('q2-currency', () => {
|
|
|
385
385
|
expect(page.root).toEqualHtml(`
|
|
386
386
|
<q2-currency amount="1234.56" currency="USD" locale="en-US" slot-size="medium" sign-display="auto">
|
|
387
387
|
<mock:shadow-root>
|
|
388
|
-
<div aria-label="$1,234.56" class="currency currency-medium">
|
|
388
|
+
<div aria-label="$1,234.56" class="currency currency-medium" test-id="q2CurrencyInner">
|
|
389
389
|
<span class='superscript'>$</span>
|
|
390
390
|
<span>1,234</span>
|
|
391
391
|
<span class='superscript'>56</span>
|
|
@@ -404,7 +404,7 @@ describe('q2-currency', () => {
|
|
|
404
404
|
expect(page.root).toEqualHtml(`
|
|
405
405
|
<q2-currency amount="1234.56" currency="USD" locale="en-US" size="large" slot-size="small" sign-display="auto">
|
|
406
406
|
<mock:shadow-root>
|
|
407
|
-
<div aria-label="$1,234.56" class="currency currency-large">
|
|
407
|
+
<div aria-label="$1,234.56" class="currency currency-large" test-id="q2CurrencyInner">
|
|
408
408
|
<span class='superscript'>$</span>
|
|
409
409
|
<span>1,234</span>
|
|
410
410
|
<span class='superscript'>56</span>
|
|
@@ -423,7 +423,7 @@ describe('q2-currency', () => {
|
|
|
423
423
|
expect(page.root).toEqualHtml(`
|
|
424
424
|
<q2-currency amount="1234.56" currency="USD" locale="en-US" sign-display="auto">
|
|
425
425
|
<mock:shadow-root>
|
|
426
|
-
<div aria-label="$1,234.56" class="currency">
|
|
426
|
+
<div aria-label="$1,234.56" class="currency" test-id="q2CurrencyInner">
|
|
427
427
|
<span>$</span>
|
|
428
428
|
<span>1,234.</span>
|
|
429
429
|
<span>56</span>
|
|
@@ -446,7 +446,7 @@ describe('q2-currency', () => {
|
|
|
446
446
|
expect(page.root).toEqualHtml(`
|
|
447
447
|
<q2-currency amount="1234.56" currency="DKK" locale="da-DK" size="medium" sign-display="auto">
|
|
448
448
|
<mock:shadow-root>
|
|
449
|
-
<div aria-label="1.234,56 kr." class="currency currency-medium">
|
|
449
|
+
<div aria-label="1.234,56 kr." class="currency currency-medium" test-id="q2CurrencyInner">
|
|
450
450
|
<span>1.234,</span>
|
|
451
451
|
<span>56</span>
|
|
452
452
|
<span class='superscript'>kr.</span>
|
|
@@ -467,7 +467,7 @@ describe('q2-currency', () => {
|
|
|
467
467
|
expect(page.root).toEqualHtml(`
|
|
468
468
|
<q2-currency amount="1234.56" currency="USD" locale="en-US" size="medium" sign-display="auto">
|
|
469
469
|
<mock:shadow-root>
|
|
470
|
-
<div aria-label="$1,234.56" class="currency currency-medium">
|
|
470
|
+
<div aria-label="$1,234.56" class="currency currency-medium" test-id="q2CurrencyInner">
|
|
471
471
|
<span class='superscript'>$</span>
|
|
472
472
|
<span>1,234</span>
|
|
473
473
|
<span class='superscript'>56</span>
|
|
@@ -485,7 +485,7 @@ describe('q2-currency', () => {
|
|
|
485
485
|
expect(page.root).toEqualHtml(`
|
|
486
486
|
<q2-currency amount="1234.56" currency="USD" locale="en-US" sign-display="auto">
|
|
487
487
|
<mock:shadow-root>
|
|
488
|
-
<div aria-label="$1,234.56" class="currency">
|
|
488
|
+
<div aria-label="$1,234.56" class="currency" test-id="q2CurrencyInner">
|
|
489
489
|
<span>$</span>
|
|
490
490
|
<span>1,234.</span>
|
|
491
491
|
<span>56</span>
|
|
@@ -507,5 +507,16 @@ describe('q2-currency', () => {
|
|
|
507
507
|
describe('Keyboard Controls', () => { });
|
|
508
508
|
describe('Other', () => { });
|
|
509
509
|
});
|
|
510
|
+
describe('Test methods', () => {
|
|
511
|
+
describe('displayedMessageValue', () => {
|
|
512
|
+
it('should show currency value with proper formatting', async () => {
|
|
513
|
+
const page = await setup({ html: '<q2-currency amount="1234.56"></q2-currency>' });
|
|
514
|
+
const currency = await page.find('q2-currency');
|
|
515
|
+
const value = await currency.callMethod('displayedMessageValue');
|
|
516
|
+
await page.waitForChanges();
|
|
517
|
+
expect(value).toBe('$1,234.56');
|
|
518
|
+
});
|
|
519
|
+
});
|
|
520
|
+
});
|
|
510
521
|
});
|
|
511
522
|
//# sourceMappingURL=q2-currency-test.e2e.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"q2-currency-test.e2e.js","sourceRoot":"","sources":["../../../../src/components/q2-currency/test/q2-currency-test.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["import { SpecPage, newSpecPage } from '@stencil/core/testing';\nimport { setup, evaluateA11y, getListOfStyleCompilationIssues } from '@/utils/helpers';\nimport { Q2Currency } from '../q2-currency';\n\nfunction createNewSpecPage(props: {\n amount?: number;\n currency?: string;\n locale?: string;\n size?: string;\n slotSize?: string;\n signDisplay?: string;\n}) {\n let htmlProps: string = '';\n if (!isNaN(props.amount)) {\n htmlProps += ` amount=${props.amount}`;\n }\n if (!!props.currency) {\n htmlProps += ` currency=\"${props.currency}\"`;\n }\n if (!!props.locale) {\n htmlProps += ` locale=\"${props.locale}\"`;\n }\n if (!!props.size) {\n htmlProps += ` size=\"${props.size}\"`;\n }\n if (!!props.signDisplay) {\n htmlProps += ` sign-display=\"${props.signDisplay}\"`;\n }\n if (!!props.slotSize) {\n htmlProps += ` slot-size=\"${props.slotSize}\"`;\n }\n return newSpecPage({\n components: [Q2Currency],\n html: `<q2-currency ${htmlProps}></q2-currency>`,\n });\n}\n\ndescribe('q2-currency', () => {\n it('properly compiles CSS vars and functions', async () => {\n const page = await setup({ html: '<q2-currency></q2-currency>' });\n expect(await getListOfStyleCompilationIssues(page, 'q2-currency')).toHaveLength(0);\n });\n\n let page: SpecPage;\n\n it('renders', async () => {\n page = await createNewSpecPage({\n amount: 1234.56,\n currency: 'USD',\n locale: 'en-US',\n });\n\n expect(page.root).toEqualHtml(`\n <q2-currency amount=\"1234.56\" currency=\"USD\" locale=\"en-US\" sign-display=\"auto\">\n <mock:shadow-root>\n <div aria-label=\"$1,234.56\" class=\"currency\">\n <span>$</span>\n <span>1,234.</span>\n <span>56</span>\n </mock:shadow-root>\n </q2-currency>\n `);\n });\n\n describe('Props', () => {\n describe('amount', () => {\n it('should render the amount', async () => {\n page = await createNewSpecPage({\n amount: 1234.56,\n currency: 'USD',\n locale: 'en-US',\n });\n expect(page.root.amount).toBe(1234.56);\n });\n it('should accept negative numbers', async () => {\n page = await createNewSpecPage({\n amount: -1234.56,\n currency: 'USD',\n locale: 'en-US',\n });\n expect(page.root.amount).toBe(-1234.56);\n expect(page.root).toEqualHtml(`\n <q2-currency amount=\"-1234.56\" currency=\"USD\" locale=\"en-US\" sign-display=\"auto\">\n <mock:shadow-root>\n <div aria-label=\"-$1,234.56\" class=\"currency\">\n <span>-</span>\n <span>$</span>\n <span>1,234.</span>\n <span>56</span>\n </mock:shadow-root>\n </q2-currency>\n `);\n });\n });\n describe('currency', () => {\n it('renders appropriate currency symbol', async () => {\n page = await createNewSpecPage({\n amount: 1234.56,\n currency: 'EUR',\n locale: 'en-US',\n });\n expect(page.root.currency).toBe('EUR');\n expect(page.root).toEqualHtml(`\n <q2-currency amount=\"1234.56\" currency=\"EUR\" locale=\"en-US\" sign-display=\"auto\">\n <mock:shadow-root>\n <div aria-label=\"€1,234.56\" class=\"currency\">\n <span>€</span>\n <span>1,234.</span>\n <span>56</span>\n </mock:shadow-root>\n </q2-currency>\n `);\n });\n });\n describe('locale', () => {\n it('renders according to the locale', async () => {\n page = await createNewSpecPage({\n amount: 1234.56,\n currency: 'USD',\n locale: 'es-MX',\n });\n expect(page.root.locale).toBe('es-MX');\n expect(page.root).toEqualHtml(`\n <q2-currency amount=\"1234.56\" currency=\"USD\" locale=\"es-MX\" sign-display=\"auto\">\n <mock:shadow-root>\n <div aria-label=\"USD 1,234.56\" class=\"currency\">\n <span>USD</span>\n <span>1,234.</span>\n <span>56</span>\n </mock:shadow-root>\n </q2-currency>\n `);\n });\n });\n describe('size', () => {\n it('renders small', async () => {\n page = await createNewSpecPage({\n amount: 1234.56,\n currency: 'USD',\n locale: 'en-US',\n size: 'small',\n });\n expect(page.root.size).toBe('small');\n expect(page.root).toEqualHtml(`\n <q2-currency amount=\"1234.56\" currency=\"USD\" locale=\"en-US\" size=\"small\" sign-display=\"auto\">\n <mock:shadow-root>\n <div aria-label=\"$1,234.56\" class=\"currency currency-small\">\n <span class='superscript'>$</span>\n <span>1,234.</span>\n <span>56</span>\n </mock:shadow-root>\n </q2-currency>\n `);\n });\n\n it('renders medium', async () => {\n page = await createNewSpecPage({\n amount: 1234.56,\n currency: 'USD',\n locale: 'en-US',\n size: 'medium',\n });\n expect(page.root.size).toBe('medium');\n expect(page.root).toEqualHtml(`\n <q2-currency amount=\"1234.56\" currency=\"USD\" locale=\"en-US\" size=\"medium\" sign-display=\"auto\">\n <mock:shadow-root>\n <div aria-label=\"$1,234.56\" class=\"currency currency-medium\">\n <span class='superscript'>$</span>\n <span>1,234</span>\n <span class='superscript'>56</span>\n </mock:shadow-root>\n </q2-currency>\n `);\n });\n\n it('renders large', async () => {\n page = await createNewSpecPage({\n amount: 1234.56,\n currency: 'USD',\n locale: 'en-US',\n size: 'large',\n });\n expect(page.root.size).toBe('large');\n expect(page.root).toEqualHtml(`\n <q2-currency amount=\"1234.56\" currency=\"USD\" locale=\"en-US\" size=\"large\" sign-display=\"auto\">\n <mock:shadow-root>\n <div aria-label=\"$1,234.56\" class=\"currency currency-large\">\n <span class='superscript'>$</span>\n <span>1,234</span>\n <span class='superscript'>56</span>\n </mock:shadow-root>\n </q2-currency>\n `);\n });\n });\n\n describe('signDisplay', () => {\n describe('when currency value is negative', () => {\n it('renders a negative sign on auto', async () => {\n page = await createNewSpecPage({\n amount: -1234.56,\n currency: 'USD',\n locale: 'en-US',\n });\n expect(page.root.signDisplay).toBe('auto');\n expect(page.root).toEqualHtml(`\n <q2-currency amount=\"-1234.56\" currency=\"USD\" locale=\"en-US\" sign-display=\"auto\">\n <mock:shadow-root>\n <div aria-label=\"-$1,234.56\" class=\"currency\">\n <span>-</span>\n <span>$</span>\n <span>1,234.</span>\n <span>56</span>\n </mock:shadow-root>\n </q2-currency>\n `);\n });\n it('renders a negative sign on always', async () => {\n page = await createNewSpecPage({\n amount: -1234.56,\n currency: 'USD',\n locale: 'en-US',\n signDisplay: 'always',\n });\n expect(page.root.signDisplay).toBe('always');\n expect(page.root).toEqualHtml(`\n <q2-currency amount=\"-1234.56\" currency=\"USD\" locale=\"en-US\" sign-display=\"always\">\n <mock:shadow-root>\n <div aria-label=\"-$1,234.56\" class=\"currency\">\n <span>-</span>\n <span>$</span>\n <span>1,234.</span>\n <span>56</span>\n </mock:shadow-root>\n </q2-currency>\n `);\n });\n it('renders only when value is not zero on exceptZero', async () => {\n page = await createNewSpecPage({\n amount: -0,\n currency: 'USD',\n locale: 'en-US',\n signDisplay: 'exceptZero',\n });\n expect(page.root.signDisplay).toBe('exceptZero');\n expect(page.root).toEqualHtml(`\n <q2-currency amount=\"0\" currency=\"USD\" locale=\"en-US\" sign-display=\"exceptZero\">\n <mock:shadow-root>\n <div aria-label=\"$0.00\" class=\"currency\">\n <span>$</span>\n <span>0.</span>\n <span>00</span>\n </mock:shadow-root>\n </q2-currency>\n `);\n\n page = await createNewSpecPage({\n amount: -1234.56,\n currency: 'USD',\n locale: 'en-US',\n signDisplay: 'exceptZero',\n });\n expect(page.root.signDisplay).toBe('exceptZero');\n expect(page.root).toEqualHtml(`\n <q2-currency amount=\"-1234.56\" currency=\"USD\" locale=\"en-US\" sign-display=\"exceptZero\">\n <mock:shadow-root>\n <div aria-label=\"-$1,234.56\" class=\"currency\">\n <span>-</span>\n <span>$</span>\n <span>1,234.</span>\n <span>56</span>\n </mock:shadow-root>\n </q2-currency>\n `);\n });\n it('does not render when set to never', async () => {\n page = await createNewSpecPage({\n amount: -1234.56,\n currency: 'USD',\n locale: 'en-US',\n signDisplay: 'never',\n });\n expect(page.root.signDisplay).toBe('never');\n expect(page.root).toEqualHtml(`\n <q2-currency amount=\"-1234.56\" currency=\"USD\" locale=\"en-US\" sign-display=\"never\">\n <mock:shadow-root>\n <div aria-label=\"$1,234.56\" class=\"currency\">\n <span>$</span>\n <span>1,234.</span>\n <span>56</span>\n </mock:shadow-root>\n </q2-currency>\n `);\n });\n });\n describe('when currency value is positive', () => {\n it('does not display positive sign on auto', async () => {\n page = await createNewSpecPage({\n amount: 1234.56,\n currency: 'USD',\n locale: 'en-US',\n });\n expect(page.root.signDisplay).toBe('auto');\n expect(page.root).toEqualHtml(`\n <q2-currency amount=\"1234.56\" currency=\"USD\" locale=\"en-US\" sign-display=\"auto\">\n <mock:shadow-root>\n <div aria-label=\"$1,234.56\" class=\"currency\">\n <span>$</span>\n <span>1,234.</span>\n <span>56</span>\n </mock:shadow-root>\n </q2-currency>\n `);\n });\n it('displays the positive sign on always', async () => {\n page = await createNewSpecPage({\n amount: 1234.56,\n currency: 'USD',\n locale: 'en-US',\n signDisplay: 'always',\n });\n expect(page.root.signDisplay).toBe('always');\n expect(page.root).toEqualHtml(`\n <q2-currency amount=\"1234.56\" currency=\"USD\" locale=\"en-US\" sign-display=\"always\">\n <mock:shadow-root>\n <div aria-label=\"+$1,234.56\" class=\"currency\">\n <span>+</span>\n <span>$</span>\n <span>1,234.</span>\n <span>56</span>\n </mock:shadow-root>\n </q2-currency>\n `);\n });\n it('renders sign only when value is not zero on exceptZero', async () => {\n page = await createNewSpecPage({\n amount: 0,\n currency: 'USD',\n locale: 'en-US',\n signDisplay: 'exceptZero',\n });\n expect(page.root.signDisplay).toBe('exceptZero');\n expect(page.root).toEqualHtml(`\n <q2-currency amount=\"0\" currency=\"USD\" locale=\"en-US\" sign-display=\"exceptZero\">\n <mock:shadow-root>\n <div aria-label=\"$0.00\" class=\"currency\">\n <span>$</span>\n <span>0.</span>\n <span>00</span>\n </mock:shadow-root>\n </q2-currency>\n `);\n\n page = await createNewSpecPage({\n amount: 1234.56,\n currency: 'USD',\n locale: 'en-US',\n signDisplay: 'exceptZero',\n });\n expect(page.root.signDisplay).toBe('exceptZero');\n expect(page.root).toEqualHtml(`\n <q2-currency amount=\"1234.56\" currency=\"USD\" locale=\"en-US\" sign-display=\"exceptZero\">\n <mock:shadow-root>\n <div aria-label=\"+$1,234.56\" class=\"currency\">\n <span>+</span>\n <span>$</span>\n <span>1,234.</span>\n <span>56</span>\n </mock:shadow-root>\n </q2-currency>\n `);\n });\n it('does not render when set to never', async () => {\n page = await createNewSpecPage({\n amount: 1234.56,\n currency: 'USD',\n locale: 'en-US',\n signDisplay: 'never',\n });\n expect(page.root.signDisplay).toBe('never');\n expect(page.root).toEqualHtml(`\n <q2-currency amount=\"1234.56\" currency=\"USD\" locale=\"en-US\" sign-display=\"never\">\n <mock:shadow-root>\n <div aria-label=\"$1,234.56\" class=\"currency\">\n <span>$</span>\n <span>1,234.</span>\n <span>56</span>\n </mock:shadow-root>\n </q2-currency>\n `);\n });\n });\n });\n\n describe('slotSize', () => {\n describe('when provided', () => {\n it('applies size class to currency', async () => {\n page = await createNewSpecPage({\n amount: 1234.56,\n currency: 'USD',\n locale: 'en-US',\n slotSize: 'medium',\n });\n expect(page.root).toEqualHtml(`\n <q2-currency amount=\"1234.56\" currency=\"USD\" locale=\"en-US\" slot-size=\"medium\" sign-display=\"auto\">\n <mock:shadow-root>\n <div aria-label=\"$1,234.56\" class=\"currency currency-medium\">\n <span class='superscript'>$</span>\n <span>1,234</span>\n <span class='superscript'>56</span>\n </mock:shadow-root>\n </q2-currency>\n `);\n });\n it('does NOT apply if the size property is already provided', async () => {\n page = await createNewSpecPage({\n amount: 1234.56,\n currency: 'USD',\n locale: 'en-US',\n size: 'large',\n slotSize: 'small',\n });\n expect(page.root).toEqualHtml(`\n <q2-currency amount=\"1234.56\" currency=\"USD\" locale=\"en-US\" size=\"large\" slot-size=\"small\" sign-display=\"auto\">\n <mock:shadow-root>\n <div aria-label=\"$1,234.56\" class=\"currency currency-large\">\n <span class='superscript'>$</span>\n <span>1,234</span>\n <span class='superscript'>56</span>\n </mock:shadow-root>\n </q2-currency>\n `);\n });\n });\n describe('when not provided', () => {\n it('does NOT apply size class', async () => {\n page = await createNewSpecPage({\n amount: 1234.56,\n currency: 'USD',\n locale: 'en-US',\n });\n expect(page.root).toEqualHtml(`\n <q2-currency amount=\"1234.56\" currency=\"USD\" locale=\"en-US\" sign-display=\"auto\">\n <mock:shadow-root>\n <div aria-label=\"$1,234.56\" class=\"currency\">\n <span>$</span>\n <span>1,234.</span>\n <span>56</span>\n </mock:shadow-root>\n </q2-currency>\n `);\n });\n });\n });\n });\n\n describe('superscript styling behavior', () => {\n it('if the fraction separator is a comma, do not superscript the fraction', async () => {\n page = await createNewSpecPage({\n amount: 1234.56,\n currency: 'DKK',\n locale: 'da-DK',\n size: 'medium',\n });\n expect(page.root.currency).toBe('DKK');\n expect(page.root).toEqualHtml(`\n <q2-currency amount=\"1234.56\" currency=\"DKK\" locale=\"da-DK\" size=\"medium\" sign-display=\"auto\">\n <mock:shadow-root>\n <div aria-label=\"1.234,56 kr.\" class=\"currency currency-medium\">\n <span>1.234,</span>\n <span>56</span>\n <span class='superscript'>kr.</span>\n </mock:shadow-root>\n </q2-currency>\n\n `);\n });\n\n describe('in relation to size property', () => {\n it('if provided: apply superscript', async () => {\n page = await createNewSpecPage({\n amount: 1234.56,\n currency: 'USD',\n locale: 'en-US',\n size: 'medium',\n });\n expect(page.root.size).toBe('medium');\n expect(page.root).toEqualHtml(`\n <q2-currency amount=\"1234.56\" currency=\"USD\" locale=\"en-US\" size=\"medium\" sign-display=\"auto\">\n <mock:shadow-root>\n <div aria-label=\"$1,234.56\" class=\"currency currency-medium\">\n <span class='superscript'>$</span>\n <span>1,234</span>\n <span class='superscript'>56</span>\n </mock:shadow-root>\n </q2-currency>\n `);\n });\n\n it('if NOT provided: do NOT apply superscript', async () => {\n page = await createNewSpecPage({\n amount: 1234.56,\n currency: 'USD',\n locale: 'en-US',\n });\n expect(page.root.size).toBe(undefined);\n expect(page.root).toEqualHtml(`\n <q2-currency amount=\"1234.56\" currency=\"USD\" locale=\"en-US\" sign-display=\"auto\">\n <mock:shadow-root>\n <div aria-label=\"$1,234.56\" class=\"currency\">\n <span>$</span>\n <span>1,234.</span>\n <span>56</span>\n </mock:shadow-root>\n </q2-currency>\n `);\n });\n });\n });\n\n describe('Accessibility', () => {\n describe('aXe DevTools', () => {\n it('does not have accessibility violations', async () => {\n const page = await setup({ html: `<q2-currency amount=\"1234.56\" />` });\n const hasViolations = await evaluateA11y(page);\n expect(hasViolations).toBe(false);\n });\n });\n describe('Accessibility Tree', () => {});\n describe('Keyboard Controls', () => {});\n describe('Other', () => {});\n });\n});\n"]}
|
|
1
|
+
{"version":3,"file":"q2-currency-test.e2e.js","sourceRoot":"","sources":["../../../../src/components/q2-currency/test/q2-currency-test.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["import { SpecPage, newSpecPage } from '@stencil/core/testing';\nimport { setup, evaluateA11y, getListOfStyleCompilationIssues } from '@/utils/helpers';\nimport { Q2Currency } from '../q2-currency';\n\nfunction createNewSpecPage(props: {\n amount?: number;\n currency?: string;\n locale?: string;\n size?: string;\n slotSize?: string;\n signDisplay?: string;\n}) {\n let htmlProps: string = '';\n if (!isNaN(props.amount)) {\n htmlProps += ` amount=${props.amount}`;\n }\n if (!!props.currency) {\n htmlProps += ` currency=\"${props.currency}\"`;\n }\n if (!!props.locale) {\n htmlProps += ` locale=\"${props.locale}\"`;\n }\n if (!!props.size) {\n htmlProps += ` size=\"${props.size}\"`;\n }\n if (!!props.signDisplay) {\n htmlProps += ` sign-display=\"${props.signDisplay}\"`;\n }\n if (!!props.slotSize) {\n htmlProps += ` slot-size=\"${props.slotSize}\"`;\n }\n return newSpecPage({\n components: [Q2Currency],\n html: `<q2-currency ${htmlProps}></q2-currency>`,\n });\n}\n\ndescribe('q2-currency', () => {\n it('properly compiles CSS vars and functions', async () => {\n const page = await setup({ html: '<q2-currency></q2-currency>' });\n expect(await getListOfStyleCompilationIssues(page, 'q2-currency')).toHaveLength(0);\n });\n\n let page: SpecPage;\n\n it('renders', async () => {\n page = await createNewSpecPage({\n amount: 1234.56,\n currency: 'USD',\n locale: 'en-US',\n });\n\n expect(page.root).toEqualHtml(`\n <q2-currency amount=\"1234.56\" currency=\"USD\" locale=\"en-US\" sign-display=\"auto\">\n <mock:shadow-root>\n <div aria-label=\"$1,234.56\" class=\"currency\" test-id=\"q2CurrencyInner\">\n <span>$</span>\n <span>1,234.</span>\n <span>56</span>\n </mock:shadow-root>\n </q2-currency>\n `);\n });\n\n describe('Props', () => {\n describe('amount', () => {\n it('should render the amount', async () => {\n page = await createNewSpecPage({\n amount: 1234.56,\n currency: 'USD',\n locale: 'en-US',\n });\n expect(page.root.amount).toBe(1234.56);\n });\n it('should accept negative numbers', async () => {\n page = await createNewSpecPage({\n amount: -1234.56,\n currency: 'USD',\n locale: 'en-US',\n });\n expect(page.root.amount).toBe(-1234.56);\n expect(page.root).toEqualHtml(`\n <q2-currency amount=\"-1234.56\" currency=\"USD\" locale=\"en-US\" sign-display=\"auto\">\n <mock:shadow-root>\n <div aria-label=\"-$1,234.56\" class=\"currency\" test-id=\"q2CurrencyInner\">\n <span>-</span>\n <span>$</span>\n <span>1,234.</span>\n <span>56</span>\n </mock:shadow-root>\n </q2-currency>\n `);\n });\n });\n describe('currency', () => {\n it('renders appropriate currency symbol', async () => {\n page = await createNewSpecPage({\n amount: 1234.56,\n currency: 'EUR',\n locale: 'en-US',\n });\n expect(page.root.currency).toBe('EUR');\n expect(page.root).toEqualHtml(`\n <q2-currency amount=\"1234.56\" currency=\"EUR\" locale=\"en-US\" sign-display=\"auto\">\n <mock:shadow-root>\n <div aria-label=\"€1,234.56\" class=\"currency\" test-id=\"q2CurrencyInner\">\n <span>€</span>\n <span>1,234.</span>\n <span>56</span>\n </mock:shadow-root>\n </q2-currency>\n `);\n });\n });\n describe('locale', () => {\n it('renders according to the locale', async () => {\n page = await createNewSpecPage({\n amount: 1234.56,\n currency: 'USD',\n locale: 'es-MX',\n });\n expect(page.root.locale).toBe('es-MX');\n expect(page.root).toEqualHtml(`\n <q2-currency amount=\"1234.56\" currency=\"USD\" locale=\"es-MX\" sign-display=\"auto\">\n <mock:shadow-root>\n <div aria-label=\"USD 1,234.56\" class=\"currency\" test-id=\"q2CurrencyInner\">\n <span>USD</span>\n <span>1,234.</span>\n <span>56</span>\n </mock:shadow-root>\n </q2-currency>\n `);\n });\n });\n describe('size', () => {\n it('renders small', async () => {\n page = await createNewSpecPage({\n amount: 1234.56,\n currency: 'USD',\n locale: 'en-US',\n size: 'small',\n });\n expect(page.root.size).toBe('small');\n expect(page.root).toEqualHtml(`\n <q2-currency amount=\"1234.56\" currency=\"USD\" locale=\"en-US\" size=\"small\" sign-display=\"auto\">\n <mock:shadow-root>\n <div aria-label=\"$1,234.56\" class=\"currency currency-small\" test-id=\"q2CurrencyInner\">\n <span class='superscript'>$</span>\n <span>1,234.</span>\n <span>56</span>\n </mock:shadow-root>\n </q2-currency>\n `);\n });\n\n it('renders medium', async () => {\n page = await createNewSpecPage({\n amount: 1234.56,\n currency: 'USD',\n locale: 'en-US',\n size: 'medium',\n });\n expect(page.root.size).toBe('medium');\n expect(page.root).toEqualHtml(`\n <q2-currency amount=\"1234.56\" currency=\"USD\" locale=\"en-US\" size=\"medium\" sign-display=\"auto\">\n <mock:shadow-root>\n <div aria-label=\"$1,234.56\" class=\"currency currency-medium\" test-id=\"q2CurrencyInner\">\n <span class='superscript'>$</span>\n <span>1,234</span>\n <span class='superscript'>56</span>\n </mock:shadow-root>\n </q2-currency>\n `);\n });\n\n it('renders large', async () => {\n page = await createNewSpecPage({\n amount: 1234.56,\n currency: 'USD',\n locale: 'en-US',\n size: 'large',\n });\n expect(page.root.size).toBe('large');\n expect(page.root).toEqualHtml(`\n <q2-currency amount=\"1234.56\" currency=\"USD\" locale=\"en-US\" size=\"large\" sign-display=\"auto\">\n <mock:shadow-root>\n <div aria-label=\"$1,234.56\" class=\"currency currency-large\" test-id=\"q2CurrencyInner\">\n <span class='superscript'>$</span>\n <span>1,234</span>\n <span class='superscript'>56</span>\n </mock:shadow-root>\n </q2-currency>\n `);\n });\n });\n\n describe('signDisplay', () => {\n describe('when currency value is negative', () => {\n it('renders a negative sign on auto', async () => {\n page = await createNewSpecPage({\n amount: -1234.56,\n currency: 'USD',\n locale: 'en-US',\n });\n expect(page.root.signDisplay).toBe('auto');\n expect(page.root).toEqualHtml(`\n <q2-currency amount=\"-1234.56\" currency=\"USD\" locale=\"en-US\" sign-display=\"auto\">\n <mock:shadow-root>\n <div aria-label=\"-$1,234.56\" class=\"currency\" test-id=\"q2CurrencyInner\">\n <span>-</span>\n <span>$</span>\n <span>1,234.</span>\n <span>56</span>\n </mock:shadow-root>\n </q2-currency>\n `);\n });\n it('renders a negative sign on always', async () => {\n page = await createNewSpecPage({\n amount: -1234.56,\n currency: 'USD',\n locale: 'en-US',\n signDisplay: 'always',\n });\n expect(page.root.signDisplay).toBe('always');\n expect(page.root).toEqualHtml(`\n <q2-currency amount=\"-1234.56\" currency=\"USD\" locale=\"en-US\" sign-display=\"always\">\n <mock:shadow-root>\n <div aria-label=\"-$1,234.56\" class=\"currency\" test-id=\"q2CurrencyInner\">\n <span>-</span>\n <span>$</span>\n <span>1,234.</span>\n <span>56</span>\n </mock:shadow-root>\n </q2-currency>\n `);\n });\n it('renders only when value is not zero on exceptZero', async () => {\n page = await createNewSpecPage({\n amount: -0,\n currency: 'USD',\n locale: 'en-US',\n signDisplay: 'exceptZero',\n });\n expect(page.root.signDisplay).toBe('exceptZero');\n expect(page.root).toEqualHtml(`\n <q2-currency amount=\"0\" currency=\"USD\" locale=\"en-US\" sign-display=\"exceptZero\">\n <mock:shadow-root>\n <div aria-label=\"$0.00\" class=\"currency\" test-id=\"q2CurrencyInner\">\n <span>$</span>\n <span>0.</span>\n <span>00</span>\n </mock:shadow-root>\n </q2-currency>\n `);\n\n page = await createNewSpecPage({\n amount: -1234.56,\n currency: 'USD',\n locale: 'en-US',\n signDisplay: 'exceptZero',\n });\n expect(page.root.signDisplay).toBe('exceptZero');\n expect(page.root).toEqualHtml(`\n <q2-currency amount=\"-1234.56\" currency=\"USD\" locale=\"en-US\" sign-display=\"exceptZero\">\n <mock:shadow-root>\n <div aria-label=\"-$1,234.56\" class=\"currency\" test-id=\"q2CurrencyInner\">\n <span>-</span>\n <span>$</span>\n <span>1,234.</span>\n <span>56</span>\n </mock:shadow-root>\n </q2-currency>\n `);\n });\n it('does not render when set to never', async () => {\n page = await createNewSpecPage({\n amount: -1234.56,\n currency: 'USD',\n locale: 'en-US',\n signDisplay: 'never',\n });\n expect(page.root.signDisplay).toBe('never');\n expect(page.root).toEqualHtml(`\n <q2-currency amount=\"-1234.56\" currency=\"USD\" locale=\"en-US\" sign-display=\"never\">\n <mock:shadow-root>\n <div aria-label=\"$1,234.56\" class=\"currency\" test-id=\"q2CurrencyInner\">\n <span>$</span>\n <span>1,234.</span>\n <span>56</span>\n </mock:shadow-root>\n </q2-currency>\n `);\n });\n });\n describe('when currency value is positive', () => {\n it('does not display positive sign on auto', async () => {\n page = await createNewSpecPage({\n amount: 1234.56,\n currency: 'USD',\n locale: 'en-US',\n });\n expect(page.root.signDisplay).toBe('auto');\n expect(page.root).toEqualHtml(`\n <q2-currency amount=\"1234.56\" currency=\"USD\" locale=\"en-US\" sign-display=\"auto\">\n <mock:shadow-root>\n <div aria-label=\"$1,234.56\" class=\"currency\" test-id=\"q2CurrencyInner\">\n <span>$</span>\n <span>1,234.</span>\n <span>56</span>\n </mock:shadow-root>\n </q2-currency>\n `);\n });\n it('displays the positive sign on always', async () => {\n page = await createNewSpecPage({\n amount: 1234.56,\n currency: 'USD',\n locale: 'en-US',\n signDisplay: 'always',\n });\n expect(page.root.signDisplay).toBe('always');\n expect(page.root).toEqualHtml(`\n <q2-currency amount=\"1234.56\" currency=\"USD\" locale=\"en-US\" sign-display=\"always\">\n <mock:shadow-root>\n <div aria-label=\"+$1,234.56\" class=\"currency\" test-id=\"q2CurrencyInner\">\n <span>+</span>\n <span>$</span>\n <span>1,234.</span>\n <span>56</span>\n </mock:shadow-root>\n </q2-currency>\n `);\n });\n it('renders sign only when value is not zero on exceptZero', async () => {\n page = await createNewSpecPage({\n amount: 0,\n currency: 'USD',\n locale: 'en-US',\n signDisplay: 'exceptZero',\n });\n expect(page.root.signDisplay).toBe('exceptZero');\n expect(page.root).toEqualHtml(`\n <q2-currency amount=\"0\" currency=\"USD\" locale=\"en-US\" sign-display=\"exceptZero\">\n <mock:shadow-root>\n <div aria-label=\"$0.00\" class=\"currency\" test-id=\"q2CurrencyInner\">\n <span>$</span>\n <span>0.</span>\n <span>00</span>\n </mock:shadow-root>\n </q2-currency>\n `);\n\n page = await createNewSpecPage({\n amount: 1234.56,\n currency: 'USD',\n locale: 'en-US',\n signDisplay: 'exceptZero',\n });\n expect(page.root.signDisplay).toBe('exceptZero');\n expect(page.root).toEqualHtml(`\n <q2-currency amount=\"1234.56\" currency=\"USD\" locale=\"en-US\" sign-display=\"exceptZero\">\n <mock:shadow-root>\n <div aria-label=\"+$1,234.56\" class=\"currency\" test-id=\"q2CurrencyInner\">\n <span>+</span>\n <span>$</span>\n <span>1,234.</span>\n <span>56</span>\n </mock:shadow-root>\n </q2-currency>\n `);\n });\n it('does not render when set to never', async () => {\n page = await createNewSpecPage({\n amount: 1234.56,\n currency: 'USD',\n locale: 'en-US',\n signDisplay: 'never',\n });\n expect(page.root.signDisplay).toBe('never');\n expect(page.root).toEqualHtml(`\n <q2-currency amount=\"1234.56\" currency=\"USD\" locale=\"en-US\" sign-display=\"never\">\n <mock:shadow-root>\n <div aria-label=\"$1,234.56\" class=\"currency\" test-id=\"q2CurrencyInner\">\n <span>$</span>\n <span>1,234.</span>\n <span>56</span>\n </mock:shadow-root>\n </q2-currency>\n `);\n });\n });\n });\n\n describe('slotSize', () => {\n describe('when provided', () => {\n it('applies size class to currency', async () => {\n page = await createNewSpecPage({\n amount: 1234.56,\n currency: 'USD',\n locale: 'en-US',\n slotSize: 'medium',\n });\n expect(page.root).toEqualHtml(`\n <q2-currency amount=\"1234.56\" currency=\"USD\" locale=\"en-US\" slot-size=\"medium\" sign-display=\"auto\">\n <mock:shadow-root>\n <div aria-label=\"$1,234.56\" class=\"currency currency-medium\" test-id=\"q2CurrencyInner\">\n <span class='superscript'>$</span>\n <span>1,234</span>\n <span class='superscript'>56</span>\n </mock:shadow-root>\n </q2-currency>\n `);\n });\n it('does NOT apply if the size property is already provided', async () => {\n page = await createNewSpecPage({\n amount: 1234.56,\n currency: 'USD',\n locale: 'en-US',\n size: 'large',\n slotSize: 'small',\n });\n expect(page.root).toEqualHtml(`\n <q2-currency amount=\"1234.56\" currency=\"USD\" locale=\"en-US\" size=\"large\" slot-size=\"small\" sign-display=\"auto\">\n <mock:shadow-root>\n <div aria-label=\"$1,234.56\" class=\"currency currency-large\" test-id=\"q2CurrencyInner\">\n <span class='superscript'>$</span>\n <span>1,234</span>\n <span class='superscript'>56</span>\n </mock:shadow-root>\n </q2-currency>\n `);\n });\n });\n describe('when not provided', () => {\n it('does NOT apply size class', async () => {\n page = await createNewSpecPage({\n amount: 1234.56,\n currency: 'USD',\n locale: 'en-US',\n });\n expect(page.root).toEqualHtml(`\n <q2-currency amount=\"1234.56\" currency=\"USD\" locale=\"en-US\" sign-display=\"auto\">\n <mock:shadow-root>\n <div aria-label=\"$1,234.56\" class=\"currency\" test-id=\"q2CurrencyInner\">\n <span>$</span>\n <span>1,234.</span>\n <span>56</span>\n </mock:shadow-root>\n </q2-currency>\n `);\n });\n });\n });\n });\n\n describe('superscript styling behavior', () => {\n it('if the fraction separator is a comma, do not superscript the fraction', async () => {\n page = await createNewSpecPage({\n amount: 1234.56,\n currency: 'DKK',\n locale: 'da-DK',\n size: 'medium',\n });\n expect(page.root.currency).toBe('DKK');\n expect(page.root).toEqualHtml(`\n <q2-currency amount=\"1234.56\" currency=\"DKK\" locale=\"da-DK\" size=\"medium\" sign-display=\"auto\">\n <mock:shadow-root>\n <div aria-label=\"1.234,56 kr.\" class=\"currency currency-medium\" test-id=\"q2CurrencyInner\">\n <span>1.234,</span>\n <span>56</span>\n <span class='superscript'>kr.</span>\n </mock:shadow-root>\n </q2-currency>\n\n `);\n });\n\n describe('in relation to size property', () => {\n it('if provided: apply superscript', async () => {\n page = await createNewSpecPage({\n amount: 1234.56,\n currency: 'USD',\n locale: 'en-US',\n size: 'medium',\n });\n expect(page.root.size).toBe('medium');\n expect(page.root).toEqualHtml(`\n <q2-currency amount=\"1234.56\" currency=\"USD\" locale=\"en-US\" size=\"medium\" sign-display=\"auto\">\n <mock:shadow-root>\n <div aria-label=\"$1,234.56\" class=\"currency currency-medium\" test-id=\"q2CurrencyInner\">\n <span class='superscript'>$</span>\n <span>1,234</span>\n <span class='superscript'>56</span>\n </mock:shadow-root>\n </q2-currency>\n `);\n });\n\n it('if NOT provided: do NOT apply superscript', async () => {\n page = await createNewSpecPage({\n amount: 1234.56,\n currency: 'USD',\n locale: 'en-US',\n });\n expect(page.root.size).toBe(undefined);\n expect(page.root).toEqualHtml(`\n <q2-currency amount=\"1234.56\" currency=\"USD\" locale=\"en-US\" sign-display=\"auto\">\n <mock:shadow-root>\n <div aria-label=\"$1,234.56\" class=\"currency\" test-id=\"q2CurrencyInner\">\n <span>$</span>\n <span>1,234.</span>\n <span>56</span>\n </mock:shadow-root>\n </q2-currency>\n `);\n });\n });\n });\n\n describe('Accessibility', () => {\n describe('aXe DevTools', () => {\n it('does not have accessibility violations', async () => {\n const page = await setup({ html: `<q2-currency amount=\"1234.56\" />` });\n const hasViolations = await evaluateA11y(page);\n expect(hasViolations).toBe(false);\n });\n });\n describe('Accessibility Tree', () => {});\n describe('Keyboard Controls', () => {});\n describe('Other', () => {});\n });\n\n describe('Test methods', () => {\n describe('displayedMessageValue', () => {\n it('should show currency value with proper formatting', async () => {\n const page = await setup({ html: '<q2-currency amount=\"1234.56\"></q2-currency>' });\n const currency = await page.find('q2-currency');\n const value = await currency.callMethod('displayedMessageValue');\n await page.waitForChanges();\n expect(value).toBe('$1,234.56');\n });\n });\n });\n});\n"]}
|
|
@@ -359,7 +359,7 @@ export class Q2DataTable {
|
|
|
359
359
|
const { hasRowData, numberOfColumns, emptyIcon, emptyMessage, loading } = this;
|
|
360
360
|
if (hasRowData || loading)
|
|
361
361
|
return null;
|
|
362
|
-
return (h("
|
|
362
|
+
return (h("tbody", null, h("tr", { class: "empty-state" }, h("td", { colSpan: numberOfColumns }, h("slot", { name: "empty-table" }, h("div", { class: "empty-state-content" }, h("q2-icon", { type: emptyIcon }), h("p", null, loc(emptyMessage))))))));
|
|
363
363
|
}
|
|
364
364
|
renderTableColGroup() {
|
|
365
365
|
const { serializedHeaders: headers, selectable, clickable, hasExpandableRows, hasDropdowns } = this;
|