q2-tecton-elements 1.36.0 → 1.37.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 +1 -1
- package/dist/cjs/{index-f6545293.js → index-6f9f259c.js} +12 -9
- package/dist/cjs/index-6f9f259c.js.map +1 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/q2-action-sheet.cjs.entry.js +2 -2
- package/dist/cjs/q2-action-sheet.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-btn_2.cjs.entry.js +1 -1
- package/dist/cjs/q2-calendar.cjs.entry.js +46 -3
- 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 +1 -1
- package/dist/cjs/q2-carousel.cjs.entry.js +1 -1
- package/dist/cjs/q2-chart-area.cjs.entry.js +2 -2
- package/dist/cjs/q2-chart-area.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-chart-bar.cjs.entry.js +2 -2
- package/dist/cjs/q2-chart-bar.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-chart-donut.cjs.entry.js +12 -8
- package/dist/cjs/q2-chart-donut.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-checkbox-group.cjs.entry.js +25 -6
- package/dist/cjs/q2-checkbox-group.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-checkbox.cjs.entry.js +1 -1
- package/dist/cjs/q2-data-table.cjs.entry.js +2 -2
- package/dist/cjs/q2-data-table.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-dropdown-item.cjs.entry.js +1 -1
- package/dist/cjs/q2-dropdown.cjs.entry.js +1 -1
- package/dist/cjs/q2-editable-field.cjs.entry.js +34 -6
- package/dist/cjs/q2-editable-field.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-icon.cjs.entry.js +1 -1
- package/dist/cjs/q2-input.cjs.entry.js +17 -10
- package/dist/cjs/q2-input.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-loc.cjs.entry.js +1 -1
- package/dist/cjs/q2-message.cjs.entry.js +14 -13
- 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 +1 -1
- package/dist/cjs/q2-option-list.cjs.entry.js +1 -1
- package/dist/cjs/q2-pagination.cjs.entry.js +1 -1
- package/dist/cjs/q2-pill.cjs.entry.js +3 -3
- package/dist/cjs/q2-pill.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-radio-group.cjs.entry.js +9 -1
- package/dist/cjs/q2-radio-group.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-radio.cjs.entry.js +12 -3
- package/dist/cjs/q2-radio.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-section.cjs.entry.js +1 -1
- package/dist/cjs/q2-select.cjs.entry.js +54 -5
- package/dist/cjs/q2-select.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-stepper-pane.cjs.entry.js +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 +1 -1
- package/dist/cjs/q2-tag.cjs.entry.js +1 -1
- package/dist/cjs/q2-tecton-elements.cjs.js +1 -1
- package/dist/cjs/q2-textarea.cjs.entry.js +13 -1
- package/dist/cjs/q2-textarea.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-tooltip.cjs.entry.js +1 -1
- package/dist/collection/components/q2-action-sheet/styles.css +0 -8
- package/dist/collection/components/q2-calendar/index.js +120 -2
- package/dist/collection/components/q2-calendar/index.js.map +1 -1
- package/dist/collection/components/q2-chart-area/index.js +1 -1
- package/dist/collection/components/q2-chart-area/index.js.map +1 -1
- package/dist/collection/components/q2-chart-bar/index.js +1 -1
- package/dist/collection/components/q2-chart-bar/index.js.map +1 -1
- package/dist/collection/components/q2-chart-donut/index.js +11 -7
- package/dist/collection/components/q2-chart-donut/index.js.map +1 -1
- package/dist/collection/components/q2-checkbox-group/index.js +45 -5
- package/dist/collection/components/q2-checkbox-group/index.js.map +1 -1
- package/dist/collection/components/q2-data-table/styles.css +37 -36
- package/dist/collection/components/q2-editable-field/index.js +96 -6
- package/dist/collection/components/q2-editable-field/index.js.map +1 -1
- package/dist/collection/components/q2-input/index.js +48 -10
- package/dist/collection/components/q2-input/index.js.map +1 -1
- package/dist/collection/components/q2-message/index.js +14 -13
- package/dist/collection/components/q2-message/index.js.map +1 -1
- package/dist/collection/components/q2-pill/index.js +2 -2
- package/dist/collection/components/q2-pill/index.js.map +1 -1
- package/dist/collection/components/q2-radio/index.js +29 -3
- package/dist/collection/components/q2-radio/index.js.map +1 -1
- package/dist/collection/components/q2-radio-group/index.js +27 -0
- package/dist/collection/components/q2-radio-group/index.js.map +1 -1
- package/dist/collection/components/q2-select/index.js +127 -5
- package/dist/collection/components/q2-select/index.js.map +1 -1
- package/dist/collection/components/q2-textarea/index.js +37 -0
- package/dist/collection/components/q2-textarea/index.js.map +1 -1
- package/dist/collection/utils/index.js +8 -6
- package/dist/collection/utils/index.js.map +1 -1
- package/dist/components/index11.js +14 -13
- package/dist/components/index11.js.map +1 -1
- package/dist/components/index16.js +11 -8
- package/dist/components/index16.js.map +1 -1
- package/dist/components/index9.js +19 -10
- package/dist/components/index9.js.map +1 -1
- package/dist/components/q2-action-sheet.js +1 -1
- package/dist/components/q2-action-sheet.js.map +1 -1
- package/dist/components/q2-calendar.js +51 -4
- package/dist/components/q2-calendar.js.map +1 -1
- package/dist/components/q2-chart-area.js +1 -1
- package/dist/components/q2-chart-area.js.map +1 -1
- package/dist/components/q2-chart-bar.js +1 -1
- package/dist/components/q2-chart-bar.js.map +1 -1
- package/dist/components/q2-chart-donut.js +11 -7
- package/dist/components/q2-chart-donut.js.map +1 -1
- package/dist/components/q2-checkbox-group.js +26 -6
- package/dist/components/q2-checkbox-group.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-editable-field.js +39 -7
- package/dist/components/q2-editable-field.js.map +1 -1
- package/dist/components/q2-pill.js +2 -2
- package/dist/components/q2-pill.js.map +1 -1
- package/dist/components/q2-radio-group.js +10 -1
- package/dist/components/q2-radio-group.js.map +1 -1
- package/dist/components/q2-radio.js +13 -3
- package/dist/components/q2-radio.js.map +1 -1
- package/dist/components/q2-select.js +59 -6
- package/dist/components/q2-select.js.map +1 -1
- package/dist/components/q2-textarea.js +15 -2
- package/dist/components/q2-textarea.js.map +1 -1
- package/dist/docs.json +224 -9
- package/dist/esm/click-elsewhere_2.entry.js +1 -1
- package/dist/esm/{index-35ff2881.js → index-74a659a5.js} +12 -9
- package/dist/esm/index-74a659a5.js.map +1 -0
- package/dist/esm/loader.js +1 -1
- package/dist/esm/q2-action-sheet.entry.js +2 -2
- package/dist/esm/q2-action-sheet.entry.js.map +1 -1
- package/dist/esm/q2-btn_2.entry.js +1 -1
- package/dist/esm/q2-calendar.entry.js +46 -3
- 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 +1 -1
- package/dist/esm/q2-carousel.entry.js +1 -1
- package/dist/esm/q2-chart-area.entry.js +2 -2
- package/dist/esm/q2-chart-area.entry.js.map +1 -1
- package/dist/esm/q2-chart-bar.entry.js +2 -2
- package/dist/esm/q2-chart-bar.entry.js.map +1 -1
- package/dist/esm/q2-chart-donut.entry.js +12 -8
- package/dist/esm/q2-chart-donut.entry.js.map +1 -1
- package/dist/esm/q2-checkbox-group.entry.js +25 -6
- package/dist/esm/q2-checkbox-group.entry.js.map +1 -1
- package/dist/esm/q2-checkbox.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-dropdown-item.entry.js +1 -1
- package/dist/esm/q2-dropdown.entry.js +1 -1
- package/dist/esm/q2-editable-field.entry.js +34 -6
- package/dist/esm/q2-editable-field.entry.js.map +1 -1
- package/dist/esm/q2-icon.entry.js +1 -1
- package/dist/esm/q2-input.entry.js +17 -10
- package/dist/esm/q2-input.entry.js.map +1 -1
- package/dist/esm/q2-loc.entry.js +1 -1
- package/dist/esm/q2-message.entry.js +14 -13
- 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 +1 -1
- package/dist/esm/q2-option-list.entry.js +1 -1
- package/dist/esm/q2-pagination.entry.js +1 -1
- package/dist/esm/q2-pill.entry.js +3 -3
- package/dist/esm/q2-pill.entry.js.map +1 -1
- package/dist/esm/q2-radio-group.entry.js +9 -1
- package/dist/esm/q2-radio-group.entry.js.map +1 -1
- package/dist/esm/q2-radio.entry.js +12 -3
- package/dist/esm/q2-radio.entry.js.map +1 -1
- package/dist/esm/q2-section.entry.js +1 -1
- package/dist/esm/q2-select.entry.js +54 -5
- 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 +1 -1
- package/dist/esm/q2-stepper.entry.js +1 -1
- package/dist/esm/q2-tab-container.entry.js +1 -1
- package/dist/esm/q2-tag.entry.js +1 -1
- package/dist/esm/q2-tecton-elements.js +1 -1
- package/dist/esm/q2-textarea.entry.js +13 -1
- package/dist/esm/q2-textarea.entry.js.map +1 -1
- package/dist/esm/q2-tooltip.entry.js +1 -1
- package/dist/q2-tecton-elements/{p-2b91b34e.entry.js → p-077107c1.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-09d4b3d3.entry.js +2 -0
- package/dist/q2-tecton-elements/p-09d4b3d3.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-b73e7870.entry.js → p-0d4aec6e.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-1c993698.entry.js +2 -0
- package/dist/q2-tecton-elements/p-1c993698.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-0c1b74e9.entry.js → p-252889b7.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-252889b7.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-d4da72f0.entry.js → p-25bd1b18.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-25bd1b18.entry.js.map +1 -0
- package/dist/q2-tecton-elements/p-2a975246.entry.js +2 -0
- package/dist/q2-tecton-elements/p-2a975246.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-55deaceb.entry.js → p-30facf35.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-3798ad96.entry.js +2 -0
- package/dist/q2-tecton-elements/p-3798ad96.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-2325975a.entry.js → p-46287c02.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-2bf5a3bc.entry.js → p-47c60d4a.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-6cc730db.entry.js → p-4abbd0b1.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-dafdb018.entry.js → p-570c1d3d.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-570c1d3d.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-4fb81d03.entry.js → p-578e3f98.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-58cdb9c7.entry.js +2 -0
- package/dist/q2-tecton-elements/p-58cdb9c7.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-c3650c2e.entry.js → p-597f8656.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-ce27270b.entry.js → p-59d34a17.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-3c0d391b.entry.js → p-5bc4d94c.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-70a59bf1.entry.js → p-67f33354.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-67f33354.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-c9f32e51.entry.js → p-6cacc879.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-f637136f.entry.js → p-7366d36d.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-e5a8f7ff.entry.js → p-75fd6df5.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-e5a8f7ff.entry.js.map → p-75fd6df5.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/{p-68371e6d.entry.js → p-8e7b762a.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-ece07c0d.entry.js → p-9a28b93a.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-d3827468.entry.js → p-9c9a2550.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-15ca5c98.entry.js → p-9d743327.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-8c6f8d06.entry.js → p-9ef2829e.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-8c6f8d06.entry.js.map → p-9ef2829e.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/{p-3fd4f83d.entry.js → p-a52371cf.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-f11326c2.entry.js → p-a53e9f1e.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-586c8654.entry.js → p-a60f82c0.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-a60f82c0.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-6e6b160d.entry.js → p-ac82ea35.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-8e8a40ca.entry.js → p-bfd69d42.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-82bda2ff.entry.js → p-db6921fb.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-cfbd2cb1.entry.js → p-e45856f7.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-e45856f7.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-654987bf.entry.js → p-e8858d0d.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-e8858d0d.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-99ab3236.js → p-ef856249.js} +2 -2
- package/dist/q2-tecton-elements/p-ef856249.js.map +1 -0
- package/dist/q2-tecton-elements/{p-073df9e2.entry.js → p-efbe6c17.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-efbe6c17.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-calendar-test.e2e.js +177 -0
- package/dist/test/elements/q2-calendar-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-chart-area-test.e2e.js +30 -1
- package/dist/test/elements/q2-chart-area-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-chart-bar-test.e2e.js +30 -1
- package/dist/test/elements/q2-chart-bar-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-chart-donut-test.e2e.js +21 -18
- package/dist/test/elements/q2-chart-donut-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-checkbox-group-test.e2e.js +138 -18
- package/dist/test/elements/q2-checkbox-group-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-checkbox-test.e2e.js +143 -115
- package/dist/test/elements/q2-checkbox-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-editable-field-test.e2e.js +149 -28
- package/dist/test/elements/q2-editable-field-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-input-test.e2e.js +150 -9
- package/dist/test/elements/q2-input-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-message-test.e2e.js +38 -1
- package/dist/test/elements/q2-message-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-pill-test.e2e.js +37 -1
- package/dist/test/elements/q2-pill-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-radio-group-test.e2e.js +148 -186
- package/dist/test/elements/q2-radio-group-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-radio-test.e2e.js +100 -15
- package/dist/test/elements/q2-radio-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-select-test.e2e.js +203 -0
- package/dist/test/elements/q2-select-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-tag-test.e2e.js +5 -0
- package/dist/test/elements/q2-tag-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-textarea-test.e2e.js +33 -1
- package/dist/test/elements/q2-textarea-test.e2e.js.map +1 -1
- package/dist/types/components/q2-calendar/index.d.ts +8 -1
- package/dist/types/components/q2-chart-donut/index.d.ts +1 -1
- package/dist/types/components/q2-checkbox-group/index.d.ts +3 -0
- package/dist/types/components/q2-editable-field/index.d.ts +10 -2
- package/dist/types/components/q2-input/index.d.ts +2 -0
- package/dist/types/components/q2-message/index.d.ts +1 -0
- package/dist/types/components/q2-radio/index.d.ts +1 -0
- package/dist/types/components/q2-radio-group/index.d.ts +1 -0
- package/dist/types/components/q2-select/index.d.ts +9 -1
- package/dist/types/components/q2-textarea/index.d.ts +2 -0
- package/dist/types/components.d.ts +19 -0
- package/package.json +3 -3
- package/dist/cjs/index-f6545293.js.map +0 -1
- package/dist/esm/index-35ff2881.js.map +0 -1
- package/dist/q2-tecton-elements/p-073df9e2.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-0c1b74e9.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-215d5ab4.entry.js +0 -2
- package/dist/q2-tecton-elements/p-215d5ab4.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-2987498c.entry.js +0 -2
- package/dist/q2-tecton-elements/p-2987498c.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-586c8654.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-654987bf.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-70a59bf1.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-7a6e33d4.entry.js +0 -2
- package/dist/q2-tecton-elements/p-7a6e33d4.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-99ab3236.js.map +0 -1
- package/dist/q2-tecton-elements/p-ae2fa966.entry.js +0 -2
- package/dist/q2-tecton-elements/p-ae2fa966.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-b8d1c16f.entry.js +0 -2
- package/dist/q2-tecton-elements/p-b8d1c16f.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-cfbd2cb1.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-d4da72f0.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-dafdb018.entry.js.map +0 -1
- /package/dist/q2-tecton-elements/{p-2b91b34e.entry.js.map → p-077107c1.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-b73e7870.entry.js.map → p-0d4aec6e.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-55deaceb.entry.js.map → p-30facf35.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-2325975a.entry.js.map → p-46287c02.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-2bf5a3bc.entry.js.map → p-47c60d4a.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-6cc730db.entry.js.map → p-4abbd0b1.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-4fb81d03.entry.js.map → p-578e3f98.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-c3650c2e.entry.js.map → p-597f8656.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-ce27270b.entry.js.map → p-59d34a17.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-3c0d391b.entry.js.map → p-5bc4d94c.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-c9f32e51.entry.js.map → p-6cacc879.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-f637136f.entry.js.map → p-7366d36d.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-68371e6d.entry.js.map → p-8e7b762a.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-ece07c0d.entry.js.map → p-9a28b93a.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-d3827468.entry.js.map → p-9c9a2550.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-15ca5c98.entry.js.map → p-9d743327.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-3fd4f83d.entry.js.map → p-a52371cf.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-f11326c2.entry.js.map → p-a53e9f1e.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-6e6b160d.entry.js.map → p-ac82ea35.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-8e8a40ca.entry.js.map → p-bfd69d42.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-82bda2ff.entry.js.map → p-db6921fb.entry.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/q2-chart-donut/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n State,\n Prop,\n h,\n ComponentInterface,\n Element,\n EventEmitter,\n Event,\n Method,\n Watch,\n Listen,\n} from '@stencil/core';\nimport * as echarts from 'echarts/core';\nimport {\n TooltipComponent,\n TooltipComponentOption,\n LegendComponent,\n AriaComponent,\n AriaComponentOption,\n LegendComponentOption,\n} from 'echarts/components';\nimport { PieChart, PieSeriesOption } from 'echarts/charts';\nimport { LabelLayout } from 'echarts/features';\nimport { CanvasRenderer } from 'echarts/renderers';\nimport { isEventFromElement, loc, overrideFocus } from 'src/utils';\nimport { IDonutChartData } from 'q2-tecton-common/lib/types/element-types';\n\necharts.use([TooltipComponent, LegendComponent, PieChart, CanvasRenderer, AriaComponent, LabelLayout]);\ntype EChartsOption = echarts.ComposeOption<\n TooltipComponentOption | LegendComponentOption | AriaComponentOption | PieSeriesOption\n>;\n@Component({\n tag: 'q2-chart-donut',\n shadow: true,\n styleUrl: 'styles.scss',\n})\nexport class Q2ChartDonut implements ComponentInterface {\n @Prop({ reflect: true }) chartName: string;\n @Prop({ reflect: true }) summaryIcon: string;\n @Prop({ reflect: true }) summaryName: string;\n @Prop({ mutable: true }) innerRadius: string = '70%';\n @Prop({ mutable: true }) outerRadius: string = '85%';\n @Prop() minSliceSize: string = '2.5%';\n @Prop() selectedOffset: number = 10;\n @Prop() hoverScaleSize: number = 5;\n @Prop({ reflect: true }) format: 'currency';\n @Prop({ reflect: true }) isClickable: boolean;\n @Prop() data: IDonutChartData[] = [];\n @Prop() selectedId: string;\n\n @Element() hostElement: HTMLElement;\n @Event() change: EventEmitter;\n @Event() click: EventEmitter;\n @State() hoveredId: string;\n isInChangeEvent: boolean;\n chartContainer: HTMLDivElement;\n centerButtonElement: HTMLButtonElement;\n btnElement: HTMLDivElement;\n chartContainerStyles: CSSStyleDeclaration;\n hostElementStyles: CSSStyleDeclaration;\n resizeObserver: ResizeObserver;\n colors: string[];\n chart: echarts.ECharts;\n defaultRecord = { id: null, value: null, name: null };\n\n /// LifeCycle Hooks ///\n\n componentDidLoad(): void {\n const chart = echarts.init(this.chartContainer);\n\n this.cacheComputedStyles();\n this.colors = this.getColors();\n\n this.resizeObserver = new ResizeObserver(() => this.resizeChart());\n this.resizeObserver.observe(this.hostElement);\n\n this.updateChart(chart);\n this.setupChartEvents(chart);\n this.checkSelectedId();\n\n this.chart = chart;\n this.selectById(this.selectedId);\n overrideFocus(this.hostElement);\n }\n\n disconnectedCallback() {\n this.resizeObserver = null;\n }\n\n /// Getters ///\n get centerData() {\n const { hoveredId, data } = this;\n const idToDisplay = hoveredId;\n const index = this.getIndexById(idToDisplay);\n\n return idToDisplay\n ? { ...this.getDataById(idToDisplay), color: this.colors[index] }\n : {\n name: loc(this.summaryName || 'tecton.element.chartDonut.button.summaryName'),\n icon: this.summaryIcon,\n value: data.reduce((acc, cur) => acc + cur.value, 0),\n color: null,\n };\n }\n\n /// Helpers\n cacheComputedStyles() {\n this.chartContainerStyles = getComputedStyle(this.chartContainer);\n this.hostElementStyles = getComputedStyle(this.hostElement);\n }\n\n displayValue(value: string | number) {\n const valueAsFloat = parseFloat(value.toString());\n if (isNaN(valueAsFloat)) return;\n\n if (this.format === 'currency') {\n return Intl.NumberFormat('en-US', {\n style: 'currency',\n currency: 'USD',\n }).format(valueAsFloat);\n } else {\n return Intl.NumberFormat('en-US').format(valueAsFloat);\n }\n }\n\n getCSSProperty(name: string) {\n let fallback;\n if (name.startsWith('var(') && name.endsWith(')')) {\n const regExp = /var\\((.*)\\)/g;\n const result = regExp.exec(name);\n const split = result.length >= 2 ? result[1].split(',') : [];\n name = split[0];\n fallback = split[1];\n }\n let result = this.chartContainerStyles.getPropertyValue(name).trim();\n if (!result) result = this.hostElementStyles.getPropertyValue(name).trim();\n return result || fallback;\n }\n\n getIndexById(id: string) {\n return this.data.findIndex(item => item.id === id);\n }\n\n getDataByIndex(index: number) {\n if (typeof index !== 'number') return;\n return this.data[index];\n }\n\n getDataById(id: string) {\n if (!id) return;\n return this.data.find(item => item.id === id);\n }\n\n getColors() {\n const defaultColors = [\n '--comp-color-1',\n '--comp-color-2',\n '--comp-color-3',\n '--comp-color-4',\n '--comp-color-5',\n '--comp-color-6',\n '--comp-color-7',\n '--comp-color-8',\n '--comp-color-9',\n '--comp-color-10',\n '--comp-color-11',\n '--comp-color-12',\n ];\n\n return this.data.reduce((acc, cur) => {\n let color = defaultColors.shift();\n if (cur.color) color = cur.color;\n\n acc.push(this.getCSSProperty(color) || color);\n return acc;\n }, []);\n }\n\n setupChartEvents(chart: echarts.ECharts) {\n chart.on('mouseover', (params: any) => {\n this.hoveredId = params.data.id;\n });\n chart.on('click', params => {\n // Don't emit click event when clicking a chart slice\n params.event.event.stopPropagation();\n });\n chart.on('mouseout', () => {\n this.hoveredId = this.selectedId;\n });\n chart.on('selectchanged', (params: any) => {\n const selectedIndex = params.selected?.[0]?.dataIndex?.[0] ?? null;\n const data =\n typeof selectedIndex === 'number' ? this.getDataByIndex(selectedIndex) : { ...this.defaultRecord };\n\n this.selectedId = data.id;\n this.isInChangeEvent = true;\n this.change.emit(data);\n setTimeout(() => {\n this.isInChangeEvent = false;\n }, 0);\n });\n }\n\n cleanData(data: IDonutChartData[]) {\n const { minSliceSize } = this;\n const minSize = parseFloat(minSliceSize || '2.5%') / 100;\n\n const total = data.reduce((acc, cur) => acc + cur.value, 0);\n const minValue = total * minSize;\n const newData = data.map(item => {\n if (item.value < minValue) return { ...item, value: minValue };\n return item;\n });\n\n return newData;\n }\n\n updateChart(chart: echarts.ECharts) {\n return chart.setOption<EChartsOption>({\n tooltip: {\n show: false,\n },\n legend: {\n show: false,\n },\n aria: {\n enabled: true,\n },\n series: [\n {\n name: this.chartName,\n animationType: 'scale',\n color: this.colors,\n id: 'pie',\n type: 'pie',\n selectedOffset: this.selectedOffset,\n selectedMode: 'single',\n radius: [this.innerRadius, this.outerRadius],\n label: {\n show: false,\n },\n labelLine: {\n show: false,\n },\n itemStyle: {\n borderWidth: 5,\n borderColor: this.getCSSProperty('--comp-background-color'),\n },\n emphasis: {\n scaleSize: this.hoverScaleSize,\n itemStyle: {\n color: 'inherit',\n },\n },\n data: this.cleanData(this.data),\n },\n ],\n });\n }\n\n resizeChart() {\n this.chart.resize();\n }\n\n /// Watchers ///\n @Watch('chartName')\n @Watch('innerRadius')\n @Watch('outerRadius')\n @Watch('minSliceSize')\n @Watch('hoverScaleSize')\n @Watch('selectedOffset')\n @Watch('data')\n propsUpdates() {\n this.updateChart(this.chart);\n }\n\n @Watch('data')\n dataUpdated() {\n this.colors = this.getColors();\n }\n\n @Watch('innerRadius')\n innerRadiusUpdated() {\n const { innerRadius, outerRadius } = this;\n const innerRadiusInt = parseFloat(innerRadius);\n const outerRadiusInt = parseFloat(outerRadius);\n if (innerRadiusInt >= outerRadiusInt) {\n this.innerRadius = `${outerRadiusInt - 15}%`;\n }\n }\n\n @Watch('outerRadius')\n outerRadiusUpdated() {\n const { innerRadius, outerRadius } = this;\n const innerRadiusInt = parseFloat(innerRadius);\n const outerRadiusInt = parseFloat(outerRadius);\n if (outerRadiusInt <= innerRadiusInt) {\n this.outerRadius = `${innerRadiusInt + 15}%`;\n }\n }\n\n @Watch('selectedId')\n // Function to detect and set a data range (category) as selected\n // Logc for when ledgends are present, and can set selectedId when ledgend category is clicked\n // Also can be used by dev to preset\n checkSelectedId() {\n if (!!this.selectedId) {\n this.hoveredId = this.selectedId;\n // Dispatch action only to befired when chart is rendered\n if (this.chart) {\n this.selectById(this.selectedId);\n }\n } else {\n // Dispatch action only to befired when chart is rendered\n if (this.chart) {\n this.chart.dispatchAction({\n type: 'unselect',\n seriesId: 'pie',\n dataIndex: this.getIndexById(this.hoveredId),\n });\n }\n this.hoveredId = null;\n }\n }\n\n /// Listeners ///\n @Listen('focus')\n delegateFocus(event: FocusEvent) {\n if (!isEventFromElement(event, this.hostElement)) return;\n if (!this.isClickable) return;\n this.centerButtonElement?.focus();\n }\n\n /// Methods ///\n @Method()\n async selectById(id: string) {\n const dataIndex = this.getIndexById(id);\n if (dataIndex === -1) return;\n this.chart.dispatchAction({\n type: 'select',\n seriesId: 'pie',\n dataIndex,\n });\n }\n\n @Method()\n async selectByIndex(index: number) {\n const dataIndex = this.data[index] ? index : null;\n if (!dataIndex) return;\n this.chart.dispatchAction({\n type: 'select',\n seriesId: 'pie',\n dataIndex,\n });\n }\n\n @Method()\n async clearSelection() {\n const { selectedId } = this;\n if (!selectedId) return;\n\n this.chart.dispatchAction({\n type: 'unselect',\n seriesId: 'pie',\n dataIndex: this.getIndexById(selectedId),\n });\n }\n\n /// Event Handlers ///\n onClickElsewhere = (event: Event) => {\n event.stopPropagation();\n this.clearSelection();\n };\n\n onButtonKeyUp = (event: KeyboardEvent) => {\n const { selectedId, data } = this;\n let selectedIndex = this.getIndexById(selectedId) || 0;\n switch (event.key) {\n case 'ArrowLeft':\n case 'ArrowUp':\n selectedIndex--;\n if (selectedIndex < 0) selectedIndex = data.length - 1;\n this.chart.dispatchAction({\n type: 'select',\n seriesId: 'pie',\n dataIndex: selectedIndex,\n });\n break;\n\n case 'ArrowRight':\n case 'ArrowDown':\n selectedIndex++;\n if (selectedIndex > data.length - 1) selectedIndex = 0;\n this.chart.dispatchAction({\n type: 'select',\n seriesId: 'pie',\n dataIndex: selectedIndex,\n });\n break;\n\n case 'Escape':\n this.clearSelection();\n break;\n\n default:\n return;\n }\n };\n\n onButtonClick = (event: MouseEvent) => {\n event.stopPropagation();\n\n const { selectedId } = this;\n const data = selectedId ? this.getDataById(selectedId) : { ...this.defaultRecord };\n this.click.emit(data);\n };\n\n onContainerClick = (event: Event) => {\n if (this.isInChangeEvent) return;\n if (!(event.target instanceof HTMLElement)) return;\n this.clearSelection();\n event.stopPropagation();\n };\n\n /// DOM ///\n renderCenterBlock() {\n const { icon, name, value, color } = this.centerData;\n const { isClickable } = this;\n const TagName = isClickable ? 'button' : 'div';\n const displayValue = this.displayValue(value);\n\n const props = isClickable\n ? {\n onKeyUp: this.onButtonKeyUp,\n onClick: this.onButtonClick,\n ref: el => (this.centerButtonElement = el),\n 'aria-description': loc('tecton.element.chartDonut.button.description'),\n 'aria-roledescription': loc('tecton.element.chartDonut.button.roleDescription'),\n }\n : null;\n\n return (\n <div\n class=\"center-card-container\"\n style={{ width: `calc(${this.innerRadius} - 10%)` }}\n >\n <TagName\n class=\"center-card\"\n test-id=\"centerCard\"\n {...props}\n >\n {icon && (\n <q2-icon\n type={icon}\n style={\n color && {\n '--tct-icon-stroke-primary': color,\n '--tct-icon-stroke-secondary': color,\n color,\n }\n }\n ></q2-icon>\n )}\n {name && <div class=\"name\">{name}</div>}\n {value && <div class=\"value\">{displayValue}</div>}\n </TagName>\n </div>\n );\n }\n\n render() {\n return (\n <click-elsewhere onChange={this.onClickElsewhere}>\n <div class=\"container\">\n <div\n ref={el => (this.chartContainer = el)}\n class=\"chart-container\"\n test-id=\"chartContainer\"\n onClick={this.onContainerClick}\n ></div>\n {this.renderCenterBlock()}\n </div>\n </click-elsewhere>\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/q2-chart-donut/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n State,\n Prop,\n h,\n ComponentInterface,\n Element,\n EventEmitter,\n Event,\n Method,\n Watch,\n Listen,\n} from '@stencil/core';\nimport * as echarts from 'echarts/core';\nimport {\n TooltipComponent,\n TooltipComponentOption,\n LegendComponent,\n AriaComponent,\n AriaComponentOption,\n LegendComponentOption,\n} from 'echarts/components';\nimport { PieChart, PieSeriesOption } from 'echarts/charts';\nimport { LabelLayout } from 'echarts/features';\nimport { CanvasRenderer } from 'echarts/renderers';\nimport { isEventFromElement, loc, overrideFocus } from 'src/utils';\nimport { IDonutChartData } from 'q2-tecton-common/lib/types/element-types';\n\necharts.use([TooltipComponent, LegendComponent, PieChart, CanvasRenderer, AriaComponent, LabelLayout]);\ntype EChartsOption = echarts.ComposeOption<\n TooltipComponentOption | LegendComponentOption | AriaComponentOption | PieSeriesOption\n>;\n@Component({\n tag: 'q2-chart-donut',\n shadow: true,\n styleUrl: 'styles.scss',\n})\nexport class Q2ChartDonut implements ComponentInterface {\n @Prop({ reflect: true }) chartName: string;\n @Prop({ reflect: true }) summaryIcon: string;\n @Prop({ reflect: true }) summaryName: string;\n @Prop({ mutable: true }) innerRadius: string = '70%';\n @Prop({ mutable: true }) outerRadius: string = '85%';\n @Prop() minSliceSize: string = '2.5%';\n @Prop() selectedOffset: number = 10;\n @Prop() hoverScaleSize: number = 5;\n @Prop({ reflect: true }) format: 'currency';\n @Prop({ reflect: true }) isClickable: boolean;\n @Prop() data: IDonutChartData[] = [];\n @Prop() selectedId: string;\n\n @Element() hostElement: HTMLElement;\n @Event() change: EventEmitter;\n @Event() click: EventEmitter;\n @State() hoveredId: string;\n isInChangeEvent: boolean;\n chartContainer: HTMLDivElement;\n centerButtonElement: HTMLButtonElement;\n btnElement: HTMLDivElement;\n chartContainerStyles: CSSStyleDeclaration;\n hostElementStyles: CSSStyleDeclaration;\n resizeObserver: ResizeObserver;\n colors: string[];\n chart: echarts.ECharts;\n defaultRecord = { id: null, value: null, name: null };\n\n /// LifeCycle Hooks ///\n\n componentDidLoad(): void {\n const chart = echarts.init(this.chartContainer);\n\n this.cacheComputedStyles();\n this.colors = this.getColors();\n\n this.resizeObserver = new ResizeObserver(() => this.resizeChart());\n this.resizeObserver.observe(this.hostElement);\n\n this.updateChart(chart);\n this.setupChartEvents(chart);\n this.checkSelectedId();\n\n this.chart = chart;\n this.selectById(this.selectedId);\n overrideFocus(this.hostElement);\n }\n\n disconnectedCallback() {\n this.resizeObserver = null;\n }\n\n /// Getters ///\n get centerData() {\n const { hoveredId, data } = this;\n const idToDisplay = hoveredId;\n const index = this.getIndexById(idToDisplay);\n\n return idToDisplay\n ? { ...this.getDataById(idToDisplay), color: this.colors[index] }\n : {\n name: loc(this.summaryName || 'tecton.element.chartDonut.button.summaryName'),\n icon: this.summaryIcon,\n value: data.reduce((acc, cur) => acc + cur.value, 0),\n color: null,\n };\n }\n\n /// Helpers\n cacheComputedStyles() {\n this.chartContainerStyles = getComputedStyle(this.chartContainer);\n this.hostElementStyles = getComputedStyle(this.hostElement);\n }\n\n displayValue(value: string | number) {\n const valueAsFloat = parseFloat(value.toString());\n if (isNaN(valueAsFloat)) return;\n\n if (this.format === 'currency') {\n return Intl.NumberFormat('en-US', {\n style: 'currency',\n currency: 'USD',\n }).format(valueAsFloat);\n } else {\n return Intl.NumberFormat('en-US').format(valueAsFloat);\n }\n }\n\n getCSSProperty(name: string) {\n let fallback;\n if (name.startsWith('var(') && name.endsWith(')')) {\n const regExp = /var\\((.*)\\)/g;\n const result = regExp.exec(name);\n const split = result.length >= 2 ? result[1].split(',') : [];\n name = split[0];\n fallback = split[1];\n }\n let result = this.chartContainerStyles.getPropertyValue(name).trim();\n if (!result) result = this.hostElementStyles.getPropertyValue(name).trim();\n return result || fallback;\n }\n\n getIndexById(id: string) {\n return this.data.findIndex(item => item.id === id);\n }\n\n getDataByIndex(index: number) {\n if (typeof index !== 'number') return;\n return this.data[index];\n }\n\n getDataById(id: string) {\n if (!id) return;\n return this.data.find(item => item.id === id);\n }\n\n getColors() {\n const defaultColors = [\n '--comp-color-1',\n '--comp-color-2',\n '--comp-color-3',\n '--comp-color-4',\n '--comp-color-5',\n '--comp-color-6',\n '--comp-color-7',\n '--comp-color-8',\n '--comp-color-9',\n '--comp-color-10',\n '--comp-color-11',\n '--comp-color-12',\n ];\n\n return this.data.reduce((acc, cur) => {\n let color = defaultColors.shift();\n if (cur.color) color = cur.color;\n\n acc.push(this.getCSSProperty(color) || color);\n return acc;\n }, []);\n }\n\n setupChartEvents(chart: echarts.ECharts) {\n chart.on('mouseover', (params: any) => {\n this.hoveredId = params.data.id;\n });\n chart.on('click', params => {\n // Don't emit click event when clicking a chart slice\n params.event.event.stopPropagation();\n });\n chart.on('mouseout', () => {\n this.hoveredId = this.selectedId;\n });\n chart.on('selectchanged', (params: any) => {\n const selectedIndex = params.selected?.[0]?.dataIndex?.[0] ?? null;\n const data =\n typeof selectedIndex === 'number' ? this.getDataByIndex(selectedIndex) : { ...this.defaultRecord };\n\n this.selectedId = data.id;\n this.isInChangeEvent = true;\n this.change.emit(data);\n setTimeout(() => {\n this.isInChangeEvent = false;\n }, 0);\n });\n }\n\n cleanData(data: IDonutChartData[]) {\n const { minSliceSize } = this;\n const minSize = parseFloat(minSliceSize || '2.5%') / 100;\n\n const total = data.reduce((acc, cur) => acc + cur.value, 0);\n const minValue = total * minSize;\n const newData = data.map(item => {\n if (item.value < minValue) return { ...item, value: minValue };\n return item;\n });\n\n return newData;\n }\n\n updateChart(chart: echarts.ECharts) {\n return chart.setOption<EChartsOption>({\n tooltip: {\n show: false,\n },\n legend: {\n show: false,\n },\n aria: {\n enabled: true,\n },\n series: [\n {\n name: this.chartName,\n animationType: 'scale',\n color: this.colors,\n id: 'pie',\n type: 'pie',\n selectedOffset: this.selectedOffset,\n selectedMode: 'single',\n radius: [this.innerRadius, this.outerRadius],\n label: {\n show: false,\n },\n labelLine: {\n show: false,\n },\n itemStyle: {\n borderWidth: 5,\n borderColor: this.getCSSProperty('--comp-background-color'),\n },\n emphasis: {\n scaleSize: this.hoverScaleSize,\n itemStyle: {\n color: 'inherit',\n },\n },\n data: this.cleanData(this.data),\n },\n ],\n });\n }\n\n resizeChart() {\n this.chart.resize();\n }\n\n /// Watchers ///\n @Watch('chartName')\n @Watch('innerRadius')\n @Watch('outerRadius')\n @Watch('minSliceSize')\n @Watch('hoverScaleSize')\n @Watch('selectedOffset')\n @Watch('data')\n propsUpdates() {\n this.updateChart(this.chart);\n }\n\n @Watch('data')\n dataUpdated() {\n this.colors = this.getColors();\n }\n\n @Watch('innerRadius')\n innerRadiusUpdated() {\n const { innerRadius, outerRadius } = this;\n const innerRadiusInt = parseFloat(innerRadius);\n const outerRadiusInt = parseFloat(outerRadius);\n if (innerRadiusInt >= outerRadiusInt) {\n this.innerRadius = `${outerRadiusInt - 15}%`;\n }\n }\n\n @Watch('outerRadius')\n outerRadiusUpdated() {\n const { innerRadius, outerRadius } = this;\n const innerRadiusInt = parseFloat(innerRadius);\n const outerRadiusInt = parseFloat(outerRadius);\n if (outerRadiusInt <= innerRadiusInt) {\n this.outerRadius = `${innerRadiusInt + 15}%`;\n }\n }\n\n @Watch('selectedId')\n // Function to detect and set a data range (category) as selected\n // Logc for when ledgends are present, and can set selectedId when ledgend category is clicked\n // Also can be used by dev to preset\n checkSelectedId() {\n if (!!this.selectedId) {\n this.hoveredId = this.selectedId;\n // Dispatch action only to befired when chart is rendered\n if (this.chart) {\n this.selectById(this.selectedId);\n }\n } else {\n // Dispatch action only to befired when chart is rendered\n if (this.chart) {\n this.chart.dispatchAction({\n type: 'unselect',\n seriesId: 'pie',\n dataIndex: this.getIndexById(this.hoveredId),\n });\n }\n this.hoveredId = null;\n }\n }\n\n /// Listeners ///\n @Listen('focus')\n delegateFocus(event: FocusEvent) {\n if (!isEventFromElement(event, this.hostElement)) return;\n if (!this.isClickable) return;\n this.centerButtonElement?.focus();\n }\n\n /// Methods ///\n @Method()\n async selectById(id: string) {\n const dataIndex = this.getIndexById(id);\n if (dataIndex === -1) return;\n this.chart.dispatchAction({\n type: 'select',\n seriesId: 'pie',\n dataIndex,\n });\n }\n\n @Method()\n async selectByIndex(index: number) {\n const dataIndex = this.data[index] ? index : null;\n if (!dataIndex) return;\n this.chart.dispatchAction({\n type: 'select',\n seriesId: 'pie',\n dataIndex,\n });\n }\n\n @Method()\n async clearSelection() {\n const { selectedId } = this;\n if (!selectedId) return;\n\n this.chart.dispatchAction({\n type: 'unselect',\n seriesId: 'pie',\n dataIndex: this.getIndexById(selectedId),\n });\n }\n\n /// Event Handlers ///\n onClickElsewhere = (event: Event) => {\n event.stopPropagation();\n this.clearSelection();\n };\n\n onButtonKeyDown = (event: KeyboardEvent) => {\n const { selectedId, data } = this;\n let selectedIndex = this.getIndexById(selectedId) || 0;\n switch (event.key) {\n case 'ArrowUp':\n case 'ArrowDown':\n event.preventDefault();\n break;\n\n case 'ArrowLeft':\n event.preventDefault();\n selectedIndex--;\n if (selectedIndex < 0) selectedIndex = data.length - 1;\n this.chart.dispatchAction({\n type: 'select',\n seriesId: 'pie',\n dataIndex: selectedIndex,\n });\n break;\n\n case 'ArrowRight':\n event.preventDefault();\n selectedIndex++;\n if (selectedIndex > data.length - 1) selectedIndex = 0;\n this.chart.dispatchAction({\n type: 'select',\n seriesId: 'pie',\n dataIndex: selectedIndex,\n });\n break;\n\n case 'Escape':\n this.clearSelection();\n break;\n\n default:\n return;\n }\n };\n\n onButtonClick = (event: MouseEvent) => {\n event.stopPropagation();\n\n const { selectedId } = this;\n const data = selectedId ? this.getDataById(selectedId) : { ...this.defaultRecord };\n this.click.emit(data);\n };\n\n onContainerClick = (event: Event) => {\n if (this.isInChangeEvent) return;\n if (!(event.target instanceof HTMLElement)) return;\n this.clearSelection();\n event.stopPropagation();\n };\n\n /// DOM ///\n renderCenterBlock() {\n const { icon, name, value, color } = this.centerData;\n const { isClickable } = this;\n const TagName = isClickable ? 'button' : 'div';\n const displayValue = this.displayValue(value);\n\n const props = isClickable\n ? {\n onKeyDown: this.onButtonKeyDown,\n onClick: this.onButtonClick,\n ref: el => (this.centerButtonElement = el),\n 'aria-describedby': 'center-card-description',\n 'aria-roledescription': loc('tecton.element.chartDonut.button.roleDescription'),\n }\n : null;\n\n return (\n <div\n class=\"center-card-container\"\n style={{ width: `calc(${this.innerRadius} - 10%)` }}\n >\n {isClickable && (\n <div\n id=\"center-card-description\"\n class=\"sr\"\n >\n {loc('tecton.element.chartDonut.button.description')}\n </div>\n )}\n <TagName\n class=\"center-card\"\n test-id=\"centerCard\"\n {...props}\n >\n {!!icon && (\n <q2-icon\n type={icon}\n style={\n color && {\n '--tct-icon-stroke-primary': color,\n '--tct-icon-stroke-secondary': color,\n color,\n }\n }\n ></q2-icon>\n )}\n {!!name && <div class=\"name\">{name}</div>}\n {!!value && <div class=\"value\">{displayValue}</div>}\n </TagName>\n </div>\n );\n }\n\n render() {\n return (\n <click-elsewhere onChange={this.onClickElsewhere}>\n <div class=\"container\">\n <div\n ref={el => (this.chartContainer = el)}\n class=\"chart-container\"\n test-id=\"chartContainer\"\n onClick={this.onContainerClick}\n ></div>\n {this.renderCenterBlock()}\n </div>\n </click-elsewhere>\n );\n }\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { h } from '@stencil/core';
|
|
1
|
+
import { h, } from '@stencil/core';
|
|
2
2
|
import { createGuid, loc } from 'src/utils';
|
|
3
3
|
export class Q2CheckboxGroup {
|
|
4
4
|
constructor() {
|
|
@@ -10,10 +10,12 @@ export class Q2CheckboxGroup {
|
|
|
10
10
|
this.onInnerCheckboxChange = (event) => {
|
|
11
11
|
event.stopImmediatePropagation();
|
|
12
12
|
const groupValue = {};
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
setTimeout(() => {
|
|
14
|
+
this.checkboxElements.forEach(check => {
|
|
15
|
+
groupValue[check.value] = !!check.checked;
|
|
16
|
+
});
|
|
17
|
+
this.change.emit(groupValue);
|
|
18
|
+
}, 0);
|
|
17
19
|
};
|
|
18
20
|
this.label = undefined;
|
|
19
21
|
this.value = undefined;
|
|
@@ -29,6 +31,9 @@ export class Q2CheckboxGroup {
|
|
|
29
31
|
return this.value || {};
|
|
30
32
|
}
|
|
31
33
|
///// LIFECYCLE HOOK ///////
|
|
34
|
+
componentWillLoad() {
|
|
35
|
+
this.updateReadonly(this.readonly);
|
|
36
|
+
}
|
|
32
37
|
componentDidLoad() {
|
|
33
38
|
const observer = new MutationObserver(this.onMutationObserved);
|
|
34
39
|
observer.observe(this.hostElement, { childList: true });
|
|
@@ -56,6 +61,19 @@ export class Q2CheckboxGroup {
|
|
|
56
61
|
checkbox.groupDisabled = groupDisabled;
|
|
57
62
|
});
|
|
58
63
|
}
|
|
64
|
+
updateReadonly(newReadonly) {
|
|
65
|
+
this.checkboxElements.forEach(checkbox => {
|
|
66
|
+
checkbox.readonly = newReadonly;
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
/// Methods ///
|
|
70
|
+
setValue(values) {
|
|
71
|
+
const valuesSet = new Set(Array.isArray(values) ? values : [values]);
|
|
72
|
+
this.checkboxElements.forEach(check => {
|
|
73
|
+
if (valuesSet.has(check.value))
|
|
74
|
+
check.click();
|
|
75
|
+
});
|
|
76
|
+
}
|
|
59
77
|
onHostElementChange(event) {
|
|
60
78
|
if (event.target === this.hostElement && !this.hostElement.onchange) {
|
|
61
79
|
this.value = event.detail;
|
|
@@ -205,6 +223,25 @@ export class Q2CheckboxGroup {
|
|
|
205
223
|
}
|
|
206
224
|
}];
|
|
207
225
|
}
|
|
226
|
+
static get methods() {
|
|
227
|
+
return {
|
|
228
|
+
"setValue": {
|
|
229
|
+
"complexType": {
|
|
230
|
+
"signature": "(values: string | string[]) => Promise<void>",
|
|
231
|
+
"parameters": [{
|
|
232
|
+
"tags": [],
|
|
233
|
+
"text": ""
|
|
234
|
+
}],
|
|
235
|
+
"references": {},
|
|
236
|
+
"return": "Promise<void>"
|
|
237
|
+
},
|
|
238
|
+
"docs": {
|
|
239
|
+
"text": "",
|
|
240
|
+
"tags": []
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
};
|
|
244
|
+
}
|
|
208
245
|
static get elementRef() { return "hostElement"; }
|
|
209
246
|
static get watchers() {
|
|
210
247
|
return [{
|
|
@@ -213,6 +250,9 @@ export class Q2CheckboxGroup {
|
|
|
213
250
|
}, {
|
|
214
251
|
"propName": "disabled",
|
|
215
252
|
"methodName": "updateDisabled"
|
|
253
|
+
}, {
|
|
254
|
+
"propName": "readonly",
|
|
255
|
+
"methodName": "updateReadonly"
|
|
216
256
|
}];
|
|
217
257
|
}
|
|
218
258
|
static get listeners() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/q2-checkbox-group/index.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/q2-checkbox-group/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Prop,\n Element,\n h,\n Listen,\n EventEmitter,\n Event,\n ComponentInterface,\n Watch,\n Method,\n} from '@stencil/core';\nimport { createGuid, loc } from 'src/utils';\n\n@Component({\n tag: 'q2-checkbox-group',\n shadow: true,\n styleUrl: 'styles.scss',\n})\nexport class Q2CheckboxGroup implements ComponentInterface {\n @Prop({ reflect: true }) label: string;\n @Prop({ mutable: true }) value: object;\n @Prop({ reflect: true }) disabled: boolean = false;\n @Prop({ reflect: true }) readonly: boolean = false;\n @Prop({ reflect: true }) optional: boolean = false;\n @Prop({ reflect: true }) hasError: boolean = false;\n\n @Element() hostElement: HTMLElement;\n _id: string = `checkbox-group-${createGuid()}`;\n mutationObserver: MutationObserver;\n\n get checkboxElements() {\n return Array.from(this.hostElement.querySelectorAll('q2-checkbox')) as HTMLQ2CheckboxElement[];\n }\n\n get protectedValue(): object {\n return this.value || {};\n }\n\n onMutationObserved = () => {\n this.valueUpdated();\n this.updateDisabled();\n };\n\n onInnerCheckboxChange = (event: CustomEvent) => {\n event.stopImmediatePropagation();\n const groupValue = {};\n setTimeout(() => {\n this.checkboxElements.forEach(check => {\n groupValue[check.value] = !!check.checked;\n });\n this.change.emit(groupValue);\n }, 0);\n };\n\n ///// LIFECYCLE HOOK ///////\n\n componentWillLoad() {\n this.updateReadonly(this.readonly);\n }\n\n componentDidLoad() {\n const observer = new MutationObserver(this.onMutationObserved);\n observer.observe(this.hostElement, { childList: true });\n this.mutationObserver = observer;\n this.onMutationObserved();\n }\n\n disconnectedCallback() {\n if (this.mutationObserver) {\n this.mutationObserver.disconnect();\n this.mutationObserver = null;\n }\n }\n\n @Watch('value')\n valueUpdated() {\n if (this.readonly) return;\n this.checkboxElements.forEach(check => {\n if (this.protectedValue.hasOwnProperty(check.value)) {\n check.checked = this.value[check.value];\n }\n });\n }\n\n @Watch('disabled')\n updateDisabled() {\n const groupDisabled = this.disabled;\n this.checkboxElements.forEach(checkbox => {\n checkbox.groupDisabled = groupDisabled;\n });\n }\n\n @Watch('readonly')\n updateReadonly(newReadonly: boolean) {\n this.checkboxElements.forEach(checkbox => {\n checkbox.readonly = newReadonly;\n });\n }\n\n /// Methods ///\n @Method()\n setValue(values: string | string[]) {\n const valuesSet = new Set(Array.isArray(values) ? values : [values]);\n this.checkboxElements.forEach(check => {\n if (valuesSet.has(check.value)) check.click();\n });\n }\n\n ///// HOST ELEMENT EVENTS ///////\n\n @Event() change: EventEmitter;\n\n @Listen('change')\n onHostElementChange(event: CustomEvent) {\n if (event.target === this.hostElement && !this.hostElement.onchange) {\n this.value = event.detail;\n }\n }\n\n render() {\n return (\n <div>\n {this.label || this.optional ? (\n <div class=\"group-legend\">\n {this.label && loc(this.label)}\n {this.optional ? <span class=\"optional-tag\">{loc('tecton.element.input.optional')}</span> : ''}\n </div>\n ) : (\n ''\n )}\n <fieldset\n class={`q2-checkbox-fieldset ${this.hasError ? 'has-error' : ''}`}\n onChange={this.onInnerCheckboxChange}\n aria-invalid={`${this.hasError}`}\n >\n {this.label || this.optional ? (\n <legend class=\"sr-only\">\n {this.label && loc(this.label)}\n {this.optional ? (\n <span class=\"optional-tag\">{loc('tecton.element.input.optional')}</span>\n ) : (\n ''\n )}\n </legend>\n ) : (\n ''\n )}\n {this.hasError ? (\n <div class={`error-icon-container ${this.label || this.optional ? '' : 'no-label'}`}>\n <q2-icon\n class=\"h(4) w(4) mrg-b(2)\"\n type=\"error\"\n ></q2-icon>\n </div>\n ) : (\n ''\n )}\n {this.inputDom()}\n </fieldset>\n </div>\n );\n }\n\n inputDom() {\n return <slot />;\n }\n}\n"]}
|
|
@@ -70,10 +70,10 @@ button {
|
|
|
70
70
|
}
|
|
71
71
|
|
|
72
72
|
.container {
|
|
73
|
-
--comp-cell-padding: var(--tct-table-cell-padding, var(--app-scale-3x, 15px));
|
|
74
|
-
--comp-select-column-width: var(--tct-table-select-column-width, var(--tct-checkbox-size, 20px));
|
|
75
|
-
--comp-dropdown-column-width: var(--tct-table-dropdown-column-width, var(--tct-btn-icon-width, 44px));
|
|
76
|
-
--comp-expandable-row-control-column-width: var(--tct-table-expandable-row-control-column-width, var(--tct-btn-icon-width, 44px));
|
|
73
|
+
--comp-cell-padding: var(--tct-data-table-cell-padding, var(--tct-table-cell-padding, var(--app-scale-3x, 15px)));
|
|
74
|
+
--comp-select-column-width: var(--tct-data-table-select-column-width, var(--tct-table-select-column-width, var(--tct-checkbox-size, 20px)));
|
|
75
|
+
--comp-dropdown-column-width: var(--tct-data-table-dropdown-column-width, var(--tct-table-dropdown-column-width, var(--tct-btn-icon-width, 44px)));
|
|
76
|
+
--comp-expandable-row-control-column-width: var(--tct-data-table-expandable-row-control-column-width, var(--tct-table-expandable-row-control-column-width, var(--tct-btn-icon-width, 44px)));
|
|
77
77
|
overflow: auto;
|
|
78
78
|
--comp-scrollbar-size: var(--tct-scrollbar-size, var(--t-scrollbar-size, var(--app-scale-1x, 5px)));
|
|
79
79
|
--comp-scrollbar-border-radius: var(--tct-scrollbar-border-radius, var(--t-scrollbar-border-radius, var(--app-border-radius-1, 3px)));
|
|
@@ -95,30 +95,30 @@ button {
|
|
|
95
95
|
border-radius: var(--comp-scrollbar-border-radius);
|
|
96
96
|
}
|
|
97
97
|
:host([shadowed]:not([shadowed=false])) .container {
|
|
98
|
-
box-shadow: var(--tct-table-shadow, var(--app-shadow-1, 0 2px 4px rgba(0, 0, 0, 0.3)));
|
|
98
|
+
box-shadow: var(--tct-data-table-shadow, var(--tct-table-shadow, var(--app-shadow-1, 0 2px 4px rgba(0, 0, 0, 0.3))));
|
|
99
99
|
}
|
|
100
100
|
:host([density=compact]) .container {
|
|
101
|
-
--comp-cell-padding: var(--tct-table-cell-padding-compact, var(--app-scale-1x, 5px));
|
|
101
|
+
--comp-cell-padding: var(--tct-data-table-cell-padding-compact, var(--tct-table-cell-padding-compact, var(--app-scale-1x, 5px)));
|
|
102
102
|
}
|
|
103
103
|
:host([density=comfortable]) .container {
|
|
104
|
-
--comp-cell-padding: var(--tct-table-cell-padding-comfortable, var(--app-scale-5x, 25px));
|
|
104
|
+
--comp-cell-padding: var(--tct-data-table-cell-padding-comfortable, var(--tct-table-cell-padding-comfortable, var(--app-scale-5x, 25px)));
|
|
105
105
|
}
|
|
106
106
|
|
|
107
107
|
table {
|
|
108
|
-
table-layout: var(--tct-table-layout, auto);
|
|
108
|
+
table-layout: var(--tct-data-table-layout, var(--tct-table-layout, auto));
|
|
109
109
|
border-collapse: collapse;
|
|
110
110
|
border-spacing: 0;
|
|
111
|
-
width: var(--tct-table-width);
|
|
111
|
+
width: var(--tct-data-table-width, var(--tct-table-width));
|
|
112
112
|
min-width: 100%;
|
|
113
|
-
background: var(--tct-table-background, var(--t-base, #ffffff));
|
|
114
|
-
caption-side: var(--tct-table-caption-side, bottom);
|
|
113
|
+
background: var(--tct-data-table-background, var(--tct-table-background, var(--t-base, #ffffff)));
|
|
114
|
+
caption-side: var(--tct-data-table-caption-side, var(--tct-table-caption-side, bottom));
|
|
115
115
|
}
|
|
116
116
|
|
|
117
117
|
thead {
|
|
118
|
-
border-width: var(--tct-table-header-border-width, 0 0 2px 0);
|
|
119
|
-
border-style: var(--tct-table-header-border-style, solid);
|
|
120
|
-
border-color: var(--tct-table-header-border-color, var(--t-gray-9, #999999));
|
|
121
|
-
background: var(--tct-table-header-background);
|
|
118
|
+
border-width: var(--tct-data-table-header-border-width, var(--tct-table-header-border-width, 0 0 2px 0));
|
|
119
|
+
border-style: var(--tct-data-table-header-border-style, var(--tct-table-header-border-style, solid));
|
|
120
|
+
border-color: var(--tct-data-table-header-border-color, var(--tct-table-header-border-color, var(--t-gray-9, #999999)));
|
|
121
|
+
background: var(--tct-data-table-header-background, var(--tct-table-header-background));
|
|
122
122
|
}
|
|
123
123
|
|
|
124
124
|
col.select-column {
|
|
@@ -146,13 +146,14 @@ th.align-center {
|
|
|
146
146
|
}
|
|
147
147
|
|
|
148
148
|
th .header-content {
|
|
149
|
-
font-weight: var(--tct-table-header-font-weight, 400);
|
|
149
|
+
font-weight: var(--tct-data-table-header-font-weight, var(--tct-table-header-font-weight, 400));
|
|
150
|
+
font-size: var(--tct-data-table-header-font-size, var(--app-font-size, 14px));
|
|
150
151
|
}
|
|
151
152
|
th.sorted .header-content {
|
|
152
|
-
font-weight: var(--tct-table-header-sorted-font-weight, 600);
|
|
153
|
+
font-weight: var(--tct-data-table-header-sorted-font-weight, var(--tct-table-header-sorted-font-weight, 600));
|
|
153
154
|
}
|
|
154
155
|
th .sorted-indicator {
|
|
155
|
-
--comp-header-sortable-icon-size: var(--tct-table-header-sortable-icon-size, var(--app-scale-3x, 15px));
|
|
156
|
+
--comp-header-sortable-icon-size: var(--tct-data-table-header-sortable-icon-size, var(--tct-table-header-sortable-icon-size, var(--app-scale-3x, 15px)));
|
|
156
157
|
--tct-icon-stroke-width: 2;
|
|
157
158
|
width: var(--comp-header-sortable-icon-size);
|
|
158
159
|
height: var(--comp-header-sortable-icon-size);
|
|
@@ -163,7 +164,7 @@ th .sorted-indicator.direction-ASC {
|
|
|
163
164
|
th q2-btn .header-content {
|
|
164
165
|
display: flex;
|
|
165
166
|
align-items: center;
|
|
166
|
-
gap: var(--tct-table-header-content-gap, var(--app-scale-2x, 10px));
|
|
167
|
+
gap: var(--tct-data-table-header-content-gap, var(--tct-table-header-content-gap, var(--app-scale-2x, 10px)));
|
|
167
168
|
}
|
|
168
169
|
|
|
169
170
|
tr.expandable, tr.clickable {
|
|
@@ -174,27 +175,27 @@ tr.expandable:focus, tr.clickable:focus {
|
|
|
174
175
|
box-shadow: none;
|
|
175
176
|
}
|
|
176
177
|
tr.expandable:hover {
|
|
177
|
-
background: var(--tct-table-expandable-row-hover-background, var(--t-gray-14, #f2f2f2));
|
|
178
|
+
background: var(--tct-data-table-expandable-row-hover-background, var(--tct-table-expandable-row-hover-background, var(--t-gray-14, #f2f2f2)));
|
|
178
179
|
}
|
|
179
180
|
tr.clickable:hover {
|
|
180
|
-
background: var(--tct-table-clickable-row-hover-background, var(--t-gray-14, #f2f2f2));
|
|
181
|
+
background: var(--tct-data-table-clickable-row-hover-background, var(--tct-table-clickable-row-hover-background, var(--t-gray-14, #f2f2f2)));
|
|
181
182
|
}
|
|
182
183
|
tr.selected {
|
|
183
|
-
background: var(--tct-table-selected-row-background, var(--t-gray-14, #f2f2f2));
|
|
184
|
+
background: var(--tct-data-table-selected-row-background, var(--tct-table-selected-row-background, var(--t-gray-14, #f2f2f2)));
|
|
184
185
|
}
|
|
185
186
|
tr.expanded {
|
|
186
|
-
background: var(--tct-table-expanded-row-background, var(--t-gray-14, #f2f2f2));
|
|
187
|
+
background: var(--tct-data-table-expanded-row-background, var(--tct-table-expanded-row-background, var(--t-gray-14, #f2f2f2)));
|
|
187
188
|
}
|
|
188
189
|
tr.expanded .toggle-expandable-row {
|
|
189
190
|
transform: rotate(180deg);
|
|
190
191
|
}
|
|
191
192
|
:host([bordered]:not([bordered=false])) tbody tr {
|
|
192
|
-
border-width: var(--tct-table-row-border-width, 0 0 1px 0);
|
|
193
|
-
border-style: var(--tct-table-row-border-style, solid);
|
|
194
|
-
border-color: var(--tct-table-row-border-color, var(--t-gray-9, #999999));
|
|
193
|
+
border-width: var(--tct-data-table-row-border-width, var(--tct-table-row-border-width, 0 0 1px 0));
|
|
194
|
+
border-style: var(--tct-data-table-row-border-style, var(--tct-table-row-border-style, solid));
|
|
195
|
+
border-color: var(--tct-data-table-row-border-color, var(--tct-table-row-border-color, var(--t-gray-9, #999999)));
|
|
195
196
|
}
|
|
196
197
|
tr.loading-row {
|
|
197
|
-
background: var(--tct-table-loading-row-background, var(--t-base, #ffffff));
|
|
198
|
+
background: var(--tct-data-table-loading-row-background, var(--tct-table-loading-row-background, var(--t-base, #ffffff)));
|
|
198
199
|
}
|
|
199
200
|
tr.loading-row td {
|
|
200
201
|
text-align: center;
|
|
@@ -203,7 +204,7 @@ tr.loading-row q2-loading {
|
|
|
203
204
|
font-size: 4em;
|
|
204
205
|
}
|
|
205
206
|
tr.expandable-row {
|
|
206
|
-
background: var(--tct-table-expanded-row-background, var(--t-gray-14, #f2f2f2));
|
|
207
|
+
background: var(--tct-data-table-expanded-row-background, var(--tct-table-expanded-row-background, var(--t-gray-14, #f2f2f2)));
|
|
207
208
|
}
|
|
208
209
|
|
|
209
210
|
td.clamped div {
|
|
@@ -215,24 +216,24 @@ td.clamped div {
|
|
|
215
216
|
}
|
|
216
217
|
td.expandable-row-control-column {
|
|
217
218
|
--tct-btn-icon-hover-bg: transparent;
|
|
218
|
-
padding: var(--tct-table-expandable-row-control-column-padding, 0 var(--app-scale-1x, 5px));
|
|
219
|
+
padding: var(--tct-data-table-expandable-row-control-column-padding, var(--tct-table-expandable-row-control-column-padding, 0 var(--app-scale-1x, 5px)));
|
|
219
220
|
text-align: center;
|
|
220
221
|
}
|
|
221
222
|
td.dropdown-column {
|
|
222
|
-
padding: var(--tct-table-dropdown-column-padding, 0 var(--app-scale-1x, 5px));
|
|
223
|
+
padding: var(--tct-data-table-dropdown-column-padding, var(--tct-table-dropdown-column-padding, 0 var(--app-scale-1x, 5px)));
|
|
223
224
|
text-align: center;
|
|
224
225
|
}
|
|
225
226
|
td.click-column:not(.sr) {
|
|
226
|
-
padding: var(--tct-table-clickable-column-padding, 0 var(--app-scale-1x, 5px));
|
|
227
|
+
padding: var(--tct-data-table-clickable-column-padding, var(--tct-table-clickable-column-padding, 0 var(--app-scale-1x, 5px)));
|
|
227
228
|
text-align: center;
|
|
228
229
|
}
|
|
229
230
|
|
|
230
231
|
caption {
|
|
231
|
-
padding: var(--tct-table-caption-padding, var(--app-scale-2x, 10px));
|
|
232
|
-
font-size: var(--tct-table-caption-font-size, inherit);
|
|
233
|
-
font-weight: var(--tct-table-caption-font-weight, 600);
|
|
234
|
-
text-align: var(--tct-table-caption-text-align, center);
|
|
235
|
-
color: var(--tct-table-caption-color, inherit);
|
|
232
|
+
padding: var(--tct-data-table-caption-padding, var(--tct-table-caption-padding, var(--app-scale-2x, 10px)));
|
|
233
|
+
font-size: var(--tct-data-table-caption-font-size, var(--tct-table-caption-font-size, inherit));
|
|
234
|
+
font-weight: var(--tct-data-table-caption-font-weight, var(--tct-table-caption-font-weight, 600));
|
|
235
|
+
text-align: var(--tct-data-table-caption-text-align, var(--tct-table-caption-text-align, center));
|
|
236
|
+
color: var(--tct-data-table-caption-color, var(--tct-table-caption-color, inherit));
|
|
236
237
|
}
|
|
237
238
|
|
|
238
239
|
q2-checkbox {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { h } from '@stencil/core';
|
|
2
|
-
import { handleAriaLabel, isEventFromElement, loc, overrideFocus } from 'src/utils';
|
|
2
|
+
import { handleAriaLabel, isEventFromElement, loc, overrideFocus, waitForNextPaint } from 'src/utils';
|
|
3
3
|
export class Q2EditableField {
|
|
4
4
|
constructor() {
|
|
5
5
|
this.scheduledAfterRender = [];
|
|
@@ -81,7 +81,7 @@ export class Q2EditableField {
|
|
|
81
81
|
componentDidRender() {
|
|
82
82
|
this.scheduledAfterRender.forEach(fn => fn());
|
|
83
83
|
this.scheduledAfterRender = [];
|
|
84
|
-
this.formattedValue = this.
|
|
84
|
+
this.formattedValue = this.inputElement.formattedValue;
|
|
85
85
|
}
|
|
86
86
|
componentDidLoad() {
|
|
87
87
|
overrideFocus(this.hostElement);
|
|
@@ -95,7 +95,7 @@ export class Q2EditableField {
|
|
|
95
95
|
const hasErrors = errors.length;
|
|
96
96
|
if (isInputFocused || !focusedElement || !editing || !hasErrors)
|
|
97
97
|
return;
|
|
98
|
-
this.
|
|
98
|
+
this.inputElement.focus();
|
|
99
99
|
}
|
|
100
100
|
ariaLabelObserver() {
|
|
101
101
|
handleAriaLabel(this);
|
|
@@ -117,7 +117,7 @@ export class Q2EditableField {
|
|
|
117
117
|
this.value = event.detail.value;
|
|
118
118
|
break;
|
|
119
119
|
case 'cancel':
|
|
120
|
-
this.
|
|
120
|
+
this.inputElement.value = this.value;
|
|
121
121
|
break;
|
|
122
122
|
}
|
|
123
123
|
this.editing = event.detail.editing;
|
|
@@ -127,11 +127,39 @@ export class Q2EditableField {
|
|
|
127
127
|
return;
|
|
128
128
|
this.hostElement.shadowRoot.querySelector(this.editing ? 'q2-input' : 'q2-btn.begin-edit').focus();
|
|
129
129
|
}
|
|
130
|
+
/// Methods ///
|
|
131
|
+
clickEdit() {
|
|
132
|
+
var _a;
|
|
133
|
+
if (this.editing)
|
|
134
|
+
return;
|
|
135
|
+
(_a = this.editBtnElement) === null || _a === void 0 ? void 0 : _a.click();
|
|
136
|
+
}
|
|
137
|
+
clickCancel() {
|
|
138
|
+
var _a;
|
|
139
|
+
if (!this.editing)
|
|
140
|
+
return;
|
|
141
|
+
(_a = this.cancelBtnElement) === null || _a === void 0 ? void 0 : _a.click();
|
|
142
|
+
}
|
|
143
|
+
clickSave() {
|
|
144
|
+
var _a;
|
|
145
|
+
if (!this.editing)
|
|
146
|
+
return;
|
|
147
|
+
(_a = this.saveBtnElement) === null || _a === void 0 ? void 0 : _a.click();
|
|
148
|
+
}
|
|
149
|
+
async setValue(value, options = { clickSave: true }) {
|
|
150
|
+
await this.clickEdit();
|
|
151
|
+
await waitForNextPaint();
|
|
152
|
+
await this.inputElement.setValue(value);
|
|
153
|
+
if (options.clickSave) {
|
|
154
|
+
await this.clickSave();
|
|
155
|
+
await waitForNextPaint();
|
|
156
|
+
}
|
|
157
|
+
}
|
|
130
158
|
render() {
|
|
131
159
|
return (h("div", null, this.generateEditStateDOM(), this.generateReadStateDOM()));
|
|
132
160
|
}
|
|
133
161
|
generateEditStateDOM() {
|
|
134
|
-
return (h("div", { class: this.wrapperClass, hidden: !this.editing }, h("q2-input", { ref: el => (this.
|
|
162
|
+
return (h("div", { class: this.wrapperClass, hidden: !this.editing }, h("q2-input", { ref: el => (this.inputElement = el), label: this.locLabel, hideLabel: this.hideLabel, value: this.value, hints: (Array.isArray(this.hints) && this.hints.map(str => loc(str))) || undefined, errors: (Array.isArray(this.errors) && this.errors.map(str => loc(str))) || undefined, type: this.type, disabled: this.disabled, formatModifier: this.formatModifier, maxlength: this.maxlength, "test-id": "editableInput", onInput: this.inputInput, onChange: this.inputChange, onKeyDown: this.inputKeyDown, onClick: this.inputClick }), h("q2-btn", { ref: el => (this.cancelBtnElement = el), class: "cancel-edit", label: `${loc('tecton.element.editableField.cancel')} ${this.locLabel}`, "hide-label": true, "test-id": "cancelButton", onClick: this.cancelClick }, h("q2-icon", { type: "close" })), h("q2-btn", { ref: el => (this.saveBtnElement = el), class: "save-edit", label: `${loc('tecton.element.editableField.save')} ${this.locLabel}`, "hide-label": true, "test-id": "saveButton", onClick: this.saveClick }, h("q2-icon", { type: "checkmark" }))));
|
|
135
163
|
}
|
|
136
164
|
generateReadStateDOM() {
|
|
137
165
|
if (this.persistentLabel && this.locLabel) {
|
|
@@ -140,7 +168,7 @@ export class Q2EditableField {
|
|
|
140
168
|
return (h("div", { class: this.wrapperClass, hidden: this.editing }, h("div", { class: "text-wrapper" }, this.formattedValue || this.value), this.generateEditBtn()));
|
|
141
169
|
}
|
|
142
170
|
generateEditBtn() {
|
|
143
|
-
return (h("q2-btn", { ref: el => (this.
|
|
171
|
+
return (h("q2-btn", { ref: el => (this.editBtnElement = el), class: "begin-edit", label: `${loc('tecton.element.editableField.edit')} ${this.locLabel}`, "hide-label": true, disabled: this.disabled, "test-id": "editButton", onClick: this.editClick }, h("q2-icon", { type: "edit" })));
|
|
144
172
|
}
|
|
145
173
|
static get is() { return "q2-editable-field"; }
|
|
146
174
|
static get encapsulation() { return "shadow"; }
|
|
@@ -441,6 +469,68 @@ export class Q2EditableField {
|
|
|
441
469
|
}
|
|
442
470
|
}];
|
|
443
471
|
}
|
|
472
|
+
static get methods() {
|
|
473
|
+
return {
|
|
474
|
+
"clickEdit": {
|
|
475
|
+
"complexType": {
|
|
476
|
+
"signature": "() => Promise<void>",
|
|
477
|
+
"parameters": [],
|
|
478
|
+
"references": {},
|
|
479
|
+
"return": "Promise<void>"
|
|
480
|
+
},
|
|
481
|
+
"docs": {
|
|
482
|
+
"text": "",
|
|
483
|
+
"tags": []
|
|
484
|
+
}
|
|
485
|
+
},
|
|
486
|
+
"clickCancel": {
|
|
487
|
+
"complexType": {
|
|
488
|
+
"signature": "() => Promise<void>",
|
|
489
|
+
"parameters": [],
|
|
490
|
+
"references": {},
|
|
491
|
+
"return": "Promise<void>"
|
|
492
|
+
},
|
|
493
|
+
"docs": {
|
|
494
|
+
"text": "",
|
|
495
|
+
"tags": []
|
|
496
|
+
}
|
|
497
|
+
},
|
|
498
|
+
"clickSave": {
|
|
499
|
+
"complexType": {
|
|
500
|
+
"signature": "() => Promise<void>",
|
|
501
|
+
"parameters": [],
|
|
502
|
+
"references": {},
|
|
503
|
+
"return": "Promise<void>"
|
|
504
|
+
},
|
|
505
|
+
"docs": {
|
|
506
|
+
"text": "",
|
|
507
|
+
"tags": []
|
|
508
|
+
}
|
|
509
|
+
},
|
|
510
|
+
"setValue": {
|
|
511
|
+
"complexType": {
|
|
512
|
+
"signature": "(value: string, options?: { clickSave?: boolean; }) => Promise<void>",
|
|
513
|
+
"parameters": [{
|
|
514
|
+
"tags": [],
|
|
515
|
+
"text": ""
|
|
516
|
+
}, {
|
|
517
|
+
"tags": [],
|
|
518
|
+
"text": ""
|
|
519
|
+
}],
|
|
520
|
+
"references": {
|
|
521
|
+
"Promise": {
|
|
522
|
+
"location": "global"
|
|
523
|
+
}
|
|
524
|
+
},
|
|
525
|
+
"return": "Promise<void>"
|
|
526
|
+
},
|
|
527
|
+
"docs": {
|
|
528
|
+
"text": "",
|
|
529
|
+
"tags": []
|
|
530
|
+
}
|
|
531
|
+
}
|
|
532
|
+
};
|
|
533
|
+
}
|
|
444
534
|
static get elementRef() { return "hostElement"; }
|
|
445
535
|
static get watchers() {
|
|
446
536
|
return [{
|