q2-tecton-elements 1.51.0 → 1.52.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/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 +432 -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-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-ad798287.entry.js +0 -2
- package/dist/q2-tecton-elements/p-ad798287.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,"names":["q2RelativeTimeCss","Q2RelativeTimeStyle0","Q2RelativeTime","this","syncTimer","trimSuffix","document","documentElement","lang","connectedCallback","syncUpdated","disconnectedCallback","window","clearInterval","componentWillLoad","updateMessage","displayedMessageValue","displayedMessage","validBaseDateProp","isValidBaseDate","validDateProp","isValidDate","isBaseDateProvided","dateObject","baseDateObject","locale","handleNumeric","messageFormat","isValidUnit","unit","sync","loc","message","intlFormatDistance","Date","localeMatcher","numeric","style","trimMessage","setInterval","baseDate","date","undefined","isValid","console","warn","includes","shouldShow","replace","render","h","Fragment","key","dateTime"],"sources":["src/components/q2-relative-time/q2-relative-time.scss?tag=q2-relative-time&encapsulation=shadow","src/components/q2-relative-time/q2-relative-time.tsx"],"sourcesContent":["@import '../../styles/host.scss';\n@import '../../styles/functions';\n\n:host {\n display: inline;\n}\n","import { Component, Prop, State, Method, Watch, Element, h, ComponentInterface, Fragment } from '@stencil/core';\nimport { isValid as isValidDate, intlFormatDistance } from 'date-fns';\nimport { loc } from '../../utils';\n\n@Component({ tag: 'q2-relative-time', shadow: true, styleUrl: 'q2-relative-time.scss' })\nexport class Q2RelativeTime implements ComponentInterface {\n // #region Own Properties\n\n /**\n * @private\n * Used to manage the sync timer that updates the time since the component was connected to the DOM.\n * Will be set to null if a valid `baseDate` is provided.\n */\n syncTimer = null;\n /** @private Will be set to true if a valid `baseDate` is provided. */\n trimSuffix: boolean = false;\n\n // #endregion\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region State Properties\n\n @State()\n displayedMessage: string;\n\n // #endregion\n // #region Public Property API\n\n /**\n * If you want to display the length of time between two specific dates, you can provide a valid `date` and `baseDate`, and the component will display the length of time between the two dates.\n *\n * If `baseDate` is not provided, the date and time at render will be used instead and - if `sync` is true - updated every second to reflect the time between the `date` value and the time at render.\n *\n * @warning\n * - Requires a valid `date` value.\n * - If the provided `baseDate` is invalid, the component will display \"Invalid Date\" and a warning message will be printed in the console.\n * - Providing a valid `baseDate` will disable `sync` and remove the \"in\"/\"ago\" suffixes in the time message.\n * - Must be a valid ISO date string.\n */\n @Prop({ reflect: true })\n baseDate: Date | string;\n\n /**\n * The date you want to calculate relative time from.\n *\n * @warning\n * - Must be a valid ISO date string.\n * - If the provided `date` is invalid, the component will display \"Invalid Date\" and a warning message will be printed in the console.\n */\n @Prop({ reflect: true })\n date: Date | string;\n\n /**\n * The language used for the displayed message.\n * @info\n * It is recommended to use the BCP 47 Language Tags in the [\"language-extlang\" format](https://www.w3.org/International/articles/language-tags/).\n */\n @Prop({ reflect: true })\n locale: string = document.documentElement.lang || 'en-US';\n\n /** The length of the relative time message. */\n @Prop({ reflect: true })\n messageFormat: 'long' | 'short' | 'narrow' = 'short';\n\n /**\n * Determines if the displayed message will use numeric or relative values.\n *@info\n * Set this property to `always` to force the use of numeric values (e.g. \"1 day ago\") rather than relative ones (e.g. \"yesterday\").\n */\n @Prop({ reflect: true })\n numeric: 'always' | 'auto' = 'auto';\n\n /**\n * Keep the displayed message updated as time passes in the webpage.\n * @warning\n * If a valid `baseDate` is provided, `sync` will be set to `false`.\n */\n @Prop({ reflect: true, mutable: true })\n sync: boolean = true;\n\n /** Enforces the use of the provided unit of measurement in the displayed message. */\n @Prop({ reflect: true })\n unit: 'second' | 'minute' | 'hour' | 'day' | 'month' | 'quarter' | 'year';\n\n // #endregion\n // #region Component Lifecycle Events\n\n connectedCallback(): void {\n this.syncUpdated();\n }\n\n disconnectedCallback(): void {\n window.clearInterval(this.syncTimer);\n this.syncTimer = null;\n }\n\n componentWillLoad(): void | Promise<void> {\n this.updateMessage();\n }\n\n // #endregion\n // #region Public Methods API\n\n /** Retrieves the value of the displayed messages. */\n @Method()\n async displayedMessageValue(): Promise<string> {\n return this.displayedMessage;\n }\n\n /** Checks the provided baseDate prop is a valid date. */\n @Method()\n async validBaseDateProp(): Promise<boolean> {\n return this.isValidBaseDate;\n }\n\n /** Checks the provided date prop is a valid date. */\n @Method()\n async validDateProp(): Promise<boolean> {\n return this.isValidDate;\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('messageFormat')\n @Watch('locale')\n @Watch('date')\n @Watch('baseDate')\n @Watch('numeric')\n @Watch('unit')\n updateMessage() {\n const {\n isValidDate,\n isBaseDateProvided,\n isValidBaseDate,\n dateObject,\n baseDateObject,\n locale,\n handleNumeric,\n messageFormat,\n isValidUnit,\n unit,\n trimSuffix,\n } = this;\n\n if (!isValidDate || (isBaseDateProvided && !isValidBaseDate)) {\n this.sync = false;\n this.displayedMessage = loc('tecton.element.relativeTime.invalidDate');\n return;\n }\n\n const message = intlFormatDistance(new Date(dateObject), new Date(baseDateObject), {\n locale,\n localeMatcher: 'best fit',\n numeric: handleNumeric,\n style: messageFormat,\n unit: isValidUnit ? unit : null,\n });\n\n if (trimSuffix) {\n this.displayedMessage = this.trimMessage(message);\n } else {\n this.displayedMessage = message;\n }\n }\n\n @Watch('sync')\n syncUpdated() {\n if (this.sync) {\n this.syncTimer = window.setInterval(() => {\n this.updateMessage();\n }, 1000);\n } else {\n window.clearInterval(this.syncTimer);\n this.syncTimer = null;\n }\n }\n\n // #endregion\n // #region Local Methods\n\n get baseDateObject(): Date {\n if (this.isBaseDateProvided && this.isValidBaseDate) {\n this.trimSuffix = true;\n this.sync = false;\n return new Date(this.baseDate);\n } else {\n this.trimSuffix = false;\n this.sync = true;\n return new Date();\n }\n }\n\n get dateObject(): Date {\n return new Date(this.date);\n }\n\n get handleNumeric(): 'always' | 'auto' {\n if (this.isValidBaseDate) return 'always';\n return this.numeric;\n }\n\n get isBaseDateProvided(): boolean {\n return this.baseDate !== undefined;\n }\n\n get isValidBaseDate(): boolean {\n const date = new Date(this.baseDate);\n const isValid = isValidDate(date);\n if (!isValid && this.isBaseDateProvided) {\n console.warn('Error: Invalid baseDate provided to q2-relative-time.');\n }\n return isValid;\n }\n\n get isValidDate(): boolean {\n const date = new Date(this.date);\n const isValid = isValidDate(date);\n if (!isValid) console.warn('Error: Invalid date provided to q2-relative-time.');\n return isValid;\n }\n\n get isValidUnit(): boolean {\n if (['second', 'minute', 'hour', 'day', 'month', 'quarter', 'year'].includes(this.unit)) return true;\n return false;\n }\n\n get shouldShow(): boolean {\n return !!this.displayedMessage;\n }\n\n trimMessage(message: string): string {\n return message.replace(/^in\\s?/, '').replace(/\\sago$/, '');\n }\n\n // #endregion\n // #region Render Methods\n\n render() {\n const { shouldShow, displayedMessage } = this;\n\n return <Fragment>{shouldShow ? <time dateTime={displayedMessage}>{displayedMessage}</time> : null}</Fragment>;\n }\n\n // #endregion\n}\n"],"mappings":"iIAAA,MAAMA,EAAoB,+qBAC1B,MAAAC,EAAeD,E,MCIFE,EAAc,M,yBAQvBC,KAAAC,UAAY,KAEZD,KAAAE,WAAsB,M,wFA+CLC,SAASC,gBAAgBC,MAAQ,Q,mBAIL,Q,aAQhB,O,UAQb,K,oBAShB,iBAAAC,GACIN,KAAKO,a,CAGT,oBAAAC,GACIC,OAAOC,cAAcV,KAAKC,WAC1BD,KAAKC,UAAY,I,CAGrB,iBAAAU,GACIX,KAAKY,e,CAQT,2BAAMC,GACF,OAAOb,KAAKc,gB,CAKhB,uBAAMC,GACF,OAAOf,KAAKgB,e,CAKhB,mBAAMC,GACF,OAAOjB,KAAKkB,W,CAYhB,aAAAN,GACI,MAAMM,YACFA,EAAWC,mBACXA,EAAkBH,gBAClBA,EAAeI,WACfA,EAAUC,eACVA,EAAcC,OACdA,EAAMC,cACNA,EAAaC,cACbA,EAAaC,YACbA,EAAWC,KACXA,EAAIxB,WACJA,GACAF,KAEJ,IAAKkB,GAAgBC,IAAuBH,EAAkB,CAC1DhB,KAAK2B,KAAO,MACZ3B,KAAKc,iBAAmBc,EAAI,2CAC5B,M,CAGJ,MAAMC,EAAUC,qBAAmB,IAAIC,KAAKX,GAAa,IAAIW,KAAKV,GAAiB,CAC/EC,SACAU,cAAe,WACfC,QAASV,EACTW,MAAOV,EACPE,KAAMD,EAAcC,EAAO,OAG/B,GAAIxB,EAAY,CACZF,KAAKc,iBAAmBd,KAAKmC,YAAYN,E,KACtC,CACH7B,KAAKc,iBAAmBe,C,EAKhC,WAAAtB,GACI,GAAIP,KAAK2B,KAAM,CACX3B,KAAKC,UAAYQ,OAAO2B,aAAY,KAChCpC,KAAKY,eAAe,GACrB,I,KACA,CACHH,OAAOC,cAAcV,KAAKC,WAC1BD,KAAKC,UAAY,I,EAOzB,kBAAIoB,GACA,GAAIrB,KAAKmB,oBAAsBnB,KAAKgB,gBAAiB,CACjDhB,KAAKE,WAAa,KAClBF,KAAK2B,KAAO,MACZ,OAAO,IAAII,KAAK/B,KAAKqC,S,KAClB,CACHrC,KAAKE,WAAa,MAClBF,KAAK2B,KAAO,KACZ,OAAO,IAAII,I,EAInB,cAAIX,GACA,OAAO,IAAIW,KAAK/B,KAAKsC,K,CAGzB,iBAAIf,GACA,GAAIvB,KAAKgB,gBAAiB,MAAO,SACjC,OAAOhB,KAAKiC,O,CAGhB,sBAAId,GACA,OAAOnB,KAAKqC,WAAaE,S,CAG7B,mBAAIvB,GACA,MAAMsB,EAAO,IAAIP,KAAK/B,KAAKqC,UAC3B,MAAMG,EAAUtB,UAAYoB,GAC5B,IAAKE,GAAWxC,KAAKmB,mBAAoB,CACrCsB,QAAQC,KAAK,wD,CAEjB,OAAOF,C,CAGX,eAAItB,GACA,MAAMoB,EAAO,IAAIP,KAAK/B,KAAKsC,MAC3B,MAAME,EAAUtB,UAAYoB,GAC5B,IAAKE,EAASC,QAAQC,KAAK,qDAC3B,OAAOF,C,CAGX,eAAIf,GACA,GAAI,CAAC,SAAU,SAAU,OAAQ,MAAO,QAAS,UAAW,QAAQkB,SAAS3C,KAAK0B,MAAO,OAAO,KAChG,OAAO,K,CAGX,cAAIkB,GACA,QAAS5C,KAAKc,gB,CAGlB,WAAAqB,CAAYN,GACR,OAAOA,EAAQgB,QAAQ,SAAU,IAAIA,QAAQ,SAAU,G,CAM3D,MAAAC,GACI,MAAMF,WAAEA,EAAU9B,iBAAEA,GAAqBd,KAEzC,OAAO+C,EAACC,EAAQ,CAAAC,IAAA,4CAAEL,EAAaG,EAAA,QAAMG,SAAUpC,GAAmBA,GAA2B,K"}
|
|
1
|
+
{"version":3,"names":["q2RelativeTimeCss","Q2RelativeTimeStyle0","Q2RelativeTime","this","syncTimer","trimSuffix","document","documentElement","lang","connectedCallback","syncUpdated","disconnectedCallback","window","clearInterval","componentWillLoad","updateMessage","displayedMessageValue","displayedMessage","validBaseDateProp","isValidBaseDate","validDateProp","isValidDate","isBaseDateProvided","dateObject","baseDateObject","locale","handleNumeric","messageFormat","isValidUnit","unit","sync","loc","message","intlFormatDistance","Date","localeMatcher","numeric","style","trimMessage","setInterval","baseDate","date","undefined","isValid","console","warn","includes","shouldShow","replace","render","h","Fragment","key","dateTime"],"sources":["src/components/q2-relative-time/q2-relative-time.scss?tag=q2-relative-time&encapsulation=shadow","src/components/q2-relative-time/q2-relative-time.tsx"],"sourcesContent":["@import '../../styles/host.scss';\n@import '../../styles/functions';\n\n:host {\n display: inline;\n}\n","import { Component, Prop, State, Method, Watch, Element, h, ComponentInterface, Fragment } from '@stencil/core';\nimport { isValid as isValidDate, intlFormatDistance } from 'date-fns';\nimport { loc } from '../../utils';\n\n@Component({ tag: 'q2-relative-time', shadow: true, styleUrl: 'q2-relative-time.scss' })\nexport class Q2RelativeTime implements ComponentInterface {\n // #region Own Properties\n\n /**\n * @private\n * Used to manage the sync timer that updates the time since the component was connected to the DOM.\n * Will be set to null if a valid `baseDate` is provided.\n */\n syncTimer = null;\n /** @private Will be set to true if a valid `baseDate` is provided. */\n trimSuffix: boolean = false;\n\n // #endregion\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region State Properties\n\n @State()\n displayedMessage: string;\n\n // #endregion\n // #region Public Property API\n\n /**\n * If you want to display the length of time between two specific dates, you can provide a valid `date` and `baseDate`, and the component will display the length of time between the two dates.\n *\n * If `baseDate` is not provided, the date and time at render will be used instead and - if `sync` is true - updated every second to reflect the time between the `date` value and the time at render.\n *\n * @warning\n * - Requires a valid `date` value.\n * - If the provided `baseDate` is invalid, the component will display \"Invalid Date\" and a warning message will be printed in the console.\n * - Providing a valid `baseDate` will disable `sync` and remove the \"in\"/\"ago\" suffixes in the time message.\n * - Must be a valid ISO date string.\n */\n @Prop({ reflect: true })\n baseDate: Date | string;\n\n /**\n * The date you want to calculate relative time from.\n *\n * @warning\n * - Must be a valid ISO date string.\n * - If the provided `date` is invalid, the component will display \"Invalid Date\" and a warning message will be printed in the console.\n */\n @Prop({ reflect: true })\n date: Date | string;\n\n /**\n * The language used for the displayed message.\n * @info\n * It is recommended to use the BCP 47 Language Tags in the [\"language-extlang\" format](https://www.w3.org/International/articles/language-tags/).\n */\n @Prop({ reflect: true })\n locale: string = document.documentElement.lang || 'en-US';\n\n /** The length of the relative time message. */\n @Prop({ reflect: true })\n messageFormat: 'long' | 'short' | 'narrow' = 'short';\n\n /**\n * Determines if the displayed message will use numeric or relative values.\n *@info\n * Set this property to `always` to force the use of numeric values (e.g. \"1 day ago\") rather than relative ones (e.g. \"yesterday\").\n */\n @Prop({ reflect: true })\n numeric: 'always' | 'auto' = 'auto';\n\n /**\n * Keep the displayed message updated as time passes in the webpage.\n * @warning\n * If a valid `baseDate` is provided, `sync` will be set to `false`.\n */\n @Prop({ reflect: true, mutable: true })\n sync: boolean = true;\n\n /** Enforces the use of the provided unit of measurement in the displayed message. */\n @Prop({ reflect: true })\n unit: 'second' | 'minute' | 'hour' | 'day' | 'month' | 'quarter' | 'year';\n\n // #endregion\n // #region Component Lifecycle Events\n\n connectedCallback(): void {\n this.syncUpdated();\n }\n\n disconnectedCallback(): void {\n window.clearInterval(this.syncTimer);\n this.syncTimer = null;\n }\n\n componentWillLoad(): void | Promise<void> {\n this.updateMessage();\n }\n\n // #endregion\n // #region Public Methods API\n\n /** Retrieves the value of the displayed messages. */\n @Method()\n async displayedMessageValue(): Promise<string> {\n return this.displayedMessage;\n }\n\n /** Checks the provided baseDate prop is a valid date. */\n @Method()\n async validBaseDateProp(): Promise<boolean> {\n return this.isValidBaseDate;\n }\n\n /** Checks the provided date prop is a valid date. */\n @Method()\n async validDateProp(): Promise<boolean> {\n return this.isValidDate;\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('messageFormat')\n @Watch('locale')\n @Watch('date')\n @Watch('baseDate')\n @Watch('numeric')\n @Watch('unit')\n updateMessage() {\n const {\n isValidDate,\n isBaseDateProvided,\n isValidBaseDate,\n dateObject,\n baseDateObject,\n locale,\n handleNumeric,\n messageFormat,\n isValidUnit,\n unit,\n trimSuffix,\n } = this;\n\n if (!isValidDate || (isBaseDateProvided && !isValidBaseDate)) {\n this.sync = false;\n this.displayedMessage = loc('tecton.element.relativeTime.invalidDate');\n return;\n }\n\n const message = intlFormatDistance(new Date(dateObject), new Date(baseDateObject), {\n locale,\n localeMatcher: 'best fit',\n numeric: handleNumeric,\n style: messageFormat,\n unit: isValidUnit ? unit : null,\n });\n\n if (trimSuffix) {\n this.displayedMessage = this.trimMessage(message);\n } else {\n this.displayedMessage = message;\n }\n }\n\n @Watch('sync')\n syncUpdated() {\n if (this.sync) {\n this.syncTimer = window.setInterval(() => {\n this.updateMessage();\n }, 1000);\n } else {\n window.clearInterval(this.syncTimer);\n this.syncTimer = null;\n }\n }\n\n // #endregion\n // #region Local Methods\n\n get baseDateObject(): Date {\n if (this.isBaseDateProvided && this.isValidBaseDate) {\n this.trimSuffix = true;\n this.sync = false;\n return new Date(this.baseDate);\n } else {\n this.trimSuffix = false;\n this.sync = true;\n return new Date();\n }\n }\n\n get dateObject(): Date {\n return new Date(this.date);\n }\n\n get handleNumeric(): 'always' | 'auto' {\n if (this.isValidBaseDate) return 'always';\n return this.numeric;\n }\n\n get isBaseDateProvided(): boolean {\n return this.baseDate !== undefined;\n }\n\n get isValidBaseDate(): boolean {\n const date = new Date(this.baseDate);\n const isValid = isValidDate(date);\n if (!isValid && this.isBaseDateProvided) {\n console.warn('Error: Invalid baseDate provided to q2-relative-time.');\n }\n return isValid;\n }\n\n get isValidDate(): boolean {\n const date = new Date(this.date);\n const isValid = isValidDate(date);\n if (!isValid) console.warn('Error: Invalid date provided to q2-relative-time.');\n return isValid;\n }\n\n get isValidUnit(): boolean {\n if (['second', 'minute', 'hour', 'day', 'month', 'quarter', 'year'].includes(this.unit)) return true;\n return false;\n }\n\n get shouldShow(): boolean {\n return !!this.displayedMessage;\n }\n\n trimMessage(message: string): string {\n return message.replace(/^in\\s?/, '').replace(/\\sago$/, '');\n }\n\n // #endregion\n // #region Render Methods\n\n render() {\n const { shouldShow, displayedMessage } = this;\n\n return <Fragment>{shouldShow ? <time dateTime={displayedMessage}>{displayedMessage}</time> : null}</Fragment>;\n }\n\n // #endregion\n}\n"],"mappings":";;;;;;AAAA,MAAMA,IAAoB;;AAC1B,MAAAC,IAAeD;;MCIFE,IAAc;;;;;;;;eAQvBC,KAAAC,YAAY;8EAEZD,KAAAE,aAAsB;;;;kBA+CLC,SAASC,gBAAgBC,QAAQ;yBAIL;mBAQhB;gBAQb;;;;;EAShB,iBAAAC;IACIN,KAAKO;;EAGT,oBAAAC;IACIC,OAAOC,cAAcV,KAAKC;IAC1BD,KAAKC,YAAY;;EAGrB,iBAAAU;IACIX,KAAKY;;;;;EAQT,2BAAMC;IACF,OAAOb,KAAKc;;6DAKhB,uBAAMC;IACF,OAAOf,KAAKgB;;yDAKhB,mBAAMC;IACF,OAAOjB,KAAKkB;;;;EAYhB,aAAAN;IACI,OAAMM,aACFA,GAAWC,oBACXA,GAAkBH,iBAClBA,GAAeI,YACfA,GAAUC,gBACVA,GAAcC,QACdA,GAAMC,eACNA,GAAaC,eACbA,GAAaC,aACbA,GAAWC,MACXA,GAAIxB,YACJA,KACAF;IAEJ,KAAKkB,KAAgBC,MAAuBH,GAAkB;MAC1DhB,KAAK2B,OAAO;MACZ3B,KAAKc,mBAAmBc,EAAI;MAC5B;;IAGJ,MAAMC,IAAUC,qBAAmB,IAAIC,KAAKX,IAAa,IAAIW,KAAKV,IAAiB;MAC/EC;MACAU,eAAe;MACfC,SAASV;MACTW,OAAOV;MACPE,MAAMD,IAAcC,IAAO;;IAG/B,IAAIxB,GAAY;MACZF,KAAKc,mBAAmBd,KAAKmC,YAAYN;WACtC;MACH7B,KAAKc,mBAAmBe;;;EAKhC,WAAAtB;IACI,IAAIP,KAAK2B,MAAM;MACX3B,KAAKC,YAAYQ,OAAO2B,aAAY;QAChCpC,KAAKY;AAAe,UACrB;WACA;MACHH,OAAOC,cAAcV,KAAKC;MAC1BD,KAAKC,YAAY;;;;;EAOzB,kBAAIoB;IACA,IAAIrB,KAAKmB,sBAAsBnB,KAAKgB,iBAAiB;MACjDhB,KAAKE,aAAa;MAClBF,KAAK2B,OAAO;MACZ,OAAO,IAAII,KAAK/B,KAAKqC;WAClB;MACHrC,KAAKE,aAAa;MAClBF,KAAK2B,OAAO;MACZ,OAAO,IAAII;;;EAInB,cAAIX;IACA,OAAO,IAAIW,KAAK/B,KAAKsC;;EAGzB,iBAAIf;IACA,IAAIvB,KAAKgB,iBAAiB,OAAO;IACjC,OAAOhB,KAAKiC;;EAGhB,sBAAId;IACA,OAAOnB,KAAKqC,aAAaE;;EAG7B,mBAAIvB;IACA,MAAMsB,IAAO,IAAIP,KAAK/B,KAAKqC;IAC3B,MAAMG,IAAUtB,UAAYoB;IAC5B,KAAKE,KAAWxC,KAAKmB,oBAAoB;MACrCsB,QAAQC,KAAK;;IAEjB,OAAOF;;EAGX,eAAItB;IACA,MAAMoB,IAAO,IAAIP,KAAK/B,KAAKsC;IAC3B,MAAME,IAAUtB,UAAYoB;IAC5B,KAAKE,GAASC,QAAQC,KAAK;IAC3B,OAAOF;;EAGX,eAAIf;IACA,IAAI,EAAC,UAAU,UAAU,QAAQ,OAAO,SAAS,WAAW,SAAQkB,SAAS3C,KAAK0B,OAAO,OAAO;IAChG,OAAO;;EAGX,cAAIkB;IACA,SAAS5C,KAAKc;;EAGlB,WAAAqB,CAAYN;IACR,OAAOA,EAAQgB,QAAQ,UAAU,IAAIA,QAAQ,UAAU;;;;EAM3D,MAAAC;IACI,OAAMF,YAAEA,GAAU9B,kBAAEA,KAAqBd;IAEzC,OAAO+C,EAACC,GAAQ;MAAAC,KAAA;OAAEL,IAAaG,EAAA;MAAMG,UAAUpC;OAAmBA,KAA2B"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { r as i, c as t, h as e, g as s } from "./index-7a5365e2.js";
|
|
2
|
+
|
|
3
|
+
const n = "*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-double-focus-ring, 0 0 0 2px #ffffff, 0 0 0 4px #0066cc)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size:inherit;font-stretch:inherit}:host(.sr),:host(.sr) button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sr,.sr button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none}:host([hidden]){display:none}.invisible{visibility:hidden}:host(:not([hidden])){display:block;width:100%}";
|
|
4
|
+
|
|
5
|
+
const o = n;
|
|
6
|
+
|
|
7
|
+
const r = class {
|
|
8
|
+
constructor(e) {
|
|
9
|
+
i(this, e);
|
|
10
|
+
this.tctResize = t(this, "tctResize", 7);
|
|
11
|
+
this.observedElements = [];
|
|
12
|
+
// #endregion
|
|
13
|
+
// #region Local Methods
|
|
14
|
+
this.handleSlotChange = () => {
|
|
15
|
+
if (this.disabled) return;
|
|
16
|
+
this.startObserver();
|
|
17
|
+
};
|
|
18
|
+
this.disabled = undefined;
|
|
19
|
+
}
|
|
20
|
+
// #endregion
|
|
21
|
+
// #region Component Lifecycle Events
|
|
22
|
+
disconnectedCallback() {
|
|
23
|
+
this.stopObserver();
|
|
24
|
+
this.resizeObserver = null;
|
|
25
|
+
}
|
|
26
|
+
componentDidLoad() {
|
|
27
|
+
if ("ResizeObserver" in window) {
|
|
28
|
+
this.resizeObserver = new ResizeObserver((i => {
|
|
29
|
+
this.tctResize.emit({
|
|
30
|
+
entries: i
|
|
31
|
+
});
|
|
32
|
+
this.currentResizeObserverEntries = i;
|
|
33
|
+
}));
|
|
34
|
+
} else {
|
|
35
|
+
console.warn("ResizeObserver is not defined.");
|
|
36
|
+
}
|
|
37
|
+
if (!this.disabled) {
|
|
38
|
+
this.startObserver();
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
// #endregion
|
|
42
|
+
// #region Public Methods API
|
|
43
|
+
/**
|
|
44
|
+
* Returns the latest entries reported by the component.
|
|
45
|
+
*/
|
|
46
|
+
async getCurrentResizeEntries() {
|
|
47
|
+
return this.currentResizeObserverEntries || [];
|
|
48
|
+
}
|
|
49
|
+
// #endregion
|
|
50
|
+
// #region Watchers
|
|
51
|
+
disabledUpdated(i) {
|
|
52
|
+
if (i) {
|
|
53
|
+
this.stopObserver();
|
|
54
|
+
} else {
|
|
55
|
+
this.startObserver();
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
startObserver() {
|
|
59
|
+
var i, t, e;
|
|
60
|
+
const s = this.hostElement.shadowRoot.querySelector("slot");
|
|
61
|
+
if (s === null) return;
|
|
62
|
+
const n = (t = (i = s.assignedElements) === null || i === void 0 ? void 0 : i.call(s, {
|
|
63
|
+
flatten: true
|
|
64
|
+
})) !== null && t !== void 0 ? t : [];
|
|
65
|
+
// Unwatch previous elements
|
|
66
|
+
(e = this.observedElements) === null || e === void 0 ? void 0 : e.forEach((i => this.resizeObserver.unobserve(i)));
|
|
67
|
+
this.observedElements = [];
|
|
68
|
+
// Watch new elements
|
|
69
|
+
n.forEach((i => {
|
|
70
|
+
var t;
|
|
71
|
+
(t = this.resizeObserver) === null || t === void 0 ? void 0 : t.observe(i);
|
|
72
|
+
this.observedElements.push(i);
|
|
73
|
+
}));
|
|
74
|
+
}
|
|
75
|
+
stopObserver() {
|
|
76
|
+
var i;
|
|
77
|
+
(i = this.resizeObserver) === null || i === void 0 ? void 0 : i.disconnect();
|
|
78
|
+
}
|
|
79
|
+
// #endregion
|
|
80
|
+
// #region Render Methods
|
|
81
|
+
render() {
|
|
82
|
+
return e("slot", {
|
|
83
|
+
key: "054e80a957d13bd3226c6db7ca07be3764283974",
|
|
84
|
+
onSlotchange: this.handleSlotChange
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
get hostElement() {
|
|
88
|
+
return s(this);
|
|
89
|
+
}
|
|
90
|
+
static get watchers() {
|
|
91
|
+
return {
|
|
92
|
+
disabled: [ "disabledUpdated" ]
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
};
|
|
96
|
+
|
|
97
|
+
r.style = o;
|
|
98
|
+
|
|
99
|
+
export { r as q2_resize_observer };
|
|
100
|
+
//# sourceMappingURL=q2-resize-observer.entry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["q2ResizeObserverCss","Q2ResizeObserverStyle0","Q2ResizeObserver","this","observedElements","handleSlotChange","disabled","startObserver","disconnectedCallback","stopObserver","resizeObserver","componentDidLoad","window","ResizeObserver","resizeEntries","tctResize","emit","entries","currentResizeObserverEntries","console","warn","getCurrentResizeEntries","disabledUpdated","newVal","slot","hostElement","shadowRoot","querySelector","elements","_b","_a","assignedElements","call","flatten","_c","forEach","el","unobserve","observe","push","disconnect","render","h","key","onSlotchange"],"sources":["src/components/q2-resize-observer/q2-resize-observer.scss?tag=q2-resize-observer&encapsulation=shadow","src/components/q2-resize-observer/q2-resize-observer.tsx"],"sourcesContent":["@import '../../styles/host.scss';\n\n:host(:not([hidden])) {\n display: block;\n width: 100%;\n}\n","import { Component, ComponentInterface, Element, EventEmitter, h, Prop, Event, Method, Watch } from '@stencil/core';\n\n@Component({\n tag: 'q2-resize-observer',\n styleUrl: 'q2-resize-observer.scss',\n shadow: true,\n})\nexport class Q2ResizeObserver implements ComponentInterface {\n // #region Own Properties\n\n currentResizeObserverEntries: ResizeObserverEntry[];\n observedElements: HTMLElement[] = [];\n resizeObserver?: ResizeObserver;\n\n // #endregion\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region Public Property API\n\n /**\n * Determines wheter or not events will be emitted from the component.\n */\n @Prop({ reflect: true })\n disabled: boolean;\n\n // #endregion\n // #region Events\n\n /**\n * Emitted when any of the observed elements are resized.\n */\n @Event()\n tctResize: EventEmitter<{ entries: ResizeObserverEntry[] }>;\n\n // #endregion\n // #region Component Lifecycle Events\n\n disconnectedCallback() {\n this.stopObserver();\n this.resizeObserver = null;\n }\n\n componentDidLoad() {\n if ('ResizeObserver' in window) {\n this.resizeObserver = new ResizeObserver(resizeEntries => {\n this.tctResize.emit({ entries: resizeEntries });\n this.currentResizeObserverEntries = resizeEntries;\n });\n } else {\n console.warn('ResizeObserver is not defined.');\n }\n\n if (!this.disabled) {\n this.startObserver();\n }\n }\n\n // #endregion\n // #region Public Methods API\n\n /**\n * Returns the latest entries reported by the component.\n */\n @Method()\n async getCurrentResizeEntries(): Promise<ResizeObserverEntry[]> {\n return this.currentResizeObserverEntries || [];\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('disabled')\n disabledUpdated(newVal: boolean) {\n if (newVal) {\n this.stopObserver();\n } else {\n this.startObserver();\n }\n }\n\n // #endregion\n // #region Local Methods\n\n handleSlotChange = () => {\n if (this.disabled) return;\n this.startObserver();\n };\n\n startObserver() {\n const slot = this.hostElement.shadowRoot!.querySelector('slot');\n if (slot === null) return;\n\n const elements = (slot.assignedElements?.({ flatten: true }) as HTMLElement[]) ?? [];\n\n // Unwatch previous elements\n this.observedElements?.forEach(el => this.resizeObserver.unobserve(el));\n this.observedElements = [];\n\n // Watch new elements\n elements.forEach(el => {\n this.resizeObserver?.observe(el);\n this.observedElements.push(el);\n });\n }\n\n stopObserver() {\n this.resizeObserver?.disconnect();\n }\n\n // #endregion\n // #region Render Methods\n\n render() {\n return <slot onSlotchange={this.handleSlotChange} />;\n }\n\n // #endregion\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["q2ResizeObserverCss","Q2ResizeObserverStyle0","Q2ResizeObserver","this","observedElements","handleSlotChange","disabled","startObserver","disconnectedCallback","stopObserver","resizeObserver","componentDidLoad","window","ResizeObserver","resizeEntries","tctResize","emit","entries","currentResizeObserverEntries","console","warn","getCurrentResizeEntries","disabledUpdated","newVal","slot","hostElement","shadowRoot","querySelector","elements","_b","_a","assignedElements","call","flatten","_c","forEach","el","unobserve","observe","push","disconnect","render","h","key","onSlotchange"],"sources":["src/components/q2-resize-observer/q2-resize-observer.scss?tag=q2-resize-observer&encapsulation=shadow","src/components/q2-resize-observer/q2-resize-observer.tsx"],"sourcesContent":["@import '../../styles/host.scss';\n\n:host(:not([hidden])) {\n display: block;\n width: 100%;\n}\n","import { Component, ComponentInterface, Element, EventEmitter, h, Prop, Event, Method, Watch } from '@stencil/core';\n\n@Component({\n tag: 'q2-resize-observer',\n styleUrl: 'q2-resize-observer.scss',\n shadow: true,\n})\nexport class Q2ResizeObserver implements ComponentInterface {\n // #region Own Properties\n\n currentResizeObserverEntries: ResizeObserverEntry[];\n observedElements: HTMLElement[] = [];\n resizeObserver?: ResizeObserver;\n\n // #endregion\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region Public Property API\n\n /**\n * Determines wheter or not events will be emitted from the component.\n */\n @Prop({ reflect: true })\n disabled: boolean;\n\n // #endregion\n // #region Events\n\n /**\n * Emitted when any of the observed elements are resized.\n */\n @Event()\n tctResize: EventEmitter<{ entries: ResizeObserverEntry[] }>;\n\n // #endregion\n // #region Component Lifecycle Events\n\n disconnectedCallback() {\n this.stopObserver();\n this.resizeObserver = null;\n }\n\n componentDidLoad() {\n if ('ResizeObserver' in window) {\n this.resizeObserver = new ResizeObserver(resizeEntries => {\n this.tctResize.emit({ entries: resizeEntries });\n this.currentResizeObserverEntries = resizeEntries;\n });\n } else {\n console.warn('ResizeObserver is not defined.');\n }\n\n if (!this.disabled) {\n this.startObserver();\n }\n }\n\n // #endregion\n // #region Public Methods API\n\n /**\n * Returns the latest entries reported by the component.\n */\n @Method()\n async getCurrentResizeEntries(): Promise<ResizeObserverEntry[]> {\n return this.currentResizeObserverEntries || [];\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('disabled')\n disabledUpdated(newVal: boolean) {\n if (newVal) {\n this.stopObserver();\n } else {\n this.startObserver();\n }\n }\n\n // #endregion\n // #region Local Methods\n\n handleSlotChange = () => {\n if (this.disabled) return;\n this.startObserver();\n };\n\n startObserver() {\n const slot = this.hostElement.shadowRoot!.querySelector('slot');\n if (slot === null) return;\n\n const elements = (slot.assignedElements?.({ flatten: true }) as HTMLElement[]) ?? [];\n\n // Unwatch previous elements\n this.observedElements?.forEach(el => this.resizeObserver.unobserve(el));\n this.observedElements = [];\n\n // Watch new elements\n elements.forEach(el => {\n this.resizeObserver?.observe(el);\n this.observedElements.push(el);\n });\n }\n\n stopObserver() {\n this.resizeObserver?.disconnect();\n }\n\n // #endregion\n // #region Render Methods\n\n render() {\n return <slot onSlotchange={this.handleSlotChange} />;\n }\n\n // #endregion\n}\n"],"mappings":";;AAAA,MAAMA,IAAsB;;AAC5B,MAAAC,IAAeD;;MCMFE,IAAgB;;;;IAIzBC,KAAAC,mBAAkC;;;QA4ElCD,KAAAE,mBAAmB;MACf,IAAIF,KAAKG,UAAU;MACnBH,KAAKI;AAAe;;;;;EAhDxB,oBAAAC;IACIL,KAAKM;IACLN,KAAKO,iBAAiB;;EAG1B,gBAAAC;IACI,IAAI,oBAAoBC,QAAQ;MAC5BT,KAAKO,iBAAiB,IAAIG,gBAAeC;QACrCX,KAAKY,UAAUC,KAAK;UAAEC,SAASH;;QAC/BX,KAAKe,+BAA+BJ;AAAa;WAElD;MACHK,QAAQC,KAAK;;IAGjB,KAAKjB,KAAKG,UAAU;MAChBH,KAAKI;;;;;;;;EAWb,6BAAMc;IACF,OAAOlB,KAAKe,gCAAgC;;;;EAOhD,eAAAI,CAAgBC;IACZ,IAAIA,GAAQ;MACRpB,KAAKM;WACF;MACHN,KAAKI;;;EAYb,aAAAA;;IACI,MAAMiB,IAAOrB,KAAKsB,YAAYC,WAAYC,cAAc;IACxD,IAAIH,MAAS,MAAM;IAEnB,MAAMI,KAAWC,KAACC,IAAAN,EAAKO,sBAAgB,QAAAD,WAAA,aAAAA,EAAAE,KAAAR,GAAG;MAAES,SAAS;YAAyB,QAAAJ,WAAA,IAAAA,IAAI;;SAGlFK,IAAA/B,KAAKC,sBAAgB,QAAA8B,WAAA,aAAAA,EAAEC,SAAQC,KAAMjC,KAAKO,eAAe2B,UAAUD;IACnEjC,KAAKC,mBAAmB;;QAGxBwB,EAASO,SAAQC;;OACbN,IAAA3B,KAAKO,oBAAc,QAAAoB,WAAA,aAAAA,EAAEQ,QAAQF;MAC7BjC,KAAKC,iBAAiBmC,KAAKH;AAAG;;EAItC,YAAA3B;;KACIqB,IAAA3B,KAAKO,oBAAc,QAAAoB,WAAA,aAAAA,EAAEU;;;;EAMzB,MAAAC;IACI,OAAOC,EAAA;MAAAC,KAAA;MAAMC,cAAczC,KAAKE"}
|
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
import { r as t, c as e, h as i, g as n } from "./index-7a5365e2.js";
|
|
2
|
+
|
|
3
|
+
import { m as s, o as a, i as r, n as o, l as c } from "./index-d18e2a20.js";
|
|
4
|
+
|
|
5
|
+
const d = "*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-double-focus-ring, 0 0 0 2px #ffffff, 0 0 0 4px #0066cc)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size:inherit;font-stretch:inherit}:host(.sr),:host(.sr) button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sr,.sr button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none}:host([hidden]){display:none}.invisible{visibility:hidden}:host{display:block;background:var(--tct-section-background, var(--tct-section-background-color, var(--t-section-background-color, var(--tct-section-bg, var(--t-section-bg, var(--app-white, #ffffff))))));color:var(--tct-section-font-color, var(--t-section-font-color, var(--t-text, #4d4d4d)));border-radius:var(--tct-section-border-radius, var(--t-section-border-radius, var(--app-border-radius-1, 4px)));margin:var(--tct-section-margin, var(--t-section-margin, var(--app-scale-3x, 15px)));border-width:var(--tct-section-border-width, 0);border-style:var(--tct-section-border-style, solid);border-color:var(--tct-section-border-color, none)}@media screen and (max-width: 767px){:host{--comp-default-margin:var(--app-scale-3x, 15px) 0;margin:var(--tct-section-margin, var(--t-section-margin, var(--comp-default-margin)))}}@media print{:host{--comp-default-print-margin:var(--app-scale-3x, 15px) 0;margin:var(--tct-section-print-margin, var(--comp-default-print-margin))}}.wrapper{--comp-tween:var(--tct-section-tween, var(--t-section-tween, var(--app-tween-1, 0.2s ease)));--comp-default-wrapper-padding:var(--app-scale-1x, 5px) 0;display:block;padding:var(--tct-section-wrapper-padding, var(--t-section-wrapper-padding, var(--comp-default-wrapper-padding)))}.wrapper:hover{box-shadow:var(--tct-section-wrapper-hover-box-shadow, var(--t-section-wrapper-hover-box-shadow, inherit))}:host([collapsible]) .wrapper{--comp-tween:var(--tct-section-tween, var(--t-section-tween, var(--app-tween-2, 0.4s ease)))}header{--comp-default-header-padding:0 var(--app-scale-3x, 15px);padding:var(--tct-section-header-padding, var(--t-section-header-padding, var(--comp-default-header-padding)));display:flex}@media print{header{padding:var(--tct-section-header-print-padding, 0)}}header.has-header{min-height:var(--tct-section-header-min-height, var(--t-section-header-min-height, 44px))}.header-content{flex:1 1 100%;min-width:0;align-self:center}:host([collapsible]) .header-content{cursor:pointer}.title{margin:var(--tct-section-title-margin, 0);font-size:var(--tct-section-title-font-size, 20px);font-weight:var(--tct-section-title-font-weight, 600);text-transform:var(--tct-section-title-text-transform, none);letter-spacing:var(--tct-section-title-letter-spacing, 0.5px)}q2-icon{transition:transform var(--comp-tween)}:host(:not([expanded])) q2-icon,:host([expanded=false]) q2-icon{transform:rotate(180deg)}.content-wrapper{height:auto}.content-wrapper.is-closed{display:none;overflow:hidden}.content-wrapper.is-transitioning{overflow:hidden}:host([collapsible]) .content-wrapper{transition:height var(--comp-tween)}.content{--comp-default-content-padding:var(--app-scale-2x, 10px) var(--app-scale-3x, 15px);padding:var(--tct-section-content-padding, var(--t-section-content-padding, var(--comp-default-content-padding)))}@media print{.content{padding:var(--tct-section-content-print-padding, 0)}}.content:focus{box-shadow:none}:host([collapsible]) :host(:not([expanded])) .content{visibility:hidden}";
|
|
6
|
+
|
|
7
|
+
const h = d;
|
|
8
|
+
|
|
9
|
+
const p = class {
|
|
10
|
+
constructor(i) {
|
|
11
|
+
t(this, i);
|
|
12
|
+
this.change = e(this, "change", 7);
|
|
13
|
+
this.contentId = "content";
|
|
14
|
+
this.titleId = "title";
|
|
15
|
+
this.addContentSlotListener = () => {
|
|
16
|
+
if (this.contentSlot) {
|
|
17
|
+
this.contentSlot.addEventListener("slotchange", s);
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
const t = new MutationObserver(s);
|
|
21
|
+
t.observe(this.contentContainer, {
|
|
22
|
+
childList: true,
|
|
23
|
+
subtree: true
|
|
24
|
+
});
|
|
25
|
+
this.contentSlotMutationObserver = t;
|
|
26
|
+
};
|
|
27
|
+
this.addHeaderSlotListener = () => {
|
|
28
|
+
if (this.headerSlot) {
|
|
29
|
+
this.headerSlot.addEventListener("slotchange", this.onHeaderSlotChange);
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
const t = new MutationObserver(this.onHeaderSlotChange);
|
|
33
|
+
t.observe(this.headerSlotWrapper, {
|
|
34
|
+
childList: true
|
|
35
|
+
});
|
|
36
|
+
this.headerSlotMutationObserver = t;
|
|
37
|
+
};
|
|
38
|
+
this.clearResizeInterval = () => {
|
|
39
|
+
this.resizerFn && clearInterval(this.resizerFn);
|
|
40
|
+
};
|
|
41
|
+
this.onHeaderClick = () => {
|
|
42
|
+
this.change.emit({
|
|
43
|
+
expanded: !this.expanded
|
|
44
|
+
});
|
|
45
|
+
};
|
|
46
|
+
this.onHeaderSlotChange = () => {
|
|
47
|
+
const t = !!this.hostElement.querySelector('[slot="q2-section-header"]');
|
|
48
|
+
if (this.hasYieldedHeader !== t) {
|
|
49
|
+
this.hasYieldedHeader = !!t;
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
this.onTransitionEnd = () => {
|
|
53
|
+
if (this.expanded) {
|
|
54
|
+
this.contentHeight = undefined;
|
|
55
|
+
} else {
|
|
56
|
+
this.hideContent = true;
|
|
57
|
+
}
|
|
58
|
+
setTimeout((() => {
|
|
59
|
+
// This gives enough time for all values to get passed over
|
|
60
|
+
// Previously, the interval was never cleared and the fn was called indefinitely then filtered
|
|
61
|
+
// Will revisit in TCT-599
|
|
62
|
+
this.clearResizeInterval();
|
|
63
|
+
}), 1e3);
|
|
64
|
+
};
|
|
65
|
+
this.removeContentSlotListener = () => {
|
|
66
|
+
var t;
|
|
67
|
+
if (this.contentSlot) {
|
|
68
|
+
this.contentSlot.removeEventListener("slotchange", s);
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
(t = this.contentSlotMutationObserver) === null || t === void 0 ? void 0 : t.disconnect();
|
|
72
|
+
};
|
|
73
|
+
this.removeHeaderSlotListener = () => {
|
|
74
|
+
var t;
|
|
75
|
+
if (this.headerSlot) {
|
|
76
|
+
this.headerSlot.removeEventListener("slotchange", this.onHeaderSlotChange);
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
(t = this.headerSlotMutationObserver) === null || t === void 0 ? void 0 : t.disconnect();
|
|
80
|
+
};
|
|
81
|
+
this.contentHeight = undefined;
|
|
82
|
+
this.hasYieldedHeader = false;
|
|
83
|
+
this.hideContent = false;
|
|
84
|
+
this.collapsible = undefined;
|
|
85
|
+
this.expanded = undefined;
|
|
86
|
+
this.label = undefined;
|
|
87
|
+
this.noCollapseIcon = undefined;
|
|
88
|
+
}
|
|
89
|
+
// #endregion
|
|
90
|
+
// #region Component Lifecycle Events
|
|
91
|
+
disconnectedCallback() {
|
|
92
|
+
this.removeHeaderSlotListener();
|
|
93
|
+
this.removeContentSlotListener();
|
|
94
|
+
}
|
|
95
|
+
componentWillLoad() {
|
|
96
|
+
this.onHeaderSlotChange();
|
|
97
|
+
const {collapsible: t, expanded: e} = this;
|
|
98
|
+
this.contentHeight = t && e ? undefined : "0px";
|
|
99
|
+
this.hideContent = !e;
|
|
100
|
+
}
|
|
101
|
+
componentDidLoad() {
|
|
102
|
+
this.addHeaderSlotListener();
|
|
103
|
+
this.addContentSlotListener();
|
|
104
|
+
a(this.hostElement);
|
|
105
|
+
}
|
|
106
|
+
// #endregion
|
|
107
|
+
// #region Listeners
|
|
108
|
+
defaultChangeHandler(t) {
|
|
109
|
+
if (t.target === this.hostElement && !this.hostElement.onchange && !!t.detail) {
|
|
110
|
+
this.expanded = t.detail.expanded;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
delegateFocus(t) {
|
|
114
|
+
if (!r(t, this.hostElement)) return;
|
|
115
|
+
this.contentContainer.focus();
|
|
116
|
+
}
|
|
117
|
+
// #endregion
|
|
118
|
+
// #region Watchers
|
|
119
|
+
collapsibleObserver() {
|
|
120
|
+
this.contentHeight = this.currentHeight;
|
|
121
|
+
}
|
|
122
|
+
async expandedObserver(t) {
|
|
123
|
+
this.clearResizeInterval();
|
|
124
|
+
this.resizerFn = setInterval(s, 5);
|
|
125
|
+
if (t) {
|
|
126
|
+
this.expandSection();
|
|
127
|
+
} else {
|
|
128
|
+
this.collapseSection();
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
// #endregion
|
|
132
|
+
// #region Test Methods API
|
|
133
|
+
/**
|
|
134
|
+
* A test method to collapse section.
|
|
135
|
+
*
|
|
136
|
+
* @testOnly
|
|
137
|
+
*/
|
|
138
|
+
async collapse() {
|
|
139
|
+
if (!this.collapsible || !this.expanded) return;
|
|
140
|
+
const t = this.hostElement.shadowRoot.querySelector('[test-id="toggleButton"]');
|
|
141
|
+
t === null || t === void 0 ? void 0 : t.click();
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* A test method to expand section.
|
|
145
|
+
*
|
|
146
|
+
* @testOnly
|
|
147
|
+
*/ async expand() {
|
|
148
|
+
if (!this.collapsible || this.expanded) return;
|
|
149
|
+
const t = this.hostElement.shadowRoot.querySelector('[test-id="toggleButton"]');
|
|
150
|
+
t === null || t === void 0 ? void 0 : t.click();
|
|
151
|
+
}
|
|
152
|
+
// #endregion
|
|
153
|
+
// #region Local Methods
|
|
154
|
+
get contentContainerHeight() {
|
|
155
|
+
return `${this.contentContainer.offsetHeight || 0}px`;
|
|
156
|
+
}
|
|
157
|
+
get currentHeight() {
|
|
158
|
+
const {collapsible: t, expanded: e} = this;
|
|
159
|
+
if (!t) {
|
|
160
|
+
return null;
|
|
161
|
+
} else if (e) {
|
|
162
|
+
return this.contentContainerHeight;
|
|
163
|
+
} else {
|
|
164
|
+
return "0";
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
async collapseSection() {
|
|
168
|
+
this.contentHeight = this.contentContainerHeight;
|
|
169
|
+
await o((() => {
|
|
170
|
+
this.contentHeight = this.currentHeight;
|
|
171
|
+
}));
|
|
172
|
+
}
|
|
173
|
+
async expandSection() {
|
|
174
|
+
this.hideContent = false;
|
|
175
|
+
await o((() => {
|
|
176
|
+
this.contentHeight = this.currentHeight;
|
|
177
|
+
}));
|
|
178
|
+
}
|
|
179
|
+
// #endregion
|
|
180
|
+
// #region Render Methods
|
|
181
|
+
render() {
|
|
182
|
+
const t = this.label || this.hasYieldedHeader;
|
|
183
|
+
const e = [ "content-wrapper" ];
|
|
184
|
+
const {collapsible: n, hideContent: s, contentHeight: a} = this;
|
|
185
|
+
if (n) {
|
|
186
|
+
if (s) e.push("is-closed"); else if (a) e.push("is-transitioning");
|
|
187
|
+
}
|
|
188
|
+
const r = !this.hasYieldedHeader && !!this.label;
|
|
189
|
+
return i("section", {
|
|
190
|
+
key: "51caab18e84c01492e56a6146130fd62fe54ca70",
|
|
191
|
+
class: "wrapper"
|
|
192
|
+
}, i("header", {
|
|
193
|
+
key: "8badc2ccc5b350a005b8d22b69177d7018f34284",
|
|
194
|
+
class: t ? "has-header" : ""
|
|
195
|
+
}, i("div", {
|
|
196
|
+
key: "2af884fba47086257db63b7367d24c308d1b1e77",
|
|
197
|
+
class: "header-content",
|
|
198
|
+
id: this.titleId,
|
|
199
|
+
onClick: this.collapsible && this.onHeaderClick
|
|
200
|
+
}, r && i("h2", {
|
|
201
|
+
key: "32dcbaa44045c162fd41c14899192082fceb457e",
|
|
202
|
+
class: "title"
|
|
203
|
+
}, c(this.label)), i("div", {
|
|
204
|
+
key: "38535337690457635e0ffb1233c715c3d0f84cb5",
|
|
205
|
+
ref: t => this.headerSlotWrapper = t,
|
|
206
|
+
class: "header-slot-wrapper"
|
|
207
|
+
}, i("slot", {
|
|
208
|
+
key: "2e95134d388a51d7e4743a57b1ed102829ce43c6",
|
|
209
|
+
ref: t => this.headerSlot = t,
|
|
210
|
+
name: "q2-section-header"
|
|
211
|
+
}))), this.collapsible && !this.noCollapseIcon && i("q2-btn", {
|
|
212
|
+
key: "f7a91d6201e6be895e74a83d77e6b957e8eaba84",
|
|
213
|
+
label: c(this.label || "tecton.element.section.defaultToggleLabel"),
|
|
214
|
+
ariaExpanded: `${!!this.expanded}`,
|
|
215
|
+
ariaControls: this.contentId,
|
|
216
|
+
"test-id": "toggleButton",
|
|
217
|
+
"hide-label": true,
|
|
218
|
+
onClick: this.onHeaderClick
|
|
219
|
+
}, i("q2-icon", {
|
|
220
|
+
key: "a6677b9ad7903ba53ed6460c839421fb134a74a0",
|
|
221
|
+
type: "chevron-up"
|
|
222
|
+
}))), i("div", {
|
|
223
|
+
key: "0b8be5db6874002b6320ba62b42473ee6b55830a",
|
|
224
|
+
class: e.join(" "),
|
|
225
|
+
id: this.contentId,
|
|
226
|
+
"aria-labelledby": this.titleId,
|
|
227
|
+
role: "region",
|
|
228
|
+
onTransitionEnd: this.onTransitionEnd,
|
|
229
|
+
style: this.collapsible && {
|
|
230
|
+
height: this.contentHeight
|
|
231
|
+
}
|
|
232
|
+
}, i("div", {
|
|
233
|
+
key: "42968fd4be0401dcca23f6f84ce2db123e88d722",
|
|
234
|
+
ref: t => this.contentContainer = t,
|
|
235
|
+
class: "content",
|
|
236
|
+
tabindex: "-1"
|
|
237
|
+
}, i("slot", {
|
|
238
|
+
key: "919c3f6a65a945581deb258b10ad3877182389c4",
|
|
239
|
+
ref: t => this.contentSlot = t
|
|
240
|
+
}))));
|
|
241
|
+
}
|
|
242
|
+
get hostElement() {
|
|
243
|
+
return n(this);
|
|
244
|
+
}
|
|
245
|
+
static get watchers() {
|
|
246
|
+
return {
|
|
247
|
+
collapsible: [ "collapsibleObserver" ],
|
|
248
|
+
expanded: [ "expandedObserver" ]
|
|
249
|
+
};
|
|
250
|
+
}
|
|
251
|
+
};
|
|
252
|
+
|
|
253
|
+
p.style = h;
|
|
254
|
+
|
|
255
|
+
export { p as q2_section };
|
|
256
|
+
//# sourceMappingURL=q2-section.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["q2SectionCss","Q2SectionStyle0","Q2Section","this","contentId","titleId","addContentSlotListener","contentSlot","addEventListener","resizeIframe","observer","MutationObserver","observe","contentContainer","childList","subtree","contentSlotMutationObserver","addHeaderSlotListener","headerSlot","onHeaderSlotChange","headerSlotWrapper","headerSlotMutationObserver","clearResizeInterval","resizerFn","clearInterval","onHeaderClick","change","emit","expanded","hasSlotContent","hostElement","querySelector","hasYieldedHeader","onTransitionEnd","contentHeight","undefined","hideContent","setTimeout","removeContentSlotListener","removeEventListener","_a","disconnect","removeHeaderSlotListener","disconnectedCallback","componentWillLoad","collapsible","componentDidLoad","overrideFocus","defaultChangeHandler","event","target","onchange","detail","delegateFocus","isEventFromElement","focus","collapsibleObserver","currentHeight","expandedObserver","setInterval","expandSection","collapseSection","collapse","btn","shadowRoot","click","expand","contentContainerHeight","offsetHeight","nextPaint","render","hasHeader","label","wrapperClasses","push","showDefaultHeader","h","key","class","id","onClick","loc","ref","el","name","noCollapseIcon","ariaExpanded","ariaControls","type","join","role","style","height","tabindex"],"sources":["src/components/q2-section/q2-section.scss?tag=q2-section&encapsulation=shadow","src/components/q2-section/q2-section.tsx"],"sourcesContent":["@import '../../styles/host.scss';\n@import '../../styles/functions.scss';\n\n:host {\n display: block;\n background: var-list(\n --tct-section-background,\n var-prefixer(section-background-color),\n var-prefixer(section-bg),\n --app-white,\n #ffffff\n );\n color: var-list(var-prefixer(section-font-color), --t-text, #4d4d4d);\n border-radius: var-list(var-prefixer(section-border-radius), --app-border-radius-1, 4px);\n margin: var-list(var-prefixer(section-margin), --app-scale-3x, 15px);\n border-width: var-list(--tct-section-border-width, 0);\n border-style: var-list(--tct-section-border-style, solid);\n border-color: var-list(--tct-section-border-color, none);\n\n @media screen and (max-width: 767px) {\n --comp-default-margin: var(--app-scale-3x, 15px) 0;\n margin: var-list(var-prefixer(section-margin), --comp-default-margin);\n }\n\n @media print {\n --comp-default-print-margin: var(--app-scale-3x, 15px) 0;\n margin: var-list(--tct-section-print-margin, --comp-default-print-margin);\n }\n}\n\n.wrapper {\n --comp-tween: #{var-list(var-prefixer(section-tween), --app-tween-1, unquote('0.2s ease'))};\n --comp-default-wrapper-padding: var(--app-scale-1x, 5px) 0;\n display: block;\n padding: var-list(var-prefixer(section-wrapper-padding), --comp-default-wrapper-padding);\n\n &:hover {\n box-shadow: var-list(var-prefixer(section-wrapper-hover-box-shadow), inherit);\n }\n\n :host([collapsible]) & {\n --comp-tween: #{var-list(var-prefixer(section-tween), --app-tween-2, unquote('0.4s ease'))};\n }\n}\n\nheader {\n --comp-default-header-padding: 0 var(--app-scale-3x, 15px);\n padding: var-list(var-prefixer(section-header-padding), --comp-default-header-padding);\n display: flex;\n\n @media print {\n padding: var-list(--tct-section-header-print-padding, 0);\n }\n\n &.has-header {\n min-height: var-list(var-prefixer(section-header-min-height), 44px);\n }\n}\n\n.header-content {\n flex: 1 1 100%;\n min-width: 0;\n align-self: center;\n\n :host([collapsible]) & {\n cursor: pointer;\n }\n}\n\n.title {\n margin: var-list(--tct-section-title-margin, 0);\n font-size: var-list(--tct-section-title-font-size, 20px);\n font-weight: var-list(--tct-section-title-font-weight, 600);\n text-transform: var-list(--tct-section-title-text-transform, none);\n letter-spacing: var-list(--tct-section-title-letter-spacing, 0.5px);\n}\n\nq2-icon {\n transition: transform var(--comp-tween);\n\n :host(:not([expanded])) &,\n :host([expanded='false']) & {\n transform: rotate(180deg);\n }\n}\n\n.content-wrapper {\n height: auto;\n\n &.is-closed {\n display: none;\n overflow: hidden;\n }\n\n &.is-transitioning {\n overflow: hidden;\n }\n\n :host([collapsible]) & {\n transition: height var(--comp-tween);\n }\n}\n\n.content {\n --comp-default-content-padding: var(--app-scale-2x, 10px) var(--app-scale-3x, 15px);\n padding: var-list(var-prefixer(section-content-padding), --comp-default-content-padding);\n\n @media print {\n padding: var-list(--tct-section-content-print-padding, 0);\n }\n\n &:focus {\n box-shadow: none;\n }\n\n :host([collapsible]) :host(:not([expanded])) & {\n visibility: hidden;\n }\n}\n","import {\n Component,\n ComponentInterface,\n Prop,\n Element,\n Listen,\n State,\n Watch,\n h,\n Event,\n EventEmitter,\n Method,\n} from '@stencil/core';\nimport { isEventFromElement, loc, nextPaint, overrideFocus, resizeIframe } from 'src/utils';\n\n@Component({ tag: 'q2-section', shadow: true, styleUrl: 'q2-section.scss' })\nexport class Q2Section implements ComponentInterface {\n // #region Own Properties\n\n contentContainer: HTMLDivElement;\n contentId: string = 'content';\n contentSlot: HTMLSlotElement;\n contentSlotMutationObserver: MutationObserver;\n headerSlot: HTMLSlotElement;\n headerSlotMutationObserver: MutationObserver;\n headerSlotWrapper: HTMLDivElement;\n resizerFn: NodeJS.Timeout | undefined;\n titleId: string = 'title';\n\n // #endregion\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region State Properties\n\n @State()\n contentHeight: string;\n\n @State()\n hasYieldedHeader: boolean = false;\n\n @State()\n hideContent: boolean = false;\n\n // #endregion\n // #region Public Property API\n\n /** Determines if the section is collapsible. */\n @Prop({ reflect: true })\n collapsible: boolean;\n\n /** Indicates if the `q2-section` is in an expanded state or not. */\n @Prop({ reflect: true, mutable: true })\n expanded: boolean;\n\n /**\n * The text to display above the `q2-section`. Renders as an `<h2>` element.\n *\n * It is also used to provided an `aria-label` for the toggle button when the component is collapsible.\n *\n * @warning\n * If you are providing a custom header, setting this property is still strongly encouraged for the purposes of\n * accessibility.\n */\n @Prop({ reflect: true })\n label: string;\n\n /** Determines if the collapse chevron icon should show in the `q2-section` header. */\n @Prop({ reflect: true })\n noCollapseIcon: boolean;\n\n // #endregion\n // #region Events\n\n /**\n * Emitted when the section is expanded or collapsed.\n * @legacyEvent\n */\n @Event()\n change: EventEmitter<{ expanded: boolean }>;\n\n // #endregion\n // #region Component Lifecycle Events\n\n disconnectedCallback() {\n this.removeHeaderSlotListener();\n this.removeContentSlotListener();\n }\n\n componentWillLoad() {\n this.onHeaderSlotChange();\n const { collapsible, expanded } = this;\n this.contentHeight = collapsible && expanded ? undefined : '0px';\n this.hideContent = !expanded;\n }\n\n componentDidLoad() {\n this.addHeaderSlotListener();\n this.addContentSlotListener();\n overrideFocus(this.hostElement);\n }\n\n // #endregion\n // #region Listeners\n\n @Listen('change')\n defaultChangeHandler(event: CustomEvent) {\n if (event.target === this.hostElement && !this.hostElement.onchange && !!event.detail) {\n this.expanded = event.detail.expanded;\n }\n }\n\n @Listen('focus')\n delegateFocus(event: FocusEvent) {\n if (!isEventFromElement(event, this.hostElement)) return;\n this.contentContainer.focus();\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('collapsible')\n collapsibleObserver() {\n this.contentHeight = this.currentHeight;\n }\n\n @Watch('expanded')\n async expandedObserver(expanded: boolean) {\n this.clearResizeInterval();\n this.resizerFn = setInterval(resizeIframe, 5);\n\n if (expanded) {\n this.expandSection();\n } else {\n this.collapseSection();\n }\n }\n\n // #endregion\n // #region Test Methods API\n\n /**\n * A test method to collapse section.\n *\n * @testOnly\n */\n @Method()\n async collapse() {\n if (!this.collapsible || !this.expanded) return;\n const btn = this.hostElement.shadowRoot.querySelector('[test-id=\"toggleButton\"]');\n (btn as HTMLQ2BtnElement)?.click();\n }\n\n /**\n * A test method to expand section.\n *\n * @testOnly\n */\n @Method()\n async expand() {\n if (!this.collapsible || this.expanded) return;\n const btn = this.hostElement.shadowRoot.querySelector('[test-id=\"toggleButton\"]');\n (btn as HTMLQ2BtnElement)?.click();\n }\n\n // #endregion\n // #region Local Methods\n\n get contentContainerHeight() {\n return `${this.contentContainer.offsetHeight || 0}px`;\n }\n\n get currentHeight() {\n const { collapsible, expanded } = this;\n if (!collapsible) {\n return null;\n } else if (expanded) {\n return this.contentContainerHeight;\n } else {\n return '0';\n }\n }\n\n addContentSlotListener = () => {\n if (this.contentSlot) {\n this.contentSlot.addEventListener('slotchange', resizeIframe);\n return;\n }\n\n const observer = new MutationObserver(resizeIframe);\n observer.observe(this.contentContainer, { childList: true, subtree: true });\n this.contentSlotMutationObserver = observer;\n };\n\n addHeaderSlotListener = () => {\n if (this.headerSlot) {\n this.headerSlot.addEventListener('slotchange', this.onHeaderSlotChange);\n return;\n }\n\n const observer = new MutationObserver(this.onHeaderSlotChange);\n observer.observe(this.headerSlotWrapper, { childList: true });\n this.headerSlotMutationObserver = observer;\n };\n\n clearResizeInterval = () => {\n this.resizerFn && clearInterval(this.resizerFn);\n };\n\n async collapseSection() {\n this.contentHeight = this.contentContainerHeight;\n await nextPaint(() => {\n this.contentHeight = this.currentHeight;\n });\n }\n\n async expandSection() {\n this.hideContent = false;\n await nextPaint(() => {\n this.contentHeight = this.currentHeight;\n });\n }\n\n onHeaderClick = () => {\n this.change.emit({\n expanded: !this.expanded,\n });\n };\n\n onHeaderSlotChange = () => {\n const hasSlotContent = !!this.hostElement.querySelector('[slot=\"q2-section-header\"]');\n\n if (this.hasYieldedHeader !== hasSlotContent) {\n this.hasYieldedHeader = !!hasSlotContent;\n }\n };\n\n onTransitionEnd = () => {\n if (this.expanded) {\n this.contentHeight = undefined;\n } else {\n this.hideContent = true;\n }\n\n setTimeout(() => {\n // This gives enough time for all values to get passed over\n // Previously, the interval was never cleared and the fn was called indefinitely then filtered\n // Will revisit in TCT-599\n this.clearResizeInterval();\n }, 1000);\n };\n\n removeContentSlotListener = () => {\n if (this.contentSlot) {\n this.contentSlot.removeEventListener('slotchange', resizeIframe);\n return;\n }\n this.contentSlotMutationObserver?.disconnect();\n };\n\n removeHeaderSlotListener = () => {\n if (this.headerSlot) {\n this.headerSlot.removeEventListener('slotchange', this.onHeaderSlotChange);\n return;\n }\n\n this.headerSlotMutationObserver?.disconnect();\n };\n\n // #endregion\n // #region Render Methods\n\n render() {\n const hasHeader = this.label || this.hasYieldedHeader;\n const wrapperClasses = ['content-wrapper'];\n const { collapsible, hideContent, contentHeight } = this;\n if (collapsible) {\n if (hideContent) wrapperClasses.push('is-closed');\n else if (contentHeight) wrapperClasses.push('is-transitioning');\n }\n\n const showDefaultHeader = !this.hasYieldedHeader && !!this.label;\n\n return (\n <section class=\"wrapper\">\n <header class={hasHeader ? 'has-header' : ''}>\n <div\n class=\"header-content\"\n id={this.titleId}\n onClick={this.collapsible && this.onHeaderClick}\n >\n {showDefaultHeader && <h2 class=\"title\">{loc(this.label)}</h2>}\n <div\n ref={el => (this.headerSlotWrapper = el)}\n class=\"header-slot-wrapper\"\n >\n <slot\n ref={(el: HTMLSlotElement) => (this.headerSlot = el)}\n name=\"q2-section-header\"\n />\n </div>\n </div>\n {this.collapsible && !this.noCollapseIcon && (\n <q2-btn\n label={loc(this.label || 'tecton.element.section.defaultToggleLabel')}\n ariaExpanded={`${!!this.expanded}`}\n ariaControls={this.contentId}\n test-id=\"toggleButton\"\n hide-label\n onClick={this.onHeaderClick}\n >\n <q2-icon type=\"chevron-up\" />\n </q2-btn>\n )}\n </header>\n <div\n class={wrapperClasses.join(' ')}\n id={this.contentId}\n aria-labelledby={this.titleId}\n role=\"region\"\n onTransitionEnd={this.onTransitionEnd}\n style={\n this.collapsible && {\n height: this.contentHeight,\n }\n }\n >\n <div\n ref={el => (this.contentContainer = el)}\n class=\"content\"\n tabindex=\"-1\"\n >\n <slot ref={(el: HTMLSlotElement) => (this.contentSlot = el)} />\n </div>\n </div>\n </section>\n );\n }\n\n // #endregion\n}\n"],"mappings":";;;;AAAA,MAAMA,IAAe;;AACrB,MAAAC,IAAeD;;MCeFE,IAAS;;;;IAIlBC,KAAAC,YAAoB;IAOpBD,KAAAE,UAAkB;IA+JlBF,KAAAG,yBAAyB;MACrB,IAAIH,KAAKI,aAAa;QAClBJ,KAAKI,YAAYC,iBAAiB,cAAcC;QAChD;;MAGJ,MAAMC,IAAW,IAAIC,iBAAiBF;MACtCC,EAASE,QAAQT,KAAKU,kBAAkB;QAAEC,WAAW;QAAMC,SAAS;;MACpEZ,KAAKa,8BAA8BN;AAAQ;IAG/CP,KAAAc,wBAAwB;MACpB,IAAId,KAAKe,YAAY;QACjBf,KAAKe,WAAWV,iBAAiB,cAAcL,KAAKgB;QACpD;;MAGJ,MAAMT,IAAW,IAAIC,iBAAiBR,KAAKgB;MAC3CT,EAASE,QAAQT,KAAKiB,mBAAmB;QAAEN,WAAW;;MACtDX,KAAKkB,6BAA6BX;AAAQ;IAG9CP,KAAAmB,sBAAsB;MAClBnB,KAAKoB,aAAaC,cAAcrB,KAAKoB;AAAU;IAiBnDpB,KAAAsB,gBAAgB;MACZtB,KAAKuB,OAAOC,KAAK;QACbC,WAAWzB,KAAKyB;;AAClB;IAGNzB,KAAAgB,qBAAqB;MACjB,MAAMU,MAAmB1B,KAAK2B,YAAYC,cAAc;MAExD,IAAI5B,KAAK6B,qBAAqBH,GAAgB;QAC1C1B,KAAK6B,qBAAqBH;;;IAIlC1B,KAAA8B,kBAAkB;MACd,IAAI9B,KAAKyB,UAAU;QACfzB,KAAK+B,gBAAgBC;aAClB;QACHhC,KAAKiC,cAAc;;MAGvBC,YAAW;;;;QAIPlC,KAAKmB;AAAqB,UAC3B;AAAK;IAGZnB,KAAAmC,4BAA4B;;MACxB,IAAInC,KAAKI,aAAa;QAClBJ,KAAKI,YAAYgC,oBAAoB,cAAc9B;QACnD;;OAEJ+B,IAAArC,KAAKa,iCAA2B,QAAAwB,WAAA,aAAAA,EAAEC;AAAY;IAGlDtC,KAAAuC,2BAA2B;;MACvB,IAAIvC,KAAKe,YAAY;QACjBf,KAAKe,WAAWqB,oBAAoB,cAAcpC,KAAKgB;QACvD;;OAGJqB,IAAArC,KAAKkB,gCAA0B,QAAAmB,WAAA,aAAAA,EAAEC;AAAY;;4BAnOrB;uBAGL;;;;;;;;EA0CvB,oBAAAE;IACIxC,KAAKuC;IACLvC,KAAKmC;;EAGT,iBAAAM;IACIzC,KAAKgB;IACL,OAAM0B,aAAEA,GAAWjB,UAAEA,KAAazB;IAClCA,KAAK+B,gBAAgBW,KAAejB,IAAWO,YAAY;IAC3DhC,KAAKiC,eAAeR;;EAGxB,gBAAAkB;IACI3C,KAAKc;IACLd,KAAKG;IACLyC,EAAc5C,KAAK2B;;;;EAOvB,oBAAAkB,CAAqBC;IACjB,IAAIA,EAAMC,WAAW/C,KAAK2B,gBAAgB3B,KAAK2B,YAAYqB,cAAcF,EAAMG,QAAQ;MACnFjD,KAAKyB,WAAWqB,EAAMG,OAAOxB;;;EAKrC,aAAAyB,CAAcJ;IACV,KAAKK,EAAmBL,GAAO9C,KAAK2B,cAAc;IAClD3B,KAAKU,iBAAiB0C;;;;EAO1B,mBAAAC;IACIrD,KAAK+B,gBAAgB/B,KAAKsD;;EAI9B,sBAAMC,CAAiB9B;IACnBzB,KAAKmB;IACLnB,KAAKoB,YAAYoC,YAAYlD,GAAc;IAE3C,IAAImB,GAAU;MACVzB,KAAKyD;WACF;MACHzD,KAAK0D;;;;;;;;;;EAab,cAAMC;IACF,KAAK3D,KAAK0C,gBAAgB1C,KAAKyB,UAAU;IACzC,MAAMmC,IAAM5D,KAAK2B,YAAYkC,WAAWjC,cAAc;IACrDgC,MAAwB,QAAxBA,WAAG,aAAHA,EAA0BE;;;;;;SAS/B,YAAMC;IACF,KAAK/D,KAAK0C,eAAe1C,KAAKyB,UAAU;IACxC,MAAMmC,IAAM5D,KAAK2B,YAAYkC,WAAWjC,cAAc;IACrDgC,MAAwB,QAAxBA,WAAG,aAAHA,EAA0BE;;;;EAM/B,0BAAIE;IACA,OAAO,GAAGhE,KAAKU,iBAAiBuD,gBAAgB;;EAGpD,iBAAIX;IACA,OAAMZ,aAAEA,GAAWjB,UAAEA,KAAazB;IAClC,KAAK0C,GAAa;MACd,OAAO;WACJ,IAAIjB,GAAU;MACjB,OAAOzB,KAAKgE;WACT;MACH,OAAO;;;EA8Bf,qBAAMN;IACF1D,KAAK+B,gBAAgB/B,KAAKgE;UACpBE,GAAU;MACZlE,KAAK+B,gBAAgB/B,KAAKsD;AAAa;;EAI/C,mBAAMG;IACFzD,KAAKiC,cAAc;UACbiC,GAAU;MACZlE,KAAK+B,gBAAgB/B,KAAKsD;AAAa;;;;EAqD/C,MAAAa;IACI,MAAMC,IAAYpE,KAAKqE,SAASrE,KAAK6B;IACrC,MAAMyC,IAAiB,EAAC;IACxB,OAAM5B,aAAEA,GAAWT,aAAEA,GAAWF,eAAEA,KAAkB/B;IACpD,IAAI0C,GAAa;MACb,IAAIT,GAAaqC,EAAeC,KAAK,mBAChC,IAAIxC,GAAeuC,EAAeC,KAAK;;IAGhD,MAAMC,KAAqBxE,KAAK6B,sBAAsB7B,KAAKqE;IAE3D,OACII,EAAA;MAAAC,KAAA;MAASC,OAAM;OACXF,EAAA;MAAAC,KAAA;MAAQC,OAAOP,IAAY,eAAe;OACtCK,EAAA;MAAAC,KAAA;MACIC,OAAM;MACNC,IAAI5E,KAAKE;MACT2E,SAAS7E,KAAK0C,eAAe1C,KAAKsB;OAEjCkD,KAAqBC,EAAA;MAAAC,KAAA;MAAIC,OAAM;OAASG,EAAI9E,KAAKqE,SAClDI,EAAA;MAAAC,KAAA;MACIK,KAAKC,KAAOhF,KAAKiB,oBAAoB+D;MACrCL,OAAM;OAENF,EAAA;MAAAC,KAAA;MACIK,KAAMC,KAAyBhF,KAAKe,aAAaiE;MACjDC,MAAK;UAIhBjF,KAAK0C,gBAAgB1C,KAAKkF,kBACvBT,EAAA;MAAAC,KAAA;MACIL,OAAOS,EAAI9E,KAAKqE,SAAS;MACzBc,cAAc,KAAKnF,KAAKyB;MACxB2D,cAAcpF,KAAKC;MAAS,WACpB;MAAc;MAEtB4E,SAAS7E,KAAKsB;OAEdmD,EAAA;MAAAC,KAAA;MAASW,MAAK;UAI1BZ,EAAA;MAAAC,KAAA;MACIC,OAAOL,EAAegB,KAAK;MAC3BV,IAAI5E,KAAKC;MAAS,mBACDD,KAAKE;MACtBqF,MAAK;MACLzD,iBAAiB9B,KAAK8B;MACtB0D,OACIxF,KAAK0C,eAAe;QAChB+C,QAAQzF,KAAK+B;;OAIrB0C,EAAA;MAAAC,KAAA;MACIK,KAAKC,KAAOhF,KAAKU,mBAAmBsE;MACpCL,OAAM;MACNe,UAAS;OAETjB,EAAA;MAAAC,KAAA;MAAMK,KAAMC,KAAyBhF,KAAKI,cAAc4E"}
|