@otto-de/b2b-core-components 1.15.1 → 1.17.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/icons/b2b_icon-duplicate.svg +3 -0
- package/dist/b2b-core-components/icons-100/b2b_icon-duplicate.svg +3 -0
- package/dist/b2b-core-components/{p-56692503.entry.js → p-09172f4f.entry.js} +1 -1
- package/dist/b2b-core-components/{p-4b96e3f1.entry.js → p-11b2508b.entry.js} +1 -1
- package/dist/b2b-core-components/p-14381771.entry.js +1 -0
- package/dist/b2b-core-components/{p-cff628e7.entry.js → p-1cbadece.entry.js} +1 -1
- package/dist/b2b-core-components/{p-038a0f4a.entry.js → p-28b72b5d.entry.js} +1 -1
- package/dist/b2b-core-components/{p-9a655bb8.entry.js → p-29e0db6c.entry.js} +1 -1
- package/dist/b2b-core-components/{p-8000be8d.entry.js → p-309c3783.entry.js} +1 -1
- package/dist/b2b-core-components/{p-7e288599.entry.js → p-3398e7c1.entry.js} +1 -1
- package/dist/b2b-core-components/p-3a1d652c.entry.js +1 -0
- package/dist/b2b-core-components/{p-b2cc9955.entry.js → p-3d80464e.entry.js} +1 -1
- package/dist/b2b-core-components/p-441657b2.js +1 -0
- package/dist/b2b-core-components/{p-343078a1.entry.js → p-45981c03.entry.js} +1 -1
- package/dist/b2b-core-components/{p-5139e33a.entry.js → p-46a2adf6.entry.js} +1 -1
- package/dist/b2b-core-components/{p-f727e8dc.entry.js → p-4c00a1dd.entry.js} +1 -1
- package/dist/b2b-core-components/{p-7a82ba07.entry.js → p-4f968e70.entry.js} +1 -1
- package/dist/b2b-core-components/{p-695df630.entry.js → p-53bdbd74.entry.js} +1 -1
- package/dist/b2b-core-components/{p-3249337d.entry.js → p-554dc9a3.entry.js} +1 -1
- package/dist/b2b-core-components/{p-b97cce50.entry.js → p-5f0a5aa1.entry.js} +1 -1
- package/dist/b2b-core-components/{p-c0ac6164.entry.js → p-63c69a7a.entry.js} +1 -1
- package/dist/b2b-core-components/{p-c46f674e.entry.js → p-6a5cd1a6.entry.js} +1 -1
- package/dist/b2b-core-components/{p-827e29e8.entry.js → p-6b8c9eaf.entry.js} +1 -1
- package/dist/b2b-core-components/{p-1feda700.entry.js → p-74d4bce8.entry.js} +1 -1
- package/dist/b2b-core-components/{p-3b0998d6.entry.js → p-78becf06.entry.js} +1 -1
- package/dist/b2b-core-components/{p-ab5470b1.entry.js → p-7a43a9bd.entry.js} +1 -1
- package/dist/b2b-core-components/{p-57a450fb.entry.js → p-7b2948aa.entry.js} +1 -1
- package/dist/b2b-core-components/p-7b7d53ca.entry.js +1 -0
- package/dist/b2b-core-components/{p-a6bb2610.entry.js → p-874c5b8e.entry.js} +1 -1
- package/dist/b2b-core-components/{p-b6545cbd.entry.js → p-8b2a93f7.entry.js} +1 -1
- package/dist/b2b-core-components/{p-37d472be.entry.js → p-8c534264.entry.js} +1 -1
- package/dist/b2b-core-components/{p-4d32cb20.entry.js → p-921e7a37.entry.js} +1 -1
- package/dist/b2b-core-components/{p-eea515b3.entry.js → p-94ec1d3c.entry.js} +1 -1
- package/dist/b2b-core-components/{p-02f15c3b.entry.js → p-95b3ff43.entry.js} +1 -1
- package/dist/b2b-core-components/{p-915b5435.entry.js → p-a2c5e53d.entry.js} +1 -1
- package/dist/b2b-core-components/{p-a82d46df.entry.js → p-a84a3f22.entry.js} +1 -1
- package/dist/b2b-core-components/{p-3eed5a96.entry.js → p-a8bb9827.entry.js} +1 -1
- package/dist/b2b-core-components/p-b1156a34.entry.js +1 -0
- package/dist/b2b-core-components/{p-43736fcf.entry.js → p-b2c3c511.entry.js} +1 -1
- package/dist/b2b-core-components/{p-8b63166d.entry.js → p-b8f9b227.entry.js} +1 -1
- package/dist/b2b-core-components/{p-a7bf8a8d.entry.js → p-bb0e35c5.entry.js} +1 -1
- package/dist/b2b-core-components/{p-3d2bcff9.entry.js → p-bbb4d24e.entry.js} +1 -1
- package/dist/b2b-core-components/{p-e78ef517.entry.js → p-c2fdbeb4.entry.js} +1 -1
- package/dist/b2b-core-components/{p-4b431289.entry.js → p-ca5a189f.entry.js} +1 -1
- package/dist/b2b-core-components/{p-8bde6dd3.entry.js → p-cd7289c8.entry.js} +1 -1
- package/dist/b2b-core-components/p-d0e8d48b.entry.js +1 -0
- package/dist/b2b-core-components/{p-c95e15c5.entry.js → p-d1a46a6d.entry.js} +1 -1
- package/dist/b2b-core-components/{p-7ba3e59f.entry.js → p-def48eec.entry.js} +1 -1
- package/dist/b2b-core-components/{p-45d76e40.entry.js → p-e1cc5c5b.entry.js} +1 -1
- package/dist/b2b-core-components/p-ffff2d15.entry.js +1 -0
- package/dist/cjs/b2b-button_2.cjs.entry.js +1 -1
- package/dist/cjs/b2b-card.cjs.entry.js +2 -2
- package/dist/cjs/b2b-checkbox-group.cjs.entry.js +2 -2
- package/dist/cjs/b2b-checkbox.cjs.entry.js +2 -2
- package/dist/cjs/b2b-chip-component_2.cjs.entry.js +4 -4
- package/dist/cjs/b2b-core-components.cjs.js +1 -1
- package/dist/cjs/b2b-date-picker-days_5.cjs.entry.js +444 -0
- package/dist/cjs/b2b-date-picker.cjs.entry.js +323 -0
- package/dist/cjs/b2b-dropdown.cjs.entry.js +2 -2
- package/dist/cjs/b2b-flyout-menu-option.cjs.entry.js +3 -3
- package/dist/cjs/b2b-flyout-menu.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-icon-100.cjs.entry.js +1 -0
- package/dist/cjs/b2b-icon.cjs.entry.js +1 -0
- package/dist/cjs/b2b-input-group_2.cjs.entry.js +3 -3
- package/dist/cjs/b2b-input-label.cjs.entry.js +2 -2
- package/dist/cjs/b2b-input_2.cjs.entry.js +5 -5
- package/dist/cjs/b2b-label.cjs.entry.js +2 -2
- package/dist/cjs/b2b-modal.cjs.entry.js +2 -2
- package/dist/cjs/b2b-multiselect-dropdown.cjs.entry.js +3 -3
- package/dist/cjs/b2b-pagination.cjs.entry.js +1 -1
- package/dist/cjs/b2b-paragraph.cjs.entry.js +2 -2
- package/dist/cjs/b2b-progress-bar.cjs.entry.js +3 -3
- package/dist/cjs/b2b-radio-button.cjs.entry.js +2 -2
- package/dist/cjs/b2b-radio-group.cjs.entry.js +2 -2
- package/dist/cjs/b2b-required-separator.cjs.entry.js +1 -1
- package/dist/cjs/b2b-rounded-icon.cjs.entry.js +4 -4
- 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 +2 -2
- package/dist/cjs/b2b-table-cell_2.cjs.entry.js +3 -3
- package/dist/cjs/b2b-table-row.cjs.entry.js +2 -2
- package/dist/cjs/b2b-table-rowgroup.cjs.entry.js +2 -2
- package/dist/cjs/b2b-table.cjs.entry.js +2 -2
- package/dist/cjs/b2b-textarea.cjs.entry.js +2 -2
- package/dist/cjs/b2b-toggle-button.cjs.entry.js +3 -3
- package/dist/cjs/b2b-toggle-chip.cjs.entry.js +3 -3
- package/dist/cjs/b2b-toggle-group.cjs.entry.js +2 -2
- package/dist/cjs/b2b-toggle-switch.cjs.entry.js +4 -4
- package/dist/cjs/b2b-tooltip.cjs.entry.js +3 -3
- package/dist/cjs/b2b-wizard-icon.cjs.entry.js +1 -1
- package/dist/cjs/b2b-wizard-step.cjs.entry.js +2 -2
- package/dist/cjs/b2b-wizard.cjs.entry.js +1 -1
- package/dist/cjs/date-picker.types-79f4bba0.js +26 -0
- package/dist/cjs/index-668808fd.js +8 -8
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +6 -4
- package/dist/collection/components/alert/alert.css +2 -2
- package/dist/collection/components/anchor/anchor.css +2 -2
- package/dist/collection/components/breadcrumb/breadcrumb.css +2 -2
- package/dist/collection/components/button/button.css +2 -2
- package/dist/collection/components/card/card.css +2 -2
- package/dist/collection/components/card/card.js +2 -2
- package/dist/collection/components/checkbox/checkbox.css +2 -2
- package/dist/collection/components/checkbox/checkbox.js +2 -2
- package/dist/collection/components/checkbox-group/checkbox-group.css +2 -2
- package/dist/collection/components/checkbox-group/checkbox-group.js +2 -2
- package/dist/collection/components/chip/chip.css +2 -2
- package/dist/collection/components/chip/chip.js +2 -2
- package/dist/collection/components/{calendar/calendar-days-header.css → date-picker/date-picker-days-header.css} +6 -6
- package/dist/collection/components/date-picker/date-picker-days-header.js +29 -0
- package/dist/collection/components/{calendar/calendar-days.css → date-picker/date-picker-days.css} +15 -16
- package/dist/collection/components/{calendar/calendar-days.js → date-picker/date-picker-days.js} +38 -22
- package/dist/collection/components/{calendar/calendar-header.css → date-picker/date-picker-header.css} +29 -25
- package/dist/collection/components/date-picker/date-picker-header.e2e.js +38 -0
- package/dist/collection/components/date-picker/date-picker-header.js +152 -0
- package/dist/collection/components/{calendar/calendar.css → date-picker/date-picker-months.css} +25 -40
- package/dist/collection/components/date-picker/date-picker-months.e2e.js +39 -0
- package/dist/collection/components/date-picker/date-picker-months.js +143 -0
- package/dist/collection/components/date-picker/date-picker-years.css +252 -0
- package/dist/collection/components/date-picker/date-picker-years.e2e.js +39 -0
- package/dist/collection/components/date-picker/date-picker-years.js +175 -0
- package/dist/collection/components/date-picker/date-picker.css +324 -0
- package/dist/collection/components/date-picker/date-picker.e2e.js +136 -0
- package/dist/collection/components/date-picker/date-picker.js +514 -0
- package/dist/collection/components/date-picker/date-picker.stories.js +104 -0
- package/dist/collection/components/{calendar/calendar.types.js → date-picker/date-picker.types.js} +6 -0
- package/dist/collection/components/dropdown/dropdown.css +2 -2
- package/dist/collection/components/dropdown/dropdown.js +2 -2
- package/dist/collection/components/flyout-menu/flyout-menu-option.css +235 -0
- package/dist/collection/components/flyout-menu/flyout-menu-option.js +4 -3
- package/dist/collection/components/flyout-menu/flyout-menu.css +2 -2
- package/dist/collection/components/flyout-menu/flyout-menu.e2e.js +1 -1
- package/dist/collection/components/flyout-menu/flyout-menu.js +3 -3
- package/dist/collection/components/grid/column.js +1 -1
- package/dist/collection/components/grid/grid.js +1 -1
- package/dist/collection/components/grid/row.js +2 -2
- package/dist/collection/components/headline/headline.css +2 -2
- package/dist/collection/components/icon/icon.css +2 -2
- package/dist/collection/components/icon/icon.js +1 -1
- package/dist/collection/components/icon/icons/b2b_icon-duplicate.svg +3 -0
- package/dist/collection/components/icon/types.js +1 -0
- package/dist/collection/components/icon-100/icon-100.css +2 -2
- package/dist/collection/components/icon-100/icon-100.js +1 -1
- package/dist/collection/components/icon-100/icons-100/b2b_icon-duplicate.svg +3 -0
- package/dist/collection/components/icon-100/types.js +1 -0
- package/dist/collection/components/icon-50/icon-50.css +2 -2
- package/dist/collection/components/input/input.css +2 -2
- package/dist/collection/components/input/input.js +4 -4
- package/dist/collection/components/input-group/input-group.css +2 -2
- package/dist/collection/components/input-group/input-group.js +1 -1
- package/dist/collection/components/input-label/input-label.js +2 -2
- package/dist/collection/components/input-list/input-list-option.js +1 -1
- package/dist/collection/components/input-list/input-list.css +2 -2
- package/dist/collection/components/input-list/input-list.js +2 -2
- package/dist/collection/components/label/label.css +2 -2
- package/dist/collection/components/label/label.js +2 -2
- package/dist/collection/components/modal/modal.css +2 -2
- package/dist/collection/components/modal/modal.js +2 -2
- package/dist/collection/components/multiselect-dropdown/multiselect-dropdown.css +2 -2
- package/dist/collection/components/multiselect-dropdown/multiselect-dropdown.js +3 -3
- package/dist/collection/components/multiselect-dropdown/multiselect-option/multiselect-option.js +2 -2
- package/dist/collection/components/pagination/pagination.css +2 -2
- package/dist/collection/components/pagination/pagination.js +1 -1
- package/dist/collection/components/paragraph/paragraph.css +2 -2
- package/dist/collection/components/paragraph/paragraph.js +2 -2
- package/dist/collection/components/progress-bar/progress-bar.css +2 -2
- package/dist/collection/components/progress-bar/progress-bar.js +3 -3
- package/dist/collection/components/radio/radio.css +2 -2
- package/dist/collection/components/radio/radio.js +2 -2
- package/dist/collection/components/radio-group/radio-group.css +2 -2
- package/dist/collection/components/radio-group/radio-group.js +2 -2
- package/dist/collection/components/required-separator/required-separator.css +2 -2
- 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/rounded-icon/rounded-icon.js +4 -4
- package/dist/collection/components/scrollable-container/scrollable-container.css +2 -2
- package/dist/collection/components/scrollable-container/scrollable-container.js +1 -1
- package/dist/collection/components/search/search.js +1 -1
- package/dist/collection/components/separator/separator.css +2 -2
- package/dist/collection/components/separator/separator.js +1 -1
- package/dist/collection/components/spinner/spinner.css +2 -2
- package/dist/collection/components/spinner/spinner.js +1 -1
- package/dist/collection/components/tab/tab.css +2 -2
- package/dist/collection/components/tab/tab.js +2 -2
- package/dist/collection/components/tab-group/tab-group.js +1 -1
- package/dist/collection/components/tab-panel/tab-panel.css +2 -2
- package/dist/collection/components/tab-panel/tab-panel.js +1 -1
- package/dist/collection/components/table/table-cell/table-cell.css +2 -2
- package/dist/collection/components/table/table-cell/table-cell.js +2 -2
- package/dist/collection/components/table/table-header/table-header.css +2 -2
- package/dist/collection/components/table/table-header/table-header.js +1 -1
- package/dist/collection/components/table/table-row/table-row.css +2 -2
- package/dist/collection/components/table/table-row/table-row.js +2 -2
- package/dist/collection/components/table/table-rowgroup/table-rowgroup.css +2 -2
- package/dist/collection/components/table/table-rowgroup/table-rowgroup.js +2 -2
- package/dist/collection/components/table/table.css +2 -2
- package/dist/collection/components/table/table.js +2 -2
- package/dist/collection/components/textarea/textarea.css +2 -2
- package/dist/collection/components/textarea/textarea.js +2 -2
- package/dist/collection/components/toggle-button/toggle-button.css +2 -2
- package/dist/collection/components/toggle-button/toggle-button.js +3 -3
- package/dist/collection/components/toggle-chip/toggle-chip.css +2 -2
- package/dist/collection/components/toggle-chip/toggle-chip.js +3 -3
- package/dist/collection/components/toggle-group/toggle-group.css +2 -2
- package/dist/collection/components/toggle-group/toggle-group.js +2 -2
- package/dist/collection/components/toggle-switch/toggle-switch.css +2 -2
- package/dist/collection/components/toggle-switch/toggle-switch.js +4 -4
- package/dist/collection/components/tooltip/tooltip.css +2 -2
- package/dist/collection/components/tooltip/tooltip.js +3 -3
- package/dist/collection/components/wizard/wizard-step.js +2 -2
- package/dist/collection/components/wizard/wizard.css +2 -2
- package/dist/collection/components/wizard/wizard.js +1 -1
- package/dist/collection/components/wizard-icon/wizard-icon.css +2 -2
- package/dist/collection/components/wizard-icon/wizard-icon.js +1 -1
- package/dist/components/b2b-card.js +2 -2
- package/dist/components/b2b-checkbox-group.js +2 -2
- package/dist/components/b2b-date-picker-days-header.d.ts +11 -0
- package/dist/components/b2b-date-picker-days-header.js +6 -0
- package/dist/components/{b2b-calendar-header.d.ts → b2b-date-picker-days.d.ts} +4 -4
- package/dist/components/b2b-date-picker-days.js +6 -0
- package/dist/components/b2b-date-picker-header.d.ts +11 -0
- package/dist/components/b2b-date-picker-header.js +6 -0
- package/dist/components/b2b-date-picker-months.d.ts +11 -0
- package/dist/components/b2b-date-picker-months.js +6 -0
- package/dist/components/{b2b-calendar-days.d.ts → b2b-date-picker-years.d.ts} +4 -4
- package/dist/components/b2b-date-picker-years.js +6 -0
- package/dist/components/{b2b-calendar.d.ts → b2b-date-picker.d.ts} +4 -4
- package/dist/components/b2b-date-picker.js +396 -0
- package/dist/components/b2b-dropdown.js +2 -2
- package/dist/components/b2b-flyout-menu-option.js +5 -4
- package/dist/components/b2b-flyout-menu.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-icon-100.js +1 -0
- package/dist/components/b2b-label.js +2 -2
- package/dist/components/b2b-modal.js +2 -2
- package/dist/components/b2b-multiselect-dropdown.js +3 -3
- package/dist/components/b2b-pagination.js +1 -1
- package/dist/components/b2b-paragraph.js +2 -2
- package/dist/components/b2b-progress-bar.js +3 -3
- package/dist/components/b2b-radio-button.js +2 -2
- package/dist/components/b2b-radio-group.js +2 -2
- package/dist/components/b2b-required-separator.js +1 -1
- 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 +2 -2
- package/dist/components/b2b-table-row.js +2 -2
- package/dist/components/b2b-table-rowgroup.js +2 -2
- package/dist/components/b2b-table.js +2 -2
- package/dist/components/b2b-textarea.js +2 -2
- package/dist/components/b2b-toggle-button.js +3 -3
- package/dist/components/b2b-toggle-chip.js +3 -3
- package/dist/components/b2b-toggle-group.js +2 -2
- package/dist/components/b2b-toggle-switch.js +4 -4
- package/dist/components/b2b-tooltip.js +3 -3
- package/dist/components/b2b-wizard-step.js +2 -2
- package/dist/components/b2b-wizard.js +1 -1
- package/dist/components/checkbox.js +2 -2
- package/dist/components/chip.js +2 -2
- package/dist/components/date-picker-days-header.js +40 -0
- package/dist/components/date-picker-days.js +202 -0
- package/dist/components/date-picker-header.js +77 -0
- package/dist/components/date-picker-months.js +103 -0
- package/dist/components/date-picker-years.js +131 -0
- package/dist/components/date-picker.types.js +23 -0
- package/dist/components/icon.js +1 -0
- package/dist/components/input-group.js +1 -1
- package/dist/components/input-label.js +2 -2
- package/dist/components/input-list-option.js +1 -1
- package/dist/components/input-list.js +2 -2
- package/dist/components/input.js +4 -4
- package/dist/components/multiselect-option.js +2 -2
- package/dist/components/rounded-icon.js +4 -4
- package/dist/components/separator.js +1 -1
- package/dist/components/spinner.js +1 -1
- package/dist/components/table-cell.js +2 -2
- package/dist/components/table-header.js +1 -1
- package/dist/components/wizard-icon.js +1 -1
- package/dist/custom-elements.json +123 -83
- package/dist/esm/b2b-button_2.entry.js +1 -1
- package/dist/esm/b2b-card.entry.js +2 -2
- package/dist/esm/b2b-checkbox-group.entry.js +2 -2
- package/dist/esm/b2b-checkbox.entry.js +2 -2
- package/dist/esm/b2b-chip-component_2.entry.js +4 -4
- package/dist/esm/b2b-core-components.js +1 -1
- package/dist/esm/b2b-date-picker-days_5.entry.js +436 -0
- package/dist/esm/b2b-date-picker.entry.js +319 -0
- package/dist/esm/b2b-dropdown.entry.js +2 -2
- package/dist/esm/b2b-flyout-menu-option.entry.js +3 -3
- package/dist/esm/b2b-flyout-menu.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-icon-100.entry.js +1 -0
- package/dist/esm/b2b-icon.entry.js +1 -0
- package/dist/esm/b2b-input-group_2.entry.js +3 -3
- package/dist/esm/b2b-input-label.entry.js +2 -2
- package/dist/esm/b2b-input_2.entry.js +5 -5
- package/dist/esm/b2b-label.entry.js +2 -2
- package/dist/esm/b2b-modal.entry.js +2 -2
- package/dist/esm/b2b-multiselect-dropdown.entry.js +3 -3
- package/dist/esm/b2b-pagination.entry.js +1 -1
- package/dist/esm/b2b-paragraph.entry.js +2 -2
- package/dist/esm/b2b-progress-bar.entry.js +3 -3
- package/dist/esm/b2b-radio-button.entry.js +2 -2
- package/dist/esm/b2b-radio-group.entry.js +2 -2
- package/dist/esm/b2b-required-separator.entry.js +1 -1
- package/dist/esm/b2b-rounded-icon.entry.js +4 -4
- 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 +2 -2
- package/dist/esm/b2b-table-cell_2.entry.js +3 -3
- package/dist/esm/b2b-table-row.entry.js +2 -2
- package/dist/esm/b2b-table-rowgroup.entry.js +2 -2
- package/dist/esm/b2b-table.entry.js +2 -2
- package/dist/esm/b2b-textarea.entry.js +2 -2
- package/dist/esm/b2b-toggle-button.entry.js +3 -3
- package/dist/esm/b2b-toggle-chip.entry.js +3 -3
- package/dist/esm/b2b-toggle-group.entry.js +2 -2
- package/dist/esm/b2b-toggle-switch.entry.js +4 -4
- package/dist/esm/b2b-tooltip.entry.js +3 -3
- package/dist/esm/b2b-wizard-icon.entry.js +1 -1
- package/dist/esm/b2b-wizard-step.entry.js +2 -2
- package/dist/esm/b2b-wizard.entry.js +1 -1
- package/dist/esm/date-picker.types-e21b2096.js +23 -0
- package/dist/esm/index-ab9eb36d.js +8 -8
- package/dist/esm/loader.js +1 -1
- package/dist/types/components/date-picker/date-picker-days-header.d.ts +5 -0
- package/dist/types/components/{calendar/calendar-days.d.ts → date-picker/date-picker-days.d.ts} +8 -5
- package/dist/types/components/date-picker/date-picker-header.d.ts +16 -0
- package/dist/types/components/date-picker/date-picker-months.d.ts +15 -0
- package/dist/types/components/date-picker/date-picker-years.d.ts +19 -0
- package/dist/types/components/date-picker/date-picker.d.ts +60 -0
- package/dist/types/components/{calendar/calendar.stories.d.ts → date-picker/date-picker.stories.d.ts} +2 -0
- package/dist/types/components/{calendar/calendar.types.d.ts → date-picker/date-picker.types.d.ts} +5 -0
- package/dist/types/components/icon/types.d.ts +1 -1
- package/dist/types/components/icon-100/types.d.ts +1 -1
- package/dist/types/components.d.ts +320 -219
- package/dist/types/utils/interfaces/form.interface.d.ts +16 -1
- package/dist/types/utils/interfaces/interaction.interface.d.ts +1 -3
- package/dist/web-types.json +317 -221
- package/package.json +2 -2
- package/dist/b2b-core-components/p-0291eff0.entry.js +0 -1
- package/dist/b2b-core-components/p-0db8724d.entry.js +0 -1
- package/dist/b2b-core-components/p-1a0a4821.entry.js +0 -1
- package/dist/b2b-core-components/p-1bfac51e.entry.js +0 -1
- package/dist/b2b-core-components/p-4c411fa7.entry.js +0 -1
- package/dist/b2b-core-components/p-9983bb49.entry.js +0 -1
- package/dist/cjs/b2b-calendar-days_3.cjs.entry.js +0 -228
- package/dist/cjs/b2b-calendar.cjs.entry.js +0 -113
- package/dist/collection/components/calendar/calendar-days-header.js +0 -29
- package/dist/collection/components/calendar/calendar-header.e2e.js +0 -22
- package/dist/collection/components/calendar/calendar-header.js +0 -111
- package/dist/collection/components/calendar/calendar.e2e.js +0 -67
- package/dist/collection/components/calendar/calendar.js +0 -245
- package/dist/collection/components/calendar/calendar.stories.js +0 -81
- package/dist/components/b2b-calendar-days-header.d.ts +0 -11
- package/dist/components/b2b-calendar-days-header.js +0 -6
- package/dist/components/b2b-calendar-days.js +0 -6
- package/dist/components/b2b-calendar-header.js +0 -6
- package/dist/components/b2b-calendar.js +0 -167
- package/dist/components/calendar-days-header.js +0 -40
- package/dist/components/calendar-days.js +0 -186
- package/dist/components/calendar-header.js +0 -56
- package/dist/components/calendar.types.js +0 -17
- package/dist/esm/b2b-calendar-days_3.entry.js +0 -222
- package/dist/esm/b2b-calendar.entry.js +0 -109
- package/dist/types/components/calendar/calendar-days-header.d.ts +0 -5
- package/dist/types/components/calendar/calendar-header.d.ts +0 -14
- package/dist/types/components/calendar/calendar.d.ts +0 -31
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
|
|
2
|
+
|
|
3
|
+
const datePickerDaysCss = ":root,:host{--b2b-size-200:5rem;--b2b-size-160:4rem;--b2b-size-150:3.75rem;--b2b-size-140:3.5rem;--b2b-size-120:3rem;--b2b-size-100:2.5rem;--b2b-size-90:2.25rem;--b2b-size-80:2rem;--b2b-size-70:1.75rem;--b2b-size-60:1.5rem;--b2b-size-55:1.375rem;--b2b-size-53:1.3125rem;--b2b-size-50:1.25rem;--b2b-size-45:1.125rem;--b2b-size-40:1rem;--b2b-size-35:0.875rem;--b2b-size-30:0.75rem;--b2b-size-25:0.625rem;--b2b-size-20:0.5rem;--b2b-size-15:0.375rem;--b2b-size-10:0.25rem;--b2b-size-7:0.1875rem;--b2b-size-5:0.125rem;--b2b-size-1:0.0625rem;--b2b-font-weight-bold:700;--b2b-font-weight-normal:500;--b2b-font-weight-thin:100;--b2b-font-family-default:OttoSans, Arial, Helvetica, sans-serif;--b2b-color-table-expand-hover:#e6f4ff;--b2b-color-table-selected-default:#cce9ff;--b2b-color-background-overlay-transparent-40:rgba(34, 34, 34, 0.25);--b2b-color-background-overlay-transparent-80:rgba(34, 34, 34, 0.5);--b2b-color-hover:#e6f4ff;--b2b-color-info-100:#003264;--b2b-color-info-50:#ccd6e0;--b2b-color-success-100:#326400;--b2b-color-success-50:#d6e0cc;--b2b-color-warning-100:#ffb432;--b2b-color-warning-50:#ffd998;--b2b-color-error-100:#e6344b;--b2b-color-primary:#d4021d;--b2b-color-red-250:#850012;--b2b-color-red-200:#bb0004;--b2b-color-red-150:#e6344b;--b2b-color-red-100:#d4021d;--b2b-color-red-50:#ffdde3;--b2b-color-grey-400:#777777;--b2b-color-grey-300:#9e9e9e;--b2b-color-grey-250:#b1b1b1;--b2b-color-grey-200:#c4c4c4;--b2b-color-grey-150:#d5d5d5;--b2b-color-grey-100:#e6e6e6;--b2b-color-grey-50:#eeeeee;--b2b-color-grey-25:#f6f6f6;--b2b-color-white-100:#ffffff;--b2b-color-black-100:#222222;--b2b-color-black-50:#333333;--b2b-size-headline-line-height-400:var(--b2b-size-60);--b2b-size-headline-line-height-200:var(--b2b-size-60);--b2b-size-headline-line-height-100:var(--b2b-size-60);--b2b-size-headline-400:var(--b2b-size-60);--b2b-size-headline-200:var(--b2b-size-45);--b2b-size-headline-100:var(--b2b-size-40);--b2b-size-copy-line-height-300:var(--b2b-size-90);--b2b-size-copy-line-height-200:var(--b2b-size-60);--b2b-size-copy-line-height-125:var(--b2b-size-60);--b2b-size-copy-line-height-100:var(--b2b-size-53);--b2b-size-copy-line-height-75:var(--b2b-size-45);--b2b-size-copy-line-height-50:var(--b2b-size-40);--b2b-size-copy-300:var(--b2b-size-60);--b2b-size-copy-200:var(--b2b-size-45);--b2b-size-copy-125:var(--b2b-size-40);--b2b-size-copy-100:var(--b2b-size-35);--b2b-size-copy-50:var(--b2b-size-30);--b2b-size-border-no-radius-bottom:var(--b2b-size-7) var(--b2b-size-7) 0 0;--b2b-size-border-no-radius-top:0 0 var(--b2b-size-7) var(--b2b-size-7);--b2b-size-border-no-radius-right:var(--b2b-size-7) 0 0 var(--b2b-size-7);--b2b-size-border-no-radius-left:0 var(--b2b-size-7) var(--b2b-size-7) 0;--b2b-size-border-radius-100:var(--b2b-size-7);--b2b-size-border-width-150:var(--b2b-size-10);--b2b-size-border-width-100:var(--b2b-size-5);--b2b-size-border-width-50:var(--b2b-size-1);--b2b-size-padding-175:var(--b2b-size-80);--b2b-size-padding-150:var(--b2b-size-60);--b2b-size-padding-100:var(--b2b-size-40);--b2b-size-padding-50:var(--b2b-size-20);--b2b-size-space-300:var(--b2b-size-200);--b2b-size-space-250:var(--b2b-size-160);--b2b-size-space-200:var(--b2b-size-100);--b2b-size-space-175:var(--b2b-size-80);--b2b-size-space-150:var(--b2b-size-60);--b2b-size-space-100:var(--b2b-size-40);--b2b-size-space-75:var(--b2b-size-30);--b2b-size-space-50:var(--b2b-size-20);--b2b-size-space-25:var(--b2b-size-10);--b2b-size-icon-400:var(--b2b-size-120);--b2b-size-icon-200:var(--b2b-size-80);--b2b-size-icon-100:var(--b2b-size-60);--b2b-size-icon-50:var(--b2b-size-40);--b2b-color-table-expand-default:var(--b2b-color-grey-25);--b2b-color-icon-inverted:var(--b2b-color-white-100);--b2b-color-icon-secondary:var(--b2b-color-grey-400);--b2b-color-icon-default:var(--b2b-color-black-100);--b2b-color-headline-inverted:var(--b2b-color-white-100);--b2b-color-headline-default:var(--b2b-color-black-100);--b2b-color-headline-title:var(--b2b-color-red-100);--b2b-color-copy-overlay:var(--b2b-color-white-100);--b2b-color-copy-inverted:var(--b2b-color-white-100);--b2b-color-copy-secondary:var(--b2b-color-grey-400);--b2b-color-copy-default:var(--b2b-color-black-100);--b2b-color-border-100:var(--b2b-color-grey-200);--b2b-color-background-overlay:var(--b2b-color-black-100);--b2b-color-background-card:var(--b2b-color-white-100);--b2b-color-background-box:var(--b2b-color-white-100);--b2b-color-background-page:var(--b2b-color-grey-25);--b2b-color-error-50:var(--b2b-color-red-50)}:root [data-theme=\"dark\"]{--b2b-size-200:5rem;--b2b-size-160:4rem;--b2b-size-150:3.75rem;--b2b-size-140:3.5rem;--b2b-size-120:3rem;--b2b-size-100:2.5rem;--b2b-size-90:2.25rem;--b2b-size-80:2rem;--b2b-size-70:1.75rem;--b2b-size-60:1.5rem;--b2b-size-55:1.375rem;--b2b-size-53:1.3125rem;--b2b-size-50:1.25rem;--b2b-size-45:1.125rem;--b2b-size-40:1rem;--b2b-size-35:0.875rem;--b2b-size-30:0.75rem;--b2b-size-25:0.625rem;--b2b-size-20:0.5rem;--b2b-size-15:0.375rem;--b2b-size-10:0.25rem;--b2b-size-7:0.1875rem;--b2b-size-5:0.125rem;--b2b-size-1:0.0625rem;--b2b-font-weight-bold:700;--b2b-font-weight-normal:500;--b2b-font-weight-thin:100;--b2b-font-family-default:OttoSans, Arial, Helvetica, sans-serif;--b2b-color-hover:#e6f4ff;--b2b-color-info-100:#003264;--b2b-color-info-50:#ccd6e0;--b2b-color-success-100:#326400;--b2b-color-success-50:#d6e0cc;--b2b-color-warning-100:#ffb432;--b2b-color-warning-50:#ffd998;--b2b-color-error-100:#e6344b;--b2b-color-primary:#d4021d;--b2b-color-red-250:#850012;--b2b-color-red-200:#bb0004;--b2b-color-red-150:#e6344b;--b2b-color-red-100:#d4021d;--b2b-color-red-50:#ffdde3;--b2b-color-grey-400:#777777;--b2b-color-grey-300:#9e9e9e;--b2b-color-grey-250:#b1b1b1;--b2b-color-grey-200:#c4c4c4;--b2b-color-grey-150:#d5d5d5;--b2b-color-grey-100:#e6e6e6;--b2b-color-grey-50:#eeeeee;--b2b-color-grey-25:#f6f6f6;--b2b-color-white-100:#ffffff;--b2b-color-black-100:#222222;--b2b-color-black-50:#333333;--b2b-color-icon-inverted:var(--b2b-color-black-100);--b2b-color-icon-secondary:var(--b2b-color-grey-400);--b2b-color-icon-default:var(--b2b-color-white-100);--b2b-color-headline-inverted:var(--b2b-color-black-100);--b2b-color-headline-default:var(--b2b-color-white-100);--b2b-color-headline-title:var(--b2b-color-red-50);--b2b-color-copy-inverted:var(--b2b-color-black-100);--b2b-color-copy-secondary:var(--b2b-color-grey-100);--b2b-color-copy-default:var(--b2b-color-white-100);--b2b-color-border-100:var(--b2b-color-white-100);--b2b-color-background-page:var(--b2b-color-grey-100);--b2b-color-background-card:var(--b2b-color-black-50);--b2b-color-background-box:var(--b2b-color-black-50);--b2b-color-error-50:var(--b2b-color-red-50)}@font-face{font-family:OttoSans;src:url(\"https://pattern-library.portal.otto.market/static/assets/fonts/otto-sans.ttf\");font-weight:normal;font-style:normal}@font-face{font-family:OttoSans;src:url(\"https://pattern-library.portal.otto.market/static/assets/fonts/otto-sans-bold.woff\") format(\"woff\"), url(\"https://pattern-library.portal.otto.market/static/assets/fonts/otto-sans-bold.ttf\") format(\"truetype\");font-weight:bold;font-style:normal}@font-face{font-family:OttoSans;src:url(\"https://pattern-library.portal.otto.market/static/assets/fonts/otto-sans-thin.woff\") format(\"woff\"), url(\"https://pattern-library.portal.otto.market/static/assets/fonts/otto-sans-thin.ttf\") format(\"truetype\");font-weight:100;font-style:normal}@font-face{font-family:ObcIcons;src:url(\"https://pattern-library.portal.otto.market/static/assets/fonts/obc-icons.woff\")}.b2b-date-picker-days{display:grid;grid-template-columns:repeat(7, 1fr);padding:0 var(--b2b-size-40) 0 var(--b2b-size-40)}.b2b-date-picker-days .b2b-date-picker-day{width:var(--b2b-size-90);height:var(--b2b-size-90);border-radius:5px;display:flex;align-items:center;justify-content:center;font-weight:var(--b2b-font-weight-normal);color:var(--b2b-color-black-100);font-size:var(--b2b-size-35)}.b2b-date-picker-days .b2b-date-picker-day:hover{cursor:pointer}.b2b-date-picker-days .b2b-date-picker-day:hover,.b2b-date-picker-days .b2b-date-picker-day:focus{background-color:var(--b2b-color-hover)}.b2b-date-picker-days .b2b-date-picker-day--disabled{border-radius:5px;color:var(--b2b-color-grey-200);pointer-events:none}.b2b-date-picker-days .b2b-date-picker-day--today{border:1px solid var(--b2b-color-black-50);box-sizing:border-box;width:100%;height:100%}.b2b-date-picker-days .b2b-date-picker-day--selected{background-color:var(--b2b-color-black-100);color:var(--b2b-color-white-100);pointer-events:none;width:100%;height:100%}.b2b-date-picker-days .b2b-date-picker-day--focussed{background-color:var(--b2b-color-hover)}";
|
|
4
|
+
const B2bDatePickerDaysStyle0 = datePickerDaysCss;
|
|
5
|
+
|
|
6
|
+
const keys = {
|
|
7
|
+
ARROW_UP: 'ArrowUp',
|
|
8
|
+
ARROW_DOWN: 'ArrowDown',
|
|
9
|
+
ARROW_RIGHT: 'ArrowRight',
|
|
10
|
+
ARROW_LEFT: 'ArrowLeft',
|
|
11
|
+
HOME: 'Home',
|
|
12
|
+
END: 'End',
|
|
13
|
+
ESC: 'Escape',
|
|
14
|
+
TAB: 'Tab',
|
|
15
|
+
ENTER: 'Enter',
|
|
16
|
+
};
|
|
17
|
+
const B2bDatePickerDays = /*@__PURE__*/ proxyCustomElement(class B2bDatePickerDays extends HTMLElement {
|
|
18
|
+
constructor() {
|
|
19
|
+
super();
|
|
20
|
+
this.__registerHost();
|
|
21
|
+
this.__attachShadow();
|
|
22
|
+
this.b2bDatePickerEscape = createEvent(this, "b2b-date-picker-escape", 7);
|
|
23
|
+
this.b2bDateSelected = createEvent(this, "b2b-date-selected", 7);
|
|
24
|
+
this.today = new Date();
|
|
25
|
+
this.todayWithoutTime = new Date(this.today.getFullYear(), this.today.getMonth(), this.today.getDate());
|
|
26
|
+
this.getCurrentDate = () => {
|
|
27
|
+
const dates = this.getAllDates();
|
|
28
|
+
return dates.find(el => el.getAttribute('tabindex') === '0');
|
|
29
|
+
};
|
|
30
|
+
this.getAllDates = () => {
|
|
31
|
+
return Array.from(this.host.shadowRoot.querySelectorAll('.b2b-date-picker-day'));
|
|
32
|
+
};
|
|
33
|
+
this.focusCurrentDate = (date) => {
|
|
34
|
+
const dates = this.getAllDates();
|
|
35
|
+
dates.forEach(element => {
|
|
36
|
+
if (date.className.includes('b2b-date-picker-day--disabled')) {
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
element.setAttribute('tabindex', element === date ? '0' : '-1');
|
|
40
|
+
});
|
|
41
|
+
if (!date.className.includes('b2b-date-picker-day--disabled')) {
|
|
42
|
+
date.focus();
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
this.isDisabledDate = (givenDate) => {
|
|
46
|
+
if (this.disablePastDates) {
|
|
47
|
+
if (givenDate < this.todayWithoutTime)
|
|
48
|
+
return true;
|
|
49
|
+
}
|
|
50
|
+
else if (this.disableFutureDates) {
|
|
51
|
+
if (givenDate > this.todayWithoutTime)
|
|
52
|
+
return true;
|
|
53
|
+
}
|
|
54
|
+
else if (this.disableWeekends) {
|
|
55
|
+
if (givenDate.getDay() == 0 || givenDate.getDay() == 6)
|
|
56
|
+
return true;
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
return false;
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
this.handleClick = (event) => {
|
|
63
|
+
/** Remove focus from the clicked element */
|
|
64
|
+
event.target.blur();
|
|
65
|
+
};
|
|
66
|
+
this.renderDatePickerDays = () => {
|
|
67
|
+
let daysInMonth = new Date(this.selectedYear, this.selectedMonth + 1, 0).getDate(); /** Get total number of days in the current month */
|
|
68
|
+
let actualFirstDayOfMonth = new Date(this.selectedYear, this.selectedMonth, 1).getDay(); /** Get the day of the week (0-6) of the first day of the month */
|
|
69
|
+
let firstDayOfMonth = actualFirstDayOfMonth == 0 ? 6 : actualFirstDayOfMonth - 1;
|
|
70
|
+
let days = [];
|
|
71
|
+
/** Populate the days before the first day of the month with empty divs. */
|
|
72
|
+
for (let i = 0; i < firstDayOfMonth; i++) {
|
|
73
|
+
days.push(h("div", null));
|
|
74
|
+
}
|
|
75
|
+
/** Populate days array with day numbers. */
|
|
76
|
+
for (let i = 1; i <= daysInMonth; i++) {
|
|
77
|
+
let givenDate = new Date(this.selectedYear, this.selectedMonth, i);
|
|
78
|
+
let disabled = this.isDisabledDate(givenDate);
|
|
79
|
+
days.push(h("div", { class: {
|
|
80
|
+
'b2b-date-picker-day': true,
|
|
81
|
+
'b2b-date-picker-day--disabled': disabled,
|
|
82
|
+
'b2b-date-picker-day--today': givenDate.toDateString() === this.todayWithoutTime.toDateString(),
|
|
83
|
+
'b2b-date-picker-day--selected': new Date(this.selectedYear, this.selectedMonth, this.selectedDay).toDateString() === givenDate.toDateString(),
|
|
84
|
+
}, onClick: event => {
|
|
85
|
+
this.b2bDateSelected.emit({
|
|
86
|
+
selectedDate: new Date(this.selectedYear, this.selectedMonth, i),
|
|
87
|
+
});
|
|
88
|
+
this.handleClick(event);
|
|
89
|
+
}, tabindex: givenDate.toDateString() === this.todayWithoutTime.toDateString()
|
|
90
|
+
? 0
|
|
91
|
+
: -1, role: "gridcell", "aria-label": `Date ${i} ${this.selectedMonth + 1} ${this.selectedYear}` }, i));
|
|
92
|
+
}
|
|
93
|
+
return days;
|
|
94
|
+
};
|
|
95
|
+
this.selectedMonth = undefined;
|
|
96
|
+
this.selectedYear = undefined;
|
|
97
|
+
this.selectedDay = undefined;
|
|
98
|
+
this.disablePastDates = false;
|
|
99
|
+
this.disableFutureDates = false;
|
|
100
|
+
this.disableWeekends = false;
|
|
101
|
+
this.disabled = false;
|
|
102
|
+
}
|
|
103
|
+
componentDidLoad() {
|
|
104
|
+
this.setFocusOnSelectedDayOrFirstDay();
|
|
105
|
+
}
|
|
106
|
+
setFocusOnSelectedDayOrFirstDay() {
|
|
107
|
+
const dates = this.getAllDates();
|
|
108
|
+
if (dates.length > 0) {
|
|
109
|
+
if (this.today.getMonth() !== this.selectedMonth) {
|
|
110
|
+
if (this.selectedDay !== undefined) {
|
|
111
|
+
this.focusCurrentDate(dates[this.selectedDay - 1]);
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
this.focusCurrentDate(dates[0]);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
componentWillLoad() {
|
|
120
|
+
this.setFocusOnSelectedDayOrFirstDay();
|
|
121
|
+
}
|
|
122
|
+
handleKeyDown(event) {
|
|
123
|
+
event.preventDefault();
|
|
124
|
+
const dates = this.getAllDates();
|
|
125
|
+
let index = this.today.getDate() - 1;
|
|
126
|
+
switch (event.key) {
|
|
127
|
+
case keys.TAB:
|
|
128
|
+
if (this.today.getMonth() === this.selectedMonth) {
|
|
129
|
+
index = this.today.getDate() - 1;
|
|
130
|
+
}
|
|
131
|
+
break;
|
|
132
|
+
case keys.ARROW_LEFT:
|
|
133
|
+
index = dates.indexOf(this.getCurrentDate()) - 1;
|
|
134
|
+
break;
|
|
135
|
+
case keys.ARROW_RIGHT:
|
|
136
|
+
index = dates.indexOf(this.getCurrentDate()) + 1;
|
|
137
|
+
break;
|
|
138
|
+
case keys.ARROW_UP:
|
|
139
|
+
index = dates.indexOf(this.getCurrentDate()) - 7;
|
|
140
|
+
break;
|
|
141
|
+
case keys.ARROW_DOWN:
|
|
142
|
+
index = dates.indexOf(this.getCurrentDate()) + 7;
|
|
143
|
+
break;
|
|
144
|
+
case keys.ENTER:
|
|
145
|
+
index = dates.indexOf(this.getCurrentDate());
|
|
146
|
+
if (dates[index].classList.contains('b2b-date-picker-day--disabled')) {
|
|
147
|
+
return;
|
|
148
|
+
}
|
|
149
|
+
this.b2bDateSelected.emit({
|
|
150
|
+
selectedDate: new Date(this.selectedYear, this.selectedMonth + 1, index + 1),
|
|
151
|
+
});
|
|
152
|
+
break;
|
|
153
|
+
case keys.ESC:
|
|
154
|
+
this.resetAllDates();
|
|
155
|
+
this.b2bDatePickerEscape.emit();
|
|
156
|
+
break;
|
|
157
|
+
default:
|
|
158
|
+
return;
|
|
159
|
+
}
|
|
160
|
+
if (index < 0) {
|
|
161
|
+
index = dates.length - 1;
|
|
162
|
+
}
|
|
163
|
+
if (index > dates.length - 1) {
|
|
164
|
+
index = 0;
|
|
165
|
+
}
|
|
166
|
+
this.focusCurrentDate(dates[index]);
|
|
167
|
+
}
|
|
168
|
+
resetAllDates() {
|
|
169
|
+
const dates = this.getAllDates();
|
|
170
|
+
dates.forEach(element => {
|
|
171
|
+
element.setAttribute('tabindex', '-1');
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
render() {
|
|
175
|
+
return (h(Host, { key: '573b3a5f203de7be6c381242cbd4fb2935397345' }, h("div", { key: '9bdc462fccf47760afc29628d59de6b68998dc84', class: "b2b-date-picker-days" }, this.renderDatePickerDays())));
|
|
176
|
+
}
|
|
177
|
+
get host() { return this; }
|
|
178
|
+
static get style() { return B2bDatePickerDaysStyle0; }
|
|
179
|
+
}, [1, "b2b-date-picker-days", {
|
|
180
|
+
"selectedMonth": [2, "selected-month"],
|
|
181
|
+
"selectedYear": [2, "selected-year"],
|
|
182
|
+
"selectedDay": [2, "selected-day"],
|
|
183
|
+
"disablePastDates": [4, "disable-past-dates"],
|
|
184
|
+
"disableFutureDates": [4, "disable-future-dates"],
|
|
185
|
+
"disableWeekends": [4, "disable-weekends"],
|
|
186
|
+
"disabled": [32]
|
|
187
|
+
}, [[0, "keydown", "handleKeyDown"]]]);
|
|
188
|
+
function defineCustomElement() {
|
|
189
|
+
if (typeof customElements === "undefined") {
|
|
190
|
+
return;
|
|
191
|
+
}
|
|
192
|
+
const components = ["b2b-date-picker-days"];
|
|
193
|
+
components.forEach(tagName => { switch (tagName) {
|
|
194
|
+
case "b2b-date-picker-days":
|
|
195
|
+
if (!customElements.get(tagName)) {
|
|
196
|
+
customElements.define(tagName, B2bDatePickerDays);
|
|
197
|
+
}
|
|
198
|
+
break;
|
|
199
|
+
} });
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
export { B2bDatePickerDays as B, defineCustomElement as d };
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
|
|
2
|
+
import { D as DatePickerView, M as Months } from './date-picker.types.js';
|
|
3
|
+
import { d as defineCustomElement$2 } from './headline.js';
|
|
4
|
+
import { d as defineCustomElement$1 } from './icon.js';
|
|
5
|
+
|
|
6
|
+
const datePickerHeaderCss = ":root,:host{--b2b-size-200:5rem;--b2b-size-160:4rem;--b2b-size-150:3.75rem;--b2b-size-140:3.5rem;--b2b-size-120:3rem;--b2b-size-100:2.5rem;--b2b-size-90:2.25rem;--b2b-size-80:2rem;--b2b-size-70:1.75rem;--b2b-size-60:1.5rem;--b2b-size-55:1.375rem;--b2b-size-53:1.3125rem;--b2b-size-50:1.25rem;--b2b-size-45:1.125rem;--b2b-size-40:1rem;--b2b-size-35:0.875rem;--b2b-size-30:0.75rem;--b2b-size-25:0.625rem;--b2b-size-20:0.5rem;--b2b-size-15:0.375rem;--b2b-size-10:0.25rem;--b2b-size-7:0.1875rem;--b2b-size-5:0.125rem;--b2b-size-1:0.0625rem;--b2b-font-weight-bold:700;--b2b-font-weight-normal:500;--b2b-font-weight-thin:100;--b2b-font-family-default:OttoSans, Arial, Helvetica, sans-serif;--b2b-color-table-expand-hover:#e6f4ff;--b2b-color-table-selected-default:#cce9ff;--b2b-color-background-overlay-transparent-40:rgba(34, 34, 34, 0.25);--b2b-color-background-overlay-transparent-80:rgba(34, 34, 34, 0.5);--b2b-color-hover:#e6f4ff;--b2b-color-info-100:#003264;--b2b-color-info-50:#ccd6e0;--b2b-color-success-100:#326400;--b2b-color-success-50:#d6e0cc;--b2b-color-warning-100:#ffb432;--b2b-color-warning-50:#ffd998;--b2b-color-error-100:#e6344b;--b2b-color-primary:#d4021d;--b2b-color-red-250:#850012;--b2b-color-red-200:#bb0004;--b2b-color-red-150:#e6344b;--b2b-color-red-100:#d4021d;--b2b-color-red-50:#ffdde3;--b2b-color-grey-400:#777777;--b2b-color-grey-300:#9e9e9e;--b2b-color-grey-250:#b1b1b1;--b2b-color-grey-200:#c4c4c4;--b2b-color-grey-150:#d5d5d5;--b2b-color-grey-100:#e6e6e6;--b2b-color-grey-50:#eeeeee;--b2b-color-grey-25:#f6f6f6;--b2b-color-white-100:#ffffff;--b2b-color-black-100:#222222;--b2b-color-black-50:#333333;--b2b-size-headline-line-height-400:var(--b2b-size-60);--b2b-size-headline-line-height-200:var(--b2b-size-60);--b2b-size-headline-line-height-100:var(--b2b-size-60);--b2b-size-headline-400:var(--b2b-size-60);--b2b-size-headline-200:var(--b2b-size-45);--b2b-size-headline-100:var(--b2b-size-40);--b2b-size-copy-line-height-300:var(--b2b-size-90);--b2b-size-copy-line-height-200:var(--b2b-size-60);--b2b-size-copy-line-height-125:var(--b2b-size-60);--b2b-size-copy-line-height-100:var(--b2b-size-53);--b2b-size-copy-line-height-75:var(--b2b-size-45);--b2b-size-copy-line-height-50:var(--b2b-size-40);--b2b-size-copy-300:var(--b2b-size-60);--b2b-size-copy-200:var(--b2b-size-45);--b2b-size-copy-125:var(--b2b-size-40);--b2b-size-copy-100:var(--b2b-size-35);--b2b-size-copy-50:var(--b2b-size-30);--b2b-size-border-no-radius-bottom:var(--b2b-size-7) var(--b2b-size-7) 0 0;--b2b-size-border-no-radius-top:0 0 var(--b2b-size-7) var(--b2b-size-7);--b2b-size-border-no-radius-right:var(--b2b-size-7) 0 0 var(--b2b-size-7);--b2b-size-border-no-radius-left:0 var(--b2b-size-7) var(--b2b-size-7) 0;--b2b-size-border-radius-100:var(--b2b-size-7);--b2b-size-border-width-150:var(--b2b-size-10);--b2b-size-border-width-100:var(--b2b-size-5);--b2b-size-border-width-50:var(--b2b-size-1);--b2b-size-padding-175:var(--b2b-size-80);--b2b-size-padding-150:var(--b2b-size-60);--b2b-size-padding-100:var(--b2b-size-40);--b2b-size-padding-50:var(--b2b-size-20);--b2b-size-space-300:var(--b2b-size-200);--b2b-size-space-250:var(--b2b-size-160);--b2b-size-space-200:var(--b2b-size-100);--b2b-size-space-175:var(--b2b-size-80);--b2b-size-space-150:var(--b2b-size-60);--b2b-size-space-100:var(--b2b-size-40);--b2b-size-space-75:var(--b2b-size-30);--b2b-size-space-50:var(--b2b-size-20);--b2b-size-space-25:var(--b2b-size-10);--b2b-size-icon-400:var(--b2b-size-120);--b2b-size-icon-200:var(--b2b-size-80);--b2b-size-icon-100:var(--b2b-size-60);--b2b-size-icon-50:var(--b2b-size-40);--b2b-color-table-expand-default:var(--b2b-color-grey-25);--b2b-color-icon-inverted:var(--b2b-color-white-100);--b2b-color-icon-secondary:var(--b2b-color-grey-400);--b2b-color-icon-default:var(--b2b-color-black-100);--b2b-color-headline-inverted:var(--b2b-color-white-100);--b2b-color-headline-default:var(--b2b-color-black-100);--b2b-color-headline-title:var(--b2b-color-red-100);--b2b-color-copy-overlay:var(--b2b-color-white-100);--b2b-color-copy-inverted:var(--b2b-color-white-100);--b2b-color-copy-secondary:var(--b2b-color-grey-400);--b2b-color-copy-default:var(--b2b-color-black-100);--b2b-color-border-100:var(--b2b-color-grey-200);--b2b-color-background-overlay:var(--b2b-color-black-100);--b2b-color-background-card:var(--b2b-color-white-100);--b2b-color-background-box:var(--b2b-color-white-100);--b2b-color-background-page:var(--b2b-color-grey-25);--b2b-color-error-50:var(--b2b-color-red-50)}:root [data-theme=\"dark\"]{--b2b-size-200:5rem;--b2b-size-160:4rem;--b2b-size-150:3.75rem;--b2b-size-140:3.5rem;--b2b-size-120:3rem;--b2b-size-100:2.5rem;--b2b-size-90:2.25rem;--b2b-size-80:2rem;--b2b-size-70:1.75rem;--b2b-size-60:1.5rem;--b2b-size-55:1.375rem;--b2b-size-53:1.3125rem;--b2b-size-50:1.25rem;--b2b-size-45:1.125rem;--b2b-size-40:1rem;--b2b-size-35:0.875rem;--b2b-size-30:0.75rem;--b2b-size-25:0.625rem;--b2b-size-20:0.5rem;--b2b-size-15:0.375rem;--b2b-size-10:0.25rem;--b2b-size-7:0.1875rem;--b2b-size-5:0.125rem;--b2b-size-1:0.0625rem;--b2b-font-weight-bold:700;--b2b-font-weight-normal:500;--b2b-font-weight-thin:100;--b2b-font-family-default:OttoSans, Arial, Helvetica, sans-serif;--b2b-color-hover:#e6f4ff;--b2b-color-info-100:#003264;--b2b-color-info-50:#ccd6e0;--b2b-color-success-100:#326400;--b2b-color-success-50:#d6e0cc;--b2b-color-warning-100:#ffb432;--b2b-color-warning-50:#ffd998;--b2b-color-error-100:#e6344b;--b2b-color-primary:#d4021d;--b2b-color-red-250:#850012;--b2b-color-red-200:#bb0004;--b2b-color-red-150:#e6344b;--b2b-color-red-100:#d4021d;--b2b-color-red-50:#ffdde3;--b2b-color-grey-400:#777777;--b2b-color-grey-300:#9e9e9e;--b2b-color-grey-250:#b1b1b1;--b2b-color-grey-200:#c4c4c4;--b2b-color-grey-150:#d5d5d5;--b2b-color-grey-100:#e6e6e6;--b2b-color-grey-50:#eeeeee;--b2b-color-grey-25:#f6f6f6;--b2b-color-white-100:#ffffff;--b2b-color-black-100:#222222;--b2b-color-black-50:#333333;--b2b-color-icon-inverted:var(--b2b-color-black-100);--b2b-color-icon-secondary:var(--b2b-color-grey-400);--b2b-color-icon-default:var(--b2b-color-white-100);--b2b-color-headline-inverted:var(--b2b-color-black-100);--b2b-color-headline-default:var(--b2b-color-white-100);--b2b-color-headline-title:var(--b2b-color-red-50);--b2b-color-copy-inverted:var(--b2b-color-black-100);--b2b-color-copy-secondary:var(--b2b-color-grey-100);--b2b-color-copy-default:var(--b2b-color-white-100);--b2b-color-border-100:var(--b2b-color-white-100);--b2b-color-background-page:var(--b2b-color-grey-100);--b2b-color-background-card:var(--b2b-color-black-50);--b2b-color-background-box:var(--b2b-color-black-50);--b2b-color-error-50:var(--b2b-color-red-50)}@font-face{font-family:OttoSans;src:url(\"https://pattern-library.portal.otto.market/static/assets/fonts/otto-sans.ttf\");font-weight:normal;font-style:normal}@font-face{font-family:OttoSans;src:url(\"https://pattern-library.portal.otto.market/static/assets/fonts/otto-sans-bold.woff\") format(\"woff\"), url(\"https://pattern-library.portal.otto.market/static/assets/fonts/otto-sans-bold.ttf\") format(\"truetype\");font-weight:bold;font-style:normal}@font-face{font-family:OttoSans;src:url(\"https://pattern-library.portal.otto.market/static/assets/fonts/otto-sans-thin.woff\") format(\"woff\"), url(\"https://pattern-library.portal.otto.market/static/assets/fonts/otto-sans-thin.ttf\") format(\"truetype\");font-weight:100;font-style:normal}@font-face{font-family:ObcIcons;src:url(\"https://pattern-library.portal.otto.market/static/assets/fonts/obc-icons.woff\")}:root .b2b-date-picker-header,:host .b2b-date-picker-header{display:flex;box-sizing:border-box;padding:var(--b2b-size-30) var(--b2b-size-60) var(--b2b-size-40) var(--b2b-size-60)}:root .b2b-date-picker-nav--left,:root .b2b-date-picker-nav--right,:host .b2b-date-picker-nav--left,:host .b2b-date-picker-nav--right{height:var(--b2b-size-80);width:var(--b2b-size-80);background-color:var(--b2b-color-grey-25);box-sizing:border-box;border:none;cursor:pointer;border-radius:var(--b2b-size-7)}:root .b2b-date-picker-nav--left:hover,:root .b2b-date-picker-nav--left:focus,:root .b2b-date-picker-nav--right:hover,:root .b2b-date-picker-nav--right:focus,:host .b2b-date-picker-nav--left:hover,:host .b2b-date-picker-nav--left:focus,:host .b2b-date-picker-nav--right:hover,:host .b2b-date-picker-nav--right:focus{background-color:var(--b2b-color-hover)}:root .b2b-date-picker-month,:host .b2b-date-picker-month{height:var(--b2b-size-80);width:82px;padding:var(--b2b-size-10) var(--b2b-size-20);margin:0 0 0 var(--b2b-size-20);background-color:var(--b2b-color-grey-25);box-sizing:border-box;text-align:center;font-weight:var(--b2b-size-headline-100);border-radius:var(--b2b-size-7);font-size:var(--b2b-size-40);color:var(--b2b-color-black-100)}:root .b2b-date-picker-month:hover,:root .b2b-date-picker-month:focus,:host .b2b-date-picker-month:hover,:host .b2b-date-picker-month:focus{cursor:pointer;background-color:var(--b2b-color-hover)}:root .b2b-date-picker-year,:host .b2b-date-picker-year{height:var(--b2b-size-80);width:82px;padding:var(--b2b-size-10) var(--b2b-size-20);margin:0 var(--b2b-size-20);background-color:var(--b2b-color-grey-25);box-sizing:border-box;text-align:center;font-weight:var(--b2b-size-headline-100);border-radius:var(--b2b-size-7);font-size:var(--b2b-size-40);color:var(--b2b-color-black-100)}:root .b2b-date-picker-year:hover,:root .b2b-date-picker-year:focus,:host .b2b-date-picker-year:hover,:host .b2b-date-picker-year:focus{cursor:pointer;background-color:var(--b2b-color-hover)}";
|
|
7
|
+
const B2bDatePickerHeaderStyle0 = datePickerHeaderCss;
|
|
8
|
+
|
|
9
|
+
const B2bDatePickerHeader = /*@__PURE__*/ proxyCustomElement(class B2bDatePickerHeader extends HTMLElement {
|
|
10
|
+
constructor() {
|
|
11
|
+
super();
|
|
12
|
+
this.__registerHost();
|
|
13
|
+
this.__attachShadow();
|
|
14
|
+
this.b2bDatePickerPreviousMonth = createEvent(this, "b2b-date-picker-previous-month", 7);
|
|
15
|
+
this.b2bDatePickerNextMonth = createEvent(this, "b2b-date-picker-next-month", 7);
|
|
16
|
+
this.b2bDatePickerViewChanged = createEvent(this, "b2b-date-picker-view-changed", 7);
|
|
17
|
+
this.selectedMonth = undefined;
|
|
18
|
+
this.selectedYear = undefined;
|
|
19
|
+
}
|
|
20
|
+
render() {
|
|
21
|
+
return (h(Host, { key: '94e86997d702f0f584d01df3d616375d6b0e1e78' }, h("div", { key: '2f480665affbe91d54b3c1b43ab70b736e74f32f', class: "b2b-date-picker-header" }, h("button", { key: 'a5cac5d8d2d79c27f03b33eff51a83602952c50e', class: "b2b-date-picker-nav--left", onClick: this.b2bDatePickerPreviousMonth.emit, onMouseOut: event => {
|
|
22
|
+
event.target.blur();
|
|
23
|
+
}, "aria-label": "previous month" }, h("b2b-icon", { key: '49bb5d17c454536e5bd7752eec149be1d4fb000d', icon: "b2b_icon-arrow-left", clickable: true })), h("b2b-headline", { key: 'a8976d272ca701970a2a688c95a1adb0a5477385', size: '100', align: 'center', class: "b2b-date-picker-month", "aria-label": "select month", tabindex: 0, onClick: () => {
|
|
24
|
+
this.b2bDatePickerViewChanged.emit({
|
|
25
|
+
value: DatePickerView.Months,
|
|
26
|
+
});
|
|
27
|
+
}, onKeyDown: event => {
|
|
28
|
+
if (event.key === 'Enter') {
|
|
29
|
+
this.b2bDatePickerViewChanged.emit({
|
|
30
|
+
value: DatePickerView.Months,
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
} }, Months[this.selectedMonth]), h("b2b-headline", { key: '25919a00e48f4c31684f6f16300e3265bc3d2ccc', size: '100', align: 'center', class: "b2b-date-picker-year", "aria-label": "select year", tabindex: 0, onClick: () => {
|
|
34
|
+
this.b2bDatePickerViewChanged.emit({
|
|
35
|
+
value: DatePickerView.Years,
|
|
36
|
+
});
|
|
37
|
+
}, onKeyDown: event => {
|
|
38
|
+
if (event.key === 'Enter') {
|
|
39
|
+
this.b2bDatePickerViewChanged.emit({
|
|
40
|
+
value: DatePickerView.Years,
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
} }, this.selectedYear), h("button", { key: '4118ef94bc8f91ce7731efaa973542c90e8125ca', class: "b2b-date-picker-nav--right", onClick: this.b2bDatePickerNextMonth.emit, onMouseOut: event => {
|
|
44
|
+
event.target.blur();
|
|
45
|
+
}, "aria-label": "next month" }, h("b2b-icon", { key: 'f182b6ef7ab465d12d4821d54d7a346a74df2dce', icon: "b2b_icon-arrow-right", clickable: true })))));
|
|
46
|
+
}
|
|
47
|
+
get host() { return this; }
|
|
48
|
+
static get style() { return B2bDatePickerHeaderStyle0; }
|
|
49
|
+
}, [1, "b2b-date-picker-header", {
|
|
50
|
+
"selectedMonth": [2, "selected-month"],
|
|
51
|
+
"selectedYear": [2, "selected-year"]
|
|
52
|
+
}]);
|
|
53
|
+
function defineCustomElement() {
|
|
54
|
+
if (typeof customElements === "undefined") {
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
const components = ["b2b-date-picker-header", "b2b-headline", "b2b-icon"];
|
|
58
|
+
components.forEach(tagName => { switch (tagName) {
|
|
59
|
+
case "b2b-date-picker-header":
|
|
60
|
+
if (!customElements.get(tagName)) {
|
|
61
|
+
customElements.define(tagName, B2bDatePickerHeader);
|
|
62
|
+
}
|
|
63
|
+
break;
|
|
64
|
+
case "b2b-headline":
|
|
65
|
+
if (!customElements.get(tagName)) {
|
|
66
|
+
defineCustomElement$2();
|
|
67
|
+
}
|
|
68
|
+
break;
|
|
69
|
+
case "b2b-icon":
|
|
70
|
+
if (!customElements.get(tagName)) {
|
|
71
|
+
defineCustomElement$1();
|
|
72
|
+
}
|
|
73
|
+
break;
|
|
74
|
+
} });
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
export { B2bDatePickerHeader as B, defineCustomElement as d };
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
|
|
2
|
+
import { M as Months } from './date-picker.types.js';
|
|
3
|
+
|
|
4
|
+
const datePickerMonthsCss = ":root,:host{--b2b-size-200:5rem;--b2b-size-160:4rem;--b2b-size-150:3.75rem;--b2b-size-140:3.5rem;--b2b-size-120:3rem;--b2b-size-100:2.5rem;--b2b-size-90:2.25rem;--b2b-size-80:2rem;--b2b-size-70:1.75rem;--b2b-size-60:1.5rem;--b2b-size-55:1.375rem;--b2b-size-53:1.3125rem;--b2b-size-50:1.25rem;--b2b-size-45:1.125rem;--b2b-size-40:1rem;--b2b-size-35:0.875rem;--b2b-size-30:0.75rem;--b2b-size-25:0.625rem;--b2b-size-20:0.5rem;--b2b-size-15:0.375rem;--b2b-size-10:0.25rem;--b2b-size-7:0.1875rem;--b2b-size-5:0.125rem;--b2b-size-1:0.0625rem;--b2b-font-weight-bold:700;--b2b-font-weight-normal:500;--b2b-font-weight-thin:100;--b2b-font-family-default:OttoSans, Arial, Helvetica, sans-serif;--b2b-color-table-expand-hover:#e6f4ff;--b2b-color-table-selected-default:#cce9ff;--b2b-color-background-overlay-transparent-40:rgba(34, 34, 34, 0.25);--b2b-color-background-overlay-transparent-80:rgba(34, 34, 34, 0.5);--b2b-color-hover:#e6f4ff;--b2b-color-info-100:#003264;--b2b-color-info-50:#ccd6e0;--b2b-color-success-100:#326400;--b2b-color-success-50:#d6e0cc;--b2b-color-warning-100:#ffb432;--b2b-color-warning-50:#ffd998;--b2b-color-error-100:#e6344b;--b2b-color-primary:#d4021d;--b2b-color-red-250:#850012;--b2b-color-red-200:#bb0004;--b2b-color-red-150:#e6344b;--b2b-color-red-100:#d4021d;--b2b-color-red-50:#ffdde3;--b2b-color-grey-400:#777777;--b2b-color-grey-300:#9e9e9e;--b2b-color-grey-250:#b1b1b1;--b2b-color-grey-200:#c4c4c4;--b2b-color-grey-150:#d5d5d5;--b2b-color-grey-100:#e6e6e6;--b2b-color-grey-50:#eeeeee;--b2b-color-grey-25:#f6f6f6;--b2b-color-white-100:#ffffff;--b2b-color-black-100:#222222;--b2b-color-black-50:#333333;--b2b-size-headline-line-height-400:var(--b2b-size-60);--b2b-size-headline-line-height-200:var(--b2b-size-60);--b2b-size-headline-line-height-100:var(--b2b-size-60);--b2b-size-headline-400:var(--b2b-size-60);--b2b-size-headline-200:var(--b2b-size-45);--b2b-size-headline-100:var(--b2b-size-40);--b2b-size-copy-line-height-300:var(--b2b-size-90);--b2b-size-copy-line-height-200:var(--b2b-size-60);--b2b-size-copy-line-height-125:var(--b2b-size-60);--b2b-size-copy-line-height-100:var(--b2b-size-53);--b2b-size-copy-line-height-75:var(--b2b-size-45);--b2b-size-copy-line-height-50:var(--b2b-size-40);--b2b-size-copy-300:var(--b2b-size-60);--b2b-size-copy-200:var(--b2b-size-45);--b2b-size-copy-125:var(--b2b-size-40);--b2b-size-copy-100:var(--b2b-size-35);--b2b-size-copy-50:var(--b2b-size-30);--b2b-size-border-no-radius-bottom:var(--b2b-size-7) var(--b2b-size-7) 0 0;--b2b-size-border-no-radius-top:0 0 var(--b2b-size-7) var(--b2b-size-7);--b2b-size-border-no-radius-right:var(--b2b-size-7) 0 0 var(--b2b-size-7);--b2b-size-border-no-radius-left:0 var(--b2b-size-7) var(--b2b-size-7) 0;--b2b-size-border-radius-100:var(--b2b-size-7);--b2b-size-border-width-150:var(--b2b-size-10);--b2b-size-border-width-100:var(--b2b-size-5);--b2b-size-border-width-50:var(--b2b-size-1);--b2b-size-padding-175:var(--b2b-size-80);--b2b-size-padding-150:var(--b2b-size-60);--b2b-size-padding-100:var(--b2b-size-40);--b2b-size-padding-50:var(--b2b-size-20);--b2b-size-space-300:var(--b2b-size-200);--b2b-size-space-250:var(--b2b-size-160);--b2b-size-space-200:var(--b2b-size-100);--b2b-size-space-175:var(--b2b-size-80);--b2b-size-space-150:var(--b2b-size-60);--b2b-size-space-100:var(--b2b-size-40);--b2b-size-space-75:var(--b2b-size-30);--b2b-size-space-50:var(--b2b-size-20);--b2b-size-space-25:var(--b2b-size-10);--b2b-size-icon-400:var(--b2b-size-120);--b2b-size-icon-200:var(--b2b-size-80);--b2b-size-icon-100:var(--b2b-size-60);--b2b-size-icon-50:var(--b2b-size-40);--b2b-color-table-expand-default:var(--b2b-color-grey-25);--b2b-color-icon-inverted:var(--b2b-color-white-100);--b2b-color-icon-secondary:var(--b2b-color-grey-400);--b2b-color-icon-default:var(--b2b-color-black-100);--b2b-color-headline-inverted:var(--b2b-color-white-100);--b2b-color-headline-default:var(--b2b-color-black-100);--b2b-color-headline-title:var(--b2b-color-red-100);--b2b-color-copy-overlay:var(--b2b-color-white-100);--b2b-color-copy-inverted:var(--b2b-color-white-100);--b2b-color-copy-secondary:var(--b2b-color-grey-400);--b2b-color-copy-default:var(--b2b-color-black-100);--b2b-color-border-100:var(--b2b-color-grey-200);--b2b-color-background-overlay:var(--b2b-color-black-100);--b2b-color-background-card:var(--b2b-color-white-100);--b2b-color-background-box:var(--b2b-color-white-100);--b2b-color-background-page:var(--b2b-color-grey-25);--b2b-color-error-50:var(--b2b-color-red-50)}:root [data-theme=\"dark\"]{--b2b-size-200:5rem;--b2b-size-160:4rem;--b2b-size-150:3.75rem;--b2b-size-140:3.5rem;--b2b-size-120:3rem;--b2b-size-100:2.5rem;--b2b-size-90:2.25rem;--b2b-size-80:2rem;--b2b-size-70:1.75rem;--b2b-size-60:1.5rem;--b2b-size-55:1.375rem;--b2b-size-53:1.3125rem;--b2b-size-50:1.25rem;--b2b-size-45:1.125rem;--b2b-size-40:1rem;--b2b-size-35:0.875rem;--b2b-size-30:0.75rem;--b2b-size-25:0.625rem;--b2b-size-20:0.5rem;--b2b-size-15:0.375rem;--b2b-size-10:0.25rem;--b2b-size-7:0.1875rem;--b2b-size-5:0.125rem;--b2b-size-1:0.0625rem;--b2b-font-weight-bold:700;--b2b-font-weight-normal:500;--b2b-font-weight-thin:100;--b2b-font-family-default:OttoSans, Arial, Helvetica, sans-serif;--b2b-color-hover:#e6f4ff;--b2b-color-info-100:#003264;--b2b-color-info-50:#ccd6e0;--b2b-color-success-100:#326400;--b2b-color-success-50:#d6e0cc;--b2b-color-warning-100:#ffb432;--b2b-color-warning-50:#ffd998;--b2b-color-error-100:#e6344b;--b2b-color-primary:#d4021d;--b2b-color-red-250:#850012;--b2b-color-red-200:#bb0004;--b2b-color-red-150:#e6344b;--b2b-color-red-100:#d4021d;--b2b-color-red-50:#ffdde3;--b2b-color-grey-400:#777777;--b2b-color-grey-300:#9e9e9e;--b2b-color-grey-250:#b1b1b1;--b2b-color-grey-200:#c4c4c4;--b2b-color-grey-150:#d5d5d5;--b2b-color-grey-100:#e6e6e6;--b2b-color-grey-50:#eeeeee;--b2b-color-grey-25:#f6f6f6;--b2b-color-white-100:#ffffff;--b2b-color-black-100:#222222;--b2b-color-black-50:#333333;--b2b-color-icon-inverted:var(--b2b-color-black-100);--b2b-color-icon-secondary:var(--b2b-color-grey-400);--b2b-color-icon-default:var(--b2b-color-white-100);--b2b-color-headline-inverted:var(--b2b-color-black-100);--b2b-color-headline-default:var(--b2b-color-white-100);--b2b-color-headline-title:var(--b2b-color-red-50);--b2b-color-copy-inverted:var(--b2b-color-black-100);--b2b-color-copy-secondary:var(--b2b-color-grey-100);--b2b-color-copy-default:var(--b2b-color-white-100);--b2b-color-border-100:var(--b2b-color-white-100);--b2b-color-background-page:var(--b2b-color-grey-100);--b2b-color-background-card:var(--b2b-color-black-50);--b2b-color-background-box:var(--b2b-color-black-50);--b2b-color-error-50:var(--b2b-color-red-50)}@font-face{font-family:OttoSans;src:url(\"https://pattern-library.portal.otto.market/static/assets/fonts/otto-sans.ttf\");font-weight:normal;font-style:normal}@font-face{font-family:OttoSans;src:url(\"https://pattern-library.portal.otto.market/static/assets/fonts/otto-sans-bold.woff\") format(\"woff\"), url(\"https://pattern-library.portal.otto.market/static/assets/fonts/otto-sans-bold.ttf\") format(\"truetype\");font-weight:bold;font-style:normal}@font-face{font-family:OttoSans;src:url(\"https://pattern-library.portal.otto.market/static/assets/fonts/otto-sans-thin.woff\") format(\"woff\"), url(\"https://pattern-library.portal.otto.market/static/assets/fonts/otto-sans-thin.ttf\") format(\"truetype\");font-weight:100;font-style:normal}@font-face{font-family:ObcIcons;src:url(\"https://pattern-library.portal.otto.market/static/assets/fonts/obc-icons.woff\")}:host .b2b-date-picker-months{display:grid;grid-template-columns:repeat(3, 1fr);padding:var(--b2b-size-40) var(--b2b-size-40) 0 var(--b2b-size-40);column-gap:var(--b2b-size-25);row-gap:var(--b2b-size-25)}:host .b2b-date-picker-month{height:var(--b2b-size-80);border-radius:5px;text-align:center;display:flex;align-items:center;justify-content:center;font-weight:var(--b2b-font-weight-normal);background-color:var(--b2b-color-grey-25);font-size:var(--b2b-size-35);color:var(--b2b-color-black-100)}:host .b2b-date-picker-month:hover{cursor:pointer}:host .b2b-date-picker-month:hover,:host .b2b-date-picker-month:focus{background-color:var(--b2b-color-hover)}:host .b2b-date-picker-month--selected{background-color:var(--b2b-color-black-100);color:var(--b2b-color-white-100)}:host .b2b-date-picker-month--selected:hover,:host .b2b-date-picker-month--selected:focus{background-color:var(--b2b-color-black-100)}";
|
|
5
|
+
const B2bDatePickerMonthsStyle0 = datePickerMonthsCss;
|
|
6
|
+
|
|
7
|
+
const keys = {
|
|
8
|
+
ARROW_UP: 'ArrowUp',
|
|
9
|
+
ARROW_DOWN: 'ArrowDown',
|
|
10
|
+
ARROW_RIGHT: 'ArrowRight',
|
|
11
|
+
ARROW_LEFT: 'ArrowLeft',
|
|
12
|
+
ENTER: 'Enter',
|
|
13
|
+
};
|
|
14
|
+
const B2bDatePickerMonths = /*@__PURE__*/ proxyCustomElement(class B2bDatePickerMonths extends HTMLElement {
|
|
15
|
+
constructor() {
|
|
16
|
+
super();
|
|
17
|
+
this.__registerHost();
|
|
18
|
+
this.__attachShadow();
|
|
19
|
+
this.b2bDatePickerMonthSelected = createEvent(this, "b2b-date-picker-month-selected", 7);
|
|
20
|
+
this.getAllMonths = () => {
|
|
21
|
+
return Array.from(this.host.shadowRoot.querySelectorAll('.b2b-date-picker-month'));
|
|
22
|
+
};
|
|
23
|
+
this.getCurrentMonth = () => {
|
|
24
|
+
const months = this.getAllMonths();
|
|
25
|
+
return months.find(el => el.getAttribute('tabindex') === '0');
|
|
26
|
+
};
|
|
27
|
+
this.focusCurrentMonth = (month) => {
|
|
28
|
+
const months = this.getAllMonths();
|
|
29
|
+
months.forEach(el => {
|
|
30
|
+
el.setAttribute('tabindex', el === month ? '0' : '-1');
|
|
31
|
+
});
|
|
32
|
+
month.focus();
|
|
33
|
+
};
|
|
34
|
+
this.renderDatePickerMonths = () => {
|
|
35
|
+
let months = [];
|
|
36
|
+
for (let i = 0; i < 12; i++) {
|
|
37
|
+
months.push(h("div", { class: {
|
|
38
|
+
'b2b-date-picker-month': true,
|
|
39
|
+
'b2b-date-picker-month--selected': this.selectedMonth === i,
|
|
40
|
+
}, onClick: () => this.b2bDatePickerMonthSelected.emit({ value: i }), tabIndex: this.selectedMonth === i ? 0 : -1, "aria-label": `Month ${i + 1}` }, Months[i]));
|
|
41
|
+
}
|
|
42
|
+
return months;
|
|
43
|
+
};
|
|
44
|
+
this.selectedMonth = undefined;
|
|
45
|
+
}
|
|
46
|
+
handleKeyDown(event) {
|
|
47
|
+
event.preventDefault();
|
|
48
|
+
let index = this.selectedMonth;
|
|
49
|
+
const months = this.getAllMonths();
|
|
50
|
+
let currentMonth = this.getCurrentMonth();
|
|
51
|
+
switch (event.key) {
|
|
52
|
+
case keys.ARROW_LEFT:
|
|
53
|
+
index = months.indexOf(currentMonth) - 1;
|
|
54
|
+
break;
|
|
55
|
+
case keys.ARROW_RIGHT:
|
|
56
|
+
index = months.indexOf(currentMonth) + 1;
|
|
57
|
+
break;
|
|
58
|
+
case keys.ARROW_UP:
|
|
59
|
+
index = months.indexOf(currentMonth) - 3;
|
|
60
|
+
break;
|
|
61
|
+
case keys.ARROW_DOWN:
|
|
62
|
+
index = months.indexOf(currentMonth) + 3;
|
|
63
|
+
break;
|
|
64
|
+
case keys.ENTER:
|
|
65
|
+
index = months.indexOf(currentMonth);
|
|
66
|
+
this.b2bDatePickerMonthSelected.emit({
|
|
67
|
+
value: index,
|
|
68
|
+
});
|
|
69
|
+
break;
|
|
70
|
+
default:
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
if (index < 0) {
|
|
74
|
+
index = months.length - 1;
|
|
75
|
+
}
|
|
76
|
+
if (index > months.length - 1) {
|
|
77
|
+
index = 0;
|
|
78
|
+
}
|
|
79
|
+
this.focusCurrentMonth(months[index]);
|
|
80
|
+
}
|
|
81
|
+
render() {
|
|
82
|
+
return (h(Host, { key: '7b55c5f9286780dd257cee856bd9cf9354675585' }, h("div", { key: '36efeb799ad77f4e1a56980511ff4caba519a5cb', class: "b2b-date-picker-months" }, this.renderDatePickerMonths())));
|
|
83
|
+
}
|
|
84
|
+
get host() { return this; }
|
|
85
|
+
static get style() { return B2bDatePickerMonthsStyle0; }
|
|
86
|
+
}, [1, "b2b-date-picker-months", {
|
|
87
|
+
"selectedMonth": [2, "selected-month"]
|
|
88
|
+
}, [[0, "keydown", "handleKeyDown"]]]);
|
|
89
|
+
function defineCustomElement() {
|
|
90
|
+
if (typeof customElements === "undefined") {
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
const components = ["b2b-date-picker-months"];
|
|
94
|
+
components.forEach(tagName => { switch (tagName) {
|
|
95
|
+
case "b2b-date-picker-months":
|
|
96
|
+
if (!customElements.get(tagName)) {
|
|
97
|
+
customElements.define(tagName, B2bDatePickerMonths);
|
|
98
|
+
}
|
|
99
|
+
break;
|
|
100
|
+
} });
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
export { B2bDatePickerMonths as B, defineCustomElement as d };
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
|
|
2
|
+
|
|
3
|
+
const datePickerYearsCss = ":root,:host{--b2b-size-200:5rem;--b2b-size-160:4rem;--b2b-size-150:3.75rem;--b2b-size-140:3.5rem;--b2b-size-120:3rem;--b2b-size-100:2.5rem;--b2b-size-90:2.25rem;--b2b-size-80:2rem;--b2b-size-70:1.75rem;--b2b-size-60:1.5rem;--b2b-size-55:1.375rem;--b2b-size-53:1.3125rem;--b2b-size-50:1.25rem;--b2b-size-45:1.125rem;--b2b-size-40:1rem;--b2b-size-35:0.875rem;--b2b-size-30:0.75rem;--b2b-size-25:0.625rem;--b2b-size-20:0.5rem;--b2b-size-15:0.375rem;--b2b-size-10:0.25rem;--b2b-size-7:0.1875rem;--b2b-size-5:0.125rem;--b2b-size-1:0.0625rem;--b2b-font-weight-bold:700;--b2b-font-weight-normal:500;--b2b-font-weight-thin:100;--b2b-font-family-default:OttoSans, Arial, Helvetica, sans-serif;--b2b-color-table-expand-hover:#e6f4ff;--b2b-color-table-selected-default:#cce9ff;--b2b-color-background-overlay-transparent-40:rgba(34, 34, 34, 0.25);--b2b-color-background-overlay-transparent-80:rgba(34, 34, 34, 0.5);--b2b-color-hover:#e6f4ff;--b2b-color-info-100:#003264;--b2b-color-info-50:#ccd6e0;--b2b-color-success-100:#326400;--b2b-color-success-50:#d6e0cc;--b2b-color-warning-100:#ffb432;--b2b-color-warning-50:#ffd998;--b2b-color-error-100:#e6344b;--b2b-color-primary:#d4021d;--b2b-color-red-250:#850012;--b2b-color-red-200:#bb0004;--b2b-color-red-150:#e6344b;--b2b-color-red-100:#d4021d;--b2b-color-red-50:#ffdde3;--b2b-color-grey-400:#777777;--b2b-color-grey-300:#9e9e9e;--b2b-color-grey-250:#b1b1b1;--b2b-color-grey-200:#c4c4c4;--b2b-color-grey-150:#d5d5d5;--b2b-color-grey-100:#e6e6e6;--b2b-color-grey-50:#eeeeee;--b2b-color-grey-25:#f6f6f6;--b2b-color-white-100:#ffffff;--b2b-color-black-100:#222222;--b2b-color-black-50:#333333;--b2b-size-headline-line-height-400:var(--b2b-size-60);--b2b-size-headline-line-height-200:var(--b2b-size-60);--b2b-size-headline-line-height-100:var(--b2b-size-60);--b2b-size-headline-400:var(--b2b-size-60);--b2b-size-headline-200:var(--b2b-size-45);--b2b-size-headline-100:var(--b2b-size-40);--b2b-size-copy-line-height-300:var(--b2b-size-90);--b2b-size-copy-line-height-200:var(--b2b-size-60);--b2b-size-copy-line-height-125:var(--b2b-size-60);--b2b-size-copy-line-height-100:var(--b2b-size-53);--b2b-size-copy-line-height-75:var(--b2b-size-45);--b2b-size-copy-line-height-50:var(--b2b-size-40);--b2b-size-copy-300:var(--b2b-size-60);--b2b-size-copy-200:var(--b2b-size-45);--b2b-size-copy-125:var(--b2b-size-40);--b2b-size-copy-100:var(--b2b-size-35);--b2b-size-copy-50:var(--b2b-size-30);--b2b-size-border-no-radius-bottom:var(--b2b-size-7) var(--b2b-size-7) 0 0;--b2b-size-border-no-radius-top:0 0 var(--b2b-size-7) var(--b2b-size-7);--b2b-size-border-no-radius-right:var(--b2b-size-7) 0 0 var(--b2b-size-7);--b2b-size-border-no-radius-left:0 var(--b2b-size-7) var(--b2b-size-7) 0;--b2b-size-border-radius-100:var(--b2b-size-7);--b2b-size-border-width-150:var(--b2b-size-10);--b2b-size-border-width-100:var(--b2b-size-5);--b2b-size-border-width-50:var(--b2b-size-1);--b2b-size-padding-175:var(--b2b-size-80);--b2b-size-padding-150:var(--b2b-size-60);--b2b-size-padding-100:var(--b2b-size-40);--b2b-size-padding-50:var(--b2b-size-20);--b2b-size-space-300:var(--b2b-size-200);--b2b-size-space-250:var(--b2b-size-160);--b2b-size-space-200:var(--b2b-size-100);--b2b-size-space-175:var(--b2b-size-80);--b2b-size-space-150:var(--b2b-size-60);--b2b-size-space-100:var(--b2b-size-40);--b2b-size-space-75:var(--b2b-size-30);--b2b-size-space-50:var(--b2b-size-20);--b2b-size-space-25:var(--b2b-size-10);--b2b-size-icon-400:var(--b2b-size-120);--b2b-size-icon-200:var(--b2b-size-80);--b2b-size-icon-100:var(--b2b-size-60);--b2b-size-icon-50:var(--b2b-size-40);--b2b-color-table-expand-default:var(--b2b-color-grey-25);--b2b-color-icon-inverted:var(--b2b-color-white-100);--b2b-color-icon-secondary:var(--b2b-color-grey-400);--b2b-color-icon-default:var(--b2b-color-black-100);--b2b-color-headline-inverted:var(--b2b-color-white-100);--b2b-color-headline-default:var(--b2b-color-black-100);--b2b-color-headline-title:var(--b2b-color-red-100);--b2b-color-copy-overlay:var(--b2b-color-white-100);--b2b-color-copy-inverted:var(--b2b-color-white-100);--b2b-color-copy-secondary:var(--b2b-color-grey-400);--b2b-color-copy-default:var(--b2b-color-black-100);--b2b-color-border-100:var(--b2b-color-grey-200);--b2b-color-background-overlay:var(--b2b-color-black-100);--b2b-color-background-card:var(--b2b-color-white-100);--b2b-color-background-box:var(--b2b-color-white-100);--b2b-color-background-page:var(--b2b-color-grey-25);--b2b-color-error-50:var(--b2b-color-red-50)}:root [data-theme=\"dark\"]{--b2b-size-200:5rem;--b2b-size-160:4rem;--b2b-size-150:3.75rem;--b2b-size-140:3.5rem;--b2b-size-120:3rem;--b2b-size-100:2.5rem;--b2b-size-90:2.25rem;--b2b-size-80:2rem;--b2b-size-70:1.75rem;--b2b-size-60:1.5rem;--b2b-size-55:1.375rem;--b2b-size-53:1.3125rem;--b2b-size-50:1.25rem;--b2b-size-45:1.125rem;--b2b-size-40:1rem;--b2b-size-35:0.875rem;--b2b-size-30:0.75rem;--b2b-size-25:0.625rem;--b2b-size-20:0.5rem;--b2b-size-15:0.375rem;--b2b-size-10:0.25rem;--b2b-size-7:0.1875rem;--b2b-size-5:0.125rem;--b2b-size-1:0.0625rem;--b2b-font-weight-bold:700;--b2b-font-weight-normal:500;--b2b-font-weight-thin:100;--b2b-font-family-default:OttoSans, Arial, Helvetica, sans-serif;--b2b-color-hover:#e6f4ff;--b2b-color-info-100:#003264;--b2b-color-info-50:#ccd6e0;--b2b-color-success-100:#326400;--b2b-color-success-50:#d6e0cc;--b2b-color-warning-100:#ffb432;--b2b-color-warning-50:#ffd998;--b2b-color-error-100:#e6344b;--b2b-color-primary:#d4021d;--b2b-color-red-250:#850012;--b2b-color-red-200:#bb0004;--b2b-color-red-150:#e6344b;--b2b-color-red-100:#d4021d;--b2b-color-red-50:#ffdde3;--b2b-color-grey-400:#777777;--b2b-color-grey-300:#9e9e9e;--b2b-color-grey-250:#b1b1b1;--b2b-color-grey-200:#c4c4c4;--b2b-color-grey-150:#d5d5d5;--b2b-color-grey-100:#e6e6e6;--b2b-color-grey-50:#eeeeee;--b2b-color-grey-25:#f6f6f6;--b2b-color-white-100:#ffffff;--b2b-color-black-100:#222222;--b2b-color-black-50:#333333;--b2b-color-icon-inverted:var(--b2b-color-black-100);--b2b-color-icon-secondary:var(--b2b-color-grey-400);--b2b-color-icon-default:var(--b2b-color-white-100);--b2b-color-headline-inverted:var(--b2b-color-black-100);--b2b-color-headline-default:var(--b2b-color-white-100);--b2b-color-headline-title:var(--b2b-color-red-50);--b2b-color-copy-inverted:var(--b2b-color-black-100);--b2b-color-copy-secondary:var(--b2b-color-grey-100);--b2b-color-copy-default:var(--b2b-color-white-100);--b2b-color-border-100:var(--b2b-color-white-100);--b2b-color-background-page:var(--b2b-color-grey-100);--b2b-color-background-card:var(--b2b-color-black-50);--b2b-color-background-box:var(--b2b-color-black-50);--b2b-color-error-50:var(--b2b-color-red-50)}@font-face{font-family:OttoSans;src:url(\"https://pattern-library.portal.otto.market/static/assets/fonts/otto-sans.ttf\");font-weight:normal;font-style:normal}@font-face{font-family:OttoSans;src:url(\"https://pattern-library.portal.otto.market/static/assets/fonts/otto-sans-bold.woff\") format(\"woff\"), url(\"https://pattern-library.portal.otto.market/static/assets/fonts/otto-sans-bold.ttf\") format(\"truetype\");font-weight:bold;font-style:normal}@font-face{font-family:OttoSans;src:url(\"https://pattern-library.portal.otto.market/static/assets/fonts/otto-sans-thin.woff\") format(\"woff\"), url(\"https://pattern-library.portal.otto.market/static/assets/fonts/otto-sans-thin.ttf\") format(\"truetype\");font-weight:100;font-style:normal}@font-face{font-family:ObcIcons;src:url(\"https://pattern-library.portal.otto.market/static/assets/fonts/obc-icons.woff\")}:host .b2b-date-picker-years{display:grid;grid-template-columns:repeat(3, 1fr);padding:var(--b2b-size-30) var(--b2b-size-60) 0 var(--b2b-size-60);column-gap:var(--b2b-size-25);row-gap:var(--b2b-size-25);height:250px;overflow-y:auto;overflow-x:hidden}:host .b2b-date-picker-year{height:var(--b2b-size-80);border-radius:5px;text-align:center;display:flex;align-items:center;justify-content:center;font-weight:var(--b2b-font-weight-normal);background-color:var(--b2b-color-grey-25);font-size:var(--b2b-size-35);color:var(--b2b-color-black-100)}:host .b2b-date-picker-year:hover{cursor:pointer}:host .b2b-date-picker-year:hover,:host .b2b-date-picker-year:focus{background-color:var(--b2b-color-hover)}:host .b2b-date-picker-year--selected{background-color:var(--b2b-color-black-100);color:var(--b2b-color-white-100)}:host .b2b-date-picker-year--selected:hover,:host .b2b-date-picker-year--selected:focus{background-color:var(--b2b-color-black-100)}";
|
|
4
|
+
const B2bDatePickerYearsStyle0 = datePickerYearsCss;
|
|
5
|
+
|
|
6
|
+
const keys = {
|
|
7
|
+
ARROW_UP: 'ArrowUp',
|
|
8
|
+
ARROW_DOWN: 'ArrowDown',
|
|
9
|
+
ARROW_RIGHT: 'ArrowRight',
|
|
10
|
+
ARROW_LEFT: 'ArrowLeft',
|
|
11
|
+
ENTER: 'Enter',
|
|
12
|
+
};
|
|
13
|
+
const B2bDatePickerYears = /*@__PURE__*/ proxyCustomElement(class B2bDatePickerYears extends HTMLElement {
|
|
14
|
+
constructor() {
|
|
15
|
+
super();
|
|
16
|
+
this.__registerHost();
|
|
17
|
+
this.__attachShadow();
|
|
18
|
+
this.b2bDatePickerYearSelected = createEvent(this, "b2b-date-picker-year-selected", 7);
|
|
19
|
+
this.getAllYears = () => {
|
|
20
|
+
return Array.from(this.host.shadowRoot.querySelectorAll('.b2b-date-picker-year'));
|
|
21
|
+
};
|
|
22
|
+
this.getCurrentYear = () => {
|
|
23
|
+
const years = this.getAllYears();
|
|
24
|
+
return years.find(el => el.getAttribute('tabindex') === '0');
|
|
25
|
+
};
|
|
26
|
+
this.focusCurrentYear = (year) => {
|
|
27
|
+
const years = this.getAllYears();
|
|
28
|
+
years.forEach(el => {
|
|
29
|
+
el.setAttribute('tabindex', el === year ? '0' : '-1');
|
|
30
|
+
});
|
|
31
|
+
year.focus();
|
|
32
|
+
};
|
|
33
|
+
this.scrollToYear = (year) => {
|
|
34
|
+
const grid = this.host.shadowRoot.querySelector('.b2b-date-picker-years');
|
|
35
|
+
if (grid !== null) {
|
|
36
|
+
const yearElements = grid.children;
|
|
37
|
+
const startYear = this.yearsRange[0];
|
|
38
|
+
const index = year - startYear;
|
|
39
|
+
if (index >= 0 && index < yearElements.length) {
|
|
40
|
+
const rowGap = 10;
|
|
41
|
+
const rowHeight = yearElements[0].offsetHeight + rowGap;
|
|
42
|
+
const rowIndex = Math.floor(index / 3);
|
|
43
|
+
// Show two rows of years above the row with the selected year
|
|
44
|
+
grid.scrollTop = rowIndex * rowHeight - rowHeight * 2;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
this.renderDatePickerYears = () => {
|
|
49
|
+
let years = [];
|
|
50
|
+
for (const year of this.yearsRange) {
|
|
51
|
+
years.push(h("div", { class: {
|
|
52
|
+
'b2b-date-picker-year': true,
|
|
53
|
+
'b2b-date-picker-year--selected': this.selectedYear === year,
|
|
54
|
+
}, onClick: () => this.b2bDatePickerYearSelected.emit({
|
|
55
|
+
value: year,
|
|
56
|
+
}), tabIndex: this.selectedYear === year ? 0 : -1, "aria-label": `Year ${year}` }, year));
|
|
57
|
+
}
|
|
58
|
+
return years;
|
|
59
|
+
};
|
|
60
|
+
this.selectedYear = undefined;
|
|
61
|
+
this.yearsRange = [];
|
|
62
|
+
}
|
|
63
|
+
handleKeyDown(event) {
|
|
64
|
+
event.preventDefault();
|
|
65
|
+
let index = this.yearsRange.indexOf(this.selectedYear);
|
|
66
|
+
const years = this.getAllYears();
|
|
67
|
+
let currentYear = this.getCurrentYear();
|
|
68
|
+
switch (event.key) {
|
|
69
|
+
case keys.ARROW_LEFT:
|
|
70
|
+
index = years.indexOf(currentYear) - 1;
|
|
71
|
+
break;
|
|
72
|
+
case keys.ARROW_RIGHT:
|
|
73
|
+
index = years.indexOf(currentYear) + 1;
|
|
74
|
+
break;
|
|
75
|
+
case keys.ARROW_UP:
|
|
76
|
+
index = years.indexOf(currentYear) - 3;
|
|
77
|
+
break;
|
|
78
|
+
case keys.ARROW_DOWN:
|
|
79
|
+
index = years.indexOf(currentYear) + 3;
|
|
80
|
+
break;
|
|
81
|
+
case keys.ENTER:
|
|
82
|
+
index = years.indexOf(currentYear);
|
|
83
|
+
this.b2bDatePickerYearSelected.emit({
|
|
84
|
+
value: this.yearsRange[index],
|
|
85
|
+
});
|
|
86
|
+
break;
|
|
87
|
+
default:
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
if (index < 0) {
|
|
91
|
+
index = years.length - 1;
|
|
92
|
+
}
|
|
93
|
+
if (index > years.length - 1) {
|
|
94
|
+
index = 0;
|
|
95
|
+
}
|
|
96
|
+
this.focusCurrentYear(years[index]);
|
|
97
|
+
}
|
|
98
|
+
componentWillLoad() {
|
|
99
|
+
for (let i = 1900; i <= 2100; i++) {
|
|
100
|
+
this.yearsRange.push(i);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
componentDidLoad() {
|
|
104
|
+
if (this.selectedYear > 0) {
|
|
105
|
+
this.scrollToYear(this.selectedYear);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
render() {
|
|
109
|
+
return (h(Host, { key: '3b4de9e844d3b54941a49d486a4c6fc4ce70b529' }, h("div", { key: 'c254fa60cefdb33391ca732a064ad1bf1e697f54', class: "b2b-date-picker-years" }, this.renderDatePickerYears())));
|
|
110
|
+
}
|
|
111
|
+
get host() { return this; }
|
|
112
|
+
static get style() { return B2bDatePickerYearsStyle0; }
|
|
113
|
+
}, [1, "b2b-date-picker-years", {
|
|
114
|
+
"selectedYear": [2, "selected-year"],
|
|
115
|
+
"yearsRange": [32]
|
|
116
|
+
}, [[0, "keydown", "handleKeyDown"]]]);
|
|
117
|
+
function defineCustomElement() {
|
|
118
|
+
if (typeof customElements === "undefined") {
|
|
119
|
+
return;
|
|
120
|
+
}
|
|
121
|
+
const components = ["b2b-date-picker-years"];
|
|
122
|
+
components.forEach(tagName => { switch (tagName) {
|
|
123
|
+
case "b2b-date-picker-years":
|
|
124
|
+
if (!customElements.get(tagName)) {
|
|
125
|
+
customElements.define(tagName, B2bDatePickerYears);
|
|
126
|
+
}
|
|
127
|
+
break;
|
|
128
|
+
} });
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
export { B2bDatePickerYears as B, defineCustomElement as d };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
const Months = [
|
|
2
|
+
'Jan',
|
|
3
|
+
'Feb',
|
|
4
|
+
'Mär',
|
|
5
|
+
'Apr',
|
|
6
|
+
'Mai',
|
|
7
|
+
'Jun',
|
|
8
|
+
'Jul',
|
|
9
|
+
'Aug',
|
|
10
|
+
'Sep',
|
|
11
|
+
'Okt',
|
|
12
|
+
'Nov',
|
|
13
|
+
'Dez',
|
|
14
|
+
];
|
|
15
|
+
const Weekdays = ['Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa', 'So'];
|
|
16
|
+
var DatePickerView;
|
|
17
|
+
(function (DatePickerView) {
|
|
18
|
+
DatePickerView["Days"] = "Days";
|
|
19
|
+
DatePickerView["Months"] = "Months";
|
|
20
|
+
DatePickerView["Years"] = "Years";
|
|
21
|
+
})(DatePickerView || (DatePickerView = {}));
|
|
22
|
+
|
|
23
|
+
export { DatePickerView as D, Months as M, Weekdays as W };
|
package/dist/components/icon.js
CHANGED
|
@@ -63,7 +63,7 @@ const B2BInputGroup = /*@__PURE__*/ proxyCustomElement(class B2BInputGroup exten
|
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
65
|
render() {
|
|
66
|
-
return (h(Host, { key: '
|
|
66
|
+
return (h(Host, { key: 'd1a1de32301c87ca992079aa51cd852c495834c7' }, h("div", { key: '153380f6335f6798c0c5b66c7fa3d210f279c608', class: { 'b2b-input-wrapper': true } }, h("slot", { key: 'bc44e2403e9fd7b62b4e5a6a7803525b93d015d4', name: "start" }), h("slot", { key: '4f05ab139f36b432431e606490c765ce3ef219d7' }), h("slot", { key: '152982745b2849e70ce339d85d86485f9cdee48a', name: "end" })), (this.hint || (this.invalid && !this.disabled)) && (h("span", { class: {
|
|
67
67
|
'b2b-input-wrapper__hint': true,
|
|
68
68
|
'b2b-input-wrapper__hint--error': this.invalid && !this.disabled,
|
|
69
69
|
} }, this.invalid && !this.disabled ? this.error : this.hint))));
|
|
@@ -12,11 +12,11 @@ const InputLabelComponent = /*@__PURE__*/ proxyCustomElement(class InputLabelCom
|
|
|
12
12
|
this.disabled = false;
|
|
13
13
|
}
|
|
14
14
|
render() {
|
|
15
|
-
return (h(Host, { key: '
|
|
15
|
+
return (h(Host, { key: '678e58635983721baf51e81727a78c55fd35042a' }, h("label", { key: '2f16c854d4910a071cded385253ad603c474e3ae', class: {
|
|
16
16
|
'b2b-input-label': true,
|
|
17
17
|
'b2b-input-label--required': this.required,
|
|
18
18
|
'b2b-input-label--disabled': this.disabled,
|
|
19
|
-
} }, h("slot", { key: '
|
|
19
|
+
} }, h("slot", { key: '80932ca49a275048ce1ff892cd364e61832c8698' }))));
|
|
20
20
|
}
|
|
21
21
|
get hostElement() { return this; }
|
|
22
22
|
static get style() { return B2bInputLabelStyle0; }
|
|
@@ -19,7 +19,7 @@ const InputListOptionComponent = /*@__PURE__*/ proxyCustomElement(class InputLis
|
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
21
|
render() {
|
|
22
|
-
return (h(Host, { key: '
|
|
22
|
+
return (h(Host, { key: 'a15a0976c03534b47a7350a1d711c041a56be359', class: "b2b-input-list__option", onClick: this.handleClick, role: "option" }, this.option));
|
|
23
23
|
}
|
|
24
24
|
static get style() { return B2bInputListOptionStyle0; }
|
|
25
25
|
}, [0, "b2b-input-list-option", {
|