q2-tecton-elements 1.59.0 → 1.60.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 +583 -525
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/q2-badge.q2-btn.q2-icon.q2-input.q2-loading.q2-tab-container.q2-tab-pane.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-badge_7.cjs.entry.js +119 -61
- package/dist/cjs/q2-badge_7.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-calendar.cjs.entry.js +11 -3
- package/dist/cjs/q2-calendar.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-calendar.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-card.cjs.entry.js +1 -1
- package/dist/cjs/q2-card.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-card.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-checkbox-group.cjs.entry.js +1 -1
- package/dist/cjs/q2-checkbox-group.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-checkbox-group.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-checkbox.cjs.entry.js +3 -3
- package/dist/cjs/q2-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-checkbox.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-context.cjs.entry.js +1 -1
- package/dist/cjs/q2-context.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-context.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-data-table.cjs.entry.js +3 -3
- package/dist/cjs/q2-data-table.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-data-table.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-dropdown.cjs.entry.js +5 -3
- package/dist/cjs/q2-dropdown.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-dropdown.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-file-picker.cjs.entry.js +1 -1
- 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-form.cjs.entry.js +4 -4
- package/dist/cjs/q2-form.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-form.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-item.cjs.entry.js +1 -1
- package/dist/cjs/q2-item.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-item.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-loading-element.cjs.entry.js +1 -1
- package/dist/cjs/q2-optgroup.cjs.entry.js +1 -1
- package/dist/cjs/q2-optgroup.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-optgroup.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-option-list.q2-popover.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-option-list_2.cjs.entry.js +1 -1
- package/dist/cjs/q2-option-list_2.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-pill.cjs.entry.js +11 -9
- 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-radio-group.cjs.entry.js +1 -1
- package/dist/cjs/q2-radio-group.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-radio-group.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-radio.cjs.entry.js +1 -1
- package/dist/cjs/q2-radio.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-radio.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-select.cjs.entry.js +9 -4
- 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-vertical.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-stepper-vertical.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-stepper.cjs.entry.js +1 -1
- package/dist/cjs/q2-stepper.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-stepper.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-tag.cjs.entry.js +1 -1
- package/dist/cjs/q2-tag.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-tag.entry.cjs.js.map +1 -1
- package/dist/cjs/q2-tecton-elements.cjs.js +1 -1
- package/dist/cjs/q2-textarea.cjs.entry.js +1 -1
- package/dist/cjs/q2-textarea.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-textarea.entry.cjs.js.map +1 -1
- package/dist/cjs/{shapes-CUFxQAvI.js → shapes-CmBHp0YP.js} +10 -4
- package/dist/cjs/shapes-CmBHp0YP.js.map +1 -0
- package/dist/collection/components/q2-btn/q2-btn.css +71 -33
- package/dist/collection/components/q2-calendar/q2-calendar.js +11 -3
- package/dist/collection/components/q2-calendar/q2-calendar.js.map +1 -1
- package/dist/collection/components/q2-card/q2-card.css +8 -6
- package/dist/collection/components/q2-checkbox/q2-checkbox.css +24 -10
- package/dist/collection/components/q2-checkbox/q2-checkbox.js +2 -2
- package/dist/collection/components/q2-checkbox/q2-checkbox.js.map +1 -1
- package/dist/collection/components/q2-checkbox-group/q2-checkbox-group.css +8 -2
- package/dist/collection/components/q2-context/q2-context.css +7 -71
- package/dist/collection/components/q2-data-table/q2-data-table.css +3 -2
- package/dist/collection/components/q2-data-table/q2-data-table.js +9 -9
- package/dist/collection/components/q2-data-table/q2-data-table.js.map +1 -1
- package/dist/collection/components/q2-dropdown/q2-dropdown.js +5 -3
- package/dist/collection/components/q2-dropdown/q2-dropdown.js.map +1 -1
- package/dist/collection/components/q2-file-picker/q2-file-picker.css +1 -1
- package/dist/collection/components/q2-file-picker/q2-file-picker.js +3 -3
- package/dist/collection/components/q2-form/q2-form.js +2 -2
- package/dist/collection/components/q2-form/q2-form.js.map +1 -1
- package/dist/collection/components/q2-grid/q2-grid.js +30 -30
- package/dist/collection/components/q2-grid-area/q2-grid-area.js +42 -42
- package/dist/collection/components/q2-icon/q2-icon.css +5 -0
- package/dist/collection/components/q2-input/q2-input.css +13 -4
- package/dist/collection/components/q2-input/q2-input.js +18 -8
- package/dist/collection/components/q2-input/q2-input.js.map +1 -1
- package/dist/collection/components/q2-item/q2-item.css +5 -2
- package/dist/collection/components/q2-loading/q2-loading.js +90 -33
- package/dist/collection/components/q2-loading/q2-loading.js.map +1 -1
- package/dist/collection/components/q2-loading/skeleton/shapes.js +8 -2
- package/dist/collection/components/q2-loading/skeleton/shapes.js.map +1 -1
- package/dist/collection/components/q2-optgroup/q2-optgroup.js +3 -3
- package/dist/collection/components/q2-optgroup/q2-optgroup.js.map +1 -1
- package/dist/collection/components/q2-option-list/q2-option-list.js +4 -4
- package/dist/collection/components/q2-pill/q2-pill.css +23 -7
- package/dist/collection/components/q2-pill/q2-pill.js +11 -7
- package/dist/collection/components/q2-pill/q2-pill.js.map +1 -1
- package/dist/collection/components/q2-popover/q2-popover.css +1 -0
- package/dist/collection/components/q2-radio/q2-radio.css +5 -3
- package/dist/collection/components/q2-radio-group/q2-radio-group.css +5 -0
- package/dist/collection/components/q2-select/q2-select.js +9 -4
- package/dist/collection/components/q2-select/q2-select.js.map +1 -1
- package/dist/collection/components/q2-stepper/q2-stepper.css +16 -4
- package/dist/collection/components/q2-stepper-pane/q2-stepper-pane.js +2 -2
- package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.css +2 -0
- package/dist/collection/components/q2-tab-container/q2-tab-container.css +4 -2
- package/dist/collection/components/q2-tab-container/q2-tab-container.js +27 -19
- package/dist/collection/components/q2-tab-container/q2-tab-container.js.map +1 -1
- package/dist/collection/components/q2-tag/q2-tag.css +7 -0
- package/dist/collection/components/q2-textarea/q2-textarea.css +13 -3
- package/dist/components/q2-btn2.js +1 -1
- package/dist/components/q2-btn2.js.map +1 -1
- package/dist/components/q2-calendar.js +11 -3
- package/dist/components/q2-calendar.js.map +1 -1
- package/dist/components/q2-card.js +1 -1
- package/dist/components/q2-card.js.map +1 -1
- package/dist/components/q2-checkbox-group.js +1 -1
- package/dist/components/q2-checkbox-group.js.map +1 -1
- package/dist/components/q2-checkbox2.js +3 -3
- package/dist/components/q2-checkbox2.js.map +1 -1
- package/dist/components/q2-context.js +1 -1
- package/dist/components/q2-context.js.map +1 -1
- package/dist/components/q2-data-table.js +3 -3
- package/dist/components/q2-data-table.js.map +1 -1
- package/dist/components/q2-dropdown.js +5 -3
- package/dist/components/q2-dropdown.js.map +1 -1
- package/dist/components/q2-file-picker.js +1 -1
- package/dist/components/q2-file-picker.js.map +1 -1
- package/dist/components/q2-form.js +4 -4
- package/dist/components/q2-form.js.map +1 -1
- package/dist/components/q2-icon2.js +1 -1
- package/dist/components/q2-icon2.js.map +1 -1
- package/dist/components/q2-input2.js +18 -8
- package/dist/components/q2-input2.js.map +1 -1
- package/dist/components/q2-item2.js +1 -1
- package/dist/components/q2-item2.js.map +1 -1
- package/dist/components/q2-loading2.js +71 -32
- package/dist/components/q2-loading2.js.map +1 -1
- package/dist/components/q2-optgroup2.js +1 -1
- package/dist/components/q2-optgroup2.js.map +1 -1
- package/dist/components/q2-pill.js +13 -10
- package/dist/components/q2-pill.js.map +1 -1
- package/dist/components/q2-popover2.js +1 -1
- package/dist/components/q2-popover2.js.map +1 -1
- package/dist/components/q2-radio-group.js +1 -1
- package/dist/components/q2-radio-group.js.map +1 -1
- package/dist/components/q2-radio.js +1 -1
- package/dist/components/q2-radio.js.map +1 -1
- package/dist/components/q2-select2.js +9 -4
- package/dist/components/q2-select2.js.map +1 -1
- package/dist/components/q2-stepper-vertical.js +1 -1
- package/dist/components/q2-stepper-vertical.js.map +1 -1
- package/dist/components/q2-stepper.js +1 -1
- package/dist/components/q2-stepper.js.map +1 -1
- package/dist/components/q2-tab-container.js +28 -20
- package/dist/components/q2-tab-container.js.map +1 -1
- package/dist/components/q2-tag.js +1 -1
- package/dist/components/q2-tag.js.map +1 -1
- package/dist/components/q2-textarea.js +1 -1
- package/dist/components/q2-textarea.js.map +1 -1
- package/dist/components/shapes.js +8 -2
- package/dist/components/shapes.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/q2-badge.q2-btn.q2-icon.q2-input.q2-loading.q2-tab-container.q2-tab-pane.entry.js.map +1 -1
- package/dist/esm/q2-badge_7.entry.js +119 -61
- package/dist/esm/q2-badge_7.entry.js.map +1 -1
- package/dist/esm/q2-calendar.entry.js +11 -3
- package/dist/esm/q2-calendar.entry.js.map +1 -1
- package/dist/esm/q2-card.entry.js +1 -1
- package/dist/esm/q2-card.entry.js.map +1 -1
- package/dist/esm/q2-checkbox-group.entry.js +1 -1
- package/dist/esm/q2-checkbox-group.entry.js.map +1 -1
- package/dist/esm/q2-checkbox.entry.js +3 -3
- package/dist/esm/q2-checkbox.entry.js.map +1 -1
- package/dist/esm/q2-context.entry.js +1 -1
- package/dist/esm/q2-context.entry.js.map +1 -1
- package/dist/esm/q2-data-table.entry.js +3 -3
- package/dist/esm/q2-data-table.entry.js.map +1 -1
- package/dist/esm/q2-dropdown.entry.js +5 -3
- package/dist/esm/q2-dropdown.entry.js.map +1 -1
- package/dist/esm/q2-file-picker.entry.js +1 -1
- package/dist/esm/q2-file-picker.entry.js.map +1 -1
- package/dist/esm/q2-form.entry.js +4 -4
- package/dist/esm/q2-form.entry.js.map +1 -1
- package/dist/esm/q2-item.entry.js +1 -1
- package/dist/esm/q2-item.entry.js.map +1 -1
- package/dist/esm/q2-loading-element.entry.js +1 -1
- package/dist/esm/q2-optgroup.entry.js +1 -1
- package/dist/esm/q2-optgroup.entry.js.map +1 -1
- package/dist/esm/q2-option-list.q2-popover.entry.js.map +1 -1
- package/dist/esm/q2-option-list_2.entry.js +1 -1
- package/dist/esm/q2-option-list_2.entry.js.map +1 -1
- package/dist/esm/q2-pill.entry.js +11 -9
- 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-group.entry.js.map +1 -1
- package/dist/esm/q2-radio.entry.js +1 -1
- package/dist/esm/q2-radio.entry.js.map +1 -1
- package/dist/esm/q2-select.entry.js +9 -4
- package/dist/esm/q2-select.entry.js.map +1 -1
- package/dist/esm/q2-stepper-vertical.entry.js +1 -1
- package/dist/esm/q2-stepper-vertical.entry.js.map +1 -1
- package/dist/esm/q2-stepper.entry.js +1 -1
- package/dist/esm/q2-stepper.entry.js.map +1 -1
- package/dist/esm/q2-tag.entry.js +1 -1
- package/dist/esm/q2-tag.entry.js.map +1 -1
- package/dist/esm/q2-tecton-elements.js +1 -1
- package/dist/esm/q2-textarea.entry.js +1 -1
- package/dist/esm/q2-textarea.entry.js.map +1 -1
- package/dist/esm/{shapes-BrIjALih.js → shapes-ElQYMSyu.js} +10 -4
- package/dist/esm/shapes-ElQYMSyu.js.map +1 -0
- package/dist/jest.setup.js +33 -0
- package/dist/jest.setup.js.map +1 -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 +1 -1
- package/dist/q2-tecton-elements/q2-badge_7.entry.js +204 -146
- package/dist/q2-tecton-elements/q2-badge_7.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-calendar.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-calendar.entry.js +104 -97
- package/dist/q2-tecton-elements/q2-calendar.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-card.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-card.entry.js +44 -44
- package/dist/q2-tecton-elements/q2-card.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-checkbox-group.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-checkbox-group.entry.js +5 -5
- package/dist/q2-tecton-elements/q2-checkbox-group.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-checkbox.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-checkbox.entry.js +28 -23
- package/dist/q2-tecton-elements/q2-checkbox.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-context.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-context.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-context.entry.js.map +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 +27 -27
- package/dist/q2-tecton-elements/q2-data-table.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-dropdown.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-dropdown.entry.js +18 -17
- package/dist/q2-tecton-elements/q2-dropdown.entry.js.map +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 +1 -1
- package/dist/q2-tecton-elements/q2-file-picker.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-form.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-form.entry.js +2 -2
- package/dist/q2-tecton-elements/q2-form.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-item.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-item.entry.js +8 -8
- package/dist/q2-tecton-elements/q2-loading-element.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-optgroup.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-optgroup.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-optgroup.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-option-list.q2-popover.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-option-list_2.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-option-list_2.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 +39 -37
- package/dist/q2-tecton-elements/q2-pill.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-radio-group.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-radio-group.entry.js +47 -47
- package/dist/q2-tecton-elements/q2-radio-group.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-radio.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-radio.entry.js +16 -16
- package/dist/q2-tecton-elements/q2-radio.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-select.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-select.entry.js +13 -9
- package/dist/q2-tecton-elements/q2-select.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-stepper-vertical.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-stepper-vertical.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-stepper-vertical.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-stepper.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-stepper.entry.js +39 -39
- package/dist/q2-tecton-elements/q2-stepper.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-tag.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-tag.entry.js +38 -38
- package/dist/q2-tecton-elements/q2-tag.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +1 -1
- package/dist/q2-tecton-elements/q2-textarea.entry.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-textarea.entry.js +17 -17
- package/dist/q2-tecton-elements/q2-textarea.entry.js.map +1 -1
- package/dist/q2-tecton-elements/{shapes-BrIjALih.js → shapes-ElQYMSyu.js} +40 -39
- package/dist/q2-tecton-elements/shapes-ElQYMSyu.js.map +1 -0
- package/dist/types/components/q2-form/q2-form.d.ts +1 -1
- package/dist/types/components/q2-input/q2-input.d.ts +2 -0
- package/dist/types/components/q2-loading/q2-loading.d.ts +17 -6
- package/dist/types/components/q2-optgroup/q2-optgroup.d.ts +2 -2
- package/dist/types/components/q2-pill/q2-pill.d.ts +1 -1
- package/dist/types/components/q2-select/q2-select.d.ts +6 -1
- package/dist/types/components/q2-tab-container/q2-tab-container.d.ts +4 -2
- package/dist/types/components.d.ts +14 -4
- package/package.json +4 -3
- package/dist/cjs/shapes-CUFxQAvI.js.map +0 -1
- package/dist/esm/shapes-BrIjALih.js.map +0 -1
- package/dist/q2-tecton-elements/shapes-BrIjALih.js.map +0 -1
- /package/dist/types/{builds → home/gitlab-runner/builds}/q2e/development/tecton/tecton/packages/q2-tecton-elements/.stencil/jest.setup.d.ts +0 -0
|
@@ -78,7 +78,7 @@ button {
|
|
|
78
78
|
display: grid;
|
|
79
79
|
gap: var(--tct-card-gap, var(--t-card-gap, var(--app-scale-3x, 15px)));
|
|
80
80
|
margin: 0;
|
|
81
|
-
color: var(--tct-card-color, var(--t-card-color, var(--t-text, #4d4d4d)));
|
|
81
|
+
color: var(--tct-card-font-color, var(--tct-card-color, var(--t-card-color, var(--t-text, #4d4d4d))));
|
|
82
82
|
backdrop-filter: var(--tct-card-backdrop-filter);
|
|
83
83
|
--comp-avatar-size: var(--tct-card-avatar-size, var(--t-card-avatar-size, 44px));
|
|
84
84
|
--comp-chevron-size: 0;
|
|
@@ -97,11 +97,16 @@ button {
|
|
|
97
97
|
:host([bar][is-static]) .container {
|
|
98
98
|
padding-left: var(--comp-card-padding);
|
|
99
99
|
}
|
|
100
|
+
:host([is-static]:not([is-static=false])) .container {
|
|
101
|
+
background: var(--tct-card-static-background, var(--tct-card-background, var(--t-card-background, var(--t-base, #ffffff))));
|
|
102
|
+
color: var(--tct-card-static-font-color, var(--tct-card-color, var(--t-card-color, var(--t-text, #4d4d4d))));
|
|
103
|
+
}
|
|
100
104
|
:host(:not([is-static])) .container {
|
|
101
105
|
--comp-border-radius: var(--tct-card-border-radius, var(--t-card-border-radius, var(--app-border-radius-1, 4px)));
|
|
102
106
|
--comp-border-width: var(--tct-card-border-width, var(--t-card-border-width, 0px));
|
|
103
107
|
border: none;
|
|
104
108
|
background: var(--tct-card-background, var(--t-card-background, var(--t-base, #ffffff)));
|
|
109
|
+
backdrop-filter: var(--tct-card-backdrop-filter, none);
|
|
105
110
|
padding: var(--comp-card-padding);
|
|
106
111
|
text-decoration: none;
|
|
107
112
|
border-width: var(--comp-border-width);
|
|
@@ -118,16 +123,13 @@ button {
|
|
|
118
123
|
:host(:not([is-static])) .container.clickable {
|
|
119
124
|
--comp-card-hover-box-shadow: var(--tct-card-hover-box-shadow, var(--t-card-hover-box-shadow, var(--app-shadow-3, 0px 0px 2px rgba(0, 0, 0, 0.12), 0px 8px 16px rgba(0, 0, 0, 0.14))));
|
|
120
125
|
}
|
|
121
|
-
:host(:not([is-static])) .container.clickable:
|
|
126
|
+
:host(:not([is-static])) .container.clickable:focus-visible {
|
|
122
127
|
color: var(--tct-card-color, var(--t-card-color, var(--t-text, #4d4d4d)));
|
|
123
|
-
box-shadow: var(--const-double-focus-ring);
|
|
128
|
+
box-shadow: var(--tct-card-focus-visible-box-shadow, var(--const-double-focus-ring));
|
|
124
129
|
}
|
|
125
130
|
:host(:not([is-static])) .container.clickable:hover {
|
|
126
131
|
box-shadow: var(--comp-card-hover-box-shadow);
|
|
127
132
|
}
|
|
128
|
-
:host(:not([is-static])) .container.clickable:focus:hover {
|
|
129
|
-
box-shadow: var(--const-double-focus-ring), var(--comp-card-hover-box-shadow);
|
|
130
|
-
}
|
|
131
133
|
:host(:not([is-static])) .container.clickable:active {
|
|
132
134
|
box-shadow: var(--tct-card-active-box-shadow, var(--t-card-active-box-shadow, var(--app-shadow-1, 0px 0px 2px rgba(0, 0, 0, 0.12), 0px 2px 4px rgba(0, 0, 0, 0.14))));
|
|
133
135
|
}
|
|
@@ -189,36 +189,48 @@ label {
|
|
|
189
189
|
fill: var(--comp-checkbox-outer-fill-color);
|
|
190
190
|
stroke-width: var(--tct-checkbox-outer-stroke-width, var(--t-checkbox-outer-stroke-width, 2));
|
|
191
191
|
flex-shrink: 0;
|
|
192
|
+
box-shadow: var(--tct-checkbox-box-shadow);
|
|
193
|
+
}
|
|
194
|
+
.checkbox-icon rect {
|
|
195
|
+
transition: fill var(--tct-checkbox-tween, var(--app-tween-2, 0.4s ease));
|
|
192
196
|
}
|
|
193
197
|
:host([checked]:not([checked=false]):not([type=favorite])) .checkbox-icon {
|
|
194
198
|
stroke: var(--tct-checkbox-checked-outer-stroke-color, var(--t-checkbox-checked-outer-stroke-color, var(--comp-checkbox-outer-stroke-color)));
|
|
199
|
+
}
|
|
200
|
+
:host([checked]:not([checked=false]):not([type=favorite])) .checkbox-icon rect {
|
|
195
201
|
fill: var(--tct-checkbox-checked-outer-fill-color, var(--t-checkbox-checked-outer-fill-color, var(--comp-checkbox-outer-fill-color)));
|
|
196
202
|
}
|
|
197
203
|
:host([has-error]:not([has-error=false]):not([type=favorite])) .checkbox-icon {
|
|
198
204
|
stroke: var(--tct-checkbox-error-outer-stroke-color, var(--comp-checkbox-error-color));
|
|
205
|
+
box-shadow: var(--tct-checkbox-error-box-shadow, var(--tct-checkbox-box-shadow));
|
|
206
|
+
}
|
|
207
|
+
:host([has-error]:not([has-error=false]):not([type=favorite])) .checkbox-icon rect {
|
|
199
208
|
fill: var(--tct-checkbox-error-outer-fill-color, var(--comp-checkbox-outer-fill-color));
|
|
200
|
-
box-shadow: var(--tct-checkbox-error-box-shadow);
|
|
201
209
|
}
|
|
202
210
|
:host(:hover:not([type=favorite])) .checkbox-icon {
|
|
203
211
|
stroke: var(--tct-checkbox-hover-outer-stroke-color, var(--comp-checkbox-outer-stroke-color));
|
|
212
|
+
box-shadow: var(--tct-checkbox-hover-box-shadow, var(--tct-checkbox-box-shadow));
|
|
213
|
+
}
|
|
214
|
+
:host(:hover:not([type=favorite])) .checkbox-icon rect {
|
|
204
215
|
fill: var(--tct-checkbox-hover-outer-fill-color, var(--comp-checkbox-outer-fill-color));
|
|
205
|
-
box-shadow: var(--tct-checkbox-hover-box-shadow);
|
|
206
216
|
}
|
|
207
217
|
:host(:hover[has-error]:not([has-error=false]):not([type=favorite])) .checkbox-icon {
|
|
208
218
|
stroke: var(--tct-checkbox-error-hover-outer-stroke-color, var(--tct-checkbox-error-outer-stroke-color, var(--comp-checkbox-error-color)));
|
|
219
|
+
box-shadow: var(--tct-checkbox-error-hover-box-shadow, var(--tct-checkbox-error-box-shadow, var(--tct-checkbox-hover-box-shadow, var(--tct-checkbox-box-shadow))));
|
|
220
|
+
}
|
|
221
|
+
:host(:hover[has-error]:not([has-error=false]):not([type=favorite])) .checkbox-icon rect {
|
|
209
222
|
fill: var(--tct-checkbox-error-hover-outer-fill-color, var(--tct-checkbox-error-outer-fill-color, var(--comp-checkbox-outer-fill-color)));
|
|
210
|
-
box-shadow: var(--tct-checkbox-error-hover-box-shadow, var(--tct-checkbox-error-box-shadow, var(--tct-checkbox-hover-box-shadow)));
|
|
211
223
|
}
|
|
212
224
|
:host(:focus-within:not([type=favorite])) .checkbox-icon {
|
|
213
225
|
--comp-checkbox-focused-box-shadow: var(--const-double-focus-ring), var(--tct-global-focus, 0 0 0 2px #33b4ff);
|
|
214
226
|
stroke: var(--tct-checkbox-focused-outer-stroke-color, var(--t-checkbox-focused-outer-stroke-color, var(--comp-checkbox-checked-color)));
|
|
215
227
|
fill: var(--tct-checkbox-focused-outer-fill-color, var(--comp-checkbox-outer-fill-color));
|
|
216
|
-
box-shadow: var(--comp-checkbox-focused-box-shadow);
|
|
228
|
+
box-shadow: var(--tct-checkbox-focused-box-shadow, var(--tct-checkbox-box-shadow, var(--comp-checkbox-focused-box-shadow)));
|
|
217
229
|
}
|
|
218
230
|
:host(:focus-within[has-error]:not([has-error=false]):not([type=favorite])) .checkbox-icon {
|
|
219
231
|
stroke: var(--tct-checkbox-error-focused-outer-stroke-color, var(--tct-checkbox-error-outer-stroke-color, var(--comp-checkbox-error-color)));
|
|
220
232
|
fill: var(--tct-checkbox-error-focused-outer-fill-color, var(--tct-checkbox-error-outer-fill-color, var(--comp-checkbox-outer-fill-color)));
|
|
221
|
-
box-shadow: var(--tct-checkbox-error-focused-box-shadow, var(--tct-checkbox-error-box-shadow, var(--comp-checkbox-focused-box-shadow)));
|
|
233
|
+
box-shadow: var(--tct-checkbox-error-focused-box-shadow, var(--tct-checkbox-error-box-shadow, var(--tct-checkbox-box-shadow, var(--comp-checkbox-focused-box-shadow))));
|
|
222
234
|
}
|
|
223
235
|
:host([type=favorite]) .checkbox-icon {
|
|
224
236
|
--tct-icon-stroke-width: var(--tct-checkbox-favorite-stroke-width, var(--t-checkbox-favorite-stroke-width, 1));
|
|
@@ -288,11 +300,12 @@ label {
|
|
|
288
300
|
}
|
|
289
301
|
|
|
290
302
|
.toggle-track {
|
|
303
|
+
--comp-default-track-box-shadow: inset 0 0 0 1px var(--comp-checkbox-toggle-color);
|
|
291
304
|
height: 24px;
|
|
292
305
|
width: 38px;
|
|
293
|
-
fill: transparent;
|
|
306
|
+
fill: var(--tct-checkbox-toggle-track-color, transparent);
|
|
294
307
|
border-radius: var(--app-border-radius-3, 12px);
|
|
295
|
-
box-shadow:
|
|
308
|
+
box-shadow: var(--tct-checkbox-toggle-track-box-shadow, var(--comp-default-track-box-shadow));
|
|
296
309
|
transition: fill var(--comp-checkbox-tween), box-shadow var(--comp-checkbox-tween);
|
|
297
310
|
}
|
|
298
311
|
|
|
@@ -311,7 +324,8 @@ label {
|
|
|
311
324
|
|
|
312
325
|
:host(:is(:not([checked]), [checked=false])):host(:is(:not([disabled]), [disabled=false]):is(:not([group-disabled]), [group-disabled=false])) :hover .toggle-track,
|
|
313
326
|
:host(:is(:not([checked]), [checked=false])):host(:is(:not([disabled]), [disabled=false]):is(:not([group-disabled]), [group-disabled=false])) :focus-within .toggle-track {
|
|
314
|
-
box-shadow: inset 0 0 0 2px var(--comp-checkbox-toggle-color);
|
|
327
|
+
--comp-default-hover-track-box-shadow: inset 0 0 0 2px var(--comp-checkbox-toggle-color);
|
|
328
|
+
box-shadow: var(--tct-checkbox-toggle-hover-track-box-shadow, var(--comp-default-hover-track-box-shadow));
|
|
315
329
|
}
|
|
316
330
|
:host(:is(:not([checked]), [checked=false])):host(:is(:not([disabled]), [disabled=false]):is(:not([group-disabled]), [group-disabled=false])) :hover .toggle-indicator,
|
|
317
331
|
:host(:is(:not([checked]), [checked=false])):host(:is(:not([disabled]), [disabled=false]):is(:not([group-disabled]), [group-disabled=false])) :focus-within .toggle-indicator {
|
|
@@ -346,11 +360,11 @@ label {
|
|
|
346
360
|
:host([checked]:not([checked=false])) .toggle-indicator {
|
|
347
361
|
left: 18px;
|
|
348
362
|
}
|
|
349
|
-
:host([checked]:not([checked=false]))
|
|
363
|
+
:host([checked]:not([checked=false])) .toggle-track {
|
|
350
364
|
fill: var(--tct-checkbox-toggle-checked-track-color, var(--t-primary, #6a4a9e));
|
|
351
365
|
border: none;
|
|
352
366
|
}
|
|
353
|
-
:host([checked]:not([checked=false]))
|
|
367
|
+
:host([checked]:not([checked=false])) .toggle-circle {
|
|
354
368
|
mask: url(#checkMask);
|
|
355
369
|
fill: var(--tct-checkbox-toggle-checked-circle-color, var(--t-base, #ffffff));
|
|
356
370
|
}
|
|
@@ -80,13 +80,13 @@ export class Q2Checkbox {
|
|
|
80
80
|
return (h("polyline", { class: "checkbox-fill checked-fill", points: "5 11 8.5 14.5 15 6" }));
|
|
81
81
|
}
|
|
82
82
|
renderToggleSVG() {
|
|
83
|
-
return (h("div", { class: "toggle-svg-container" }, h("svg", { "aria-hidden": "true", focusable: "false", viewBox: "0 0 38 24", class: "toggle-track", "test-id": "toggleTrack" }, h("defs", null, h("mask", { id: "xMask" }, h("rect", { width: "18", height: "18", fill: "white" }), h("line", { class: "toggle-icon", x1: "6.5", y1: "6.5", x2: "11.5", y2: "11.5" }), h("line", { class: "toggle-icon", x1: "6.5", y1: "11.5", x2: "11.5", y2: "6.5" })), h("mask", { id: "checkMask" }, h("rect", { width: "18", height: "18", fill: "white" }), h("polyline", { class: "toggle-icon", points: "6,8.5 8.5,11 12.5,6.5", fill: "none" }))), h("
|
|
83
|
+
return (h("div", { class: "toggle-svg-container" }, h("svg", { "aria-hidden": "true", focusable: "false", viewBox: "0 0 38 24", class: "toggle-track", "test-id": "toggleTrack" }, h("rect", { width: "38", height: "24", rx: "12" })), h("svg", { "aria-hidden": "true", focusable: "false", viewBox: "0 0 18 18", class: "toggle-indicator", "test-id": "toggleIndicator" }, h("defs", null, h("mask", { id: "xMask", maskUnits: "userSpaceOnUse" }, h("rect", { width: "18", height: "18", fill: "white" }), h("line", { class: "toggle-icon", x1: "6.5", y1: "6.5", x2: "11.5", y2: "11.5", stroke: "black", "stroke-width": "2" }), h("line", { class: "toggle-icon", x1: "6.5", y1: "11.5", x2: "11.5", y2: "6.5", stroke: "black", "stroke-width": "2" })), h("mask", { id: "checkMask" }, h("rect", { width: "18", height: "18", fill: "white" }), h("polyline", { class: "toggle-icon", points: "6,8.5 8.5,11 12.5,6.5", fill: "none" }))), h("circle", { class: "toggle-circle", cx: "9", cy: "9", r: "9", mask: "url(#xMask)" }))));
|
|
84
84
|
}
|
|
85
85
|
render() {
|
|
86
86
|
const textLabelClasses = ['label-text'];
|
|
87
87
|
if (this.hideLabel)
|
|
88
88
|
textLabelClasses.push('sr');
|
|
89
|
-
return (h("div", { key: '
|
|
89
|
+
return (h("div", { key: '8465026ca4e85c09098832ad9f24a44e837de859', class: "container" }, h("input", { key: '428a6605cdef65840decdd2397c7fbb7e325ce5a', ref: el => (this.inputElement = el), "aria-describedby": this.description ? 'description' : undefined, "aria-invalid": this.hasError === undefined ? undefined : `${this.hasError}`, checked: this.indeterminate || this.checked || false, class: "sr", disabled: !!this.disabled || !!this.groupDisabled, id: this._id, name: this.name || this._id, onClick: this.onInputClick, "test-id": "q2CheckboxInnerCheckBox", type: "checkbox", value: this.value }), h("label", { key: 'a325ada8e89c0c1079c5904449b67091127f0205', htmlFor: this._id, class: "label-control", "test-id": "checkboxButton", "aria-label": loc(this.label) }, this.renderCheckboxSVG()), h("div", { key: 'e5c851632c21e9ee6740aa216dfa2888a80e373c', class: textLabelClasses.join(' ') }, h("label", { key: 'e99331d0b4d936ece5c3d1a6e7095858c084d77f', "test-id": "checkboxLabel", htmlFor: this._id, "aria-hidden": "true" }, h("div", { key: '290e1b6975622a1ccbed492706468308797b38c3' }, loc(this.label), h("slot", { key: 'eadde083ef8baafefbfa10e2f71d0baf06e4e545' })))), this.description && (h("div", { key: 'cf5e7088d98acf5327468bbf6add8bdea0d8332d', class: "description-text", "test-id": "checkboxDescription", id: "description" }, loc(this.description)))));
|
|
90
90
|
}
|
|
91
91
|
static get is() { return "q2-checkbox"; }
|
|
92
92
|
static get encapsulation() { return "shadow"; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"q2-checkbox.js","sourceRoot":"","sources":["../../../../src/components/q2-checkbox/q2-checkbox.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, ComponentInterface, Prop, Element, Listen, Watch, Event, EventEmitter, h } from '@stencil/core';\nimport { createGuid, handleAriaLabel, isEventFromElement, loc, overrideFocus } from 'src/utils';\n\n@Component({ tag: 'q2-checkbox', shadow: true, styleUrl: 'q2-checkbox.scss' })\nexport class Q2Checkbox implements ComponentInterface {\n // #region Own Properties\n\n _id: string = `checkbox-${createGuid()}`;\n inputElement: HTMLInputElement;\n\n // #endregion\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region Public Property API\n\n /** Determine which side of the label the checkbox will render on. */\n @Prop({ reflect: true })\n alignment: string;\n\n /** @deprecated */\n @Prop({ reflect: true, mutable: true })\n ariaLabel: string;\n\n /** The state of the checkbox. This modifies the visual appearance of the element. */\n @Prop({ reflect: true, mutable: true })\n checked: boolean = false;\n\n /**\n * Populates a description that is displayed beneath the label.\n * @localizable\n */\n @Prop({ reflect: true })\n description: string;\n\n /** Disables the checkbox and prevents interaction. */\n @Prop({ reflect: true })\n disabled: boolean;\n\n /**\n * Used by q2-checkbox-group to disable all checkboxes in the group\n * @private\n */\n @Prop({ reflect: true })\n groupDisabled: boolean;\n\n /** Determines if the component should display in an errant state. */\n @Prop({ reflect: true })\n hasError: boolean = false;\n\n /**\n * Hide's the field's `<label>` element from view.\n *\n * @warning\n * Only use when a visible label is impractical.\n */\n @Prop({ reflect: true, mutable: true })\n hideLabel: boolean;\n\n /**\n * Used on a parent checkbox in a checkbox group (e.g. \"Select All\") to indicate that some, but not all, checkboxes in a group are checked.\n *\n * When `true`, the \"indeterminate\" selection style is applied.\n * To apply the standard \"checked\" selection style, `checked` must be true, and `indeterminate` must be `false`.\n */\n @Prop({ reflect: true })\n indeterminate: boolean;\n\n /**\n * The visible label text for the checkbox. Appears to the right of the box for 'default' and 'favorite' checkboxes, and to the left for 'toggle' checkboxes.\n * Yielded content will be adjacent to this text.\n * @localizable\n */\n @Prop({ reflect: true, mutable: true })\n label: string;\n\n /** A static string used to establish a symbolic relationship between checkboxes. */\n @Prop({ reflect: true })\n name: string;\n\n /** The field is not interactive, but remains focusable. */\n @Prop({ reflect: true })\n readonly: boolean;\n\n /** The field is not interactive, but remains focusable. */\n @Prop({ reflect: true })\n slotReadonly: boolean;\n\n /** The visual style of the checkbox. This does not need to be defined for a standard checkbox. */\n @Prop({ reflect: true })\n type: 'favorite' | 'toggle';\n\n /** A static reference value for the checkbox. */\n @Prop({ reflect: true })\n value: string;\n\n // #endregion\n // #region Events\n\n /**\n * Emitted when the checkbox is toggled.\n * @legacyEvent\n */\n @Event()\n change: EventEmitter<{ value: string; checked: boolean }>;\n\n // #endregion\n // #region Component Lifecycle Events\n\n componentWillLoad() {\n handleAriaLabel(this);\n }\n\n componentDidLoad(): void {\n overrideFocus(this.hostElement);\n this.hostElement.click = () => this.inputElement.click();\n }\n\n // #endregion\n // #region Listeners\n\n @Listen('change')\n defaultChangeHandler(event: CustomEvent) {\n // We use setTimeout to give an opportunity to call preventDefault\n setTimeout(() => this.handleChangeEvent(event), 0);\n }\n\n @Listen('focus')\n delegateFocus(event: FocusEvent) {\n if (!isEventFromElement(event, this.hostElement)) return;\n this.hostElement.shadowRoot.querySelector('input').focus();\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('ariaLabel')\n ariaLabelObserver() {\n handleAriaLabel(this);\n }\n\n // #endregion\n // #region Local Methods\n\n handleChangeEvent(event: CustomEvent<{ checked: boolean; value: string }>) {\n if (\n this.readonly ||\n this.disabled ||\n this.hostElement.onchange ||\n event.defaultPrevented ||\n event.target !== this.hostElement ||\n !event.detail\n ) {\n return;\n }\n this.checked = event.detail.checked;\n }\n\n onInputClick = (event: Event) => {\n event.stopPropagation();\n event.preventDefault();\n\n const isNotInteractive = this.disabled || this.readonly || this.slotReadonly;\n if (isNotInteractive) return;\n if (!(event.target instanceof HTMLInputElement)) return;\n const { value, checked } = event.target;\n\n this.change.emit({\n value,\n checked,\n });\n this.inputElement.focus();\n };\n\n // #endregion\n // #region Render Methods\n\n renderCheckboxSVG() {\n if (this.type === 'favorite') {\n return (\n <q2-icon\n type=\"star\"\n class=\"checkbox-icon\"\n />\n );\n }\n\n if (this.type === 'toggle') {\n return this.renderToggleSVG();\n }\n\n return (\n <svg\n aria-hidden=\"true\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n class=\"checkbox-icon\"\n focusable=\"false\"\n >\n <rect\n x=\"1\"\n y=\"1\"\n width=\"18\"\n height=\"18\"\n rx=\"3\"\n />\n {(this.checked || this.indeterminate) && this.renderCheckBoxSVGFill()}\n </svg>\n );\n }\n\n renderCheckBoxSVGFill() {\n if (this.indeterminate) {\n return (\n <line\n class=\"checkbox-fill indeterminate-fill\"\n x1=\"4\"\n y1=\"10\"\n x2=\"16\"\n y2=\"10\"\n />\n );\n }\n return (\n <polyline\n class=\"checkbox-fill checked-fill\"\n points=\"5 11 8.5 14.5 15 6\"\n />\n );\n }\n\n renderToggleSVG() {\n return (\n <div class=\"toggle-svg-container\">\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n viewBox=\"0 0 38 24\"\n class=\"toggle-track\"\n test-id=\"toggleTrack\"\n >\n <defs>\n {/* Mask for the X icon */}\n <mask id=\"xMask\">\n <rect\n width=\"18\"\n height=\"18\"\n fill=\"white\"\n />\n <line\n class=\"toggle-icon\"\n x1=\"6.5\"\n y1=\"6.5\"\n x2=\"11.5\"\n y2=\"11.5\"\n />\n <line\n class=\"toggle-icon\"\n x1=\"6.5\"\n y1=\"11.5\"\n x2=\"11.5\"\n y2=\"6.5\"\n />\n </mask>\n\n {/* Mask for the checkmark icon */}\n <mask id=\"checkMask\">\n <rect\n width=\"18\"\n height=\"18\"\n fill=\"white\"\n />\n <polyline\n class=\"toggle-icon\"\n points=\"6,8.5 8.5,11 12.5,6.5\"\n fill=\"none\"\n />\n </mask>\n </defs>\n <rect\n width=\"38\"\n height=\"24\"\n rx=\"12\"\n />\n </svg>\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n viewBox=\"0 0 18 18\"\n class=\"toggle-indicator\"\n test-id=\"toggleIndicator\"\n >\n <circle\n class=\"toggle-circle\"\n cx=\"9\"\n cy=\"9\"\n r=\"9\"\n mask=\"url(#xMask)\"\n />\n </svg>\n </div>\n );\n }\n\n render() {\n const textLabelClasses = ['label-text'];\n if (this.hideLabel) textLabelClasses.push('sr');\n return (\n <div class=\"container\">\n <input\n ref={el => (this.inputElement = el)}\n aria-describedby={this.description ? 'description' : undefined}\n aria-invalid={this.hasError === undefined ? undefined : `${this.hasError}`}\n checked={this.indeterminate || this.checked || false}\n class=\"sr\"\n disabled={!!this.disabled || !!this.groupDisabled}\n id={this._id}\n name={this.name || this._id}\n onClick={this.onInputClick}\n test-id=\"q2CheckboxInnerCheckBox\"\n type=\"checkbox\"\n value={this.value}\n />\n <label\n htmlFor={this._id}\n class=\"label-control\"\n test-id=\"checkboxButton\"\n aria-label={loc(this.label)}\n >\n {this.renderCheckboxSVG()}\n </label>\n <div class={textLabelClasses.join(' ')}>\n <label\n test-id=\"checkboxLabel\"\n htmlFor={this._id}\n aria-hidden=\"true\"\n >\n <div>\n {loc(this.label)}\n <slot />\n </div>\n </label>\n </div>\n {this.description && (\n <div\n class=\"description-text\"\n test-id=\"checkboxDescription\"\n id=\"description\"\n >\n {loc(this.description)}\n </div>\n )}\n </div>\n );\n }\n\n // #endregion\n}\n"]}
|
|
1
|
+
{"version":3,"file":"q2-checkbox.js","sourceRoot":"","sources":["../../../../src/components/q2-checkbox/q2-checkbox.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, ComponentInterface, Prop, Element, Listen, Watch, Event, EventEmitter, h } from '@stencil/core';\nimport { createGuid, handleAriaLabel, isEventFromElement, loc, overrideFocus } from 'src/utils';\n\n@Component({ tag: 'q2-checkbox', shadow: true, styleUrl: 'q2-checkbox.scss' })\nexport class Q2Checkbox implements ComponentInterface {\n // #region Own Properties\n\n _id: string = `checkbox-${createGuid()}`;\n inputElement: HTMLInputElement;\n\n // #endregion\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region Public Property API\n\n /** Determine which side of the label the checkbox will render on. */\n @Prop({ reflect: true })\n alignment: string;\n\n /** @deprecated */\n @Prop({ reflect: true, mutable: true })\n ariaLabel: string;\n\n /** The state of the checkbox. This modifies the visual appearance of the element. */\n @Prop({ reflect: true, mutable: true })\n checked: boolean = false;\n\n /**\n * Populates a description that is displayed beneath the label.\n * @localizable\n */\n @Prop({ reflect: true })\n description: string;\n\n /** Disables the checkbox and prevents interaction. */\n @Prop({ reflect: true })\n disabled: boolean;\n\n /**\n * Used by q2-checkbox-group to disable all checkboxes in the group\n * @private\n */\n @Prop({ reflect: true })\n groupDisabled: boolean;\n\n /** Determines if the component should display in an errant state. */\n @Prop({ reflect: true })\n hasError: boolean = false;\n\n /**\n * Hide's the field's `<label>` element from view.\n *\n * @warning\n * Only use when a visible label is impractical.\n */\n @Prop({ reflect: true, mutable: true })\n hideLabel: boolean;\n\n /**\n * Used on a parent checkbox in a checkbox group (e.g. \"Select All\") to indicate that some, but not all, checkboxes in a group are checked.\n *\n * When `true`, the \"indeterminate\" selection style is applied.\n * To apply the standard \"checked\" selection style, `checked` must be true, and `indeterminate` must be `false`.\n */\n @Prop({ reflect: true })\n indeterminate: boolean;\n\n /**\n * The visible label text for the checkbox. Appears to the right of the box for 'default' and 'favorite' checkboxes, and to the left for 'toggle' checkboxes.\n * Yielded content will be adjacent to this text.\n * @localizable\n */\n @Prop({ reflect: true, mutable: true })\n label: string;\n\n /** A static string used to establish a symbolic relationship between checkboxes. */\n @Prop({ reflect: true })\n name: string;\n\n /** The field is not interactive, but remains focusable. */\n @Prop({ reflect: true })\n readonly: boolean;\n\n /** The field is not interactive, but remains focusable. */\n @Prop({ reflect: true })\n slotReadonly: boolean;\n\n /** The visual style of the checkbox. This does not need to be defined for a standard checkbox. */\n @Prop({ reflect: true })\n type: 'favorite' | 'toggle';\n\n /** A static reference value for the checkbox. */\n @Prop({ reflect: true })\n value: string;\n\n // #endregion\n // #region Events\n\n /**\n * Emitted when the checkbox is toggled.\n * @legacyEvent\n */\n @Event()\n change: EventEmitter<{ value: string; checked: boolean }>;\n\n // #endregion\n // #region Component Lifecycle Events\n\n componentWillLoad() {\n handleAriaLabel(this);\n }\n\n componentDidLoad(): void {\n overrideFocus(this.hostElement);\n this.hostElement.click = () => this.inputElement.click();\n }\n\n // #endregion\n // #region Listeners\n\n @Listen('change')\n defaultChangeHandler(event: CustomEvent) {\n // We use setTimeout to give an opportunity to call preventDefault\n setTimeout(() => this.handleChangeEvent(event), 0);\n }\n\n @Listen('focus')\n delegateFocus(event: FocusEvent) {\n if (!isEventFromElement(event, this.hostElement)) return;\n this.hostElement.shadowRoot.querySelector('input').focus();\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('ariaLabel')\n ariaLabelObserver() {\n handleAriaLabel(this);\n }\n\n // #endregion\n // #region Local Methods\n\n handleChangeEvent(event: CustomEvent<{ checked: boolean; value: string }>) {\n if (\n this.readonly ||\n this.disabled ||\n this.hostElement.onchange ||\n event.defaultPrevented ||\n event.target !== this.hostElement ||\n !event.detail\n ) {\n return;\n }\n this.checked = event.detail.checked;\n }\n\n onInputClick = (event: Event) => {\n event.stopPropagation();\n event.preventDefault();\n\n const isNotInteractive = this.disabled || this.readonly || this.slotReadonly;\n if (isNotInteractive) return;\n if (!(event.target instanceof HTMLInputElement)) return;\n const { value, checked } = event.target;\n\n this.change.emit({\n value,\n checked,\n });\n this.inputElement.focus();\n };\n\n // #endregion\n // #region Render Methods\n\n renderCheckboxSVG() {\n if (this.type === 'favorite') {\n return (\n <q2-icon\n type=\"star\"\n class=\"checkbox-icon\"\n />\n );\n }\n\n if (this.type === 'toggle') {\n return this.renderToggleSVG();\n }\n\n return (\n <svg\n aria-hidden=\"true\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n class=\"checkbox-icon\"\n focusable=\"false\"\n >\n <rect\n x=\"1\"\n y=\"1\"\n width=\"18\"\n height=\"18\"\n rx=\"3\"\n />\n {(this.checked || this.indeterminate) && this.renderCheckBoxSVGFill()}\n </svg>\n );\n }\n\n renderCheckBoxSVGFill() {\n if (this.indeterminate) {\n return (\n <line\n class=\"checkbox-fill indeterminate-fill\"\n x1=\"4\"\n y1=\"10\"\n x2=\"16\"\n y2=\"10\"\n />\n );\n }\n return (\n <polyline\n class=\"checkbox-fill checked-fill\"\n points=\"5 11 8.5 14.5 15 6\"\n />\n );\n }\n\n renderToggleSVG() {\n return (\n <div class=\"toggle-svg-container\">\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n viewBox=\"0 0 38 24\"\n class=\"toggle-track\"\n test-id=\"toggleTrack\"\n >\n <rect\n width=\"38\"\n height=\"24\"\n rx=\"12\"\n ></rect>\n </svg>\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n viewBox=\"0 0 18 18\"\n class=\"toggle-indicator\"\n test-id=\"toggleIndicator\"\n >\n <defs>\n {/* Mask for the X icon */}\n <mask\n id=\"xMask\"\n maskUnits=\"userSpaceOnUse\"\n >\n <rect\n width=\"18\"\n height=\"18\"\n fill=\"white\"\n ></rect>\n <line\n class=\"toggle-icon\"\n x1=\"6.5\"\n y1=\"6.5\"\n x2=\"11.5\"\n y2=\"11.5\"\n stroke=\"black\"\n stroke-width=\"2\"\n ></line>\n <line\n class=\"toggle-icon\"\n x1=\"6.5\"\n y1=\"11.5\"\n x2=\"11.5\"\n y2=\"6.5\"\n stroke=\"black\"\n stroke-width=\"2\"\n ></line>\n </mask>\n {/* Mask for the checkmark icon */}\n <mask id=\"checkMask\">\n <rect\n width=\"18\"\n height=\"18\"\n fill=\"white\"\n />\n <polyline\n class=\"toggle-icon\"\n points=\"6,8.5 8.5,11 12.5,6.5\"\n fill=\"none\"\n />\n </mask>\n </defs>\n <circle\n class=\"toggle-circle\"\n cx=\"9\"\n cy=\"9\"\n r=\"9\"\n mask=\"url(#xMask)\"\n ></circle>\n </svg>\n </div>\n );\n }\n\n render() {\n const textLabelClasses = ['label-text'];\n if (this.hideLabel) textLabelClasses.push('sr');\n return (\n <div class=\"container\">\n <input\n ref={el => (this.inputElement = el)}\n aria-describedby={this.description ? 'description' : undefined}\n aria-invalid={this.hasError === undefined ? undefined : `${this.hasError}`}\n checked={this.indeterminate || this.checked || false}\n class=\"sr\"\n disabled={!!this.disabled || !!this.groupDisabled}\n id={this._id}\n name={this.name || this._id}\n onClick={this.onInputClick}\n test-id=\"q2CheckboxInnerCheckBox\"\n type=\"checkbox\"\n value={this.value}\n />\n <label\n htmlFor={this._id}\n class=\"label-control\"\n test-id=\"checkboxButton\"\n aria-label={loc(this.label)}\n >\n {this.renderCheckboxSVG()}\n </label>\n <div class={textLabelClasses.join(' ')}>\n <label\n test-id=\"checkboxLabel\"\n htmlFor={this._id}\n aria-hidden=\"true\"\n >\n <div>\n {loc(this.label)}\n <slot />\n </div>\n </label>\n </div>\n {this.description && (\n <div\n class=\"description-text\"\n test-id=\"checkboxDescription\"\n id=\"description\"\n >\n {loc(this.description)}\n </div>\n )}\n </div>\n );\n }\n\n // #endregion\n}\n"]}
|
|
@@ -83,6 +83,11 @@ fieldset {
|
|
|
83
83
|
grid-template-columns: 1fr 24px;
|
|
84
84
|
grid-template-areas: "label icon";
|
|
85
85
|
column-gap: var(--tct-checkbox-group-label-column-gap, var(--app-scale-2x, 10px));
|
|
86
|
+
color: var(--tct-checkbox-group-label-font-color, inherit);
|
|
87
|
+
font-size: var(--tct-checkbox-group-label-font-size, inherit);
|
|
88
|
+
font-weight: var(--tct-checkbox-group-label-font-weight, 600);
|
|
89
|
+
text-transform: var(--tct-checkbox-group-label-text-transform, none);
|
|
90
|
+
letter-spacing: var(--tct-checkbox-group-label-letter-spacing, inherit);
|
|
86
91
|
}
|
|
87
92
|
.label-row q2-icon {
|
|
88
93
|
grid-area: icon;
|
|
@@ -105,8 +110,9 @@ legend.sr-only {
|
|
|
105
110
|
}
|
|
106
111
|
|
|
107
112
|
.slot-container {
|
|
108
|
-
margin: var(--app-scale-1x, 5px) 0;
|
|
109
|
-
|
|
113
|
+
--comp-default-container-margin: var(--app-scale-1x, 5px) 0;
|
|
114
|
+
margin: var(--tct-checkbox-group-container-margin, var(--comp-default-container-margin));
|
|
115
|
+
padding: var(--tct-checkbox-group-container-padding, var(--app-scale-1x, 5px));
|
|
110
116
|
border-width: 1px;
|
|
111
117
|
border-color: transparent;
|
|
112
118
|
border-style: solid;
|
|
@@ -2,75 +2,21 @@
|
|
|
2
2
|
box-sizing: border-box;
|
|
3
3
|
}
|
|
4
4
|
|
|
5
|
-
*:active {
|
|
6
|
-
outline: none;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
*:focus-visible {
|
|
10
|
-
outline: none;
|
|
11
|
-
box-shadow: var(--const-double-focus-ring, 0 0 0 2px #ffffff, 0 0 0 4px #0066cc);
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
:host {
|
|
15
|
-
box-shadow: none !important;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
::-moz-focus-inner {
|
|
19
|
-
border: none;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
input,
|
|
23
|
-
textarea,
|
|
24
|
-
button {
|
|
25
|
-
font-family: inherit;
|
|
26
|
-
font-size: inherit;
|
|
27
|
-
font-stretch: inherit;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
:host(.sr),
|
|
31
|
-
:host(.sr) button {
|
|
32
|
-
border: 0;
|
|
33
|
-
clip: rect(0 0 0 0);
|
|
34
|
-
height: 1px;
|
|
35
|
-
margin: -1px;
|
|
36
|
-
overflow: hidden;
|
|
37
|
-
padding: 0;
|
|
38
|
-
position: absolute;
|
|
39
|
-
width: 1px;
|
|
40
|
-
white-space: nowrap;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
.sr,
|
|
44
|
-
.sr button {
|
|
45
|
-
border: 0;
|
|
46
|
-
clip: rect(0 0 0 0);
|
|
47
|
-
height: 1px;
|
|
48
|
-
margin: -1px;
|
|
49
|
-
overflow: hidden;
|
|
50
|
-
padding: 0;
|
|
51
|
-
position: absolute;
|
|
52
|
-
width: 1px;
|
|
53
|
-
white-space: nowrap;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
.hidden {
|
|
57
|
-
display: none;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
5
|
:host([hidden]) {
|
|
61
6
|
display: none;
|
|
62
7
|
}
|
|
63
8
|
|
|
64
|
-
.invisible {
|
|
65
|
-
visibility: hidden;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
9
|
:host {
|
|
69
10
|
display: block;
|
|
70
|
-
background
|
|
11
|
+
background: var(--tct-context-background, var(--t-tertiary, #e8f5fc));
|
|
12
|
+
box-shadow: var(--tct-context-box-shadow, none);
|
|
13
|
+
backdrop-filter: var(--tct-context-backdrop-filter, none);
|
|
71
14
|
border-radius: var(--tct-context-border-radius, var(--app-border-radius-2, 8px));
|
|
72
15
|
padding: var(--tct-context-padding, 10px);
|
|
73
|
-
width: var(--tct-context-width,
|
|
16
|
+
width: var(--tct-context-width, 100%);
|
|
17
|
+
border-width: var(--tct-context-border-width, 0px);
|
|
18
|
+
border-style: var(--tct-context-border-style, solid);
|
|
19
|
+
border-color: var(--tct-context-border-color, transparent);
|
|
74
20
|
}
|
|
75
21
|
|
|
76
22
|
.context-wrapper {
|
|
@@ -87,7 +33,6 @@ button {
|
|
|
87
33
|
--tct-item-action-icon-size: 24px;
|
|
88
34
|
--tct-item-avatar-height: 44px;
|
|
89
35
|
--tct-item-avatar-width: 44px;
|
|
90
|
-
--tct-item-body-color: var(--tct-context-text-color, var(--t-text, #4d4d4d));
|
|
91
36
|
}
|
|
92
37
|
|
|
93
38
|
.context-body slot:not(:first-child)::before {
|
|
@@ -110,15 +55,6 @@ button {
|
|
|
110
55
|
--tct-btn-icon-border-radius: var(--app-border-radius-1, 4px);
|
|
111
56
|
}
|
|
112
57
|
|
|
113
|
-
::slotted(q2-btn) {
|
|
114
|
-
--tct-btn-icon-border-radius: var(--app-border-radius-1, 4px);
|
|
115
|
-
--tct-btn-neutral-background: var(--t-tertiary, #e8f5fc);
|
|
116
|
-
--tct-btn-neutral-font-color: var(--t-primary, #6a4a9e);
|
|
117
|
-
--tct-btn-neutral-border-color: var(--t-primary, #6a4a9e);
|
|
118
|
-
--tct-btn-escape-background: var(--t-tertiary, #e8f5fc);
|
|
119
|
-
--tct-btn-escape-font-color: var(--t-primary, #6a4a9e);
|
|
120
|
-
}
|
|
121
|
-
|
|
122
58
|
::slotted(q2-link) {
|
|
123
59
|
--tct-link-border-radius: var(--app-border-radius-1, 4px);
|
|
124
60
|
--tct-icon-stroke-primary: var(--t-primary, #6a4a9e);
|
|
@@ -111,6 +111,7 @@ table {
|
|
|
111
111
|
width: var(--tct-data-table-width, var(--tct-table-width));
|
|
112
112
|
min-width: 100%;
|
|
113
113
|
background: var(--tct-data-table-background, var(--tct-table-background, var(--t-base, #ffffff)));
|
|
114
|
+
backdrop-filter: var(--tct-data-table-backdrop-filter, none);
|
|
114
115
|
caption-side: var(--tct-data-table-caption-side, var(--tct-table-caption-side, bottom));
|
|
115
116
|
}
|
|
116
117
|
|
|
@@ -191,10 +192,10 @@ tr.expandable:focus, tr.clickable:focus {
|
|
|
191
192
|
outline: none;
|
|
192
193
|
box-shadow: none;
|
|
193
194
|
}
|
|
194
|
-
tr.striped
|
|
195
|
+
tr.striped-even {
|
|
195
196
|
background: var(--tct-data-table-row-even-background, var(--t-gray-14, #f2f2f2));
|
|
196
197
|
}
|
|
197
|
-
tr.striped
|
|
198
|
+
tr.striped-odd {
|
|
198
199
|
background: var(--tct-data-table-row-odd-background, transparent);
|
|
199
200
|
}
|
|
200
201
|
tr.expandable:hover {
|
|
@@ -410,7 +410,7 @@ export class Q2DataTable {
|
|
|
410
410
|
if (hideClickable)
|
|
411
411
|
clickableClasses.push('sr');
|
|
412
412
|
const clickableClassString = clickableClasses.join(' ');
|
|
413
|
-
return (h("tbody", null, rows.map(row => {
|
|
413
|
+
return (h("tbody", null, rows.map((row, index) => {
|
|
414
414
|
const cellSlotPrefix = `row-${row.id}-cell`;
|
|
415
415
|
const expandableRowName = `row-${row.id}-expandable-content`;
|
|
416
416
|
const dropdownCellName = `row-${row.id}-dropdown`;
|
|
@@ -422,7 +422,7 @@ export class Q2DataTable {
|
|
|
422
422
|
if (clickable)
|
|
423
423
|
rowClasses.push('clickable');
|
|
424
424
|
if (striped)
|
|
425
|
-
rowClasses.push(
|
|
425
|
+
rowClasses.push(`striped-${index % 2 ? 'even' : 'odd'}`);
|
|
426
426
|
if (row.expanded)
|
|
427
427
|
rowClasses.push('expanded');
|
|
428
428
|
if (row.selected)
|
|
@@ -590,7 +590,7 @@ export class Q2DataTable {
|
|
|
590
590
|
"references": {
|
|
591
591
|
"Q2DataTableHeader": {
|
|
592
592
|
"location": "local",
|
|
593
|
-
"path": "/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-data-table/q2-data-table.tsx",
|
|
593
|
+
"path": "/home/gitlab-runner/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-data-table/q2-data-table.tsx",
|
|
594
594
|
"id": "src/components/q2-data-table/q2-data-table.tsx::Q2DataTableHeader"
|
|
595
595
|
}
|
|
596
596
|
}
|
|
@@ -677,7 +677,7 @@ export class Q2DataTable {
|
|
|
677
677
|
"references": {
|
|
678
678
|
"Q2DataTableRow": {
|
|
679
679
|
"location": "local",
|
|
680
|
-
"path": "/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-data-table/q2-data-table.tsx",
|
|
680
|
+
"path": "/home/gitlab-runner/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-data-table/q2-data-table.tsx",
|
|
681
681
|
"id": "src/components/q2-data-table/q2-data-table.tsx::Q2DataTableRow"
|
|
682
682
|
}
|
|
683
683
|
}
|
|
@@ -805,7 +805,7 @@ export class Q2DataTable {
|
|
|
805
805
|
"references": {
|
|
806
806
|
"Q2DataTableSerializedRow": {
|
|
807
807
|
"location": "local",
|
|
808
|
-
"path": "/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-data-table/q2-data-table.tsx",
|
|
808
|
+
"path": "/home/gitlab-runner/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-data-table/q2-data-table.tsx",
|
|
809
809
|
"id": "src/components/q2-data-table/q2-data-table.tsx::Q2DataTableSerializedRow"
|
|
810
810
|
}
|
|
811
811
|
}
|
|
@@ -826,7 +826,7 @@ export class Q2DataTable {
|
|
|
826
826
|
"references": {
|
|
827
827
|
"Q2DataTableSerializedRow": {
|
|
828
828
|
"location": "local",
|
|
829
|
-
"path": "/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-data-table/q2-data-table.tsx",
|
|
829
|
+
"path": "/home/gitlab-runner/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-data-table/q2-data-table.tsx",
|
|
830
830
|
"id": "src/components/q2-data-table/q2-data-table.tsx::Q2DataTableSerializedRow"
|
|
831
831
|
}
|
|
832
832
|
}
|
|
@@ -862,7 +862,7 @@ export class Q2DataTable {
|
|
|
862
862
|
"references": {
|
|
863
863
|
"Q2DataTableHeader": {
|
|
864
864
|
"location": "local",
|
|
865
|
-
"path": "/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-data-table/q2-data-table.tsx",
|
|
865
|
+
"path": "/home/gitlab-runner/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-data-table/q2-data-table.tsx",
|
|
866
866
|
"id": "src/components/q2-data-table/q2-data-table.tsx::Q2DataTableHeader"
|
|
867
867
|
}
|
|
868
868
|
}
|
|
@@ -883,7 +883,7 @@ export class Q2DataTable {
|
|
|
883
883
|
"references": {
|
|
884
884
|
"Q2DataTableSerializedRow": {
|
|
885
885
|
"location": "local",
|
|
886
|
-
"path": "/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-data-table/q2-data-table.tsx",
|
|
886
|
+
"path": "/home/gitlab-runner/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-data-table/q2-data-table.tsx",
|
|
887
887
|
"id": "src/components/q2-data-table/q2-data-table.tsx::Q2DataTableSerializedRow"
|
|
888
888
|
}
|
|
889
889
|
}
|
|
@@ -963,7 +963,7 @@ export class Q2DataTable {
|
|
|
963
963
|
},
|
|
964
964
|
"Q2DataTableHeader": {
|
|
965
965
|
"location": "local",
|
|
966
|
-
"path": "/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-data-table/q2-data-table.tsx",
|
|
966
|
+
"path": "/home/gitlab-runner/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-data-table/q2-data-table.tsx",
|
|
967
967
|
"id": "src/components/q2-data-table/q2-data-table.tsx::Q2DataTableHeader"
|
|
968
968
|
},
|
|
969
969
|
"HTMLQ2BtnElement": {
|