q2-tecton-elements 1.60.3 → 1.61.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundle-report.json +16580 -15448
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/q2-action-group_2.cjs.entry.js +1 -1
- package/dist/cjs/q2-action-sheet.cjs.entry.js +1 -1
- package/dist/cjs/q2-badge.cjs.entry.js +82 -0
- package/dist/cjs/q2-badge.cjs.entry.js.map +1 -0
- package/dist/cjs/q2-badge.entry.cjs.js.map +1 -0
- package/dist/cjs/q2-btn.q2-loading.entry.cjs.js.map +1 -0
- package/dist/cjs/q2-btn_2.cjs.entry.js +432 -0
- package/dist/cjs/q2-btn_2.cjs.entry.js.map +1 -0
- package/dist/cjs/q2-data-table.cjs.entry.js +1 -1
- package/dist/cjs/q2-data-table.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-data-table.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-file-picker.cjs.entry.js +15 -3
- package/dist/cjs/q2-file-picker.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-file-picker.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-grid-area.cjs.entry.js +2 -2
- package/dist/cjs/q2-grid-area.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-grid-area.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-icon.cjs.entry.js +715 -0
- package/dist/cjs/q2-icon.cjs.entry.js.map +1 -0
- package/dist/cjs/q2-icon.entry.cjs.js.map +1 -0
- package/dist/cjs/q2-input.cjs.entry.js +3556 -0
- package/dist/cjs/q2-input.cjs.entry.js.map +1 -0
- package/dist/cjs/q2-input.entry.cjs.js.map +1 -0
- package/dist/cjs/q2-legend.cjs.entry.js +1 -1
- package/dist/cjs/q2-legend.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-legend.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-link.q2-list.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-link_2.cjs.entry.js +1 -1
- package/dist/cjs/q2-link_2.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-meter.cjs.entry.js +109 -0
- package/dist/cjs/q2-meter.cjs.entry.js.map +1 -0
- package/dist/cjs/q2-meter.entry.cjs.js.map +1 -0
- package/dist/cjs/q2-modal.cjs.entry.js +2 -2
- package/dist/cjs/q2-optgroup.cjs.entry.js +1 -1
- package/dist/cjs/q2-pagination.cjs.entry.js +23 -10
- package/dist/cjs/q2-pagination.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-pagination.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-pill.cjs.entry.js +36 -12
- package/dist/cjs/q2-pill.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-pill.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-relative-time.cjs.entry.js +1 -1
- package/dist/cjs/q2-section.cjs.entry.js +2 -2
- package/dist/cjs/q2-select.cjs.entry.js +6 -3
- package/dist/cjs/q2-select.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-select.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-stepper-vertical.cjs.entry.js +1 -1
- package/dist/cjs/q2-stepper.cjs.entry.js +1 -1
- package/dist/cjs/q2-tab-container.cjs.entry.js +280 -0
- package/dist/cjs/q2-tab-container.cjs.entry.js.map +1 -0
- package/dist/cjs/q2-tab-container.entry.cjs.js.map +1 -0
- package/dist/cjs/q2-tab-pane.cjs.entry.js +34 -0
- package/dist/cjs/q2-tab-pane.cjs.entry.js.map +1 -0
- package/dist/cjs/q2-tab-pane.entry.cjs.js.map +1 -0
- package/dist/cjs/q2-tag.cjs.entry.js +1 -1
- package/dist/cjs/q2-tecton-elements.cjs.js +1 -1
- package/dist/cjs/{sanitize-html-string-BtI99lfg.js → sanitize-html-string-DPqrzfM9.js} +61 -27
- package/dist/cjs/sanitize-html-string-DPqrzfM9.js.map +1 -0
- package/dist/cjs/sprites-DZZE7UFT.js +22 -0
- package/dist/cjs/sprites-DZZE7UFT.js.map +1 -0
- package/dist/cjs/tecton-tab-pane.cjs.entry.js +2 -2
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/q2-data-table/q2-data-table.css +23 -2
- package/dist/collection/components/q2-file-picker/q2-file-picker.css +5 -0
- package/dist/collection/components/q2-file-picker/q2-file-picker.js +33 -2
- package/dist/collection/components/q2-file-picker/q2-file-picker.js.map +1 -1
- package/dist/collection/components/q2-grid-area/q2-grid-area.js +15 -15
- package/dist/collection/components/q2-grid-area/q2-grid-area.js.map +1 -1
- package/dist/collection/components/q2-icon/assets/brand.symbol.svg +1 -1
- package/dist/collection/components/q2-icon/assets/standard.symbol.svg +1 -1
- package/dist/collection/components/q2-legend/q2-legend.css +7 -7
- package/dist/collection/components/q2-link/q2-link.css +3 -3
- package/dist/collection/components/q2-meter/q2-meter.css +230 -0
- package/dist/collection/components/q2-meter/q2-meter.js +384 -0
- package/dist/collection/components/q2-meter/q2-meter.js.map +1 -0
- package/dist/collection/components/q2-modal/q2-modal.js +1 -1
- package/dist/collection/components/q2-optgroup/q2-optgroup.js +1 -1
- package/dist/collection/components/q2-pagination/q2-pagination.js +29 -15
- package/dist/collection/components/q2-pagination/q2-pagination.js.map +1 -1
- package/dist/collection/components/q2-pill/q2-pill.css +10 -4
- package/dist/collection/components/q2-pill/q2-pill.js +35 -11
- package/dist/collection/components/q2-pill/q2-pill.js.map +1 -1
- package/dist/collection/components/q2-relative-time/q2-relative-time.js +1 -1
- package/dist/collection/components/q2-resize-observer/q2-resize-observer.js +1 -1
- package/dist/collection/components/q2-section/q2-section.js +2 -2
- package/dist/collection/components/q2-select/q2-select.js +6 -3
- package/dist/collection/components/q2-select/q2-select.js.map +1 -1
- package/dist/collection/components/q2-stepper/q2-stepper.js +1 -1
- package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.js +1 -1
- package/dist/collection/components/q2-tab-container/q2-tab-container.js +1 -1
- package/dist/collection/components/q2-tab-pane/q2-tab-pane.js +1 -1
- package/dist/collection/components/q2-tag/q2-tag.js +1 -1
- package/dist/collection/components/tecton-tab-pane/tecton-tab-pane.js +2 -2
- package/dist/components/index.js +2 -0
- package/dist/components/index.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-file-picker.js +16 -3
- package/dist/components/q2-file-picker.js.map +1 -1
- package/dist/components/q2-grid-area.js +8 -8
- package/dist/components/q2-grid-area.js.map +1 -1
- package/dist/components/q2-legend2.js +1 -1
- package/dist/components/q2-legend2.js.map +1 -1
- package/dist/components/q2-link2.js +1 -1
- package/dist/components/q2-link2.js.map +1 -1
- package/dist/components/q2-meter.d.ts +11 -0
- package/dist/components/q2-meter.js +145 -0
- package/dist/components/q2-meter.js.map +1 -0
- package/dist/components/q2-modal.js +1 -1
- package/dist/components/q2-optgroup2.js +1 -1
- package/dist/components/q2-pagination.js +24 -11
- package/dist/components/q2-pagination.js.map +1 -1
- package/dist/components/q2-pill.js +36 -12
- package/dist/components/q2-pill.js.map +1 -1
- package/dist/components/q2-relative-time.js +1 -1
- package/dist/components/q2-resize-observer2.js +1 -1
- package/dist/components/q2-section.js +2 -2
- package/dist/components/q2-select2.js +6 -3
- package/dist/components/q2-select2.js.map +1 -1
- package/dist/components/q2-stepper-vertical.js +1 -1
- package/dist/components/q2-stepper.js +1 -1
- package/dist/components/q2-tab-container.js +1 -1
- package/dist/components/q2-tab-pane.js +1 -1
- package/dist/components/q2-tag.js +1 -1
- package/dist/components/q2-tooltip.js +1 -127
- package/dist/components/q2-tooltip.js.map +1 -1
- package/dist/components/q2-tooltip2.js +132 -0
- package/dist/components/q2-tooltip2.js.map +1 -0
- package/dist/components/sanitize-html-string.js +59 -25
- package/dist/components/sanitize-html-string.js.map +1 -1
- package/dist/components/tecton-tab-pane.js +2 -2
- package/dist/esm/{index-xCuy-dFb.js → index-LNnzUeDP.js} +3 -3
- package/dist/esm/{index-xCuy-dFb.js.map → index-LNnzUeDP.js.map} +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/q2-action-group_2.entry.js +2 -2
- package/dist/esm/q2-action-sheet.entry.js +2 -2
- package/dist/esm/q2-badge.entry.js +80 -0
- package/dist/esm/q2-badge.entry.js.map +1 -0
- package/dist/esm/q2-btn.q2-loading.entry.js.map +1 -0
- package/dist/esm/q2-btn_2.entry.js +429 -0
- package/dist/esm/q2-btn_2.entry.js.map +1 -0
- package/dist/esm/q2-calendar.entry.js +1 -1
- package/dist/esm/q2-card.entry.js +1 -1
- package/dist/esm/q2-carousel-pane.entry.js +1 -1
- package/dist/esm/q2-carousel.entry.js +1 -1
- package/dist/esm/q2-chart-area.entry.js +1 -1
- package/dist/esm/q2-chart-bar.entry.js +1 -1
- package/dist/esm/q2-chart-donut.entry.js +1 -1
- package/dist/esm/q2-checkbox-group.entry.js +1 -1
- package/dist/esm/q2-checkbox.entry.js +1 -1
- package/dist/esm/q2-context.entry.js +1 -1
- package/dist/esm/q2-data-table.entry.js +2 -2
- package/dist/esm/q2-data-table.entry.js.map +1 -1
- package/dist/esm/q2-detail.entry.js +1 -1
- package/dist/esm/q2-dropdown-item.entry.js +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-file-picker.entry.js +16 -4
- package/dist/esm/q2-file-picker.entry.js.map +1 -1
- package/dist/esm/q2-grid-area.entry.js +2 -2
- package/dist/esm/q2-grid-area.entry.js.map +1 -1
- package/dist/esm/q2-icon.entry.js +713 -0
- package/dist/esm/q2-icon.entry.js.map +1 -0
- package/dist/esm/q2-input.entry.js +3554 -0
- package/dist/esm/q2-input.entry.js.map +1 -0
- package/dist/esm/q2-item.entry.js +1 -1
- package/dist/esm/q2-legend.entry.js +1 -1
- package/dist/esm/q2-legend.entry.js.map +1 -1
- package/dist/esm/q2-link.q2-list.entry.js.map +1 -1
- package/dist/esm/q2-link_2.entry.js +2 -2
- package/dist/esm/q2-link_2.entry.js.map +1 -1
- package/dist/esm/q2-loc.entry.js +1 -1
- package/dist/esm/q2-message.entry.js +1 -1
- package/dist/esm/q2-meter.entry.js +107 -0
- package/dist/esm/q2-meter.entry.js.map +1 -0
- package/dist/esm/q2-modal.entry.js +3 -3
- package/dist/esm/q2-month-picker.entry.js +1 -1
- package/dist/esm/q2-optgroup.entry.js +2 -2
- package/dist/esm/q2-option-list_2.entry.js +1 -1
- package/dist/esm/q2-option.entry.js +1 -1
- package/dist/esm/q2-pagination.entry.js +24 -11
- package/dist/esm/q2-pagination.entry.js.map +1 -1
- package/dist/esm/q2-pill.entry.js +37 -13
- 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 +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 +7 -4
- package/dist/esm/q2-select.entry.js.map +1 -1
- package/dist/esm/q2-stepper-pane.entry.js +1 -1
- package/dist/esm/q2-stepper-vertical.entry.js +2 -2
- package/dist/esm/q2-stepper.entry.js +2 -2
- package/dist/esm/q2-tab-container.entry.js +278 -0
- package/dist/esm/q2-tab-container.entry.js.map +1 -0
- package/dist/esm/q2-tab-pane.entry.js +32 -0
- package/dist/esm/q2-tab-pane.entry.js.map +1 -0
- package/dist/esm/q2-tag.entry.js +2 -2
- package/dist/esm/q2-tecton-elements.js +1 -1
- package/dist/esm/q2-textarea.entry.js +1 -1
- package/dist/esm/q2-tooltip.entry.js +1 -1
- package/dist/esm/{sanitize-html-string-DL0kgllh.js → sanitize-html-string-DOVERJq5.js} +61 -27
- package/dist/esm/sanitize-html-string-DOVERJq5.js.map +1 -0
- package/dist/esm/sprites-jG2RmiwF.js +20 -0
- package/dist/esm/sprites-jG2RmiwF.js.map +1 -0
- package/dist/esm/tecton-tab-pane.entry.js +2 -2
- package/dist/q2-tecton-elements/assets/brand.symbol.svg +1 -1
- package/dist/q2-tecton-elements/assets/standard.symbol.svg +1 -1
- package/dist/q2-tecton-elements/{index-xCuy-dFb.js → index-LNnzUeDP.js} +3 -3
- package/dist/q2-tecton-elements/{index-xCuy-dFb.js.map → index-LNnzUeDP.js.map} +1 -1
- package/dist/q2-tecton-elements/q2-action-group_2.entry.js +2 -2
- package/dist/q2-tecton-elements/q2-action-sheet.entry.js +2 -2
- package/dist/q2-tecton-elements/q2-badge.entry.esm.js.map +1 -0
- package/dist/q2-tecton-elements/q2-badge.entry.js +84 -0
- package/dist/q2-tecton-elements/q2-badge.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-btn.q2-loading.entry.esm.js.map +1 -0
- package/dist/q2-tecton-elements/q2-btn_2.entry.js +453 -0
- package/dist/q2-tecton-elements/q2-btn_2.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-calendar.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-card.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-carousel-pane.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-carousel.entry.js +5 -5
- package/dist/q2-tecton-elements/q2-chart-area.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-chart-bar.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-chart-donut.entry.js +9 -9
- package/dist/q2-tecton-elements/q2-checkbox-group.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-checkbox.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-context.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-data-table.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-data-table.entry.js +109 -109
- package/dist/q2-tecton-elements/q2-data-table.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-detail.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-dropdown-item.entry.js +4 -4
- package/dist/q2-tecton-elements/q2-dropdown.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-editable-field.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-file-picker.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-file-picker.entry.js +112 -93
- package/dist/q2-tecton-elements/q2-file-picker.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-grid-area.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-grid-area.entry.js +3 -3
- package/dist/q2-tecton-elements/q2-grid-area.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-icon.entry.esm.js.map +1 -0
- package/dist/q2-tecton-elements/q2-icon.entry.js +870 -0
- package/dist/q2-tecton-elements/q2-icon.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-input.entry.esm.js.map +1 -0
- package/dist/q2-tecton-elements/q2-input.entry.js +3883 -0
- package/dist/q2-tecton-elements/q2-input.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-item.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-legend.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-legend.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-legend.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-link.q2-list.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-link_2.entry.js +2 -2
- package/dist/q2-tecton-elements/q2-link_2.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-loc.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-message.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-meter.entry.esm.js.map +1 -0
- package/dist/q2-tecton-elements/q2-meter.entry.js +176 -0
- package/dist/q2-tecton-elements/q2-meter.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-modal.entry.js +24 -24
- package/dist/q2-tecton-elements/q2-month-picker.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-optgroup.entry.js +5 -5
- package/dist/q2-tecton-elements/q2-option-list_2.entry.js +15 -15
- package/dist/q2-tecton-elements/q2-option.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-pagination.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-pagination.entry.js +43 -33
- package/dist/q2-tecton-elements/q2-pagination.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-pill.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-pill.entry.js +57 -36
- package/dist/q2-tecton-elements/q2-pill.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-radio-group.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-radio.entry.js +4 -4
- package/dist/q2-tecton-elements/q2-relative-time.entry.js +2 -2
- package/dist/q2-tecton-elements/q2-section.entry.js +21 -21
- package/dist/q2-tecton-elements/q2-select.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-select.entry.js +7 -4
- package/dist/q2-tecton-elements/q2-select.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-stepper-pane.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-stepper-vertical.entry.js +19 -19
- package/dist/q2-tecton-elements/q2-stepper.entry.js +13 -13
- package/dist/q2-tecton-elements/q2-tab-container.entry.esm.js.map +1 -0
- package/dist/q2-tecton-elements/q2-tab-container.entry.js +348 -0
- package/dist/q2-tecton-elements/q2-tab-container.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-tab-pane.entry.esm.js.map +1 -0
- package/dist/q2-tecton-elements/q2-tab-pane.entry.js +44 -0
- package/dist/q2-tecton-elements/q2-tab-pane.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-tag.entry.js +57 -57
- package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +1 -1
- package/dist/q2-tecton-elements/q2-textarea.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-tooltip.entry.js +1 -1
- package/dist/q2-tecton-elements/{sanitize-html-string-DL0kgllh.js → sanitize-html-string-DOVERJq5.js} +314 -282
- package/dist/q2-tecton-elements/sanitize-html-string-DOVERJq5.js.map +1 -0
- package/dist/q2-tecton-elements/sprites-jG2RmiwF.js +18 -0
- package/dist/q2-tecton-elements/sprites-jG2RmiwF.js.map +1 -0
- package/dist/q2-tecton-elements/tecton-tab-pane.entry.js +6 -6
- package/dist/types/components/q2-file-picker/q2-file-picker.d.ts +5 -0
- package/dist/types/components/q2-grid-area/q2-grid-area.d.ts +6 -6
- package/dist/types/components/q2-meter/q2-meter.d.ts +70 -0
- package/dist/types/components/q2-pagination/q2-pagination.d.ts +2 -1
- package/dist/types/components/q2-pill/q2-pill.d.ts +8 -1
- package/dist/types/components.d.ts +147 -4
- package/package.json +3 -3
- package/dist/cjs/q2-badge.q2-btn.q2-icon.q2-input.q2-loading.q2-tab-container.q2-tab-pane.entry.cjs.js.map +0 -1
- package/dist/cjs/q2-badge_7.cjs.entry.js +0 -5074
- package/dist/cjs/q2-badge_7.cjs.entry.js.map +0 -1
- package/dist/cjs/sanitize-html-string-BtI99lfg.js.map +0 -1
- package/dist/esm/q2-badge.q2-btn.q2-icon.q2-input.q2-loading.q2-tab-container.q2-tab-pane.entry.js.map +0 -1
- package/dist/esm/q2-badge_7.entry.js +0 -5066
- package/dist/esm/q2-badge_7.entry.js.map +0 -1
- package/dist/esm/sanitize-html-string-DL0kgllh.js.map +0 -1
- package/dist/q2-tecton-elements/q2-badge.q2-btn.q2-icon.q2-input.q2-loading.q2-tab-container.q2-tab-pane.entry.esm.js.map +0 -1
- package/dist/q2-tecton-elements/q2-badge_7.entry.js +0 -5659
- package/dist/q2-tecton-elements/q2-badge_7.entry.js.map +0 -1
- package/dist/q2-tecton-elements/sanitize-html-string-DL0kgllh.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["q2IconCss","Q2Icon","constructor","hostRef","this","spritePrefix","componentWillLoad","handleIcon","componentDidRender","iconClone","_b","_a","spriteGroup","firstElementChild","remove","appendedClone","_c","appendChild","_d","spriteUse","setAttribute","id","disconnectedCallback","isCustom","setCustomSVGAttrs","type","fetchSprite","iconCloneViewBox","getAttribute","spriteElement","spriteId","document","querySelector","spriteEventName","spriteFileName","iconMap","checkForSprite","spriteContainer","getOrCreateSpriteContainer","getElementById","hasAttribute","cloneSpriteNode","addEventListener","once","createElement","spriteNode","cloneNode","undefined","spriteExists","spritePath","getAssetPath","response","fetch","data","text","wrappingDiv","innerHTML","svg","tagName","replaceWith","parentNode","replaceChild","dispatchEvent","CustomEvent","bubbles","innerSVG","hostElement","label","title","labelId","createGuid","textContent","render","h","role","viewBox","xmlns","class","ref","el"],"sources":["src/components/q2-icon/q2-icon.scss?tag=q2-icon&encapsulation=shadow","src/components/q2-icon/q2-icon.tsx"],"sourcesContent":["@import '../../styles/host.scss';\n@import '../../styles/functions';\n\n:host {\n display: inline-block;\n height: var(--tct-icon-size, 24px);\n width: var(--tct-icon-size, 24px);\n position: relative;\n fill: none;\n}\n\n:host([inline]) {\n height: 1em;\n width: 1em;\n}\n\nsvg {\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n stroke-width: var-list(--tct-icon-stroke-width, --t-icon-stroke-width, --tct-icon-group-stroke-width, 2);\n stroke-linecap: var-list(--tct-icon-cap, --t-icon-cap, round);\n stroke-linejoin: var-list(--tct-icon-cap, --t-icon-cap, round);\n transition: var(--tct-icon-transition, none);\n\n &.brand {\n stroke-width: var-list(--tct-icon-group-brand-stroke-width, 1);\n }\n\n &.browsersos {\n stroke-width: var-list(--tct-icon-group-browsersos-stroke-width, 1);\n }\n}\n\n.stroke-primary {\n stroke: var-list(--tct-icon-stroke-primary, --t-icon-stroke-primary, --t-text, currentcolor);\n transition: var(--tct-icon-stroke-primary-transition, none);\n}\n\n.stroke-secondary {\n stroke: var-list(--tct-icon-stroke-secondary, --t-icon-stroke-secondary, --t-text, currentcolor);\n transition: var(--tct-icon-stroke-secondary-transition, none);\n}\n\n.fill-primary {\n fill: var-list(--tct-icon-stroke-primary, --t-icon-stroke-primary, --t-text, currentcolor);\n transition: var(--tct-icon-stroke-primary-transition, none);\n}\n\n.fill-secondary {\n fill: var-list(--tct-icon-stroke-secondary, --t-icon-stroke-secondary, --t-text, currentcolor);\n transition: var(--tct-icon-stroke-secondary-transition, none);\n}\n\n.filled {\n fill: var-list(--tct-icon-fill, --comp-icon-fill, --t-icon-fill, none);\n transition: var(--tct-icon-fill-transition, none);\n}\n\n.brand-filled {\n fill: var-list(--tct-brand-icon-fill, --tct-icon-fill, currentColor);\n transition: var(--tct-icon-fill-transition, none);\n}\n\n.uniform {\n fill: var-list(--tct-icon-stroke-primary, --t-icon-stroke-primary, currentcolor);\n transition: var(--tct-icon-stroke-primary-transition, none);\n}\n\n:host([type='info']),\n:host([type='info-filled']) {\n --tct-icon-stroke-primary: transparent;\n --comp-status-color: #{var-list(--tct-stoplight-info, --const-stoplight-info, #0079c1)};\n}\n\n:host([type='success']),\n:host([type='success-filled']) {\n --tct-icon-stroke-primary: transparent;\n --comp-status-color: #{var-list(--tct-stoplight-success, --const-stoplight-success, #0e8a00)};\n}\n\n:host([type='warning']),\n:host([type='warning-filled']) {\n --tct-icon-stroke-primary: transparent;\n --comp-status-color: #{var-list(--tct-stoplight-warning, --const-stoplight-warning, #c35500)};\n}\n\n:host([type='error']),\n:host([type='error-filled']) {\n --tct-icon-stroke-primary: transparent;\n --comp-status-color: #{var-list(--tct-stoplight-alert, --const-stoplight-alert, #d20a0a)};\n}\n","import { Component, ComponentInterface, Prop, h, Element, Watch, getAssetPath, State } from '@stencil/core';\nimport { createGuid } from 'src/utils';\nimport { getOrCreateSpriteContainer } from '@/utils/sprites';\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 // #region Own Properties\n\n spriteGroup: SVGElement;\n spritePrefix: string = 'tecton-sprite-';\n spriteUse: SVGElement;\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 iconClone: SVGSymbolElement;\n\n // #endregion\n // #region Public Property API\n\n /** Styles the component to have a `height` and `width` of `1em`, making it easy to place alongside text. */\n @Prop({ reflect: true })\n inline: boolean;\n\n /** The text that is presented by screen-readers when they encounter the icon. */\n @Prop({ reflect: true })\n label: string;\n\n /** The name of the icon to be displayed. */\n @Prop({ reflect: true })\n type: string;\n\n // #endregion\n // #region Component Lifecycle Events\n\n componentWillLoad() {\n this.handleIcon();\n }\n\n componentDidRender(): void {\n if (!this.iconClone) return;\n this.spriteGroup?.firstElementChild?.remove();\n const appendedClone = this.spriteGroup?.appendChild(this.iconClone);\n\n // We have to set the `href` attribute after the symbol is appended to the DOM to avoid a bug in Safari\n this.spriteUse?.setAttribute('href', `#${appendedClone.id}`);\n }\n\n disconnectedCallback(): void {\n this.spriteGroup = null;\n this.spriteUse = null;\n }\n\n // #endregion\n // #region Watchers\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 // #endregion\n // #region Local Methods\n\n get iconCloneViewBox() {\n return this.iconClone?.getAttribute('viewBox') ?? '0 0 24 24';\n }\n\n get isCustom() {\n return this.type === 'custom';\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 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 `${this.spritePrefix}${spriteFileName}`;\n }\n\n checkForSprite() {\n const { spriteId, spriteEventName } = this;\n const spriteContainer = getOrCreateSpriteContainer();\n let spriteElement: HTMLElement = document.getElementById(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 cloneSpriteNode() {\n const spriteNode = document.getElementById(`tct-${this.type}`);\n this.iconClone = spriteNode ? (spriteNode.cloneNode(true) as SVGSymbolElement) : undefined;\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.getElementById(spriteId);\n spriteElement.dispatchEvent(new CustomEvent(spriteEventName, { bubbles: true }));\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 // #endregion\n // #region Render Methods\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={!!label ? 'img' : undefined}\n aria-labelledby={!!label ? 'label' : undefined}\n viewBox={this.iconCloneViewBox}\n xmlns=\"http://www.w3.org/2000/svg\"\n class={this.spriteFileName}\n >\n {!!label && <title id=\"label\">{label}</title>}\n {!!type && <use ref={el => (this.spriteUse = el)} />}\n <g ref={el => (this.spriteGroup = el)}></g>\n </svg>\n );\n }\n\n // #endregion\n}\n"],"mappings":"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","ignoreList":[]}
|