@otto-de/b2b-core-components 1.5.0 → 1.6.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/b2b-core-components/b2b-core-components.esm.js +1 -1
- package/dist/b2b-core-components/p-01fd54a1.entry.js +1 -0
- package/dist/b2b-core-components/{p-b95089a7.entry.js → p-04fc18cd.entry.js} +1 -1
- package/dist/b2b-core-components/p-06aa96a8.entry.js +1 -0
- package/dist/b2b-core-components/{p-c20baf90.entry.js → p-077217b3.entry.js} +1 -1
- package/dist/b2b-core-components/{p-03beebf5.entry.js → p-0965b990.entry.js} +1 -1
- package/dist/b2b-core-components/p-0beabdb4.entry.js +1 -0
- package/dist/b2b-core-components/p-163466cf.entry.js +1 -0
- package/dist/b2b-core-components/p-197c1a6d.entry.js +1 -0
- package/dist/b2b-core-components/{p-75f84f53.entry.js → p-1d007eea.entry.js} +1 -1
- package/dist/b2b-core-components/{p-6997ceb0.entry.js → p-1e2752b2.entry.js} +1 -1
- package/dist/b2b-core-components/{p-06ef4c5e.entry.js → p-2328144b.entry.js} +1 -1
- package/dist/b2b-core-components/{p-9184036b.entry.js → p-2ad8bdb6.entry.js} +1 -1
- package/dist/b2b-core-components/p-2d01e68a.entry.js +1 -0
- package/dist/b2b-core-components/{p-60c7f6f7.entry.js → p-3c0671ef.entry.js} +1 -1
- package/dist/b2b-core-components/p-42e7f397.entry.js +1 -0
- package/dist/b2b-core-components/{p-163fe245.entry.js → p-44ccd8f4.entry.js} +1 -1
- package/dist/b2b-core-components/{p-38791fb9.entry.js → p-542a358a.entry.js} +1 -1
- package/dist/b2b-core-components/p-54fd68eb.entry.js +1 -0
- package/dist/b2b-core-components/p-60badad5.entry.js +1 -0
- package/dist/b2b-core-components/{p-e1622cb8.entry.js → p-6140304e.entry.js} +1 -1
- package/dist/b2b-core-components/{p-f0aa5e83.entry.js → p-681d6880.entry.js} +1 -1
- package/dist/b2b-core-components/{p-bcf36531.entry.js → p-8ad1bb92.entry.js} +1 -1
- package/dist/b2b-core-components/p-90a3ffed.entry.js +1 -0
- package/dist/b2b-core-components/p-97ef9805.entry.js +1 -0
- package/dist/b2b-core-components/{p-48d4d224.entry.js → p-a50ea33f.entry.js} +1 -1
- package/dist/b2b-core-components/{p-c8294029.entry.js → p-b3ccfc58.entry.js} +1 -1
- package/dist/b2b-core-components/{p-2b3a67db.entry.js → p-b6a8a06f.entry.js} +1 -1
- package/dist/b2b-core-components/{p-5c2db521.entry.js → p-b8049234.entry.js} +1 -1
- package/dist/b2b-core-components/p-c294dd0c.entry.js +1 -0
- package/dist/b2b-core-components/{p-5d7866e8.entry.js → p-d07210e2.entry.js} +1 -1
- package/dist/b2b-core-components/p-d7bb8aa1.entry.js +1 -0
- package/dist/b2b-core-components/{p-76e240f8.entry.js → p-d83c2084.entry.js} +1 -1
- package/dist/b2b-core-components/{p-dcd80266.entry.js → p-db7d2ec3.entry.js} +1 -1
- package/dist/b2b-core-components/{p-9facba86.entry.js → p-dd79ab5b.entry.js} +1 -1
- package/dist/b2b-core-components/{p-bda69b9a.entry.js → p-e5b78075.entry.js} +1 -1
- package/dist/b2b-core-components/{p-7b04f40b.entry.js → p-e811411a.entry.js} +1 -1
- package/dist/b2b-core-components/p-f190bf79.entry.js +1 -0
- package/dist/b2b-core-components/{p-1e1bdb50.entry.js → p-f24515bf.entry.js} +1 -1
- package/dist/b2b-core-components/p-f3ce95bf.js +2 -0
- package/dist/b2b-core-components/p-f7e9f889.entry.js +1 -0
- package/dist/cjs/b2b-alert.cjs.entry.js +4 -4
- package/dist/cjs/b2b-anchor.cjs.entry.js +1 -1
- package/dist/cjs/b2b-button_2.cjs.entry.js +12 -8
- package/dist/cjs/b2b-card.cjs.entry.js +1 -1
- package/dist/cjs/b2b-checkbox-group.cjs.entry.js +7 -5
- package/dist/cjs/{b2b-table-cell_2.cjs.entry.js → b2b-checkbox_3.cjs.entry.js} +94 -7
- package/dist/cjs/b2b-core-components.cjs.js +3 -3
- package/dist/cjs/b2b-dropdown.cjs.entry.js +3 -3
- package/dist/cjs/b2b-grid-col.cjs.entry.js +1 -1
- package/dist/cjs/b2b-grid-row.cjs.entry.js +2 -2
- package/dist/cjs/b2b-grid.cjs.entry.js +1 -1
- package/dist/cjs/b2b-headline.cjs.entry.js +1 -1
- package/dist/cjs/b2b-icon.cjs.entry.js +4 -4
- package/dist/cjs/b2b-input-group_2.cjs.entry.js +10 -21
- package/dist/cjs/b2b-input-label.cjs.entry.js +1 -1
- package/dist/cjs/b2b-input_2.cjs.entry.js +8 -7
- package/dist/cjs/b2b-label.cjs.entry.js +1 -1
- package/dist/cjs/b2b-modal.cjs.entry.js +5 -5
- package/dist/cjs/b2b-pagination.cjs.entry.js +5 -5
- package/dist/cjs/b2b-paragraph.cjs.entry.js +5 -5
- package/dist/cjs/b2b-radio-button.cjs.entry.js +1 -1
- package/dist/cjs/b2b-radio-group.cjs.entry.js +1 -1
- package/dist/cjs/b2b-required-separator.cjs.entry.js +3 -3
- package/dist/cjs/b2b-rounded-icon.cjs.entry.js +1 -1
- package/dist/cjs/b2b-scrollable-container.cjs.entry.js +1 -1
- package/dist/cjs/b2b-search.cjs.entry.js +1 -1
- package/dist/cjs/b2b-separator.cjs.entry.js +1 -1
- package/dist/cjs/b2b-tab-group.cjs.entry.js +1 -1
- package/dist/cjs/b2b-tab-panel.cjs.entry.js +1 -1
- package/dist/cjs/b2b-tab.cjs.entry.js +1 -1
- package/dist/cjs/b2b-table-row.cjs.entry.js +77 -21
- package/dist/cjs/b2b-table-rowgroup.cjs.entry.js +85 -24
- package/dist/cjs/b2b-table.cjs.entry.js +10 -10
- package/dist/cjs/b2b-textarea.cjs.entry.js +1 -1
- package/dist/cjs/b2b-toggle-button.cjs.entry.js +7 -7
- package/dist/cjs/b2b-toggle-group.cjs.entry.js +3 -3
- package/dist/cjs/b2b-tooltip.cjs.entry.js +4 -4
- package/dist/cjs/b2b-wizard-icon.cjs.entry.js +1 -1
- package/dist/cjs/b2b-wizard-step.cjs.entry.js +4 -4
- package/dist/cjs/b2b-wizard.cjs.entry.js +2 -2
- package/dist/cjs/{index-496aa5dd.js → index-04e07a00.js} +88 -31
- package/dist/cjs/loader.cjs.js +3 -3
- package/dist/cjs/{table.types-bb0926c7.js → table.types-00c8228a.js} +2 -2
- package/dist/collection/collection-manifest.json +2 -2
- package/dist/collection/components/alert/alert.css +7 -7
- package/dist/collection/components/alert/alert.e2e.js +67 -0
- package/dist/collection/components/alert/alert.js +2 -2
- package/dist/collection/components/anchor/anchor.css +2 -2
- package/dist/collection/components/anchor/anchor.spec.js +68 -0
- package/dist/collection/components/button/button.css +35 -39
- package/dist/collection/components/button/button.e2e.js +80 -0
- package/dist/collection/components/button/button.js +31 -6
- package/dist/collection/components/card/card.css +2 -2
- package/dist/collection/components/card/card.e2e.js +110 -0
- package/dist/collection/components/card/card.spec.js +32 -0
- package/dist/collection/components/checkbox/checkbox.css +34 -13
- package/dist/collection/components/checkbox/checkbox.e2e.js +30 -0
- package/dist/collection/components/checkbox/checkbox.js +81 -6
- package/dist/collection/components/checkbox/checkbox.spec.js +45 -0
- package/dist/collection/components/checkbox-group/checkbox-group.css +5 -5
- package/dist/collection/components/checkbox-group/checkbox-group.e2e.js +78 -0
- package/dist/collection/components/checkbox-group/checkbox-group.js +5 -3
- package/dist/collection/components/checkbox-group/checkbox-group.spec.js +38 -0
- package/dist/collection/components/dropdown/dropdown.css +7 -7
- package/dist/collection/components/dropdown/dropdown.e2e.js +48 -0
- package/dist/collection/components/dropdown/dropdown.js +1 -1
- package/dist/collection/components/dropdown/dropdown.spec.js +52 -0
- package/dist/collection/components/grid/grid.e2e.js +17 -0
- package/dist/collection/components/grid/row.js +1 -1
- package/dist/collection/components/headline/headline.css +2 -2
- package/dist/collection/components/headline/headline.e2e.js +13 -0
- package/dist/collection/components/headline/headline.spec.js +67 -0
- package/dist/collection/components/icon/icon.css +9 -9
- package/dist/collection/components/icon/icon.js +2 -2
- package/dist/collection/components/icon/icon.spec.js +21 -0
- package/dist/collection/components/input/input.css +14 -14
- package/dist/collection/components/input/input.e2e.js +43 -0
- package/dist/collection/components/input/input.js +26 -4
- package/dist/collection/components/input/input.spec.js +45 -0
- package/dist/collection/components/input-group/input-group.css +4 -4
- package/dist/collection/components/input-group/input-group.e2e.js +76 -0
- package/dist/collection/components/input-group/input-group.js +4 -21
- package/dist/collection/components/input-group/input-group.spec.js +56 -0
- package/dist/collection/components/input-label/input-label.e2e.js +10 -0
- package/dist/collection/components/input-list/input-list.css +7 -7
- package/dist/collection/components/input-list/input-list.e2e.js +227 -0
- package/dist/collection/components/input-list/input-list.js +24 -2
- package/dist/collection/components/label/label.css +2 -2
- package/dist/collection/components/label/label.e2e.js +17 -0
- package/dist/collection/components/label/label.spec.js +58 -0
- package/dist/collection/components/modal/modal.css +13 -18
- package/dist/collection/components/modal/modal.e2e.js +115 -0
- package/dist/collection/components/modal/modal.js +3 -3
- package/dist/collection/components/pagination/pagination.css +7 -7
- package/dist/collection/components/pagination/pagination.e2e.js +256 -0
- package/dist/collection/components/pagination/pagination.js +3 -3
- package/dist/collection/components/pagination/pagination.spec.js +104 -0
- package/dist/collection/components/paragraph/paragraph.css +9 -9
- package/dist/collection/components/paragraph/paragraph.e2e.js +13 -0
- package/dist/collection/components/paragraph/paragraph.js +3 -3
- package/dist/collection/components/radio/radio.css +2 -2
- package/dist/collection/components/radio/radio.e2e.js +36 -0
- package/dist/collection/components/radio/radio.spec.js +38 -0
- package/dist/collection/components/radio-group/radio-group.css +2 -2
- package/dist/collection/components/radio-group/radio-group.e2e.js +71 -0
- package/dist/collection/components/radio-group/radio-group.spec.js +31 -0
- package/dist/collection/components/required-separator/required-separator.css +4 -4
- package/dist/collection/components/required-separator/required-separator.e2e.js +17 -0
- package/dist/collection/components/required-separator/required-separator.js +1 -1
- package/dist/collection/components/rounded-icon/rounded-icon.css +2 -2
- package/dist/collection/components/scrollable-container/scrollable-container.css +2 -2
- package/dist/collection/components/search/search.e2e.js +97 -0
- package/dist/collection/components/separator/separator.css +2 -2
- package/dist/collection/components/separator/separator.e2e.js +22 -0
- package/dist/collection/components/spinner/spinner.css +2 -2
- package/dist/collection/components/spinner/spinner.e2e.js +12 -0
- package/dist/collection/components/spinner/spinner.spec.js +41 -0
- package/dist/collection/components/tab/tab.css +2 -2
- package/dist/collection/components/tab/tab.e2e.js +35 -0
- package/dist/collection/components/tab/tab.spec.js +31 -0
- package/dist/collection/components/tab-group/tab-group.e2e.js +98 -0
- package/dist/collection/components/tab-panel/tab-panel.css +2 -2
- package/dist/collection/components/tab-panel/tab-panel.e2e.js +12 -0
- package/dist/collection/components/tab-panel/tab-panel.spec.js +10 -0
- package/dist/collection/components/table/stories.data.js +6 -6
- package/dist/collection/components/table/table-cell/table-cell.css +2 -2
- package/dist/collection/components/table/table-header/table-header.css +17 -17
- package/dist/collection/components/table/table-header/table-header.js +4 -4
- package/dist/collection/components/table/table-row/table-row.css +3 -3
- package/dist/collection/components/table/table-row/table-row.js +185 -25
- package/dist/collection/components/table/table-rowgroup/table-rowgroup.css +3 -3
- package/dist/collection/components/table/table-rowgroup/table-rowgroup.js +118 -23
- package/dist/collection/components/table/table.css +2 -2
- package/dist/collection/components/table/table.e2e.js +370 -0
- package/dist/collection/components/table/table.js +8 -8
- package/dist/collection/components/table/table.stories.js +16 -7
- package/dist/collection/components/table/utils.js +18 -0
- package/dist/collection/components/textarea/textarea.css +2 -2
- package/dist/collection/components/textarea/textarea.e2e.js +91 -0
- package/dist/collection/components/toggle-button/toggle-button.css +9 -9
- package/dist/collection/components/toggle-button/toggle-button.e2e.js +44 -0
- package/dist/collection/components/toggle-button/toggle-button.js +5 -5
- package/dist/collection/components/toggle-group/toggle-group.css +3 -3
- package/dist/collection/components/toggle-group/toggle-group.e2e.js +65 -0
- package/dist/collection/components/toggle-group/toggle-group.js +1 -1
- package/dist/collection/components/tooltip/tooltip.css +14 -14
- package/dist/collection/components/tooltip/tooltip.e2e.js +64 -0
- package/dist/collection/components/tooltip/tooltip.js +2 -2
- package/dist/collection/components/wizard/wizard-step.js +2 -2
- package/dist/collection/components/wizard/wizard.css +3 -3
- package/dist/collection/components/wizard/wizard.e2e.js +149 -0
- package/dist/collection/components/wizard-icon/wizard-icon.css +2 -2
- package/dist/collection/docs/config/replace-prop-controls.spec.js +32 -0
- package/dist/collection/utils/types/table.types.js +5 -1
- package/dist/collection/utils/utils.spec.js +15 -0
- package/dist/components/b2b-alert.js +4 -4
- package/dist/components/b2b-anchor.js +1 -1
- package/dist/components/b2b-card.js +1 -1
- package/dist/components/b2b-checkbox-group.js +7 -5
- package/dist/components/b2b-checkbox.js +1 -99
- package/dist/components/b2b-dropdown.js +3 -3
- package/dist/components/b2b-grid-col.js +1 -1
- package/dist/components/b2b-grid-row.js +2 -2
- package/dist/components/b2b-grid.js +1 -1
- package/dist/components/b2b-label.js +1 -1
- package/dist/components/b2b-modal.js +5 -5
- package/dist/components/b2b-pagination.js +5 -5
- package/dist/components/b2b-paragraph.js +5 -5
- package/dist/components/b2b-radio-button.js +1 -1
- package/dist/components/b2b-radio-group.js +1 -1
- package/dist/components/b2b-required-separator.js +3 -3
- package/dist/components/b2b-scrollable-container.js +1 -1
- package/dist/components/b2b-search.js +1 -1
- package/dist/components/b2b-tab-group.js +1 -1
- package/dist/components/b2b-tab-panel.js +1 -1
- package/dist/components/b2b-tab.js +1 -1
- package/dist/components/b2b-table-row.js +97 -25
- package/dist/components/b2b-table-rowgroup.js +91 -27
- package/dist/components/b2b-table.js +9 -9
- package/dist/components/b2b-textarea.js +1 -1
- package/dist/components/b2b-toggle-button.js +7 -7
- package/dist/components/b2b-toggle-group.js +3 -3
- package/dist/components/b2b-tooltip.js +4 -4
- package/dist/components/b2b-wizard-step.js +4 -4
- package/dist/components/b2b-wizard.js +2 -2
- package/dist/components/button.js +13 -8
- package/dist/{esm/b2b-checkbox.entry.js → components/checkbox.js} +66 -13
- package/dist/components/headline.js +1 -1
- package/dist/components/icon.js +4 -4
- package/dist/components/input-group.js +7 -20
- package/dist/components/input-label.js +1 -1
- package/dist/components/input-list-option.js +2 -2
- package/dist/components/input-list.js +6 -4
- package/dist/components/input.js +8 -6
- package/dist/components/rounded-icon.js +1 -1
- package/dist/components/separator.js +1 -1
- package/dist/components/spinner.js +1 -1
- package/dist/components/table-cell.js +1 -1
- package/dist/components/table-header.js +6 -6
- package/dist/components/table.types.js +2 -2
- package/dist/components/wizard-icon.js +1 -1
- package/dist/custom-elements.json +22 -13
- package/dist/esm/b2b-alert.entry.js +4 -4
- package/dist/esm/b2b-anchor.entry.js +1 -1
- package/dist/esm/b2b-button_2.entry.js +12 -8
- package/dist/esm/b2b-card.entry.js +1 -1
- package/dist/esm/b2b-checkbox-group.entry.js +7 -5
- package/dist/esm/{b2b-table-cell_2.entry.js → b2b-checkbox_3.entry.js} +94 -8
- package/dist/esm/b2b-core-components.js +4 -4
- package/dist/esm/b2b-dropdown.entry.js +3 -3
- package/dist/esm/b2b-grid-col.entry.js +1 -1
- package/dist/esm/b2b-grid-row.entry.js +2 -2
- package/dist/esm/b2b-grid.entry.js +1 -1
- package/dist/esm/b2b-headline.entry.js +1 -1
- package/dist/esm/b2b-icon.entry.js +4 -4
- package/dist/esm/b2b-input-group_2.entry.js +10 -21
- package/dist/esm/b2b-input-label.entry.js +1 -1
- package/dist/esm/b2b-input_2.entry.js +8 -7
- package/dist/esm/b2b-label.entry.js +1 -1
- package/dist/esm/b2b-modal.entry.js +5 -5
- package/dist/esm/b2b-pagination.entry.js +5 -5
- package/dist/esm/b2b-paragraph.entry.js +5 -5
- package/dist/esm/b2b-radio-button.entry.js +1 -1
- package/dist/esm/b2b-radio-group.entry.js +1 -1
- package/dist/esm/b2b-required-separator.entry.js +3 -3
- package/dist/esm/b2b-rounded-icon.entry.js +1 -1
- package/dist/esm/b2b-scrollable-container.entry.js +1 -1
- package/dist/esm/b2b-search.entry.js +1 -1
- package/dist/esm/b2b-separator.entry.js +1 -1
- package/dist/esm/b2b-tab-group.entry.js +1 -1
- package/dist/esm/b2b-tab-panel.entry.js +1 -1
- package/dist/esm/b2b-tab.entry.js +1 -1
- package/dist/esm/b2b-table-row.entry.js +77 -21
- package/dist/esm/b2b-table-rowgroup.entry.js +85 -24
- package/dist/esm/b2b-table.entry.js +10 -10
- package/dist/esm/b2b-textarea.entry.js +1 -1
- package/dist/esm/b2b-toggle-button.entry.js +7 -7
- package/dist/esm/b2b-toggle-group.entry.js +3 -3
- package/dist/esm/b2b-tooltip.entry.js +4 -4
- package/dist/esm/b2b-wizard-icon.entry.js +1 -1
- package/dist/esm/b2b-wizard-step.entry.js +4 -4
- package/dist/esm/b2b-wizard.entry.js +2 -2
- package/dist/esm/{index-026605c2.js → index-dfdbf4b9.js} +88 -31
- package/dist/esm/loader.js +4 -4
- package/dist/esm/{table.types-9943c937.js → table.types-dd829d83.js} +2 -2
- package/dist/types/components/alert/alert.stories.d.ts +1 -1
- package/dist/types/components/anchor/anchor.stories.d.ts +1 -1
- package/dist/types/components/button/button.d.ts +2 -0
- package/dist/types/components/button/button.stories.d.ts +1 -1
- package/dist/types/components/card/card.stories.d.ts +1 -1
- package/dist/types/components/checkbox/checkbox.d.ts +8 -1
- package/dist/types/components/checkbox/checkbox.stories.d.ts +1 -1
- package/dist/types/components/checkbox-group/checkbox-group.stories.d.ts +1 -1
- package/dist/types/components/dropdown/dropdown.stories.d.ts +1 -1
- package/dist/types/components/grid/grid.stories.d.ts +1 -1
- package/dist/types/components/headline/headline.stories.d.ts +1 -1
- package/dist/types/components/icon/icon.stories.d.ts +1 -1
- package/dist/types/components/input/input.d.ts +2 -0
- package/dist/types/components/input/input.stories.d.ts +1 -1
- package/dist/types/components/input-group/input-group.d.ts +0 -4
- package/dist/types/components/input-group/input-group.stories.d.ts +1 -1
- package/dist/types/components/input-list/input-list.d.ts +2 -0
- package/dist/types/components/input-list/input-list.stories.d.ts +1 -1
- package/dist/types/components/label/label.stories.d.ts +1 -1
- package/dist/types/components/modal/modal.stories.d.ts +1 -1
- package/dist/types/components/pagination/pagination.stories.d.ts +1 -1
- package/dist/types/components/paragraph/paragraph.stories.d.ts +1 -1
- package/dist/types/components/radio/radio.stories.d.ts +1 -1
- package/dist/types/components/radio-group/radio-group.stories.d.ts +1 -1
- package/dist/types/components/required-separator/required-separator.stories.d.ts +1 -1
- package/dist/types/components/rounded-icon/rounded-icon.stories.d.ts +1 -1
- package/dist/types/components/scrollable-container/scrollable-container.stories.d.ts +1 -1
- package/dist/types/components/search/search.stories.d.ts +1 -1
- package/dist/types/components/separator/separator.stories.d.ts +1 -1
- package/dist/types/components/spinner/spinner.stories.d.ts +1 -1
- package/dist/types/components/tab-group/tab-group.stories.d.ts +1 -1
- package/dist/types/components/table/table-row/table-row.d.ts +23 -7
- package/dist/types/components/table/table-rowgroup/table-rowgroup.d.ts +12 -2
- package/dist/types/components/table/table.d.ts +1 -1
- package/dist/types/components/table/table.stories.d.ts +2 -1
- package/dist/types/components/table/utils.d.ts +4 -0
- package/dist/types/components/textarea/textarea.stories.d.ts +1 -1
- package/dist/types/components/toggle-group/toggle-group.stories.d.ts +1 -1
- package/dist/types/components/tooltip/tooltip.stories.d.ts +1 -1
- package/dist/types/components/wizard/wizard.stories.d.ts +1 -1
- package/dist/types/components/wizard-icon/wizard-icon.stories.d.ts +1 -1
- package/dist/types/components.d.ts +71 -9
- package/dist/types/docs/tokens/color.stories.d.ts +1 -1
- package/dist/types/docs/tokens/font.stories.d.ts +1 -1
- package/dist/types/docs/tokens/size.stories.d.ts +1 -1
- package/dist/types/stencil-public-runtime.d.ts +3 -0
- package/dist/types/utils/interfaces/content.interface.d.ts +4 -0
- package/dist/types/utils/interfaces/form.interface.d.ts +1 -0
- package/dist/types/utils/types/table.types.d.ts +7 -2
- package/dist/web-types.json +76 -6
- package/loader/index.d.ts +1 -1
- package/package.json +4 -4
- package/dist/b2b-core-components/p-0675225a.entry.js +0 -1
- package/dist/b2b-core-components/p-080a0741.entry.js +0 -1
- package/dist/b2b-core-components/p-0f8bd310.entry.js +0 -1
- package/dist/b2b-core-components/p-14f1b674.entry.js +0 -1
- package/dist/b2b-core-components/p-1eb784f9.entry.js +0 -1
- package/dist/b2b-core-components/p-21bfe96a.entry.js +0 -1
- package/dist/b2b-core-components/p-3cd9088a.entry.js +0 -1
- package/dist/b2b-core-components/p-42da7a57.entry.js +0 -1
- package/dist/b2b-core-components/p-4fc894c8.entry.js +0 -1
- package/dist/b2b-core-components/p-710600ca.entry.js +0 -1
- package/dist/b2b-core-components/p-83cb9d03.entry.js +0 -1
- package/dist/b2b-core-components/p-a7417890.js +0 -2
- package/dist/b2b-core-components/p-c9dcb35a.entry.js +0 -1
- package/dist/b2b-core-components/p-cf010e88.entry.js +0 -1
- package/dist/b2b-core-components/p-e3cd216c.entry.js +0 -1
- package/dist/b2b-core-components/p-fa6cd2ac.entry.js +0 -1
- package/dist/b2b-core-components/p-fe96d81a.entry.js +0 -1
- package/dist/cjs/b2b-checkbox.cjs.entry.js +0 -74
- /package/dist/b2b-core-components/{p-de2c1003.js → p-34eb99cb.js} +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Do not edit directly
|
|
3
|
-
* Generated on
|
|
3
|
+
* Generated on Tue, 22 Aug 2023 11:28:34 GMT
|
|
4
4
|
*/
|
|
5
5
|
:root, :host {
|
|
6
6
|
--b2b-size-200: 5rem; /* 80px */
|
|
@@ -122,7 +122,7 @@
|
|
|
122
122
|
}
|
|
123
123
|
/**
|
|
124
124
|
* Do not edit directly
|
|
125
|
-
* Generated on
|
|
125
|
+
* Generated on Tue, 22 Aug 2023 11:28:34 GMT
|
|
126
126
|
*/
|
|
127
127
|
:root [data-theme="dark"] {
|
|
128
128
|
--b2b-size-200: 5rem; /* 80px */
|
|
@@ -226,27 +226,27 @@
|
|
|
226
226
|
:host .b2b-icon--clickable {
|
|
227
227
|
cursor: pointer;
|
|
228
228
|
}
|
|
229
|
-
:host .b2b-icon.icon
|
|
229
|
+
:host .b2b-icon.b2b-icon--50 {
|
|
230
230
|
width: var(--b2b-size-40);
|
|
231
231
|
height: var(--b2b-size-40);
|
|
232
232
|
}
|
|
233
|
-
:host .b2b-icon.icon
|
|
233
|
+
:host .b2b-icon.b2b-icon--100 {
|
|
234
234
|
width: var(--b2b-size-60);
|
|
235
235
|
height: var(--b2b-size-60);
|
|
236
236
|
}
|
|
237
|
-
:host .b2b-icon.icon
|
|
237
|
+
:host .b2b-icon.b2b-icon--200 {
|
|
238
238
|
width: var(--b2b-size-80);
|
|
239
239
|
height: var(--b2b-size-80);
|
|
240
240
|
}
|
|
241
|
-
:host .b2b-icon.primary {
|
|
241
|
+
:host .b2b-icon.b2b-icon--primary {
|
|
242
242
|
fill: var(--b2b-color-black-100);
|
|
243
243
|
}
|
|
244
|
-
:host .b2b-icon.secondary {
|
|
244
|
+
:host .b2b-icon.b2b-icon--secondary {
|
|
245
245
|
fill: var(--b2b-color-grey-200);
|
|
246
246
|
}
|
|
247
|
-
:host .b2b-icon.inverse {
|
|
247
|
+
:host .b2b-icon.b2b-icon--inverse {
|
|
248
248
|
fill: var(--b2b-color-white-100);
|
|
249
249
|
}
|
|
250
|
-
:host .b2b-icon.inherit {
|
|
250
|
+
:host .b2b-icon.b2b-icon--inherit {
|
|
251
251
|
fill: currentcolor;
|
|
252
252
|
}
|
|
@@ -20,8 +20,8 @@ export class B2bIcon {
|
|
|
20
20
|
return null;
|
|
21
21
|
return (h(Host, null, h("div", { class: {
|
|
22
22
|
'b2b-icon': true,
|
|
23
|
-
[`icon
|
|
24
|
-
[this.color]: true,
|
|
23
|
+
[`b2b-icon--${this.size}`]: true,
|
|
24
|
+
[`b2b-icon--${this.color}`]: true,
|
|
25
25
|
'b2b-icon--clickable': this.clickable,
|
|
26
26
|
}, innerHTML: this.pathData })));
|
|
27
27
|
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { newSpecPage } from '@stencil/core/testing';
|
|
2
|
+
import { h } from '@stencil/core';
|
|
3
|
+
import { B2bIcon } from './icon';
|
|
4
|
+
it('should render the icon with default values', async () => {
|
|
5
|
+
const page = await newSpecPage({
|
|
6
|
+
components: [B2bIcon],
|
|
7
|
+
template: () => h("b2b-icon", { icon: "b2b_icon-search" }),
|
|
8
|
+
});
|
|
9
|
+
expect(page.root).toMatchSnapshot();
|
|
10
|
+
});
|
|
11
|
+
it('should gracefully fail if icon name is not found by not rendering icon and emitting a warning', async () => {
|
|
12
|
+
// @ts-ignore
|
|
13
|
+
global.console.warn = jest.fn();
|
|
14
|
+
const page = await newSpecPage({
|
|
15
|
+
components: [B2bIcon],
|
|
16
|
+
// @ts-ignore
|
|
17
|
+
template: () => h("b2b-icon", { icon: "b2b_some-typo" }),
|
|
18
|
+
});
|
|
19
|
+
expect(page.root).toMatchSnapshot();
|
|
20
|
+
expect(console.warn).toBeCalled();
|
|
21
|
+
});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Do not edit directly
|
|
3
|
-
* Generated on
|
|
3
|
+
* Generated on Tue, 22 Aug 2023 11:28:34 GMT
|
|
4
4
|
*/
|
|
5
5
|
:root, :host {
|
|
6
6
|
--b2b-size-200: 5rem; /* 80px */
|
|
@@ -122,7 +122,7 @@
|
|
|
122
122
|
}
|
|
123
123
|
/**
|
|
124
124
|
* Do not edit directly
|
|
125
|
-
* Generated on
|
|
125
|
+
* Generated on Tue, 22 Aug 2023 11:28:34 GMT
|
|
126
126
|
*/
|
|
127
127
|
:root [data-theme="dark"] {
|
|
128
128
|
--b2b-size-200: 5rem; /* 80px */
|
|
@@ -221,7 +221,7 @@
|
|
|
221
221
|
min-width: var(--b2b-size-200);
|
|
222
222
|
font-family: var(--b2b-font-family-default);
|
|
223
223
|
}
|
|
224
|
-
:host(.b2b-input) .
|
|
224
|
+
:host(.b2b-input) .b2b-input__wrapper {
|
|
225
225
|
display: flex;
|
|
226
226
|
align-items: center;
|
|
227
227
|
height: var(--b2b-size-60);
|
|
@@ -233,26 +233,26 @@
|
|
|
233
233
|
color: var(--b2b-color-black-100);
|
|
234
234
|
position: relative;
|
|
235
235
|
}
|
|
236
|
-
:host(.b2b-input) .
|
|
236
|
+
:host(.b2b-input) .b2b-input__wrapper--focused {
|
|
237
237
|
outline: 2px solid Highlight;
|
|
238
238
|
outline: 2px solid -webkit-focus-ring-color;
|
|
239
239
|
outline-offset: -1px;
|
|
240
240
|
border-radius: var(--b2b-border-radius);
|
|
241
241
|
z-index: 9999;
|
|
242
242
|
}
|
|
243
|
-
:host(.b2b-input) .
|
|
243
|
+
:host(.b2b-input) .b2b-input__wrapper--disabled {
|
|
244
244
|
color: var(--b2b-color-grey-250);
|
|
245
245
|
background-color: var(--b2b-color-grey-25);
|
|
246
246
|
}
|
|
247
|
-
:host(.b2b-input) .
|
|
247
|
+
:host(.b2b-input) .b2b-input__wrapper--disabled .b2b-input__native-input {
|
|
248
248
|
background-color: var(--b2b-color-grey-25);
|
|
249
249
|
}
|
|
250
|
-
:host(.b2b-input) .
|
|
250
|
+
:host(.b2b-input) .b2b-input__wrapper .border {
|
|
251
251
|
border-left: 1px solid var(--b2b-color-grey-300);
|
|
252
252
|
height: 100%;
|
|
253
253
|
margin: 0 12px;
|
|
254
254
|
}
|
|
255
|
-
:host(.b2b-input) .
|
|
255
|
+
:host(.b2b-input) .b2b-input__wrapper .b2b-input__native-input {
|
|
256
256
|
font-family: var(--b2b-font-family-default);
|
|
257
257
|
font-size: var(--b2b-size-copy-100);
|
|
258
258
|
line-height: var(--b2b-size-copy-line-height-100);
|
|
@@ -264,7 +264,7 @@
|
|
|
264
264
|
flex: 1 1 auto;
|
|
265
265
|
width: 0;
|
|
266
266
|
}
|
|
267
|
-
:host(.b2b-input) .
|
|
267
|
+
:host(.b2b-input) .b2b-input__wrapper .b2b-input__native-input::placeholder {
|
|
268
268
|
color: var(--b2b-color-grey-300);
|
|
269
269
|
}
|
|
270
270
|
:host(.b2b-input) b2b-input-label {
|
|
@@ -278,19 +278,19 @@
|
|
|
278
278
|
margin-top: var(--b2b-size-10);
|
|
279
279
|
color: var(--b2b-color-grey-300);
|
|
280
280
|
}
|
|
281
|
-
:host(.b2b-input--error) .
|
|
282
|
-
:host(.b2b-input--error) .
|
|
281
|
+
:host(.b2b-input--error) .b2b-input__wrapper,
|
|
282
|
+
:host(.b2b-input--error) .b2b-input__native-input {
|
|
283
283
|
background-color: var(--b2b-color-error-50);
|
|
284
284
|
border: 1px solid var(--b2b-color-error-100);
|
|
285
285
|
border-right: var(--b2b-border-right);
|
|
286
286
|
border-color: var(--b2b-color-error-100);
|
|
287
287
|
color: var(--b2b-color-copy-default);
|
|
288
288
|
}
|
|
289
|
-
:host(.b2b-input--error) .
|
|
290
|
-
:host(.b2b-input--error) .
|
|
289
|
+
:host(.b2b-input--error) .b2b-input__wrapper::placeholder,
|
|
290
|
+
:host(.b2b-input--error) .b2b-input__native-input::placeholder {
|
|
291
291
|
color: var(--b2b-color-copy-default);
|
|
292
292
|
}
|
|
293
|
-
:host(.b2b-input--error) .
|
|
293
|
+
:host(.b2b-input--error) .b2b-input__input-wrapper--focused {
|
|
294
294
|
outline: 2px solid var(--b2b-color-error-100);
|
|
295
295
|
outline-offset: -1px;
|
|
296
296
|
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { newE2EPage } from '@stencil/core/testing';
|
|
2
|
+
describe('B2B-Input', () => {
|
|
3
|
+
let page;
|
|
4
|
+
beforeEach(async () => {
|
|
5
|
+
page = await newE2EPage();
|
|
6
|
+
await page.setContent(`
|
|
7
|
+
<b2b-input></b2b-input>
|
|
8
|
+
`);
|
|
9
|
+
});
|
|
10
|
+
it('should register input text when enabled', async () => {
|
|
11
|
+
const inputElement = await page.find('b2b-input');
|
|
12
|
+
const nativeInput = await page.find('b2b-input >>> input');
|
|
13
|
+
await nativeInput.type('a value');
|
|
14
|
+
let inputValue = inputElement.getAttribute('value');
|
|
15
|
+
expect(inputValue).toBe('a value');
|
|
16
|
+
});
|
|
17
|
+
it('should not receive input text when disabled', async () => {
|
|
18
|
+
const inputElement = await page.find('b2b-input');
|
|
19
|
+
inputElement.setAttribute('disabled', true);
|
|
20
|
+
await page.waitForChanges();
|
|
21
|
+
const nativeInput = await page.find('b2b-input >>> input');
|
|
22
|
+
await nativeInput.type('a value');
|
|
23
|
+
let inputValue = inputElement.getAttribute('value');
|
|
24
|
+
expect(inputValue).toBe(null);
|
|
25
|
+
});
|
|
26
|
+
it('should clear input when cleared called', async () => {
|
|
27
|
+
const inputElement = await page.find('b2b-input');
|
|
28
|
+
const nativeInput = await page.find('b2b-input >>> input');
|
|
29
|
+
await nativeInput.type('a value');
|
|
30
|
+
let inputValue = inputElement.getAttribute('value');
|
|
31
|
+
expect(inputValue).toBe('a value');
|
|
32
|
+
await inputElement.callMethod('clearInput');
|
|
33
|
+
await page.waitForChanges();
|
|
34
|
+
inputValue = inputElement.getAttribute('value');
|
|
35
|
+
expect(inputValue).toBe('');
|
|
36
|
+
});
|
|
37
|
+
it('should emit an empty value when cleared', async () => {
|
|
38
|
+
const onInputEventSpy = await page.spyOnEvent('b2b-input');
|
|
39
|
+
const inputElement = await page.find('b2b-input');
|
|
40
|
+
await inputElement.callMethod('clearInput');
|
|
41
|
+
expect(onInputEventSpy).toHaveReceivedEventDetail({ value: '' });
|
|
42
|
+
});
|
|
43
|
+
});
|
|
@@ -50,6 +50,7 @@ export class InputComponent {
|
|
|
50
50
|
this.hint = undefined;
|
|
51
51
|
this.error = undefined;
|
|
52
52
|
this.autofocus = false;
|
|
53
|
+
this.groupDisabled = false;
|
|
53
54
|
this.hasFocus = false;
|
|
54
55
|
this.hasTextPrefix = false;
|
|
55
56
|
this.hasTextSuffix = false;
|
|
@@ -78,10 +79,10 @@ export class InputComponent {
|
|
|
78
79
|
'b2b-input': true,
|
|
79
80
|
'b2b-input--error': this.invalid && !this.disabled,
|
|
80
81
|
} }, this.label && (h("b2b-input-label", { id: this.name, required: this.required }, this.label)), h("div", { class: {
|
|
81
|
-
'
|
|
82
|
-
'
|
|
83
|
-
'
|
|
84
|
-
} }, h("slot", { name: "start" }), this.hasTextPrefix && h("div", { class: "border" }), h("input", { class: "
|
|
82
|
+
'b2b-input__wrapper': true,
|
|
83
|
+
'b2b-input__wrapper--focused': this.hasFocus,
|
|
84
|
+
'b2b-input__wrapper--disabled': this.disabled || this.groupDisabled,
|
|
85
|
+
} }, h("slot", { name: "start" }), this.hasTextPrefix && h("div", { class: "border" }), h("input", { class: "b2b-input__native-input", "aria-labelledby": this.name, type: this.type, placeholder: this.placeholder, value: this.value, name: this.name, disabled: this.disabled || this.groupDisabled, autoFocus: this.autofocus, onFocus: this.onFocus, onBlur: this.onBlur, onInput: this.onInput, ref: el => (this.focusableElement = el) }), this.hasTextSuffix && h("div", { class: "border" }), h("slot", { name: "end" })), (this.hint !== undefined && !this.invalid) ||
|
|
85
86
|
(this.hint !== undefined && this.disabled) ? (h("span", null, this.hint)) : (''), this.error !== undefined && this.invalid && !this.disabled ? (h("span", null, this.error)) : ('')));
|
|
86
87
|
}
|
|
87
88
|
static get is() { return "b2b-input"; }
|
|
@@ -291,6 +292,27 @@ export class InputComponent {
|
|
|
291
292
|
"attribute": "autofocus",
|
|
292
293
|
"reflect": false,
|
|
293
294
|
"defaultValue": "false"
|
|
295
|
+
},
|
|
296
|
+
"groupDisabled": {
|
|
297
|
+
"type": "boolean",
|
|
298
|
+
"mutable": false,
|
|
299
|
+
"complexType": {
|
|
300
|
+
"original": "boolean",
|
|
301
|
+
"resolved": "boolean",
|
|
302
|
+
"references": {}
|
|
303
|
+
},
|
|
304
|
+
"required": false,
|
|
305
|
+
"optional": false,
|
|
306
|
+
"docs": {
|
|
307
|
+
"tags": [{
|
|
308
|
+
"name": "internal",
|
|
309
|
+
"text": "Whether the parent input group is disabled. Per default, it is false."
|
|
310
|
+
}],
|
|
311
|
+
"text": ""
|
|
312
|
+
},
|
|
313
|
+
"attribute": "group-disabled",
|
|
314
|
+
"reflect": false,
|
|
315
|
+
"defaultValue": "false"
|
|
294
316
|
}
|
|
295
317
|
};
|
|
296
318
|
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { newSpecPage } from '@stencil/core/testing';
|
|
2
|
+
import { h } from '@stencil/core';
|
|
3
|
+
import { InputComponent } from './input';
|
|
4
|
+
it('should render the input', async () => {
|
|
5
|
+
const page = await newSpecPage({
|
|
6
|
+
components: [InputComponent],
|
|
7
|
+
template: () => h("b2b-input", { label: "test" }),
|
|
8
|
+
});
|
|
9
|
+
expect(page.root).toMatchSnapshot();
|
|
10
|
+
});
|
|
11
|
+
it('should render with a placeholder', async () => {
|
|
12
|
+
const page = await newSpecPage({
|
|
13
|
+
components: [InputComponent],
|
|
14
|
+
template: () => (h("b2b-input", { label: "test", placeholder: "test placeholder" })),
|
|
15
|
+
});
|
|
16
|
+
expect(page.root).toMatchSnapshot();
|
|
17
|
+
});
|
|
18
|
+
it('should render a hint message if a hint string is specified', async () => {
|
|
19
|
+
const page = await newSpecPage({
|
|
20
|
+
components: [InputComponent],
|
|
21
|
+
template: () => (h("b2b-input", { label: "test", hint: "This is a test hint" })),
|
|
22
|
+
});
|
|
23
|
+
expect(page.root).toMatchSnapshot();
|
|
24
|
+
});
|
|
25
|
+
it('should apply an error style to the host element if invalid is set to true', async () => {
|
|
26
|
+
const page = await newSpecPage({
|
|
27
|
+
components: [InputComponent],
|
|
28
|
+
template: () => (h("b2b-input", { label: "test", error: "This is a test error", invalid: true })),
|
|
29
|
+
});
|
|
30
|
+
expect(page.root).toMatchSnapshot();
|
|
31
|
+
});
|
|
32
|
+
it('should render an error message if an error is specified and the input is set to invalid', async () => {
|
|
33
|
+
const page = await newSpecPage({
|
|
34
|
+
components: [InputComponent],
|
|
35
|
+
template: () => (h("b2b-input", { label: "test", error: "This is a test error", invalid: true })),
|
|
36
|
+
});
|
|
37
|
+
expect(page.root).toMatchSnapshot();
|
|
38
|
+
});
|
|
39
|
+
it('should render a hint if invalid and disabled are true at the same time', async () => {
|
|
40
|
+
const page = await newSpecPage({
|
|
41
|
+
components: [InputComponent],
|
|
42
|
+
template: () => (h("b2b-input", { label: "test", error: "This is a test error", hint: "This is a test hint", invalid: true, disabled: true })),
|
|
43
|
+
});
|
|
44
|
+
expect(page.root).toMatchSnapshot();
|
|
45
|
+
});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Do not edit directly
|
|
3
|
-
* Generated on
|
|
3
|
+
* Generated on Tue, 22 Aug 2023 11:28:34 GMT
|
|
4
4
|
*/
|
|
5
5
|
:root, :host {
|
|
6
6
|
--b2b-size-200: 5rem; /* 80px */
|
|
@@ -122,7 +122,7 @@
|
|
|
122
122
|
}
|
|
123
123
|
/**
|
|
124
124
|
* Do not edit directly
|
|
125
|
-
* Generated on
|
|
125
|
+
* Generated on Tue, 22 Aug 2023 11:28:34 GMT
|
|
126
126
|
*/
|
|
127
127
|
:root [data-theme="dark"] {
|
|
128
128
|
--b2b-size-200: 5rem; /* 80px */
|
|
@@ -219,14 +219,14 @@
|
|
|
219
219
|
width: 100%;
|
|
220
220
|
flex: 0 0 auto;
|
|
221
221
|
}
|
|
222
|
-
:host .b2b-input-
|
|
222
|
+
:host .b2b-input-wrapper__hint {
|
|
223
223
|
font-size: var(--b2b-size-copy-50);
|
|
224
224
|
line-height: var(--b2b-size-copy-line-height-75);
|
|
225
225
|
display: block;
|
|
226
226
|
margin-top: var(--b2b-size-10);
|
|
227
227
|
color: var(--b2b-color-grey-300);
|
|
228
228
|
}
|
|
229
|
-
:host .b2b-input-
|
|
229
|
+
:host .b2b-input-wrapper__hint--error {
|
|
230
230
|
color: var(--b2b-color-error-100);
|
|
231
231
|
}
|
|
232
232
|
::slotted(*[slot=start]) {
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { newE2EPage } from '@stencil/core/testing';
|
|
2
|
+
describe('B2B Input Group', () => {
|
|
3
|
+
let page;
|
|
4
|
+
beforeEach(async () => {
|
|
5
|
+
page = await newE2EPage();
|
|
6
|
+
await page.setContent(`
|
|
7
|
+
<b2b-input-group hint="A group hint" error="A group error">
|
|
8
|
+
<b2b-input slot="start" label="Search Term"></b2b-input>
|
|
9
|
+
<b2b-dropdown label="Data Set" invalid error="an error">
|
|
10
|
+
<option value="one">€</option>
|
|
11
|
+
<option value="one">$</option>
|
|
12
|
+
</b2b-dropdown>
|
|
13
|
+
<b2b-input label="Another input" invalid error="an error"></b2b-input>
|
|
14
|
+
<b2b-dropdown>
|
|
15
|
+
<option value="one">€</option>
|
|
16
|
+
<option value="one">$</option>
|
|
17
|
+
</b2b-dropdown>
|
|
18
|
+
<b2b-button slot="end" variant="primary" disabled><b2b-icon icon="b2b_icon-search"></b2b-icon></b2b-button>
|
|
19
|
+
</b2b-input-group>`);
|
|
20
|
+
});
|
|
21
|
+
it('should render the input group component', async () => {
|
|
22
|
+
const element = await page.find('b2b-input-group');
|
|
23
|
+
expect(element).not.toBeNull();
|
|
24
|
+
});
|
|
25
|
+
it('should disable the input group component', async () => {
|
|
26
|
+
const element = await page.find('b2b-input-group');
|
|
27
|
+
expect(element).not.toHaveAttribute('disabled');
|
|
28
|
+
element.setAttribute('disabled', true);
|
|
29
|
+
await page.waitForChanges();
|
|
30
|
+
expect(element).toHaveAttribute('disabled');
|
|
31
|
+
});
|
|
32
|
+
it('should disable individual elements of the group and keep their state when the group is dis- and enabled', async () => {
|
|
33
|
+
let button = await page.find('b2b-button');
|
|
34
|
+
expect(await button.getProperty('disabled')).toBe(true);
|
|
35
|
+
let group = await page.find('b2b-input-group');
|
|
36
|
+
await group.setProperty('disabled', true);
|
|
37
|
+
await page.waitForChanges();
|
|
38
|
+
expect(await group.getProperty('disabled')).toBe(true);
|
|
39
|
+
await group.setProperty('disabled', false);
|
|
40
|
+
await page.waitForChanges();
|
|
41
|
+
expect(await group.getProperty('disabled')).toBe(false);
|
|
42
|
+
expect(await button.getProperty('disabled')).toBe(true);
|
|
43
|
+
});
|
|
44
|
+
it('should render a group hint if one is specified', async () => {
|
|
45
|
+
const element = await page.find('b2b-input-group >>> span');
|
|
46
|
+
expect(element).toEqualText('A group hint');
|
|
47
|
+
});
|
|
48
|
+
it('should render a group error if one is specified and the group is set to invalid', async () => {
|
|
49
|
+
const element = await page.find('b2b-input-group');
|
|
50
|
+
const error = await page.find('b2b-input-group >>> span');
|
|
51
|
+
element.setAttribute('invalid', true);
|
|
52
|
+
await page.waitForChanges();
|
|
53
|
+
expect(error).toEqualText('A group error');
|
|
54
|
+
});
|
|
55
|
+
it('should not render a group error if the group is disabled', async () => {
|
|
56
|
+
const element = await page.find('b2b-input-group');
|
|
57
|
+
const hint = await page.find('b2b-input-group >>> span');
|
|
58
|
+
element.setAttribute('disabled', true);
|
|
59
|
+
expect(hint).toEqualText('A group hint');
|
|
60
|
+
});
|
|
61
|
+
it('should remove all children texts from individual components', async () => {
|
|
62
|
+
const input = await page.find('b2b-input');
|
|
63
|
+
expect(input.error).not.toBeDefined;
|
|
64
|
+
expect(input.hint).not.toBeDefined;
|
|
65
|
+
const dropdown = await page.find('b2b-dropdown');
|
|
66
|
+
expect(dropdown.error).not.toBeDefined;
|
|
67
|
+
expect(dropdown.hint).not.toBeDefined;
|
|
68
|
+
});
|
|
69
|
+
it('should not prevent individual events from being triggered in the children', async () => {
|
|
70
|
+
const input = await page.find('b2b-input >>> input');
|
|
71
|
+
const inputSpy = await page.spyOnEvent('b2b-input');
|
|
72
|
+
await input.press('KeyA');
|
|
73
|
+
await page.waitForChanges();
|
|
74
|
+
expect(inputSpy).toHaveReceivedEvent();
|
|
75
|
+
});
|
|
76
|
+
});
|
|
@@ -1,12 +1,6 @@
|
|
|
1
1
|
import { h, Host } from '@stencil/core';
|
|
2
2
|
export class B2BInputGroup {
|
|
3
3
|
constructor() {
|
|
4
|
-
this.getInitialState = () => {
|
|
5
|
-
const nodes = this.getChildNodes();
|
|
6
|
-
nodes.forEach(node => {
|
|
7
|
-
this.initialDisabled.push(node.disabled);
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
4
|
this.removeText = () => {
|
|
11
5
|
const nodes = this.getChildNodes();
|
|
12
6
|
nodes.forEach(node => {
|
|
@@ -35,8 +29,8 @@ export class B2BInputGroup {
|
|
|
35
29
|
});
|
|
36
30
|
}
|
|
37
31
|
else {
|
|
38
|
-
nodes.forEach(
|
|
39
|
-
node.
|
|
32
|
+
nodes.forEach(node => {
|
|
33
|
+
node.groupDisabled = this.disabled;
|
|
40
34
|
});
|
|
41
35
|
}
|
|
42
36
|
};
|
|
@@ -47,7 +41,6 @@ export class B2BInputGroup {
|
|
|
47
41
|
this.disabled = false;
|
|
48
42
|
this.error = undefined;
|
|
49
43
|
this.hint = undefined;
|
|
50
|
-
this.initialDisabled = [];
|
|
51
44
|
}
|
|
52
45
|
invalidChanged() {
|
|
53
46
|
this.toggleAllError();
|
|
@@ -62,15 +55,10 @@ export class B2BInputGroup {
|
|
|
62
55
|
this.toggleAllDisabled();
|
|
63
56
|
}
|
|
64
57
|
}
|
|
65
|
-
componentWillLoad() {
|
|
66
|
-
if (!this.disabled) {
|
|
67
|
-
this.getInitialState();
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
58
|
render() {
|
|
71
59
|
return (h(Host, null, h("div", { class: { 'b2b-input-wrapper': true } }, h("slot", { name: "start" }), h("slot", null), h("slot", { name: "end" })), (this.hint || (this.invalid && !this.disabled)) && (h("span", { class: {
|
|
72
|
-
'b2b-input-
|
|
73
|
-
'b2b-input-
|
|
60
|
+
'b2b-input-wrapper__hint': true,
|
|
61
|
+
'b2b-input-wrapper__hint--error': this.invalid && !this.disabled,
|
|
74
62
|
} }, this.invalid && !this.disabled ? this.error : this.hint))));
|
|
75
63
|
}
|
|
76
64
|
static get is() { return "b2b-input-group"; }
|
|
@@ -159,11 +147,6 @@ export class B2BInputGroup {
|
|
|
159
147
|
}
|
|
160
148
|
};
|
|
161
149
|
}
|
|
162
|
-
static get states() {
|
|
163
|
-
return {
|
|
164
|
-
"initialDisabled": {}
|
|
165
|
-
};
|
|
166
|
-
}
|
|
167
150
|
static get elementRef() { return "host"; }
|
|
168
151
|
static get watchers() {
|
|
169
152
|
return [{
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { newSpecPage } from '@stencil/core/testing';
|
|
2
|
+
import { h } from '@stencil/core';
|
|
3
|
+
import { B2BInputGroup } from './input-group';
|
|
4
|
+
import { InputComponent } from '../input/input';
|
|
5
|
+
import { ButtonComponent } from '../button/button';
|
|
6
|
+
import { DropdownComponent } from '../dropdown/dropdown';
|
|
7
|
+
describe('B2B Input Group', () => {
|
|
8
|
+
it('should render content wrapped in the input group', async () => {
|
|
9
|
+
const page = await newSpecPage({
|
|
10
|
+
components: [
|
|
11
|
+
B2BInputGroup,
|
|
12
|
+
InputComponent,
|
|
13
|
+
ButtonComponent,
|
|
14
|
+
DropdownComponent,
|
|
15
|
+
],
|
|
16
|
+
template: () => (h("b2b-input-group", null, h("b2b-input", { label: "Search Term" }), h("b2b-dropdown", null, h("option", { value: "data-1" }, "Data Set 1"), h("option", { value: "data-2" }, "Data Set 2")), h("b2b-button", { variant: "primary" }, "Search"))),
|
|
17
|
+
});
|
|
18
|
+
expect(page.root).toMatchSnapshot();
|
|
19
|
+
});
|
|
20
|
+
it('should render a group hint if it is specified', async () => {
|
|
21
|
+
const page = await newSpecPage({
|
|
22
|
+
components: [
|
|
23
|
+
B2BInputGroup,
|
|
24
|
+
InputComponent,
|
|
25
|
+
ButtonComponent,
|
|
26
|
+
DropdownComponent,
|
|
27
|
+
],
|
|
28
|
+
template: () => (h("b2b-input-group", { hint: "A group hint" }, h("b2b-input", { label: "Search Term" }), h("b2b-dropdown", null, h("option", { value: "data-1" }, "Data Set 1"), h("option", { value: "data-2" }, "Data Set 2")), h("b2b-button", { variant: "primary" }, "Search"))),
|
|
29
|
+
});
|
|
30
|
+
expect(page.root).toMatchSnapshot();
|
|
31
|
+
});
|
|
32
|
+
it('should render a group error if one is specified and the group is invalid', async () => {
|
|
33
|
+
const page = await newSpecPage({
|
|
34
|
+
components: [
|
|
35
|
+
B2BInputGroup,
|
|
36
|
+
InputComponent,
|
|
37
|
+
ButtonComponent,
|
|
38
|
+
DropdownComponent,
|
|
39
|
+
],
|
|
40
|
+
template: () => (h("b2b-input-group", { error: "A group error", invalid: true }, h("b2b-input", { label: "Search Term" }), h("b2b-dropdown", null, h("option", { value: "data-1" }, "Data Set 1"), h("option", { value: "data-2" }, "Data Set 2")), h("b2b-button", { variant: "primary" }, "Search"))),
|
|
41
|
+
});
|
|
42
|
+
expect(page.root).toMatchSnapshot();
|
|
43
|
+
});
|
|
44
|
+
it('should not render a group error if the group is invalid and disabled', async () => {
|
|
45
|
+
const page = await newSpecPage({
|
|
46
|
+
components: [
|
|
47
|
+
B2BInputGroup,
|
|
48
|
+
InputComponent,
|
|
49
|
+
ButtonComponent,
|
|
50
|
+
DropdownComponent,
|
|
51
|
+
],
|
|
52
|
+
template: () => (h("b2b-input-group", { invalid: true, disabled: true, hint: "A group hint", error: "A group error" }, h("b2b-input", { label: "Search Term" }), h("b2b-dropdown", null, h("option", { value: "data-1" }, "Data Set 1"), h("option", { value: "data-2" }, "Data Set 2")), h("b2b-button", { variant: "primary" }, "Search"))),
|
|
53
|
+
});
|
|
54
|
+
expect(page.root).toMatchSnapshot();
|
|
55
|
+
});
|
|
56
|
+
});
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { newE2EPage } from '@stencil/core/testing';
|
|
2
|
+
describe('b2b-input-label', () => {
|
|
3
|
+
it('renders', async () => {
|
|
4
|
+
const page = await newE2EPage();
|
|
5
|
+
await page.setContent('<b2b-input-label for="testId">A label</b2b-input-label>');
|
|
6
|
+
const element = await page.find('b2b-input-label');
|
|
7
|
+
expect(element).toHaveClass('hydrated');
|
|
8
|
+
expect(element).toBeDefined();
|
|
9
|
+
});
|
|
10
|
+
});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Do not edit directly
|
|
3
|
-
* Generated on
|
|
3
|
+
* Generated on Tue, 22 Aug 2023 11:28:34 GMT
|
|
4
4
|
*/
|
|
5
5
|
:root, :host {
|
|
6
6
|
--b2b-size-200: 5rem; /* 80px */
|
|
@@ -122,7 +122,7 @@
|
|
|
122
122
|
}
|
|
123
123
|
/**
|
|
124
124
|
* Do not edit directly
|
|
125
|
-
* Generated on
|
|
125
|
+
* Generated on Tue, 22 Aug 2023 11:28:34 GMT
|
|
126
126
|
*/
|
|
127
127
|
:root [data-theme="dark"] {
|
|
128
128
|
--b2b-size-200: 5rem; /* 80px */
|
|
@@ -228,22 +228,22 @@
|
|
|
228
228
|
.b2b-input-list.b2b-input-list__options-on b2b-input {
|
|
229
229
|
--b2b-border-radius: var(--b2b-size-border-no-radius-bottom);
|
|
230
230
|
}
|
|
231
|
-
.b2b-input-list.b2b-group-
|
|
231
|
+
.b2b-input-list.b2b-group-input__start b2b-input {
|
|
232
232
|
--b2b-border-radius: inherit;
|
|
233
233
|
--b2b-border-right: inherit;
|
|
234
234
|
}
|
|
235
|
-
.b2b-input-list.b2b-group-
|
|
235
|
+
.b2b-input-list.b2b-group-input__start.b2b-input-list__options-on b2b-input {
|
|
236
236
|
--b2b-border-radius: var(--b2b-size-border-radius-100) 0 0 0;
|
|
237
237
|
}
|
|
238
|
-
.b2b-input-list.b2b-group-
|
|
238
|
+
.b2b-input-list.b2b-group-input__middle b2b-input {
|
|
239
239
|
--b2b-border-radius: inherit;
|
|
240
240
|
--b2b-border-right: inherit;
|
|
241
241
|
}
|
|
242
|
-
.b2b-input-list.b2b-group-
|
|
242
|
+
.b2b-input-list.b2b-group-input__end b2b-input {
|
|
243
243
|
--b2b-border-radius: inherit;
|
|
244
244
|
--b2b-border-right: inherit;
|
|
245
245
|
}
|
|
246
|
-
.b2b-input-list.b2b-group-
|
|
246
|
+
.b2b-input-list.b2b-group-input__end.b2b-input-list__options-on b2b-input {
|
|
247
247
|
--b2b-border-radius: 0 var(--b2b-size-border-radius-100) 0 0;
|
|
248
248
|
}
|
|
249
249
|
.b2b-input-list.b2b-input-list__options-on:focus {
|