q2-tecton-elements 1.44.1 → 1.45.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 +2 -2
- package/dist/cjs/{index-1deac3ee.js → index-0e15dc8d.js} +14 -1
- package/dist/cjs/index-0e15dc8d.js.map +1 -0
- package/dist/cjs/{index-9272f57a.js → index-c385e32f.js} +1 -1
- package/dist/cjs/{index-9272f57a.js.map → index-c385e32f.js.map} +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/q2-action-sheet.cjs.entry.js +1 -1
- package/dist/cjs/q2-avatar.cjs.entry.js +1 -5
- package/dist/cjs/q2-avatar.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-badge.cjs.entry.js +4 -4
- package/dist/cjs/q2-badge.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-btn_2.cjs.entry.js +20 -9
- package/dist/cjs/q2-btn_2.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-calendar.cjs.entry.js +51 -20
- package/dist/cjs/q2-calendar.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-card.cjs.entry.js +1 -1
- package/dist/cjs/q2-carousel-pane.cjs.entry.js +7 -6
- package/dist/cjs/q2-carousel-pane.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-carousel.cjs.entry.js +25 -11
- package/dist/cjs/q2-carousel.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-chart-area.cjs.entry.js +1 -1
- package/dist/cjs/q2-chart-bar.cjs.entry.js +1 -1
- package/dist/cjs/q2-chart-donut.cjs.entry.js +18 -10
- package/dist/cjs/q2-chart-donut.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-checkbox-group.cjs.entry.js +1 -1
- package/dist/cjs/q2-checkbox.cjs.entry.js +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 +2 -2
- package/dist/cjs/q2-detail.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-dropdown-item.cjs.entry.js +1 -1
- package/dist/cjs/q2-dropdown-item.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-dropdown.cjs.entry.js +1 -1
- package/dist/cjs/q2-editable-field.cjs.entry.js +1 -1
- package/dist/cjs/q2-icon.cjs.entry.js +203 -212
- package/dist/cjs/q2-icon.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-input.cjs.entry.js +31 -6
- package/dist/cjs/q2-input.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-item.cjs.entry.js +120 -0
- package/dist/cjs/q2-item.cjs.entry.js.map +1 -0
- package/dist/cjs/q2-list.cjs.entry.js +84 -0
- package/dist/cjs/q2-list.cjs.entry.js.map +1 -0
- package/dist/cjs/q2-loc.cjs.entry.js +2 -2
- package/dist/cjs/q2-message.cjs.entry.js +3 -3
- package/dist/cjs/q2-message.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-month-picker.cjs.entry.js +1 -1
- package/dist/cjs/q2-optgroup_2.cjs.entry.js +4 -4
- package/dist/cjs/q2-optgroup_2.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-option-list.cjs.entry.js +1 -1
- package/dist/cjs/q2-pagination.cjs.entry.js +3 -3
- package/dist/cjs/q2-pagination.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-pill.cjs.entry.js +4 -3
- package/dist/cjs/q2-pill.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-radio-group.cjs.entry.js +1 -1
- package/dist/cjs/q2-radio.cjs.entry.js +3 -3
- package/dist/cjs/q2-radio.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-relative-time.cjs.entry.js +2 -2
- package/dist/cjs/q2-section.cjs.entry.js +3 -3
- package/dist/cjs/q2-select.cjs.entry.js +1 -1
- package/dist/cjs/q2-stepper-pane.cjs.entry.js +2 -2
- package/dist/cjs/q2-stepper-vertical.cjs.entry.js +3 -3
- package/dist/cjs/q2-stepper-vertical.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-stepper.cjs.entry.js +2 -2
- package/dist/cjs/q2-tab-container.cjs.entry.js +3 -3
- package/dist/cjs/q2-tab-container.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-tab-pane.cjs.entry.js +1 -1
- package/dist/cjs/q2-tag.cjs.entry.js +3 -3
- package/dist/cjs/q2-tag.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-tecton-elements.cjs.js +1 -1
- package/dist/cjs/q2-textarea.cjs.entry.js +2 -2
- package/dist/cjs/q2-textarea.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-tooltip.cjs.entry.js +1 -1
- package/dist/cjs/tecton-tab-pane.cjs.entry.js +2 -2
- package/dist/collection/collection-manifest.json +2 -0
- package/dist/collection/components/q2-avatar/q2-avatar.js +1 -5
- package/dist/collection/components/q2-avatar/q2-avatar.js.map +1 -1
- package/dist/collection/components/q2-badge/q2-badge.js +5 -4
- package/dist/collection/components/q2-badge/q2-badge.js.map +1 -1
- package/dist/collection/components/q2-btn/q2-btn.css +1 -1
- package/dist/collection/components/q2-btn/q2-btn.js +25 -8
- package/dist/collection/components/q2-btn/q2-btn.js.map +1 -1
- package/dist/collection/components/q2-calendar/q2-calendar-helpers.js +1 -1
- package/dist/collection/components/q2-calendar/q2-calendar-helpers.js.map +1 -1
- package/dist/collection/components/q2-calendar/q2-calendar.js +48 -17
- package/dist/collection/components/q2-calendar/q2-calendar.js.map +1 -1
- package/dist/collection/components/q2-carousel/q2-carousel.css +3 -1
- package/dist/collection/components/q2-carousel/q2-carousel.js +47 -10
- package/dist/collection/components/q2-carousel/q2-carousel.js.map +1 -1
- package/dist/collection/components/q2-carousel-pane/q2-carousel-pane.css +6 -0
- package/dist/collection/components/q2-carousel-pane/q2-carousel-pane.js +25 -4
- package/dist/collection/components/q2-carousel-pane/q2-carousel-pane.js.map +1 -1
- package/dist/collection/components/q2-chart-donut/q2-chart-donut.js +17 -12
- package/dist/collection/components/q2-chart-donut/q2-chart-donut.js.map +1 -1
- package/dist/collection/components/q2-data-table/q2-data-table.css +1 -1
- package/dist/collection/components/q2-data-table/q2-data-table.js +8 -8
- package/dist/collection/components/q2-data-table/q2-data-table.js.map +1 -1
- package/dist/collection/components/q2-detail/q2-detail.css +24 -21
- package/dist/collection/components/q2-dropdown-item/q2-dropdown-item.js +1 -1
- package/dist/collection/components/q2-dropdown-item/q2-dropdown-item.js.map +1 -1
- package/dist/collection/components/q2-icon/assets/cards.symbol.svg +1 -1
- package/dist/collection/components/q2-icon/assets/icon-list.json +1 -1
- package/dist/collection/components/q2-icon/assets/icon-map.json +1 -1
- package/dist/collection/components/q2-icon/assets/standard.symbol.svg +1 -1
- package/dist/collection/components/q2-icon/q2-icon.js +4 -36
- package/dist/collection/components/q2-icon/q2-icon.js.map +1 -1
- package/dist/collection/components/q2-input/q2-input.css +3 -5
- package/dist/collection/components/q2-input/q2-input.js +31 -6
- package/dist/collection/components/q2-input/q2-input.js.map +1 -1
- package/dist/collection/components/q2-item/q2-item.css +261 -0
- package/dist/collection/components/q2-item/q2-item.js +145 -0
- package/dist/collection/components/q2-item/q2-item.js.map +1 -0
- package/dist/collection/components/q2-list/q2-list.css +173 -0
- package/dist/collection/components/q2-list/q2-list.js +126 -0
- package/dist/collection/components/q2-list/q2-list.js.map +1 -0
- package/dist/collection/components/q2-loc/q2-loc.js +1 -1
- package/dist/collection/components/q2-message/q2-message.css +6 -3
- package/dist/collection/components/q2-message/q2-message.js +1 -1
- package/dist/collection/components/q2-optgroup/q2-optgroup.js +1 -1
- package/dist/collection/components/q2-option/q2-option.css +1 -1
- package/dist/collection/components/q2-option/q2-option.js +1 -1
- package/dist/collection/components/q2-option-list/q2-option-list.js +2 -2
- package/dist/collection/components/q2-pagination/q2-pagination.js +3 -3
- package/dist/collection/components/q2-pagination/q2-pagination.js.map +1 -1
- package/dist/collection/components/q2-pill/q2-pill.css +13 -9
- package/dist/collection/components/q2-pill/q2-pill.js +19 -1
- package/dist/collection/components/q2-pill/q2-pill.js.map +1 -1
- package/dist/collection/components/q2-popover/q2-popover.js +1 -1
- package/dist/collection/components/q2-radio/q2-radio.css +9 -6
- package/dist/collection/components/q2-radio/q2-radio.js +1 -1
- package/dist/collection/components/q2-radio/q2-radio.js.map +1 -1
- package/dist/collection/components/q2-relative-time/q2-relative-time.js +1 -1
- package/dist/collection/components/q2-section/q2-section.js +2 -2
- package/dist/collection/components/q2-stepper/q2-stepper.js +1 -1
- package/dist/collection/components/q2-stepper-pane/q2-stepper-pane.js +3 -3
- package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.css +6 -2
- package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.js +1 -1
- package/dist/collection/components/q2-tab-container/q2-tab-container.css +2 -2
- package/dist/collection/components/q2-tab-container/q2-tab-container.js +1 -1
- package/dist/collection/components/q2-tab-pane/q2-tab-pane.js +1 -1
- package/dist/collection/components/q2-tag/q2-tag.css +6 -6
- package/dist/collection/components/q2-tag/q2-tag.js +1 -1
- package/dist/collection/components/q2-textarea/q2-textarea.css +4 -24
- package/dist/collection/components/tecton-tab-pane/tecton-tab-pane.js +2 -2
- package/dist/collection/utils/index.js +12 -0
- package/dist/collection/utils/index.js.map +1 -1
- package/dist/components/index.js +4 -0
- package/dist/components/index.js.map +1 -1
- package/dist/components/index2.js +13 -1
- package/dist/components/index2.js.map +1 -1
- package/dist/components/q2-avatar2.js +2 -5
- package/dist/components/q2-avatar2.js.map +1 -1
- package/dist/components/q2-badge2.js +4 -4
- package/dist/components/q2-badge2.js.map +1 -1
- package/dist/components/q2-btn2.js +21 -10
- package/dist/components/q2-btn2.js.map +1 -1
- package/dist/components/q2-calendar.js +49 -18
- package/dist/components/q2-calendar.js.map +1 -1
- package/dist/components/q2-carousel-pane.js +8 -6
- package/dist/components/q2-carousel-pane.js.map +1 -1
- package/dist/components/q2-carousel.js +26 -10
- package/dist/components/q2-carousel.js.map +1 -1
- package/dist/components/q2-chart-donut.js +19 -11
- package/dist/components/q2-chart-donut.js.map +1 -1
- package/dist/components/q2-checkbox-group.js +1 -1
- package/dist/components/q2-data-table.js +2 -2
- package/dist/components/q2-data-table.js.map +1 -1
- package/dist/components/q2-detail.js +2 -2
- package/dist/components/q2-detail.js.map +1 -1
- package/dist/components/q2-dropdown-item2.js.map +1 -1
- package/dist/components/q2-icon2.js +204 -3107
- package/dist/components/q2-icon2.js.map +1 -1
- package/dist/components/q2-input2.js +31 -6
- package/dist/components/q2-input2.js.map +1 -1
- package/dist/components/q2-item.d.ts +11 -0
- package/dist/components/q2-item.js +137 -0
- package/dist/components/q2-item.js.map +1 -0
- package/dist/components/q2-list.d.ts +11 -0
- package/dist/components/q2-list.js +102 -0
- package/dist/components/q2-list.js.map +1 -0
- package/dist/components/q2-loc.js +1 -1
- package/dist/components/q2-message2.js +3 -3
- package/dist/components/q2-message2.js.map +1 -1
- package/dist/components/q2-optgroup2.js +1 -1
- package/dist/components/q2-option-list2.js +1 -1
- package/dist/components/q2-option2.js +2 -2
- package/dist/components/q2-option2.js.map +1 -1
- package/dist/components/q2-pagination.js +2 -2
- package/dist/components/q2-pagination.js.map +1 -1
- package/dist/components/q2-pill.js +4 -2
- package/dist/components/q2-pill.js.map +1 -1
- package/dist/components/q2-popover2.js +2 -2
- package/dist/components/q2-radio-group.js +1 -1
- package/dist/components/q2-radio.js +2 -2
- package/dist/components/q2-radio.js.map +1 -1
- package/dist/components/q2-relative-time.js +1 -1
- package/dist/components/q2-section.js +2 -2
- package/dist/components/q2-select.js +1 -1
- package/dist/components/q2-stepper-pane.js +1 -1
- package/dist/components/q2-stepper-vertical.js +2 -2
- package/dist/components/q2-stepper-vertical.js.map +1 -1
- package/dist/components/q2-stepper.js +1 -1
- package/dist/components/q2-tab-container.js +2 -2
- package/dist/components/q2-tab-container.js.map +1 -1
- package/dist/components/q2-tab-pane.js +1 -1
- package/dist/components/q2-tag.js +2 -2
- package/dist/components/q2-tag.js.map +1 -1
- package/dist/components/q2-textarea.js +2 -2
- package/dist/components/q2-textarea.js.map +1 -1
- package/dist/components/tecton-tab-pane.js +2 -2
- package/dist/esm/click-elsewhere_2.entry.js +2 -2
- package/dist/esm/{index-12c2a320.js → index-0a702dd6.js} +14 -2
- package/dist/esm/index-0a702dd6.js.map +1 -0
- package/dist/esm/{index-113a38d1.js → index-f0dfb099.js} +1 -1
- package/dist/esm/{index-113a38d1.js.map → index-f0dfb099.js.map} +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/q2-action-sheet.entry.js +1 -1
- package/dist/esm/q2-avatar.entry.js +1 -5
- package/dist/esm/q2-avatar.entry.js.map +1 -1
- package/dist/esm/q2-badge.entry.js +4 -4
- package/dist/esm/q2-badge.entry.js.map +1 -1
- package/dist/esm/q2-btn_2.entry.js +20 -9
- package/dist/esm/q2-btn_2.entry.js.map +1 -1
- package/dist/esm/q2-calendar.entry.js +51 -20
- package/dist/esm/q2-calendar.entry.js.map +1 -1
- package/dist/esm/q2-card.entry.js +1 -1
- package/dist/esm/q2-carousel-pane.entry.js +7 -6
- package/dist/esm/q2-carousel-pane.entry.js.map +1 -1
- package/dist/esm/q2-carousel.entry.js +25 -11
- package/dist/esm/q2-carousel.entry.js.map +1 -1
- package/dist/esm/q2-chart-area.entry.js +1 -1
- package/dist/esm/q2-chart-bar.entry.js +1 -1
- package/dist/esm/q2-chart-donut.entry.js +18 -10
- package/dist/esm/q2-chart-donut.entry.js.map +1 -1
- package/dist/esm/q2-checkbox-group.entry.js +1 -1
- package/dist/esm/q2-checkbox.entry.js +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 +2 -2
- package/dist/esm/q2-detail.entry.js.map +1 -1
- package/dist/esm/q2-dropdown-item.entry.js +1 -1
- package/dist/esm/q2-dropdown-item.entry.js.map +1 -1
- package/dist/esm/q2-dropdown.entry.js +1 -1
- package/dist/esm/q2-editable-field.entry.js +1 -1
- package/dist/esm/q2-icon.entry.js +203 -212
- package/dist/esm/q2-icon.entry.js.map +1 -1
- package/dist/esm/q2-input.entry.js +31 -6
- package/dist/esm/q2-input.entry.js.map +1 -1
- package/dist/esm/q2-item.entry.js +116 -0
- package/dist/esm/q2-item.entry.js.map +1 -0
- package/dist/esm/q2-list.entry.js +80 -0
- package/dist/esm/q2-list.entry.js.map +1 -0
- package/dist/esm/q2-loc.entry.js +2 -2
- package/dist/esm/q2-message.entry.js +3 -3
- package/dist/esm/q2-message.entry.js.map +1 -1
- package/dist/esm/q2-month-picker.entry.js +1 -1
- package/dist/esm/q2-optgroup_2.entry.js +4 -4
- package/dist/esm/q2-optgroup_2.entry.js.map +1 -1
- package/dist/esm/q2-option-list.entry.js +1 -1
- package/dist/esm/q2-pagination.entry.js +3 -3
- package/dist/esm/q2-pagination.entry.js.map +1 -1
- package/dist/esm/q2-pill.entry.js +4 -3
- package/dist/esm/q2-pill.entry.js.map +1 -1
- package/dist/esm/q2-radio-group.entry.js +1 -1
- package/dist/esm/q2-radio.entry.js +3 -3
- package/dist/esm/q2-radio.entry.js.map +1 -1
- package/dist/esm/q2-relative-time.entry.js +2 -2
- package/dist/esm/q2-section.entry.js +3 -3
- package/dist/esm/q2-select.entry.js +1 -1
- package/dist/esm/q2-stepper-pane.entry.js +2 -2
- package/dist/esm/q2-stepper-vertical.entry.js +3 -3
- package/dist/esm/q2-stepper-vertical.entry.js.map +1 -1
- package/dist/esm/q2-stepper.entry.js +2 -2
- package/dist/esm/q2-tab-container.entry.js +3 -3
- package/dist/esm/q2-tab-container.entry.js.map +1 -1
- package/dist/esm/q2-tab-pane.entry.js +1 -1
- package/dist/esm/q2-tag.entry.js +3 -3
- package/dist/esm/q2-tag.entry.js.map +1 -1
- package/dist/esm/q2-tecton-elements.js +1 -1
- package/dist/esm/q2-textarea.entry.js +2 -2
- package/dist/esm/q2-textarea.entry.js.map +1 -1
- package/dist/esm/q2-tooltip.entry.js +1 -1
- package/dist/esm/tecton-tab-pane.entry.js +2 -2
- package/dist/q2-tecton-elements/assets/cards.symbol.svg +1 -1
- package/dist/q2-tecton-elements/assets/icon-list.json +1 -1
- package/dist/q2-tecton-elements/assets/icon-map.json +1 -1
- package/dist/q2-tecton-elements/assets/standard.symbol.svg +1 -1
- package/dist/q2-tecton-elements/p-05b015a8.entry.js +2 -0
- package/dist/q2-tecton-elements/p-05b015a8.entry.js.map +1 -0
- package/dist/q2-tecton-elements/p-0d548810.entry.js +2 -0
- package/dist/q2-tecton-elements/p-0d548810.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-cbbc7659.entry.js → p-1c17d118.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-1c17d118.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-86cf292d.entry.js → p-2132da06.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-1fac9c85.entry.js → p-22661533.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-2436c843.entry.js +2 -0
- package/dist/q2-tecton-elements/p-2436c843.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-5ebb80b6.entry.js → p-391acc00.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-5ebb80b6.entry.js.map → p-391acc00.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/p-3b1ea100.entry.js +2 -0
- package/dist/q2-tecton-elements/p-3b1ea100.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-be430cd5.js → p-3c42c90f.js} +1 -1
- package/dist/q2-tecton-elements/p-42302f6f.js +2 -0
- package/dist/q2-tecton-elements/p-42302f6f.js.map +1 -0
- package/dist/q2-tecton-elements/{p-92955258.entry.js → p-4570ff06.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-47868d6d.entry.js +2 -0
- package/dist/q2-tecton-elements/p-47868d6d.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-c1e03092.entry.js → p-4a332c2a.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-0a705412.entry.js → p-4b81a121.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-4bbe563f.entry.js +2 -0
- package/dist/q2-tecton-elements/p-4bbe563f.entry.js.map +1 -0
- package/dist/q2-tecton-elements/p-4f7e2c8a.entry.js +2 -0
- package/dist/q2-tecton-elements/p-4f7e2c8a.entry.js.map +1 -0
- package/dist/q2-tecton-elements/p-50bd4437.entry.js +2 -0
- package/dist/q2-tecton-elements/p-50bd4437.entry.js.map +1 -0
- package/dist/q2-tecton-elements/p-515d424b.entry.js +2 -0
- package/dist/q2-tecton-elements/{p-913a23f5.entry.js.map → p-515d424b.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/{p-bb6e6290.entry.js → p-57bf9342.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-0fccdca2.entry.js → p-5dc5c4e2.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-5dc5c4e2.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-5b9ee831.entry.js → p-63192fac.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-281e7ce7.entry.js → p-685b821c.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-bd5e5864.entry.js → p-71180fcd.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-db615608.entry.js → p-7523305d.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-ca8dd86f.entry.js → p-7f663376.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-79cd6ab5.entry.js → p-8dc489e1.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-a214077c.entry.js +2 -0
- package/dist/q2-tecton-elements/p-a214077c.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-3bc27513.entry.js → p-aec64fcb.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-aed969d4.entry.js +2 -0
- package/dist/q2-tecton-elements/p-aed969d4.entry.js.map +1 -0
- package/dist/q2-tecton-elements/p-b21ed2d9.entry.js +2 -0
- package/dist/q2-tecton-elements/p-b21ed2d9.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-1954ab7d.entry.js → p-b3322f94.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-b3322f94.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-25eccf38.entry.js → p-b3d10d52.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-25eccf38.entry.js.map → p-b3d10d52.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/{p-5b3f885f.entry.js → p-b7d5fd12.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-b7d5fd12.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-cb30f949.entry.js → p-bf125cdf.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-d1a9ed3d.entry.js +2 -0
- package/dist/q2-tecton-elements/p-d1a9ed3d.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-73a3c437.entry.js → p-d635e39f.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-a5b16c01.entry.js → p-d9e19f70.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-d9e19f70.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-a89814b8.entry.js → p-dc057a9c.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-debd5249.entry.js +2 -0
- package/dist/q2-tecton-elements/p-debd5249.entry.js.map +1 -0
- package/dist/q2-tecton-elements/p-df297a77.entry.js +2 -0
- package/dist/q2-tecton-elements/p-df297a77.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-6afb4d46.entry.js → p-e762526f.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-698f82c5.entry.js → p-f1265647.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-954d49de.entry.js → p-f162c670.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-f418967b.entry.js +2 -0
- package/dist/q2-tecton-elements/p-f418967b.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-fddebc47.entry.js → p-f4d77672.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-fcc84527.entry.js +2 -0
- package/dist/q2-tecton-elements/p-fcc84527.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +1 -1
- package/dist/q2-tecton-elements/q2-tecton-elements.esm.js.map +1 -1
- package/dist/test/elements/q2-badge-test.e2e.js +11 -3
- package/dist/test/elements/q2-badge-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-btn-test.e2e.js +25 -25
- package/dist/test/elements/q2-btn-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-calendar-test.e2e.js +3 -3
- package/dist/test/elements/q2-calendar-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-carousel-pane-test.e2e.js +16 -86
- package/dist/test/elements/q2-carousel-pane-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-carousel-pane-test.spec.js +113 -0
- package/dist/test/elements/q2-carousel-pane-test.spec.js.map +1 -0
- package/dist/test/elements/q2-carousel-test.e2e.js +27 -1
- package/dist/test/elements/q2-carousel-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-chart-donut-test.e2e.js +64 -30
- package/dist/test/elements/q2-chart-donut-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-currency-test.e2e.js +7 -7
- package/dist/test/elements/q2-currency-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-detail/q2-detail-test.e2e.js +1 -1
- package/dist/test/elements/q2-detail/q2-detail-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-detail/q2-item-test.e2e.js +223 -0
- package/dist/test/elements/q2-detail/q2-item-test.e2e.js.map +1 -0
- package/dist/test/elements/q2-detail/q2-list-test.e2e.js +92 -0
- package/dist/test/elements/q2-detail/q2-list-test.e2e.js.map +1 -0
- package/dist/test/elements/q2-icon-test.e2e.js +17 -95
- package/dist/test/elements/q2-icon-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-input-test.e2e.js +140 -7
- package/dist/test/elements/q2-input-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-pill-test.e2e.js +23 -0
- package/dist/test/elements/q2-pill-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-relative-time-test.e2e.js +50 -48
- package/dist/test/elements/q2-relative-time-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-textarea-test.e2e.js +4 -8
- package/dist/test/elements/q2-textarea-test.e2e.js.map +1 -1
- package/dist/test/helpers.js +18 -16
- package/dist/test/helpers.js.map +1 -1
- package/dist/test/utils/index.spec.js +18 -0
- package/dist/test/utils/index.spec.js.map +1 -0
- package/dist/types/components/q2-avatar/q2-avatar.d.ts +0 -1
- package/dist/types/components/q2-badge/q2-badge.d.ts +1 -0
- package/dist/types/components/q2-btn/q2-btn.d.ts +1 -0
- package/dist/types/components/q2-carousel/q2-carousel.d.ts +3 -0
- package/dist/types/components/q2-carousel-pane/q2-carousel-pane.d.ts +5 -0
- package/dist/types/components/q2-chart-donut/q2-chart-donut.d.ts +13 -12
- package/dist/types/components/q2-icon/q2-icon.d.ts +0 -5
- package/dist/types/components/q2-input/q2-input.d.ts +8 -0
- package/dist/types/components/q2-item/q2-item.d.ts +21 -0
- package/dist/types/components/q2-list/q2-list.d.ts +20 -0
- package/dist/types/components.d.ts +82 -14
- package/dist/types/global.d.ts +1 -1
- package/dist/types/utils/index.d.ts +6 -0
- package/dist/types/workspace/workspace/{tecton-production_release_1.44.x → _Gitlab_tecton-production_master}/packages/q2-tecton-elements/.stencil/test/helpers.d.ts +1 -1
- package/package.json +3 -3
- package/dist/cjs/icons-04e4f595.js +0 -2900
- package/dist/cjs/icons-04e4f595.js.map +0 -1
- package/dist/cjs/index-1deac3ee.js.map +0 -1
- package/dist/collection/components/q2-icon/icons.js +0 -1184
- package/dist/collection/components/q2-icon/icons.js.map +0 -1
- package/dist/esm/icons-8f4c3b69.js +0 -2898
- package/dist/esm/icons-8f4c3b69.js.map +0 -1
- package/dist/esm/index-12c2a320.js.map +0 -1
- package/dist/q2-tecton-elements/p-043bb5c0.entry.js +0 -2
- package/dist/q2-tecton-elements/p-043bb5c0.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-081b779e.entry.js +0 -2
- package/dist/q2-tecton-elements/p-081b779e.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-0e2e7b2d.entry.js +0 -2
- package/dist/q2-tecton-elements/p-0e2e7b2d.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-0fccdca2.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-1954ab7d.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-55bc5c9b.entry.js +0 -2
- package/dist/q2-tecton-elements/p-55bc5c9b.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-5b3f885f.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-5c46acb8.js +0 -2
- package/dist/q2-tecton-elements/p-5c46acb8.js.map +0 -1
- package/dist/q2-tecton-elements/p-5dd0eede.entry.js +0 -2
- package/dist/q2-tecton-elements/p-5dd0eede.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-6479c450.entry.js +0 -2
- package/dist/q2-tecton-elements/p-6479c450.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-7c5d43cf.entry.js +0 -2
- package/dist/q2-tecton-elements/p-7c5d43cf.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-7ff4c446.entry.js +0 -2
- package/dist/q2-tecton-elements/p-7ff4c446.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-87d72e3e.entry.js +0 -2
- package/dist/q2-tecton-elements/p-87d72e3e.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-8dc573f5.entry.js +0 -2
- package/dist/q2-tecton-elements/p-8dc573f5.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-913a23f5.entry.js +0 -2
- package/dist/q2-tecton-elements/p-a5b16c01.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-cbbc7659.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-d7e608f7.entry.js +0 -2
- package/dist/q2-tecton-elements/p-d7e608f7.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-dce084f9.entry.js +0 -2
- package/dist/q2-tecton-elements/p-dce084f9.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-ecce27a0.entry.js +0 -2
- package/dist/q2-tecton-elements/p-ecce27a0.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-f6c1f69b.js +0 -2
- package/dist/q2-tecton-elements/p-f6c1f69b.js.map +0 -1
- package/dist/q2-tecton-elements/p-f8c7cad7.entry.js +0 -2
- package/dist/q2-tecton-elements/p-f8c7cad7.entry.js.map +0 -1
- package/dist/types/components/q2-icon/icons.d.ts +0 -3
- /package/dist/q2-tecton-elements/{p-86cf292d.entry.js.map → p-2132da06.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-1fac9c85.entry.js.map → p-22661533.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-be430cd5.js.map → p-3c42c90f.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-92955258.entry.js.map → p-4570ff06.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-c1e03092.entry.js.map → p-4a332c2a.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-0a705412.entry.js.map → p-4b81a121.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-bb6e6290.entry.js.map → p-57bf9342.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-5b9ee831.entry.js.map → p-63192fac.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-281e7ce7.entry.js.map → p-685b821c.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-bd5e5864.entry.js.map → p-71180fcd.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-db615608.entry.js.map → p-7523305d.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-ca8dd86f.entry.js.map → p-7f663376.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-79cd6ab5.entry.js.map → p-8dc489e1.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-3bc27513.entry.js.map → p-aec64fcb.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-cb30f949.entry.js.map → p-bf125cdf.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-73a3c437.entry.js.map → p-d635e39f.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-a89814b8.entry.js.map → p-dc057a9c.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-6afb4d46.entry.js.map → p-e762526f.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-698f82c5.entry.js.map → p-f1265647.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-954d49de.entry.js.map → p-f162c670.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-fddebc47.entry.js.map → p-f4d77672.entry.js.map} +0 -0
- /package/dist/types/workspace/workspace/{tecton-production_release_1.44.x → _Gitlab_tecton-production_master}/packages/q2-tecton-elements/.stencil/test/elements/q2-detail/slot-component.d.ts +0 -0
|
@@ -1,14 +1,11 @@
|
|
|
1
1
|
import { h, getAssetPath, Fragment } from "@stencil/core";
|
|
2
2
|
import { createGuid } from "../../utils/index";
|
|
3
3
|
import iconMap from "./assets/icon-map.json";
|
|
4
|
-
import icons from "./icons";
|
|
5
4
|
export class Q2Icon {
|
|
6
5
|
constructor() {
|
|
7
|
-
var _a;
|
|
8
6
|
this.inline = undefined;
|
|
9
7
|
this.label = undefined;
|
|
10
8
|
this.type = undefined;
|
|
11
|
-
this.beta = ((_a = window.TectonElements) === null || _a === void 0 ? void 0 : _a.beta) || false;
|
|
12
9
|
this.iconClone = undefined;
|
|
13
10
|
}
|
|
14
11
|
componentWillLoad() {
|
|
@@ -16,8 +13,6 @@ export class Q2Icon {
|
|
|
16
13
|
}
|
|
17
14
|
componentDidRender() {
|
|
18
15
|
var _a, _b, _c;
|
|
19
|
-
if (!this.beta)
|
|
20
|
-
return;
|
|
21
16
|
if (!this.iconClone)
|
|
22
17
|
return;
|
|
23
18
|
(_b = (_a = this.spriteGroup) === null || _a === void 0 ? void 0 : _a.firstElementChild) === null || _b === void 0 ? void 0 : _b.remove();
|
|
@@ -28,7 +23,7 @@ export class Q2Icon {
|
|
|
28
23
|
if (this.isCustom) {
|
|
29
24
|
this.setCustomSVGAttrs();
|
|
30
25
|
}
|
|
31
|
-
else if (this.type
|
|
26
|
+
else if (this.type) {
|
|
32
27
|
this.fetchSprite();
|
|
33
28
|
}
|
|
34
29
|
else {
|
|
@@ -62,9 +57,6 @@ export class Q2Icon {
|
|
|
62
57
|
return;
|
|
63
58
|
return `tct-loaded-${spriteFileName}`;
|
|
64
59
|
}
|
|
65
|
-
get iconMarkup() {
|
|
66
|
-
return (icons[this.type] && icons[this.type].markup()) || '';
|
|
67
|
-
}
|
|
68
60
|
get iconCloneViewBox() {
|
|
69
61
|
var _a, _b;
|
|
70
62
|
return (_b = (_a = this.iconClone) === null || _a === void 0 ? void 0 : _a.getAttribute('viewBox')) !== null && _b !== void 0 ? _b : '0 0 24 24';
|
|
@@ -103,7 +95,7 @@ export class Q2Icon {
|
|
|
103
95
|
if (spriteElement)
|
|
104
96
|
return true;
|
|
105
97
|
// If sprite element does not exist, create a placeholder
|
|
106
|
-
// This will let other icons
|
|
98
|
+
// This will let other icons know the sprite is being loaded
|
|
107
99
|
spriteElement = document.createElement('div');
|
|
108
100
|
spriteElement.id = spriteId;
|
|
109
101
|
spriteContainer.appendChild(spriteElement);
|
|
@@ -161,8 +153,8 @@ export class Q2Icon {
|
|
|
161
153
|
}
|
|
162
154
|
}
|
|
163
155
|
render() {
|
|
164
|
-
const { label } = this;
|
|
165
|
-
return this.isCustom ? (h("slot", null)) : (h("svg", { "aria-hidden":
|
|
156
|
+
const { label, type } = this;
|
|
157
|
+
return this.isCustom ? (h("slot", null)) : (h("svg", { "aria-hidden": label ? undefined : 'true', role: "img", "aria-labelledby": label ? 'label' : undefined, viewBox: this.iconCloneViewBox, xmlns: "http://www.w3.org/2000/svg" }, label && h("title", { id: "label" }, label), h(Fragment, null, !!type && h("use", { href: `#tct-${type}` }), h("g", { ref: el => (this.spriteGroup = el) }))));
|
|
166
158
|
}
|
|
167
159
|
static get is() { return "q2-icon"; }
|
|
168
160
|
static get encapsulation() { return "shadow"; }
|
|
@@ -229,27 +221,6 @@ export class Q2Icon {
|
|
|
229
221
|
},
|
|
230
222
|
"attribute": "type",
|
|
231
223
|
"reflect": true
|
|
232
|
-
},
|
|
233
|
-
"beta": {
|
|
234
|
-
"type": "boolean",
|
|
235
|
-
"mutable": true,
|
|
236
|
-
"complexType": {
|
|
237
|
-
"original": "boolean",
|
|
238
|
-
"resolved": "boolean",
|
|
239
|
-
"references": {}
|
|
240
|
-
},
|
|
241
|
-
"required": false,
|
|
242
|
-
"optional": false,
|
|
243
|
-
"docs": {
|
|
244
|
-
"tags": [{
|
|
245
|
-
"name": "private",
|
|
246
|
-
"text": undefined
|
|
247
|
-
}],
|
|
248
|
-
"text": ""
|
|
249
|
-
},
|
|
250
|
-
"attribute": "beta",
|
|
251
|
-
"reflect": true,
|
|
252
|
-
"defaultValue": "window.TectonElements?.beta || false"
|
|
253
224
|
}
|
|
254
225
|
};
|
|
255
226
|
}
|
|
@@ -261,9 +232,6 @@ export class Q2Icon {
|
|
|
261
232
|
static get elementRef() { return "hostElement"; }
|
|
262
233
|
static get watchers() {
|
|
263
234
|
return [{
|
|
264
|
-
"propName": "beta",
|
|
265
|
-
"methodName": "handleIcon"
|
|
266
|
-
}, {
|
|
267
235
|
"propName": "type",
|
|
268
236
|
"methodName": "handleIcon"
|
|
269
237
|
}];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"q2-icon.js","sourceRoot":"","sources":["../../../../src/components/q2-icon/q2-icon.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, ComponentInterface, Prop, h, Element, Watch, getAssetPath, State, Fragment } from '@stencil/core';\nimport { createGuid } from 'src/utils';\nimport iconMap from './assets/icon-map.json';\nimport icons from './icons';\n\n@Component({ tag: 'q2-icon', shadow: true, styleUrl: 'q2-icon.scss', assetsDirs: ['assets'] })\nexport class Q2Icon implements ComponentInterface {\n /** Styles the component to have a `height` and `width` of `1em`, making it easy to place alongside text. */\n @Prop({ reflect: true }) inline: boolean;\n\n /** The text that is presented by screen-readers when they encounter the icon. */\n @Prop({ reflect: true }) label: string;\n\n /** The name of the icon to be displayed. */\n @Prop({ reflect: true }) type: string;\n\n /**\n * @private\n */\n @Prop({ reflect: true, mutable: true }) beta: boolean = window.TectonElements?.beta || false;\n\n @Element() hostElement: HTMLElement;\n\n @State() iconClone: SVGSymbolElement;\n\n spriteGroup: SVGElement;\n\n componentWillLoad() {\n this.handleIcon();\n }\n\n componentDidRender(): void {\n if (!this.beta) return;\n if (!this.iconClone) return;\n this.spriteGroup?.firstElementChild?.remove();\n this.spriteGroup?.appendChild(this.iconClone);\n }\n\n @Watch('beta')\n @Watch('type')\n handleIcon() {\n if (this.isCustom) {\n this.setCustomSVGAttrs();\n } else if (this.type && this.beta) {\n this.fetchSprite();\n } else {\n this.iconClone = null;\n this.spriteGroup?.firstElementChild?.remove();\n }\n }\n\n get isCustom() {\n return this.type === 'custom';\n }\n\n get spriteFileName() {\n if (this.isCustom) return;\n return iconMap[this.type];\n }\n\n get spriteId() {\n const { spriteFileName } = this;\n if (!spriteFileName) return;\n return `tecton-sprite-${spriteFileName}`;\n }\n\n get spriteElement() {\n const { spriteId } = this;\n if (!spriteId) return;\n return document.querySelector<HTMLElement>(`#${spriteId}`);\n }\n\n get spriteEventName() {\n const { spriteFileName } = this;\n if (!spriteFileName) return;\n return `tct-loaded-${spriteFileName}`;\n }\n\n get iconMarkup() {\n return (icons[this.type] && icons[this.type].markup()) || '';\n }\n\n get iconCloneViewBox() {\n return this.iconClone?.getAttribute('viewBox') ?? '0 0 24 24';\n }\n\n /**\n * Checks for the sprite container element in the global DOM\n * If it does not exist, it creates and appends it to the body\n */\n getOrCreateSpriteContainer() {\n const spriteContainerId = 'tecton-sprites';\n let spriteContainer: HTMLDivElement = document.querySelector(`#${spriteContainerId}`);\n\n if (spriteContainer) return spriteContainer;\n spriteContainer = document.createElement('div');\n spriteContainer.id = spriteContainerId;\n spriteContainer.style.display = 'none';\n document.body.appendChild(spriteContainer);\n return spriteContainer;\n }\n\n checkForSprite() {\n const { spriteId, spriteEventName } = this;\n const spriteContainer = this.getOrCreateSpriteContainer();\n let spriteElement: HTMLElement = document.querySelector(`#${spriteId}`);\n\n // If the sprite element exists and has the `data-loaded` attribute, we know we have everything we need\n if (spriteElement?.hasAttribute('data-loaded') ?? false) {\n this.cloneSpriteNode();\n return true;\n }\n\n // If the sprite element exists but does not have the `data-loaded` attribute, we know it's being loaded\n // We'll listen for the event that will be dispatched when the sprite is loaded\n spriteContainer.addEventListener(\n spriteEventName,\n () => {\n this.cloneSpriteNode();\n },\n { once: true }\n );\n\n // If the sprite element exists, we know it's being loaded and will be handled by the event listener\n if (spriteElement) return true;\n\n // If sprite element does not exist, create a placeholder\n // This will let other icons to know the sprite is being loaded\n spriteElement = document.createElement('div');\n spriteElement.id = spriteId;\n spriteContainer.appendChild(spriteElement);\n return false;\n }\n\n async fetchSprite() {\n const { spriteFileName, spriteId, spriteEventName } = this;\n\n const spriteExists = this.checkForSprite();\n if (spriteExists) return;\n\n if (!spriteFileName) return;\n const spritePath = getAssetPath(`assets/${spriteFileName}.symbol.svg`);\n const response = await fetch(spritePath);\n const data = await response.text();\n const wrappingDiv = document.createElement('div');\n wrappingDiv.innerHTML = data;\n const svg = wrappingDiv.querySelector('svg');\n\n svg.id = spriteId;\n svg.setAttribute('data-loaded', '');\n\n let { spriteElement } = this;\n if (spriteElement?.tagName === 'SVG') return;\n\n if (typeof spriteElement.replaceWith === 'function') {\n spriteElement.replaceWith(svg);\n } else {\n spriteElement.parentNode.replaceChild(svg, spriteElement);\n }\n\n spriteElement = document.querySelector(`#${spriteId}`);\n spriteElement.dispatchEvent(new CustomEvent(spriteEventName, { bubbles: true }));\n }\n\n cloneSpriteNode() {\n const spriteContainer = this.getOrCreateSpriteContainer();\n const spriteNode = spriteContainer.querySelector<HTMLElement>(`#tct-${this.type}`);\n this.iconClone = spriteNode ? (spriteNode.cloneNode(true) as SVGSymbolElement) : undefined;\n }\n\n setCustomSVGAttrs() {\n const innerSVG = this.hostElement.querySelector('svg');\n\n if (!innerSVG) return;\n\n innerSVG.setAttribute('role', 'img');\n innerSVG.setAttribute('xmlns', 'http://www.w3.org/2000/svg');\n\n const { label } = this;\n if (label) {\n const title = document.createElement('title');\n const labelId = `label-${createGuid()}`;\n title.id = labelId;\n title.textContent = label;\n innerSVG.appendChild(title);\n innerSVG.setAttribute('aria-labelledby', labelId);\n } else {\n innerSVG.setAttribute('aria-hidden', 'true');\n }\n }\n\n render() {\n const { label } = this;\n return this.isCustom ? (\n <slot />\n ) : (\n <svg\n aria-hidden={this.label ? undefined : 'true'}\n role=\"img\"\n aria-labelledby={label ? 'label' : undefined}\n viewBox={this.beta ? this.iconCloneViewBox : '0 0 26 26'}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n {label && <title id=\"label\">{label}</title>}\n {this.beta ? (\n <Fragment>\n {!!this.type && <use href={`#tct-${this.type}`} />}\n <g ref={el => (this.spriteGroup = el)}></g>\n </Fragment>\n ) : (\n this.iconMarkup\n )}\n </svg>\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"q2-icon.js","sourceRoot":"","sources":["../../../../src/components/q2-icon/q2-icon.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAsB,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACtH,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,OAAO,MAAM,wBAAwB,CAAC;AAG7C,MAAM,OAAO,MAAM;;;;;;;IAgBf,iBAAiB;QACb,IAAI,CAAC,UAAU,EAAE,CAAC;IACtB,CAAC;IAED,kBAAkB;;QACd,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO;QAC5B,MAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,iBAAiB,0CAAE,MAAM,EAAE,CAAC;QAC9C,MAAA,IAAI,CAAC,WAAW,0CAAE,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAClD,CAAC;IAGD,UAAU;;QACN,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC7B,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACnB,IAAI,CAAC,WAAW,EAAE,CAAC;QACvB,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,MAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,iBAAiB,0CAAE,MAAM,EAAE,CAAC;QAClD,CAAC;IACL,CAAC;IAED,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC;IAClC,CAAC;IAED,IAAI,cAAc;QACd,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC1B,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,IAAI,QAAQ;QACR,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,cAAc;YAAE,OAAO;QAC5B,OAAO,iBAAiB,cAAc,EAAE,CAAC;IAC7C,CAAC;IAED,IAAI,aAAa;QACb,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtB,OAAO,QAAQ,CAAC,aAAa,CAAc,IAAI,QAAQ,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,IAAI,eAAe;QACf,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,cAAc;YAAE,OAAO;QAC5B,OAAO,cAAc,cAAc,EAAE,CAAC;IAC1C,CAAC;IAED,IAAI,gBAAgB;;QAChB,OAAO,MAAA,MAAA,IAAI,CAAC,SAAS,0CAAE,YAAY,CAAC,SAAS,CAAC,mCAAI,WAAW,CAAC;IAClE,CAAC;IAED;;;OAGG;IACH,0BAA0B;QACtB,MAAM,iBAAiB,GAAG,gBAAgB,CAAC;QAC3C,IAAI,eAAe,GAAmB,QAAQ,CAAC,aAAa,CAAC,IAAI,iBAAiB,EAAE,CAAC,CAAC;QAEtF,IAAI,eAAe;YAAE,OAAO,eAAe,CAAC;QAC5C,eAAe,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAChD,eAAe,CAAC,EAAE,GAAG,iBAAiB,CAAC;QACvC,eAAe,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QACvC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;QAC3C,OAAO,eAAe,CAAC;IAC3B,CAAC;IAED,cAAc;;QACV,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;QAC3C,MAAM,eAAe,GAAG,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAC1D,IAAI,aAAa,GAAgB,QAAQ,CAAC,aAAa,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC;QAExE,uGAAuG;QACvG,IAAI,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,YAAY,CAAC,aAAa,CAAC,mCAAI,KAAK,EAAE,CAAC;YACtD,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,wGAAwG;QACxG,+EAA+E;QAC/E,eAAe,CAAC,gBAAgB,CAC5B,eAAe,EACf,GAAG,EAAE;YACD,IAAI,CAAC,eAAe,EAAE,CAAC;QAC3B,CAAC,EACD,EAAE,IAAI,EAAE,IAAI,EAAE,CACjB,CAAC;QAEF,oGAAoG;QACpG,IAAI,aAAa;YAAE,OAAO,IAAI,CAAC;QAE/B,yDAAyD;QACzD,4DAA4D;QAC5D,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9C,aAAa,CAAC,EAAE,GAAG,QAAQ,CAAC;QAC5B,eAAe,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QAC3C,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,WAAW;QACb,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;QAE3D,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAC3C,IAAI,YAAY;YAAE,OAAO;QAEzB,IAAI,CAAC,cAAc;YAAE,OAAO;QAC5B,MAAM,UAAU,GAAG,YAAY,CAAC,UAAU,cAAc,aAAa,CAAC,CAAC;QACvE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,CAAC;QACzC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,MAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAClD,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC;QAC7B,MAAM,GAAG,GAAG,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAE7C,GAAG,CAAC,EAAE,GAAG,QAAQ,CAAC;QAClB,GAAG,CAAC,YAAY,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;QAEpC,IAAI,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,OAAO,MAAK,KAAK;YAAE,OAAO;QAE7C,IAAI,OAAO,aAAa,CAAC,WAAW,KAAK,UAAU,EAAE,CAAC;YAClD,aAAa,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACnC,CAAC;aAAM,CAAC;YACJ,aAAa,CAAC,UAAU,CAAC,YAAY,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;QAC9D,CAAC;QAED,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC;QACvD,aAAa,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,eAAe,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACrF,CAAC;IAED,eAAe;QACX,MAAM,eAAe,GAAG,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAC1D,MAAM,UAAU,GAAG,eAAe,CAAC,aAAa,CAAc,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACnF,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,CAAC,CAAE,UAAU,CAAC,SAAS,CAAC,IAAI,CAAsB,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/F,CAAC;IAED,iBAAiB;QACb,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAEvD,IAAI,CAAC,QAAQ;YAAE,OAAO;QAEtB,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACrC,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,4BAA4B,CAAC,CAAC;QAE7D,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QACvB,IAAI,KAAK,EAAE,CAAC;YACR,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAC9C,MAAM,OAAO,GAAG,SAAS,UAAU,EAAE,EAAE,CAAC;YACxC,KAAK,CAAC,EAAE,GAAG,OAAO,CAAC;YACnB,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC;YAC1B,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YAC5B,QAAQ,CAAC,YAAY,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;QACtD,CAAC;aAAM,CAAC;YACJ,QAAQ,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QACjD,CAAC;IACL,CAAC;IAED,MAAM;QACF,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;QAC7B,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CACnB,eAAQ,CACX,CAAC,CAAC,CAAC,CACA,0BACiB,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,EACvC,IAAI,EAAC,KAAK,qBACO,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAC5C,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAC9B,KAAK,EAAC,4BAA4B;YAEjC,KAAK,IAAI,aAAO,EAAE,EAAC,OAAO,IAAE,KAAK,CAAS;YAC3C,EAAC,QAAQ;gBACJ,CAAC,CAAC,IAAI,IAAI,WAAK,IAAI,EAAE,QAAQ,IAAI,EAAE,GAAI;gBACxC,SAAG,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC,GAAM,CACpC,CACT,CACT,CAAC;IACN,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACJ","sourcesContent":["import { Component, ComponentInterface, Prop, h, Element, Watch, getAssetPath, State, Fragment } from '@stencil/core';\nimport { createGuid } from 'src/utils';\nimport iconMap from './assets/icon-map.json';\n\n@Component({ tag: 'q2-icon', shadow: true, styleUrl: 'q2-icon.scss', assetsDirs: ['assets'] })\nexport class Q2Icon implements ComponentInterface {\n /** Styles the component to have a `height` and `width` of `1em`, making it easy to place alongside text. */\n @Prop({ reflect: true }) inline: boolean;\n\n /** The text that is presented by screen-readers when they encounter the icon. */\n @Prop({ reflect: true }) label: string;\n\n /** The name of the icon to be displayed. */\n @Prop({ reflect: true }) type: string;\n\n @Element() hostElement: HTMLElement;\n\n @State() iconClone: SVGSymbolElement;\n\n spriteGroup: SVGElement;\n\n componentWillLoad() {\n this.handleIcon();\n }\n\n componentDidRender(): void {\n if (!this.iconClone) return;\n this.spriteGroup?.firstElementChild?.remove();\n this.spriteGroup?.appendChild(this.iconClone);\n }\n\n @Watch('type')\n handleIcon() {\n if (this.isCustom) {\n this.setCustomSVGAttrs();\n } else if (this.type) {\n this.fetchSprite();\n } else {\n this.iconClone = null;\n this.spriteGroup?.firstElementChild?.remove();\n }\n }\n\n get isCustom() {\n return this.type === 'custom';\n }\n\n get spriteFileName() {\n if (this.isCustom) return;\n return iconMap[this.type];\n }\n\n get spriteId() {\n const { spriteFileName } = this;\n if (!spriteFileName) return;\n return `tecton-sprite-${spriteFileName}`;\n }\n\n get spriteElement() {\n const { spriteId } = this;\n if (!spriteId) return;\n return document.querySelector<HTMLElement>(`#${spriteId}`);\n }\n\n get spriteEventName() {\n const { spriteFileName } = this;\n if (!spriteFileName) return;\n return `tct-loaded-${spriteFileName}`;\n }\n\n get iconCloneViewBox() {\n return this.iconClone?.getAttribute('viewBox') ?? '0 0 24 24';\n }\n\n /**\n * Checks for the sprite container element in the global DOM\n * If it does not exist, it creates and appends it to the body\n */\n getOrCreateSpriteContainer() {\n const spriteContainerId = 'tecton-sprites';\n let spriteContainer: HTMLDivElement = document.querySelector(`#${spriteContainerId}`);\n\n if (spriteContainer) return spriteContainer;\n spriteContainer = document.createElement('div');\n spriteContainer.id = spriteContainerId;\n spriteContainer.style.display = 'none';\n document.body.appendChild(spriteContainer);\n return spriteContainer;\n }\n\n checkForSprite() {\n const { spriteId, spriteEventName } = this;\n const spriteContainer = this.getOrCreateSpriteContainer();\n let spriteElement: HTMLElement = document.querySelector(`#${spriteId}`);\n\n // If the sprite element exists and has the `data-loaded` attribute, we know we have everything we need\n if (spriteElement?.hasAttribute('data-loaded') ?? false) {\n this.cloneSpriteNode();\n return true;\n }\n\n // If the sprite element exists but does not have the `data-loaded` attribute, we know it's being loaded\n // We'll listen for the event that will be dispatched when the sprite is loaded\n spriteContainer.addEventListener(\n spriteEventName,\n () => {\n this.cloneSpriteNode();\n },\n { once: true }\n );\n\n // If the sprite element exists, we know it's being loaded and will be handled by the event listener\n if (spriteElement) return true;\n\n // If sprite element does not exist, create a placeholder\n // This will let other icons know the sprite is being loaded\n spriteElement = document.createElement('div');\n spriteElement.id = spriteId;\n spriteContainer.appendChild(spriteElement);\n return false;\n }\n\n async fetchSprite() {\n const { spriteFileName, spriteId, spriteEventName } = this;\n\n const spriteExists = this.checkForSprite();\n if (spriteExists) return;\n\n if (!spriteFileName) return;\n const spritePath = getAssetPath(`assets/${spriteFileName}.symbol.svg`);\n const response = await fetch(spritePath);\n const data = await response.text();\n const wrappingDiv = document.createElement('div');\n wrappingDiv.innerHTML = data;\n const svg = wrappingDiv.querySelector('svg');\n\n svg.id = spriteId;\n svg.setAttribute('data-loaded', '');\n\n let { spriteElement } = this;\n if (spriteElement?.tagName === 'SVG') return;\n\n if (typeof spriteElement.replaceWith === 'function') {\n spriteElement.replaceWith(svg);\n } else {\n spriteElement.parentNode.replaceChild(svg, spriteElement);\n }\n\n spriteElement = document.querySelector(`#${spriteId}`);\n spriteElement.dispatchEvent(new CustomEvent(spriteEventName, { bubbles: true }));\n }\n\n cloneSpriteNode() {\n const spriteContainer = this.getOrCreateSpriteContainer();\n const spriteNode = spriteContainer.querySelector<HTMLElement>(`#tct-${this.type}`);\n this.iconClone = spriteNode ? (spriteNode.cloneNode(true) as SVGSymbolElement) : undefined;\n }\n\n setCustomSVGAttrs() {\n const innerSVG = this.hostElement.querySelector('svg');\n\n if (!innerSVG) return;\n\n innerSVG.setAttribute('role', 'img');\n innerSVG.setAttribute('xmlns', 'http://www.w3.org/2000/svg');\n\n const { label } = this;\n if (label) {\n const title = document.createElement('title');\n const labelId = `label-${createGuid()}`;\n title.id = labelId;\n title.textContent = label;\n innerSVG.appendChild(title);\n innerSVG.setAttribute('aria-labelledby', labelId);\n } else {\n innerSVG.setAttribute('aria-hidden', 'true');\n }\n }\n\n render() {\n const { label, type } = this;\n return this.isCustom ? (\n <slot />\n ) : (\n <svg\n aria-hidden={label ? undefined : 'true'}\n role=\"img\"\n aria-labelledby={label ? 'label' : undefined}\n viewBox={this.iconCloneViewBox}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n {label && <title id=\"label\">{label}</title>}\n <Fragment>\n {!!type && <use href={`#tct-${type}`} />}\n <g ref={el => (this.spriteGroup = el)}></g>\n </Fragment>\n </svg>\n );\n }\n}\n"]}
|
|
@@ -66,8 +66,9 @@ button {
|
|
|
66
66
|
}
|
|
67
67
|
|
|
68
68
|
:host {
|
|
69
|
+
--comp-default-input-margin: var(--tct-input-margin-top, var(--t-input-margin-top, var(--app-scale-6x, 30px))) 0 var(--tct-input-margin-bottom, var(--t-input-margin-bottom, var(--app-scale-6x, 30px)));
|
|
69
70
|
display: block;
|
|
70
|
-
margin: var(--tct-input-margin
|
|
71
|
+
margin: var(--tct-input-margin, var(--comp-default-input-margin));
|
|
71
72
|
font-size: var(--tct-input-font-size, var(--t-input-font-size, var(--app-font-size, inherit)));
|
|
72
73
|
}
|
|
73
74
|
|
|
@@ -140,9 +141,6 @@ label {
|
|
|
140
141
|
var(--comp-input-border-bottom-right-radius) var(--comp-input-border-bottom-left-radius);
|
|
141
142
|
--comp-input-border-width: var(--tct-input-border-top-width, 1px) var(--tct-input-border-right-width, 1px)
|
|
142
143
|
var(--tct-input-border-bottom-width, 1px) var(--tct-input-border-left-width, 1px);
|
|
143
|
-
--comp-input-focus-border-width: var(--tct-input-focus-border-top-width, 1px)
|
|
144
|
-
var(--tct-input-focus-border-right-width, 1px) var(--tct-input-focus-border-bottom-width, 1px)
|
|
145
|
-
var(--tct-input-focus-border-left-width, 1px);
|
|
146
144
|
--comp-input-border-color: var(--tct-input-border-color, var(--t-input-border-color, var(--t-a11y-gray-color-AA, #404040)));
|
|
147
145
|
--comp-input-prefix-clearance: calc(3 * var(--tct-input-prefix-font-size, 14px) + var(--tct-scale-1, 5px));
|
|
148
146
|
--comp-input-icon-clearance: 34px;
|
|
@@ -306,7 +304,7 @@ label {
|
|
|
306
304
|
--tct-btn-height: var(--comp-input-min-height);
|
|
307
305
|
--tct-btn-padding-inline: var(--tct-input-visibility-toggle-padding, var(--app-scale-2x, 10px));
|
|
308
306
|
--tct-btn-font-weight: var(--tct-input-visibility-toggle-font-weight, 400);
|
|
309
|
-
color: var(--tct-input-visibility-toggle-font-color, var(--t-primary, #
|
|
307
|
+
color: var(--tct-input-visibility-toggle-font-color, var(--t-primary, #0079c1));
|
|
310
308
|
font-size: var(--tct-input-visibility-toggle-font-size, var(--app-font-size-small, 12px));
|
|
311
309
|
}
|
|
312
310
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { h, Fragment, } from "@stencil/core";
|
|
2
|
-
import { createGuid, labelDOM, loc, messagesDOM, setMessageHeight, handleAriaLabel, overrideFocus, isEventFromElement, isMobile, hasSlotContent, nextPaint, } from "../../utils/index";
|
|
2
|
+
import { createGuid, getAriaValueFromProp, labelDOM, loc, messagesDOM, setMessageHeight, handleAriaLabel, overrideFocus, isEventFromElement, isMobile, hasSlotContent, nextPaint, } from "../../utils/index";
|
|
3
3
|
import formatCurrency from "./formatting/currency";
|
|
4
4
|
import formatPhoneNumber from "./formatting/phone";
|
|
5
5
|
import formatSSN from "./formatting/ssn";
|
|
@@ -123,6 +123,12 @@ export class Q2Input {
|
|
|
123
123
|
this.clear.emit();
|
|
124
124
|
this.inputField.focus();
|
|
125
125
|
};
|
|
126
|
+
this.onRefocusInput = () => {
|
|
127
|
+
if (this.showMessages) {
|
|
128
|
+
this.inputField.focus();
|
|
129
|
+
setMessageHeight(this);
|
|
130
|
+
}
|
|
131
|
+
};
|
|
126
132
|
this.autocapitalize = undefined;
|
|
127
133
|
this.autocomplete = undefined;
|
|
128
134
|
this.autocorrect = undefined;
|
|
@@ -227,6 +233,23 @@ export class Q2Input {
|
|
|
227
233
|
unformattedValue: value,
|
|
228
234
|
};
|
|
229
235
|
}
|
|
236
|
+
get ariaAttributes() {
|
|
237
|
+
return {
|
|
238
|
+
ariaControls: getAriaValueFromProp(this.ariaControls),
|
|
239
|
+
ariaOwns: getAriaValueFromProp(this.ariaOwns),
|
|
240
|
+
ariaHaspopup: getAriaValueFromProp(this.ariaHaspopup, [
|
|
241
|
+
'true',
|
|
242
|
+
'false',
|
|
243
|
+
'menu',
|
|
244
|
+
'listbox',
|
|
245
|
+
'tree',
|
|
246
|
+
'grid',
|
|
247
|
+
'dialog',
|
|
248
|
+
]),
|
|
249
|
+
ariaExpanded: getAriaValueFromProp(this.ariaExpanded, ['true', 'false']),
|
|
250
|
+
ariaActivedescendant: getAriaValueFromProp(this.ariaActivedescendant),
|
|
251
|
+
};
|
|
252
|
+
}
|
|
230
253
|
get hasCustomDisplaySlot() {
|
|
231
254
|
return !!this.hostElement.querySelector('[slot=custom-display]');
|
|
232
255
|
}
|
|
@@ -528,7 +551,7 @@ export class Q2Input {
|
|
|
528
551
|
}
|
|
529
552
|
/////// VIEW METHODS ///////
|
|
530
553
|
render() {
|
|
531
|
-
return (h("div", { key: '
|
|
554
|
+
return (h("div", { key: '165e2173dc173450c6c08b4a9527d54d4d2e5cc2', class: this.wrapperClasses }, h("div", { key: '51d61f7ef98d0ffa36502469b7a341222a8d3865', class: "label-wrapper" }, labelDOM(this), this.countDOM()), this.inputContainerDOM(), messagesDOM(this)));
|
|
532
555
|
}
|
|
533
556
|
countDOM() {
|
|
534
557
|
if (!this.showCount)
|
|
@@ -539,21 +562,23 @@ export class Q2Input {
|
|
|
539
562
|
/* tslint:disable:cyclomatic-complexity */
|
|
540
563
|
inputContainerDOM() {
|
|
541
564
|
const { hasInputLeftSlot, hasInputRightSlot } = this;
|
|
542
|
-
return (h("div", { class: "input-container", tabindex: -1, "test-id": "inputContainer" }, h("div", { class: "input-icons-container-left" }, this.formattedValueObject.prefix && (h("div", { class: "input-prefix" }, this.formattedValueObject.prefix)), this.computedIconLeft && (h("div", null, h("q2-icon", { type: this.computedIconLeft, class: this.computedClassForIconLeft }))), hasInputLeftSlot && h("slot", { name: "input-left" }), this.showIconSeparator && h("div", { class: "vertical-separator" }), this.hasError && this.type === 'currency' && (h("div",
|
|
565
|
+
return (h("div", { class: "input-container", tabindex: -1, "test-id": "inputContainer" }, h("div", { class: "input-icons-container-left" }, this.formattedValueObject.prefix && (h("div", { class: "input-prefix" }, this.formattedValueObject.prefix)), this.computedIconLeft && (h("div", null, h("q2-icon", { type: this.computedIconLeft, class: this.computedClassForIconLeft }))), hasInputLeftSlot && h("slot", { name: "input-left" }), this.showIconSeparator && h("div", { class: "vertical-separator" }), this.hasError && this.type === 'currency' && (h("div", { "test-id": "divIconError", onClick: this.onRefocusInput }, h("q2-icon", { type: "error", class: "icon-error", "test-id": "iconError" })))), this.pseudo ? this.pseudoInputDOM() : this.standardInputDOM(), h("div", { class: "input-icons-container-right" }, this.canClear && (h("q2-btn", { class: "btn-clear", ariaLabel: loc('tecton.element.input.clear', [this.label]), "test-id": "clearButton", onClick: this.onClearInput }, h("q2-icon", { type: "close", class: "icon-clear" }))), ['password', 'text', 'ssn', 'tin'].includes(this.type) && this.showVisibilityToggle && (h("q2-btn", { class: "btn-visibility-toggle", "test-id": "toggleVisibilityButton", onClick: this.onToggleVisibility }, this.visibilityToggleText)), this.formattedValueObject.suffix && (h("span", { class: "input-suffix" }, this.formattedValueObject.suffix)), this.badgeValue && (h("q2-badge", { size: "large", theme: this.badgeTheme }, this.badgeValue)), this.hasError && this.type !== 'currency' && (h("div", { "test-id": "divIconError", onClick: this.onRefocusInput }, h("q2-icon", { type: "error", class: "icon-error", "test-id": "iconError" }))), this.iconRight && !this.formattedValueObject.suffix && (h("div", null, h("q2-icon", { type: this.iconRight, class: "icon-right" }))), hasInputRightSlot && h("slot", { name: "input-right" }))));
|
|
543
566
|
}
|
|
544
567
|
/* tslint:enable:cyclomatic-complexity */
|
|
545
568
|
/* tslint:disable:cyclomatic-complexity */
|
|
546
569
|
standardInputDOM() {
|
|
547
570
|
const { hasCustomDisplaySlot } = this;
|
|
548
571
|
const inputClasses = ['input-field'];
|
|
572
|
+
const { ariaControls, ariaOwns, ariaHaspopup, ariaExpanded, ariaActivedescendant } = this.ariaAttributes;
|
|
549
573
|
if (hasCustomDisplaySlot)
|
|
550
574
|
inputClasses.push('sr');
|
|
551
|
-
return (h(Fragment, null, hasCustomDisplaySlot && (h("div", { class: "custom-display-container" }, h("slot", { name: "custom-display" }))), h("input", { class: inputClasses.join(' '), id: this.inputId, type: this.computedType, size: this.formattedValueObject.prefix ? 10 : undefined, max: this.max, min: this.min, step: this.step, "aria-current": this.current || undefined, "aria-describedby": this.inputDescribedBy, "aria-required": `${!this.optional}`, "aria-invalid": `${this.hasError}`, "aria-controls":
|
|
575
|
+
return (h(Fragment, null, hasCustomDisplaySlot && (h("div", { class: "custom-display-container" }, h("slot", { name: "custom-display" }))), h("input", { class: inputClasses.join(' '), id: this.inputId, type: this.computedType, size: this.formattedValueObject.prefix ? 10 : undefined, max: this.max, min: this.min, step: this.step, "aria-current": this.current || undefined, "aria-describedby": this.inputDescribedBy, "aria-required": `${!this.optional}`, "aria-invalid": `${this.hasError}`, "aria-controls": ariaControls, "aria-owns": ariaOwns, "aria-haspopup": ariaHaspopup, "aria-expanded": ariaExpanded, "aria-activedescendant": ariaActivedescendant, autocomplete: this.computedAutocomplete, autocapitalize: this.autocapitalize, autocorrect: this.autocorrect === 'on' ? 'on' : 'off', autofocus: this.autofocus, placeholder: (this.placeholder && loc(this.placeholder)) || undefined, role: (this.role && `${this.role}`) || undefined, "test-id": "inputField", readonly: !!this.readonly, disabled: !!this.disabled, onFocus: this.onInputFocus, onBlur: this.onInputBlur, onClick: this.onInputClick, onKeyDown: this.onInputKeydown, onInput: this.onInputInput, onPaste: this.onInputPaste, inputmode: this.inputMode })));
|
|
552
576
|
}
|
|
553
577
|
/* tslint:enable:cyclomatic-complexity */
|
|
554
578
|
pseudoInputDOM() {
|
|
555
579
|
const showPlaceholder = !this.value && !!this.placeholder;
|
|
556
|
-
|
|
580
|
+
const { ariaControls, ariaOwns, ariaHaspopup, ariaExpanded, ariaActivedescendant } = this.ariaAttributes;
|
|
581
|
+
return (h("div", { class: "pseudo-input-container" }, h("button", { class: "input-field", type: "button", id: this.inputId, "aria-describedby": this.inputDescribedBy, "aria-invalid": `${this.hasError}`, "aria-controls": ariaControls, "aria-owns": ariaOwns, "aria-haspopup": ariaHaspopup, "aria-expanded": ariaExpanded, "aria-activedescendant": ariaActivedescendant, role: (this.role && `${this.role}`) || undefined, disabled: !!this.disabled, "test-id": "q2InputInnerClearButton", onFocus: this.onInputFocus, onBlur: this.onInputBlur }, h("div", { class: "custom-display-container" }, h("slot", { name: "custom-display" }, h("span", { class: showPlaceholder ? 'placeholder-text' : '' }, showPlaceholder ? this.placeholder : this.value))))));
|
|
557
582
|
}
|
|
558
583
|
placeCursorAtEnd() {
|
|
559
584
|
const { inputField } = this;
|
|
@@ -1175,7 +1200,7 @@ export class Q2Input {
|
|
|
1175
1200
|
"references": {
|
|
1176
1201
|
"InputType": {
|
|
1177
1202
|
"location": "local",
|
|
1178
|
-
"path": "/workspace/workspace/
|
|
1203
|
+
"path": "/workspace/workspace/_Gitlab_tecton-production_master/packages/q2-tecton-elements/src/components/q2-input/q2-input.tsx",
|
|
1179
1204
|
"id": "src/components/q2-input/q2-input.tsx::InputType"
|
|
1180
1205
|
}
|
|
1181
1206
|
}
|