@otto-de/b2b-core-components 1.28.0 → 1.29.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.
Files changed (76) hide show
  1. package/dist/b2b-core-components/b2b-core-components.esm.js +1 -1
  2. package/dist/b2b-core-components/p-6731435f.entry.js +1 -0
  3. package/dist/b2b-core-components/p-993fdb28.entry.js +1 -0
  4. package/dist/cjs/b2b-date-picker.cjs.entry.js +3 -1
  5. package/dist/cjs/b2b-dropdown.cjs.entry.js +28 -3
  6. package/dist/collection/components/alert/alert.css +2 -2
  7. package/dist/collection/components/anchor/anchor.css +2 -2
  8. package/dist/collection/components/background-box/background-box.css +2 -2
  9. package/dist/collection/components/breadcrumb/breadcrumb.css +2 -2
  10. package/dist/collection/components/button/button.css +2 -2
  11. package/dist/collection/components/card/card.css +2 -2
  12. package/dist/collection/components/checkbox/checkbox.css +2 -2
  13. package/dist/collection/components/checkbox-group/checkbox-group.css +2 -2
  14. package/dist/collection/components/chip/chip.css +2 -2
  15. package/dist/collection/components/date-picker/date-picker-days-header.css +2 -2
  16. package/dist/collection/components/date-picker/date-picker-days.css +2 -2
  17. package/dist/collection/components/date-picker/date-picker-header.css +2 -2
  18. package/dist/collection/components/date-picker/date-picker-months.css +2 -2
  19. package/dist/collection/components/date-picker/date-picker-years.css +2 -2
  20. package/dist/collection/components/date-picker/date-picker.css +26 -23
  21. package/dist/collection/components/date-picker/date-picker.js +22 -0
  22. package/dist/collection/components/dropdown/dropdown.css +7 -6
  23. package/dist/collection/components/dropdown/dropdown.e2e.js +30 -0
  24. package/dist/collection/components/dropdown/dropdown.js +27 -2
  25. package/dist/collection/components/dropdown/dropdown.stories.js +6 -0
  26. package/dist/collection/components/flyout-menu/flyout-menu-option.css +2 -2
  27. package/dist/collection/components/flyout-menu/flyout-menu.css +2 -2
  28. package/dist/collection/components/headline/headline.css +2 -2
  29. package/dist/collection/components/icon/icon.css +2 -2
  30. package/dist/collection/components/icon-100/icon-100.css +2 -2
  31. package/dist/collection/components/icon-50/icon-50.css +2 -2
  32. package/dist/collection/components/input/input.css +2 -2
  33. package/dist/collection/components/input-group/input-group.css +2 -2
  34. package/dist/collection/components/input-list/input-list.css +2 -2
  35. package/dist/collection/components/label/label.css +2 -2
  36. package/dist/collection/components/modal/modal.css +2 -2
  37. package/dist/collection/components/multiselect-dropdown/multiselect-dropdown.css +2 -2
  38. package/dist/collection/components/pagination/pagination.css +2 -2
  39. package/dist/collection/components/paragraph/paragraph.css +2 -2
  40. package/dist/collection/components/progress-bar/progress-bar.css +2 -2
  41. package/dist/collection/components/radio/radio.css +2 -2
  42. package/dist/collection/components/radio-group/radio-group.css +2 -2
  43. package/dist/collection/components/required-separator/required-separator.css +2 -2
  44. package/dist/collection/components/rounded-icon/rounded-icon.css +2 -2
  45. package/dist/collection/components/scrollable-container/scrollable-container.css +2 -2
  46. package/dist/collection/components/separator/separator.css +2 -2
  47. package/dist/collection/components/shimmer/shimmer.css +2 -2
  48. package/dist/collection/components/snackbar/snackbar.css +2 -2
  49. package/dist/collection/components/spinner/spinner.css +2 -2
  50. package/dist/collection/components/tab/tab.css +2 -2
  51. package/dist/collection/components/tab-panel/tab-panel.css +2 -2
  52. package/dist/collection/components/table/table-cell/table-cell.css +2 -2
  53. package/dist/collection/components/table/table-header/table-header.css +2 -2
  54. package/dist/collection/components/table/table-row/table-row.css +2 -2
  55. package/dist/collection/components/table/table-rowgroup/table-rowgroup.css +2 -2
  56. package/dist/collection/components/table/table.css +2 -2
  57. package/dist/collection/components/textarea/textarea.css +2 -2
  58. package/dist/collection/components/toggle-button/toggle-button.css +2 -2
  59. package/dist/collection/components/toggle-chip/toggle-chip.css +2 -2
  60. package/dist/collection/components/toggle-group/toggle-group.css +2 -2
  61. package/dist/collection/components/toggle-switch/toggle-switch.css +2 -2
  62. package/dist/collection/components/tooltip/tooltip.css +2 -2
  63. package/dist/collection/components/wizard/wizard.css +2 -2
  64. package/dist/collection/components/wizard-icon/wizard-icon.css +2 -2
  65. package/dist/components/b2b-date-picker.js +3 -1
  66. package/dist/components/b2b-dropdown.js +28 -3
  67. package/dist/esm/b2b-date-picker.entry.js +3 -1
  68. package/dist/esm/b2b-dropdown.entry.js +28 -3
  69. package/dist/types/components/date-picker/date-picker.d.ts +3 -1
  70. package/dist/types/components/dropdown/dropdown.d.ts +2 -0
  71. package/dist/types/components.d.ts +7 -2
  72. package/dist/types/utils/interfaces/form.interface.d.ts +2 -0
  73. package/dist/web-types.json +11 -1
  74. package/package.json +3 -3
  75. package/dist/b2b-core-components/p-816190a6.entry.js +0 -1
  76. package/dist/b2b-core-components/p-dd96c384.entry.js +0 -1
@@ -1,6 +1,6 @@
1
1
  import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-ab9eb36d.js';
2
2
 
3
- const dropdownCss = ":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-black:#3b3b3b;--b2b-color-hover-default:#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-grey-10:#f0f0f0;--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-10);--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-black:#3b3b3b;--b2b-color-hover-default:#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-grey-10:#f0f0f0;--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-dropdown){--b2b-border-radius:var(--b2b-size-border-radius-100);--b2b-border-right:1px solid var(--b2b-color-grey-200);display:block;position:relative;width:100%;min-width:fit-content;font-family:var(--b2b-font-family-default);font-size:var(--b2b-size-copy-100);max-width:600px}:host(.b2b-dropdown) .b2b-dropdown__wrapper{display:flex;position:relative;width:100%;box-sizing:border-box;flex:1}:host(.b2b-dropdown) .b2b-dropdown__select{font-family:var(--b2b-font-family-default);font-size:var(--b2b-size-copy-100);appearance:none;background-color:var(--b2b-color-white-100);background-image:url('data:image/svg+xml;utf8, <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 32\"><path d=\"M27.748 12.017l-11.333 9.01a.666.666 0 0 1-.829 0l-11.333-9a.665.665 0 1 1 .829-1.044l10.919 8.671 10.919-8.68a.663.663 0 0 1 .936.107.667.667 0 0 1-.107.937z\"/></svg>');background-position:right 0.5rem center;background-repeat:no-repeat;background-size:1.5rem;width:100%;min-width:fit-content;border:1px solid var(--b2b-color-grey-200);border-right:var(--b2b-border-right);border-radius:var(--b2b-border-radius);padding:7px 10px 6px;padding-right:calc(1.75rem + 6px);height:var(--b2b-size-90);line-height:var(--b2b-size-copy-line-height-100);box-sizing:border-box;text-align:left;overflow-x:auto;overflow-y:hidden}:host(.b2b-dropdown) .b2b-dropdown__select--focused{outline:2px solid Highlight;outline:2px solid -webkit-focus-ring-color;border-radius:var(--b2b-border-radius);outline-offset:-1px;z-index:9999}:host(.b2b-dropdown) .b2b-dropdown__select--open{outline:2px solid Highlight;outline:2px solid -webkit-focus-ring-color;border-radius:var(--b2b-border-radius);outline-offset:-1px;z-index:9999}:host(.b2b-dropdown) .b2b-dropdown__options{display:block;background-color:var(--b2b-color-white-100);max-height:200px;margin:0;border-right:var(--b2b-size-1) solid var(--b2b-color-black-100);border-left:var(--b2b-size-1) solid var(--b2b-color-black-100);border-bottom:var(--b2b-size-1) solid var(--b2b-color-black-100);margin-top:0;border-top:none;text-align:left;top:100%;position:absolute;left:0;right:0;width:100%;z-index:10;box-sizing:border-box;white-space:pre-wrap}:host(.b2b-dropdown) .b2b-dropdown__option{padding:10px;cursor:pointer;font-size:var(--b2b-size-copy-100);margin-top:0;border-top:none;display:block;width:100%;box-sizing:border-box}:host(.b2b-dropdown) .b2b-dropdown__option:hover{background-color:var(--b2b-color-hover-default)}:host(.b2b-dropdown) .b2b-dropdown__option--disabled{color:var(--b2b-color-grey-250);background-color:var(--b2b-color-white-100);pointer-events:none}:host(.b2b-dropdown) b2b-input-label{display:block;margin-bottom:var(--b2b-size-5)}:host(.b2b-dropdown) span{display:block;color:var(--b2b-color-grey-300);margin-top:var(--b2b-size-10);font-size:var(--b2b-size-copy-50);line-height:var(--b2b-size-copy-line-height-75)}:host(.b2b-dropdown--error) .b2b-dropdown__select{background-color:var(--b2b-color-error-50);border:1px solid var(--b2b-color-error-100);border-right:var(--b2b-border-right);border-color:var(--b2b-color-error-100)}:host(.b2b-dropdown--error) .b2b-dropdown__select:focus{outline:2px solid var(--b2b-color-error-100);outline-offset:-1px}:host(.b2b-dropdown--error) span{color:var(--b2b-color-error-100)}:host(.b2b-dropdown--disabled) .b2b-dropdown__select{background-image:url('data:image/svg+xml;utf8, <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"grey\" viewBox=\"0 0 32 32\"><path d=\"M27.748 12.017l-11.333 9.01a.666.666 0 0 1-.829 0l-11.333-9a.665.665 0 1 1 .829-1.044l10.919 8.671 10.919-8.68a.663.663 0 0 1 .936.107.667.667 0 0 1-.107.937z\"/></svg>');background-color:var(--b2b-color-grey-25);color:var(--b2b-color-grey-250);border-color:var(--b2b-color-grey-200);opacity:1}";
3
+ const dropdownCss = ":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-black:#3b3b3b;--b2b-color-hover-default:#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-grey-10:#f0f0f0;--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-10);--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-black:#3b3b3b;--b2b-color-hover-default:#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-grey-10:#f0f0f0;--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-dropdown){--b2b-border-radius:var(--b2b-size-border-radius-100);--b2b-border-right:1px solid var(--b2b-color-grey-200);display:block;position:relative;width:100%;min-width:fit-content;font-family:var(--b2b-font-family-default);font-size:var(--b2b-size-copy-100);max-width:600px}:host(.b2b-dropdown) .b2b-dropdown__wrapper{display:flex;position:relative;width:100%;box-sizing:border-box;flex:1}:host(.b2b-dropdown) .b2b-dropdown__select{font-family:var(--b2b-font-family-default);font-size:var(--b2b-size-copy-100);appearance:none;background-color:var(--b2b-color-white-100);background-image:url('data:image/svg+xml;utf8, <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 32\"><path d=\"M27.748 12.017l-11.333 9.01a.666.666 0 0 1-.829 0l-11.333-9a.665.665 0 1 1 .829-1.044l10.919 8.671 10.919-8.68a.663.663 0 0 1 .936.107.667.667 0 0 1-.107.937z\"/></svg>');background-position:right 0.5rem center;background-repeat:no-repeat;background-size:1.5rem;width:100%;min-width:fit-content;border:1px solid var(--b2b-color-grey-200);border-right:var(--b2b-border-right);border-radius:var(--b2b-border-radius);padding:7px 10px 6px;padding-right:calc(1.75rem + 6px);height:var(--b2b-size-90);line-height:var(--b2b-size-copy-line-height-100);box-sizing:border-box;text-align:left;overflow-x:auto;overflow-y:hidden}:host(.b2b-dropdown) .b2b-dropdown__select--focused{outline:2px solid Highlight;outline:2px solid -webkit-focus-ring-color;border-radius:var(--b2b-border-radius);outline-offset:-1px;z-index:300}:host(.b2b-dropdown) .b2b-dropdown__select--open{outline:2px solid Highlight;outline:2px solid -webkit-focus-ring-color;border-radius:var(--b2b-border-radius);outline-offset:-1px;z-index:1001}:host(.b2b-dropdown) .b2b-dropdown__options{display:block;background-color:var(--b2b-color-white-100);max-height:288px;overflow-y:auto;margin:0;border-right:var(--b2b-size-1) solid var(--b2b-color-black-100);border-left:var(--b2b-size-1) solid var(--b2b-color-black-100);border-bottom:var(--b2b-size-1) solid var(--b2b-color-black-100);margin-top:0;border-top:none;text-align:left;top:100%;position:absolute;left:0;right:0;width:100%;z-index:1000;box-sizing:border-box;white-space:pre-wrap}:host(.b2b-dropdown) .b2b-dropdown__option{padding:10px;cursor:pointer;font-size:var(--b2b-size-copy-100);margin-top:0;border-top:none;display:block;width:100%;box-sizing:border-box}:host(.b2b-dropdown) .b2b-dropdown__option:hover{background-color:var(--b2b-color-hover-default)}:host(.b2b-dropdown) .b2b-dropdown__option--disabled{color:var(--b2b-color-grey-250);background-color:var(--b2b-color-white-100);pointer-events:none}:host(.b2b-dropdown) b2b-input-label{display:block;margin-bottom:var(--b2b-size-5)}:host(.b2b-dropdown) span{display:block;color:var(--b2b-color-grey-300);margin-top:var(--b2b-size-10);font-size:var(--b2b-size-copy-50);line-height:var(--b2b-size-copy-line-height-75)}:host(.b2b-dropdown--error) .b2b-dropdown__select{background-color:var(--b2b-color-error-50);border:1px solid var(--b2b-color-error-100);border-right:var(--b2b-border-right);border-color:var(--b2b-color-error-100)}:host(.b2b-dropdown--error) .b2b-dropdown__select:focus{outline:2px solid var(--b2b-color-error-100);outline-offset:-1px}:host(.b2b-dropdown--error) span{color:var(--b2b-color-error-100)}:host(.b2b-dropdown--disabled) .b2b-dropdown__select{background-image:url('data:image/svg+xml;utf8, <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"grey\" viewBox=\"0 0 32 32\"><path d=\"M27.748 12.017l-11.333 9.01a.666.666 0 0 1-.829 0l-11.333-9a.665.665 0 1 1 .829-1.044l10.919 8.671 10.919-8.68a.663.663 0 0 1 .936.107.667.667 0 0 1-.107.937z\"/></svg>');background-color:var(--b2b-color-grey-25);color:var(--b2b-color-grey-250);border-color:var(--b2b-color-grey-200);opacity:1}";
4
4
  const B2bDropdownStyle0 = dropdownCss;
5
5
 
6
6
  const DropdownComponent = class {
@@ -91,15 +91,40 @@ const DropdownComponent = class {
91
91
  this.selectedValue = this.placeholderValue || '';
92
92
  this.selectedText = '';
93
93
  }
94
+ refreshOptions() {
95
+ const optionElements = Array.from(this.hostElement.querySelectorAll('option'));
96
+ this.options = optionElements.map(option => {
97
+ var _a;
98
+ return ({
99
+ value: option.getAttribute('value') || '',
100
+ label: ((_a = option.textContent) === null || _a === void 0 ? void 0 : _a.trim()) || '',
101
+ selected: option.hasAttribute('selected'),
102
+ disabled: option.hasAttribute('disabled'),
103
+ });
104
+ });
105
+ }
94
106
  componentDidLoad() {
95
107
  this.initializeOptions();
96
108
  this.updateTruncatedText();
97
109
  document.addEventListener('click', this.onClickOutside);
98
110
  window.addEventListener('resize', this.updateTruncatedText);
111
+ this.refreshOptions();
112
+ if (typeof MutationObserver !== 'undefined') {
113
+ this.mutationObserver = new MutationObserver(() => {
114
+ this.refreshOptions();
115
+ });
116
+ this.mutationObserver.observe(this.hostElement, {
117
+ childList: true,
118
+ subtree: true,
119
+ });
120
+ }
99
121
  }
100
122
  disconnectedCallback() {
101
123
  document.removeEventListener('click', this.onClickOutside);
102
124
  window.removeEventListener('resize', this.updateTruncatedText);
125
+ if (this.mutationObserver) {
126
+ this.mutationObserver.disconnect();
127
+ }
103
128
  }
104
129
  watchDropdownState() {
105
130
  if (this.isOpen)
@@ -133,11 +158,11 @@ const DropdownComponent = class {
133
158
  const hasError = this.invalid && !this.disabled;
134
159
  const showHint = this.hint && (!this.invalid || this.disabled);
135
160
  const showError = this.error && hasError;
136
- return (h(Host, { key: '09be0fe07181c102f688599b581973d03c6347ae', class: {
161
+ return (h(Host, { key: 'c637b01d1726e3986a086fda92e76baf3a4aebf3', class: {
137
162
  'b2b-dropdown': true,
138
163
  'b2b-dropdown--error': hasError,
139
164
  'b2b-dropdown--disabled': this.disabled,
140
- } }, this.label && (h("b2b-input-label", { id: this.name, required: this.required }, this.label)), h("div", { key: 'f4756d9f9550c1adc4aa618e9e7c673bfd89037a', class: "b2b-dropdown__wrapper", onFocus: this.onFocus, onBlur: this.onBlur }, h("div", { key: '5fed7fbb2599116576887c05d85b884367e2bf0e', class: {
165
+ } }, this.label && (h("b2b-input-label", { id: this.name, required: this.required }, this.label)), h("div", { key: 'de226d45b1c2f01ab465c180c3adcd646d714a6d', class: "b2b-dropdown__wrapper", onFocus: this.onFocus, onBlur: this.onBlur }, h("div", { key: '4cbf77b6f513e0f00987ef7aa95b63377f8d2169', class: {
141
166
  'b2b-dropdown__select': true,
142
167
  'b2b-dropdown__select--open': this.isOpen,
143
168
  'b2b-dropdown__select--focused': this.focused,
@@ -1,5 +1,5 @@
1
1
  import { EventEmitter } from '../../stencil-public-runtime';
2
- import { DatePickerEventDetail, DatePickerViewChangedEventDetail, MonthSelectedEventDetail, YearSelectedEventDetail } from '../../utils/interfaces/form.interface';
2
+ import { DateClear, DatePickerEventDetail, DatePickerViewChangedEventDetail, MonthSelectedEventDetail, YearSelectedEventDetail } from '../../utils/interfaces/form.interface';
3
3
  export declare class B2bDatePicker {
4
4
  host: HTMLB2bDatePickerElement;
5
5
  /** Whether the previous dates from the current date are disabled. By default, this is true. */
@@ -34,6 +34,8 @@ export declare class B2bDatePicker {
34
34
  language: 'de' | 'en';
35
35
  /** Emits the selected date as Date type. */
36
36
  b2bSelected: EventEmitter<DatePickerEventDetail>;
37
+ /** Emits when the user clicks the clear button. */
38
+ b2bClear: EventEmitter<DateClear>;
37
39
  private readonly DISABLED_DATE_ERROR_MESSAGE;
38
40
  private readonly FORMATTING_ERROR_MESSAGE;
39
41
  private showDatePicker;
@@ -25,6 +25,7 @@ export declare class DropdownComponent {
25
25
  b2bFocus: EventEmitter<FocusEvent>;
26
26
  /** Emits whenever the dropdown loses focus. */
27
27
  b2bBlur: EventEmitter<FocusEvent>;
28
+ private mutationObserver?;
28
29
  /** Method to programmatically clear selection of the dropdown. */
29
30
  clearSelection(): Promise<void>;
30
31
  isOpen: boolean;
@@ -40,6 +41,7 @@ export declare class DropdownComponent {
40
41
  private selectEl;
41
42
  private truncatedText;
42
43
  componentWillLoad(): void;
44
+ private refreshOptions;
43
45
  componentDidLoad(): void;
44
46
  disconnectedCallback(): void;
45
47
  watchDropdownState(): void;
@@ -6,7 +6,7 @@
6
6
  */
7
7
  import { HTMLStencilElement, JSXBase } from "./stencil-public-runtime";
8
8
  import { BreadCrumbChangeEventDetail, ColumnSortChangeEventDetail, PageChangeEventDetail, TabChangeEventDetail, ToggleChipEventDetail, ToggleSwitchEventDetail } from "./utils/interfaces/interaction.interface";
9
- import { CheckboxEventDetail, ChipComponentEventDetail, DatePickerEventDetail, DatePickerViewChangedEventDetail, DateSelectedEventDetail, EscapePressed, InputChangeEvent, InputClear, MonthSelectedEventDetail, MultiSelectOptionEventDetail, NextMonth, OptionSelectedEventDetail, PreviousMonth, RadioEventDetail, SearchClickEventDetail, ToggleButtonEventDetail, YearSelectedEventDetail } from "./utils/interfaces/form.interface";
9
+ import { CheckboxEventDetail, ChipComponentEventDetail, DateClear, DatePickerEventDetail, DatePickerViewChangedEventDetail, DateSelectedEventDetail, EscapePressed, InputChangeEvent, InputClear, MonthSelectedEventDetail, MultiSelectOptionEventDetail, NextMonth, OptionSelectedEventDetail, PreviousMonth, RadioEventDetail, SearchClickEventDetail, ToggleButtonEventDetail, YearSelectedEventDetail } from "./utils/interfaces/form.interface";
10
10
  import { IconName } from "./components/icon/types";
11
11
  import { IconName as IconName1 } from "./components/icon-100/types";
12
12
  import { IconName as IconName2 } from "./components/icon-50/types";
@@ -16,7 +16,7 @@ import { CheckboxEventDetail as CheckboxEventDetail1 } from "./components";
16
16
  import { TableAccordionSelectedEventDetail } from "./utils/interfaces/content.interface";
17
17
  import { WizardStatus, WizardSteps } from "./utils/types/wizard.types";
18
18
  export { BreadCrumbChangeEventDetail, ColumnSortChangeEventDetail, PageChangeEventDetail, TabChangeEventDetail, ToggleChipEventDetail, ToggleSwitchEventDetail } from "./utils/interfaces/interaction.interface";
19
- export { CheckboxEventDetail, ChipComponentEventDetail, DatePickerEventDetail, DatePickerViewChangedEventDetail, DateSelectedEventDetail, EscapePressed, InputChangeEvent, InputClear, MonthSelectedEventDetail, MultiSelectOptionEventDetail, NextMonth, OptionSelectedEventDetail, PreviousMonth, RadioEventDetail, SearchClickEventDetail, ToggleButtonEventDetail, YearSelectedEventDetail } from "./utils/interfaces/form.interface";
19
+ export { CheckboxEventDetail, ChipComponentEventDetail, DateClear, DatePickerEventDetail, DatePickerViewChangedEventDetail, DateSelectedEventDetail, EscapePressed, InputChangeEvent, InputClear, MonthSelectedEventDetail, MultiSelectOptionEventDetail, NextMonth, OptionSelectedEventDetail, PreviousMonth, RadioEventDetail, SearchClickEventDetail, ToggleButtonEventDetail, YearSelectedEventDetail } from "./utils/interfaces/form.interface";
20
20
  export { IconName } from "./components/icon/types";
21
21
  export { IconName as IconName1 } from "./components/icon-100/types";
22
22
  export { IconName as IconName2 } from "./components/icon-50/types";
@@ -1724,6 +1724,7 @@ declare global {
1724
1724
  };
1725
1725
  interface HTMLB2bDatePickerElementEventMap {
1726
1726
  "b2b-selected": DatePickerEventDetail;
1727
+ "b2b-clear": DateClear;
1727
1728
  }
1728
1729
  interface HTMLB2bDatePickerElement extends Components.B2bDatePicker, HTMLStencilElement {
1729
1730
  addEventListener<K extends keyof HTMLB2bDatePickerElementEventMap>(type: K, listener: (this: HTMLB2bDatePickerElement, ev: B2bDatePickerCustomEvent<HTMLB2bDatePickerElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
@@ -2827,6 +2828,10 @@ declare namespace LocalJSX {
2827
2828
  * The language for month and the weekdays will be decided based on the given input. By default, this will be de which is german
2828
2829
  */
2829
2830
  "language"?: 'de' | 'en';
2831
+ /**
2832
+ * Emits when the user clicks the clear button.
2833
+ */
2834
+ "onB2b-clear"?: (event: B2bDatePickerCustomEvent<DateClear>) => void;
2830
2835
  /**
2831
2836
  * Emits the selected date as Date type.
2832
2837
  */
@@ -26,6 +26,8 @@ export interface DateSelectedEventDetail {
26
26
  selectedDate: Date;
27
27
  }
28
28
 
29
+ export interface DateClear<T = any> {}
30
+
29
31
  export interface MultiSelectOptionEventDetail {
30
32
  selected: boolean;
31
33
  selectedOption: string;
@@ -2,7 +2,7 @@
2
2
  "$schema": "http://json.schemastore.org/web-types",
3
3
  "framework": "vue",
4
4
  "name": "@otto-de/b2b-core-components",
5
- "version": "1.27.0",
5
+ "version": "1.28.1",
6
6
  "js-types-syntax": "typescript",
7
7
  "description-markup": "markdown",
8
8
  "contributions": {
@@ -964,6 +964,16 @@
964
964
  ],
965
965
  "slots": [],
966
966
  "events": [
967
+ {
968
+ "name": "b2b-clear",
969
+ "description": "Emits when the user clicks the clear button.",
970
+ "arguments": [
971
+ {
972
+ "name": "detail",
973
+ "type": "DateClear<any>"
974
+ }
975
+ ]
976
+ },
967
977
  {
968
978
  "name": "b2b-selected",
969
979
  "description": "Emits the selected date as Date type.",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@otto-de/b2b-core-components",
3
- "version": "1.28.0",
3
+ "version": "1.29.0",
4
4
  "description": "Core components defined with Stencil",
5
5
  "author": "Otto GmbH",
6
6
  "license": "Apache-2.0",
@@ -41,8 +41,7 @@
41
41
  "build:storybook": "npm run copy-md-files && storybook build -o docs-build/design-system"
42
42
  },
43
43
  "dependencies": {
44
- "@otto-de/b2b-tokens": "1.28.0",
45
- "@stencil-community/eslint-plugin": "^0.5.0",
44
+ "@otto-de/b2b-tokens": "1.29.0",
46
45
  "@stencil/core": "4.13.0"
47
46
  },
48
47
  "devDependencies": {
@@ -51,6 +50,7 @@
51
50
  "@babel/preset-typescript": "^7.22.15",
52
51
  "@chromatic-com/storybook": "^3.2.4",
53
52
  "@fullhuman/postcss-purgecss": "^5.0.0",
53
+ "@stencil-community/eslint-plugin": "^0.5.0",
54
54
  "@stencil-community/postcss": "^2.2.0",
55
55
  "@stencil/react-output-target": "^0.5.3",
56
56
  "@stencil/sass": "^3.0.10",
@@ -1 +0,0 @@
1
- import{r as b,c as o,h as r,H as e,g as i}from"./p-b6a753e8.js";const t=class{constructor(r){b(this,r),this.b2bChange=o(this,"b2b-change",7),this.b2bFocus=o(this,"b2b-focus",7),this.b2bBlur=o(this,"b2b-blur",7),this.truncatedText="",this.onClickOutside=b=>{this.hostElement.contains(b.target)||(this.isOpen=!1)},this.toggleDropdown=()=>{this.disabled||(this.isOpen=!this.isOpen)},this.onFocus=b=>{this.focused=!0,this.b2bFocus.emit(b)},this.onBlur=b=>{this.focused=!1,this.b2bBlur.emit(b)},this.onSelect=b=>{var o;const r=b.target,e=r.getAttribute("data-value"),i=null===(o=r.textContent)||void 0===o?void 0:o.trim();e&&(this.selectedValue=e,this.selectedText=i||"",this.b2bChange.emit(e),this.options=this.options.map((b=>Object.assign(Object.assign({},b),{selected:b.value===e}))),this.isOpen=!1,this.updateTruncatedText())},this.updateTruncatedText=()=>{if(!this.selectEl)return;const b=this.selectedText||this.placeholder,o=window.getComputedStyle(this.selectEl),r=document.createElement("canvas").getContext("2d");if(!r)return;r.font=`${o.fontWeight} ${o.fontSize} ${o.fontFamily}`;const e=this.selectEl.clientWidth-parseFloat(o.paddingRight||"0")-24;if(r.measureText(b).width<=e)return void(this.truncatedText=b);let i="";for(let o=0;o<b.length;o++){const t=b.slice(0,o+1)+"…";if(r.measureText(t).width>e)break;i=b.slice(0,o+1)}this.truncatedText=i+"…"},this.label=void 0,this.required=!1,this.name=void 0,this.placeholder="Select an option...",this.placeholderValue="",this.disabled=!1,this.invalid=!1,this.hint=void 0,this.error=void 0,this.isOpen=!1,this.focused=!1,this.selectedValue="",this.selectedText="",this.options=[]}async clearSelection(){this.selectedValue=this.placeholderValue||"",this.selectedText=this.placeholder||"Select an option...",this.options=this.options.map((b=>Object.assign(Object.assign({},b),{selected:!1}))),this.isOpen=!1,this.updateTruncatedText()}componentWillLoad(){this.selectedValue=this.placeholderValue||"",this.selectedText=""}componentDidLoad(){this.initializeOptions(),this.updateTruncatedText(),document.addEventListener("click",this.onClickOutside),window.addEventListener("resize",this.updateTruncatedText)}disconnectedCallback(){document.removeEventListener("click",this.onClickOutside),window.removeEventListener("resize",this.updateTruncatedText)}watchDropdownState(){this.isOpen&&this.closeOtherDropdowns()}initializeOptions(){const b=Array.from(this.hostElement.querySelectorAll("option"));this.options=b.map((b=>{var o;return{value:b.value,label:(null===(o=b.textContent)||void 0===o?void 0:o.trim())||"",selected:b.hasAttribute("selected"),disabled:b.hasAttribute("disabled")}}));const o=this.options.find((b=>b.selected));o&&(this.selectedValue=o.value,this.selectedText=o.label)}closeOtherDropdowns(){document.querySelectorAll("b2b-dropdown").forEach((b=>{b!==this.hostElement&&(b.isOpen=!1)}))}render(){const b=this.invalid&&!this.disabled,o=this.hint&&(!this.invalid||this.disabled),i=this.error&&b;return r(e,{key:"09be0fe07181c102f688599b581973d03c6347ae",class:{"b2b-dropdown":!0,"b2b-dropdown--error":b,"b2b-dropdown--disabled":this.disabled}},this.label&&r("b2b-input-label",{id:this.name,required:this.required},this.label),r("div",{key:"f4756d9f9550c1adc4aa618e9e7c673bfd89037a",class:"b2b-dropdown__wrapper",onFocus:this.onFocus,onBlur:this.onBlur},r("div",{key:"5fed7fbb2599116576887c05d85b884367e2bf0e",class:{"b2b-dropdown__select":!0,"b2b-dropdown__select--open":this.isOpen,"b2b-dropdown__select--focused":this.focused},ref:b=>this.selectEl=b,onClick:this.toggleDropdown,role:"combobox","aria-expanded":`${this.isOpen}`,"aria-labelledby":this.name},this.selectedText?this.truncatedText:this.placeholder),this.isOpen&&r("div",{class:"b2b-dropdown__options",role:"listbox"},this.options.map((b=>r("div",{key:b.value,class:{"b2b-dropdown__option":!0,"b2b-dropdown__option--selected":b.selected,"b2b-dropdown__option--disabled":b.disabled},"data-value":b.value,onClick:b.disabled?void 0:this.onSelect,role:"option","aria-selected":b.selected?"true":"false","aria-disabled":b.disabled?"true":"false"},b.label))))),o&&r("span",null,this.hint),i&&r("span",null,this.error))}get hostElement(){return i(this)}static get watchers(){return{isOpen:["watchDropdownState"]}}};t.style=':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-black:#3b3b3b;--b2b-color-hover-default:#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-grey-10:#f0f0f0;--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-10);--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-black:#3b3b3b;--b2b-color-hover-default:#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-grey-10:#f0f0f0;--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-dropdown){--b2b-border-radius:var(--b2b-size-border-radius-100);--b2b-border-right:1px solid var(--b2b-color-grey-200);display:block;position:relative;width:100%;min-width:fit-content;font-family:var(--b2b-font-family-default);font-size:var(--b2b-size-copy-100);max-width:600px}:host(.b2b-dropdown) .b2b-dropdown__wrapper{display:flex;position:relative;width:100%;box-sizing:border-box;flex:1}:host(.b2b-dropdown) .b2b-dropdown__select{font-family:var(--b2b-font-family-default);font-size:var(--b2b-size-copy-100);appearance:none;background-color:var(--b2b-color-white-100);background-image:url(\'data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path d="M27.748 12.017l-11.333 9.01a.666.666 0 0 1-.829 0l-11.333-9a.665.665 0 1 1 .829-1.044l10.919 8.671 10.919-8.68a.663.663 0 0 1 .936.107.667.667 0 0 1-.107.937z"/></svg>\');background-position:right 0.5rem center;background-repeat:no-repeat;background-size:1.5rem;width:100%;min-width:fit-content;border:1px solid var(--b2b-color-grey-200);border-right:var(--b2b-border-right);border-radius:var(--b2b-border-radius);padding:7px 10px 6px;padding-right:calc(1.75rem + 6px);height:var(--b2b-size-90);line-height:var(--b2b-size-copy-line-height-100);box-sizing:border-box;text-align:left;overflow-x:auto;overflow-y:hidden}:host(.b2b-dropdown) .b2b-dropdown__select--focused{outline:2px solid Highlight;outline:2px solid -webkit-focus-ring-color;border-radius:var(--b2b-border-radius);outline-offset:-1px;z-index:9999}:host(.b2b-dropdown) .b2b-dropdown__select--open{outline:2px solid Highlight;outline:2px solid -webkit-focus-ring-color;border-radius:var(--b2b-border-radius);outline-offset:-1px;z-index:9999}:host(.b2b-dropdown) .b2b-dropdown__options{display:block;background-color:var(--b2b-color-white-100);max-height:200px;margin:0;border-right:var(--b2b-size-1) solid var(--b2b-color-black-100);border-left:var(--b2b-size-1) solid var(--b2b-color-black-100);border-bottom:var(--b2b-size-1) solid var(--b2b-color-black-100);margin-top:0;border-top:none;text-align:left;top:100%;position:absolute;left:0;right:0;width:100%;z-index:10;box-sizing:border-box;white-space:pre-wrap}:host(.b2b-dropdown) .b2b-dropdown__option{padding:10px;cursor:pointer;font-size:var(--b2b-size-copy-100);margin-top:0;border-top:none;display:block;width:100%;box-sizing:border-box}:host(.b2b-dropdown) .b2b-dropdown__option:hover{background-color:var(--b2b-color-hover-default)}:host(.b2b-dropdown) .b2b-dropdown__option--disabled{color:var(--b2b-color-grey-250);background-color:var(--b2b-color-white-100);pointer-events:none}:host(.b2b-dropdown) b2b-input-label{display:block;margin-bottom:var(--b2b-size-5)}:host(.b2b-dropdown) span{display:block;color:var(--b2b-color-grey-300);margin-top:var(--b2b-size-10);font-size:var(--b2b-size-copy-50);line-height:var(--b2b-size-copy-line-height-75)}:host(.b2b-dropdown--error) .b2b-dropdown__select{background-color:var(--b2b-color-error-50);border:1px solid var(--b2b-color-error-100);border-right:var(--b2b-border-right);border-color:var(--b2b-color-error-100)}:host(.b2b-dropdown--error) .b2b-dropdown__select:focus{outline:2px solid var(--b2b-color-error-100);outline-offset:-1px}:host(.b2b-dropdown--error) span{color:var(--b2b-color-error-100)}:host(.b2b-dropdown--disabled) .b2b-dropdown__select{background-image:url(\'data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" fill="grey" viewBox="0 0 32 32"><path d="M27.748 12.017l-11.333 9.01a.666.666 0 0 1-.829 0l-11.333-9a.665.665 0 1 1 .829-1.044l10.919 8.671 10.919-8.68a.663.663 0 0 1 .936.107.667.667 0 0 1-.107.937z"/></svg>\');background-color:var(--b2b-color-grey-25);color:var(--b2b-color-grey-250);border-color:var(--b2b-color-grey-200);opacity:1}';export{t as b2b_dropdown}
@@ -1 +0,0 @@
1
- import{r as e,c as b,h as i,H as t,g as s}from"./p-b6a753e8.js";import{D as r,a as o}from"./p-a923feb6.js";const a=class{constructor(i){e(this,i),this.b2bSelected=b(this,"b2b-selected",7),this.DISABLED_DATE_ERROR_MESSAGE="Auswahl nicht möglich, bitte gültiges Datum auswählen.",this.FORMATTING_ERROR_MESSAGE="Format beachten: TT.MM.JJJJ.",this.today=new Date,this.todayWithoutTime=new Date(this.today.getFullYear(),this.today.getMonth(),this.today.getDate()),this.handleInputChange=e=>{this.focused=!0,this.invalid=!1;let b=e.target.value;b=b.replace(/[^0-9.]/g,""),b.length>10&&(b=b.slice(0,10)),this.userInputDate=b,e.target.value=b,10===b.length&&(this.parseDateInput(b),this.invalid&&(this.showDatePicker=!1))},this.handleKeyDown=e=>{if("Enter"===e.key){this.showHideDatePicker(),this.invalid&&(this.invalid=!1,this.showDatePicker=!1);let b=e.target.value;0===b.length&&(this.invalid=!1),10===b.length?(this.parseDateInput(b),this.emitSelectedDate(),this.showDatePicker=!1,this.focused=!1):(this.invalid=!0,this.focused=!1,this.showDatePicker=!1)}"Backspace"===e.key&&0===e.target.value.length&&(this.clearDateInput(),this.invalid=!1)},this.handleInputFocus=()=>{this.parseDateInput(this.userInputDate),this.invalid&&(this.invalid=!1),this.focused=!0},this.setCurrentMonth=e=>{this.selectedMonth=e,this.selectedDay=void 0},this.setCurrentYear=e=>{this.selectedYear=e,this.selectedDay=void 0},this.showHideDatePicker=()=>{this.showDatePicker=!this.showDatePicker,this.datePickerView=r.Days},this.clearDateInput=()=>{this.selectedDay=void 0,this.userInputDate=void 0},this.handleBackdropDismiss=()=>{this.showDatePicker=!1},this.disablePastDates=void 0,this.disableFutureDates=void 0,this.disableWeekends=void 0,this.disableDates=[],this.label="Zeitpunkt auswählen",this.required=!1,this.preSelectedDate=void 0,this.showHint=!0,this.width=300,this.disableDays=[],this.disableDatesUntil=void 0,this.disableDatesFrom=void 0,this.hint="Format: TT.MM.JJJJ",this.placeholder=null,this.language="de",this.showDatePicker=!1,this.focused=!1,this.datePickerView=r.Days,this.selectedMonth=(new Date).getMonth(),this.selectedYear=(new Date).getFullYear(),this.selectedDay=void 0,this.selectedDate=void 0,this.userInputDate="",this.invalid=!1,this.errorMessage=this.FORMATTING_ERROR_MESSAGE,this.datesToBeDisabled=[],this.normalizedDisableEvery=[],this.normalizedDisableDatesUntil=void 0,this.normalizedDisableDatesFrom=void 0}isWithWithinLimit(){return this.width>=300&&this.width<=600}normalizeArrayInput(e){if(Array.isArray(e))return e;if("string"==typeof e)try{return JSON.parse(e)}catch(b){return e.split(",").map((e=>e.trim())).filter(Boolean)}return[]}normalizeDisableDatesUntilAndFrom(e){const[b,i,t]=e.split(".").map(Number);return new Date(t,i-1,b)}componentWillLoad(){const e=this.normalizeArrayInput(this.disableDates);e.length>0&&(this.datesToBeDisabled=e.map((e=>{const[b,i,t]=e.split(".").map(Number);return new Date(t,i-1,b)})));const b=this.normalizeArrayInput(this.disableDays);if(b.length>0&&(this.normalizedDisableEvery=b),this.disableDatesUntil&&""!==this.disableDatesUntil&&(this.normalizedDisableDatesUntil=this.normalizeDisableDatesUntilAndFrom(this.disableDatesUntil)),this.disableDatesFrom&&""!==this.disableDatesFrom&&(this.normalizedDisableDatesFrom=this.normalizeDisableDatesUntilAndFrom(this.disableDatesFrom)),this.preSelectedDate){const[e,b,i]=this.preSelectedDate.split(".").map(Number);this.selectedDay=e,this.selectedMonth=b-1,this.selectedYear=i,this.setSelectedDateForDisplay(),this.showDatePicker=!1}else{const e=new Date;this.selectedDay=void 0,this.selectedMonth=e.getMonth(),this.selectedYear=e.getFullYear(),this.userInputDate=""}}handleEscapePress(){this.showDatePicker=!1}handleDateSelection(e){this.selectedDay=e.detail.selectedDate.getDate(),this.setSelectedDate(),this.showDatePicker=!1,this.focused=!1}getPreviousMonth(){this.invalid=!1,0===this.selectedMonth?(this.setCurrentMonth(11),this.setCurrentYear(this.selectedYear-1)):this.setCurrentMonth(this.selectedMonth-1)}handleDisableDatesChanged(e){const b=this.normalizeArrayInput(e);this.datesToBeDisabled=b.map((e=>{const[b,i,t]=e.split(".").map(Number);return new Date(t,i-1,b)}))}handleDisableDaysChanged(e){this.normalizedDisableEvery=this.normalizeArrayInput(e)}parseDateInput(e){if(""==e||void 0===e)return void(this.invalid=!1);if(!/^(0[1-9]|[12][0-9]|3[01])\.(0[1-9]|1[0-2])\.\d{4}$/.test(e))return this.invalid=!0,void(this.errorMessage=this.FORMATTING_ERROR_MESSAGE);const[b,i,t]=e.split(".").map((e=>Number(e)));this.isValidDate(b,i,t)?(this.invalid=!1,this.selectedDay=b,this.selectedMonth=i-1,this.selectedYear=t,this.setSelectedDateForDisplay()):(this.invalid=!0,this.focused=!1,this.selectedDay=this.todayWithoutTime.getDate(),this.selectedMonth=this.todayWithoutTime.getMonth(),this.selectedYear=this.todayWithoutTime.getFullYear())}isValidDate(e,b,i){const t=new Date(i,b-1,e),s=new Date(this.today.getFullYear(),this.today.getMonth(),this.today.getDate()),r=t.getDate()===e,a=t.getMonth()+1===b,h=t.getFullYear()===i&&i>=1900&&i<=2100;if(!r||!a||!h)return this.errorMessage=this.DISABLED_DATE_ERROR_MESSAGE,!1;let l=!0;return o.isDisabledDate(t,{disableDates:this.datesToBeDisabled,disablePastDates:this.disablePastDates,disableFutureDates:this.disableFutureDates,disableWeekends:this.disableWeekends,todayWithoutTime:s,disableEvery:this.normalizedDisableEvery,disableDatesUntil:this.normalizedDisableDatesUntil,disableDatesFrom:this.normalizedDisableDatesFrom})&&(this.errorMessage=this.DISABLED_DATE_ERROR_MESSAGE,l=!1),l}emitSelectedDate(){this.b2bSelected.emit({selectedDate:new Date(this.selectedYear,this.selectedMonth,this.selectedDay)})}setSelectedDateForDisplay(){void 0!==this.selectedDay&&this.updateInputWithSelectedDate()}updateInputWithSelectedDate(){const e=this.selectedDay.toString().padStart(2,"0"),b=(this.selectedMonth+1).toString().padStart(2,"0");this.userInputDate=`${e}.${b}.${this.selectedYear}`,this.invalid=!1}getNextMonth(){this.invalid=!1,11===this.selectedMonth?(this.setCurrentMonth(0),this.setCurrentYear(this.selectedYear+1)):this.setCurrentMonth(this.selectedMonth+1)}handleDatePickerViewChanged(e){this.datePickerView=e.detail.value}handleMonthSelected(e){this.setCurrentMonth(e.detail.value),this.datePickerView=r.Days,this.invalid=!1,setTimeout((()=>{this.setFocusOnCalendarIcon()}),100)}handleYearSelected(e){this.setCurrentYear(e.detail.value),this.datePickerView=r.Days,this.invalid=!1,setTimeout((()=>{this.setFocusOnCalendarIcon()}),100)}setFocusOnCalendarIcon(){let e=this.host.shadowRoot.querySelector(".b2b-event-icon");null!==e&&e.focus()}setSelectedDate(){this.setSelectedDateForDisplay(),this.b2bSelected.emit({selectedDate:new Date(this.selectedYear,this.selectedMonth,this.selectedDay)}),this.invalid=!1,setTimeout((()=>{this.setFocusOnCloseIcon()}),100)}setFocusOnCloseIcon(){let e=this.host.shadowRoot.querySelector(".b2b-close-icon");null!==e&&e.focus()}handleFocusOut(){""===this.userInputDate||this.invalid||this.parseDateInput(this.userInputDate)}moveFocusToInputComponent(){const e=this.host.shadowRoot.querySelector("input.b2b-date-picker-input");return void 0===e||this.invalid?this.showDatePicker||this.invalid?(e.blur(),this.invalid=!1,this.focused=!1,void this.showHideDatePicker()):void 0:(e.focus(),this.focused=!0,void this.showHideDatePicker())}render(){return this.isWithWithinLimit()?i(t,null,i("div",{class:"b2b-date-picker"},i("b2b-input-label",{id:this.label,required:this.required},this.label),i("div",{style:{width:`${this.width}px`},class:{"b2b-date-picker-input-wrapper":!0,"b2b-date-picker-input-wrapper--focused":this.focused||this.showDatePicker,"b2b-date-picker-input-wrapper--error":this.invalid}},i("div",{class:"b2b-date-picker-input-focus-wrapper",onClick:()=>{this.moveFocusToInputComponent()}},i("input",{type:"text",tabindex:0,class:{"b2b-date-picker-input":!0,"b2b-date-picker-input--error":this.invalid},value:this.userInputDate,onInput:this.handleInputChange,onKeyDown:this.handleKeyDown,onFocus:this.handleInputFocus,onBlur:()=>{this.focused=!1,this.handleFocusOut()},placeholder:this.placeholder})),i("div",{class:"b2b-icons"},this.userInputDate&&i("div",{tabIndex:0,onClick:()=>{this.invalid=!1,this.clearDateInput()},class:"b2b-close-icon",onKeyDown:e=>{"Enter"===e.key&&(this.invalid=!1,this.clearDateInput())}},i("b2b-icon-100",{icon:"b2b_icon-close","aria-label":"clear input",clickable:!0})),i("div",{tabindex:0,onClick:()=>{this.invalid&&(this.invalid=!1),this.showHideDatePicker()},onKeyDown:e=>{"Enter"===e.key&&(this.invalid&&(this.invalid=!1),this.showHideDatePicker())},class:"b2b-event-icon"},i("b2b-icon-100",{"aria-label":this.showDatePicker?"close date picker":"open date picker",icon:"b2b_icon-event",clickable:!0}))))),i("div",{class:{"b2b-date-picker-body":!0,"b2b-date-picker-body--hidden":!this.showDatePicker}},this.datePickerView===r.Days&&i("div",null,i("b2b-date-picker-header",{language:this.language,selectedMonth:this.selectedMonth,selectedYear:this.selectedYear}),i("b2b-date-picker-days-header",{language:this.language}),i("b2b-date-picker-days",{selectedMonth:this.selectedMonth,selectedYear:this.selectedYear,selectedDay:this.selectedDay,disableWeekends:this.disableWeekends,disableFutureDates:this.disableFutureDates,disablePastDates:this.disablePastDates,disableDates:this.datesToBeDisabled,disableDatesUntil:this.normalizedDisableDatesUntil,disableEvery:this.normalizedDisableEvery,disableDatesFrom:this.normalizedDisableDatesFrom})),this.datePickerView===r.Months&&i("b2b-date-picker-months",{language:this.language,selectedMonth:this.selectedMonth}),this.datePickerView===r.Years&&i("b2b-date-picker-years",{selectedYear:this.selectedYear})),this.showDatePicker&&i("div",{class:"b2b-date-picker__backdrop",onClick:this.handleBackdropDismiss}),!this.showDatePicker&&i("span",{class:{"b2b-date-picker-hint":!0,"b2b-date-picker-hint--error":this.invalid}},this.invalid?this.errorMessage:this.showHint&&this.hint)):null}get host(){return s(this)}static get watchers(){return{disableDates:["handleDisableDatesChanged"],disableDays:["handleDisableDaysChanged"]}}};a.style=':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-black:#3b3b3b;--b2b-color-hover-default:#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-grey-10:#f0f0f0;--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-10);--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-black:#3b3b3b;--b2b-color-hover-default:#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-grey-10:#f0f0f0;--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{position:relative;z-index:300}:host .b2b-date-picker__backdrop{position:fixed;top:0;left:0;width:100%;height:100%;z-index:0}:host .b2b-date-picker-input-focus-wrapper{width:100%;height:100%}:host .b2b-date-picker-input-focus-wrapper:hover{cursor:text}:host .b2b-date-picker-input-wrapper{display:flex;box-sizing:border-box;height:var(--b2b-size-90);border:var(--b2b-size-1) solid var(--b2b-color-grey-200);justify-content:flex-start;border-radius:var(--b2b-size-7);padding:var(--b2b-size-15) var(--b2b-size-20);background-color:var(--b2b-color-white-100);transition:outline 0.2s ease-in-out, border-color 0.2s ease-in-out}:host .b2b-date-picker-input-wrapper--focused{outline:2px solid -webkit-focus-ring-color;outline-offset:-1px}:host .b2b-date-picker-input-wrapper--error{background-color:var(--b2b-color-error-50);border:1px solid var(--b2b-color-error-100);border-color:var(--b2b-color-error-100)}:host .b2b-date-picker-input-wrapper .b2b-date-picker-input{border:none;outline:none;box-shadow:none;box-sizing:border-box;margin-left:0;padding-left:0;height:100%;color:var(--b2b-color-black-100);font-size:var(--b2b-size-35);line-height:var(--b2b-size-copy-line-height-100);font-weight:var(--b2b-font-weight-normal);font-family:var(--b2b-font-family-default)}:host .b2b-date-picker-input-wrapper .b2b-date-picker-input--error{background-color:var(--b2b-color-error-50)}:host .b2b-date-picker-selected-date{flex:1;align-self:center;font-size:var(--b2b-size-35)}:host .b2b-date-picker-label{font-size:var(--b2b-size-35);color:var(--b2b-color-black-100);line-height:var(--b2b-size-copy-line-height-100);margin-bottom:var(--b2b-size-5)}:host .b2b-date-picker-hint{font-size:var(--b2b-size-copy-50);line-height:var(--b2b-size-copy-line-height-75);display:block;margin-top:var(--b2b-size-7);color:var(--b2b-color-grey-300)}:host .b2b-date-picker-hint--error{color:var(--b2b-color-error-100)}:host .b2b-date-picker-body{position:relative;border-right:var(--b2b-size-1) solid var(--b2b-color-black-100);border-left:var(--b2b-size-1) solid var(--b2b-color-black-100);border-bottom:var(--b2b-size-1) solid var(--b2b-color-black-100);border-top:2px none -webkit-focus-ring-color;outline-offset:-1px;width:300px;box-sizing:border-box;padding-bottom:var(--b2b-size-40);outline:none;background-color:var(--b2b-color-white-100);z-index:200}:host .b2b-date-picker-body--hidden{display:none}:host .b2b-icons{display:flex;margin-top:var(--b2b-size-5);align-items:center}:host .b2b-close-icon{display:block}:host .b2b-event-icon{display:block}';export{a as b2b_date_picker}