@fastnd/components 1.0.16 → 1.0.18

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.
@@ -1,97 +1,97 @@
1
- (function(){"use strict";try{if(typeof document<"u"){var r=document.createElement("style");r.appendChild(document.createTextNode('._tableContainer_uxpjj_4{overflow-x:auto}._table_uxpjj_4{width:100%;border-collapse:separate;border-spacing:0;text-align:left;table-layout:fixed}._table__head_uxpjj_18 th{font-size:.6875rem;text-transform:uppercase;letter-spacing:.05em;color:var(--on-surface-variant);padding:.625rem 1rem;border-bottom:1px solid var(--ds-border);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative}._table__head_uxpjj_18 th._sortable_uxpjj_32{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .15s ease}._table__head_uxpjj_18 th._sortable_uxpjj_32:hover{color:var(--on-surface)}._table__head_uxpjj_18 th:focus-visible{outline:2px solid var(--ds-primary);outline-offset:-2px}._sortIndicator_uxpjj_48{display:inline-flex;margin-left:.25rem;opacity:.4;vertical-align:middle}._table__head_uxpjj_18 th[aria-sort] ._sortIndicator_uxpjj_48{opacity:1;color:var(--ds-primary)}._colResizeHandle_uxpjj_61{position:absolute;top:0;right:-3px;width:6px;height:100%;cursor:col-resize;z-index:5;background:transparent}._colResizeHandle_uxpjj_61:hover{background-color:var(--ds-primary);opacity:.4}._table--resizing_uxpjj_77{cursor:col-resize;-webkit-user-select:none;user-select:none}._table--resizing_uxpjj_77 *{cursor:col-resize!important}._table__row_uxpjj_87{transition:background-color .1s ease}._table__row_uxpjj_87:hover{background-color:var(--surface-hover)}._table__row_uxpjj_87 td{padding:.75rem 1rem;border-bottom:1px solid var(--ds-border);vertical-align:middle;overflow:hidden;text-overflow:ellipsis}._table__row_uxpjj_87:last-child td{border-bottom:none}._table__row--animated_uxpjj_108{animation:_fadeInRow_uxpjj_1 .2s ease both}@keyframes _fadeInRow_uxpjj_1{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){._table__row--animated_uxpjj_108{animation:none}}@media(max-width:1024px){._col-hide-tablet_uxpjj_131{display:none}}@media(max-width:640px){._col-hide-mobile_uxpjj_137{display:none}}._widgetCard_106xz_4{background-color:var(--surface);color:var(--on-surface);border:1px solid var(--ds-border);border-radius:var(--radius);box-shadow:var(--shadow-card);display:flex;flex-direction:column;height:100%;overflow:hidden;font-family:var(--font-inter);animation:_fadeIn_106xz_1 .4s ease-out}._widgetCard--half_106xz_18{max-width:520px}._widgetCard__header_106xz_23{display:flex;justify-content:space-between;align-items:center;padding:1rem 5%;border-bottom:1px solid var(--ds-border);background:var(--surface);flex-shrink:0}._widgetCard--full_106xz_33 ._widgetCard__header_106xz_23{padding:1.5rem 2.5%}._widgetCard__title_106xz_37{margin:0;font-family:var(--font-clash);font-size:1.25rem;font-weight:500;line-height:1.3;color:var(--on-surface);letter-spacing:-.02em}._widgetCard--full_106xz_33 ._widgetCard__title_106xz_37{font-size:1.5rem}._widgetCard__content_106xz_52{flex:1 1 0}._widgetCard__content--scrollable_106xz_56{overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--ds-border) transparent}._widgetCard__content--scrollable_106xz_56::-webkit-scrollbar{width:4px}._widgetCard__content--scrollable_106xz_56::-webkit-scrollbar-track{background:transparent}._widgetCard__content--scrollable_106xz_56::-webkit-scrollbar-thumb{background-color:var(--ds-border);border-radius:2px}._widgetCard__content--padded_106xz_76{padding:1rem 5%}._widgetCard--full_106xz_33 ._widgetCard__content--padded_106xz_76{padding:1.5rem 2.5%}@keyframes _fadeIn_106xz_1{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){._widgetCard_106xz_4{animation:none}}._dataCard_13ip1_3{background-color:var(--surface);border:1px solid var(--ds-border);border-radius:var(--radius);padding:1rem;transition:box-shadow .15s ease,border-color .15s ease;display:flex;flex-direction:column;gap:.75rem}._dataCard_13ip1_3:hover{box-shadow:var(--shadow-md)}._dataCard--clickable_13ip1_18{cursor:pointer}._dataCard--clickable_13ip1_18:focus-visible{outline:2px solid var(--ds-primary);outline-offset:2px}._baseList_1s0k1_3{display:flex;flex-direction:column}._baseList--scrollable_1s0k1_8{overflow-y:auto;flex:1 1 0;scrollbar-width:thin;scrollbar-color:var(--ds-border) transparent}._baseList--scrollable_1s0k1_8::-webkit-scrollbar{width:4px}._baseList--scrollable_1s0k1_8::-webkit-scrollbar-track{background:transparent}._baseList--scrollable_1s0k1_8::-webkit-scrollbar-thumb{background-color:var(--ds-border);border-radius:2px}._listItem_1x1io_3{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid var(--ds-border);transition:background-color .1s ease;font-family:var(--font-inter)}._listItem_1x1io_3:last-child{border-bottom:none}._listItem_1x1io_3:hover{background-color:var(--surface-hover)}._listItem--clickable_1x1io_21{cursor:pointer}._listItem_1x1io_3:focus-visible{outline:2px solid var(--ds-primary);outline-offset:-2px}._listItem__leading_1x1io_31{flex-shrink:0;display:flex;align-items:center}._listItem__content_1x1io_37{flex:1;min-width:0}._listItem__trailing_1x1io_42{flex-shrink:0;display:flex;align-items:center;gap:.5rem}@media(max-width:640px){._listItem_1x1io_3{flex-wrap:wrap;gap:.5rem}}._status-badge_c7rzu_3{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .625rem;border-radius:1rem;font-size:.75rem;font-weight:500;line-height:1;color:var(--custom-color, var(--current-color));background-color:var(--custom-bg, var(--current-bg));white-space:nowrap}._status-badge_c7rzu_3:before{content:"";display:block;width:6px;height:6px;border-radius:50%;background-color:var(--custom-color, var(--current-color))}._status-badge--neu_c7rzu_26{--current-color: var(--status-neu);--current-bg: color-mix(in srgb, var(--status-neu), transparent 90%)}._status-badge--offen_c7rzu_31{--current-color: var(--status-offen);--current-bg: color-mix(in srgb, var(--status-offen), transparent 90%)}._status-badge--in-prufung_c7rzu_36{--current-color: var(--status-in-prufung);--current-bg: color-mix(in srgb, var(--status-in-prufung), transparent 90%)}._status-badge--validierung_c7rzu_41{--current-color: var(--status-validierung);--current-bg: color-mix(in srgb, var(--status-validierung), transparent 90%)}._status-badge--abgeschlossen_c7rzu_46{--current-color: var(--status-abgeschlossen);--current-bg: color-mix(in srgb, var(--status-abgeschlossen), transparent 90%)}._favorite-btn_1fvb2_3{background:none;border:none;color:var(--custom-color, var(--on-surface-light));cursor:pointer;display:flex;align-items:center;justify-content:center;padding:.375rem;border-radius:var(--radius);transition:all .2s ease}._favorite-btn_1fvb2_3:hover,._favorite-btn_1fvb2_3:focus-visible{background-color:var(--surface-variant);color:var(--custom-active-color, var(--color-warning));outline:none}._favorite-btn--active_1fvb2_23{color:var(--custom-active-color, var(--color-warning))}._favorite-btn--md_1fvb2_28{padding:.375rem}._favorite-btn--md_1fvb2_28 svg{width:18px;height:18px;fill:currentColor}._favorite-btn--sm_1fvb2_39{padding:.25rem}._favorite-btn--sm_1fvb2_39 svg{width:16px;height:16px;fill:currentColor}._status-legend__item_c03nc_3{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;border-radius:calc(var(--radius) - 2px);cursor:pointer;transition:background-color .2s ease;border:1px solid transparent;background:none;width:100%}._status-legend__item_c03nc_3:hover,._status-legend__item_c03nc_3:focus-visible{background-color:var(--surface-variant);outline:none}._status-legend__item--active_c03nc_22{background-color:var(--surface-variant);border-color:var(--ds-border)}._status-legend__label-wrap_c03nc_27{display:flex;align-items:center;gap:.5rem}._status-legend__color_c03nc_33{width:12px;height:12px;border-radius:50%;flex-shrink:0;background-color:var(--custom-color, var(--current-color))}._status-legend__label_c03nc_27{font-size:.875rem;color:var(--on-surface);font-weight:500}._status-legend__count_c03nc_47{font-family:var(--font-grotesk);font-size:.875rem;color:var(--on-surface-variant);font-weight:600;background-color:var(--surface-variant);padding:.125rem .5rem;border-radius:1rem}._color-neu_c03nc_57{--current-color: var(--status-neu)}._color-offen_c03nc_61{--current-color: var(--status-offen)}._color-in-prufung_c03nc_65{--current-color: var(--status-in-prufung)}._color-validierung_c03nc_69{--current-color: var(--status-validierung)}._color-abgeschlossen_c03nc_73{--current-color: var(--status-abgeschlossen)}._color-alle_c03nc_77{--current-color: var(--status-alle)}._status-overview__chart-container_6nwc9_3{position:relative;width:200px;height:200px;margin:1rem auto 2rem;display:flex;align-items:center;justify-content:center}._status-chart-svg_6nwc9_13{width:100%;height:100%;position:absolute;top:0;left:0;filter:drop-shadow(var(--shadow-sm));pointer-events:none}._status-chart__segment_6nwc9_23{transition:all .3s cubic-bezier(.4,0,.2,1);stroke-linecap:butt;pointer-events:stroke}._status-chart__segment_6nwc9_23:hover,._status-chart__segment--hovered_6nwc9_30{stroke-width:48px;filter:brightness(1.1)}._status-chart__segment--dimmed_6nwc9_35{opacity:.6;filter:grayscale(.2)}._status-chart__hole_6nwc9_40{width:120px;height:120px;background-color:var(--surface);border-radius:50%;position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:inset var(--shadow-sm);clip-path:circle(50%)}._status-chart__total-value_6nwc9_55{font-family:var(--font-clash);font-size:2rem;font-weight:600;line-height:1;color:var(--on-surface)}._status-chart__total-label_6nwc9_63{font-size:.75rem;color:var(--on-surface-variant);text-transform:uppercase;letter-spacing:.05em;margin-top:.25rem}._nameCell_1n6hv_4{display:flex;align-items:center;gap:.5rem}._favorite_1n6hv_10{margin-left:-.5rem}._nameWrapper_1n6hv_14{display:flex;flex-direction:column;overflow:hidden;min-width:0}._name_1n6hv_4{font-weight:500;color:var(--on-surface);line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._secondary_1n6hv_31{font-size:.75rem;color:var(--on-surface-variant);margin-top:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._client_1n6hv_41{color:var(--on-surface-variant);font-size:.8125rem;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._dateMain_1n6hv_51{color:var(--on-surface);font-weight:500;font-size:.8125rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._avatar_1elxr_3{width:1.5rem;height:1.5rem;border-radius:50%;background-color:var(--surface-variant);border:1px solid var(--ds-border);display:flex;align-items:center;justify-content:center;font-size:.625rem;font-weight:600;color:var(--on-surface);text-transform:uppercase}._avatar-group_1elxr_18{display:flex;align-items:center}._group-member_1elxr_23{margin-right:-.5rem;position:relative;z-index:1;border:2px solid var(--surface)}._group-member_1elxr_23:hover{z-index:10}._btn_1icnw_3{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;white-space:nowrap;border-radius:calc(var(--radius) - 2px);font-size:.875rem;font-weight:500;transition:all .2s cubic-bezier(.16,1,.3,1);cursor:pointer;border:1px solid transparent}._btn_1icnw_3:focus-visible{outline:2px solid var(--ds-primary);outline-offset:2px}._btn_1icnw_3:active{transform:scale(.98)}._btn--primary_1icnw_27{background:var(--gradient-header);color:#fff;padding:.5rem 1rem;box-shadow:var(--shadow-sm)}._btn--primary_1icnw_27:hover{box-shadow:var(--shadow-md);opacity:.9}._btn--outline_1icnw_39{background-color:transparent;border-color:var(--ds-border);color:var(--on-surface);padding:.375rem .75rem;min-width:110px}._btn--outline_1icnw_39:hover{background-color:var(--surface-variant);color:var(--on-surface)}._btn--ghost_1icnw_52{background-color:transparent;color:var(--on-surface-variant);padding:.375rem}._btn--ghost_1icnw_52:hover{background-color:var(--surface-variant);color:var(--on-surface)}._btn--sm_1icnw_63{padding:.2rem .4rem;font-size:.75rem;min-width:auto!important}._badge_aax9r_3{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-grotesk);font-weight:800}._badge--high_aax9r_12{background-color:var(--error-variant);color:var(--ds-error);border:1px solid color-mix(in srgb,var(--ds-error),transparent 80%)}._badge--medium_aax9r_18{background-color:var(--color-warning-variant);color:var(--color-warning);border:1px solid color-mix(in srgb,var(--color-warning),transparent 80%)}._badge--low_aax9r_24{background-color:var(--surface-variant);color:var(--on-surface-variant);border:1px solid var(--ds-border)}._badge--size-small_aax9r_30{width:1.5rem;height:1.5rem;border-radius:.375rem;font-size:.75rem}._badge--size-large_aax9r_37{width:2.25rem;height:2.25rem;border-radius:.5rem;font-size:1.125rem}._badge--size-large_aax9r_37._badge--low_aax9r_24{font-size:.875rem}._badge_1j9lv_3{display:inline-flex;align-items:center;gap:.5rem;padding:.375rem .75rem;background-color:var(--surface-variant);border-radius:2rem;font-size:.8125rem;font-weight:500}._status-dropdown_6t2ce_3{position:relative;display:inline-block;width:88px}._status-trigger_6t2ce_9{width:100%!important;justify-content:space-between!important}._status-menu_6t2ce_14{position:absolute;top:100%;right:0;margin-top:.25rem;background-color:var(--surface);border:1px solid var(--ds-border);border-radius:calc(var(--radius) - 2px);box-shadow:var(--shadow-lg);z-index:100;width:100%;min-width:88px;display:none;padding:.25rem;animation:_fadeIn_6t2ce_1 .15s ease-out}._status-menu_6t2ce_14._is-open_6t2ce_31{display:block}._status-menu-item_6t2ce_35{width:100%;padding:.5rem .75rem;font-size:.8125rem;text-align:left;background:none;border:none;cursor:pointer;border-radius:calc(var(--radius) - 4px);color:var(--on-surface);transition:background-color .1s}._status-menu-item_6t2ce_35:hover{background-color:var(--surface-variant)}._status-menu-item_6t2ce_35._is-active_6t2ce_52{font-weight:500}._icon_6t2ce_56{width:1rem;height:1rem;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}._icon-sm_6t2ce_65{width:.875rem;height:.875rem}@keyframes _fadeIn_6t2ce_1{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}._checklist_19mhr_3{gap:.5rem}._checkItem_19mhr_7{display:flex;align-items:center;gap:.5rem;font-size:.875rem;padding:0}._checkItem_19mhr_7 input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--ds-primary);cursor:pointer}._checkItem_19mhr_7 label{cursor:pointer}._checkItem_19mhr_7._is-done_19mhr_26 label{text-decoration:line-through;color:var(--on-surface-variant)}._checklist--readonly_19mhr_31 ._checkItem_19mhr_7 label{cursor:pointer}._checklist--readonly_19mhr_31 ._checkItem_19mhr_7 input[type=checkbox]{pointer-events:all}._formControl_19mhr_39{width:100%;padding:.125rem;border:none;background:transparent;color:var(--on-surface);font-family:inherit;font-size:.875rem;border-radius:calc(var(--radius) - 2px);transition:background-color .2s}._formControl_19mhr_39:focus{outline:none;background-color:var(--surface)}._is-done_19mhr_26 ._formControl_19mhr_39{text-decoration:line-through;color:var(--on-surface-variant)}._searchInput_1ms0w_3{display:flex;align-items:center;gap:.5rem;padding:.375rem .75rem;border:1px solid var(--ds-border);border-radius:1rem;background-color:var(--surface-variant);transition:border-color .15s ease,box-shadow .15s ease;min-width:200px}._searchInput_1ms0w_3:focus-within{border-color:var(--ds-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--ds-primary),transparent 85%)}._icon_1ms0w_20{width:14px;height:14px;color:var(--on-surface-variant);flex-shrink:0}._field_1ms0w_27{border:none;background:none;font-family:var(--font-inter);font-size:.8125rem;color:var(--on-surface);outline:none;width:100%}._field_1ms0w_27::placeholder{color:var(--on-surface-variant)}@media(max-width:1024px){._searchInput_1ms0w_3{min-width:160px}}@media(max-width:640px){._searchInput_1ms0w_3{flex:1;min-width:0}}._btn_1do3o_3{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .5rem;border:1px solid var(--ds-border);background:none;border-radius:calc(var(--radius) - 2px);font-family:var(--font-inter);font-size:.6875rem;font-weight:500;color:var(--on-surface-variant);cursor:pointer;transition:all .15s ease}._btn_1do3o_3:hover{border-color:color-mix(in srgb,var(--ds-primary),transparent 60%);color:var(--ds-primary);background-color:var(--primary-container)}._btn_1do3o_3:focus-visible{outline:2px solid var(--ds-primary);outline-offset:1px}._chevron_1do3o_30{width:12px;height:12px;transition:transform .2s ease;flex-shrink:0}._btn--open_1do3o_37 ._chevron_1do3o_30{transform:rotate(180deg)}._circle_gvt69_3{position:relative;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center}._svg_gvt69_12{width:100%;height:100%;transform:rotate(-90deg)}._track_gvt69_18{fill:none;stroke:var(--surface-variant);stroke-width:3}._fill_gvt69_24{fill:none;stroke-width:3;stroke-linecap:round;transition:stroke-dashoffset .4s ease}._label_gvt69_31{position:absolute;font-family:var(--font-grotesk);font-size:.5625rem;font-weight:600;color:var(--on-surface)}._bar_l0q8t_3{display:flex;align-items:center;gap:.5rem}._track_l0q8t_9{width:60px;height:4px;background-color:var(--surface-variant);border-radius:2px;overflow:hidden}._fill_l0q8t_17{height:100%;border-radius:2px;background:var(--gradient-primary)}._value_l0q8t_23{font-family:var(--font-grotesk);font-size:.75rem;font-weight:500;color:var(--on-surface-variant);min-width:28px}._empty_26icj_3{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;text-align:center}._icon_26icj_12{width:48px;height:48px;color:var(--on-surface-light);margin-bottom:1rem}._title_26icj_19{font-family:var(--font-clash);font-size:1.125rem;font-weight:500;color:var(--on-surface);margin-bottom:.25rem}._text_26icj_27{font-size:.8125rem;color:var(--on-surface-variant)}._toggle_1uawr_3{display:inline-flex;background-color:var(--surface-variant);border-radius:calc(var(--radius) - 2px);padding:3px;gap:2px}._btn_1uawr_11{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border:none;background:none;border-radius:calc(var(--radius) - 4px);font-family:var(--font-inter);font-size:.8125rem;font-weight:500;color:var(--on-surface-variant);cursor:pointer;transition:all .15s ease;white-space:nowrap}._btn_1uawr_11:hover{color:var(--on-surface)}._btn_1uawr_11:focus-visible{outline:2px solid var(--ds-primary);outline-offset:1px}._btn--active_1uawr_37{background-color:var(--surface);color:var(--on-surface);box-shadow:var(--shadow-sm)}._icon_1uawr_43{width:16px;height:16px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}._icon_1uawr_43>svg{width:100%;height:100%}._filterChip_43db3_4{display:inline-flex;align-items:center;gap:.375rem;padding:.3125rem .75rem;border:1px solid var(--ds-border);background-color:var(--surface);border-radius:1rem;font-family:var(--font-inter);font-size:.75rem;font-weight:500;color:var(--on-surface-variant);cursor:pointer;transition:all .15s ease;position:relative;white-space:nowrap}._filterChip_43db3_4:hover{border-color:color-mix(in srgb,var(--ds-primary),transparent 60%);color:var(--on-surface)}._filterChip_43db3_4:focus-visible{outline:2px solid var(--ds-primary);outline-offset:1px}._filterChip--active_43db3_32{background-color:var(--primary-variant);border-color:color-mix(in srgb,var(--ds-primary),transparent 70%);color:var(--ds-primary)}._filterChip__icon_43db3_38{width:14px;height:14px;flex-shrink:0}._filterChip__chevron_43db3_44{width:12px;height:12px;flex-shrink:0;transition:transform .15s ease}._filterChip--open_43db3_51 ._filterChip__chevron_43db3_44{transform:rotate(180deg)}._filterChip__label_43db3_55{max-width:120px;overflow:hidden;text-overflow:ellipsis}._filterDropdown_43db3_62{position:absolute;top:calc(100% + 4px);left:0;min-width:180px;background-color:var(--surface);border:1px solid var(--ds-border);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:30;padding:.375rem;display:none}._filterDropdown--open_43db3_76{display:block}._filterDropdown__item_43db3_80{display:flex;align-items:center;gap:.5rem;width:100%;padding:.4375rem .625rem;border:none;background:none;font-family:var(--font-inter);font-size:.8125rem;color:var(--on-surface);cursor:pointer;border-radius:calc(var(--radius) - 4px);transition:background-color .1s ease;text-align:left}._filterDropdown__item_43db3_80:hover{background-color:var(--surface-variant)}._filterDropdown__item--selected_43db3_101{color:var(--ds-primary);font-weight:500}._filterDropdown__check_43db3_106{width:14px;height:14px;flex-shrink:0;opacity:0}._filterDropdown__item--selected_43db3_101 ._filterDropdown__check_43db3_106{opacity:1}._filterDropdown__search_43db3_117{display:flex;align-items:center;gap:.375rem;padding:.375rem .625rem;margin-bottom:.25rem;border-bottom:1px solid var(--ds-border)}._filterDropdown__searchIcon_43db3_126{width:12px;height:12px;color:var(--on-surface-variant);flex-shrink:0}._filterDropdown__searchInput_43db3_133{border:none;background:none;font-family:var(--font-inter);font-size:.75rem;color:var(--on-surface);outline:none;width:100%}._filterDropdown__searchInput_43db3_133::placeholder{color:var(--on-surface-variant)}._popover_jepnf_3{position:fixed;z-index:50;min-width:280px;background-color:var(--surface);border:1px solid var(--ds-border);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:.5rem;display:none}._popover--open_jepnf_15{display:block}._checkbox_shqzk_3{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;font-family:var(--font-inter);font-size:.8125rem;color:var(--on-surface)}._checkbox__input_shqzk_13{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}._checkbox__box_shqzk_23{width:16px;height:16px;border:1.5px solid var(--ds-border);border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s ease}._checkbox--checked_shqzk_35 ._checkbox__box_shqzk_23{background-color:var(--ds-primary);border-color:var(--ds-primary)}._checkbox__icon_shqzk_40{width:10px;height:10px;color:#fff;opacity:0}._checkbox--checked_shqzk_35 ._checkbox__icon_shqzk_40{opacity:1}._checkbox_shqzk_3:hover ._checkbox__box_shqzk_23{border-color:var(--ds-primary)}._checkbox__input_shqzk_13:focus-visible+._checkbox__box_shqzk_23{outline:2px solid var(--ds-primary);outline-offset:1px}._checkbox__label_shqzk_60{flex:1;min-width:0}._formField_v7ze9_3{display:flex;flex-direction:column;gap:.5rem}._formField__label_v7ze9_9{font-size:.625rem;line-height:.875rem;font-weight:600;color:var(--on-surface-variant);text-transform:uppercase;letter-spacing:.08em;font-family:var(--font-inter)}._formField__error_v7ze9_19{font-size:.75rem;color:var(--ds-error);font-family:var(--font-inter)}._textInput_ix759_3{width:100%;padding:.625rem .75rem;border:1px solid var(--ds-border);border-radius:calc(var(--radius) - 2px);background-color:var(--surface);color:var(--on-surface);font-family:var(--font-inter);font-size:.875rem;line-height:1.25rem;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}._textInput_ix759_3:focus{outline:none;border-color:var(--ds-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--ds-primary),transparent 88%)}._textInput_ix759_3::placeholder{color:var(--on-surface-variant)}._select_6527a_3{width:100%;padding:.625rem .75rem;border:1px solid var(--ds-border);border-radius:calc(var(--radius) - 2px);background-color:var(--surface);color:var(--on-surface);font-family:var(--font-inter);font-size:.875rem;line-height:1.25rem;cursor:pointer;outline:none;transition:border-color .2s,box-shadow .2s;box-sizing:border-box;appearance:auto}._select_6527a_3:focus-visible{border-color:var(--ds-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--ds-primary),transparent 88%)}._textArea_kwln7_3{width:100%;padding:.625rem .75rem;border:1px solid var(--ds-border);border-radius:calc(var(--radius) - 2px);background-color:var(--surface);color:var(--on-surface);font-family:var(--font-inter);font-size:.875rem;line-height:1.25rem;transition:border-color .2s,box-shadow .2s;box-sizing:border-box;resize:vertical;min-height:80px}._textArea_kwln7_3:focus{outline:none;border-color:var(--ds-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--ds-primary),transparent 88%)}._textArea_kwln7_3::placeholder{color:var(--on-surface-variant)}._overlay_1wnad_4{position:fixed;inset:0;background-color:#0f172a66;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:50;opacity:0;pointer-events:none;transition:opacity .2s ease-out;padding:1rem}._overlay--active_1wnad_19{opacity:1;pointer-events:all}._content_1wnad_25{background-color:var(--surface);color:var(--on-surface);font-family:var(--font-inter);border-radius:var(--radius);box-shadow:var(--shadow-lg);width:100%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;transform:scale(.95) translateY(10px);transition:transform .2s ease-out;overflow:hidden}._overlay--active_1wnad_19 ._content_1wnad_25{transform:scale(1) translateY(0)}._header_1wnad_46{padding:1.25rem 1.5rem;border-bottom:1px solid var(--ds-border);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}._header__title_1wnad_55{margin:0;font-family:var(--font-clash);font-weight:500;font-size:1.25rem;line-height:1.75rem;color:var(--on-surface)}._body_1wnad_65{padding:1.5rem;overflow-y:auto;display:flex;flex-direction:column;gap:1.5rem;scrollbar-width:thin;scrollbar-color:var(--ds-border) transparent}._body_1wnad_65::-webkit-scrollbar{width:4px}._body_1wnad_65::-webkit-scrollbar-thumb{background-color:var(--ds-border);border-radius:2px}._footer_1wnad_85{padding:1rem 1.5rem;border-top:1px solid var(--ds-border);display:flex;justify-content:flex-end;gap:.5rem;background:var(--surface-hover);flex-shrink:0}._icon_1wnad_96{width:1.25rem;height:1.25rem;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill:none}._dashboard_avuww_4{width:100%;display:grid;grid-template-columns:minmax(280px,25%) 1fr;gap:1.5rem}@media(max-width:1024px){._dashboard_avuww_4{grid-template-columns:1fr}}._sectionTitle_avuww_18{font-family:var(--font-clash);font-size:1.5rem;font-weight:500;color:var(--on-surface);margin:0 0 1.5rem}._statusLegend_avuww_27{display:flex;flex-direction:column;gap:.75rem}._projectList_avuww_34 th:first-child,._projectList_avuww_34 td:first-child{padding-left:2.5%}._projectList_avuww_34 th:last-child,._projectList_avuww_34 td:last-child{padding-right:2.5%}._taskItem_77jzk_4{display:grid;grid-template-columns:55% 15% 30%;align-items:center;gap:0;padding:.75rem 5%;font-family:var(--font-inter)}._taskItem__content_77jzk_14{display:flex;flex-direction:column;gap:.375rem;min-width:0}._taskItem__titleGroup_77jzk_21{display:flex;align-items:center;gap:.375rem;min-width:0}._taskItem__title_77jzk_21{color:var(--on-surface);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.875rem;font-weight:500;line-height:1.25rem;font-family:var(--font-inter)}._taskItem__meta_77jzk_41{display:flex;align-items:center;gap:1.25rem;color:var(--on-surface-variant);font-size:.625rem;line-height:.875rem;font-family:var(--font-inter);min-width:0}._metaUser_77jzk_52{display:flex;align-items:center;flex-shrink:0}._metaProject_77jzk_58{display:flex;align-items:center;gap:.375rem;color:var(--on-surface-variant);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.75rem;flex:0 1 auto}._metaProject_77jzk_58 ._icon-sm_77jzk_71{flex-shrink:0}._taskItem__deadline_77jzk_76{white-space:nowrap;font-variant-numeric:tabular-nums;text-align:right;font-family:var(--font-grotesk);font-size:.75rem;line-height:1rem}._deadline-urgent_77jzk_85{color:var(--color-danger);font-weight:500}._deadline-normal_77jzk_90{color:var(--on-surface-variant)}._taskItem__actions_77jzk_95{display:flex;align-items:center;gap:.5rem;justify-content:flex-end}._icon-sm_77jzk_71{width:.875rem;height:.875rem;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill:none}@media(max-width:640px){._taskItem_77jzk_4{grid-template-columns:1fr auto;grid-template-rows:auto auto;grid-template-areas:"content actions" "deadline actions";gap:.25rem .75rem}._taskItem__content_77jzk_14{grid-area:content}._taskItem__deadline_77jzk_76{grid-area:deadline;text-align:left}._taskItem__actions_77jzk_95{grid-area:actions;align-self:center}}._view-group_1lp4x_4{display:flex;flex-direction:column;gap:.375rem}._view-label_1lp4x_10{font-size:.625rem;line-height:.875rem;color:var(--on-surface-variant);text-transform:uppercase;letter-spacing:.08em;font-weight:600;font-family:var(--font-inter)}._view-badge-row_1lp4x_20{display:flex;flex-wrap:wrap;gap:1.5rem;align-items:flex-start}._view-task-title_1lp4x_27{margin:0;font-family:var(--font-clash);font-weight:600;font-size:1.25rem;line-height:1.4;color:var(--on-surface)}._view-value-strong_1lp4x_36{font-family:var(--font-grotesk);font-weight:500;font-size:.9375rem;color:var(--on-surface)}._view-description_1lp4x_43{font-size:.875rem;line-height:1.6;margin:0;color:var(--on-surface);font-family:var(--font-inter)}._text-muted_1lp4x_51{color:var(--on-surface-variant);font-style:italic}._form-row_1lp4x_57{display:grid;grid-template-columns:1fr 1fr;gap:1rem}._assignee-row_1lp4x_63{display:flex;align-items:center;gap:.75rem}._assignee-select_1lp4x_69{flex:1}._add-checklist-btn_1lp4x_73{align-self:flex-start;margin-top:.25rem}._icon-pencil_1lp4x_79{width:.875rem;height:.875rem;fill:currentColor}._icon-sm_1lp4x_85{width:.875rem;height:.875rem;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill:none}@media(max-width:640px){._form-row_1lp4x_57{grid-template-columns:1fr}}._icon_1rthp_4{width:1rem;height:1rem;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill:none}._icon-sm_1rthp_14{width:.875rem;height:.875rem}._page_1c5lq_3{max-width:1400px;margin:0 auto;padding:2rem 1.5rem}@media(max-width:1024px){._page_1c5lq_3{padding:1.5rem 1rem}}@media(max-width:640px){._page_1c5lq_3{padding:1rem .5rem}}._domainSwitcher_abrin_3{display:flex;align-items:center;gap:.75rem;max-width:1400px;margin:0 auto 1rem}._domainSwitcher__label_abrin_11{font-size:.75rem;font-weight:600;color:var(--on-surface-variant);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}._dataGrid_1teg2_3{background-color:var(--surface);border:1px solid var(--ds-border);border-radius:var(--radius);overflow:hidden;position:relative}._dataGrid__viewPanel_1teg2_11{min-height:200px}._resultCount_1teg2_15{display:flex;align-items:center;padding:.625rem 1.25rem;border-top:1px solid var(--ds-border);font-size:.75rem;color:var(--on-surface-variant)}._resultCount__number_1teg2_24{font-weight:600;color:var(--on-surface)}._toolbar_1vf8q_3{position:sticky;top:0;z-index:20;background-color:var(--surface);border-bottom:1px solid var(--ds-border)}._toolbar__row_1vf8q_11{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.25rem;gap:1rem;flex-wrap:wrap}._toolbar__row--filters_1vf8q_20{border-top:1px solid var(--ds-border);padding-top:.625rem;padding-bottom:.625rem}._toolbar__left_1vf8q_26{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}._toolbar__right_1vf8q_33{display:flex;align-items:center;gap:.75rem}._settingsBtn_1vf8q_40{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border:1px solid var(--ds-border);background-color:var(--surface);border-radius:calc(var(--radius) - 2px);font-family:var(--font-inter);font-size:.8125rem;font-weight:500;color:var(--on-surface-variant);cursor:pointer;transition:all .15s ease;white-space:nowrap}._settingsBtn_1vf8q_40:hover{background-color:var(--surface-variant);color:var(--on-surface)}._settingsBtn_1vf8q_40:focus-visible{outline:2px solid var(--ds-primary);outline-offset:1px}._settingsBtn__icon_1vf8q_67{width:16px;height:16px}._filterMore_1vf8q_73{display:inline-flex;align-items:center;position:relative}._filterMore__btn_1vf8q_79{display:inline-flex;align-items:center;gap:.25rem;padding:.3125rem .625rem;border:none;background:none;font-family:var(--font-inter);font-size:.75rem;font-weight:500;color:var(--on-surface-variant);cursor:pointer;transition:color .15s ease}._filterMore__btn_1vf8q_79:hover{color:var(--ds-primary)}._filterMore__btn_1vf8q_79:focus-visible{outline:2px solid var(--ds-primary);outline-offset:2px;border-radius:calc(var(--radius) - 2px)}._filterMore__badge_1vf8q_104{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--gradient-primary);color:#fff;font-size:.625rem;font-weight:600;margin-left:.25rem}@media(max-width:640px){._toolbar__row_1vf8q_11{padding:.625rem .75rem;flex-direction:column;align-items:stretch}._toolbar__left_1vf8q_26,._toolbar__right_1vf8q_33{width:100%}._toolbar__right_1vf8q_33{justify-content:space-between}}._expansionDrawer_1bj98_4{display:none}._expansionDrawer--open_1bj98_8{display:table-row}._expansionDrawer__cell_1bj98_12{padding:0!important;background-color:var(--surface-hover);border-bottom:1px solid var(--ds-border)}._expansionDrawer__content_1bj98_18{padding:1rem 1.5rem 1rem 3.5rem}._expansionDrawer__title_1bj98_22{font-size:.6875rem;text-transform:uppercase;letter-spacing:.05em;color:var(--on-surface-variant);font-weight:600;margin-bottom:.625rem}._crossSellTable_1bj98_32{width:100%;border-collapse:separate;border-spacing:0;text-align:left}._crossSellTable_1bj98_32 th{font-size:.625rem;text-transform:uppercase;letter-spacing:.05em;color:var(--on-surface-variant);padding:.375rem .75rem;font-weight:600;border-bottom:1px solid var(--ds-border)}._crossSellTable_1bj98_32 td{padding:.5rem .75rem;font-size:.8125rem;border-bottom:1px solid var(--border-variant);vertical-align:middle}._crossSellTable_1bj98_32 tr:last-child td{border-bottom:none}._quickAddBtn_1bj98_61{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .625rem;border:none;background:var(--gradient-primary);border-radius:calc(var(--radius) - 2px);font-family:var(--font-inter);font-size:.6875rem;font-weight:500;color:#fff;cursor:pointer;transition:opacity .15s ease,transform .1s ease}._quickAddBtn_1bj98_61:hover{opacity:.9}._quickAddBtn_1bj98_61:active{transform:scale(.97)}._quickAddBtn_1bj98_61:focus-visible{outline:2px solid var(--ds-primary);outline-offset:2px}._quickAddBtn__icon_1bj98_90{width:12px;height:12px}._cellDouble_1y1lm_4{display:flex;flex-direction:column;gap:.125rem;min-width:0}._cellDouble__primary_1y1lm_11{font-weight:500;color:var(--on-surface);font-size:.8125rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}._cellDouble__secondary_1y1lm_22{font-size:.6875rem;color:var(--on-surface-variant);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._cellLink_1y1lm_31{color:var(--ds-primary);text-decoration:none;font-weight:500;font-size:.8125rem;transition:color .1s ease}._cellLink_1y1lm_31:hover{color:var(--ds-primary);text-decoration:underline}._cellPrice_1y1lm_45{font-family:var(--font-grotesk);font-size:.8125rem;font-weight:500;color:var(--on-surface);font-variant-numeric:tabular-nums}._cellPrice__currency_1y1lm_53{color:var(--on-surface-variant);font-weight:400;margin-left:.125rem}._inventoryBadge_1y1lm_60{display:inline-flex;align-items:center;gap:.25rem;font-family:var(--font-grotesk);font-size:.8125rem;font-weight:500}._inventoryBadge--high_1y1lm_69{color:var(--inventory-high-dark)}._inventoryBadge--medium_1y1lm_73{color:var(--inventory-medium-dark)}._inventoryBadge--low_1y1lm_77{color:var(--ds-error)}._inventoryBadge__indicator_1y1lm_81{width:8px;height:8px;border-radius:50%}._inventoryBadge--high_1y1lm_69 ._inventoryBadge__indicator_1y1lm_81{background-color:var(--inventory-high)}._inventoryBadge--medium_1y1lm_73 ._inventoryBadge__indicator_1y1lm_81{background-color:var(--inventory-medium)}._inventoryBadge--low_1y1lm_77 ._inventoryBadge__indicator_1y1lm_81{background-color:var(--inventory-low)}._statusBadge_1y1lm_100{display:inline-flex;align-items:center;gap:.3125rem;padding:.1875rem .5rem;border-radius:1rem;font-size:.6875rem;font-weight:500;line-height:1.4;white-space:nowrap}._statusBadge__dot_1y1lm_112{width:6px;height:6px;border-radius:50%;flex-shrink:0}._statusBadge--active_1y1lm_119{background-color:color-mix(in srgb,var(--lifecycle-active),transparent 88%);color:var(--lifecycle-active-dark)}._statusBadge--active_1y1lm_119 ._statusBadge__dot_1y1lm_112{background-color:var(--lifecycle-active)}._statusBadge--nrnd_1y1lm_128{background-color:color-mix(in srgb,var(--lifecycle-nrnd),transparent 86%);color:var(--lifecycle-nrnd-dark)}._statusBadge--nrnd_1y1lm_128 ._statusBadge__dot_1y1lm_112{background-color:var(--lifecycle-nrnd)}._statusBadge--eol_1y1lm_137{background-color:color-mix(in srgb,var(--lifecycle-eol),transparent 90%);color:var(--lifecycle-eol)}._statusBadge--eol_1y1lm_137 ._statusBadge__dot_1y1lm_112{background-color:var(--lifecycle-eol)}._statusBadge--production_1y1lm_146{background-color:color-mix(in srgb,var(--lifecycle-production),transparent 90%);color:var(--lifecycle-production)}._statusBadge--production_1y1lm_146 ._statusBadge__dot_1y1lm_112{background-color:var(--lifecycle-production)}._statusBadge--neu_1y1lm_156{background-color:color-mix(in srgb,var(--status-neu),transparent 90%);color:var(--status-neu)}._statusBadge--neu_1y1lm_156 ._statusBadge__dot_1y1lm_112{background-color:var(--status-neu)}._statusBadge--offen_1y1lm_165{background-color:color-mix(in srgb,var(--status-offen),transparent 90%);color:var(--status-offen)}._statusBadge--offen_1y1lm_165 ._statusBadge__dot_1y1lm_112{background-color:var(--status-offen)}._statusBadge--in-prufung_1y1lm_174{background-color:color-mix(in srgb,var(--status-in-prufung),transparent 90%);color:var(--status-in-prufung)}._statusBadge--in-prufung_1y1lm_174 ._statusBadge__dot_1y1lm_112{background-color:var(--status-in-prufung)}._statusBadge--validierung_1y1lm_183{background-color:color-mix(in srgb,var(--status-validierung),transparent 90%);color:var(--status-validierung)}._statusBadge--validierung_1y1lm_183 ._statusBadge__dot_1y1lm_112{background-color:var(--status-validierung)}._statusBadge--abgeschlossen_1y1lm_192{background-color:color-mix(in srgb,var(--status-abgeschlossen),transparent 90%);color:var(--status-abgeschlossen)}._statusBadge--abgeschlossen_1y1lm_192 ._statusBadge__dot_1y1lm_112{background-color:var(--status-abgeschlossen)}._listItem_atiqa_7{padding:.875rem 1.25rem}._title_atiqa_11{font-weight:500;font-size:.875rem;color:var(--on-surface);display:flex;align-items:center;gap:.5rem}._meta_atiqa_20{display:flex;align-items:center;gap:.75rem;margin-top:.25rem;font-size:.75rem;color:var(--on-surface-variant);flex-wrap:wrap}._metaDivider_atiqa_30{color:var(--ds-border)}._badges_atiqa_34{display:flex;align-items:center;gap:.5rem;flex-shrink:0}._price_atiqa_41{font-family:var(--font-grotesk);font-weight:500;font-size:.875rem;color:var(--on-surface);flex-shrink:0;min-width:80px;text-align:right}@media(max-width:640px){._listItem_atiqa_7{flex-wrap:wrap;gap:.5rem}._price_atiqa_41{text-align:left}}._cardGrid_h1jiq_3{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;padding:1.25rem}._header_h1jiq_11{display:flex;align-items:flex-start;justify-content:space-between}._title_h1jiq_17{font-weight:500;font-size:.875rem;color:var(--on-surface)}._subtitle_h1jiq_23{font-size:.6875rem;color:var(--on-surface-variant);margin-top:.125rem}._badges_h1jiq_29{display:flex;gap:.375rem;flex-wrap:wrap}._row_h1jiq_35{display:flex;justify-content:space-between;align-items:center}._label_h1jiq_41{font-size:.6875rem;color:var(--on-surface-variant);text-transform:uppercase;letter-spacing:.04em}._value_h1jiq_48{font-family:var(--font-grotesk);font-size:.8125rem;font-weight:500;color:var(--on-surface)}._footer_h1jiq_55{display:flex;align-items:center;justify-content:space-between;padding-top:.625rem;border-top:1px solid var(--ds-border)}._footerLink_h1jiq_63{font-size:.75rem;color:var(--ds-primary);font-weight:500}@media(max-width:1024px){._cardGrid_h1jiq_3{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}}@media(max-width:640px){._cardGrid_h1jiq_3{grid-template-columns:1fr;padding:.75rem}}._configPopover__title_1u5mf_3{font-size:.75rem;font-weight:600;color:var(--on-surface-variant);text-transform:uppercase;letter-spacing:.05em;padding:.5rem .625rem .375rem}._configPopover__item_1u5mf_12{display:flex;align-items:center;gap:.5rem;width:100%;padding:.4375rem .625rem;border:none;background:none;font-family:var(--font-inter);font-size:.8125rem;color:var(--on-surface);cursor:pointer;border-radius:calc(var(--radius) - 4px);transition:background-color .1s ease;text-align:left}._configPopover__item_1u5mf_12:hover{background-color:var(--surface-variant)}._configPopover__item_1u5mf_12[draggable=true]{touch-action:none}._configPopover__dragHandle_1u5mf_38{margin-left:0;color:var(--on-surface-light);cursor:grab;display:flex;align-items:center;padding:0 .125rem}._configPopover__dragHandle_1u5mf_38:active{cursor:grabbing}:root{--surface: #ffffff;--surface-variant: #f0f1f2;--surface-hover: #f7f7f7;--ds-border: #e0e4eb;--ds-border-variant: rgba(0, 20, 41, .1);--on-surface: #001429;--on-surface-variant: #576472;--on-surface-light: #9aa2aa;--ds-primary: #0073e6;--ds-primary-variant: rgba(0, 115, 230, .07);--ds-primary-container: rgba(0, 115, 230, .05);--ds-error: #bd0c38;--ds-error-variant: rgba(189, 12, 56, .07);--color-success: #1ec489;--color-success-dark: #148a5f;--color-success-variant: rgba(69, 220, 166, .2);--color-warning: #efaf55;--color-warning-dark: #b07a1e;--color-warning-variant: rgba(239, 175, 85, .25);--color-info: #8c46c4;--color-info-variant: rgba(169, 62, 255, .15);--color-danger: #f34e2a;--color-danger-variant: rgba(243, 78, 42, .2);--lifecycle-active: var(--color-success);--lifecycle-active-dark: var(--color-success-dark);--lifecycle-nrnd: var(--color-warning);--lifecycle-nrnd-dark: var(--color-warning-dark);--lifecycle-eol: var(--ds-error);--lifecycle-production: var(--ds-primary);--inventory-high: var(--color-success);--inventory-high-dark: var(--color-success-dark);--inventory-medium: var(--color-warning);--inventory-medium-dark: var(--color-warning-dark);--inventory-low: var(--ds-error);--destructive: #bd0c38;--score-high: #1ec489;--score-medium: #efaf55;--score-low: #f34e2a;--sidebar-background: #ffffff;--sidebar-foreground: #001429;--sidebar-primary: #0073e6;--sidebar-accent: #f0f1f2;--sidebar-border: #e0e4eb;--status-alle: #576472;--status-neu: #0073e6;--status-offen: #efaf55;--status-in-prufung: #f34e2a;--status-validierung: #1ec489;--status-abgeschlossen: #1ec489;--radius: .5rem;--font-inter: "Inter", sans-serif;--font-clash: "Clash Grotesk", sans-serif;--font-grotesk: "Space Grotesk", sans-serif;--shadow-sm: 0 1px 2px 0 rgba(0, 20, 41, .04);--shadow-md: 0 4px 6px -1px rgba(0, 20, 41, .08);--shadow-lg: 0 10px 15px -3px rgba(0, 20, 41, .1);--shadow-card: 0 2px 8px rgba(0, 20, 41, .06);--gradient-primary: linear-gradient(135deg, #0073e6, #0053a3);--gradient-header: linear-gradient(135deg, #0053a3, #0073e6)}@media(prefers-color-scheme:dark){:root{--surface: #000000;--surface-variant: #18191b;--surface-hover: #0d0d0d;--ds-border: #14181f;--ds-border-variant: rgba(255, 255, 255, .1);--on-surface: #ffffff;--on-surface-variant: #9aa2aa;--on-surface-light: #576472;--ds-primary: #0073e6;--ds-primary-variant: rgba(0, 115, 230, .07);--ds-primary-container: rgba(0, 115, 230, .05);--ds-error: #bd0c38;--ds-error-variant: rgba(189, 12, 56, .07);--color-success: #1ec489;--color-success-variant: rgba(69, 220, 166, .2);--color-warning: #efaf55;--color-warning-variant: rgba(239, 175, 85, .25);--color-info: #8c46c4;--color-info-variant: rgba(169, 62, 255, .15);--color-danger: #f34e2a;--color-danger-variant: rgba(243, 78, 42, .2);--sidebar-background: #000000;--sidebar-foreground: #ffffff;--sidebar-primary: #0073e6;--sidebar-accent: #18191b;--sidebar-border: #14181f;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .5);--shadow-card: 0 2px 8px rgba(0, 0, 0, .3)}}._moreFilters_t87fp_3{max-width:320px;padding:.75rem}._moreFilters__header_t87fp_8{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}._moreFilters__title_t87fp_15{font-size:.8125rem;font-weight:600;color:var(--on-surface)}._moreFilters__clear_t87fp_21{font-size:.6875rem;color:var(--ds-primary);background:none;border:none;cursor:pointer;font-weight:500;padding:0}._moreFilters__clear_t87fp_21:hover{text-decoration:underline}._moreFilters__group_t87fp_35{margin-bottom:.625rem}._moreFilters__select_t87fp_39{padding:.4375rem .625rem;font-size:.8125rem}')),document.head.appendChild(r)}}catch(e){console.error("vite-plugin-css-injected-by-js",e)}})();
2
- import { jsx as e, jsxs as m, Fragment as Q } from "react/jsx-runtime";
3
- import g, { useCallback as pe, useState as E, useRef as Je, useEffect as je, useMemo as ee, useReducer as jt } from "react";
4
- function Ze(a) {
5
- var n, t, r = "";
6
- if (typeof a == "string" || typeof a == "number") r += a;
7
- else if (typeof a == "object") if (Array.isArray(a)) {
8
- var l = a.length;
9
- for (n = 0; n < l; n++) a[n] && (t = Ze(a[n])) && (r && (r += " "), r += t);
10
- } else for (t in a) a[t] && (r && (r += " "), r += t);
1
+ (function(){"use strict";try{if(typeof document<"u"){var r=document.createElement("style");r.appendChild(document.createTextNode('._tableContainer_uxpjj_4{overflow-x:auto}._table_uxpjj_4{width:100%;border-collapse:separate;border-spacing:0;text-align:left;table-layout:fixed}._table__head_uxpjj_18 th{font-size:.6875rem;text-transform:uppercase;letter-spacing:.05em;color:var(--on-surface-variant);padding:.625rem 1rem;border-bottom:1px solid var(--ds-border);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative}._table__head_uxpjj_18 th._sortable_uxpjj_32{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .15s ease}._table__head_uxpjj_18 th._sortable_uxpjj_32:hover{color:var(--on-surface)}._table__head_uxpjj_18 th:focus-visible{outline:2px solid var(--ds-primary);outline-offset:-2px}._sortIndicator_uxpjj_48{display:inline-flex;margin-left:.25rem;opacity:.4;vertical-align:middle}._table__head_uxpjj_18 th[aria-sort] ._sortIndicator_uxpjj_48{opacity:1;color:var(--ds-primary)}._colResizeHandle_uxpjj_61{position:absolute;top:0;right:-3px;width:6px;height:100%;cursor:col-resize;z-index:5;background:transparent}._colResizeHandle_uxpjj_61:hover{background-color:var(--ds-primary);opacity:.4}._table--resizing_uxpjj_77{cursor:col-resize;-webkit-user-select:none;user-select:none}._table--resizing_uxpjj_77 *{cursor:col-resize!important}._table__row_uxpjj_87{transition:background-color .1s ease}._table__row_uxpjj_87:hover{background-color:var(--surface-hover)}._table__row_uxpjj_87 td{padding:.75rem 1rem;border-bottom:1px solid var(--ds-border);vertical-align:middle;overflow:hidden;text-overflow:ellipsis}._table__row_uxpjj_87:last-child td{border-bottom:none}._table__row--animated_uxpjj_108{animation:_fadeInRow_uxpjj_1 .2s ease both}@keyframes _fadeInRow_uxpjj_1{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){._table__row--animated_uxpjj_108{animation:none}}@media(max-width:1024px){._col-hide-tablet_uxpjj_131{display:none}}@media(max-width:640px){._col-hide-mobile_uxpjj_137{display:none}}._widgetCard_106xz_4{background-color:var(--surface);color:var(--on-surface);border:1px solid var(--ds-border);border-radius:var(--radius);box-shadow:var(--shadow-card);display:flex;flex-direction:column;height:100%;overflow:hidden;font-family:var(--font-inter);animation:_fadeIn_106xz_1 .4s ease-out}._widgetCard--half_106xz_18{max-width:520px}._widgetCard__header_106xz_23{display:flex;justify-content:space-between;align-items:center;padding:1rem 5%;border-bottom:1px solid var(--ds-border);background:var(--surface);flex-shrink:0}._widgetCard--full_106xz_33 ._widgetCard__header_106xz_23{padding:1.5rem 2.5%}._widgetCard__title_106xz_37{margin:0;font-family:var(--font-clash);font-size:1.25rem;font-weight:500;line-height:1.3;color:var(--on-surface);letter-spacing:-.02em}._widgetCard--full_106xz_33 ._widgetCard__title_106xz_37{font-size:1.5rem}._widgetCard__content_106xz_52{flex:1 1 0}._widgetCard__content--scrollable_106xz_56{overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--ds-border) transparent}._widgetCard__content--scrollable_106xz_56::-webkit-scrollbar{width:4px}._widgetCard__content--scrollable_106xz_56::-webkit-scrollbar-track{background:transparent}._widgetCard__content--scrollable_106xz_56::-webkit-scrollbar-thumb{background-color:var(--ds-border);border-radius:2px}._widgetCard__content--padded_106xz_76{padding:1rem 5%}._widgetCard--full_106xz_33 ._widgetCard__content--padded_106xz_76{padding:1.5rem 2.5%}@keyframes _fadeIn_106xz_1{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){._widgetCard_106xz_4{animation:none}}._dataCard_13ip1_3{background-color:var(--surface);border:1px solid var(--ds-border);border-radius:var(--radius);padding:1rem;transition:box-shadow .15s ease,border-color .15s ease;display:flex;flex-direction:column;gap:.75rem}._dataCard_13ip1_3:hover{box-shadow:var(--shadow-md)}._dataCard--clickable_13ip1_18{cursor:pointer}._dataCard--clickable_13ip1_18:focus-visible{outline:2px solid var(--ds-primary);outline-offset:2px}._baseList_1s0k1_3{display:flex;flex-direction:column}._baseList--scrollable_1s0k1_8{overflow-y:auto;flex:1 1 0;scrollbar-width:thin;scrollbar-color:var(--ds-border) transparent}._baseList--scrollable_1s0k1_8::-webkit-scrollbar{width:4px}._baseList--scrollable_1s0k1_8::-webkit-scrollbar-track{background:transparent}._baseList--scrollable_1s0k1_8::-webkit-scrollbar-thumb{background-color:var(--ds-border);border-radius:2px}._listItem_1x1io_3{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid var(--ds-border);transition:background-color .1s ease;font-family:var(--font-inter)}._listItem_1x1io_3:last-child{border-bottom:none}._listItem_1x1io_3:hover{background-color:var(--surface-hover)}._listItem--clickable_1x1io_21{cursor:pointer}._listItem_1x1io_3:focus-visible{outline:2px solid var(--ds-primary);outline-offset:-2px}._listItem__leading_1x1io_31{flex-shrink:0;display:flex;align-items:center}._listItem__content_1x1io_37{flex:1;min-width:0}._listItem__trailing_1x1io_42{flex-shrink:0;display:flex;align-items:center;gap:.5rem}@media(max-width:640px){._listItem_1x1io_3{flex-wrap:wrap;gap:.5rem}}._status-badge_c7rzu_3{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .625rem;border-radius:1rem;font-size:.75rem;font-weight:500;line-height:1;color:var(--custom-color, var(--current-color));background-color:var(--custom-bg, var(--current-bg));white-space:nowrap}._status-badge_c7rzu_3:before{content:"";display:block;width:6px;height:6px;border-radius:50%;background-color:var(--custom-color, var(--current-color))}._status-badge--neu_c7rzu_26{--current-color: var(--status-neu);--current-bg: color-mix(in srgb, var(--status-neu), transparent 90%)}._status-badge--offen_c7rzu_31{--current-color: var(--status-offen);--current-bg: color-mix(in srgb, var(--status-offen), transparent 90%)}._status-badge--in-prufung_c7rzu_36{--current-color: var(--status-in-prufung);--current-bg: color-mix(in srgb, var(--status-in-prufung), transparent 90%)}._status-badge--validierung_c7rzu_41{--current-color: var(--status-validierung);--current-bg: color-mix(in srgb, var(--status-validierung), transparent 90%)}._status-badge--abgeschlossen_c7rzu_46{--current-color: var(--status-abgeschlossen);--current-bg: color-mix(in srgb, var(--status-abgeschlossen), transparent 90%)}._favorite-btn_1fvb2_3{background:none;border:none;color:var(--custom-color, var(--on-surface-light));cursor:pointer;display:flex;align-items:center;justify-content:center;padding:.375rem;border-radius:var(--radius);transition:all .2s ease}._favorite-btn_1fvb2_3:hover,._favorite-btn_1fvb2_3:focus-visible{background-color:var(--surface-variant);color:var(--custom-active-color, var(--color-warning));outline:none}._favorite-btn--active_1fvb2_23{color:var(--custom-active-color, var(--color-warning))}._favorite-btn--md_1fvb2_28{padding:.375rem}._favorite-btn--md_1fvb2_28 svg{width:18px;height:18px;fill:currentColor}._favorite-btn--sm_1fvb2_39{padding:.25rem}._favorite-btn--sm_1fvb2_39 svg{width:16px;height:16px;fill:currentColor}._status-legend__item_c03nc_3{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;border-radius:calc(var(--radius) - 2px);cursor:pointer;transition:background-color .2s ease;border:1px solid transparent;background:none;width:100%}._status-legend__item_c03nc_3:hover,._status-legend__item_c03nc_3:focus-visible{background-color:var(--surface-variant);outline:none}._status-legend__item--active_c03nc_22{background-color:var(--surface-variant);border-color:var(--ds-border)}._status-legend__label-wrap_c03nc_27{display:flex;align-items:center;gap:.5rem}._status-legend__color_c03nc_33{width:12px;height:12px;border-radius:50%;flex-shrink:0;background-color:var(--custom-color, var(--current-color))}._status-legend__label_c03nc_27{font-size:.875rem;color:var(--on-surface);font-weight:500}._status-legend__count_c03nc_47{font-family:var(--font-grotesk);font-size:.875rem;color:var(--on-surface-variant);font-weight:600;background-color:var(--surface-variant);padding:.125rem .5rem;border-radius:1rem}._color-neu_c03nc_57{--current-color: var(--status-neu)}._color-offen_c03nc_61{--current-color: var(--status-offen)}._color-in-prufung_c03nc_65{--current-color: var(--status-in-prufung)}._color-validierung_c03nc_69{--current-color: var(--status-validierung)}._color-abgeschlossen_c03nc_73{--current-color: var(--status-abgeschlossen)}._color-alle_c03nc_77{--current-color: var(--status-alle)}._status-overview__chart-container_6nwc9_3{position:relative;width:200px;height:200px;margin:1rem auto 2rem;display:flex;align-items:center;justify-content:center}._status-chart-svg_6nwc9_13{width:100%;height:100%;position:absolute;top:0;left:0;filter:drop-shadow(var(--shadow-sm));pointer-events:none}._status-chart__segment_6nwc9_23{transition:all .3s cubic-bezier(.4,0,.2,1);stroke-linecap:butt;pointer-events:stroke}._status-chart__segment_6nwc9_23:hover,._status-chart__segment--hovered_6nwc9_30{stroke-width:48px;filter:brightness(1.1)}._status-chart__segment--dimmed_6nwc9_35{opacity:.6;filter:grayscale(.2)}._status-chart__hole_6nwc9_40{width:120px;height:120px;background-color:var(--surface);border-radius:50%;position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:inset var(--shadow-sm);clip-path:circle(50%)}._status-chart__total-value_6nwc9_55{font-family:var(--font-clash);font-size:2rem;font-weight:600;line-height:1;color:var(--on-surface)}._status-chart__total-label_6nwc9_63{font-size:.75rem;color:var(--on-surface-variant);text-transform:uppercase;letter-spacing:.05em;margin-top:.25rem}._nameCell_1n6hv_4{display:flex;align-items:center;gap:.5rem}._favorite_1n6hv_10{margin-left:-.5rem}._nameWrapper_1n6hv_14{display:flex;flex-direction:column;overflow:hidden;min-width:0}._name_1n6hv_4{font-weight:500;color:var(--on-surface);line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._secondary_1n6hv_31{font-size:.75rem;color:var(--on-surface-variant);margin-top:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._client_1n6hv_41{color:var(--on-surface-variant);font-size:.8125rem;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._dateMain_1n6hv_51{color:var(--on-surface);font-weight:500;font-size:.8125rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._avatar_1elxr_3{width:1.5rem;height:1.5rem;border-radius:50%;background-color:var(--surface-variant);border:1px solid var(--ds-border);display:flex;align-items:center;justify-content:center;font-size:.625rem;font-weight:600;color:var(--on-surface);text-transform:uppercase}._avatar-group_1elxr_18{display:flex;align-items:center}._group-member_1elxr_23{margin-right:-.5rem;position:relative;z-index:1;border:2px solid var(--surface)}._group-member_1elxr_23:hover{z-index:10}._btn_1icnw_3{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;white-space:nowrap;border-radius:calc(var(--radius) - 2px);font-size:.875rem;font-weight:500;transition:all .2s cubic-bezier(.16,1,.3,1);cursor:pointer;border:1px solid transparent}._btn_1icnw_3:focus-visible{outline:2px solid var(--ds-primary);outline-offset:2px}._btn_1icnw_3:active{transform:scale(.98)}._btn--primary_1icnw_27{background:var(--gradient-header);color:#fff;padding:.5rem 1rem;box-shadow:var(--shadow-sm)}._btn--primary_1icnw_27:hover{box-shadow:var(--shadow-md);opacity:.9}._btn--outline_1icnw_39{background-color:transparent;border-color:var(--ds-border);color:var(--on-surface);padding:.375rem .75rem;min-width:110px}._btn--outline_1icnw_39:hover{background-color:var(--surface-variant);color:var(--on-surface)}._btn--ghost_1icnw_52{background-color:transparent;color:var(--on-surface-variant);padding:.375rem}._btn--ghost_1icnw_52:hover{background-color:var(--surface-variant);color:var(--on-surface)}._btn--sm_1icnw_63{padding:.2rem .4rem;font-size:.75rem;min-width:auto!important}._badge_aax9r_3{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-grotesk);font-weight:800}._badge--high_aax9r_12{background-color:var(--error-variant);color:var(--ds-error);border:1px solid color-mix(in srgb,var(--ds-error),transparent 80%)}._badge--medium_aax9r_18{background-color:var(--color-warning-variant);color:var(--color-warning);border:1px solid color-mix(in srgb,var(--color-warning),transparent 80%)}._badge--low_aax9r_24{background-color:var(--surface-variant);color:var(--on-surface-variant);border:1px solid var(--ds-border)}._badge--size-small_aax9r_30{width:1.5rem;height:1.5rem;border-radius:.375rem;font-size:.75rem}._badge--size-large_aax9r_37{width:2.25rem;height:2.25rem;border-radius:.5rem;font-size:1.125rem}._badge--size-large_aax9r_37._badge--low_aax9r_24{font-size:.875rem}._badge_1j9lv_3{display:inline-flex;align-items:center;gap:.5rem;padding:.375rem .75rem;background-color:var(--surface-variant);border-radius:2rem;font-size:.8125rem;font-weight:500}._status-dropdown_6t2ce_3{position:relative;display:inline-block;width:88px}._status-trigger_6t2ce_9{width:100%!important;justify-content:space-between!important}._status-menu_6t2ce_14{position:absolute;top:100%;right:0;margin-top:.25rem;background-color:var(--surface);border:1px solid var(--ds-border);border-radius:calc(var(--radius) - 2px);box-shadow:var(--shadow-lg);z-index:100;width:100%;min-width:88px;display:none;padding:.25rem;animation:_fadeIn_6t2ce_1 .15s ease-out}._status-menu_6t2ce_14._is-open_6t2ce_31{display:block}._status-menu-item_6t2ce_35{width:100%;padding:.5rem .75rem;font-size:.8125rem;text-align:left;background:none;border:none;cursor:pointer;border-radius:calc(var(--radius) - 4px);color:var(--on-surface);transition:background-color .1s}._status-menu-item_6t2ce_35:hover{background-color:var(--surface-variant)}._status-menu-item_6t2ce_35._is-active_6t2ce_52{font-weight:500}._icon_6t2ce_56{width:1rem;height:1rem;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}._icon-sm_6t2ce_65{width:.875rem;height:.875rem}@keyframes _fadeIn_6t2ce_1{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}._checklist_19mhr_3{gap:.5rem}._checkItem_19mhr_7{display:flex;align-items:center;gap:.5rem;font-size:.875rem;padding:0}._checkItem_19mhr_7 input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--ds-primary);cursor:pointer}._checkItem_19mhr_7 label{cursor:pointer}._checkItem_19mhr_7._is-done_19mhr_26 label{text-decoration:line-through;color:var(--on-surface-variant)}._checklist--readonly_19mhr_31 ._checkItem_19mhr_7 label{cursor:pointer}._checklist--readonly_19mhr_31 ._checkItem_19mhr_7 input[type=checkbox]{pointer-events:all}._formControl_19mhr_39{width:100%;padding:.125rem;border:none;background:transparent;color:var(--on-surface);font-family:inherit;font-size:.875rem;border-radius:calc(var(--radius) - 2px);transition:background-color .2s}._formControl_19mhr_39:focus{outline:none;background-color:var(--surface)}._is-done_19mhr_26 ._formControl_19mhr_39{text-decoration:line-through;color:var(--on-surface-variant)}._searchInput_1ms0w_3{display:flex;align-items:center;gap:.5rem;padding:.375rem .75rem;border:1px solid var(--ds-border);border-radius:1rem;background-color:var(--surface-variant);transition:border-color .15s ease,box-shadow .15s ease;min-width:200px}._searchInput_1ms0w_3:focus-within{border-color:var(--ds-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--ds-primary),transparent 85%)}._icon_1ms0w_20{width:14px;height:14px;color:var(--on-surface-variant);flex-shrink:0}._field_1ms0w_27{border:none;background:none;font-family:var(--font-inter);font-size:.8125rem;color:var(--on-surface);outline:none;width:100%}._field_1ms0w_27::placeholder{color:var(--on-surface-variant)}@media(max-width:1024px){._searchInput_1ms0w_3{min-width:160px}}@media(max-width:640px){._searchInput_1ms0w_3{flex:1;min-width:0}}._btn_1do3o_3{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .5rem;border:1px solid var(--ds-border);background:none;border-radius:calc(var(--radius) - 2px);font-family:var(--font-inter);font-size:.6875rem;font-weight:500;color:var(--on-surface-variant);cursor:pointer;transition:all .15s ease}._btn_1do3o_3:hover{border-color:color-mix(in srgb,var(--ds-primary),transparent 60%);color:var(--ds-primary);background-color:var(--primary-container)}._btn_1do3o_3:focus-visible{outline:2px solid var(--ds-primary);outline-offset:1px}._chevron_1do3o_30{width:12px;height:12px;transition:transform .2s ease;flex-shrink:0}._btn--open_1do3o_37 ._chevron_1do3o_30{transform:rotate(180deg)}._circle_gvt69_3{position:relative;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center}._svg_gvt69_12{width:100%;height:100%;transform:rotate(-90deg)}._track_gvt69_18{fill:none;stroke:var(--surface-variant);stroke-width:3}._fill_gvt69_24{fill:none;stroke-width:3;stroke-linecap:round;transition:stroke-dashoffset .4s ease}._label_gvt69_31{position:absolute;font-family:var(--font-grotesk);font-size:.5625rem;font-weight:600;color:var(--on-surface)}._bar_l0q8t_3{display:flex;align-items:center;gap:.5rem}._track_l0q8t_9{width:60px;height:4px;background-color:var(--surface-variant);border-radius:2px;overflow:hidden}._fill_l0q8t_17{height:100%;border-radius:2px;background:var(--gradient-primary)}._value_l0q8t_23{font-family:var(--font-grotesk);font-size:.75rem;font-weight:500;color:var(--on-surface-variant);min-width:28px}._empty_26icj_3{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;text-align:center}._icon_26icj_12{width:48px;height:48px;color:var(--on-surface-light);margin-bottom:1rem}._title_26icj_19{font-family:var(--font-clash);font-size:1.125rem;font-weight:500;color:var(--on-surface);margin-bottom:.25rem}._text_26icj_27{font-size:.8125rem;color:var(--on-surface-variant)}._toggle_1uawr_3{display:inline-flex;background-color:var(--surface-variant);border-radius:calc(var(--radius) - 2px);padding:3px;gap:2px}._btn_1uawr_11{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border:none;background:none;border-radius:calc(var(--radius) - 4px);font-family:var(--font-inter);font-size:.8125rem;font-weight:500;color:var(--on-surface-variant);cursor:pointer;transition:all .15s ease;white-space:nowrap}._btn_1uawr_11:hover{color:var(--on-surface)}._btn_1uawr_11:focus-visible{outline:2px solid var(--ds-primary);outline-offset:1px}._btn--active_1uawr_37{background-color:var(--surface);color:var(--on-surface);box-shadow:var(--shadow-sm)}._icon_1uawr_43{width:16px;height:16px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}._icon_1uawr_43>svg{width:100%;height:100%}._filterChip_43db3_4{display:inline-flex;align-items:center;gap:.375rem;padding:.3125rem .75rem;border:1px solid var(--ds-border);background-color:var(--surface);border-radius:1rem;font-family:var(--font-inter);font-size:.75rem;font-weight:500;color:var(--on-surface-variant);cursor:pointer;transition:all .15s ease;position:relative;white-space:nowrap}._filterChip_43db3_4:hover{border-color:color-mix(in srgb,var(--ds-primary),transparent 60%);color:var(--on-surface)}._filterChip_43db3_4:focus-visible{outline:2px solid var(--ds-primary);outline-offset:1px}._filterChip--active_43db3_32{background-color:var(--primary-variant);border-color:color-mix(in srgb,var(--ds-primary),transparent 70%);color:var(--ds-primary)}._filterChip__icon_43db3_38{width:14px;height:14px;flex-shrink:0}._filterChip__chevron_43db3_44{width:12px;height:12px;flex-shrink:0;transition:transform .15s ease}._filterChip--open_43db3_51 ._filterChip__chevron_43db3_44{transform:rotate(180deg)}._filterChip__label_43db3_55{max-width:120px;overflow:hidden;text-overflow:ellipsis}._filterDropdown_43db3_62{position:absolute;top:calc(100% + 4px);left:0;min-width:180px;background-color:var(--surface);border:1px solid var(--ds-border);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:30;padding:.375rem;display:none}._filterDropdown--open_43db3_76{display:block}._filterDropdown__item_43db3_80{display:flex;align-items:center;gap:.5rem;width:100%;padding:.4375rem .625rem;border:none;background:none;font-family:var(--font-inter);font-size:.8125rem;color:var(--on-surface);cursor:pointer;border-radius:calc(var(--radius) - 4px);transition:background-color .1s ease;text-align:left}._filterDropdown__item_43db3_80:hover{background-color:var(--surface-variant)}._filterDropdown__item--selected_43db3_101{color:var(--ds-primary);font-weight:500}._filterDropdown__check_43db3_106{width:14px;height:14px;flex-shrink:0;opacity:0}._filterDropdown__item--selected_43db3_101 ._filterDropdown__check_43db3_106{opacity:1}._filterDropdown__search_43db3_117{display:flex;align-items:center;gap:.375rem;padding:.375rem .625rem;margin-bottom:.25rem;border-bottom:1px solid var(--ds-border)}._filterDropdown__searchIcon_43db3_126{width:12px;height:12px;color:var(--on-surface-variant);flex-shrink:0}._filterDropdown__searchInput_43db3_133{border:none;background:none;font-family:var(--font-inter);font-size:.75rem;color:var(--on-surface);outline:none;width:100%}._filterDropdown__searchInput_43db3_133::placeholder{color:var(--on-surface-variant)}._popover_jepnf_3{position:fixed;z-index:50;min-width:280px;background-color:var(--surface);border:1px solid var(--ds-border);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:.5rem;display:none}._popover--open_jepnf_15{display:block}._checkbox_shqzk_3{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;font-family:var(--font-inter);font-size:.8125rem;color:var(--on-surface)}._checkbox__input_shqzk_13{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}._checkbox__box_shqzk_23{width:16px;height:16px;border:1.5px solid var(--ds-border);border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s ease}._checkbox--checked_shqzk_35 ._checkbox__box_shqzk_23{background-color:var(--ds-primary);border-color:var(--ds-primary)}._checkbox__icon_shqzk_40{width:10px;height:10px;color:#fff;opacity:0}._checkbox--checked_shqzk_35 ._checkbox__icon_shqzk_40{opacity:1}._checkbox_shqzk_3:hover ._checkbox__box_shqzk_23{border-color:var(--ds-primary)}._checkbox__input_shqzk_13:focus-visible+._checkbox__box_shqzk_23{outline:2px solid var(--ds-primary);outline-offset:1px}._checkbox__label_shqzk_60{flex:1;min-width:0}._formField_v7ze9_3{display:flex;flex-direction:column;gap:.5rem}._formField__label_v7ze9_9{font-size:.625rem;line-height:.875rem;font-weight:600;color:var(--on-surface-variant);text-transform:uppercase;letter-spacing:.08em;font-family:var(--font-inter)}._formField__error_v7ze9_19{font-size:.75rem;color:var(--ds-error);font-family:var(--font-inter)}._textInput_ix759_3{width:100%;padding:.625rem .75rem;border:1px solid var(--ds-border);border-radius:calc(var(--radius) - 2px);background-color:var(--surface);color:var(--on-surface);font-family:var(--font-inter);font-size:.875rem;line-height:1.25rem;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}._textInput_ix759_3:focus{outline:none;border-color:var(--ds-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--ds-primary),transparent 88%)}._textInput_ix759_3::placeholder{color:var(--on-surface-variant)}._select_sbg8z_4{position:relative;display:inline-flex;align-items:center;gap:.375rem;width:100%;padding:.375rem .75rem;border:1px solid var(--ds-border);border-radius:1rem;background-color:var(--surface);font-family:var(--font-inter);font-size:.875rem;line-height:1.25rem;color:var(--on-surface);cursor:pointer;outline:none;transition:border-color .15s ease,box-shadow .15s ease;box-sizing:border-box;-webkit-user-select:none;user-select:none}._select_sbg8z_4:hover{border-color:color-mix(in srgb,var(--ds-primary),transparent 60%)}._select_sbg8z_4:focus-visible,._select--open_sbg8z_30{border-color:var(--ds-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--ds-primary),transparent 85%)}._select--disabled_sbg8z_35{opacity:.5;cursor:not-allowed;pointer-events:none}._select__label_sbg8z_41{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}._select__placeholder_sbg8z_49{color:var(--on-surface-variant)}._select__chevron_sbg8z_53{width:14px;height:14px;flex-shrink:0;color:var(--on-surface-variant);transition:transform .15s ease}._select--open_sbg8z_30 ._select__chevron_sbg8z_53{transform:rotate(180deg)}._dropdown_sbg8z_66{position:absolute;top:calc(100% + 4px);left:0;right:0;min-width:100%;background-color:var(--surface);border:1px solid var(--ds-border);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:30;padding:.375rem}._dropdown__item_sbg8z_80{display:flex;align-items:center;gap:.5rem;width:100%;padding:.4375rem .625rem;border:none;background:none;font-family:var(--font-inter);font-size:.8125rem;color:var(--on-surface);cursor:pointer;border-radius:calc(var(--radius) - 4px);transition:background-color .1s ease;text-align:left}._dropdown__item_sbg8z_80:hover{background-color:var(--surface-variant)}._dropdown__item--selected_sbg8z_101{color:var(--ds-primary);font-weight:500}._dropdown__check_sbg8z_106{width:14px;height:14px;flex-shrink:0;opacity:0}._dropdown__item--selected_sbg8z_101 ._dropdown__check_sbg8z_106{opacity:1}._textArea_kwln7_3{width:100%;padding:.625rem .75rem;border:1px solid var(--ds-border);border-radius:calc(var(--radius) - 2px);background-color:var(--surface);color:var(--on-surface);font-family:var(--font-inter);font-size:.875rem;line-height:1.25rem;transition:border-color .2s,box-shadow .2s;box-sizing:border-box;resize:vertical;min-height:80px}._textArea_kwln7_3:focus{outline:none;border-color:var(--ds-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--ds-primary),transparent 88%)}._textArea_kwln7_3::placeholder{color:var(--on-surface-variant)}._overlay_1wnad_4{position:fixed;inset:0;background-color:#0f172a66;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:50;opacity:0;pointer-events:none;transition:opacity .2s ease-out;padding:1rem}._overlay--active_1wnad_19{opacity:1;pointer-events:all}._content_1wnad_25{background-color:var(--surface);color:var(--on-surface);font-family:var(--font-inter);border-radius:var(--radius);box-shadow:var(--shadow-lg);width:100%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;transform:scale(.95) translateY(10px);transition:transform .2s ease-out;overflow:hidden}._overlay--active_1wnad_19 ._content_1wnad_25{transform:scale(1) translateY(0)}._header_1wnad_46{padding:1.25rem 1.5rem;border-bottom:1px solid var(--ds-border);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}._header__title_1wnad_55{margin:0;font-family:var(--font-clash);font-weight:500;font-size:1.25rem;line-height:1.75rem;color:var(--on-surface)}._body_1wnad_65{padding:1.5rem;overflow-y:auto;display:flex;flex-direction:column;gap:1.5rem;scrollbar-width:thin;scrollbar-color:var(--ds-border) transparent}._body_1wnad_65::-webkit-scrollbar{width:4px}._body_1wnad_65::-webkit-scrollbar-thumb{background-color:var(--ds-border);border-radius:2px}._footer_1wnad_85{padding:1rem 1.5rem;border-top:1px solid var(--ds-border);display:flex;justify-content:flex-end;gap:.5rem;background:var(--surface-hover);flex-shrink:0}._icon_1wnad_96{width:1.25rem;height:1.25rem;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill:none}._dashboard_avuww_4{width:100%;display:grid;grid-template-columns:minmax(280px,25%) 1fr;gap:1.5rem}@media(max-width:1024px){._dashboard_avuww_4{grid-template-columns:1fr}}._sectionTitle_avuww_18{font-family:var(--font-clash);font-size:1.5rem;font-weight:500;color:var(--on-surface);margin:0 0 1.5rem}._statusLegend_avuww_27{display:flex;flex-direction:column;gap:.75rem}._projectList_avuww_34 th:first-child,._projectList_avuww_34 td:first-child{padding-left:2.5%}._projectList_avuww_34 th:last-child,._projectList_avuww_34 td:last-child{padding-right:2.5%}._taskItem_77jzk_4{display:grid;grid-template-columns:55% 15% 30%;align-items:center;gap:0;padding:.75rem 5%;font-family:var(--font-inter)}._taskItem__content_77jzk_14{display:flex;flex-direction:column;gap:.375rem;min-width:0}._taskItem__titleGroup_77jzk_21{display:flex;align-items:center;gap:.375rem;min-width:0}._taskItem__title_77jzk_21{color:var(--on-surface);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.875rem;font-weight:500;line-height:1.25rem;font-family:var(--font-inter)}._taskItem__meta_77jzk_41{display:flex;align-items:center;gap:1.25rem;color:var(--on-surface-variant);font-size:.625rem;line-height:.875rem;font-family:var(--font-inter);min-width:0}._metaUser_77jzk_52{display:flex;align-items:center;flex-shrink:0}._metaProject_77jzk_58{display:flex;align-items:center;gap:.375rem;color:var(--on-surface-variant);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.75rem;flex:0 1 auto}._metaProject_77jzk_58 ._icon-sm_77jzk_71{flex-shrink:0}._taskItem__deadline_77jzk_76{white-space:nowrap;font-variant-numeric:tabular-nums;text-align:right;font-family:var(--font-grotesk);font-size:.75rem;line-height:1rem}._deadline-urgent_77jzk_85{color:var(--color-danger);font-weight:500}._deadline-normal_77jzk_90{color:var(--on-surface-variant)}._taskItem__actions_77jzk_95{display:flex;align-items:center;gap:.5rem;justify-content:flex-end}._icon-sm_77jzk_71{width:.875rem;height:.875rem;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill:none}@media(max-width:640px){._taskItem_77jzk_4{grid-template-columns:1fr auto;grid-template-rows:auto auto;grid-template-areas:"content actions" "deadline actions";gap:.25rem .75rem}._taskItem__content_77jzk_14{grid-area:content}._taskItem__deadline_77jzk_76{grid-area:deadline;text-align:left}._taskItem__actions_77jzk_95{grid-area:actions;align-self:center}}._view-group_1lp4x_4{display:flex;flex-direction:column;gap:.375rem}._view-label_1lp4x_10{font-size:.625rem;line-height:.875rem;color:var(--on-surface-variant);text-transform:uppercase;letter-spacing:.08em;font-weight:600;font-family:var(--font-inter)}._view-badge-row_1lp4x_20{display:flex;flex-wrap:wrap;gap:1.5rem;align-items:flex-start}._view-task-title_1lp4x_27{margin:0;font-family:var(--font-clash);font-weight:600;font-size:1.25rem;line-height:1.4;color:var(--on-surface)}._view-value-strong_1lp4x_36{font-family:var(--font-grotesk);font-weight:500;font-size:.9375rem;color:var(--on-surface)}._view-description_1lp4x_43{font-size:.875rem;line-height:1.6;margin:0;color:var(--on-surface);font-family:var(--font-inter)}._text-muted_1lp4x_51{color:var(--on-surface-variant);font-style:italic}._form-row_1lp4x_57{display:grid;grid-template-columns:1fr 1fr;gap:1rem}._assignee-row_1lp4x_63{display:flex;align-items:center;gap:.75rem}._assignee-select_1lp4x_69{flex:1}._add-checklist-btn_1lp4x_73{align-self:flex-start;margin-top:.25rem}._icon-pencil_1lp4x_79{width:.875rem;height:.875rem;fill:currentColor}._icon-sm_1lp4x_85{width:.875rem;height:.875rem;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill:none}@media(max-width:640px){._form-row_1lp4x_57{grid-template-columns:1fr}}._icon_1rthp_4{width:1rem;height:1rem;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill:none}._icon-sm_1rthp_14{width:.875rem;height:.875rem}._page_1c5lq_3{max-width:1400px;margin:0 auto;padding:2rem 1.5rem}@media(max-width:1024px){._page_1c5lq_3{padding:1.5rem 1rem}}@media(max-width:640px){._page_1c5lq_3{padding:1rem .5rem}}._domainSwitcher_abrin_3{display:flex;align-items:center;gap:.75rem;max-width:1400px;margin:0 auto 1rem}._domainSwitcher__label_abrin_11{font-size:.75rem;font-weight:600;color:var(--on-surface-variant);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}._dataGrid_1teg2_3{background-color:var(--surface);border:1px solid var(--ds-border);border-radius:var(--radius);overflow:hidden;position:relative}._dataGrid__viewPanel_1teg2_11{min-height:200px}._resultCount_1teg2_15{display:flex;align-items:center;padding:.625rem 1.25rem;border-top:1px solid var(--ds-border);font-size:.75rem;color:var(--on-surface-variant)}._resultCount__number_1teg2_24{font-weight:600;color:var(--on-surface)}._toolbar_1vf8q_3{position:sticky;top:0;z-index:20;background-color:var(--surface);border-bottom:1px solid var(--ds-border)}._toolbar__row_1vf8q_11{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.25rem;gap:1rem;flex-wrap:wrap}._toolbar__row--filters_1vf8q_20{border-top:1px solid var(--ds-border);padding-top:.625rem;padding-bottom:.625rem}._toolbar__left_1vf8q_26{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}._toolbar__right_1vf8q_33{display:flex;align-items:center;gap:.75rem}._settingsBtn_1vf8q_40{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border:1px solid var(--ds-border);background-color:var(--surface);border-radius:calc(var(--radius) - 2px);font-family:var(--font-inter);font-size:.8125rem;font-weight:500;color:var(--on-surface-variant);cursor:pointer;transition:all .15s ease;white-space:nowrap}._settingsBtn_1vf8q_40:hover{background-color:var(--surface-variant);color:var(--on-surface)}._settingsBtn_1vf8q_40:focus-visible{outline:2px solid var(--ds-primary);outline-offset:1px}._settingsBtn__icon_1vf8q_67{width:16px;height:16px}._filterMore_1vf8q_73{display:inline-flex;align-items:center;position:relative}._filterMore__btn_1vf8q_79{display:inline-flex;align-items:center;gap:.25rem;padding:.3125rem .625rem;border:none;background:none;font-family:var(--font-inter);font-size:.75rem;font-weight:500;color:var(--on-surface-variant);cursor:pointer;transition:color .15s ease}._filterMore__btn_1vf8q_79:hover{color:var(--ds-primary)}._filterMore__btn_1vf8q_79:focus-visible{outline:2px solid var(--ds-primary);outline-offset:2px;border-radius:calc(var(--radius) - 2px)}._filterMore__badge_1vf8q_104{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--gradient-primary);color:#fff;font-size:.625rem;font-weight:600;margin-left:.25rem}@media(max-width:640px){._toolbar__row_1vf8q_11{padding:.625rem .75rem;flex-direction:column;align-items:stretch}._toolbar__left_1vf8q_26,._toolbar__right_1vf8q_33{width:100%}._toolbar__right_1vf8q_33{justify-content:space-between}}._expansionDrawer_1bj98_4{display:none}._expansionDrawer--open_1bj98_8{display:table-row}._expansionDrawer__cell_1bj98_12{padding:0!important;background-color:var(--surface-hover);border-bottom:1px solid var(--ds-border)}._expansionDrawer__content_1bj98_18{padding:1rem 1.5rem 1rem 3.5rem}._expansionDrawer__title_1bj98_22{font-size:.6875rem;text-transform:uppercase;letter-spacing:.05em;color:var(--on-surface-variant);font-weight:600;margin-bottom:.625rem}._crossSellTable_1bj98_32{width:100%;border-collapse:separate;border-spacing:0;text-align:left}._crossSellTable_1bj98_32 th{font-size:.625rem;text-transform:uppercase;letter-spacing:.05em;color:var(--on-surface-variant);padding:.375rem .75rem;font-weight:600;border-bottom:1px solid var(--ds-border)}._crossSellTable_1bj98_32 td{padding:.5rem .75rem;font-size:.8125rem;border-bottom:1px solid var(--border-variant);vertical-align:middle}._crossSellTable_1bj98_32 tr:last-child td{border-bottom:none}._quickAddBtn_1bj98_61{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .625rem;border:none;background:var(--gradient-primary);border-radius:calc(var(--radius) - 2px);font-family:var(--font-inter);font-size:.6875rem;font-weight:500;color:#fff;cursor:pointer;transition:opacity .15s ease,transform .1s ease}._quickAddBtn_1bj98_61:hover{opacity:.9}._quickAddBtn_1bj98_61:active{transform:scale(.97)}._quickAddBtn_1bj98_61:focus-visible{outline:2px solid var(--ds-primary);outline-offset:2px}._quickAddBtn__icon_1bj98_90{width:12px;height:12px}._cellDouble_1y1lm_4{display:flex;flex-direction:column;gap:.125rem;min-width:0}._cellDouble__primary_1y1lm_11{font-weight:500;color:var(--on-surface);font-size:.8125rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}._cellDouble__secondary_1y1lm_22{font-size:.6875rem;color:var(--on-surface-variant);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._cellLink_1y1lm_31{color:var(--ds-primary);text-decoration:none;font-weight:500;font-size:.8125rem;transition:color .1s ease}._cellLink_1y1lm_31:hover{color:var(--ds-primary);text-decoration:underline}._cellPrice_1y1lm_45{font-family:var(--font-grotesk);font-size:.8125rem;font-weight:500;color:var(--on-surface);font-variant-numeric:tabular-nums}._cellPrice__currency_1y1lm_53{color:var(--on-surface-variant);font-weight:400;margin-left:.125rem}._inventoryBadge_1y1lm_60{display:inline-flex;align-items:center;gap:.25rem;font-family:var(--font-grotesk);font-size:.8125rem;font-weight:500}._inventoryBadge--high_1y1lm_69{color:var(--inventory-high-dark)}._inventoryBadge--medium_1y1lm_73{color:var(--inventory-medium-dark)}._inventoryBadge--low_1y1lm_77{color:var(--ds-error)}._inventoryBadge__indicator_1y1lm_81{width:8px;height:8px;border-radius:50%}._inventoryBadge--high_1y1lm_69 ._inventoryBadge__indicator_1y1lm_81{background-color:var(--inventory-high)}._inventoryBadge--medium_1y1lm_73 ._inventoryBadge__indicator_1y1lm_81{background-color:var(--inventory-medium)}._inventoryBadge--low_1y1lm_77 ._inventoryBadge__indicator_1y1lm_81{background-color:var(--inventory-low)}._statusBadge_1y1lm_100{display:inline-flex;align-items:center;gap:.3125rem;padding:.1875rem .5rem;border-radius:1rem;font-size:.6875rem;font-weight:500;line-height:1.4;white-space:nowrap}._statusBadge__dot_1y1lm_112{width:6px;height:6px;border-radius:50%;flex-shrink:0}._statusBadge--active_1y1lm_119{background-color:color-mix(in srgb,var(--lifecycle-active),transparent 88%);color:var(--lifecycle-active-dark)}._statusBadge--active_1y1lm_119 ._statusBadge__dot_1y1lm_112{background-color:var(--lifecycle-active)}._statusBadge--nrnd_1y1lm_128{background-color:color-mix(in srgb,var(--lifecycle-nrnd),transparent 86%);color:var(--lifecycle-nrnd-dark)}._statusBadge--nrnd_1y1lm_128 ._statusBadge__dot_1y1lm_112{background-color:var(--lifecycle-nrnd)}._statusBadge--eol_1y1lm_137{background-color:color-mix(in srgb,var(--lifecycle-eol),transparent 90%);color:var(--lifecycle-eol)}._statusBadge--eol_1y1lm_137 ._statusBadge__dot_1y1lm_112{background-color:var(--lifecycle-eol)}._statusBadge--production_1y1lm_146{background-color:color-mix(in srgb,var(--lifecycle-production),transparent 90%);color:var(--lifecycle-production)}._statusBadge--production_1y1lm_146 ._statusBadge__dot_1y1lm_112{background-color:var(--lifecycle-production)}._statusBadge--neu_1y1lm_156{background-color:color-mix(in srgb,var(--status-neu),transparent 90%);color:var(--status-neu)}._statusBadge--neu_1y1lm_156 ._statusBadge__dot_1y1lm_112{background-color:var(--status-neu)}._statusBadge--offen_1y1lm_165{background-color:color-mix(in srgb,var(--status-offen),transparent 90%);color:var(--status-offen)}._statusBadge--offen_1y1lm_165 ._statusBadge__dot_1y1lm_112{background-color:var(--status-offen)}._statusBadge--in-prufung_1y1lm_174{background-color:color-mix(in srgb,var(--status-in-prufung),transparent 90%);color:var(--status-in-prufung)}._statusBadge--in-prufung_1y1lm_174 ._statusBadge__dot_1y1lm_112{background-color:var(--status-in-prufung)}._statusBadge--validierung_1y1lm_183{background-color:color-mix(in srgb,var(--status-validierung),transparent 90%);color:var(--status-validierung)}._statusBadge--validierung_1y1lm_183 ._statusBadge__dot_1y1lm_112{background-color:var(--status-validierung)}._statusBadge--abgeschlossen_1y1lm_192{background-color:color-mix(in srgb,var(--status-abgeschlossen),transparent 90%);color:var(--status-abgeschlossen)}._statusBadge--abgeschlossen_1y1lm_192 ._statusBadge__dot_1y1lm_112{background-color:var(--status-abgeschlossen)}._listItem_atiqa_7{padding:.875rem 1.25rem}._title_atiqa_11{font-weight:500;font-size:.875rem;color:var(--on-surface);display:flex;align-items:center;gap:.5rem}._meta_atiqa_20{display:flex;align-items:center;gap:.75rem;margin-top:.25rem;font-size:.75rem;color:var(--on-surface-variant);flex-wrap:wrap}._metaDivider_atiqa_30{color:var(--ds-border)}._badges_atiqa_34{display:flex;align-items:center;gap:.5rem;flex-shrink:0}._price_atiqa_41{font-family:var(--font-grotesk);font-weight:500;font-size:.875rem;color:var(--on-surface);flex-shrink:0;min-width:80px;text-align:right}@media(max-width:640px){._listItem_atiqa_7{flex-wrap:wrap;gap:.5rem}._price_atiqa_41{text-align:left}}._cardGrid_h1jiq_3{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;padding:1.25rem}._header_h1jiq_11{display:flex;align-items:flex-start;justify-content:space-between}._title_h1jiq_17{font-weight:500;font-size:.875rem;color:var(--on-surface)}._subtitle_h1jiq_23{font-size:.6875rem;color:var(--on-surface-variant);margin-top:.125rem}._badges_h1jiq_29{display:flex;gap:.375rem;flex-wrap:wrap}._row_h1jiq_35{display:flex;justify-content:space-between;align-items:center}._label_h1jiq_41{font-size:.6875rem;color:var(--on-surface-variant);text-transform:uppercase;letter-spacing:.04em}._value_h1jiq_48{font-family:var(--font-grotesk);font-size:.8125rem;font-weight:500;color:var(--on-surface)}._footer_h1jiq_55{display:flex;align-items:center;justify-content:space-between;padding-top:.625rem;border-top:1px solid var(--ds-border)}._footerLink_h1jiq_63{font-size:.75rem;color:var(--ds-primary);font-weight:500}@media(max-width:1024px){._cardGrid_h1jiq_3{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}}@media(max-width:640px){._cardGrid_h1jiq_3{grid-template-columns:1fr;padding:.75rem}}._configPopover__title_10fyq_3{font-size:.75rem;font-weight:600;color:var(--on-surface-variant);text-transform:uppercase;letter-spacing:.05em;padding:.5rem .625rem .375rem}._configPopover__itemWrapper_10fyq_12{position:relative}._configPopover__item_10fyq_12{display:flex;align-items:center;gap:.5rem;width:100%;padding:.4375rem .625rem;border:none;background:none;font-family:var(--font-inter);font-size:.8125rem;color:var(--on-surface);cursor:pointer;border-radius:calc(var(--radius) - 4px);transition:background-color .1s ease,opacity .1s ease;text-align:left}._configPopover__item_10fyq_12:hover{background-color:var(--surface-variant)}._configPopover__item_10fyq_12[draggable=true]{touch-action:none}._configPopover__item--dragging_10fyq_41{opacity:.4}._configPopover__dragHandle_10fyq_45{margin-left:auto;color:var(--on-surface-light);cursor:grab;display:flex;align-items:center;flex-shrink:0;padding:0 .125rem}._configPopover__dragHandle_10fyq_45:active{cursor:grabbing}._configPopover__dropIndicator_10fyq_59{position:absolute;left:.5rem;right:.5rem;height:2px;background-color:var(--ds-primary, var(--primary, #0073e6));border-radius:1px;z-index:10;pointer-events:none}._configPopover__dropIndicator--before_10fyq_70{top:0}._configPopover__dropIndicator--after_10fyq_74{bottom:0}:root{--surface: #ffffff;--surface-variant: #f0f1f2;--surface-hover: #f7f7f7;--ds-border: #e0e4eb;--ds-border-variant: rgba(0, 20, 41, .1);--on-surface: #001429;--on-surface-variant: #576472;--on-surface-light: #9aa2aa;--ds-primary: #0073e6;--ds-primary-variant: rgba(0, 115, 230, .07);--ds-primary-container: rgba(0, 115, 230, .05);--ds-error: #bd0c38;--ds-error-variant: rgba(189, 12, 56, .07);--color-success: #1ec489;--color-success-dark: #148a5f;--color-success-variant: rgba(69, 220, 166, .2);--color-warning: #efaf55;--color-warning-dark: #b07a1e;--color-warning-variant: rgba(239, 175, 85, .25);--color-info: #8c46c4;--color-info-variant: rgba(169, 62, 255, .15);--color-danger: #f34e2a;--color-danger-variant: rgba(243, 78, 42, .2);--lifecycle-active: var(--color-success);--lifecycle-active-dark: var(--color-success-dark);--lifecycle-nrnd: var(--color-warning);--lifecycle-nrnd-dark: var(--color-warning-dark);--lifecycle-eol: var(--ds-error);--lifecycle-production: var(--ds-primary);--inventory-high: var(--color-success);--inventory-high-dark: var(--color-success-dark);--inventory-medium: var(--color-warning);--inventory-medium-dark: var(--color-warning-dark);--inventory-low: var(--ds-error);--destructive: #bd0c38;--score-high: #1ec489;--score-medium: #efaf55;--score-low: #f34e2a;--sidebar-background: #ffffff;--sidebar-foreground: #001429;--sidebar-primary: #0073e6;--sidebar-accent: #f0f1f2;--sidebar-border: #e0e4eb;--status-alle: #576472;--status-neu: #0073e6;--status-offen: #efaf55;--status-in-prufung: #f34e2a;--status-validierung: #1ec489;--status-abgeschlossen: #1ec489;--radius: .5rem;--font-inter: "Inter", sans-serif;--font-clash: "Clash Grotesk", sans-serif;--font-grotesk: "Space Grotesk", sans-serif;--shadow-sm: 0 1px 2px 0 rgba(0, 20, 41, .04);--shadow-md: 0 4px 6px -1px rgba(0, 20, 41, .08);--shadow-lg: 0 10px 15px -3px rgba(0, 20, 41, .1);--shadow-card: 0 2px 8px rgba(0, 20, 41, .06);--gradient-primary: linear-gradient(135deg, #0073e6, #0053a3);--gradient-header: linear-gradient(135deg, #0053a3, #0073e6)}@media(prefers-color-scheme:dark){:root{--surface: #000000;--surface-variant: #18191b;--surface-hover: #0d0d0d;--ds-border: #14181f;--ds-border-variant: rgba(255, 255, 255, .1);--on-surface: #ffffff;--on-surface-variant: #9aa2aa;--on-surface-light: #576472;--ds-primary: #0073e6;--ds-primary-variant: rgba(0, 115, 230, .07);--ds-primary-container: rgba(0, 115, 230, .05);--ds-error: #bd0c38;--ds-error-variant: rgba(189, 12, 56, .07);--color-success: #1ec489;--color-success-variant: rgba(69, 220, 166, .2);--color-warning: #efaf55;--color-warning-variant: rgba(239, 175, 85, .25);--color-info: #8c46c4;--color-info-variant: rgba(169, 62, 255, .15);--color-danger: #f34e2a;--color-danger-variant: rgba(243, 78, 42, .2);--sidebar-background: #000000;--sidebar-foreground: #ffffff;--sidebar-primary: #0073e6;--sidebar-accent: #18191b;--sidebar-border: #14181f;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .5);--shadow-card: 0 2px 8px rgba(0, 0, 0, .3)}}._moreFilters_t87fp_3{max-width:320px;padding:.75rem}._moreFilters__header_t87fp_8{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}._moreFilters__title_t87fp_15{font-size:.8125rem;font-weight:600;color:var(--on-surface)}._moreFilters__clear_t87fp_21{font-size:.6875rem;color:var(--ds-primary);background:none;border:none;cursor:pointer;font-weight:500;padding:0}._moreFilters__clear_t87fp_21:hover{text-decoration:underline}._moreFilters__group_t87fp_35{margin-bottom:.625rem}._moreFilters__select_t87fp_39{padding:.4375rem .625rem;font-size:.8125rem}')),document.head.appendChild(r)}}catch(e){console.error("vite-plugin-css-injected-by-js",e)}})();
2
+ import { jsx as e, jsxs as m, Fragment as J } from "react/jsx-runtime";
3
+ import g, { useCallback as G, useState as F, useRef as tt, useEffect as Be, useLayoutEffect as Ft, useMemo as ae, useReducer as Et } from "react";
4
+ function at(t) {
5
+ var n, a, r = "";
6
+ if (typeof t == "string" || typeof t == "number") r += t;
7
+ else if (typeof t == "object") if (Array.isArray(t)) {
8
+ var l = t.length;
9
+ for (n = 0; n < l; n++) t[n] && (a = at(t[n])) && (r && (r += " "), r += a);
10
+ } else for (a in t) t[a] && (r && (r += " "), r += a);
11
11
  return r;
12
12
  }
13
13
  function b() {
14
- for (var a, n, t = 0, r = "", l = arguments.length; t < l; t++) (a = arguments[t]) && (n = Ze(a)) && (r && (r += " "), r += n);
14
+ for (var t, n, a = 0, r = "", l = arguments.length; a < l; a++) (t = arguments[a]) && (n = at(t)) && (r && (r += " "), r += n);
15
15
  return r;
16
16
  }
17
- const Ft = "_tableContainer_uxpjj_4", Bt = "_table_uxpjj_4", Tt = "_table__head_uxpjj_18", Pt = "_sortable_uxpjj_32", Et = "_sortIndicator_uxpjj_48", Ot = "_colResizeHandle_uxpjj_61", Mt = "_table__row_uxpjj_87", F = {
18
- tableContainer: Ft,
19
- table: Bt,
20
- table__head: Tt,
21
- sortable: Pt,
22
- sortIndicator: Et,
23
- colResizeHandle: Ot,
17
+ const Tt = "_tableContainer_uxpjj_4", Ot = "_table_uxpjj_4", zt = "_table__head_uxpjj_18", Mt = "_sortable_uxpjj_32", qt = "_sortIndicator_uxpjj_48", Wt = "_colResizeHandle_uxpjj_61", Vt = "_table__row_uxpjj_87", $ = {
18
+ tableContainer: Tt,
19
+ table: Ot,
20
+ table__head: zt,
21
+ sortable: Mt,
22
+ sortIndicator: qt,
23
+ colResizeHandle: Wt,
24
24
  "table--resizing": "_table--resizing_uxpjj_77",
25
- table__row: Mt,
25
+ table__row: Vt,
26
26
  "table__row--animated": "_table__row--animated_uxpjj_108",
27
27
  "col-hide-tablet": "_col-hide-tablet_uxpjj_131",
28
28
  "col-hide-mobile": "_col-hide-mobile_uxpjj_137"
29
29
  };
30
- function zt({
31
- columns: a,
30
+ function Gt({
31
+ columns: t,
32
32
  rows: n,
33
- rowKey: t,
33
+ rowKey: a,
34
34
  renderCell: r,
35
35
  sortColumn: l,
36
- sortDirection: c,
36
+ sortDirection: u,
37
37
  onSort: s,
38
- resizable: d = !1,
38
+ resizable: h = !1,
39
39
  columnWidths: i = {},
40
- onColumnResize: u,
41
- renderExpandedRow: o,
40
+ onColumnResize: o,
41
+ renderExpandedRow: d,
42
42
  rowAnimation: f = !1,
43
- rowClassName: v,
44
- rowDataAttributes: w,
43
+ rowClassName: k,
44
+ rowDataAttributes: y,
45
45
  ariaLabel: p,
46
- className: y,
47
- ...h
48
- }, x) {
49
- const k = pe(
50
- (_, N, I) => {
51
- const A = N.offsetWidth, C = N.closest("table"), L = (D) => {
52
- const O = D.clientX - I, q = Math.max(60, A + O);
53
- N.style.width = `${q}px`, N.style.minWidth = `${q}px`, u?.(_, q);
46
+ className: w,
47
+ ...c
48
+ }, N) {
49
+ const v = G(
50
+ (_, C, x) => {
51
+ const L = C.offsetWidth, S = C.closest("table"), D = (I) => {
52
+ const j = I.clientX - x, M = Math.max(60, L + j);
53
+ C.style.width = `${M}px`, C.style.minWidth = `${M}px`, o?.(_, M);
54
54
  }, R = () => {
55
- C?.classList.remove(F["table--resizing"]), document.removeEventListener("mousemove", L), document.removeEventListener("mouseup", R);
55
+ S?.classList.remove($["table--resizing"]), document.removeEventListener("mousemove", D), document.removeEventListener("mouseup", R);
56
56
  };
57
- C?.classList.add(F["table--resizing"]), document.addEventListener("mousemove", L), document.addEventListener("mouseup", R);
57
+ S?.classList.add($["table--resizing"]), document.addEventListener("mousemove", D), document.addEventListener("mouseup", R);
58
58
  },
59
- [u]
59
+ [o]
60
60
  );
61
- return /* @__PURE__ */ e("div", { ref: x, className: b(F.tableContainer, y), tabIndex: 0, ...h, children: /* @__PURE__ */ m("table", { className: F.table, "aria-label": p, children: [
62
- /* @__PURE__ */ e("thead", { className: F.table__head, children: /* @__PURE__ */ e("tr", { children: a.map((_) => {
63
- const N = b({
64
- [F["col-hide-tablet"]]: _.hideTablet,
65
- [F["col-hide-mobile"]]: _.hideMobile
66
- }), I = i[_.key] ? { width: `${i[_.key]}px`, minWidth: `${i[_.key]}px` } : _.width != null ? { width: typeof _.width == "number" ? `${_.width}px` : _.width, minWidth: typeof _.width == "number" ? `${_.width}px` : _.width } : void 0, A = l === _.key, C = A ? c === "asc" ? "ascending" : "descending" : void 0;
61
+ return /* @__PURE__ */ e("div", { ref: N, className: b($.tableContainer, w), tabIndex: 0, ...c, children: /* @__PURE__ */ m("table", { className: $.table, "aria-label": p, children: [
62
+ /* @__PURE__ */ e("thead", { className: $.table__head, children: /* @__PURE__ */ e("tr", { children: t.map((_) => {
63
+ const C = b({
64
+ [$["col-hide-tablet"]]: _.hideTablet,
65
+ [$["col-hide-mobile"]]: _.hideMobile
66
+ }), x = i[_.key] ? { width: `${i[_.key]}px`, minWidth: `${i[_.key]}px` } : _.width != null ? { width: typeof _.width == "number" ? `${_.width}px` : _.width, minWidth: typeof _.width == "number" ? `${_.width}px` : _.width } : void 0, L = l === _.key, S = L ? u === "asc" ? "ascending" : "descending" : void 0;
67
67
  return /* @__PURE__ */ m(
68
68
  "th",
69
69
  {
70
70
  scope: "col",
71
- className: b(N || void 0, { [F.sortable]: _.sortable }),
72
- style: I,
73
- "aria-sort": C,
71
+ className: b(C || void 0, { [$.sortable]: _.sortable }),
72
+ style: x,
73
+ "aria-sort": S,
74
74
  tabIndex: _.sortable ? 0 : void 0,
75
- onClick: (L) => {
76
- d && L.target.closest(`.${F.colResizeHandle}`) || _.sortable && s && s(_.key);
75
+ onClick: (D) => {
76
+ h && D.target.closest(`.${$.colResizeHandle}`) || _.sortable && s && s(_.key);
77
77
  },
78
- onKeyDown: (L) => {
79
- (L.key === "Enter" || L.key === " ") && _.sortable && s && (L.preventDefault(), s(_.key));
78
+ onKeyDown: (D) => {
79
+ (D.key === "Enter" || D.key === " ") && _.sortable && s && (D.preventDefault(), s(_.key));
80
80
  },
81
81
  children: [
82
- _.headerContent != null ? _.headerContent : /* @__PURE__ */ m(Q, { children: [
82
+ _.headerContent != null ? _.headerContent : /* @__PURE__ */ m(J, { children: [
83
83
  _.label,
84
- _.sortable && /* @__PURE__ */ e("span", { className: F.sortIndicator, "aria-hidden": "true", children: A ? c === "asc" ? "↑" : "↓" : "↕" })
84
+ _.sortable && /* @__PURE__ */ e("span", { className: $.sortIndicator, "aria-hidden": "true", children: L ? u === "asc" ? "↑" : "↓" : "↕" })
85
85
  ] }),
86
- d && /* @__PURE__ */ e(
86
+ h && /* @__PURE__ */ e(
87
87
  "span",
88
88
  {
89
- className: F.colResizeHandle,
89
+ className: $.colResizeHandle,
90
90
  "data-resize-col": _.key,
91
- onMouseDown: (L) => {
92
- L.preventDefault(), L.stopPropagation();
93
- const R = L.target.closest("th");
94
- k(_.key, R, L.clientX);
91
+ onMouseDown: (D) => {
92
+ D.preventDefault(), D.stopPropagation();
93
+ const R = D.target.closest("th");
94
+ v(_.key, R, D.clientX);
95
95
  }
96
96
  }
97
97
  )
@@ -100,80 +100,80 @@ function zt({
100
100
  _.key
101
101
  );
102
102
  }) }) }),
103
- /* @__PURE__ */ e("tbody", { children: n.map((_, N) => {
104
- const I = t(_, N), A = v?.(_, N), C = w?.(_) ?? {}, L = o?.(_, N) ?? null;
103
+ /* @__PURE__ */ e("tbody", { children: n.map((_, C) => {
104
+ const x = a(_, C), L = k?.(_, C), S = y?.(_) ?? {}, D = d?.(_, C) ?? null;
105
105
  return /* @__PURE__ */ m(g.Fragment, { children: [
106
106
  /* @__PURE__ */ e(
107
107
  "tr",
108
108
  {
109
109
  className: b(
110
- F.table__row,
111
- { [F["table__row--animated"]]: f },
112
- A
110
+ $.table__row,
111
+ { [$["table__row--animated"]]: f },
112
+ L
113
113
  ),
114
- style: f ? { animationDelay: `${N * 20}ms` } : void 0,
115
- ...C,
116
- children: a.map((R) => {
117
- const D = b({
118
- [F["col-hide-tablet"]]: R.hideTablet,
119
- [F["col-hide-mobile"]]: R.hideMobile
114
+ style: f ? { animationDelay: `${C * 20}ms` } : void 0,
115
+ ...S,
116
+ children: t.map((R) => {
117
+ const I = b({
118
+ [$["col-hide-tablet"]]: R.hideTablet,
119
+ [$["col-hide-mobile"]]: R.hideMobile
120
120
  });
121
- return /* @__PURE__ */ e("td", { className: D || void 0, children: r(_, R, N) }, R.key);
121
+ return /* @__PURE__ */ e("td", { className: I || void 0, children: r(_, R, C) }, R.key);
122
122
  })
123
123
  }
124
124
  ),
125
- L
126
- ] }, I);
125
+ D
126
+ ] }, x);
127
127
  }) })
128
128
  ] }) });
129
129
  }
130
- const Fe = g.forwardRef(zt);
131
- Fe.displayName = "BaseTable";
132
- const qt = "_widgetCard_106xz_4", Wt = "_fadeIn_106xz_1", Vt = "_widgetCard__header_106xz_23", Gt = "_widgetCard__title_106xz_37", Ht = "_widgetCard__content_106xz_52", Y = {
133
- widgetCard: qt,
134
- fadeIn: Wt,
130
+ const $e = g.forwardRef(Gt);
131
+ $e.displayName = "BaseTable";
132
+ const Ht = "_widgetCard_106xz_4", Ut = "_fadeIn_106xz_1", Qt = "_widgetCard__header_106xz_23", Kt = "_widgetCard__title_106xz_37", Yt = "_widgetCard__content_106xz_52", Z = {
133
+ widgetCard: Ht,
134
+ fadeIn: Ut,
135
135
  "widgetCard--half": "_widgetCard--half_106xz_18",
136
- widgetCard__header: Vt,
136
+ widgetCard__header: Qt,
137
137
  "widgetCard--full": "_widgetCard--full_106xz_33",
138
- widgetCard__title: Gt,
139
- widgetCard__content: Ht,
138
+ widgetCard__title: Kt,
139
+ widgetCard__content: Yt,
140
140
  "widgetCard__content--scrollable": "_widgetCard__content--scrollable_106xz_56",
141
141
  "widgetCard__content--padded": "_widgetCard__content--padded_106xz_76"
142
- }, fe = g.forwardRef(
142
+ }, ge = g.forwardRef(
143
143
  ({
144
- title: a,
144
+ title: t,
145
145
  headerAction: n,
146
- variant: t = "half",
146
+ variant: a = "half",
147
147
  scrollable: r = !1,
148
148
  padded: l = !1,
149
- as: c = "div",
149
+ as: u = "div",
150
150
  children: s,
151
- className: d,
151
+ className: h,
152
152
  ...i
153
- }, u) => {
154
- const o = a != null || n != null;
153
+ }, o) => {
154
+ const d = t != null || n != null;
155
155
  return /* @__PURE__ */ m(
156
- c,
156
+ u,
157
157
  {
158
- ref: u,
158
+ ref: o,
159
159
  className: b(
160
- Y.widgetCard,
161
- Y[`widgetCard--${t}`],
162
- d
160
+ Z.widgetCard,
161
+ Z[`widgetCard--${a}`],
162
+ h
163
163
  ),
164
164
  ...i,
165
165
  children: [
166
- o && /* @__PURE__ */ m("header", { className: Y.widgetCard__header, children: [
167
- a != null && /* @__PURE__ */ e("h2", { className: Y.widgetCard__title, children: a }),
166
+ d && /* @__PURE__ */ m("header", { className: Z.widgetCard__header, children: [
167
+ t != null && /* @__PURE__ */ e("h2", { className: Z.widgetCard__title, children: t }),
168
168
  n
169
169
  ] }),
170
170
  /* @__PURE__ */ e(
171
171
  "div",
172
172
  {
173
173
  className: b(
174
- Y.widgetCard__content,
175
- { [Y["widgetCard__content--scrollable"]]: r },
176
- { [Y["widgetCard__content--padded"]]: l }
174
+ Z.widgetCard__content,
175
+ { [Z["widgetCard__content--scrollable"]]: r },
176
+ { [Z["widgetCard__content--padded"]]: l }
177
177
  ),
178
178
  children: s
179
179
  }
@@ -183,153 +183,153 @@ const qt = "_widgetCard_106xz_4", Wt = "_fadeIn_106xz_1", Vt = "_widgetCard__hea
183
183
  );
184
184
  }
185
185
  );
186
- fe.displayName = "WidgetCard";
187
- const Ut = "_dataCard_13ip1_3", Ve = {
188
- dataCard: Ut,
186
+ ge.displayName = "WidgetCard";
187
+ const Xt = "_dataCard_13ip1_3", Ue = {
188
+ dataCard: Xt,
189
189
  "dataCard--clickable": "_dataCard--clickable_13ip1_18"
190
- }, et = g.forwardRef(
191
- ({ onClick: a, className: n, children: t, ...r }, l) => {
192
- const c = a != null;
190
+ }, nt = g.forwardRef(
191
+ ({ onClick: t, className: n, children: a, ...r }, l) => {
192
+ const u = t != null;
193
193
  return /* @__PURE__ */ e(
194
194
  "div",
195
195
  {
196
196
  ref: l,
197
197
  className: b(
198
- Ve.dataCard,
199
- { [Ve["dataCard--clickable"]]: c },
198
+ Ue.dataCard,
199
+ { [Ue["dataCard--clickable"]]: u },
200
200
  n
201
201
  ),
202
- onClick: a,
203
- tabIndex: c ? 0 : void 0,
204
- role: c ? "button" : void 0,
205
- onKeyDown: c ? (s) => {
206
- (s.key === "Enter" || s.key === " ") && (s.preventDefault(), a?.(s));
202
+ onClick: t,
203
+ tabIndex: u ? 0 : void 0,
204
+ role: u ? "button" : void 0,
205
+ onKeyDown: u ? (s) => {
206
+ (s.key === "Enter" || s.key === " ") && (s.preventDefault(), t?.(s));
207
207
  } : void 0,
208
208
  ...r,
209
- children: t
209
+ children: a
210
210
  }
211
211
  );
212
212
  }
213
213
  );
214
- et.displayName = "DataCard";
215
- const Kt = "_baseList_1s0k1_3", Ge = {
216
- baseList: Kt,
214
+ nt.displayName = "DataCard";
215
+ const Jt = "_baseList_1s0k1_3", Qe = {
216
+ baseList: Jt,
217
217
  "baseList--scrollable": "_baseList--scrollable_1s0k1_8"
218
- }, ge = g.forwardRef(
219
- ({ scrollable: a = !1, className: n, children: t, ...r }, l) => /* @__PURE__ */ e(
218
+ }, ve = g.forwardRef(
219
+ ({ scrollable: t = !1, className: n, children: a, ...r }, l) => /* @__PURE__ */ e(
220
220
  "div",
221
221
  {
222
222
  ref: l,
223
223
  role: "list",
224
224
  className: b(
225
- Ge.baseList,
226
- { [Ge["baseList--scrollable"]]: a },
225
+ Qe.baseList,
226
+ { [Qe["baseList--scrollable"]]: t },
227
227
  n
228
228
  ),
229
229
  ...r,
230
- children: t
230
+ children: a
231
231
  }
232
232
  )
233
233
  );
234
- ge.displayName = "BaseList";
235
- const Qt = "_listItem_1x1io_3", Yt = "_listItem__leading_1x1io_31", Xt = "_listItem__content_1x1io_37", Jt = "_listItem__trailing_1x1io_42", se = {
236
- listItem: Qt,
234
+ ve.displayName = "BaseList";
235
+ const Zt = "_listItem_1x1io_3", ea = "_listItem__leading_1x1io_31", ta = "_listItem__content_1x1io_37", aa = "_listItem__trailing_1x1io_42", oe = {
236
+ listItem: Zt,
237
237
  "listItem--clickable": "_listItem--clickable_1x1io_21",
238
- listItem__leading: Yt,
239
- listItem__content: Xt,
240
- listItem__trailing: Jt
241
- }, Be = g.forwardRef(
242
- ({ leading: a, trailing: n, onClick: t, as: r = "div", className: l, children: c, ...s }, d) => {
243
- const i = t != null, u = (o) => {
244
- i && (o.key === "Enter" || o.key === " ") && (o.preventDefault(), t?.());
238
+ listItem__leading: ea,
239
+ listItem__content: ta,
240
+ listItem__trailing: aa
241
+ }, Fe = g.forwardRef(
242
+ ({ leading: t, trailing: n, onClick: a, as: r = "div", className: l, children: u, ...s }, h) => {
243
+ const i = a != null, o = (d) => {
244
+ i && (d.key === "Enter" || d.key === " ") && (d.preventDefault(), a?.());
245
245
  };
246
246
  return /* @__PURE__ */ m(
247
247
  r,
248
248
  {
249
- ref: d,
249
+ ref: h,
250
250
  role: "listitem",
251
251
  tabIndex: 0,
252
252
  className: b(
253
- se.listItem,
254
- { [se["listItem--clickable"]]: i },
253
+ oe.listItem,
254
+ { [oe["listItem--clickable"]]: i },
255
255
  l
256
256
  ),
257
- onClick: i ? t : void 0,
258
- onKeyDown: u,
257
+ onClick: i ? a : void 0,
258
+ onKeyDown: o,
259
259
  ...s,
260
260
  children: [
261
- a != null && /* @__PURE__ */ e("div", { className: se.listItem__leading, children: a }),
262
- /* @__PURE__ */ e("div", { className: se.listItem__content, children: c }),
263
- n != null && /* @__PURE__ */ e("div", { className: se.listItem__trailing, children: n })
261
+ t != null && /* @__PURE__ */ e("div", { className: oe.listItem__leading, children: t }),
262
+ /* @__PURE__ */ e("div", { className: oe.listItem__content, children: u }),
263
+ n != null && /* @__PURE__ */ e("div", { className: oe.listItem__trailing, children: n })
264
264
  ]
265
265
  }
266
266
  );
267
267
  }
268
268
  );
269
- Be.displayName = "ListItem";
270
- const He = {
269
+ Fe.displayName = "ListItem";
270
+ const Ke = {
271
271
  "status-badge": "_status-badge_c7rzu_3",
272
272
  "status-badge--neu": "_status-badge--neu_c7rzu_26",
273
273
  "status-badge--offen": "_status-badge--offen_c7rzu_31",
274
274
  "status-badge--in-prufung": "_status-badge--in-prufung_c7rzu_36",
275
275
  "status-badge--validierung": "_status-badge--validierung_c7rzu_41",
276
276
  "status-badge--abgeschlossen": "_status-badge--abgeschlossen_c7rzu_46"
277
- }, Zt = {
277
+ }, na = {
278
278
  neu: "Neu",
279
279
  offen: "Offen",
280
280
  "in-prufung": "In Prüfung",
281
281
  validierung: "Validierung",
282
282
  abgeschlossen: "Abgeschlossen"
283
- }, tt = g.forwardRef(
284
- ({ status: a, color: n, backgroundColor: t, className: r, style: l, ...c }, s) => {
285
- const d = {
283
+ }, rt = g.forwardRef(
284
+ ({ status: t, color: n, backgroundColor: a, className: r, style: l, ...u }, s) => {
285
+ const h = {
286
286
  ...l,
287
287
  "--custom-color": n,
288
- "--custom-bg": t
288
+ "--custom-bg": a
289
289
  };
290
290
  return /* @__PURE__ */ e(
291
291
  "span",
292
292
  {
293
293
  ref: s,
294
- className: b(He["status-badge"], He[`status-badge--${a}`], r),
295
- style: d,
296
- ...c,
297
- children: Zt[a]
294
+ className: b(Ke["status-badge"], Ke[`status-badge--${t}`], r),
295
+ style: h,
296
+ ...u,
297
+ children: na[t]
298
298
  }
299
299
  );
300
300
  }
301
301
  );
302
- tt.displayName = "StatusBadge";
302
+ rt.displayName = "StatusBadge";
303
303
  const ye = {
304
304
  "favorite-btn": "_favorite-btn_1fvb2_3",
305
305
  "favorite-btn--active": "_favorite-btn--active_1fvb2_23",
306
306
  "favorite-btn--md": "_favorite-btn--md_1fvb2_28",
307
307
  "favorite-btn--sm": "_favorite-btn--sm_1fvb2_39"
308
- }, de = g.forwardRef(
309
- ({ pressed: a, projectName: n, onToggle: t, size: r = "md", color: l, activeColor: c, className: s, style: d, onClick: i, ...u }, o) => {
308
+ }, he = g.forwardRef(
309
+ ({ pressed: t, projectName: n, onToggle: a, size: r = "md", color: l, activeColor: u, className: s, style: h, onClick: i, ...o }, d) => {
310
310
  const f = {
311
- ...d,
311
+ ...h,
312
312
  "--custom-color": l,
313
- "--custom-active-color": c
314
- }, v = a ? `Von Favoriten entfernen: ${n}` : `Zu Favoriten hinzufügen: ${n}`;
313
+ "--custom-active-color": u
314
+ }, k = t ? `Von Favoriten entfernen: ${n}` : `Zu Favoriten hinzufügen: ${n}`;
315
315
  return /* @__PURE__ */ e(
316
316
  "button",
317
317
  {
318
- ref: o,
318
+ ref: d,
319
319
  type: "button",
320
320
  className: b(
321
321
  ye["favorite-btn"],
322
322
  ye[`favorite-btn--${r}`],
323
- { [ye["favorite-btn--active"]]: a },
323
+ { [ye["favorite-btn--active"]]: t },
324
324
  s
325
325
  ),
326
326
  style: f,
327
- "aria-pressed": a,
328
- "aria-label": v,
329
- onClick: (w) => {
330
- t?.(!a), i?.(w);
327
+ "aria-pressed": t,
328
+ "aria-label": k,
329
+ onClick: (y) => {
330
+ a?.(!t), i?.(y);
331
331
  },
332
- ...u,
332
+ ...o,
333
333
  children: /* @__PURE__ */ e(
334
334
  "svg",
335
335
  {
@@ -346,8 +346,8 @@ const ye = {
346
346
  );
347
347
  }
348
348
  );
349
- de.displayName = "FavoriteButton";
350
- const X = {
349
+ he.displayName = "FavoriteButton";
350
+ const ee = {
351
351
  "status-legend__item": "_status-legend__item_c03nc_3",
352
352
  "status-legend__item--active": "_status-legend__item--active_c03nc_22",
353
353
  "status-legend__label-wrap": "_status-legend__label-wrap_c03nc_27",
@@ -360,9 +360,9 @@ const X = {
360
360
  "color-validierung": "_color-validierung_c03nc_69",
361
361
  "color-abgeschlossen": "_color-abgeschlossen_c03nc_73",
362
362
  "color-alle": "_color-alle_c03nc_77"
363
- }, at = g.forwardRef(
364
- ({ status: a, label: n, count: t, active: r = !1, color: l, className: c, style: s, ...d }, i) => {
365
- const u = {
363
+ }, st = g.forwardRef(
364
+ ({ status: t, label: n, count: a, active: r = !1, color: l, className: u, style: s, ...h }, i) => {
365
+ const o = {
366
366
  ...s,
367
367
  "--custom-color": l
368
368
  };
@@ -374,31 +374,31 @@ const X = {
374
374
  role: "option",
375
375
  "aria-selected": r,
376
376
  className: b(
377
- X["status-legend__item"],
378
- { [X["status-legend__item--active"]]: r },
379
- c
377
+ ee["status-legend__item"],
378
+ { [ee["status-legend__item--active"]]: r },
379
+ u
380
380
  ),
381
- style: u,
382
- ...d,
381
+ style: o,
382
+ ...h,
383
383
  children: [
384
- /* @__PURE__ */ m("div", { className: X["status-legend__label-wrap"], children: [
384
+ /* @__PURE__ */ m("div", { className: ee["status-legend__label-wrap"], children: [
385
385
  /* @__PURE__ */ e(
386
386
  "span",
387
387
  {
388
- className: b(X["status-legend__color"], X[`color-${a}`]),
388
+ className: b(ee["status-legend__color"], ee[`color-${t}`]),
389
389
  "aria-hidden": "true"
390
390
  }
391
391
  ),
392
- /* @__PURE__ */ e("span", { className: X["status-legend__label"], children: n })
392
+ /* @__PURE__ */ e("span", { className: ee["status-legend__label"], children: n })
393
393
  ] }),
394
- /* @__PURE__ */ e("span", { className: X["status-legend__count"], children: t })
394
+ /* @__PURE__ */ e("span", { className: ee["status-legend__count"], children: a })
395
395
  ]
396
396
  }
397
397
  );
398
398
  }
399
399
  );
400
- at.displayName = "StatusLegendItem";
401
- const V = {
400
+ st.displayName = "StatusLegendItem";
401
+ const U = {
402
402
  "status-overview__chart-container": "_status-overview__chart-container_6nwc9_3",
403
403
  "status-chart-svg": "_status-chart-svg_6nwc9_13",
404
404
  "status-chart__segment": "_status-chart__segment_6nwc9_23",
@@ -407,143 +407,143 @@ const V = {
407
407
  "status-chart__hole": "_status-chart__hole_6nwc9_40",
408
408
  "status-chart__total-value": "_status-chart__total-value_6nwc9_55",
409
409
  "status-chart__total-label": "_status-chart__total-label_6nwc9_63"
410
- }, nt = g.forwardRef(
411
- ({ data: a, totalLabel: n = "Gesamt", onSegmentClick: t, className: r, ...l }, c) => {
412
- const [s, d] = E(null), i = a.reduce((y, h) => y + h.value, 0), u = 240, o = u / 2, f = 100, v = 40, w = f - v / 2, p = w * 2 * Math.PI;
410
+ }, lt = g.forwardRef(
411
+ ({ data: t, totalLabel: n = "Gesamt", onSegmentClick: a, className: r, ...l }, u) => {
412
+ const [s, h] = F(null), i = t.reduce((w, c) => w + c.value, 0), o = 240, d = o / 2, f = 100, k = 40, y = f - k / 2, p = y * 2 * Math.PI;
413
413
  return /* @__PURE__ */ m(
414
414
  "div",
415
415
  {
416
- ref: c,
417
- className: b(V["status-overview__chart-container"], r),
416
+ ref: u,
417
+ className: b(U["status-overview__chart-container"], r),
418
418
  ...l,
419
419
  children: [
420
420
  /* @__PURE__ */ e(
421
421
  "svg",
422
422
  {
423
- viewBox: `0 0 ${u} ${u}`,
424
- className: V["status-chart-svg"],
423
+ viewBox: `0 0 ${o} ${o}`,
424
+ className: U["status-chart-svg"],
425
425
  role: "img",
426
426
  "aria-label": "Kreisdiagramm der Projektstatus-Verteilung",
427
427
  overflow: "visible",
428
428
  children: i === 0 ? /* @__PURE__ */ e(
429
429
  "circle",
430
430
  {
431
- cx: o,
432
- cy: o,
433
- r: w,
431
+ cx: d,
432
+ cy: d,
433
+ r: y,
434
434
  fill: "none",
435
435
  stroke: "hsl(var(--border))",
436
- strokeWidth: v
436
+ strokeWidth: k
437
437
  }
438
438
  ) : (() => {
439
- let y = 0;
440
- return a.map((h) => {
441
- if (h.value === 0) return null;
442
- const x = h.value / i * 100, k = x / 100 * p, _ = y / 100 * p;
443
- return y += x, /* @__PURE__ */ e(
439
+ let w = 0;
440
+ return t.map((c) => {
441
+ if (c.value === 0) return null;
442
+ const N = c.value / i * 100, v = N / 100 * p, _ = w / 100 * p;
443
+ return w += N, /* @__PURE__ */ e(
444
444
  "circle",
445
445
  {
446
- cx: o,
447
- cy: o,
448
- r: w,
446
+ cx: d,
447
+ cy: d,
448
+ r: y,
449
449
  fill: "none",
450
- stroke: h.color,
451
- strokeWidth: v,
452
- strokeDasharray: `${k} ${p}`,
450
+ stroke: c.color,
451
+ strokeWidth: k,
452
+ strokeDasharray: `${v} ${p}`,
453
453
  strokeDashoffset: -_,
454
- transform: `rotate(-90 ${o} ${o})`,
455
- className: b(V["status-chart__segment"], {
456
- [V["status-chart__segment--hovered"]]: s === h.status,
457
- [V["status-chart__segment--dimmed"]]: s && s !== h.status
454
+ transform: `rotate(-90 ${d} ${d})`,
455
+ className: b(U["status-chart__segment"], {
456
+ [U["status-chart__segment--hovered"]]: s === c.status,
457
+ [U["status-chart__segment--dimmed"]]: s && s !== c.status
458
458
  }),
459
- onClick: () => t?.(h.status),
460
- onMouseEnter: () => d(h.status),
461
- onMouseLeave: () => d(null),
462
- style: { cursor: t ? "pointer" : "default" },
463
- children: /* @__PURE__ */ e("title", { children: `${h.label}: ${h.value}` })
459
+ onClick: () => a?.(c.status),
460
+ onMouseEnter: () => h(c.status),
461
+ onMouseLeave: () => h(null),
462
+ style: { cursor: a ? "pointer" : "default" },
463
+ children: /* @__PURE__ */ e("title", { children: `${c.label}: ${c.value}` })
464
464
  },
465
- h.status
465
+ c.status
466
466
  );
467
467
  });
468
468
  })()
469
469
  }
470
470
  ),
471
- /* @__PURE__ */ m("div", { className: V["status-chart__hole"], children: [
472
- /* @__PURE__ */ e("span", { className: V["status-chart__total-value"], children: i }),
473
- /* @__PURE__ */ e("span", { className: V["status-chart__total-label"], children: n })
471
+ /* @__PURE__ */ m("div", { className: U["status-chart__hole"], children: [
472
+ /* @__PURE__ */ e("span", { className: U["status-chart__total-value"], children: i }),
473
+ /* @__PURE__ */ e("span", { className: U["status-chart__total-label"], children: n })
474
474
  ] })
475
475
  ]
476
476
  }
477
477
  );
478
478
  }
479
479
  );
480
- nt.displayName = "StatusChart";
481
- function Ue(a) {
482
- const n = new Date(a);
480
+ lt.displayName = "StatusChart";
481
+ function Ye(t) {
482
+ const n = new Date(t);
483
483
  if (isNaN(n.getTime())) return "Ungültiges Datum";
484
484
  const r = (/* @__PURE__ */ new Date()).getTime() - n.getTime(), l = Math.floor(r / (1e3 * 60 * 60 * 24));
485
485
  if (l === 0) return "Heute";
486
486
  if (l === 1) return "Gestern";
487
487
  if (l < 7) return `vor ${l} Tagen`;
488
- const c = Math.floor(l / 7);
489
- if (c < 4)
490
- return c === 1 ? "vor einer Woche" : `vor ${c} Wochen`;
488
+ const u = Math.floor(l / 7);
489
+ if (u < 4)
490
+ return u === 1 ? "vor einer Woche" : `vor ${u} Wochen`;
491
491
  const s = Math.floor(l / 30);
492
492
  if (s < 12)
493
493
  return s === 1 ? "vor einem Monat" : `vor ${s} Monaten`;
494
- const d = Math.floor(l / 365);
495
- return d === 1 ? "vor einem Jahr" : `vor ${d} Jahren`;
494
+ const h = Math.floor(l / 365);
495
+ return h === 1 ? "vor einem Jahr" : `vor ${h} Jahren`;
496
496
  }
497
- const ea = "_nameCell_1n6hv_4", ta = "_favorite_1n6hv_10", aa = "_nameWrapper_1n6hv_14", na = "_name_1n6hv_4", ra = "_secondary_1n6hv_31", sa = "_client_1n6hv_41", la = "_dateMain_1n6hv_51", G = {
498
- nameCell: ea,
499
- favorite: ta,
500
- nameWrapper: aa,
501
- name: na,
502
- secondary: ra,
503
- client: sa,
504
- dateMain: la
505
- }, ia = [
497
+ const ra = "_nameCell_1n6hv_4", sa = "_favorite_1n6hv_10", la = "_nameWrapper_1n6hv_14", ia = "_name_1n6hv_4", oa = "_secondary_1n6hv_31", ca = "_client_1n6hv_41", da = "_dateMain_1n6hv_51", Q = {
498
+ nameCell: ra,
499
+ favorite: sa,
500
+ nameWrapper: la,
501
+ name: ia,
502
+ secondary: oa,
503
+ client: ca,
504
+ dateMain: da
505
+ }, _a = [
506
506
  { key: "name", label: "Projekt / Applikation" },
507
507
  { key: "client", label: "Kunde", width: "20%" },
508
508
  { key: "status", label: "Status", width: 150 },
509
509
  { key: "activity", label: "Aktivität", width: 160 }
510
- ], rt = g.forwardRef(
511
- ({ rows: a, onToggleFavorite: n, className: t, ...r }, l) => /* @__PURE__ */ e(
512
- Fe,
510
+ ], it = g.forwardRef(
511
+ ({ rows: t, onToggleFavorite: n, className: a, ...r }, l) => /* @__PURE__ */ e(
512
+ $e,
513
513
  {
514
514
  ref: l,
515
- columns: ia,
516
- rows: a,
515
+ columns: _a,
516
+ rows: t,
517
517
  rowKey: (s) => s.id,
518
- renderCell: (s, d) => {
519
- switch (d.key) {
518
+ renderCell: (s, h) => {
519
+ switch (h.key) {
520
520
  case "name":
521
- return /* @__PURE__ */ m("div", { className: G.nameCell, children: [
521
+ return /* @__PURE__ */ m("div", { className: Q.nameCell, children: [
522
522
  /* @__PURE__ */ e(
523
- de,
523
+ he,
524
524
  {
525
525
  pressed: s.favorite,
526
526
  projectName: s.name,
527
527
  size: "sm",
528
528
  onToggle: (i) => n?.(s.id, i),
529
- className: G.favorite
529
+ className: Q.favorite
530
530
  }
531
531
  ),
532
- /* @__PURE__ */ m("div", { className: G.nameWrapper, title: `${s.name}
532
+ /* @__PURE__ */ m("div", { className: Q.nameWrapper, title: `${s.name}
533
533
  ${s.app}`, children: [
534
- /* @__PURE__ */ e("div", { className: G.name, children: s.name }),
535
- /* @__PURE__ */ e("div", { className: G.secondary, children: s.app })
534
+ /* @__PURE__ */ e("div", { className: Q.name, children: s.name }),
535
+ /* @__PURE__ */ e("div", { className: Q.secondary, children: s.app })
536
536
  ] })
537
537
  ] });
538
538
  case "client":
539
- return /* @__PURE__ */ e("span", { className: G.client, title: s.client, children: s.client });
539
+ return /* @__PURE__ */ e("span", { className: Q.client, title: s.client, children: s.client });
540
540
  case "status":
541
- return /* @__PURE__ */ e(tt, { status: s.status });
541
+ return /* @__PURE__ */ e(rt, { status: s.status });
542
542
  case "activity":
543
- return /* @__PURE__ */ m("div", { title: `Geändert: ${Ue(s.updatedAt)}
543
+ return /* @__PURE__ */ m("div", { title: `Geändert: ${Ye(s.updatedAt)}
544
544
  Erstellt: ${s.createdAt}`, children: [
545
- /* @__PURE__ */ e("div", { className: G.dateMain, children: Ue(s.updatedAt) }),
546
- /* @__PURE__ */ m("div", { className: G.secondary, children: [
545
+ /* @__PURE__ */ e("div", { className: Q.dateMain, children: Ye(s.updatedAt) }),
546
+ /* @__PURE__ */ m("div", { className: Q.secondary, children: [
547
547
  "Erstellt: ",
548
548
  s.createdAt
549
549
  ] })
@@ -553,181 +553,181 @@ Erstellt: ${s.createdAt}`, children: [
553
553
  }
554
554
  },
555
555
  rowDataAttributes: (s) => ({ "data-status": s.status }),
556
- className: t,
556
+ className: a,
557
557
  ...r
558
558
  }
559
559
  )
560
560
  );
561
- rt.displayName = "ProjectTable";
562
- const oa = "_avatar_1elxr_3", De = {
563
- avatar: oa,
561
+ it.displayName = "ProjectTable";
562
+ const ua = "_avatar_1elxr_3", Ie = {
563
+ avatar: ua,
564
564
  "avatar-group": "_avatar-group_1elxr_18",
565
565
  "group-member": "_group-member_1elxr_23"
566
- }, ce = g.forwardRef(
567
- ({ initials: a, name: n, className: t, ...r }, l) => /* @__PURE__ */ e(
566
+ }, ue = g.forwardRef(
567
+ ({ initials: t, name: n, className: a, ...r }, l) => /* @__PURE__ */ e(
568
568
  "div",
569
569
  {
570
570
  ref: l,
571
- className: b(De.avatar, t),
571
+ className: b(Ie.avatar, a),
572
572
  title: n,
573
573
  "aria-label": n,
574
574
  ...r,
575
- children: a
575
+ children: t
576
576
  }
577
577
  )
578
578
  );
579
- ce.displayName = "Avatar";
580
- const Te = g.forwardRef(
581
- ({ children: a, className: n, ...t }, r) => /* @__PURE__ */ e(
579
+ ue.displayName = "Avatar";
580
+ const Ee = g.forwardRef(
581
+ ({ children: t, className: n, ...a }, r) => /* @__PURE__ */ e(
582
582
  "div",
583
583
  {
584
584
  ref: r,
585
- className: b(De["avatar-group"], n),
586
- ...t,
587
- children: g.Children.map(a, (l) => g.isValidElement(l) ? g.cloneElement(l, {
588
- className: b(l.props.className, De["group-member"])
585
+ className: b(Ie["avatar-group"], n),
586
+ ...a,
587
+ children: g.Children.map(t, (l) => g.isValidElement(l) ? g.cloneElement(l, {
588
+ className: b(l.props.className, Ie["group-member"])
589
589
  }) : l)
590
590
  }
591
591
  )
592
592
  );
593
- Te.displayName = "AvatarGroup";
594
- const ca = "_btn_1icnw_3", we = {
595
- btn: ca,
593
+ Ee.displayName = "AvatarGroup";
594
+ const ha = "_btn_1icnw_3", ke = {
595
+ btn: ha,
596
596
  "btn--primary": "_btn--primary_1icnw_27",
597
597
  "btn--outline": "_btn--outline_1icnw_39",
598
598
  "btn--ghost": "_btn--ghost_1icnw_52",
599
599
  "btn--sm": "_btn--sm_1icnw_63"
600
- }, W = g.forwardRef(
601
- ({ variant: a, size: n = "md", className: t, children: r, ...l }, c) => /* @__PURE__ */ e(
600
+ }, H = g.forwardRef(
601
+ ({ variant: t, size: n = "md", className: a, children: r, ...l }, u) => /* @__PURE__ */ e(
602
602
  "button",
603
603
  {
604
- ref: c,
604
+ ref: u,
605
605
  className: b(
606
- we.btn,
606
+ ke.btn,
607
607
  {
608
- [we[`btn--${a}`]]: a,
609
- [we[`btn--${n}`]]: n && n !== "md"
608
+ [ke[`btn--${t}`]]: t,
609
+ [ke[`btn--${n}`]]: n && n !== "md"
610
610
  },
611
- t
611
+ a
612
612
  ),
613
613
  ...l,
614
614
  children: r
615
615
  }
616
616
  )
617
617
  );
618
- W.displayName = "Button";
619
- const da = "_badge_aax9r_3", ke = {
620
- badge: da,
618
+ H.displayName = "Button";
619
+ const ma = "_badge_aax9r_3", Ne = {
620
+ badge: ma,
621
621
  "badge--high": "_badge--high_aax9r_12",
622
622
  "badge--medium": "_badge--medium_aax9r_18",
623
623
  "badge--low": "_badge--low_aax9r_24",
624
624
  "badge--size-small": "_badge--size-small_aax9r_30",
625
625
  "badge--size-large": "_badge--size-large_aax9r_37"
626
- }, _a = {
626
+ }, pa = {
627
627
  high: "!!",
628
628
  medium: "!",
629
629
  low: "-"
630
- }, ua = {
630
+ }, fa = {
631
631
  high: "Hohe Priorität",
632
632
  medium: "Mittlere Priorität",
633
633
  low: "Niedrige Priorität"
634
- }, Pe = g.forwardRef(
635
- ({ level: a, size: n = "small", className: t, "aria-label": r, ...l }, c) => {
636
- const s = ua[a];
634
+ }, Te = g.forwardRef(
635
+ ({ level: t, size: n = "small", className: a, "aria-label": r, ...l }, u) => {
636
+ const s = fa[t];
637
637
  return /* @__PURE__ */ e(
638
638
  "span",
639
639
  {
640
- ref: c,
640
+ ref: u,
641
641
  className: b(
642
- ke.badge,
643
- ke[`badge--${a}`],
644
- ke[`badge--size-${n}`],
645
- t
642
+ Ne.badge,
643
+ Ne[`badge--${t}`],
644
+ Ne[`badge--size-${n}`],
645
+ a
646
646
  ),
647
647
  "aria-label": r || s,
648
648
  ...l,
649
- children: _a[a]
649
+ children: pa[t]
650
650
  }
651
651
  );
652
652
  }
653
653
  );
654
- Pe.displayName = "PriorityBadge";
655
- const ha = "_badge_1j9lv_3", ma = {
656
- badge: ha
657
- }, Ie = g.forwardRef(
658
- ({ className: a, children: n, ...t }, r) => /* @__PURE__ */ e(
654
+ Te.displayName = "PriorityBadge";
655
+ const ga = "_badge_1j9lv_3", ba = {
656
+ badge: ga
657
+ }, Le = g.forwardRef(
658
+ ({ className: t, children: n, ...a }, r) => /* @__PURE__ */ e(
659
659
  "span",
660
660
  {
661
661
  ref: r,
662
- className: b(ma.badge, a),
663
- ...t,
662
+ className: b(ba.badge, t),
663
+ ...a,
664
664
  children: n
665
665
  }
666
666
  )
667
667
  );
668
- Ie.displayName = "Badge";
669
- const pa = "_icon_6t2ce_56", H = {
668
+ Le.displayName = "Badge";
669
+ const va = "_icon_6t2ce_56", K = {
670
670
  "status-dropdown": "_status-dropdown_6t2ce_3",
671
671
  "status-trigger": "_status-trigger_6t2ce_9",
672
672
  "status-menu": "_status-menu_6t2ce_14",
673
673
  "is-open": "_is-open_6t2ce_31",
674
674
  "status-menu-item": "_status-menu-item_6t2ce_35",
675
675
  "is-active": "_is-active_6t2ce_52",
676
- icon: pa,
676
+ icon: va,
677
677
  "icon-sm": "_icon-sm_6t2ce_65"
678
- }, st = g.forwardRef(
679
- ({ value: a, onChange: n, options: t, className: r, "aria-label": l, ...c }, s) => {
680
- const [d, i] = E(!1), u = Je(null), o = (p) => {
681
- typeof s == "function" ? s(p) : s && (s.current = p), u.current = p;
682
- }, f = t.find((p) => p.value === a) || t[0];
683
- je(() => {
684
- const p = (y) => {
685
- u.current && !u.current.contains(y.target) && i(!1);
678
+ }, ot = g.forwardRef(
679
+ ({ value: t, onChange: n, options: a, className: r, "aria-label": l, ...u }, s) => {
680
+ const [h, i] = F(!1), o = tt(null), d = (p) => {
681
+ typeof s == "function" ? s(p) : s && (s.current = p), o.current = p;
682
+ }, f = a.find((p) => p.value === t) || a[0];
683
+ Be(() => {
684
+ const p = (w) => {
685
+ o.current && !o.current.contains(w.target) && i(!1);
686
686
  };
687
687
  return document.addEventListener("mousedown", p), () => document.removeEventListener("mousedown", p);
688
688
  }, []);
689
- const v = (p) => {
690
- p.stopPropagation(), i(!d);
691
- }, w = (p, y) => {
692
- p.stopPropagation(), n && n(y.value), i(!1);
689
+ const k = (p) => {
690
+ p.stopPropagation(), i(!h);
691
+ }, y = (p, w) => {
692
+ p.stopPropagation(), n && n(w.value), i(!1);
693
693
  };
694
694
  return /* @__PURE__ */ m(
695
695
  "div",
696
696
  {
697
- ref: o,
698
- className: b(H["status-dropdown"], r),
699
- ...c,
697
+ ref: d,
698
+ className: b(K["status-dropdown"], r),
699
+ ...u,
700
700
  children: [
701
701
  /* @__PURE__ */ m(
702
- W,
702
+ H,
703
703
  {
704
704
  variant: "outline",
705
705
  size: "sm",
706
- className: H["status-trigger"],
707
- onClick: v,
706
+ className: K["status-trigger"],
707
+ onClick: k,
708
708
  "aria-haspopup": "listbox",
709
- "aria-expanded": d,
709
+ "aria-expanded": h,
710
710
  "aria-label": l,
711
711
  children: [
712
712
  f?.label,
713
- /* @__PURE__ */ e("svg", { className: b(H.icon, H["icon-sm"]), viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", children: /* @__PURE__ */ e("path", { d: "m6 9 6 6 6-6" }) })
713
+ /* @__PURE__ */ e("svg", { className: b(K.icon, K["icon-sm"]), viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", children: /* @__PURE__ */ e("path", { d: "m6 9 6 6 6-6" }) })
714
714
  ]
715
715
  }
716
716
  ),
717
717
  /* @__PURE__ */ e(
718
718
  "div",
719
719
  {
720
- className: b(H["status-menu"], { [H["is-open"]]: d }),
720
+ className: b(K["status-menu"], { [K["is-open"]]: h }),
721
721
  role: "listbox",
722
- children: t.map((p) => /* @__PURE__ */ e(
722
+ children: a.map((p) => /* @__PURE__ */ e(
723
723
  "button",
724
724
  {
725
- className: b(H["status-menu-item"], {
726
- [H["is-active"]]: p.value === f?.value
725
+ className: b(K["status-menu-item"], {
726
+ [K["is-active"]]: p.value === f?.value
727
727
  }),
728
728
  role: "option",
729
729
  "aria-selected": p.value === f?.value,
730
- onClick: (y) => w(y, p),
730
+ onClick: (w) => y(w, p),
731
731
  children: p.label
732
732
  },
733
733
  p.value
@@ -739,43 +739,43 @@ const pa = "_icon_6t2ce_56", H = {
739
739
  );
740
740
  }
741
741
  );
742
- st.displayName = "StatusDropdown";
743
- const fa = "_checklist_19mhr_3", ba = "_checkItem_19mhr_7", ga = "_formControl_19mhr_39", le = {
744
- checklist: fa,
745
- checkItem: ba,
742
+ ot.displayName = "StatusDropdown";
743
+ const wa = "_checklist_19mhr_3", ya = "_checkItem_19mhr_7", ka = "_formControl_19mhr_39", ce = {
744
+ checklist: wa,
745
+ checkItem: ya,
746
746
  "is-done": "_is-done_19mhr_26",
747
747
  "checklist--readonly": "_checklist--readonly_19mhr_31",
748
- formControl: ga
749
- }, Le = g.forwardRef(
750
- ({ items: a, onChange: n, editable: t = !1, className: r, ...l }, c) => {
751
- const s = (i, u) => {
752
- n && n(a.map((o) => o.id === i ? { ...o, checked: u } : o));
753
- }, d = (i, u) => {
754
- n && n(a.map((o) => o.id === i ? { ...o, text: u } : o));
748
+ formControl: ka
749
+ }, Re = g.forwardRef(
750
+ ({ items: t, onChange: n, editable: a = !1, className: r, ...l }, u) => {
751
+ const s = (i, o) => {
752
+ n && n(t.map((d) => d.id === i ? { ...d, checked: o } : d));
753
+ }, h = (i, o) => {
754
+ n && n(t.map((d) => d.id === i ? { ...d, text: o } : d));
755
755
  };
756
756
  return /* @__PURE__ */ e(
757
- ge,
757
+ ve,
758
758
  {
759
- ref: c,
760
- className: b(le.checklist, { [le["checklist--readonly"]]: !t }, r),
759
+ ref: u,
760
+ className: b(ce.checklist, { [ce["checklist--readonly"]]: !a }, r),
761
761
  ...l,
762
- children: a.map((i) => /* @__PURE__ */ m("div", { role: "listitem", className: b(le.checkItem, { [le["is-done"]]: i.checked }), children: [
762
+ children: t.map((i) => /* @__PURE__ */ m("div", { role: "listitem", className: b(ce.checkItem, { [ce["is-done"]]: i.checked }), children: [
763
763
  /* @__PURE__ */ e(
764
764
  "input",
765
765
  {
766
766
  type: "checkbox",
767
767
  id: i.id,
768
768
  checked: i.checked,
769
- onChange: (u) => s(i.id, u.target.checked)
769
+ onChange: (o) => s(i.id, o.target.checked)
770
770
  }
771
771
  ),
772
- t ? /* @__PURE__ */ e(
772
+ a ? /* @__PURE__ */ e(
773
773
  "input",
774
774
  {
775
775
  type: "text",
776
- className: le.formControl,
776
+ className: ce.formControl,
777
777
  value: i.text,
778
- onChange: (u) => d(i.id, u.target.value),
778
+ onChange: (o) => h(i.id, o.target.value),
779
779
  placeholder: "Was ist zu tun?",
780
780
  "aria-label": "Aufgabenbeschreibung bearbeiten"
781
781
  }
@@ -785,24 +785,24 @@ const fa = "_checklist_19mhr_3", ba = "_checkItem_19mhr_7", ga = "_formControl_1
785
785
  );
786
786
  }
787
787
  );
788
- Le.displayName = "Checklist";
789
- const va = "_searchInput_1ms0w_3", ya = "_icon_1ms0w_20", wa = "_field_1ms0w_27", Ne = {
790
- searchInput: va,
791
- icon: ya,
792
- field: wa
793
- }, Ee = g.forwardRef(
788
+ Re.displayName = "Checklist";
789
+ const Na = "_searchInput_1ms0w_3", xa = "_icon_1ms0w_20", Ca = "_field_1ms0w_27", xe = {
790
+ searchInput: Na,
791
+ icon: xa,
792
+ field: Ca
793
+ }, Oe = g.forwardRef(
794
794
  ({
795
- value: a,
795
+ value: t,
796
796
  placeholder: n = "Suche...",
797
- onChange: t,
797
+ onChange: a,
798
798
  "aria-label": r = "Daten durchsuchen",
799
799
  id: l,
800
- className: c
801
- }, s) => /* @__PURE__ */ m("label", { className: b(Ne.searchInput, c), htmlFor: l, children: [
800
+ className: u
801
+ }, s) => /* @__PURE__ */ m("label", { className: b(xe.searchInput, u), htmlFor: l, children: [
802
802
  /* @__PURE__ */ m(
803
803
  "svg",
804
804
  {
805
- className: Ne.icon,
805
+ className: xe.icon,
806
806
  viewBox: "0 0 24 24",
807
807
  fill: "none",
808
808
  stroke: "currentColor",
@@ -820,45 +820,45 @@ const va = "_searchInput_1ms0w_3", ya = "_icon_1ms0w_20", wa = "_field_1ms0w_27"
820
820
  "input",
821
821
  {
822
822
  ref: s,
823
- className: Ne.field,
823
+ className: xe.field,
824
824
  type: "search",
825
825
  id: l,
826
- value: a,
826
+ value: t,
827
827
  placeholder: n,
828
828
  "aria-label": r,
829
- onChange: (d) => t?.(d.target.value)
829
+ onChange: (h) => a?.(h.target.value)
830
830
  }
831
831
  )
832
832
  ] })
833
833
  );
834
- Ee.displayName = "SearchInput";
835
- const ka = "_btn_1do3o_3", Na = "_chevron_1do3o_30", xe = {
836
- btn: ka,
837
- chevron: Na,
834
+ Oe.displayName = "SearchInput";
835
+ const Sa = "_btn_1do3o_3", Da = "_chevron_1do3o_30", Ce = {
836
+ btn: Sa,
837
+ chevron: Da,
838
838
  "btn--open": "_btn--open_1do3o_37"
839
- }, ve = g.forwardRef(
839
+ }, we = g.forwardRef(
840
840
  ({
841
- expanded: a = !1,
841
+ expanded: t = !1,
842
842
  count: n,
843
- label: t,
843
+ label: a,
844
844
  onClick: r,
845
845
  "aria-label": l,
846
- className: c
846
+ className: u
847
847
  }, s) => {
848
- const d = t ? `${n ?? ""} ${t}`.trim() : n != null ? String(n) : "";
848
+ const h = a ? `${n ?? ""} ${a}`.trim() : n != null ? String(n) : "";
849
849
  return /* @__PURE__ */ m(
850
850
  "button",
851
851
  {
852
852
  ref: s,
853
- className: b(xe.btn, { [xe["btn--open"]]: a }, c),
853
+ className: b(Ce.btn, { [Ce["btn--open"]]: t }, u),
854
854
  onClick: r,
855
- "aria-expanded": a,
855
+ "aria-expanded": t,
856
856
  "aria-label": l,
857
857
  children: [
858
858
  /* @__PURE__ */ e(
859
859
  "svg",
860
860
  {
861
- className: xe.chevron,
861
+ className: Ce.chevron,
862
862
  viewBox: "0 0 24 24",
863
863
  fill: "none",
864
864
  stroke: "currentColor",
@@ -869,118 +869,118 @@ const ka = "_btn_1do3o_3", Na = "_chevron_1do3o_30", xe = {
869
869
  children: /* @__PURE__ */ e("polyline", { points: "6 9 12 15 18 9" })
870
870
  }
871
871
  ),
872
- d
872
+ h
873
873
  ]
874
874
  }
875
875
  );
876
876
  }
877
877
  );
878
- ve.displayName = "ExpandButton";
879
- const xa = "_circle_gvt69_3", Ca = "_svg_gvt69_12", Sa = "_track_gvt69_18", Da = "_fill_gvt69_24", Ia = "_label_gvt69_31", ie = {
880
- circle: xa,
881
- svg: Ca,
882
- track: Sa,
883
- fill: Da,
884
- label: Ia
885
- }, Ae = 14, Ce = 2 * Math.PI * Ae;
886
- function La(a) {
887
- return a >= 75 ? "var(--color-success)" : a >= 50 ? "var(--color-warning)" : "var(--error)";
878
+ we.displayName = "ExpandButton";
879
+ const Ia = "_circle_gvt69_3", La = "_svg_gvt69_12", Ra = "_track_gvt69_18", Pa = "_fill_gvt69_24", Aa = "_label_gvt69_31", de = {
880
+ circle: Ia,
881
+ svg: La,
882
+ track: Ra,
883
+ fill: Pa,
884
+ label: Aa
885
+ }, Pe = 14, Se = 2 * Math.PI * Pe;
886
+ function ja(t) {
887
+ return t >= 75 ? "var(--color-success)" : t >= 50 ? "var(--color-warning)" : "var(--error)";
888
888
  }
889
- const lt = g.forwardRef(
890
- ({ value: a, className: n }, t) => {
891
- const r = Math.max(0, Math.min(100, a)), l = Ce - r / 100 * Ce;
892
- return /* @__PURE__ */ m("div", { ref: t, className: b(ie.circle, n), role: "meter", "aria-valuenow": r, "aria-valuemin": 0, "aria-valuemax": 100, "aria-label": `${r}%`, children: [
893
- /* @__PURE__ */ m("svg", { className: ie.svg, viewBox: "0 0 36 36", children: [
894
- /* @__PURE__ */ e("circle", { className: ie.track, cx: "18", cy: "18", r: Ae }),
889
+ const ct = g.forwardRef(
890
+ ({ value: t, className: n }, a) => {
891
+ const r = Math.max(0, Math.min(100, t)), l = Se - r / 100 * Se;
892
+ return /* @__PURE__ */ m("div", { ref: a, className: b(de.circle, n), role: "meter", "aria-valuenow": r, "aria-valuemin": 0, "aria-valuemax": 100, "aria-label": `${r}%`, children: [
893
+ /* @__PURE__ */ m("svg", { className: de.svg, viewBox: "0 0 36 36", children: [
894
+ /* @__PURE__ */ e("circle", { className: de.track, cx: "18", cy: "18", r: Pe }),
895
895
  /* @__PURE__ */ e(
896
896
  "circle",
897
897
  {
898
- className: ie.fill,
898
+ className: de.fill,
899
899
  cx: "18",
900
900
  cy: "18",
901
- r: Ae,
902
- stroke: La(r),
903
- strokeDasharray: Ce,
901
+ r: Pe,
902
+ stroke: ja(r),
903
+ strokeDasharray: Se,
904
904
  strokeDashoffset: l
905
905
  }
906
906
  )
907
907
  ] }),
908
- /* @__PURE__ */ m("span", { className: ie.label, children: [
908
+ /* @__PURE__ */ m("span", { className: de.label, children: [
909
909
  r,
910
910
  "%"
911
911
  ] })
912
912
  ] });
913
913
  }
914
914
  );
915
- lt.displayName = "ProgressCircle";
916
- const Aa = "_bar_l0q8t_3", Ra = "_track_l0q8t_9", $a = "_fill_l0q8t_17", ja = "_value_l0q8t_23", ue = {
917
- bar: Aa,
918
- track: Ra,
919
- fill: $a,
920
- value: ja
921
- }, it = g.forwardRef(
922
- ({ value: a, className: n }, t) => {
923
- const r = typeof a == "number" && a <= 1 ? a * 100 : a, l = Math.round(r);
924
- return /* @__PURE__ */ m("div", { ref: t, className: b(ue.bar, n), role: "meter", "aria-valuenow": l, "aria-valuemin": 0, "aria-valuemax": 100, "aria-label": `${l}%`, children: [
925
- /* @__PURE__ */ e("div", { className: ue.track, children: /* @__PURE__ */ e("div", { className: ue.fill, style: { width: `${r}%` } }) }),
926
- /* @__PURE__ */ m("span", { className: ue.value, children: [
915
+ ct.displayName = "ProgressCircle";
916
+ const Ba = "_bar_l0q8t_3", $a = "_track_l0q8t_9", Fa = "_fill_l0q8t_17", Ea = "_value_l0q8t_23", me = {
917
+ bar: Ba,
918
+ track: $a,
919
+ fill: Fa,
920
+ value: Ea
921
+ }, dt = g.forwardRef(
922
+ ({ value: t, className: n }, a) => {
923
+ const r = typeof t == "number" && t <= 1 ? t * 100 : t, l = Math.round(r);
924
+ return /* @__PURE__ */ m("div", { ref: a, className: b(me.bar, n), role: "meter", "aria-valuenow": l, "aria-valuemin": 0, "aria-valuemax": 100, "aria-label": `${l}%`, children: [
925
+ /* @__PURE__ */ e("div", { className: me.track, children: /* @__PURE__ */ e("div", { className: me.fill, style: { width: `${r}%` } }) }),
926
+ /* @__PURE__ */ m("span", { className: me.value, children: [
927
927
  l,
928
928
  "%"
929
929
  ] })
930
930
  ] });
931
931
  }
932
932
  );
933
- it.displayName = "ScoreBar";
934
- const Fa = "_empty_26icj_3", Ba = "_icon_26icj_12", Ta = "_title_26icj_19", Pa = "_text_26icj_27", he = {
935
- empty: Fa,
936
- icon: Ba,
937
- title: Ta,
938
- text: Pa
939
- }, Oe = g.forwardRef(
940
- ({ title: a, text: n, icon: t, className: r }, l) => /* @__PURE__ */ m("div", { ref: l, className: b(he.empty, r), role: "status", children: [
941
- t && /* @__PURE__ */ e("div", { className: he.icon, "aria-hidden": "true", children: t }),
942
- /* @__PURE__ */ e("div", { className: he.title, children: a }),
943
- n && /* @__PURE__ */ e("div", { className: he.text, children: n })
933
+ dt.displayName = "ScoreBar";
934
+ const Ta = "_empty_26icj_3", Oa = "_icon_26icj_12", za = "_title_26icj_19", Ma = "_text_26icj_27", pe = {
935
+ empty: Ta,
936
+ icon: Oa,
937
+ title: za,
938
+ text: Ma
939
+ }, ze = g.forwardRef(
940
+ ({ title: t, text: n, icon: a, className: r }, l) => /* @__PURE__ */ m("div", { ref: l, className: b(pe.empty, r), role: "status", children: [
941
+ a && /* @__PURE__ */ e("div", { className: pe.icon, "aria-hidden": "true", children: a }),
942
+ /* @__PURE__ */ e("div", { className: pe.title, children: t }),
943
+ n && /* @__PURE__ */ e("div", { className: pe.text, children: n })
944
944
  ] })
945
945
  );
946
- Oe.displayName = "EmptyState";
947
- const Ea = "_toggle_1uawr_3", Oa = "_btn_1uawr_11", Ma = "_icon_1uawr_43", me = {
948
- toggle: Ea,
949
- btn: Oa,
946
+ ze.displayName = "EmptyState";
947
+ const qa = "_toggle_1uawr_3", Wa = "_btn_1uawr_11", Va = "_icon_1uawr_43", fe = {
948
+ toggle: qa,
949
+ btn: Wa,
950
950
  "btn--active": "_btn--active_1uawr_37",
951
- icon: Ma
951
+ icon: Va
952
952
  }, Me = g.forwardRef(
953
953
  ({
954
- options: a,
954
+ options: t,
955
955
  value: n,
956
- onChange: t,
956
+ onChange: a,
957
957
  "aria-label": r,
958
958
  role: l = "tablist",
959
- className: c
959
+ className: u
960
960
  }, s) => {
961
- const d = l === "tablist" ? "tab" : "radio", i = l === "tablist" ? "aria-selected" : "aria-checked";
961
+ const h = l === "tablist" ? "tab" : "radio", i = l === "tablist" ? "aria-selected" : "aria-checked";
962
962
  return /* @__PURE__ */ e(
963
963
  "div",
964
964
  {
965
965
  ref: s,
966
- className: b(me.toggle, c),
966
+ className: b(fe.toggle, u),
967
967
  role: l,
968
968
  "aria-label": r,
969
- children: a.map((u) => {
970
- const o = u.value === n;
969
+ children: t.map((o) => {
970
+ const d = o.value === n;
971
971
  return /* @__PURE__ */ m(
972
972
  "button",
973
973
  {
974
- className: b(me.btn, { [me["btn--active"]]: o }),
975
- role: d,
976
- [i]: o,
977
- onClick: () => t?.(u.value),
974
+ className: b(fe.btn, { [fe["btn--active"]]: d }),
975
+ role: h,
976
+ [i]: d,
977
+ onClick: () => a?.(o.value),
978
978
  children: [
979
- u.icon && /* @__PURE__ */ e("span", { className: me.icon, "aria-hidden": "true", children: u.icon }),
980
- u.label
979
+ o.icon && /* @__PURE__ */ e("span", { className: fe.icon, "aria-hidden": "true", children: o.icon }),
980
+ o.label
981
981
  ]
982
982
  },
983
- u.value
983
+ o.value
984
984
  );
985
985
  })
986
986
  }
@@ -988,82 +988,82 @@ const Ea = "_toggle_1uawr_3", Oa = "_btn_1uawr_11", Ma = "_icon_1uawr_43", me =
988
988
  }
989
989
  );
990
990
  Me.displayName = "SegmentedControl";
991
- const za = "_filterChip_43db3_4", qa = "_filterChip__icon_43db3_38", Wa = "_filterChip__chevron_43db3_44", Va = "_filterChip__label_43db3_55", Ga = "_filterDropdown_43db3_62", Ha = "_filterDropdown__item_43db3_80", Ua = "_filterDropdown__check_43db3_106", Ka = "_filterDropdown__search_43db3_117", Qa = "_filterDropdown__searchIcon_43db3_126", Ya = "_filterDropdown__searchInput_43db3_133", $ = {
992
- filterChip: za,
991
+ const Ga = "_filterChip_43db3_4", Ha = "_filterChip__icon_43db3_38", Ua = "_filterChip__chevron_43db3_44", Qa = "_filterChip__label_43db3_55", Ka = "_filterDropdown_43db3_62", Ya = "_filterDropdown__item_43db3_80", Xa = "_filterDropdown__check_43db3_106", Ja = "_filterDropdown__search_43db3_117", Za = "_filterDropdown__searchIcon_43db3_126", en = "_filterDropdown__searchInput_43db3_133", A = {
992
+ filterChip: Ga,
993
993
  "filterChip--active": "_filterChip--active_43db3_32",
994
- filterChip__icon: qa,
995
- filterChip__chevron: Wa,
994
+ filterChip__icon: Ha,
995
+ filterChip__chevron: Ua,
996
996
  "filterChip--open": "_filterChip--open_43db3_51",
997
- filterChip__label: Va,
998
- filterDropdown: Ga,
997
+ filterChip__label: Qa,
998
+ filterDropdown: Ka,
999
999
  "filterDropdown--open": "_filterDropdown--open_43db3_76",
1000
- filterDropdown__item: Ha,
1000
+ filterDropdown__item: Ya,
1001
1001
  "filterDropdown__item--selected": "_filterDropdown__item--selected_43db3_101",
1002
- filterDropdown__check: Ua,
1003
- filterDropdown__search: Ka,
1004
- filterDropdown__searchIcon: Qa,
1005
- filterDropdown__searchInput: Ya
1006
- }, ot = g.forwardRef(
1002
+ filterDropdown__check: Xa,
1003
+ filterDropdown__search: Ja,
1004
+ filterDropdown__searchIcon: Za,
1005
+ filterDropdown__searchInput: en
1006
+ }, _t = g.forwardRef(
1007
1007
  ({
1008
- label: a,
1008
+ label: t,
1009
1009
  options: n,
1010
- value: t,
1010
+ value: a,
1011
1011
  onChange: r,
1012
1012
  searchable: l = !0,
1013
- dataFilter: c,
1013
+ dataFilter: u,
1014
1014
  className: s
1015
- }, d) => {
1016
- const [i, u] = g.useState(!1), [o, f] = g.useState(""), v = g.useRef(null), w = (h) => {
1017
- typeof d == "function" ? d(h) : d && (d.current = h), v.current = h;
1018
- }, p = o ? n.filter((h) => h.toLowerCase().includes(o.toLowerCase())) : n, y = !!t;
1015
+ }, h) => {
1016
+ const [i, o] = g.useState(!1), [d, f] = g.useState(""), k = g.useRef(null), y = (c) => {
1017
+ typeof h == "function" ? h(c) : h && (h.current = c), k.current = c;
1018
+ }, p = d ? n.filter((c) => c.toLowerCase().includes(d.toLowerCase())) : n, w = !!a;
1019
1019
  return g.useEffect(() => {
1020
- function h(x) {
1021
- v.current && !v.current.contains(x.target) && (u(!1), f(""));
1020
+ function c(N) {
1021
+ k.current && !k.current.contains(N.target) && (o(!1), f(""));
1022
1022
  }
1023
1023
  if (i)
1024
- return document.addEventListener("click", h), () => document.removeEventListener("click", h);
1024
+ return document.addEventListener("click", c), () => document.removeEventListener("click", c);
1025
1025
  }, [i]), /* @__PURE__ */ m(
1026
1026
  "button",
1027
1027
  {
1028
- ref: w,
1028
+ ref: y,
1029
1029
  className: b(
1030
- $.filterChip,
1031
- { [$["filterChip--active"]]: y, [$["filterChip--open"]]: i },
1030
+ A.filterChip,
1031
+ { [A["filterChip--active"]]: w, [A["filterChip--open"]]: i },
1032
1032
  s
1033
1033
  ),
1034
- "data-filter": c,
1034
+ "data-filter": u,
1035
1035
  "aria-haspopup": "listbox",
1036
1036
  "aria-expanded": i,
1037
- onClick: (h) => {
1038
- const x = h.target;
1039
- x.closest(`.${$.filterDropdown__item}`) || x.closest(`.${$.filterDropdown__search}`) || u(!i);
1037
+ onClick: (c) => {
1038
+ const N = c.target;
1039
+ N.closest(`.${A.filterDropdown__item}`) || N.closest(`.${A.filterDropdown__search}`) || o(!i);
1040
1040
  },
1041
1041
  children: [
1042
- /* @__PURE__ */ e("svg", { className: $.filterChip__icon, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: /* @__PURE__ */ e("path", { d: "M22 3H2l8 9.46V19l4 2v-8.54L22 3z" }) }),
1043
- /* @__PURE__ */ e("span", { className: $.filterChip__label, children: t || a }),
1044
- /* @__PURE__ */ e("svg", { className: $.filterChip__chevron, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: /* @__PURE__ */ e("polyline", { points: "6 9 12 15 18 9" }) }),
1042
+ /* @__PURE__ */ e("svg", { className: A.filterChip__icon, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: /* @__PURE__ */ e("path", { d: "M22 3H2l8 9.46V19l4 2v-8.54L22 3z" }) }),
1043
+ /* @__PURE__ */ e("span", { className: A.filterChip__label, children: a || t }),
1044
+ /* @__PURE__ */ e("svg", { className: A.filterChip__chevron, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: /* @__PURE__ */ e("polyline", { points: "6 9 12 15 18 9" }) }),
1045
1045
  i && /* @__PURE__ */ m(
1046
1046
  "div",
1047
1047
  {
1048
- className: b($.filterDropdown, $["filterDropdown--open"]),
1048
+ className: b(A.filterDropdown, A["filterDropdown--open"]),
1049
1049
  role: "listbox",
1050
- "aria-label": `${a} filtern`,
1050
+ "aria-label": `${t} filtern`,
1051
1051
  children: [
1052
- l && /* @__PURE__ */ m("div", { className: $.filterDropdown__search, onClick: (h) => h.stopPropagation(), children: [
1053
- /* @__PURE__ */ m("svg", { className: $.filterDropdown__searchIcon, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: [
1052
+ l && /* @__PURE__ */ m("div", { className: A.filterDropdown__search, onClick: (c) => c.stopPropagation(), children: [
1053
+ /* @__PURE__ */ m("svg", { className: A.filterDropdown__searchIcon, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: [
1054
1054
  /* @__PURE__ */ e("circle", { cx: "11", cy: "11", r: "8" }),
1055
1055
  /* @__PURE__ */ e("line", { x1: "21", y1: "21", x2: "16.65", y2: "16.65" })
1056
1056
  ] }),
1057
1057
  /* @__PURE__ */ e(
1058
1058
  "input",
1059
1059
  {
1060
- className: $.filterDropdown__searchInput,
1060
+ className: A.filterDropdown__searchInput,
1061
1061
  type: "text",
1062
1062
  placeholder: "Suchen...",
1063
1063
  "aria-label": "Filteroptionen durchsuchen",
1064
- value: o,
1065
- onChange: (h) => f(h.target.value),
1066
- onClick: (h) => h.stopPropagation()
1064
+ value: d,
1065
+ onChange: (c) => f(c.target.value),
1066
+ onClick: (c) => c.stopPropagation()
1067
1067
  }
1068
1068
  )
1069
1069
  ] }),
@@ -1071,37 +1071,37 @@ const za = "_filterChip_43db3_4", qa = "_filterChip__icon_43db3_38", Wa = "_filt
1071
1071
  "div",
1072
1072
  {
1073
1073
  role: "option",
1074
- "aria-selected": !t,
1075
- className: b($.filterDropdown__item, {
1076
- [$["filterDropdown__item--selected"]]: !t
1074
+ "aria-selected": !a,
1075
+ className: b(A.filterDropdown__item, {
1076
+ [A["filterDropdown__item--selected"]]: !a
1077
1077
  }),
1078
- onClick: (h) => {
1079
- h.stopPropagation(), r?.(null), u(!1), f("");
1078
+ onClick: (c) => {
1079
+ c.stopPropagation(), r?.(null), o(!1), f("");
1080
1080
  },
1081
1081
  children: [
1082
- /* @__PURE__ */ e("svg", { className: $.filterDropdown__check, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: /* @__PURE__ */ e("polyline", { points: "20 6 9 17 4 12" }) }),
1082
+ /* @__PURE__ */ e("svg", { className: A.filterDropdown__check, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: /* @__PURE__ */ e("polyline", { points: "20 6 9 17 4 12" }) }),
1083
1083
  "Alle"
1084
1084
  ]
1085
1085
  }
1086
1086
  ),
1087
- p.map((h) => /* @__PURE__ */ m(
1087
+ p.map((c) => /* @__PURE__ */ m(
1088
1088
  "div",
1089
1089
  {
1090
1090
  role: "option",
1091
- "aria-selected": t === h,
1092
- className: b($.filterDropdown__item, {
1093
- [$["filterDropdown__item--selected"]]: t === h
1091
+ "aria-selected": a === c,
1092
+ className: b(A.filterDropdown__item, {
1093
+ [A["filterDropdown__item--selected"]]: a === c
1094
1094
  }),
1095
- "data-value": h,
1096
- onClick: (x) => {
1097
- x.stopPropagation(), r?.(h), u(!1), f("");
1095
+ "data-value": c,
1096
+ onClick: (N) => {
1097
+ N.stopPropagation(), r?.(c), o(!1), f("");
1098
1098
  },
1099
1099
  children: [
1100
- /* @__PURE__ */ e("svg", { className: $.filterDropdown__check, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: /* @__PURE__ */ e("polyline", { points: "20 6 9 17 4 12" }) }),
1101
- h
1100
+ /* @__PURE__ */ e("svg", { className: A.filterDropdown__check, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: /* @__PURE__ */ e("polyline", { points: "20 6 9 17 4 12" }) }),
1101
+ c
1102
1102
  ]
1103
1103
  },
1104
- h
1104
+ c
1105
1105
  ))
1106
1106
  ]
1107
1107
  }
@@ -1111,52 +1111,83 @@ const za = "_filterChip_43db3_4", qa = "_filterChip__icon_43db3_38", Wa = "_filt
1111
1111
  );
1112
1112
  }
1113
1113
  );
1114
- ot.displayName = "FilterChip";
1115
- const Xa = "_popover_jepnf_3", Ke = {
1116
- popover: Xa,
1114
+ _t.displayName = "FilterChip";
1115
+ const tn = "_popover_jepnf_3", Xe = {
1116
+ popover: tn,
1117
1117
  "popover--open": "_popover--open_jepnf_15"
1118
- }, ze = g.forwardRef(
1119
- ({ open: a, children: n, className: t, ...r }, l) => /* @__PURE__ */ e(
1120
- "div",
1121
- {
1122
- ref: l,
1123
- className: b(Ke.popover, { [Ke["popover--open"]]: a }, t),
1124
- role: "dialog",
1125
- ...r,
1126
- children: n
1127
- }
1128
- )
1118
+ }, qe = g.forwardRef(
1119
+ ({ open: t, anchorRef: n, align: a = "end", children: r, className: l, ...u }, s) => {
1120
+ const [h, i] = F(null), o = g.useRef(null), d = an(s, o), f = G(() => {
1121
+ const y = n?.current, p = o.current;
1122
+ if (!y || !p || !t) {
1123
+ i(null);
1124
+ return;
1125
+ }
1126
+ const w = y.getBoundingClientRect(), c = p.getBoundingClientRect();
1127
+ let N = w.bottom + 4, v = a === "end" ? w.right - c.width : w.left;
1128
+ const _ = 8;
1129
+ v + c.width > window.innerWidth - _ && (v = window.innerWidth - c.width - _), v < _ && (v = _), N + c.height > window.innerHeight - _ && (N = w.top - c.height - 4), i({ top: N, left: v });
1130
+ }, [n, a, t]);
1131
+ Ft(() => {
1132
+ if (t)
1133
+ return f(), window.addEventListener("resize", f), window.addEventListener("scroll", f, !0), () => {
1134
+ window.removeEventListener("resize", f), window.removeEventListener("scroll", f, !0);
1135
+ };
1136
+ }, [t, f]);
1137
+ const k = h && n ? { top: h.top, left: h.left } : void 0;
1138
+ return /* @__PURE__ */ e(
1139
+ "div",
1140
+ {
1141
+ ref: d,
1142
+ className: b(Xe.popover, { [Xe["popover--open"]]: t }, l),
1143
+ style: k,
1144
+ role: "dialog",
1145
+ ...u,
1146
+ children: r
1147
+ }
1148
+ );
1149
+ }
1129
1150
  );
1130
- ze.displayName = "Popover";
1131
- const Ja = "_checkbox_shqzk_3", Za = "_checkbox__input_shqzk_13", en = "_checkbox__box_shqzk_23", tn = "_checkbox__icon_shqzk_40", an = "_checkbox__label_shqzk_60", ae = {
1132
- checkbox: Ja,
1133
- checkbox__input: Za,
1134
- checkbox__box: en,
1151
+ qe.displayName = "Popover";
1152
+ function an(...t) {
1153
+ return G(
1154
+ (n) => {
1155
+ for (const a of t)
1156
+ typeof a == "function" ? a(n) : a && typeof a == "object" && (a.current = n);
1157
+ },
1158
+ // eslint-disable-next-line react-hooks/exhaustive-deps
1159
+ t
1160
+ );
1161
+ }
1162
+ const nn = "_checkbox_shqzk_3", rn = "_checkbox__input_shqzk_13", sn = "_checkbox__box_shqzk_23", ln = "_checkbox__icon_shqzk_40", on = "_checkbox__label_shqzk_60", se = {
1163
+ checkbox: nn,
1164
+ checkbox__input: rn,
1165
+ checkbox__box: sn,
1135
1166
  "checkbox--checked": "_checkbox--checked_shqzk_35",
1136
- checkbox__icon: tn,
1137
- checkbox__label: an
1138
- }, ct = g.forwardRef(
1139
- ({ checked: a, onChange: n, label: t, id: r, className: l }, c) => /* @__PURE__ */ m(
1167
+ checkbox__icon: ln,
1168
+ checkbox__label: on
1169
+ }, ut = g.forwardRef(
1170
+ ({ checked: t, onChange: n, label: a, id: r, className: l }, u) => /* @__PURE__ */ m(
1140
1171
  "label",
1141
1172
  {
1142
- ref: c,
1143
- className: b(ae.checkbox, { [ae["checkbox--checked"]]: a }, l),
1173
+ ref: u,
1174
+ className: b(se.checkbox, { [se["checkbox--checked"]]: t }, l),
1144
1175
  htmlFor: r,
1145
1176
  children: [
1146
1177
  /* @__PURE__ */ e(
1147
1178
  "input",
1148
1179
  {
1149
- className: ae.checkbox__input,
1180
+ className: se.checkbox__input,
1150
1181
  type: "checkbox",
1151
1182
  id: r,
1152
- checked: a,
1183
+ checked: t,
1153
1184
  onChange: (s) => n?.(s.target.checked)
1154
1185
  }
1155
1186
  ),
1156
- /* @__PURE__ */ e("span", { className: ae.checkbox__box, children: /* @__PURE__ */ e(
1187
+ /* @__PURE__ */ e("span", { className: se.checkbox__box, children: /* @__PURE__ */ e(
1157
1188
  "svg",
1158
1189
  {
1159
- className: ae.checkbox__icon,
1190
+ className: se.checkbox__icon,
1160
1191
  viewBox: "0 0 24 24",
1161
1192
  fill: "none",
1162
1193
  stroke: "currentColor",
@@ -1167,123 +1198,220 @@ const Ja = "_checkbox_shqzk_3", Za = "_checkbox__input_shqzk_13", en = "_checkbo
1167
1198
  children: /* @__PURE__ */ e("polyline", { points: "20 6 9 17 4 12" })
1168
1199
  }
1169
1200
  ) }),
1170
- t && /* @__PURE__ */ e("span", { className: ae.checkbox__label, children: t })
1201
+ a && /* @__PURE__ */ e("span", { className: se.checkbox__label, children: a })
1171
1202
  ]
1172
1203
  }
1173
1204
  )
1174
1205
  );
1175
- ct.displayName = "Checkbox";
1176
- const nn = "_formField_v7ze9_3", rn = "_formField__label_v7ze9_9", sn = "_formField__error_v7ze9_19", Se = {
1177
- formField: nn,
1178
- formField__label: rn,
1179
- formField__error: sn
1180
- }, z = g.forwardRef(
1181
- ({ label: a, htmlFor: n, error: t, children: r, className: l }, c) => /* @__PURE__ */ m("div", { ref: c, className: b(Se.formField, l), children: [
1182
- /* @__PURE__ */ e("label", { className: Se.formField__label, htmlFor: n, children: a }),
1206
+ ut.displayName = "Checkbox";
1207
+ const cn = "_formField_v7ze9_3", dn = "_formField__label_v7ze9_9", _n = "_formField__error_v7ze9_19", De = {
1208
+ formField: cn,
1209
+ formField__label: dn,
1210
+ formField__error: _n
1211
+ }, V = g.forwardRef(
1212
+ ({ label: t, htmlFor: n, error: a, children: r, className: l }, u) => /* @__PURE__ */ m("div", { ref: u, className: b(De.formField, l), children: [
1213
+ /* @__PURE__ */ e("label", { className: De.formField__label, htmlFor: n, children: t }),
1183
1214
  r,
1184
- t && /* @__PURE__ */ e("span", { className: Se.formField__error, role: "alert", children: t })
1215
+ a && /* @__PURE__ */ e("span", { className: De.formField__error, role: "alert", children: a })
1185
1216
  ] })
1186
1217
  );
1187
- z.displayName = "FormField";
1188
- const ln = "_textInput_ix759_3", on = {
1189
- textInput: ln
1190
- }, Re = g.forwardRef(
1191
- ({ value: a, onChange: n, className: t, type: r = "text", ...l }, c) => /* @__PURE__ */ e(
1218
+ V.displayName = "FormField";
1219
+ const un = "_textInput_ix759_3", hn = {
1220
+ textInput: un
1221
+ }, Ae = g.forwardRef(
1222
+ ({ value: t, onChange: n, className: a, type: r = "text", ...l }, u) => /* @__PURE__ */ e(
1192
1223
  "input",
1193
1224
  {
1194
- ref: c,
1225
+ ref: u,
1195
1226
  type: r,
1196
- className: b(on.textInput, t),
1197
- value: a,
1227
+ className: b(hn.textInput, a),
1228
+ value: t,
1198
1229
  onChange: (s) => n?.(s.target.value),
1199
1230
  ...l
1200
1231
  }
1201
1232
  )
1202
1233
  );
1203
- Re.displayName = "TextInput";
1204
- const cn = "_select_6527a_3", dn = {
1205
- select: cn
1206
- }, re = g.forwardRef(
1207
- ({ options: a, value: n, onChange: t, placeholder: r, className: l, ...c }, s) => /* @__PURE__ */ m(
1208
- "select",
1209
- {
1210
- ref: s,
1211
- className: b(dn.select, l),
1212
- value: n,
1213
- onChange: (d) => t?.(d.target.value),
1214
- ...c,
1215
- children: [
1216
- r && /* @__PURE__ */ e("option", { value: "", children: r }),
1217
- a.map((d) => /* @__PURE__ */ e("option", { value: d.value, children: d.label }, d.value))
1218
- ]
1219
- }
1220
- )
1234
+ Ae.displayName = "TextInput";
1235
+ const mn = "_select_sbg8z_4", pn = "_select__label_sbg8z_41", fn = "_select__placeholder_sbg8z_49", gn = "_select__chevron_sbg8z_53", bn = "_dropdown_sbg8z_66", vn = "_dropdown__item_sbg8z_80", wn = "_dropdown__check_sbg8z_106", q = {
1236
+ select: mn,
1237
+ "select--open": "_select--open_sbg8z_30",
1238
+ "select--disabled": "_select--disabled_sbg8z_35",
1239
+ select__label: pn,
1240
+ select__placeholder: fn,
1241
+ select__chevron: gn,
1242
+ dropdown: bn,
1243
+ dropdown__item: vn,
1244
+ "dropdown__item--selected": "_dropdown__item--selected_sbg8z_101",
1245
+ dropdown__check: wn
1246
+ }, ie = g.forwardRef(
1247
+ ({ options: t, value: n, onChange: a, placeholder: r, disabled: l, className: u, id: s, "aria-label": h }, i) => {
1248
+ const [o, d] = g.useState(!1), f = g.useRef(null), k = (c) => {
1249
+ typeof i == "function" ? i(c) : i && (i.current = c), f.current = c;
1250
+ }, y = t.find((c) => c.value === n), p = y?.label ?? r, w = !y && !!r;
1251
+ return g.useEffect(() => {
1252
+ function c(N) {
1253
+ f.current && !f.current.contains(N.target) && d(!1);
1254
+ }
1255
+ if (o)
1256
+ return document.addEventListener("click", c), () => document.removeEventListener("click", c);
1257
+ }, [o]), g.useEffect(() => {
1258
+ function c(N) {
1259
+ o && N.key === "Escape" && (d(!1), f.current?.focus());
1260
+ }
1261
+ return document.addEventListener("keydown", c), () => document.removeEventListener("keydown", c);
1262
+ }, [o]), /* @__PURE__ */ m(
1263
+ "button",
1264
+ {
1265
+ ref: k,
1266
+ id: s,
1267
+ type: "button",
1268
+ role: "combobox",
1269
+ "aria-label": h,
1270
+ "aria-haspopup": "listbox",
1271
+ "aria-expanded": o,
1272
+ disabled: l,
1273
+ className: b(
1274
+ q.select,
1275
+ {
1276
+ [q["select--open"]]: o,
1277
+ [q["select--disabled"]]: l
1278
+ },
1279
+ u
1280
+ ),
1281
+ onClick: () => !l && d(!o),
1282
+ children: [
1283
+ /* @__PURE__ */ e(
1284
+ "span",
1285
+ {
1286
+ className: b(q.select__label, {
1287
+ [q.select__placeholder]: w
1288
+ }),
1289
+ children: p || " "
1290
+ }
1291
+ ),
1292
+ /* @__PURE__ */ e(
1293
+ "svg",
1294
+ {
1295
+ className: q.select__chevron,
1296
+ viewBox: "0 0 24 24",
1297
+ fill: "none",
1298
+ stroke: "currentColor",
1299
+ strokeWidth: "2",
1300
+ strokeLinecap: "round",
1301
+ strokeLinejoin: "round",
1302
+ "aria-hidden": "true",
1303
+ children: /* @__PURE__ */ e("polyline", { points: "6 9 12 15 18 9" })
1304
+ }
1305
+ ),
1306
+ o && /* @__PURE__ */ e(
1307
+ "div",
1308
+ {
1309
+ className: q.dropdown,
1310
+ role: "listbox",
1311
+ "aria-label": h ?? r ?? "Auswahl",
1312
+ children: t.map((c) => /* @__PURE__ */ m(
1313
+ "div",
1314
+ {
1315
+ role: "option",
1316
+ "aria-selected": n === c.value,
1317
+ className: b(q.dropdown__item, {
1318
+ [q["dropdown__item--selected"]]: n === c.value
1319
+ }),
1320
+ onClick: (N) => {
1321
+ N.stopPropagation(), a?.(c.value), d(!1);
1322
+ },
1323
+ children: [
1324
+ /* @__PURE__ */ e(
1325
+ "svg",
1326
+ {
1327
+ className: q.dropdown__check,
1328
+ viewBox: "0 0 24 24",
1329
+ fill: "none",
1330
+ stroke: "currentColor",
1331
+ strokeWidth: "2.5",
1332
+ strokeLinecap: "round",
1333
+ strokeLinejoin: "round",
1334
+ "aria-hidden": "true",
1335
+ children: /* @__PURE__ */ e("polyline", { points: "20 6 9 17 4 12" })
1336
+ }
1337
+ ),
1338
+ c.label
1339
+ ]
1340
+ },
1341
+ c.value
1342
+ ))
1343
+ }
1344
+ )
1345
+ ]
1346
+ }
1347
+ );
1348
+ }
1221
1349
  );
1222
- re.displayName = "Select";
1223
- const _n = "_textArea_kwln7_3", un = {
1224
- textArea: _n
1225
- }, dt = g.forwardRef(
1226
- ({ value: a, onChange: n, className: t, ...r }, l) => /* @__PURE__ */ e(
1350
+ ie.displayName = "Select";
1351
+ const yn = "_textArea_kwln7_3", kn = {
1352
+ textArea: yn
1353
+ }, ht = g.forwardRef(
1354
+ ({ value: t, onChange: n, className: a, ...r }, l) => /* @__PURE__ */ e(
1227
1355
  "textarea",
1228
1356
  {
1229
1357
  ref: l,
1230
- className: b(un.textArea, t),
1231
- value: a,
1232
- onChange: (c) => n?.(c.target.value),
1358
+ className: b(kn.textArea, a),
1359
+ value: t,
1360
+ onChange: (u) => n?.(u.target.value),
1233
1361
  ...r
1234
1362
  }
1235
1363
  )
1236
1364
  );
1237
- dt.displayName = "TextArea";
1238
- const hn = "_overlay_1wnad_4", mn = "_content_1wnad_25", pn = "_header_1wnad_46", fn = "_header__title_1wnad_55", bn = "_body_1wnad_65", gn = "_footer_1wnad_85", vn = "_icon_1wnad_96", U = {
1239
- overlay: hn,
1365
+ ht.displayName = "TextArea";
1366
+ const Nn = "_overlay_1wnad_4", xn = "_content_1wnad_25", Cn = "_header_1wnad_46", Sn = "_header__title_1wnad_55", Dn = "_body_1wnad_65", In = "_footer_1wnad_85", Ln = "_icon_1wnad_96", Y = {
1367
+ overlay: Nn,
1240
1368
  "overlay--active": "_overlay--active_1wnad_19",
1241
- content: mn,
1242
- header: pn,
1243
- header__title: fn,
1244
- body: bn,
1245
- footer: gn,
1246
- icon: vn
1247
- }, _t = g.forwardRef(
1248
- ({ isOpen: a, onClose: n, title: t, footer: r, children: l, className: c, ...s }, d) => {
1249
- if (je(() => {
1250
- const u = (o) => {
1251
- o.key === "Escape" && a && n();
1369
+ content: xn,
1370
+ header: Cn,
1371
+ header__title: Sn,
1372
+ body: Dn,
1373
+ footer: In,
1374
+ icon: Ln
1375
+ }, mt = g.forwardRef(
1376
+ ({ isOpen: t, onClose: n, title: a, footer: r, children: l, className: u, ...s }, h) => {
1377
+ if (Be(() => {
1378
+ const o = (d) => {
1379
+ d.key === "Escape" && t && n();
1252
1380
  };
1253
- return document.addEventListener("keydown", u), () => document.removeEventListener("keydown", u);
1254
- }, [a, n]), !a) return null;
1255
- const i = (u) => {
1256
- u.target === u.currentTarget && n();
1381
+ return document.addEventListener("keydown", o), () => document.removeEventListener("keydown", o);
1382
+ }, [t, n]), !t) return null;
1383
+ const i = (o) => {
1384
+ o.target === o.currentTarget && n();
1257
1385
  };
1258
1386
  return /* @__PURE__ */ e(
1259
1387
  "div",
1260
1388
  {
1261
- ref: d,
1262
- className: b(U.overlay, { [U["overlay--active"]]: a }, c),
1389
+ ref: h,
1390
+ className: b(Y.overlay, { [Y["overlay--active"]]: t }, u),
1263
1391
  onClick: i,
1264
1392
  role: "dialog",
1265
1393
  "aria-modal": "true",
1266
- "aria-labelledby": t ? "modal-title" : void 0,
1394
+ "aria-labelledby": a ? "modal-title" : void 0,
1267
1395
  ...s,
1268
- children: /* @__PURE__ */ m("div", { className: U.content, children: [
1269
- t && /* @__PURE__ */ m("header", { className: U.header, children: [
1270
- /* @__PURE__ */ e("h2", { className: U.header__title, id: "modal-title", children: t }),
1271
- /* @__PURE__ */ e(W, { variant: "ghost", onClick: n, "aria-label": "Schließen", children: /* @__PURE__ */ e("svg", { className: U.icon, viewBox: "0 0 24 24", children: /* @__PURE__ */ e("path", { d: "M18 6 6 18M6 6l12 12" }) }) })
1396
+ children: /* @__PURE__ */ m("div", { className: Y.content, children: [
1397
+ a && /* @__PURE__ */ m("header", { className: Y.header, children: [
1398
+ /* @__PURE__ */ e("h2", { className: Y.header__title, id: "modal-title", children: a }),
1399
+ /* @__PURE__ */ e(H, { variant: "ghost", onClick: n, "aria-label": "Schließen", children: /* @__PURE__ */ e("svg", { className: Y.icon, viewBox: "0 0 24 24", children: /* @__PURE__ */ e("path", { d: "M18 6 6 18M6 6l12 12" }) }) })
1272
1400
  ] }),
1273
- /* @__PURE__ */ e("div", { className: U.body, children: l }),
1274
- r && /* @__PURE__ */ e("footer", { className: U.footer, children: r })
1401
+ /* @__PURE__ */ e("div", { className: Y.body, children: l }),
1402
+ r && /* @__PURE__ */ e("footer", { className: Y.footer, children: r })
1275
1403
  ] })
1276
1404
  }
1277
1405
  );
1278
1406
  }
1279
1407
  );
1280
- _t.displayName = "Modal";
1281
- const yn = "_dashboard_avuww_4", wn = "_sectionTitle_avuww_18", kn = "_statusLegend_avuww_27", Nn = "_projectList_avuww_34", oe = {
1282
- dashboard: yn,
1283
- sectionTitle: wn,
1284
- statusLegend: kn,
1285
- projectList: Nn
1286
- }, xn = [
1408
+ mt.displayName = "Modal";
1409
+ const Rn = "_dashboard_avuww_4", Pn = "_sectionTitle_avuww_18", An = "_statusLegend_avuww_27", jn = "_projectList_avuww_34", _e = {
1410
+ dashboard: Rn,
1411
+ sectionTitle: Pn,
1412
+ statusLegend: An,
1413
+ projectList: jn
1414
+ }, Bn = [
1287
1415
  { id: "1", name: "E-Commerce Relaunch", client: "Müller GmbH", app: "Shopify CMS", status: "neu", favorite: !1, createdAt: "12.02.2026", updatedAt: (/* @__PURE__ */ new Date()).toISOString() },
1288
1416
  { id: "2", name: "CRM Integration MVP", client: "TechCorp Inc.", app: "Salesforce API", status: "offen", favorite: !0, createdAt: "15.01.2026", updatedAt: new Date(Date.now() - 2880 * 60 * 1e3).toISOString() },
1289
1417
  { id: "3", name: "Data Analytics Dashboard", client: "DataViz AG", app: "React / Supabase", status: "in-prufung", favorite: !1, createdAt: "20.02.2026", updatedAt: new Date(Date.now() - 10080 * 60 * 1e3).toISOString() },
@@ -1310,23 +1438,23 @@ const yn = "_dashboard_avuww_4", wn = "_sectionTitle_avuww_18", kn = "_statusLeg
1310
1438
  createdAt: "05.01.2026",
1311
1439
  updatedAt: (/* @__PURE__ */ new Date()).toISOString()
1312
1440
  }
1313
- ], Cn = [
1441
+ ], $n = [
1314
1442
  { status: "alle", label: "Alle" },
1315
1443
  { status: "neu", label: "Neu" },
1316
1444
  { status: "offen", label: "Offen" },
1317
1445
  { status: "in-prufung", label: "In Prüfung" },
1318
1446
  { status: "validierung", label: "Validierung" },
1319
1447
  { status: "abgeschlossen", label: "Abgeschlossen" }
1320
- ], Sn = {
1448
+ ], Fn = {
1321
1449
  neu: "Neu",
1322
1450
  offen: "Offen",
1323
1451
  "in-prufung": "In Prüfung",
1324
1452
  validierung: "Validierung",
1325
1453
  abgeschlossen: "Abgeschlossen"
1326
- }, Dn = g.forwardRef(
1327
- ({ initialRows: a = xn, className: n, ...t }, r) => {
1328
- const [l, c] = E(a), [s, d] = E("alle"), [i, u] = E(""), o = ee(() => {
1329
- const h = {
1454
+ }, En = g.forwardRef(
1455
+ ({ initialRows: t = Bn, className: n, ...a }, r) => {
1456
+ const [l, u] = F(t), [s, h] = F("alle"), [i, o] = F(""), d = ae(() => {
1457
+ const c = {
1330
1458
  alle: l.length,
1331
1459
  neu: 0,
1332
1460
  offen: 0,
@@ -1334,69 +1462,69 @@ const yn = "_dashboard_avuww_4", wn = "_sectionTitle_avuww_18", kn = "_statusLeg
1334
1462
  validierung: 0,
1335
1463
  abgeschlossen: 0
1336
1464
  };
1337
- return l.forEach((x) => {
1338
- h[x.status]++;
1339
- }), h;
1340
- }, [l]), f = ee(() => {
1341
- let h = l;
1342
- if (s !== "alle" && (h = h.filter((x) => x.status === s)), i.trim() !== "") {
1343
- const x = i.toLowerCase().trim();
1344
- h = h.filter(
1345
- (k) => k.name.toLowerCase().includes(x) || k.client.toLowerCase().includes(x) || k.app.toLowerCase().includes(x)
1465
+ return l.forEach((N) => {
1466
+ c[N.status]++;
1467
+ }), c;
1468
+ }, [l]), f = ae(() => {
1469
+ let c = l;
1470
+ if (s !== "alle" && (c = c.filter((N) => N.status === s)), i.trim() !== "") {
1471
+ const N = i.toLowerCase().trim();
1472
+ c = c.filter(
1473
+ (v) => v.name.toLowerCase().includes(N) || v.client.toLowerCase().includes(N) || v.app.toLowerCase().includes(N)
1346
1474
  );
1347
1475
  }
1348
- return s === "alle" && (h = [...h].sort((x, k) => Number(k.favorite) - Number(x.favorite))), h;
1349
- }, [l, s, i]), v = s === "alle" ? "Alle Projekte" : `Projekte: ${Sn[s]}`, w = (h, x) => {
1350
- c((k) => k.map((_) => _.id === h ? { ..._, favorite: x } : _));
1351
- }, p = ee(() => [
1352
- { status: "neu", label: "Neu", value: o.neu, color: "var(--status-neu)" },
1353
- { status: "offen", label: "Offen", value: o.offen, color: "var(--status-offen)" },
1354
- { status: "in-prufung", label: "In Prüfung", value: o["in-prufung"], color: "var(--status-in-prufung)" },
1355
- { status: "validierung", label: "Validierung", value: o.validierung, color: "var(--status-validierung)" },
1356
- { status: "abgeschlossen", label: "Abgeschlossen", value: o.abgeschlossen, color: "var(--status-abgeschlossen)" }
1357
- ], [o]), y = (h) => {
1358
- d(h);
1476
+ return s === "alle" && (c = [...c].sort((N, v) => Number(v.favorite) - Number(N.favorite))), c;
1477
+ }, [l, s, i]), k = s === "alle" ? "Alle Projekte" : `Projekte: ${Fn[s]}`, y = (c, N) => {
1478
+ u((v) => v.map((_) => _.id === c ? { ..._, favorite: N } : _));
1479
+ }, p = ae(() => [
1480
+ { status: "neu", label: "Neu", value: d.neu, color: "var(--status-neu)" },
1481
+ { status: "offen", label: "Offen", value: d.offen, color: "var(--status-offen)" },
1482
+ { status: "in-prufung", label: "In Prüfung", value: d["in-prufung"], color: "var(--status-in-prufung)" },
1483
+ { status: "validierung", label: "Validierung", value: d.validierung, color: "var(--status-validierung)" },
1484
+ { status: "abgeschlossen", label: "Abgeschlossen", value: d.abgeschlossen, color: "var(--status-abgeschlossen)" }
1485
+ ], [d]), w = (c) => {
1486
+ h(c);
1359
1487
  };
1360
1488
  return /* @__PURE__ */ m(
1361
1489
  "main",
1362
1490
  {
1363
1491
  ref: r,
1364
- className: b(oe.dashboard, n),
1365
- ...t,
1492
+ className: b(_e.dashboard, n),
1493
+ ...a,
1366
1494
  children: [
1367
1495
  /* @__PURE__ */ m(
1368
- fe,
1496
+ ge,
1369
1497
  {
1370
1498
  as: "section",
1371
1499
  variant: "full",
1372
1500
  padded: !0,
1373
1501
  "aria-label": "Projektstatus Übersicht",
1374
- className: oe.statusOverview,
1502
+ className: _e.statusOverview,
1375
1503
  children: [
1376
- /* @__PURE__ */ e("h1", { className: oe.sectionTitle, children: "Projekte" }),
1504
+ /* @__PURE__ */ e("h1", { className: _e.sectionTitle, children: "Projekte" }),
1377
1505
  /* @__PURE__ */ e(
1378
- nt,
1506
+ lt,
1379
1507
  {
1380
1508
  data: p,
1381
- onSegmentClick: y
1509
+ onSegmentClick: w
1382
1510
  }
1383
1511
  ),
1384
1512
  /* @__PURE__ */ e(
1385
1513
  "div",
1386
1514
  {
1387
- className: oe.statusLegend,
1515
+ className: _e.statusLegend,
1388
1516
  role: "listbox",
1389
1517
  "aria-label": "Nach Status filtern",
1390
- children: Cn.map(({ status: h, label: x }) => /* @__PURE__ */ e(
1391
- at,
1518
+ children: $n.map(({ status: c, label: N }) => /* @__PURE__ */ e(
1519
+ st,
1392
1520
  {
1393
- status: h,
1394
- label: x,
1395
- count: o[h],
1396
- active: s === h,
1397
- onClick: () => d(h)
1521
+ status: c,
1522
+ label: N,
1523
+ count: d[c],
1524
+ active: s === c,
1525
+ onClick: () => h(c)
1398
1526
  },
1399
- h
1527
+ c
1400
1528
  ))
1401
1529
  }
1402
1530
  )
@@ -1404,24 +1532,24 @@ const yn = "_dashboard_avuww_4", wn = "_sectionTitle_avuww_18", kn = "_statusLeg
1404
1532
  }
1405
1533
  ),
1406
1534
  /* @__PURE__ */ e(
1407
- fe,
1535
+ ge,
1408
1536
  {
1409
1537
  as: "section",
1410
1538
  variant: "full",
1411
1539
  "aria-label": "Projektliste",
1412
- className: oe.projectList,
1413
- title: v,
1540
+ className: _e.projectList,
1541
+ title: k,
1414
1542
  headerAction: /* @__PURE__ */ e(
1415
- Ee,
1543
+ Oe,
1416
1544
  {
1417
1545
  value: i,
1418
- onChange: u,
1546
+ onChange: o,
1419
1547
  placeholder: "Projekte durchsuchen...",
1420
1548
  "aria-label": "Projekte durchsuchen"
1421
1549
  }
1422
1550
  ),
1423
- children: f.length > 0 ? /* @__PURE__ */ e(rt, { rows: f, onToggleFavorite: w }) : /* @__PURE__ */ e(
1424
- Oe,
1551
+ children: f.length > 0 ? /* @__PURE__ */ e(it, { rows: f, onToggleFavorite: y }) : /* @__PURE__ */ e(
1552
+ ze,
1425
1553
  {
1426
1554
  title: "Keine Projekte gefunden",
1427
1555
  text: i ? `Keine Ergebnisse für „${i}"` : void 0
@@ -1434,56 +1562,56 @@ const yn = "_dashboard_avuww_4", wn = "_sectionTitle_avuww_18", kn = "_statusLeg
1434
1562
  );
1435
1563
  }
1436
1564
  );
1437
- Dn.displayName = "DashboardPage";
1438
- const In = "_taskItem_77jzk_4", Ln = "_taskItem__content_77jzk_14", An = "_taskItem__titleGroup_77jzk_21", Rn = "_taskItem__title_77jzk_21", $n = "_taskItem__meta_77jzk_41", jn = "_metaUser_77jzk_52", Fn = "_metaProject_77jzk_58", Bn = "_taskItem__deadline_77jzk_76", Tn = "_taskItem__actions_77jzk_95", P = {
1439
- taskItem: In,
1440
- taskItem__content: Ln,
1441
- taskItem__titleGroup: An,
1442
- taskItem__title: Rn,
1443
- taskItem__meta: $n,
1444
- metaUser: jn,
1445
- metaProject: Fn,
1565
+ En.displayName = "DashboardPage";
1566
+ const Tn = "_taskItem_77jzk_4", On = "_taskItem__content_77jzk_14", zn = "_taskItem__titleGroup_77jzk_21", Mn = "_taskItem__title_77jzk_21", qn = "_taskItem__meta_77jzk_41", Wn = "_metaUser_77jzk_52", Vn = "_metaProject_77jzk_58", Gn = "_taskItem__deadline_77jzk_76", Hn = "_taskItem__actions_77jzk_95", z = {
1567
+ taskItem: Tn,
1568
+ taskItem__content: On,
1569
+ taskItem__titleGroup: zn,
1570
+ taskItem__title: Mn,
1571
+ taskItem__meta: qn,
1572
+ metaUser: Wn,
1573
+ metaProject: Vn,
1446
1574
  "icon-sm": "_icon-sm_77jzk_71",
1447
- taskItem__deadline: Bn,
1575
+ taskItem__deadline: Gn,
1448
1576
  "deadline-urgent": "_deadline-urgent_77jzk_85",
1449
1577
  "deadline-normal": "_deadline-normal_77jzk_90",
1450
- taskItem__actions: Tn
1451
- }, Pn = [
1578
+ taskItem__actions: Hn
1579
+ }, Un = [
1452
1580
  { value: "Offen", label: "Offen" },
1453
1581
  { value: "In Arbeit", label: "In Arbeit" },
1454
1582
  { value: "Erledigt", label: "Erledigt" }
1455
- ], ut = g.forwardRef(
1456
- ({ title: a, project: n, projectLabel: t, status: r, deadline: l, deadlineType: c = "normal", priority: s, assignees: d, description: i, onClick: u, onStatusChange: o, className: f, ...v }, w) => {
1457
- const p = (y) => {
1458
- y.stopPropagation();
1583
+ ], pt = g.forwardRef(
1584
+ ({ title: t, project: n, projectLabel: a, status: r, deadline: l, deadlineType: u = "normal", priority: s, assignees: h, description: i, onClick: o, onStatusChange: d, className: f, ...k }, y) => {
1585
+ const p = (w) => {
1586
+ w.stopPropagation();
1459
1587
  };
1460
1588
  return /* @__PURE__ */ m(
1461
- Be,
1589
+ Fe,
1462
1590
  {
1463
- ref: w,
1591
+ ref: y,
1464
1592
  as: "article",
1465
- onClick: u,
1466
- className: b(P.taskItem, f),
1467
- ...v,
1593
+ onClick: o,
1594
+ className: b(z.taskItem, f),
1595
+ ...k,
1468
1596
  children: [
1469
- /* @__PURE__ */ m("div", { className: P.taskItem__content, children: [
1470
- /* @__PURE__ */ e("div", { className: P.taskItem__titleGroup, children: /* @__PURE__ */ e("h3", { className: P.taskItem__title, children: a }) }),
1471
- /* @__PURE__ */ m("div", { className: P.taskItem__meta, children: [
1472
- d.length > 0 && /* @__PURE__ */ e("div", { className: P.metaUser, children: /* @__PURE__ */ e(Te, { children: d.map((y, h) => /* @__PURE__ */ e(ce, { initials: y.initials, name: y.name }, h)) }) }),
1473
- /* @__PURE__ */ m("div", { className: P.metaProject, "aria-label": `Projekt: ${t || n}`, children: [
1474
- /* @__PURE__ */ e("svg", { className: P["icon-sm"], viewBox: "0 0 24 24", children: /* @__PURE__ */ e("path", { d: "M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z" }) }),
1475
- t || n
1597
+ /* @__PURE__ */ m("div", { className: z.taskItem__content, children: [
1598
+ /* @__PURE__ */ e("div", { className: z.taskItem__titleGroup, children: /* @__PURE__ */ e("h3", { className: z.taskItem__title, children: t }) }),
1599
+ /* @__PURE__ */ m("div", { className: z.taskItem__meta, children: [
1600
+ h.length > 0 && /* @__PURE__ */ e("div", { className: z.metaUser, children: /* @__PURE__ */ e(Ee, { children: h.map((w, c) => /* @__PURE__ */ e(ue, { initials: w.initials, name: w.name }, c)) }) }),
1601
+ /* @__PURE__ */ m("div", { className: z.metaProject, "aria-label": `Projekt: ${a || n}`, children: [
1602
+ /* @__PURE__ */ e("svg", { className: z["icon-sm"], viewBox: "0 0 24 24", children: /* @__PURE__ */ e("path", { d: "M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z" }) }),
1603
+ a || n
1476
1604
  ] }),
1477
- s && s !== "low" && /* @__PURE__ */ e(Pe, { level: s, size: "small" })
1605
+ s && s !== "low" && /* @__PURE__ */ e(Te, { level: s, size: "small" })
1478
1606
  ] })
1479
1607
  ] }),
1480
- /* @__PURE__ */ e("div", { className: b(P.taskItem__deadline, P[`deadline-${c}`]), children: l }),
1481
- /* @__PURE__ */ e("div", { className: P.taskItem__actions, onClick: p, children: /* @__PURE__ */ e(
1482
- st,
1608
+ /* @__PURE__ */ e("div", { className: b(z.taskItem__deadline, z[`deadline-${u}`]), children: l }),
1609
+ /* @__PURE__ */ e("div", { className: z.taskItem__actions, onClick: p, children: /* @__PURE__ */ e(
1610
+ ot,
1483
1611
  {
1484
- options: Pn,
1612
+ options: Un,
1485
1613
  value: r,
1486
- onChange: o
1614
+ onChange: d
1487
1615
  }
1488
1616
  ) })
1489
1617
  ]
@@ -1491,8 +1619,8 @@ const In = "_taskItem_77jzk_4", Ln = "_taskItem__content_77jzk_14", An = "_taskI
1491
1619
  );
1492
1620
  }
1493
1621
  );
1494
- ut.displayName = "TaskItem";
1495
- const S = {
1622
+ pt.displayName = "TaskItem";
1623
+ const P = {
1496
1624
  "view-group": "_view-group_1lp4x_4",
1497
1625
  "view-label": "_view-label_1lp4x_10",
1498
1626
  "view-badge-row": "_view-badge-row_1lp4x_20",
@@ -1506,192 +1634,192 @@ const S = {
1506
1634
  "add-checklist-btn": "_add-checklist-btn_1lp4x_73",
1507
1635
  "icon-pencil": "_icon-pencil_1lp4x_79",
1508
1636
  "icon-sm": "_icon-sm_1lp4x_85"
1509
- }, Qe = [
1637
+ }, Je = [
1510
1638
  { value: "Q1", label: "Q1 Roadmap" },
1511
1639
  { value: "FR", label: "Frontend Relaunch" },
1512
1640
  { value: "UR", label: "User Research" }
1513
- ], En = [
1641
+ ], Qn = [
1514
1642
  { value: "Offen", label: "Offen" },
1515
1643
  { value: "In Arbeit", label: "In Arbeit" },
1516
1644
  { value: "Erledigt", label: "Erledigt" }
1517
- ], On = [
1645
+ ], Kn = [
1518
1646
  { value: "", label: "Keine" },
1519
1647
  { value: "high", label: "Hoch (!!)" },
1520
1648
  { value: "medium", label: "Medium (!)" },
1521
1649
  { value: "low", label: "Niedrig" }
1522
- ], ht = [
1650
+ ], ft = [
1523
1651
  { initials: "FV", name: "Fabian Venmann" },
1524
1652
  { initials: "LV", name: "Luca Vitiello" },
1525
1653
  { initials: "AS", name: "Anna Schmidt" }
1526
- ], Mn = ht.map((a) => ({
1527
- value: a.initials.toLowerCase(),
1528
- label: a.name
1529
- })), mt = g.forwardRef(
1530
- ({ isOpen: a, onClose: n, task: t, onSave: r, initialMode: l = "view", className: c, ...s }, d) => {
1531
- const [i, u] = E(l), [o, f] = E(null);
1532
- if (je(() => {
1533
- a && t && (f({ ...t, checklist: [...t.checklist] }), u(l));
1534
- }, [a, t, l]), !a || !t || !o) return null;
1535
- const v = () => {
1536
- r && r(o), u("view");
1537
- }, w = (_) => {
1538
- f({ ...o, checklist: _ });
1654
+ ], Yn = ft.map((t) => ({
1655
+ value: t.initials.toLowerCase(),
1656
+ label: t.name
1657
+ })), gt = g.forwardRef(
1658
+ ({ isOpen: t, onClose: n, task: a, onSave: r, initialMode: l = "view", className: u, ...s }, h) => {
1659
+ const [i, o] = F(l), [d, f] = F(null);
1660
+ if (Be(() => {
1661
+ t && a && (f({ ...a, checklist: [...a.checklist] }), o(l));
1662
+ }, [t, a, l]), !t || !a || !d) return null;
1663
+ const k = () => {
1664
+ r && r(d), o("view");
1665
+ }, y = (_) => {
1666
+ f({ ...d, checklist: _ });
1539
1667
  }, p = (_) => {
1540
- const N = Qe.find((I) => I.value === _);
1668
+ const C = Je.find((x) => x.value === _);
1541
1669
  f({
1542
- ...o,
1670
+ ...d,
1543
1671
  project: _,
1544
- projectLabel: N?.label || _
1672
+ projectLabel: C?.label || _
1545
1673
  });
1546
- }, y = (_) => {
1547
- const N = ht.find((I) => I.initials.toLowerCase() === _);
1548
- N && f({ ...o, assignees: [N] });
1549
- }, h = () => {
1674
+ }, w = (_) => {
1675
+ const C = ft.find((x) => x.initials.toLowerCase() === _);
1676
+ C && f({ ...d, assignees: [C] });
1677
+ }, c = () => {
1550
1678
  const _ = {
1551
1679
  id: `check-${Date.now()}`,
1552
1680
  text: "",
1553
1681
  checked: !1
1554
1682
  };
1555
1683
  f({
1556
- ...o,
1557
- checklist: [...o.checklist, _]
1684
+ ...d,
1685
+ checklist: [...d.checklist, _]
1558
1686
  });
1559
- }, x = i === "edit" ? "Aufgabe bearbeiten" : "Aufgaben-Details", k = i === "view" ? /* @__PURE__ */ m(Q, { children: [
1560
- /* @__PURE__ */ e(W, { variant: "outline", onClick: n, children: "Schließen" }),
1561
- /* @__PURE__ */ m(W, { variant: "primary", onClick: () => u("edit"), children: [
1562
- /* @__PURE__ */ e("svg", { className: S["icon-pencil"], viewBox: "0 0 24 24", children: /* @__PURE__ */ e("path", { d: "M17 3a2.828 2.828 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z" }) }),
1687
+ }, N = i === "edit" ? "Aufgabe bearbeiten" : "Aufgaben-Details", v = i === "view" ? /* @__PURE__ */ m(J, { children: [
1688
+ /* @__PURE__ */ e(H, { variant: "outline", onClick: n, children: "Schließen" }),
1689
+ /* @__PURE__ */ m(H, { variant: "primary", onClick: () => o("edit"), children: [
1690
+ /* @__PURE__ */ e("svg", { className: P["icon-pencil"], viewBox: "0 0 24 24", children: /* @__PURE__ */ e("path", { d: "M17 3a2.828 2.828 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z" }) }),
1563
1691
  "Bearbeiten"
1564
1692
  ] })
1565
- ] }) : /* @__PURE__ */ m(Q, { children: [
1566
- /* @__PURE__ */ e(W, { variant: "outline", onClick: () => u("view"), children: "Abbrechen" }),
1567
- /* @__PURE__ */ e(W, { variant: "primary", onClick: v, children: "Speichern" })
1693
+ ] }) : /* @__PURE__ */ m(J, { children: [
1694
+ /* @__PURE__ */ e(H, { variant: "outline", onClick: () => o("view"), children: "Abbrechen" }),
1695
+ /* @__PURE__ */ e(H, { variant: "primary", onClick: k, children: "Speichern" })
1568
1696
  ] });
1569
1697
  return /* @__PURE__ */ e(
1570
- _t,
1698
+ mt,
1571
1699
  {
1572
- ref: d,
1573
- isOpen: a,
1700
+ ref: h,
1701
+ isOpen: t,
1574
1702
  onClose: n,
1575
- title: x,
1576
- footer: k,
1577
- className: c,
1703
+ title: N,
1704
+ footer: v,
1705
+ className: u,
1578
1706
  ...s,
1579
- children: i === "view" ? /* @__PURE__ */ m(Q, { children: [
1580
- /* @__PURE__ */ m("div", { className: S["view-group"], children: [
1581
- /* @__PURE__ */ e("span", { className: S["view-label"], children: "Titel" }),
1582
- /* @__PURE__ */ e("h3", { className: S["view-task-title"], children: o.title })
1707
+ children: i === "view" ? /* @__PURE__ */ m(J, { children: [
1708
+ /* @__PURE__ */ m("div", { className: P["view-group"], children: [
1709
+ /* @__PURE__ */ e("span", { className: P["view-label"], children: "Titel" }),
1710
+ /* @__PURE__ */ e("h3", { className: P["view-task-title"], children: d.title })
1583
1711
  ] }),
1584
- /* @__PURE__ */ m("div", { className: S["view-badge-row"], children: [
1585
- /* @__PURE__ */ m("div", { className: S["view-group"], children: [
1586
- /* @__PURE__ */ e("span", { className: S["view-label"], children: "Verantwortlich" }),
1587
- o.assignees.length > 0 ? /* @__PURE__ */ e(Te, { children: o.assignees.map((_, N) => /* @__PURE__ */ e(ce, { initials: _.initials, name: _.name }, N)) }) : /* @__PURE__ */ e(ce, { initials: "?", name: "Nicht zugewiesen" })
1712
+ /* @__PURE__ */ m("div", { className: P["view-badge-row"], children: [
1713
+ /* @__PURE__ */ m("div", { className: P["view-group"], children: [
1714
+ /* @__PURE__ */ e("span", { className: P["view-label"], children: "Verantwortlich" }),
1715
+ d.assignees.length > 0 ? /* @__PURE__ */ e(Ee, { children: d.assignees.map((_, C) => /* @__PURE__ */ e(ue, { initials: _.initials, name: _.name }, C)) }) : /* @__PURE__ */ e(ue, { initials: "?", name: "Nicht zugewiesen" })
1588
1716
  ] }),
1589
- /* @__PURE__ */ m("div", { className: S["view-group"], children: [
1590
- /* @__PURE__ */ e("span", { className: S["view-label"], children: "Projekt" }),
1591
- /* @__PURE__ */ m(Ie, { children: [
1592
- /* @__PURE__ */ e("svg", { className: S["icon-sm"], viewBox: "0 0 24 24", children: /* @__PURE__ */ e("path", { d: "M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z" }) }),
1593
- o.projectLabel || o.project
1717
+ /* @__PURE__ */ m("div", { className: P["view-group"], children: [
1718
+ /* @__PURE__ */ e("span", { className: P["view-label"], children: "Projekt" }),
1719
+ /* @__PURE__ */ m(Le, { children: [
1720
+ /* @__PURE__ */ e("svg", { className: P["icon-sm"], viewBox: "0 0 24 24", children: /* @__PURE__ */ e("path", { d: "M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z" }) }),
1721
+ d.projectLabel || d.project
1594
1722
  ] })
1595
1723
  ] }),
1596
- /* @__PURE__ */ m("div", { className: S["view-group"], children: [
1597
- /* @__PURE__ */ e("span", { className: S["view-label"], children: "Priorität" }),
1598
- o.priority ? /* @__PURE__ */ e(Pe, { level: o.priority, size: "large" }) : /* @__PURE__ */ e("div", { className: S["text-muted"], children: "Keine" })
1724
+ /* @__PURE__ */ m("div", { className: P["view-group"], children: [
1725
+ /* @__PURE__ */ e("span", { className: P["view-label"], children: "Priorität" }),
1726
+ d.priority ? /* @__PURE__ */ e(Te, { level: d.priority, size: "large" }) : /* @__PURE__ */ e("div", { className: P["text-muted"], children: "Keine" })
1599
1727
  ] }),
1600
- /* @__PURE__ */ m("div", { className: S["view-group"], children: [
1601
- /* @__PURE__ */ e("span", { className: S["view-label"], children: "Status" }),
1602
- /* @__PURE__ */ e(Ie, { children: o.status })
1728
+ /* @__PURE__ */ m("div", { className: P["view-group"], children: [
1729
+ /* @__PURE__ */ e("span", { className: P["view-label"], children: "Status" }),
1730
+ /* @__PURE__ */ e(Le, { children: d.status })
1603
1731
  ] }),
1604
- /* @__PURE__ */ m("div", { className: S["view-group"], children: [
1605
- /* @__PURE__ */ e("span", { className: S["view-label"], children: "Fälligkeit" }),
1606
- /* @__PURE__ */ e("div", { className: S["view-value-strong"], children: o.deadline })
1732
+ /* @__PURE__ */ m("div", { className: P["view-group"], children: [
1733
+ /* @__PURE__ */ e("span", { className: P["view-label"], children: "Fälligkeit" }),
1734
+ /* @__PURE__ */ e("div", { className: P["view-value-strong"], children: d.deadline })
1607
1735
  ] })
1608
1736
  ] }),
1609
- /* @__PURE__ */ m("div", { className: S["view-group"], children: [
1610
- /* @__PURE__ */ e("span", { className: S["view-label"], children: "Beschreibung" }),
1611
- /* @__PURE__ */ e("p", { className: S["view-description"], children: o.description || /* @__PURE__ */ e("span", { className: S["text-muted"], children: "Keine Beschreibung vorhanden." }) })
1737
+ /* @__PURE__ */ m("div", { className: P["view-group"], children: [
1738
+ /* @__PURE__ */ e("span", { className: P["view-label"], children: "Beschreibung" }),
1739
+ /* @__PURE__ */ e("p", { className: P["view-description"], children: d.description || /* @__PURE__ */ e("span", { className: P["text-muted"], children: "Keine Beschreibung vorhanden." }) })
1612
1740
  ] }),
1613
- /* @__PURE__ */ m("div", { className: S["view-group"], children: [
1614
- /* @__PURE__ */ e("span", { className: S["view-label"], children: "To-Do Checkliste" }),
1615
- /* @__PURE__ */ e(Le, { items: o.checklist, onChange: w, editable: !1 })
1741
+ /* @__PURE__ */ m("div", { className: P["view-group"], children: [
1742
+ /* @__PURE__ */ e("span", { className: P["view-label"], children: "To-Do Checkliste" }),
1743
+ /* @__PURE__ */ e(Re, { items: d.checklist, onChange: y, editable: !1 })
1616
1744
  ] })
1617
- ] }) : /* @__PURE__ */ m(Q, { children: [
1618
- /* @__PURE__ */ e(z, { label: "Titel", htmlFor: "taskTitle", children: /* @__PURE__ */ e(
1619
- Re,
1745
+ ] }) : /* @__PURE__ */ m(J, { children: [
1746
+ /* @__PURE__ */ e(V, { label: "Titel", htmlFor: "taskTitle", children: /* @__PURE__ */ e(
1747
+ Ae,
1620
1748
  {
1621
1749
  id: "taskTitle",
1622
- value: o.title,
1623
- onChange: (_) => f({ ...o, title: _ })
1750
+ value: d.title,
1751
+ onChange: (_) => f({ ...d, title: _ })
1624
1752
  }
1625
1753
  ) }),
1626
- /* @__PURE__ */ m("div", { className: S["form-row"], children: [
1627
- /* @__PURE__ */ e(z, { label: "Projekt", htmlFor: "taskProject", children: /* @__PURE__ */ e(
1628
- re,
1754
+ /* @__PURE__ */ m("div", { className: P["form-row"], children: [
1755
+ /* @__PURE__ */ e(V, { label: "Projekt", htmlFor: "taskProject", children: /* @__PURE__ */ e(
1756
+ ie,
1629
1757
  {
1630
1758
  id: "taskProject",
1631
- options: Qe,
1632
- value: o.project,
1759
+ options: Je,
1760
+ value: d.project,
1633
1761
  onChange: p
1634
1762
  }
1635
1763
  ) }),
1636
- /* @__PURE__ */ e(z, { label: "Status", htmlFor: "taskStatus", children: /* @__PURE__ */ e(
1637
- re,
1764
+ /* @__PURE__ */ e(V, { label: "Status", htmlFor: "taskStatus", children: /* @__PURE__ */ e(
1765
+ ie,
1638
1766
  {
1639
1767
  id: "taskStatus",
1640
- options: En,
1641
- value: o.status,
1642
- onChange: (_) => f({ ...o, status: _ })
1768
+ options: Qn,
1769
+ value: d.status,
1770
+ onChange: (_) => f({ ...d, status: _ })
1643
1771
  }
1644
1772
  ) })
1645
1773
  ] }),
1646
- /* @__PURE__ */ m("div", { className: S["form-row"], children: [
1647
- /* @__PURE__ */ e(z, { label: "Fälligkeitsdatum", htmlFor: "taskDate", children: /* @__PURE__ */ e(
1648
- Re,
1774
+ /* @__PURE__ */ m("div", { className: P["form-row"], children: [
1775
+ /* @__PURE__ */ e(V, { label: "Fälligkeitsdatum", htmlFor: "taskDate", children: /* @__PURE__ */ e(
1776
+ Ae,
1649
1777
  {
1650
1778
  id: "taskDate",
1651
- value: o.deadline,
1652
- onChange: (_) => f({ ...o, deadline: _ })
1779
+ value: d.deadline,
1780
+ onChange: (_) => f({ ...d, deadline: _ })
1653
1781
  }
1654
1782
  ) }),
1655
- /* @__PURE__ */ e(z, { label: "Priorität", htmlFor: "taskPriority", children: /* @__PURE__ */ e(
1656
- re,
1783
+ /* @__PURE__ */ e(V, { label: "Priorität", htmlFor: "taskPriority", children: /* @__PURE__ */ e(
1784
+ ie,
1657
1785
  {
1658
1786
  id: "taskPriority",
1659
- options: On,
1660
- value: o.priority || "",
1661
- onChange: (_) => f({ ...o, priority: _ || void 0 })
1787
+ options: Kn,
1788
+ value: d.priority || "",
1789
+ onChange: (_) => f({ ...d, priority: _ || void 0 })
1662
1790
  }
1663
1791
  ) })
1664
1792
  ] }),
1665
- /* @__PURE__ */ e(z, { label: "Verantwortlich", htmlFor: "taskAssignee", children: /* @__PURE__ */ m("div", { className: S["assignee-row"], children: [
1666
- /* @__PURE__ */ e(ce, { initials: o.assignees[0]?.initials || "?" }),
1793
+ /* @__PURE__ */ e(V, { label: "Verantwortlich", htmlFor: "taskAssignee", children: /* @__PURE__ */ m("div", { className: P["assignee-row"], children: [
1794
+ /* @__PURE__ */ e(ue, { initials: d.assignees[0]?.initials || "?" }),
1667
1795
  /* @__PURE__ */ e(
1668
- re,
1796
+ ie,
1669
1797
  {
1670
1798
  id: "taskAssignee",
1671
- options: Mn,
1672
- value: o.assignees[0]?.initials.toLowerCase() || "",
1673
- onChange: y,
1674
- className: S["assignee-select"]
1799
+ options: Yn,
1800
+ value: d.assignees[0]?.initials.toLowerCase() || "",
1801
+ onChange: w,
1802
+ className: P["assignee-select"]
1675
1803
  }
1676
1804
  )
1677
1805
  ] }) }),
1678
- /* @__PURE__ */ e(z, { label: "Beschreibung", htmlFor: "taskDescription", children: /* @__PURE__ */ e(
1679
- dt,
1806
+ /* @__PURE__ */ e(V, { label: "Beschreibung", htmlFor: "taskDescription", children: /* @__PURE__ */ e(
1807
+ ht,
1680
1808
  {
1681
1809
  id: "taskDescription",
1682
1810
  placeholder: "Weitere Details zur Aufgabe...",
1683
- value: o.description || "",
1684
- onChange: (_) => f({ ...o, description: _ })
1811
+ value: d.description || "",
1812
+ onChange: (_) => f({ ...d, description: _ })
1685
1813
  }
1686
1814
  ) }),
1687
- /* @__PURE__ */ m(z, { label: "To-Do Checkliste", children: [
1688
- /* @__PURE__ */ e(Le, { items: o.checklist, onChange: w, editable: !0 }),
1815
+ /* @__PURE__ */ m(V, { label: "To-Do Checkliste", children: [
1816
+ /* @__PURE__ */ e(Re, { items: d.checklist, onChange: y, editable: !0 }),
1689
1817
  /* @__PURE__ */ e(
1690
- W,
1818
+ H,
1691
1819
  {
1692
1820
  variant: "ghost",
1693
- onClick: h,
1694
- className: S["add-checklist-btn"],
1821
+ onClick: c,
1822
+ className: P["add-checklist-btn"],
1695
1823
  children: "+ Neues Element"
1696
1824
  }
1697
1825
  )
@@ -1701,16 +1829,16 @@ const S = {
1701
1829
  );
1702
1830
  }
1703
1831
  );
1704
- mt.displayName = "TaskDetailModal";
1705
- const zn = "_icon_1rthp_4", Ye = {
1706
- icon: zn,
1832
+ gt.displayName = "TaskDetailModal";
1833
+ const Xn = "_icon_1rthp_4", Ze = {
1834
+ icon: Xn,
1707
1835
  "icon-sm": "_icon-sm_1rthp_14"
1708
- }, qn = g.forwardRef(
1709
- ({ tasks: a, onTaskUpdate: n, onTaskAdd: t, className: r, ...l }, c) => {
1710
- const [s, d] = E(a), [i, u] = E(!1), [o, f] = E(null), [v, w] = E("view"), p = (k) => {
1711
- f(k), w("view"), u(!0);
1712
- }, y = () => {
1713
- const k = {
1836
+ }, Jn = g.forwardRef(
1837
+ ({ tasks: t, onTaskUpdate: n, onTaskAdd: a, className: r, ...l }, u) => {
1838
+ const [s, h] = F(t), [i, o] = F(!1), [d, f] = F(null), [k, y] = F("view"), p = (v) => {
1839
+ f(v), y("view"), o(!0);
1840
+ }, w = () => {
1841
+ const v = {
1714
1842
  id: `new-${Date.now()}`,
1715
1843
  title: "Neue Aufgabe",
1716
1844
  project: "Q1",
@@ -1722,64 +1850,64 @@ const zn = "_icon_1rthp_4", Ye = {
1722
1850
  description: "",
1723
1851
  checklist: []
1724
1852
  };
1725
- f(k), w("edit"), u(!0);
1726
- }, h = (k) => {
1727
- if (s.some((N) => N.id === k.id)) {
1728
- const N = s.map((I) => I.id === k.id ? k : I);
1729
- d(N), n && n(k);
1853
+ f(v), y("edit"), o(!0);
1854
+ }, c = (v) => {
1855
+ if (s.some((C) => C.id === v.id)) {
1856
+ const C = s.map((x) => x.id === v.id ? v : x);
1857
+ h(C), n && n(v);
1730
1858
  } else
1731
- d([...s, k]), t && t(k);
1732
- f(k);
1733
- }, x = (k, _) => {
1734
- const N = s.map((I) => {
1735
- if (I.id === k) {
1736
- const A = { ...I, status: _ };
1737
- return n && n(A), A;
1859
+ h([...s, v]), a && a(v);
1860
+ f(v);
1861
+ }, N = (v, _) => {
1862
+ const C = s.map((x) => {
1863
+ if (x.id === v) {
1864
+ const L = { ...x, status: _ };
1865
+ return n && n(L), L;
1738
1866
  }
1739
- return I;
1867
+ return x;
1740
1868
  });
1741
- d(N);
1869
+ h(C);
1742
1870
  };
1743
1871
  return /* @__PURE__ */ m(
1744
- fe,
1872
+ ge,
1745
1873
  {
1746
- ref: c,
1874
+ ref: u,
1747
1875
  as: "main",
1748
1876
  title: "Aufgaben",
1749
1877
  variant: "half",
1750
1878
  scrollable: !0,
1751
- headerAction: /* @__PURE__ */ m(W, { variant: "primary", onClick: y, "aria-label": "Neue Aufgabe erstellen", children: [
1752
- /* @__PURE__ */ e("svg", { className: b(Ye.icon, Ye["icon-sm"]), viewBox: "0 0 24 24", children: /* @__PURE__ */ e("path", { d: "M12 5v14M5 12h14" }) }),
1879
+ headerAction: /* @__PURE__ */ m(H, { variant: "primary", onClick: w, "aria-label": "Neue Aufgabe erstellen", children: [
1880
+ /* @__PURE__ */ e("svg", { className: b(Ze.icon, Ze["icon-sm"]), viewBox: "0 0 24 24", children: /* @__PURE__ */ e("path", { d: "M12 5v14M5 12h14" }) }),
1753
1881
  "Neu"
1754
1882
  ] }),
1755
1883
  className: r,
1756
1884
  ...l,
1757
1885
  children: [
1758
- /* @__PURE__ */ e(ge, { "aria-label": "Aufgabenliste", children: s.map((k) => /* @__PURE__ */ e(
1759
- ut,
1886
+ /* @__PURE__ */ e(ve, { "aria-label": "Aufgabenliste", children: s.map((v) => /* @__PURE__ */ e(
1887
+ pt,
1760
1888
  {
1761
- title: k.title,
1762
- project: k.project,
1763
- projectLabel: k.projectLabel,
1764
- status: k.status,
1765
- deadline: k.deadline,
1766
- deadlineType: k.deadlineType,
1767
- priority: k.priority,
1768
- assignees: k.assignees,
1769
- description: k.description,
1770
- onClick: () => p(k),
1771
- onStatusChange: (_) => x(k.id, _)
1889
+ title: v.title,
1890
+ project: v.project,
1891
+ projectLabel: v.projectLabel,
1892
+ status: v.status,
1893
+ deadline: v.deadline,
1894
+ deadlineType: v.deadlineType,
1895
+ priority: v.priority,
1896
+ assignees: v.assignees,
1897
+ description: v.description,
1898
+ onClick: () => p(v),
1899
+ onStatusChange: (_) => N(v.id, _)
1772
1900
  },
1773
- k.id
1901
+ v.id
1774
1902
  )) }),
1775
1903
  /* @__PURE__ */ e(
1776
- mt,
1904
+ gt,
1777
1905
  {
1778
1906
  isOpen: i,
1779
- onClose: () => u(!1),
1780
- task: o,
1781
- initialMode: v,
1782
- onSave: h
1907
+ onClose: () => o(!1),
1908
+ task: d,
1909
+ initialMode: k,
1910
+ onSave: c
1783
1911
  }
1784
1912
  )
1785
1913
  ]
@@ -1787,26 +1915,26 @@ const zn = "_icon_1rthp_4", Ye = {
1787
1915
  );
1788
1916
  }
1789
1917
  );
1790
- qn.displayName = "TaskWidget";
1791
- const Wn = "_page_1c5lq_3", Vn = {
1792
- page: Wn
1793
- }, Gn = "_domainSwitcher_abrin_3", Hn = "_domainSwitcher__label_abrin_11", Xe = {
1794
- domainSwitcher: Gn,
1795
- domainSwitcher__label: Hn
1796
- }, pt = g.forwardRef(
1797
- ({ sources: a, activeSourceKey: n, onSourceChange: t, className: r }, l) => {
1798
- const c = a.map((s) => ({
1918
+ Jn.displayName = "TaskWidget";
1919
+ const Zn = "_page_1c5lq_3", er = {
1920
+ page: Zn
1921
+ }, tr = "_domainSwitcher_abrin_3", ar = "_domainSwitcher__label_abrin_11", et = {
1922
+ domainSwitcher: tr,
1923
+ domainSwitcher__label: ar
1924
+ }, bt = g.forwardRef(
1925
+ ({ sources: t, activeSourceKey: n, onSourceChange: a, className: r }, l) => {
1926
+ const u = t.map((s) => ({
1799
1927
  value: s.key,
1800
1928
  label: s.label
1801
1929
  }));
1802
- return /* @__PURE__ */ m("div", { ref: l, className: b(Xe.domainSwitcher, r), children: [
1803
- /* @__PURE__ */ e("span", { className: Xe.domainSwitcher__label, children: "Datenquelle" }),
1930
+ return /* @__PURE__ */ m("div", { ref: l, className: b(et.domainSwitcher, r), children: [
1931
+ /* @__PURE__ */ e("span", { className: et.domainSwitcher__label, children: "Datenquelle" }),
1804
1932
  /* @__PURE__ */ e(
1805
1933
  Me,
1806
1934
  {
1807
- options: c,
1935
+ options: u,
1808
1936
  value: n,
1809
- onChange: t,
1937
+ onChange: a,
1810
1938
  role: "radiogroup",
1811
1939
  "aria-label": "Datenquelle wechseln"
1812
1940
  }
@@ -1814,87 +1942,90 @@ const Wn = "_page_1c5lq_3", Vn = {
1814
1942
  ] });
1815
1943
  }
1816
1944
  );
1817
- pt.displayName = "DomainSwitcher";
1818
- const Un = "_dataGrid_1teg2_3", Kn = "_dataGrid__viewPanel_1teg2_11", Qn = "_resultCount_1teg2_15", Yn = "_resultCount__number_1teg2_24", be = {
1819
- dataGrid: Un,
1820
- dataGrid__viewPanel: Kn,
1821
- resultCount: Qn,
1822
- resultCount__number: Yn
1823
- }, Xn = "_toolbar_1vf8q_3", Jn = "_toolbar__row_1vf8q_11", Zn = "_toolbar__left_1vf8q_26", er = "_toolbar__right_1vf8q_33", tr = "_settingsBtn_1vf8q_40", ar = "_settingsBtn__icon_1vf8q_67", nr = "_filterMore_1vf8q_73", rr = "_filterMore__btn_1vf8q_79", sr = "_filterMore__badge_1vf8q_104", B = {
1824
- toolbar: Xn,
1825
- toolbar__row: Jn,
1945
+ bt.displayName = "DomainSwitcher";
1946
+ const nr = "_dataGrid_1teg2_3", rr = "_dataGrid__viewPanel_1teg2_11", sr = "_resultCount_1teg2_15", lr = "_resultCount__number_1teg2_24", be = {
1947
+ dataGrid: nr,
1948
+ dataGrid__viewPanel: rr,
1949
+ resultCount: sr,
1950
+ resultCount__number: lr
1951
+ }, ir = "_toolbar_1vf8q_3", or = "_toolbar__row_1vf8q_11", cr = "_toolbar__left_1vf8q_26", dr = "_toolbar__right_1vf8q_33", _r = "_settingsBtn_1vf8q_40", ur = "_settingsBtn__icon_1vf8q_67", hr = "_filterMore_1vf8q_73", mr = "_filterMore__btn_1vf8q_79", pr = "_filterMore__badge_1vf8q_104", E = {
1952
+ toolbar: ir,
1953
+ toolbar__row: or,
1826
1954
  "toolbar__row--filters": "_toolbar__row--filters_1vf8q_20",
1827
- toolbar__left: Zn,
1828
- toolbar__right: er,
1829
- settingsBtn: tr,
1830
- settingsBtn__icon: ar,
1831
- filterMore: nr,
1832
- filterMore__btn: rr,
1833
- filterMore__badge: sr
1834
- }, lr = /* @__PURE__ */ m("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: [
1955
+ toolbar__left: cr,
1956
+ toolbar__right: dr,
1957
+ settingsBtn: _r,
1958
+ settingsBtn__icon: ur,
1959
+ filterMore: hr,
1960
+ filterMore__btn: mr,
1961
+ filterMore__badge: pr
1962
+ }, fr = /* @__PURE__ */ m("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: [
1835
1963
  /* @__PURE__ */ e("rect", { x: "3", y: "3", width: "18", height: "18", rx: "2" }),
1836
1964
  /* @__PURE__ */ e("line", { x1: "3", y1: "9", x2: "21", y2: "9" }),
1837
1965
  /* @__PURE__ */ e("line", { x1: "3", y1: "15", x2: "21", y2: "15" }),
1838
1966
  /* @__PURE__ */ e("line", { x1: "9", y1: "3", x2: "9", y2: "21" }),
1839
1967
  /* @__PURE__ */ e("line", { x1: "15", y1: "3", x2: "15", y2: "21" })
1840
- ] }), ir = /* @__PURE__ */ m("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: [
1968
+ ] }), gr = /* @__PURE__ */ m("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: [
1841
1969
  /* @__PURE__ */ e("line", { x1: "8", y1: "6", x2: "21", y2: "6" }),
1842
1970
  /* @__PURE__ */ e("line", { x1: "8", y1: "12", x2: "21", y2: "12" }),
1843
1971
  /* @__PURE__ */ e("line", { x1: "8", y1: "18", x2: "21", y2: "18" }),
1844
1972
  /* @__PURE__ */ e("line", { x1: "3", y1: "6", x2: "3.01", y2: "6" }),
1845
1973
  /* @__PURE__ */ e("line", { x1: "3", y1: "12", x2: "3.01", y2: "12" }),
1846
1974
  /* @__PURE__ */ e("line", { x1: "3", y1: "18", x2: "3.01", y2: "18" })
1847
- ] }), or = /* @__PURE__ */ m("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: [
1975
+ ] }), br = /* @__PURE__ */ m("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: [
1848
1976
  /* @__PURE__ */ e("rect", { x: "3", y: "3", width: "7", height: "7", rx: "1" }),
1849
1977
  /* @__PURE__ */ e("rect", { x: "14", y: "3", width: "7", height: "7", rx: "1" }),
1850
1978
  /* @__PURE__ */ e("rect", { x: "3", y: "14", width: "7", height: "7", rx: "1" }),
1851
1979
  /* @__PURE__ */ e("rect", { x: "14", y: "14", width: "7", height: "7", rx: "1" })
1852
- ] }), cr = [
1853
- { value: "table", label: "Tabelle", icon: lr },
1854
- { value: "list", label: "Liste", icon: ir },
1855
- { value: "cards", label: "Karten", icon: or }
1856
- ], ft = g.forwardRef(
1980
+ ] }), vr = [
1981
+ { value: "table", label: "Tabelle", icon: fr },
1982
+ { value: "list", label: "Liste", icon: gr },
1983
+ { value: "cards", label: "Karten", icon: br }
1984
+ ], vt = g.forwardRef(
1857
1985
  ({
1858
- currentView: a,
1986
+ currentView: t,
1859
1987
  onViewChange: n,
1860
- searchQuery: t,
1988
+ searchQuery: a,
1861
1989
  onSearchChange: r,
1862
1990
  columns: l,
1863
- filters: c,
1991
+ filters: u,
1864
1992
  filterOptions: s,
1865
- onFilterChange: d,
1993
+ onFilterChange: h,
1866
1994
  onSettingsClick: i,
1867
- settingsExpanded: u = !1,
1868
- onMoreFiltersClick: o,
1869
- moreFiltersExpanded: f = !1,
1870
- activeSecondaryFilterCount: v = 0,
1995
+ settingsExpanded: o = !1,
1996
+ settingsBtnRef: d,
1997
+ onMoreFiltersClick: f,
1998
+ moreFiltersExpanded: k = !1,
1999
+ moreFiltersBtnRef: y,
2000
+ activeSecondaryFilterCount: p = 0,
1871
2001
  className: w
1872
- }, p) => {
1873
- const y = l.filter(
1874
- ([, h]) => h.filterable && h.primaryFilter && h.visible
2002
+ }, c) => {
2003
+ const N = l.filter(
2004
+ ([, v]) => v.filterable && v.primaryFilter && v.visible
1875
2005
  );
1876
- return /* @__PURE__ */ m("div", { ref: p, className: b(B.toolbar, w), role: "toolbar", "aria-label": "DataGrid Steuerung", children: [
1877
- /* @__PURE__ */ m("div", { className: B.toolbar__row, children: [
1878
- /* @__PURE__ */ e("div", { className: B.toolbar__left, children: /* @__PURE__ */ e(
2006
+ return /* @__PURE__ */ m("div", { ref: c, className: b(E.toolbar, w), role: "toolbar", "aria-label": "DataGrid Steuerung", children: [
2007
+ /* @__PURE__ */ m("div", { className: E.toolbar__row, children: [
2008
+ /* @__PURE__ */ e("div", { className: E.toolbar__left, children: /* @__PURE__ */ e(
1879
2009
  Me,
1880
2010
  {
1881
- options: cr,
1882
- value: a,
1883
- onChange: (h) => n?.(h),
2011
+ options: vr,
2012
+ value: t,
2013
+ onChange: (v) => n?.(v),
1884
2014
  role: "tablist",
1885
2015
  "aria-label": "Ansicht wechseln"
1886
2016
  }
1887
2017
  ) }),
1888
- /* @__PURE__ */ e("div", { className: B.toolbar__right, children: /* @__PURE__ */ m(
2018
+ /* @__PURE__ */ e("div", { className: E.toolbar__right, children: /* @__PURE__ */ m(
1889
2019
  "button",
1890
2020
  {
1891
- className: B.settingsBtn,
2021
+ ref: d,
2022
+ className: E.settingsBtn,
1892
2023
  "aria-label": "Datenfelder konfigurieren",
1893
2024
  "aria-haspopup": "true",
1894
- "aria-expanded": u,
2025
+ "aria-expanded": o,
1895
2026
  onClick: i,
1896
2027
  children: [
1897
- /* @__PURE__ */ m("svg", { className: B.settingsBtn__icon, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: [
2028
+ /* @__PURE__ */ m("svg", { className: E.settingsBtn__icon, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: [
1898
2029
  /* @__PURE__ */ e("circle", { cx: "12", cy: "12", r: "3" }),
1899
2030
  /* @__PURE__ */ e("path", { d: "M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06A1.65 1.65 0 0 0 4.68 15a1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06A1.65 1.65 0 0 0 9 4.68a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06A1.65 1.65 0 0 0 19.4 9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z" })
1900
2031
  ] }),
@@ -1903,41 +2034,42 @@ const Un = "_dataGrid_1teg2_3", Kn = "_dataGrid__viewPanel_1teg2_11", Qn = "_res
1903
2034
  }
1904
2035
  ) })
1905
2036
  ] }),
1906
- /* @__PURE__ */ m("div", { className: b(B.toolbar__row, B["toolbar__row--filters"]), children: [
1907
- /* @__PURE__ */ m("div", { className: B.toolbar__left, children: [
1908
- y.map(([h, x]) => {
1909
- const k = s[h] || [], _ = c[h];
2037
+ /* @__PURE__ */ m("div", { className: b(E.toolbar__row, E["toolbar__row--filters"]), children: [
2038
+ /* @__PURE__ */ m("div", { className: E.toolbar__left, children: [
2039
+ N.map(([v, _]) => {
2040
+ const C = s[v] || [], x = u[v];
1910
2041
  return /* @__PURE__ */ e(
1911
- ot,
2042
+ _t,
1912
2043
  {
1913
- label: x.label,
1914
- options: k,
1915
- value: _,
1916
- onChange: (N) => d?.(h, N),
1917
- dataFilter: h
2044
+ label: _.label,
2045
+ options: C,
2046
+ value: x,
2047
+ onChange: (L) => h?.(v, L),
2048
+ dataFilter: v
1918
2049
  },
1919
- h
2050
+ v
1920
2051
  );
1921
2052
  }),
1922
- /* @__PURE__ */ e("div", { className: B.filterMore, children: /* @__PURE__ */ m(
2053
+ /* @__PURE__ */ e("div", { className: E.filterMore, children: /* @__PURE__ */ m(
1923
2054
  "button",
1924
2055
  {
1925
- className: B.filterMore__btn,
2056
+ ref: y,
2057
+ className: E.filterMore__btn,
1926
2058
  "aria-label": "Weitere Filter anzeigen",
1927
2059
  "aria-haspopup": "true",
1928
- "aria-expanded": f,
1929
- onClick: o,
2060
+ "aria-expanded": k,
2061
+ onClick: f,
1930
2062
  children: [
1931
2063
  "+ mehr Filter",
1932
- v > 0 && /* @__PURE__ */ e("span", { className: B.filterMore__badge, children: v })
2064
+ p > 0 && /* @__PURE__ */ e("span", { className: E.filterMore__badge, children: p })
1933
2065
  ]
1934
2066
  }
1935
2067
  ) })
1936
2068
  ] }),
1937
- /* @__PURE__ */ e("div", { className: B.toolbar__right, children: /* @__PURE__ */ e(
1938
- Ee,
2069
+ /* @__PURE__ */ e("div", { className: E.toolbar__right, children: /* @__PURE__ */ e(
2070
+ Oe,
1939
2071
  {
1940
- value: t,
2072
+ value: a,
1941
2073
  onChange: r,
1942
2074
  "aria-label": "Daten durchsuchen"
1943
2075
  }
@@ -1946,30 +2078,30 @@ const Un = "_dataGrid_1teg2_3", Kn = "_dataGrid__viewPanel_1teg2_11", Qn = "_res
1946
2078
  ] });
1947
2079
  }
1948
2080
  );
1949
- ft.displayName = "Toolbar";
1950
- const dr = "_expansionDrawer_1bj98_4", _r = "_expansionDrawer__cell_1bj98_12", ur = "_expansionDrawer__content_1bj98_18", hr = "_expansionDrawer__title_1bj98_22", mr = "_crossSellTable_1bj98_32", pr = "_quickAddBtn_1bj98_61", fr = "_quickAddBtn__icon_1bj98_90", K = {
1951
- expansionDrawer: dr,
2081
+ vt.displayName = "Toolbar";
2082
+ const wr = "_expansionDrawer_1bj98_4", yr = "_expansionDrawer__cell_1bj98_12", kr = "_expansionDrawer__content_1bj98_18", Nr = "_expansionDrawer__title_1bj98_22", xr = "_crossSellTable_1bj98_32", Cr = "_quickAddBtn_1bj98_61", Sr = "_quickAddBtn__icon_1bj98_90", X = {
2083
+ expansionDrawer: wr,
1952
2084
  "expansionDrawer--open": "_expansionDrawer--open_1bj98_8",
1953
- expansionDrawer__cell: _r,
1954
- expansionDrawer__content: ur,
1955
- expansionDrawer__title: hr,
1956
- crossSellTable: mr,
1957
- quickAddBtn: pr,
1958
- quickAddBtn__icon: fr
1959
- }, br = "_cellDouble_1y1lm_4", gr = "_cellDouble__primary_1y1lm_11", vr = "_cellDouble__secondary_1y1lm_22", yr = "_cellLink_1y1lm_31", wr = "_cellPrice_1y1lm_45", kr = "_cellPrice__currency_1y1lm_53", Nr = "_inventoryBadge_1y1lm_60", xr = "_inventoryBadge__indicator_1y1lm_81", Cr = "_statusBadge_1y1lm_100", Sr = "_statusBadge__dot_1y1lm_112", T = {
1960
- cellDouble: br,
1961
- cellDouble__primary: gr,
1962
- cellDouble__secondary: vr,
1963
- cellLink: yr,
1964
- cellPrice: wr,
1965
- cellPrice__currency: kr,
1966
- inventoryBadge: Nr,
2085
+ expansionDrawer__cell: yr,
2086
+ expansionDrawer__content: kr,
2087
+ expansionDrawer__title: Nr,
2088
+ crossSellTable: xr,
2089
+ quickAddBtn: Cr,
2090
+ quickAddBtn__icon: Sr
2091
+ }, Dr = "_cellDouble_1y1lm_4", Ir = "_cellDouble__primary_1y1lm_11", Lr = "_cellDouble__secondary_1y1lm_22", Rr = "_cellLink_1y1lm_31", Pr = "_cellPrice_1y1lm_45", Ar = "_cellPrice__currency_1y1lm_53", jr = "_inventoryBadge_1y1lm_60", Br = "_inventoryBadge__indicator_1y1lm_81", $r = "_statusBadge_1y1lm_100", Fr = "_statusBadge__dot_1y1lm_112", O = {
2092
+ cellDouble: Dr,
2093
+ cellDouble__primary: Ir,
2094
+ cellDouble__secondary: Lr,
2095
+ cellLink: Rr,
2096
+ cellPrice: Pr,
2097
+ cellPrice__currency: Ar,
2098
+ inventoryBadge: jr,
1967
2099
  "inventoryBadge--high": "_inventoryBadge--high_1y1lm_69",
1968
2100
  "inventoryBadge--medium": "_inventoryBadge--medium_1y1lm_73",
1969
2101
  "inventoryBadge--low": "_inventoryBadge--low_1y1lm_77",
1970
- inventoryBadge__indicator: xr,
1971
- statusBadge: Cr,
1972
- statusBadge__dot: Sr,
2102
+ inventoryBadge__indicator: Br,
2103
+ statusBadge: $r,
2104
+ statusBadge__dot: Fr,
1973
2105
  "statusBadge--active": "_statusBadge--active_1y1lm_119",
1974
2106
  "statusBadge--nrnd": "_statusBadge--nrnd_1y1lm_128",
1975
2107
  "statusBadge--eol": "_statusBadge--eol_1y1lm_137",
@@ -1979,137 +2111,137 @@ const dr = "_expansionDrawer_1bj98_4", _r = "_expansionDrawer__cell_1bj98_12", u
1979
2111
  "statusBadge--in-prufung": "_statusBadge--in-prufung_1y1lm_174",
1980
2112
  "statusBadge--validierung": "_statusBadge--validierung_1y1lm_183",
1981
2113
  "statusBadge--abgeschlossen": "_statusBadge--abgeschlossen_1y1lm_192"
1982
- }, bt = g.forwardRef(
1983
- ({ primary: a, secondary: n, className: t }, r) => /* @__PURE__ */ m("div", { ref: r, className: b(T.cellDouble, t), children: [
1984
- /* @__PURE__ */ e("span", { className: T.cellDouble__primary, children: a }),
1985
- n && /* @__PURE__ */ e("span", { className: T.cellDouble__secondary, children: n })
2114
+ }, wt = g.forwardRef(
2115
+ ({ primary: t, secondary: n, className: a }, r) => /* @__PURE__ */ m("div", { ref: r, className: b(O.cellDouble, a), children: [
2116
+ /* @__PURE__ */ e("span", { className: O.cellDouble__primary, children: t }),
2117
+ n && /* @__PURE__ */ e("span", { className: O.cellDouble__secondary, children: n })
1986
2118
  ] })
1987
2119
  );
1988
- bt.displayName = "CellDouble";
1989
- const gt = g.forwardRef(
1990
- ({ href: a = "#", children: n, className: t }, r) => /* @__PURE__ */ e("a", { ref: r, href: a, className: b(T.cellLink, t), title: typeof n == "string" ? n : void 0, children: n })
2120
+ wt.displayName = "CellDouble";
2121
+ const yt = g.forwardRef(
2122
+ ({ href: t = "#", children: n, className: a }, r) => /* @__PURE__ */ e("a", { ref: r, href: t, className: b(O.cellLink, a), title: typeof n == "string" ? n : void 0, children: n })
1991
2123
  );
1992
- gt.displayName = "CellLink";
1993
- function Dr(a) {
1994
- return a.toFixed(2).replace(".", ",");
2124
+ yt.displayName = "CellLink";
2125
+ function Er(t) {
2126
+ return t.toFixed(2).replace(".", ",");
1995
2127
  }
1996
- const vt = g.forwardRef(
1997
- ({ value: a, currency: n, className: t }, r) => /* @__PURE__ */ m("span", { ref: r, className: b(T.cellPrice, t), children: [
1998
- Dr(a),
1999
- n && /* @__PURE__ */ e("span", { className: T.cellPrice__currency, children: n })
2128
+ const kt = g.forwardRef(
2129
+ ({ value: t, currency: n, className: a }, r) => /* @__PURE__ */ m("span", { ref: r, className: b(O.cellPrice, a), children: [
2130
+ Er(t),
2131
+ n && /* @__PURE__ */ e("span", { className: O.cellPrice__currency, children: n })
2000
2132
  ] })
2001
2133
  );
2002
- vt.displayName = "CellPrice";
2003
- const $e = g.forwardRef(
2004
- ({ level: a, children: n, className: t }, r) => /* @__PURE__ */ m("span", { ref: r, className: b(T.inventoryBadge, T[`inventoryBadge--${a}`], t), children: [
2005
- /* @__PURE__ */ e("span", { className: T.inventoryBadge__indicator, "aria-hidden": "true" }),
2134
+ kt.displayName = "CellPrice";
2135
+ const je = g.forwardRef(
2136
+ ({ level: t, children: n, className: a }, r) => /* @__PURE__ */ m("span", { ref: r, className: b(O.inventoryBadge, O[`inventoryBadge--${t}`], a), children: [
2137
+ /* @__PURE__ */ e("span", { className: O.inventoryBadge__indicator, "aria-hidden": "true" }),
2006
2138
  n
2007
2139
  ] })
2008
2140
  );
2009
- $e.displayName = "InventoryBadge";
2010
- const yt = g.forwardRef(
2011
- ({ status: a, statusClass: n, className: t }, r) => {
2012
- const l = n || a.toLowerCase().replace(/\s+/g, "-");
2013
- return /* @__PURE__ */ m("span", { ref: r, className: b(T.statusBadge, T[`statusBadge--${l}`], t), children: [
2014
- /* @__PURE__ */ e("span", { className: T.statusBadge__dot, "aria-hidden": "true" }),
2015
- a
2141
+ je.displayName = "InventoryBadge";
2142
+ const Nt = g.forwardRef(
2143
+ ({ status: t, statusClass: n, className: a }, r) => {
2144
+ const l = n || t.toLowerCase().replace(/\s+/g, "-");
2145
+ return /* @__PURE__ */ m("span", { ref: r, className: b(O.statusBadge, O[`statusBadge--${l}`], a), children: [
2146
+ /* @__PURE__ */ e("span", { className: O.statusBadge__dot, "aria-hidden": "true" }),
2147
+ t
2016
2148
  ] });
2017
2149
  }
2018
2150
  );
2019
- yt.displayName = "LifecycleStatusBadge";
2020
- function Ir(a, n, t, r, l, c, s) {
2021
- const d = t[a];
2151
+ Nt.displayName = "LifecycleStatusBadge";
2152
+ function Tr(t, n, a, r, l, u, s) {
2153
+ const h = a[t];
2022
2154
  switch (n.type) {
2023
2155
  case "text":
2024
- return /* @__PURE__ */ e("span", { children: d ?? "" });
2156
+ return /* @__PURE__ */ e("span", { children: h ?? "" });
2025
2157
  case "double-text": {
2026
- const i = n.secondary ? t[n.secondary] ?? "" : "";
2027
- return /* @__PURE__ */ e(bt, { primary: d ?? "", secondary: i });
2158
+ const i = n.secondary ? a[n.secondary] ?? "" : "";
2159
+ return /* @__PURE__ */ e(wt, { primary: h ?? "", secondary: i });
2028
2160
  }
2029
2161
  case "link":
2030
- return /* @__PURE__ */ e(gt, { children: d ?? "" });
2162
+ return /* @__PURE__ */ e(yt, { children: h ?? "" });
2031
2163
  case "status-badge": {
2032
- const i = n.statusMap || {}, u = d, o = i[u] || u.toLowerCase().replace(/\s+/g, "-");
2033
- return /* @__PURE__ */ e(yt, { status: u, statusClass: o });
2164
+ const i = n.statusMap || {}, o = h, d = i[o] || o.toLowerCase().replace(/\s+/g, "-");
2165
+ return /* @__PURE__ */ e(Nt, { status: o, statusClass: d });
2034
2166
  }
2035
2167
  case "currency": {
2036
- const i = n.currencyField ? t[n.currencyField] ?? "" : "";
2037
- return /* @__PURE__ */ e(vt, { value: d, currency: i });
2168
+ const i = n.currencyField ? a[n.currencyField] ?? "" : "";
2169
+ return /* @__PURE__ */ e(kt, { value: h, currency: i });
2038
2170
  }
2039
2171
  case "inventory": {
2040
- const u = (n.levelFn || (() => "medium"))(d), o = n.formatFn ? n.formatFn(d) : String(d);
2041
- return /* @__PURE__ */ e($e, { level: u, children: o });
2172
+ const o = (n.levelFn || (() => "medium"))(h), d = n.formatFn ? n.formatFn(h) : String(h);
2173
+ return /* @__PURE__ */ e(je, { level: o, children: d });
2042
2174
  }
2043
2175
  case "inventory-label": {
2044
- const u = (n.levelFn || (() => "medium"))(d), o = n.labelMap || { high: "Hoch", medium: "Mittel", low: "Niedrig" };
2045
- return /* @__PURE__ */ e($e, { level: u, children: o[u] });
2176
+ const o = (n.levelFn || (() => "medium"))(h), d = n.labelMap || { high: "Hoch", medium: "Mittel", low: "Niedrig" };
2177
+ return /* @__PURE__ */ e(je, { level: o, children: d[o] });
2046
2178
  }
2047
2179
  case "progress":
2048
- return /* @__PURE__ */ e(lt, { value: d });
2180
+ return /* @__PURE__ */ e(ct, { value: h });
2049
2181
  case "favorite": {
2050
- const i = r.has(t.id);
2182
+ const i = r.has(a.id);
2051
2183
  return /* @__PURE__ */ e(
2052
- de,
2184
+ he,
2053
2185
  {
2054
2186
  pressed: i,
2055
- projectName: t.id,
2187
+ projectName: a.id,
2056
2188
  size: "sm",
2057
- onToggle: () => c?.(t.id),
2058
- onClick: (u) => u.stopPropagation()
2189
+ onToggle: () => u?.(a.id),
2190
+ onClick: (o) => o.stopPropagation()
2059
2191
  }
2060
2192
  );
2061
2193
  }
2062
2194
  case "expand": {
2063
- const i = d;
2195
+ const i = h;
2064
2196
  if (!i || !Array.isArray(i) || i.length === 0)
2065
2197
  return /* @__PURE__ */ e("span", { style: { color: "var(--on-surface-variant)", fontSize: "0.75rem" }, children: "—" });
2066
- const u = `${t.id}::${a}`, o = l.has(u), f = n.expandLabel || "Einträge";
2198
+ const o = `${a.id}::${t}`, d = l.has(o), f = n.expandLabel || "Einträge";
2067
2199
  return /* @__PURE__ */ e(
2068
- ve,
2200
+ we,
2069
2201
  {
2070
- expanded: o,
2202
+ expanded: d,
2071
2203
  count: i.length,
2072
2204
  label: f,
2073
2205
  "aria-label": `${i.length} ${f} anzeigen`,
2074
- onClick: () => s?.(u)
2206
+ onClick: () => s?.(o)
2075
2207
  }
2076
2208
  );
2077
2209
  }
2078
2210
  default:
2079
- return /* @__PURE__ */ e("span", { children: String(d ?? "") });
2211
+ return /* @__PURE__ */ e("span", { children: String(h ?? "") });
2080
2212
  }
2081
2213
  }
2082
- function Lr(a, n, t, r, l) {
2083
- const c = a[n];
2084
- if (!c || !Array.isArray(c) || c.length === 0) return null;
2085
- const s = `${a.id}::${n}`, d = l.has(s), i = t.expandColumns || [], u = t.expandTitleFn ? t.expandTitleFn(a) : n;
2214
+ function Or(t, n, a, r, l) {
2215
+ const u = t[n];
2216
+ if (!u || !Array.isArray(u) || u.length === 0) return null;
2217
+ const s = `${t.id}::${n}`, h = l.has(s), i = a.expandColumns || [], o = a.expandTitleFn ? a.expandTitleFn(t) : n;
2086
2218
  return /* @__PURE__ */ e(
2087
2219
  "tr",
2088
2220
  {
2089
- className: b(K.expansionDrawer, { [K["expansionDrawer--open"]]: d }),
2221
+ className: b(X.expansionDrawer, { [X["expansionDrawer--open"]]: h }),
2090
2222
  "data-drawer-id": s,
2091
- children: /* @__PURE__ */ e("td", { className: K.expansionDrawer__cell, colSpan: r, children: /* @__PURE__ */ m("div", { className: K.expansionDrawer__content, children: [
2092
- /* @__PURE__ */ e("div", { className: K.expansionDrawer__title, children: u }),
2093
- /* @__PURE__ */ m("table", { className: K.crossSellTable, "aria-label": u, children: [
2223
+ children: /* @__PURE__ */ e("td", { className: X.expansionDrawer__cell, colSpan: r, children: /* @__PURE__ */ m("div", { className: X.expansionDrawer__content, children: [
2224
+ /* @__PURE__ */ e("div", { className: X.expansionDrawer__title, children: o }),
2225
+ /* @__PURE__ */ m("table", { className: X.crossSellTable, "aria-label": o, children: [
2094
2226
  /* @__PURE__ */ e("thead", { children: /* @__PURE__ */ m("tr", { children: [
2095
- i.map((o) => /* @__PURE__ */ e("th", { scope: "col", children: o.label }, o.key)),
2227
+ i.map((d) => /* @__PURE__ */ e("th", { scope: "col", children: d.label }, d.key)),
2096
2228
  /* @__PURE__ */ e("th", { scope: "col" })
2097
2229
  ] }) }),
2098
- /* @__PURE__ */ e("tbody", { children: c.map((o, f) => /* @__PURE__ */ m("tr", { children: [
2099
- i.map((v) => {
2100
- const w = o[v.key];
2101
- return v.type === "score-bar" ? /* @__PURE__ */ e("td", { children: /* @__PURE__ */ e(it, { value: w }) }, v.key) : v.bold ? /* @__PURE__ */ e("td", { children: /* @__PURE__ */ e("span", { style: { fontWeight: 500 }, children: w }) }, v.key) : v.muted ? /* @__PURE__ */ e("td", { children: /* @__PURE__ */ e("span", { style: { fontSize: "0.75rem", color: "var(--on-surface-variant)" }, children: w }) }, v.key) : /* @__PURE__ */ e("td", { children: w }, v.key);
2230
+ /* @__PURE__ */ e("tbody", { children: u.map((d, f) => /* @__PURE__ */ m("tr", { children: [
2231
+ i.map((k) => {
2232
+ const y = d[k.key];
2233
+ return k.type === "score-bar" ? /* @__PURE__ */ e("td", { children: /* @__PURE__ */ e(dt, { value: y }) }, k.key) : k.bold ? /* @__PURE__ */ e("td", { children: /* @__PURE__ */ e("span", { style: { fontWeight: 500 }, children: y }) }, k.key) : k.muted ? /* @__PURE__ */ e("td", { children: /* @__PURE__ */ e("span", { style: { fontSize: "0.75rem", color: "var(--on-surface-variant)" }, children: y }) }, k.key) : /* @__PURE__ */ e("td", { children: y }, k.key);
2102
2234
  }),
2103
2235
  /* @__PURE__ */ e("td", { children: /* @__PURE__ */ m(
2104
2236
  "button",
2105
2237
  {
2106
- className: K.quickAddBtn,
2107
- "aria-label": `${o[i[0]?.key] || ""} hinzufügen`,
2238
+ className: X.quickAddBtn,
2239
+ "aria-label": `${d[i[0]?.key] || ""} hinzufügen`,
2108
2240
  children: [
2109
2241
  /* @__PURE__ */ m(
2110
2242
  "svg",
2111
2243
  {
2112
- className: K.quickAddBtn__icon,
2244
+ className: X.quickAddBtn__icon,
2113
2245
  viewBox: "0 0 24 24",
2114
2246
  fill: "none",
2115
2247
  stroke: "currentColor",
@@ -2132,53 +2264,53 @@ function Lr(a, n, t, r, l) {
2132
2264
  s
2133
2265
  );
2134
2266
  }
2135
- const wt = g.forwardRef(
2267
+ const xt = g.forwardRef(
2136
2268
  ({
2137
- rows: a,
2269
+ rows: t,
2138
2270
  columns: n,
2139
- sortColumn: t,
2271
+ sortColumn: a,
2140
2272
  sortDirection: r,
2141
2273
  onSort: l,
2142
- expandedRows: c,
2274
+ expandedRows: u,
2143
2275
  onToggleExpand: s,
2144
- favorites: d,
2276
+ favorites: h,
2145
2277
  onToggleFavorite: i,
2146
- columnWidths: u = {},
2147
- onColumnResize: o,
2278
+ columnWidths: o = {},
2279
+ onColumnResize: d,
2148
2280
  className: f
2149
- }, v) => {
2150
- const w = n.filter(([, _]) => _.visible), p = w.filter(([, _]) => _.type === "expand"), y = w.length, h = w.map(([_, N]) => ({
2281
+ }, k) => {
2282
+ const y = n.filter(([, _]) => _.visible), p = y.filter(([, _]) => _.type === "expand"), w = y.length, c = y.map(([_, C]) => ({
2151
2283
  key: _,
2152
- label: N.type === "favorite" ? void 0 : N.label,
2153
- sortable: N.sortable,
2154
- hideTablet: N.hideTablet,
2155
- hideMobile: N.hideMobile,
2156
- width: N.type === "favorite" ? 40 : void 0,
2157
- headerContent: N.type === "favorite" ? /* @__PURE__ */ e("svg", { width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", "aria-hidden": "true", children: /* @__PURE__ */ e("polygon", { points: "12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2" }) }) : void 0
2284
+ label: C.type === "favorite" ? void 0 : C.label,
2285
+ sortable: C.sortable,
2286
+ hideTablet: C.hideTablet,
2287
+ hideMobile: C.hideMobile,
2288
+ width: C.type === "favorite" ? 40 : void 0,
2289
+ headerContent: C.type === "favorite" ? /* @__PURE__ */ e("svg", { width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", "aria-hidden": "true", children: /* @__PURE__ */ e("polygon", { points: "12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2" }) }) : void 0
2158
2290
  }));
2159
2291
  return /* @__PURE__ */ e(
2160
- Fe,
2292
+ $e,
2161
2293
  {
2162
- ref: v,
2163
- columns: h,
2164
- rows: a,
2294
+ ref: k,
2295
+ columns: c,
2296
+ rows: t,
2165
2297
  rowKey: (_) => _.id,
2166
- renderCell: (_, N) => {
2167
- const I = w.find(([A]) => A === N.key)?.[1];
2168
- return I ? Ir(N.key, I, _, d, c, i, s) : null;
2298
+ renderCell: (_, C) => {
2299
+ const x = y.find(([L]) => L === C.key)?.[1];
2300
+ return x ? Tr(C.key, x, _, h, u, i, s) : null;
2169
2301
  },
2170
- sortColumn: t,
2302
+ sortColumn: a,
2171
2303
  sortDirection: r ?? void 0,
2172
2304
  onSort: l,
2173
2305
  resizable: !0,
2174
- columnWidths: u,
2175
- onColumnResize: o,
2306
+ columnWidths: o,
2307
+ onColumnResize: d,
2176
2308
  renderExpandedRow: (_) => {
2177
2309
  if (p.length === 0) return null;
2178
- const N = p.map(
2179
- ([I, A]) => Lr(_, I, A, y, c)
2310
+ const C = p.map(
2311
+ ([x, L]) => Or(_, x, L, w, u)
2180
2312
  );
2181
- return N.some(Boolean) ? /* @__PURE__ */ e(Q, { children: N }) : null;
2313
+ return C.some(Boolean) ? /* @__PURE__ */ e(J, { children: C }) : null;
2182
2314
  },
2183
2315
  rowAnimation: !0,
2184
2316
  rowDataAttributes: (_) => ({ "data-row-id": _.id }),
@@ -2188,163 +2320,163 @@ const wt = g.forwardRef(
2188
2320
  );
2189
2321
  }
2190
2322
  );
2191
- wt.displayName = "DataTable";
2192
- const Ar = "_listView_atiqa_3", Rr = "_listItem_atiqa_7", $r = "_title_atiqa_11", jr = "_meta_atiqa_20", Fr = "_metaDivider_atiqa_30", Br = "_badges_atiqa_34", Tr = "_price_atiqa_41", J = {
2193
- listView: Ar,
2194
- listItem: Rr,
2195
- title: $r,
2196
- meta: jr,
2197
- metaDivider: Fr,
2198
- badges: Br,
2199
- price: Tr
2200
- }, kt = g.forwardRef(
2323
+ xt.displayName = "DataTable";
2324
+ const zr = "_listView_atiqa_3", Mr = "_listItem_atiqa_7", qr = "_title_atiqa_11", Wr = "_meta_atiqa_20", Vr = "_metaDivider_atiqa_30", Gr = "_badges_atiqa_34", Hr = "_price_atiqa_41", te = {
2325
+ listView: zr,
2326
+ listItem: Mr,
2327
+ title: qr,
2328
+ meta: Wr,
2329
+ metaDivider: Vr,
2330
+ badges: Gr,
2331
+ price: Hr
2332
+ }, Ct = g.forwardRef(
2201
2333
  ({
2202
- rows: a,
2334
+ rows: t,
2203
2335
  columns: n,
2204
- visibleColumns: t,
2336
+ visibleColumns: a,
2205
2337
  titleField: r,
2206
2338
  metaFields: l = [],
2207
- badgeFields: c = [],
2339
+ badgeFields: u = [],
2208
2340
  valueField: s,
2209
- expandField: d,
2341
+ expandField: h,
2210
2342
  favorites: i,
2211
- onToggleFavorite: u,
2212
- expandedRows: o,
2343
+ onToggleFavorite: o,
2344
+ expandedRows: d,
2213
2345
  onToggleExpand: f,
2214
- renderCell: v,
2215
- className: w
2346
+ renderCell: k,
2347
+ className: y
2216
2348
  }, p) => {
2217
- const y = Object.fromEntries(n);
2218
- return /* @__PURE__ */ e(ge, { ref: p, className: b(J.listView, w), children: a.map((h) => {
2219
- const x = i.has(h.id), k = h[r] ?? "", _ = l.filter((C) => !y[C] || t.has(C)), N = c.filter((C) => t.has(C)), I = /* @__PURE__ */ e(
2220
- de,
2349
+ const w = Object.fromEntries(n);
2350
+ return /* @__PURE__ */ e(ve, { ref: p, className: b(te.listView, y), children: t.map((c) => {
2351
+ const N = i.has(c.id), v = c[r] ?? "", _ = l.filter((S) => !w[S] || a.has(S)), C = u.filter((S) => a.has(S)), x = /* @__PURE__ */ e(
2352
+ he,
2221
2353
  {
2222
- pressed: x,
2223
- projectName: h.id,
2354
+ pressed: N,
2355
+ projectName: c.id,
2224
2356
  size: "sm",
2225
- onToggle: () => u?.(h.id),
2226
- onClick: (C) => C.stopPropagation()
2357
+ onToggle: () => o?.(c.id),
2358
+ onClick: (S) => S.stopPropagation()
2227
2359
  }
2228
- ), A = /* @__PURE__ */ m(Q, { children: [
2229
- N.length > 0 && /* @__PURE__ */ e("div", { className: J.badges, children: N.map((C) => {
2230
- const L = y[C];
2231
- return !L || !v ? null : /* @__PURE__ */ e(g.Fragment, { children: v(C, L, h) }, C);
2360
+ ), L = /* @__PURE__ */ m(J, { children: [
2361
+ C.length > 0 && /* @__PURE__ */ e("div", { className: te.badges, children: C.map((S) => {
2362
+ const D = w[S];
2363
+ return !D || !k ? null : /* @__PURE__ */ e(g.Fragment, { children: k(S, D, c) }, S);
2232
2364
  }) }),
2233
- s && t.has(s) && /* @__PURE__ */ e("div", { className: J.price, children: y[s] && v ? v(s, y[s], h) : String(h[s] ?? "") }),
2234
- d && t.has(d) && (() => {
2235
- const C = h[d];
2236
- if (!C || !Array.isArray(C) || C.length === 0) return null;
2237
- const R = y[d]?.expandLabel || "Einträge", D = `${h.id}::${d}`;
2365
+ s && a.has(s) && /* @__PURE__ */ e("div", { className: te.price, children: w[s] && k ? k(s, w[s], c) : String(c[s] ?? "") }),
2366
+ h && a.has(h) && (() => {
2367
+ const S = c[h];
2368
+ if (!S || !Array.isArray(S) || S.length === 0) return null;
2369
+ const R = w[h]?.expandLabel || "Einträge", I = `${c.id}::${h}`;
2238
2370
  return /* @__PURE__ */ e(
2239
- ve,
2371
+ we,
2240
2372
  {
2241
- expanded: o.has(D),
2242
- count: C.length,
2243
- "aria-label": `${C.length} ${R}`,
2244
- onClick: () => f?.(D)
2373
+ expanded: d.has(I),
2374
+ count: S.length,
2375
+ "aria-label": `${S.length} ${R}`,
2376
+ onClick: () => f?.(I)
2245
2377
  }
2246
2378
  );
2247
2379
  })()
2248
2380
  ] });
2249
2381
  return /* @__PURE__ */ m(
2250
- Be,
2382
+ Fe,
2251
2383
  {
2252
- leading: I,
2253
- trailing: A,
2254
- className: J.listItem,
2255
- "data-row-id": h.id,
2384
+ leading: x,
2385
+ trailing: L,
2386
+ className: te.listItem,
2387
+ "data-row-id": c.id,
2256
2388
  children: [
2257
- /* @__PURE__ */ e("div", { className: J.title, children: k }),
2258
- _.length > 0 && /* @__PURE__ */ e("div", { className: J.meta, children: _.map((C, L) => {
2259
- const R = y[C], D = R && v ? v(C, R, h) : /* @__PURE__ */ e("span", { children: String(h[C] ?? "") });
2389
+ /* @__PURE__ */ e("div", { className: te.title, children: v }),
2390
+ _.length > 0 && /* @__PURE__ */ e("div", { className: te.meta, children: _.map((S, D) => {
2391
+ const R = w[S], I = R && k ? k(S, R, c) : void 0, j = I !== void 0 ? I : /* @__PURE__ */ e("span", { children: String(c[S] ?? "") });
2260
2392
  return /* @__PURE__ */ m(g.Fragment, { children: [
2261
- /* @__PURE__ */ e("span", { children: D }),
2262
- L < _.length - 1 && /* @__PURE__ */ e("span", { className: J.metaDivider, "aria-hidden": "true", children: "·" })
2263
- ] }, C);
2393
+ /* @__PURE__ */ e("span", { children: j }),
2394
+ D < _.length - 1 && /* @__PURE__ */ e("span", { className: te.metaDivider, "aria-hidden": "true", children: "·" })
2395
+ ] }, S);
2264
2396
  }) })
2265
2397
  ]
2266
2398
  },
2267
- h.id
2399
+ c.id
2268
2400
  );
2269
2401
  }) });
2270
2402
  }
2271
2403
  );
2272
- kt.displayName = "ListView";
2273
- const Pr = "_cardGrid_h1jiq_3", Er = "_header_h1jiq_11", Or = "_title_h1jiq_17", Mr = "_subtitle_h1jiq_23", zr = "_badges_h1jiq_29", qr = "_row_h1jiq_35", Wr = "_label_h1jiq_41", Vr = "_value_h1jiq_48", Gr = "_footer_h1jiq_55", Hr = "_footerLink_h1jiq_63", M = {
2274
- cardGrid: Pr,
2275
- header: Er,
2276
- title: Or,
2277
- subtitle: Mr,
2278
- badges: zr,
2279
- row: qr,
2280
- label: Wr,
2281
- value: Vr,
2282
- footer: Gr,
2283
- footerLink: Hr
2284
- }, Nt = g.forwardRef(
2404
+ Ct.displayName = "ListView";
2405
+ const Ur = "_cardGrid_h1jiq_3", Qr = "_header_h1jiq_11", Kr = "_title_h1jiq_17", Yr = "_subtitle_h1jiq_23", Xr = "_badges_h1jiq_29", Jr = "_row_h1jiq_35", Zr = "_label_h1jiq_41", es = "_value_h1jiq_48", ts = "_footer_h1jiq_55", as = "_footerLink_h1jiq_63", W = {
2406
+ cardGrid: Ur,
2407
+ header: Qr,
2408
+ title: Kr,
2409
+ subtitle: Yr,
2410
+ badges: Xr,
2411
+ row: Jr,
2412
+ label: Zr,
2413
+ value: es,
2414
+ footer: ts,
2415
+ footerLink: as
2416
+ }, St = g.forwardRef(
2285
2417
  ({
2286
- rows: a,
2418
+ rows: t,
2287
2419
  columns: n,
2288
- visibleColumns: t,
2420
+ visibleColumns: a,
2289
2421
  titleField: r,
2290
2422
  subtitleField: l,
2291
- badgeFields: c = [],
2423
+ badgeFields: u = [],
2292
2424
  cardRows: s = [],
2293
- footerField: d,
2425
+ footerField: h,
2294
2426
  expandField: i,
2295
- favorites: u,
2296
- onToggleFavorite: o,
2427
+ favorites: o,
2428
+ onToggleFavorite: d,
2297
2429
  expandedRows: f,
2298
- onToggleExpand: v,
2299
- renderCell: w,
2430
+ onToggleExpand: k,
2431
+ renderCell: y,
2300
2432
  className: p
2301
- }, y) => {
2302
- const h = Object.fromEntries(n), x = c.filter((_) => t.has(_)), k = s.filter((_) => t.has(_.field));
2303
- return /* @__PURE__ */ e("div", { ref: y, className: b(M.cardGrid, p), children: a.map((_) => {
2304
- const N = u.has(_.id), I = _[r] ?? "", A = !l || !h[l] || t.has(l), C = l && A ? _[l] ?? "" : "", L = !d || !h[d] || t.has(d), R = d && L ? _[d] ?? "" : "";
2305
- return /* @__PURE__ */ m(et, { "data-row-id": _.id, children: [
2306
- /* @__PURE__ */ m("div", { className: M.header, children: [
2433
+ }, w) => {
2434
+ const c = Object.fromEntries(n), N = u.filter((_) => a.has(_)), v = s.filter((_) => a.has(_.field));
2435
+ return /* @__PURE__ */ e("div", { ref: w, className: b(W.cardGrid, p), children: t.map((_) => {
2436
+ const C = o.has(_.id), x = _[r] ?? "", L = !l || !c[l] || a.has(l), S = l && L ? _[l] ?? "" : "", D = !h || !c[h] || a.has(h), R = h && D ? _[h] ?? "" : "";
2437
+ return /* @__PURE__ */ m(nt, { "data-row-id": _.id, children: [
2438
+ /* @__PURE__ */ m("div", { className: W.header, children: [
2307
2439
  /* @__PURE__ */ m("div", { children: [
2308
- /* @__PURE__ */ e("div", { className: M.title, children: I }),
2309
- C && /* @__PURE__ */ e("div", { className: M.subtitle, children: C })
2440
+ /* @__PURE__ */ e("div", { className: W.title, children: x }),
2441
+ S && /* @__PURE__ */ e("div", { className: W.subtitle, children: S })
2310
2442
  ] }),
2311
2443
  /* @__PURE__ */ e(
2312
- de,
2444
+ he,
2313
2445
  {
2314
- pressed: N,
2446
+ pressed: C,
2315
2447
  projectName: _.id,
2316
2448
  size: "sm",
2317
- onToggle: () => o?.(_.id),
2318
- onClick: (D) => D.stopPropagation()
2449
+ onToggle: () => d?.(_.id),
2450
+ onClick: (I) => I.stopPropagation()
2319
2451
  }
2320
2452
  )
2321
2453
  ] }),
2322
- x.length > 0 && /* @__PURE__ */ e("div", { className: M.badges, children: x.map((D) => {
2323
- const O = h[D];
2324
- return !O || !w ? null : /* @__PURE__ */ e(g.Fragment, { children: w(D, O, _) }, D);
2454
+ N.length > 0 && /* @__PURE__ */ e("div", { className: W.badges, children: N.map((I) => {
2455
+ const j = c[I];
2456
+ return !j || !y ? null : /* @__PURE__ */ e(g.Fragment, { children: y(I, j, _) }, I);
2325
2457
  }) }),
2326
- k.map((D) => {
2327
- const O = h[D.field];
2328
- if (!O) return null;
2329
- const q = w ? w(D.field, O, _) : String(_[D.field] ?? "");
2330
- return /* @__PURE__ */ m("div", { className: M.row, children: [
2331
- /* @__PURE__ */ e("span", { className: M.label, children: D.label }),
2332
- /* @__PURE__ */ e("span", { className: M.value, children: q })
2333
- ] }, D.field);
2458
+ v.map((I) => {
2459
+ const j = c[I.field];
2460
+ if (!j) return null;
2461
+ const M = y ? y(I.field, j, _) : void 0, ne = M !== void 0 ? M : String(_[I.field] ?? "");
2462
+ return /* @__PURE__ */ m("div", { className: W.row, children: [
2463
+ /* @__PURE__ */ e("span", { className: W.label, children: I.label }),
2464
+ /* @__PURE__ */ e("span", { className: W.value, children: ne })
2465
+ ] }, I.field);
2334
2466
  }),
2335
- (R || i && t.has(i)) && /* @__PURE__ */ m("div", { className: M.footer, children: [
2336
- /* @__PURE__ */ e("span", { className: M.footerLink, children: R }),
2337
- i && t.has(i) && (() => {
2338
- const D = _[i];
2339
- if (!D || !Array.isArray(D) || D.length === 0) return null;
2340
- const q = h[i]?.expandLabel || "Einträge", _e = `${_.id}::${i}`;
2467
+ (R || i && a.has(i)) && /* @__PURE__ */ m("div", { className: W.footer, children: [
2468
+ /* @__PURE__ */ e("span", { className: W.footerLink, children: R }),
2469
+ i && a.has(i) && (() => {
2470
+ const I = _[i];
2471
+ if (!I || !Array.isArray(I) || I.length === 0) return null;
2472
+ const M = c[i]?.expandLabel || "Einträge", ne = `${_.id}::${i}`;
2341
2473
  return /* @__PURE__ */ e(
2342
- ve,
2474
+ we,
2343
2475
  {
2344
- expanded: f.has(_e),
2345
- count: D.length,
2346
- "aria-label": `${D.length} ${q}`,
2347
- onClick: () => v?.(_e)
2476
+ expanded: f.has(ne),
2477
+ count: I.length,
2478
+ "aria-label": `${I.length} ${M}`,
2479
+ onClick: () => k?.(ne)
2348
2480
  }
2349
2481
  );
2350
2482
  })()
@@ -2353,153 +2485,188 @@ const Pr = "_cardGrid_h1jiq_3", Er = "_header_h1jiq_11", Or = "_title_h1jiq_17",
2353
2485
  }) });
2354
2486
  }
2355
2487
  );
2356
- Nt.displayName = "CardView";
2357
- const Ur = "_configPopover__title_1u5mf_3", Kr = "_configPopover__item_1u5mf_12", Qr = "_configPopover__dragHandle_1u5mf_38", Z = {
2358
- configPopover__title: Ur,
2359
- configPopover__item: Kr,
2360
- configPopover__dragHandle: Qr
2361
- }, xt = g.forwardRef(
2488
+ St.displayName = "CardView";
2489
+ const ns = "_configPopover__title_10fyq_3", rs = "_configPopover__itemWrapper_10fyq_12", ss = "_configPopover__item_10fyq_12", ls = "_configPopover__dragHandle_10fyq_45", is = "_configPopover__dropIndicator_10fyq_59", T = {
2490
+ configPopover__title: ns,
2491
+ configPopover__itemWrapper: rs,
2492
+ configPopover__item: ss,
2493
+ "configPopover__item--dragging": "_configPopover__item--dragging_10fyq_41",
2494
+ configPopover__dragHandle: ls,
2495
+ configPopover__dropIndicator: is,
2496
+ "configPopover__dropIndicator--before": "_configPopover__dropIndicator--before_10fyq_70",
2497
+ "configPopover__dropIndicator--after": "_configPopover__dropIndicator--after_10fyq_74"
2498
+ }, Dt = g.forwardRef(
2362
2499
  ({
2363
- open: a,
2364
- columns: n,
2365
- columnOrder: t,
2366
- visibleColumns: r,
2367
- onToggleColumn: l,
2368
- onReorder: c,
2369
- className: s
2370
- }, d) => {
2371
- const i = Je(null), u = pe((f) => {
2372
- i.current = f;
2373
- }, []), o = pe(
2374
- (f) => {
2375
- if (!i.current || i.current === f) return;
2376
- const v = [...t], w = v.indexOf(i.current), p = v.indexOf(f);
2377
- w === -1 || p === -1 || (v.splice(w, 1), v.splice(p, 0, i.current), i.current = null, c?.(v));
2500
+ open: t,
2501
+ anchorRef: n,
2502
+ columns: a,
2503
+ columnOrder: r,
2504
+ visibleColumns: l,
2505
+ onToggleColumn: u,
2506
+ onReorder: s,
2507
+ className: h
2508
+ }, i) => {
2509
+ const o = tt(null), [d, f] = F(null), [k, y] = F(null), [p, w] = F(null), c = G((x) => {
2510
+ o.current = x, f(x);
2511
+ }, []), N = G(
2512
+ (x, L) => {
2513
+ if (x.preventDefault(), x.dataTransfer.dropEffect = "move", o.current && o.current !== L) {
2514
+ const S = x.currentTarget.getBoundingClientRect(), D = S.top + S.height / 2;
2515
+ y(L), w(x.clientY < D ? "before" : "after");
2516
+ }
2378
2517
  },
2379
- [t, c]
2380
- );
2518
+ []
2519
+ ), v = G((x) => {
2520
+ const L = x.relatedTarget;
2521
+ x.currentTarget.contains(L) || (y(null), w(null));
2522
+ }, []), _ = G(
2523
+ (x, L) => {
2524
+ if (x.preventDefault(), !o.current || o.current === L) return;
2525
+ const S = [...r], D = S.indexOf(o.current), R = S.indexOf(L);
2526
+ if (D === -1 || R === -1) return;
2527
+ S.splice(D, 1);
2528
+ const I = p === "after" ? D < R ? R : R + 1 : D < R ? R - 1 : R;
2529
+ S.splice(Math.max(0, I), 0, o.current), o.current = null, f(null), y(null), w(null), s?.(S);
2530
+ },
2531
+ [r, s, p]
2532
+ ), C = G(() => {
2533
+ o.current = null, f(null), y(null), w(null);
2534
+ }, []);
2381
2535
  return /* @__PURE__ */ m(
2382
- ze,
2536
+ qe,
2383
2537
  {
2384
- ref: d,
2385
- open: a,
2538
+ ref: i,
2539
+ open: t,
2540
+ anchorRef: n,
2541
+ align: "end",
2386
2542
  "aria-label": "Datenfelder konfigurieren",
2387
- className: b(Z.configPopover, s),
2543
+ className: b(T.configPopover, h),
2388
2544
  children: [
2389
- /* @__PURE__ */ e("div", { className: Z.configPopover__title, children: "Sichtbare Datenfelder" }),
2390
- t.map((f) => {
2391
- const v = n[f];
2392
- if (!v) return null;
2393
- const w = r.has(f);
2394
- return /* @__PURE__ */ m(
2395
- "div",
2396
- {
2397
- className: b(Z.configPopover__item, {
2398
- [Z["configPopover__item--checked"]]: w
2399
- }),
2400
- draggable: !0,
2401
- onDragStart: () => u(f),
2402
- onDragOver: (p) => {
2403
- p.preventDefault(), p.dataTransfer.dropEffect = "move";
2404
- },
2405
- onDrop: (p) => {
2406
- p.preventDefault(), o(f);
2407
- },
2408
- onClick: (p) => {
2409
- p.target.closest(`.${Z.configPopover__dragHandle}`) || l?.(f);
2410
- },
2411
- children: [
2412
- /* @__PURE__ */ e(
2413
- ct,
2414
- {
2415
- checked: w,
2416
- label: v.label,
2417
- className: Z.configPopover__checkbox
2418
- }
2419
- ),
2420
- /* @__PURE__ */ e("span", { className: Z.configPopover__dragHandle, "aria-hidden": "true", children: /* @__PURE__ */ m("svg", { width: "10", height: "16", viewBox: "0 0 10 16", fill: "currentColor", children: [
2421
- /* @__PURE__ */ e("circle", { cx: "3", cy: "2", r: "1.25" }),
2422
- /* @__PURE__ */ e("circle", { cx: "7", cy: "2", r: "1.25" }),
2423
- /* @__PURE__ */ e("circle", { cx: "3", cy: "6", r: "1.25" }),
2424
- /* @__PURE__ */ e("circle", { cx: "7", cy: "6", r: "1.25" }),
2425
- /* @__PURE__ */ e("circle", { cx: "3", cy: "10", r: "1.25" }),
2426
- /* @__PURE__ */ e("circle", { cx: "7", cy: "10", r: "1.25" }),
2427
- /* @__PURE__ */ e("circle", { cx: "3", cy: "14", r: "1.25" }),
2428
- /* @__PURE__ */ e("circle", { cx: "7", cy: "14", r: "1.25" })
2429
- ] }) })
2430
- ]
2431
- },
2432
- f
2433
- );
2545
+ /* @__PURE__ */ e("div", { className: T.configPopover__title, children: "Sichtbare Datenfelder" }),
2546
+ r.map((x) => {
2547
+ const L = a[x];
2548
+ if (!L) return null;
2549
+ const S = l.has(x), D = d === x, R = k === x && p === "before" && d !== x, I = k === x && p === "after" && d !== x;
2550
+ return /* @__PURE__ */ m("div", { className: T.configPopover__itemWrapper, children: [
2551
+ R && /* @__PURE__ */ e("div", { className: b(T.configPopover__dropIndicator, T["configPopover__dropIndicator--before"]) }),
2552
+ /* @__PURE__ */ m(
2553
+ "div",
2554
+ {
2555
+ className: b(T.configPopover__item, {
2556
+ [T["configPopover__item--checked"]]: S,
2557
+ [T["configPopover__item--dragging"]]: D
2558
+ }),
2559
+ draggable: !0,
2560
+ onDragStart: () => c(x),
2561
+ onDragOver: (j) => N(j, x),
2562
+ onDragLeave: v,
2563
+ onDrop: (j) => _(j, x),
2564
+ onDragEnd: C,
2565
+ children: [
2566
+ /* @__PURE__ */ e(
2567
+ ut,
2568
+ {
2569
+ checked: S,
2570
+ onChange: () => u?.(x),
2571
+ label: L.label,
2572
+ className: T.configPopover__checkbox
2573
+ }
2574
+ ),
2575
+ /* @__PURE__ */ e(
2576
+ "span",
2577
+ {
2578
+ className: T.configPopover__dragHandle,
2579
+ "aria-hidden": "true",
2580
+ onClick: (j) => j.stopPropagation(),
2581
+ children: /* @__PURE__ */ m("svg", { width: "10", height: "16", viewBox: "0 0 10 16", fill: "currentColor", children: [
2582
+ /* @__PURE__ */ e("circle", { cx: "3", cy: "2", r: "1.25" }),
2583
+ /* @__PURE__ */ e("circle", { cx: "7", cy: "2", r: "1.25" }),
2584
+ /* @__PURE__ */ e("circle", { cx: "3", cy: "6", r: "1.25" }),
2585
+ /* @__PURE__ */ e("circle", { cx: "7", cy: "6", r: "1.25" }),
2586
+ /* @__PURE__ */ e("circle", { cx: "3", cy: "10", r: "1.25" }),
2587
+ /* @__PURE__ */ e("circle", { cx: "7", cy: "10", r: "1.25" }),
2588
+ /* @__PURE__ */ e("circle", { cx: "3", cy: "14", r: "1.25" }),
2589
+ /* @__PURE__ */ e("circle", { cx: "7", cy: "14", r: "1.25" })
2590
+ ] })
2591
+ }
2592
+ )
2593
+ ]
2594
+ }
2595
+ ),
2596
+ I && /* @__PURE__ */ e("div", { className: b(T.configPopover__dropIndicator, T["configPopover__dropIndicator--after"]) })
2597
+ ] }, x);
2434
2598
  })
2435
2599
  ]
2436
2600
  }
2437
2601
  );
2438
2602
  }
2439
2603
  );
2440
- xt.displayName = "ConfigPopover";
2441
- const Yr = "_moreFilters_t87fp_3", Xr = "_moreFilters__header_t87fp_8", Jr = "_moreFilters__title_t87fp_15", Zr = "_moreFilters__clear_t87fp_21", es = "_moreFilters__group_t87fp_35", ts = "_moreFilters__select_t87fp_39", ne = {
2442
- moreFilters: Yr,
2443
- moreFilters__header: Xr,
2444
- moreFilters__title: Jr,
2445
- moreFilters__clear: Zr,
2446
- moreFilters__group: es,
2447
- moreFilters__select: ts
2448
- }, Ct = g.forwardRef(
2604
+ Dt.displayName = "ConfigPopover";
2605
+ const os = "_moreFilters_t87fp_3", cs = "_moreFilters__header_t87fp_8", ds = "_moreFilters__title_t87fp_15", _s = "_moreFilters__clear_t87fp_21", us = "_moreFilters__group_t87fp_35", hs = "_moreFilters__select_t87fp_39", le = {
2606
+ moreFilters: os,
2607
+ moreFilters__header: cs,
2608
+ moreFilters__title: ds,
2609
+ moreFilters__clear: _s,
2610
+ moreFilters__group: us,
2611
+ moreFilters__select: hs
2612
+ }, It = g.forwardRef(
2449
2613
  ({
2450
- open: a,
2451
- columns: n,
2452
- filters: t,
2453
- filterOptions: r,
2454
- onFilterChange: l,
2455
- onClearAll: c,
2456
- className: s
2457
- }, d) => {
2458
- const i = n.filter(
2459
- ([, o]) => o.filterable && !o.primaryFilter
2460
- ), u = i.filter(
2461
- ([o]) => t[o] != null
2614
+ open: t,
2615
+ anchorRef: n,
2616
+ columns: a,
2617
+ filters: r,
2618
+ filterOptions: l,
2619
+ onFilterChange: u,
2620
+ onClearAll: s,
2621
+ className: h
2622
+ }, i) => {
2623
+ const o = a.filter(
2624
+ ([, f]) => f.filterable && !f.primaryFilter
2625
+ ), d = o.filter(
2626
+ ([f]) => r[f] != null
2462
2627
  ).length;
2463
2628
  return /* @__PURE__ */ m(
2464
- ze,
2629
+ qe,
2465
2630
  {
2466
- ref: d,
2467
- open: a,
2631
+ ref: i,
2632
+ open: t,
2633
+ anchorRef: n,
2634
+ align: "start",
2468
2635
  "aria-label": "Weitere Filter",
2469
- className: b(ne.moreFilters, s),
2636
+ className: b(le.moreFilters, h),
2470
2637
  children: [
2471
- /* @__PURE__ */ m("div", { className: ne.moreFilters__header, children: [
2472
- /* @__PURE__ */ e("span", { className: ne.moreFilters__title, children: "Weitere Filter" }),
2473
- u > 0 && /* @__PURE__ */ e(
2638
+ /* @__PURE__ */ m("div", { className: le.moreFilters__header, children: [
2639
+ /* @__PURE__ */ e("span", { className: le.moreFilters__title, children: "Weitere Filter" }),
2640
+ d > 0 && /* @__PURE__ */ e(
2474
2641
  "button",
2475
2642
  {
2476
- className: ne.moreFilters__clear,
2477
- onClick: c,
2643
+ className: le.moreFilters__clear,
2644
+ onClick: s,
2478
2645
  children: "Alle zurücksetzen"
2479
2646
  }
2480
2647
  )
2481
2648
  ] }),
2482
- i.map(([o, f]) => {
2483
- const v = r[o] || [], w = t[o], p = v.map((y) => ({ value: y, label: y }));
2649
+ o.map(([f, k]) => {
2650
+ const y = l[f] || [], p = r[f], w = y.map((c) => ({ value: c, label: c }));
2484
2651
  return /* @__PURE__ */ e(
2485
- z,
2652
+ V,
2486
2653
  {
2487
- label: f.label,
2488
- htmlFor: `filter-${o}`,
2489
- className: ne.moreFilters__group,
2654
+ label: k.label,
2655
+ htmlFor: `filter-${f}`,
2656
+ className: le.moreFilters__group,
2490
2657
  children: /* @__PURE__ */ e(
2491
- re,
2658
+ ie,
2492
2659
  {
2493
- id: `filter-${o}`,
2494
- options: p,
2495
- value: w ?? "",
2496
- onChange: (y) => l?.(o, y === "" ? null : y),
2660
+ id: `filter-${f}`,
2661
+ options: w,
2662
+ value: p ?? "",
2663
+ onChange: (c) => u?.(f, c === "" ? null : c),
2497
2664
  placeholder: "Alle",
2498
- className: ne.moreFilters__select
2665
+ className: le.moreFilters__select
2499
2666
  }
2500
2667
  )
2501
2668
  },
2502
- o
2669
+ f
2503
2670
  );
2504
2671
  })
2505
2672
  ]
@@ -2507,163 +2674,167 @@ const Yr = "_moreFilters_t87fp_3", Xr = "_moreFilters__header_t87fp_8", Jr = "_m
2507
2674
  );
2508
2675
  }
2509
2676
  );
2510
- Ct.displayName = "MoreFiltersPopover";
2511
- const St = g.forwardRef(
2512
- ({ count: a, total: n, label: t = "Einträge", className: r }, l) => /* @__PURE__ */ m("div", { ref: l, className: b(be.resultCount, r), children: [
2513
- /* @__PURE__ */ e("span", { className: be.resultCount__number, children: a }),
2677
+ It.displayName = "MoreFiltersPopover";
2678
+ const Lt = g.forwardRef(
2679
+ ({ count: t, total: n, label: a = "Einträge", className: r }, l) => /* @__PURE__ */ m("div", { ref: l, className: b(be.resultCount, r), children: [
2680
+ /* @__PURE__ */ e("span", { className: be.resultCount__number, children: t }),
2514
2681
  " von ",
2515
2682
  n,
2516
2683
  " ",
2517
- t,
2684
+ a,
2518
2685
  " angezeigt"
2519
2686
  ] })
2520
2687
  );
2521
- St.displayName = "ResultCount";
2522
- const Dt = g.forwardRef(
2688
+ Lt.displayName = "ResultCount";
2689
+ const Rt = g.forwardRef(
2523
2690
  ({
2524
- rows: a,
2691
+ rows: t,
2525
2692
  totalRows: n,
2526
- columns: t,
2693
+ columns: a,
2527
2694
  columnOrder: r,
2528
2695
  visibleColumns: l,
2529
- layout: c,
2696
+ layout: u,
2530
2697
  resultLabel: s = "Einträge",
2531
- currentView: d,
2698
+ currentView: h,
2532
2699
  onViewChange: i,
2533
- searchQuery: u,
2534
- onSearchChange: o,
2700
+ searchQuery: o,
2701
+ onSearchChange: d,
2535
2702
  filters: f,
2536
- filterOptions: v,
2537
- onFilterChange: w,
2703
+ filterOptions: k,
2704
+ onFilterChange: y,
2538
2705
  sortColumn: p,
2539
- sortDirection: y,
2540
- onSort: h,
2541
- expandedRows: x,
2542
- onToggleExpand: k,
2706
+ sortDirection: w,
2707
+ onSort: c,
2708
+ expandedRows: N,
2709
+ onToggleExpand: v,
2543
2710
  favorites: _,
2544
- onToggleFavorite: N,
2545
- columnWidths: I,
2546
- onColumnResize: A,
2547
- onToggleColumn: C,
2548
- onReorderColumns: L,
2711
+ onToggleFavorite: C,
2712
+ columnWidths: x,
2713
+ onColumnResize: L,
2714
+ onToggleColumn: S,
2715
+ onReorderColumns: D,
2549
2716
  onClearSecondaryFilters: R,
2550
- renderListCell: D,
2551
- renderCardCell: O,
2552
- className: q
2553
- }, _e) => {
2554
- const [qe, Lt] = g.useState(!1), [We, At] = g.useState(!1), te = r.filter((j) => t[j]).map((j) => [j, t[j]]), Rt = te.filter(
2555
- ([j]) => l.has(j)
2556
- ), $t = te.filter(
2557
- ([, j]) => j.filterable && !j.primaryFilter
2717
+ renderListCell: I,
2718
+ renderCardCell: j,
2719
+ className: M
2720
+ }, ne) => {
2721
+ const [We, At] = g.useState(!1), [Ve, jt] = g.useState(!1), Ge = g.useRef(null), He = g.useRef(null), re = r.filter((B) => a[B]).map((B) => [B, a[B]]), Bt = re.filter(
2722
+ ([B]) => l.has(B)
2723
+ ), $t = re.filter(
2724
+ ([, B]) => B.filterable && !B.primaryFilter
2558
2725
  ).filter(
2559
- ([j]) => f[j] != null
2726
+ ([B]) => f[B] != null
2560
2727
  ).length;
2561
- return /* @__PURE__ */ m("div", { ref: _e, className: b(be.dataGrid, q), children: [
2728
+ return /* @__PURE__ */ m("div", { ref: ne, className: b(be.dataGrid, M), children: [
2562
2729
  /* @__PURE__ */ e(
2563
- ft,
2730
+ vt,
2564
2731
  {
2565
- currentView: d,
2732
+ currentView: h,
2566
2733
  onViewChange: i,
2567
- searchQuery: u,
2568
- onSearchChange: o,
2569
- columns: te,
2734
+ searchQuery: o,
2735
+ onSearchChange: d,
2736
+ columns: re,
2570
2737
  filters: f,
2571
- filterOptions: v,
2572
- onFilterChange: w,
2573
- onSettingsClick: () => Lt((j) => !j),
2574
- settingsExpanded: qe,
2575
- onMoreFiltersClick: () => At((j) => !j),
2576
- moreFiltersExpanded: We,
2738
+ filterOptions: k,
2739
+ onFilterChange: y,
2740
+ onSettingsClick: () => At((B) => !B),
2741
+ settingsExpanded: We,
2742
+ settingsBtnRef: Ge,
2743
+ onMoreFiltersClick: () => jt((B) => !B),
2744
+ moreFiltersExpanded: Ve,
2745
+ moreFiltersBtnRef: He,
2577
2746
  activeSecondaryFilterCount: $t
2578
2747
  }
2579
2748
  ),
2580
2749
  /* @__PURE__ */ e(
2581
- xt,
2750
+ Dt,
2582
2751
  {
2583
- open: qe,
2584
- columns: t,
2752
+ open: We,
2753
+ anchorRef: Ge,
2754
+ columns: a,
2585
2755
  columnOrder: r,
2586
2756
  visibleColumns: l,
2587
- onToggleColumn: C,
2588
- onReorder: L
2757
+ onToggleColumn: S,
2758
+ onReorder: D
2589
2759
  }
2590
2760
  ),
2591
2761
  /* @__PURE__ */ e(
2592
- Ct,
2762
+ It,
2593
2763
  {
2594
- open: We,
2595
- columns: te,
2764
+ open: Ve,
2765
+ anchorRef: He,
2766
+ columns: re,
2596
2767
  filters: f,
2597
- filterOptions: v,
2598
- onFilterChange: w,
2768
+ filterOptions: k,
2769
+ onFilterChange: y,
2599
2770
  onClearAll: R
2600
2771
  }
2601
2772
  ),
2602
- /* @__PURE__ */ e("div", { className: be.dataGrid__viewPanel, children: a.length === 0 ? /* @__PURE__ */ e(
2603
- Oe,
2773
+ /* @__PURE__ */ e("div", { className: be.dataGrid__viewPanel, children: t.length === 0 ? /* @__PURE__ */ e(
2774
+ ze,
2604
2775
  {
2605
2776
  title: "Keine Ergebnisse",
2606
2777
  text: "Versuche andere Filter oder Suchbegriffe."
2607
2778
  }
2608
- ) : /* @__PURE__ */ m(Q, { children: [
2609
- d === "table" && /* @__PURE__ */ e(
2610
- wt,
2779
+ ) : /* @__PURE__ */ m(J, { children: [
2780
+ h === "table" && /* @__PURE__ */ e(
2781
+ xt,
2611
2782
  {
2612
- rows: a,
2613
- columns: Rt,
2783
+ rows: t,
2784
+ columns: Bt,
2614
2785
  sortColumn: p,
2615
- sortDirection: y,
2616
- onSort: h,
2617
- expandedRows: x,
2618
- onToggleExpand: k,
2786
+ sortDirection: w,
2787
+ onSort: c,
2788
+ expandedRows: N,
2789
+ onToggleExpand: v,
2619
2790
  favorites: _,
2620
- onToggleFavorite: N,
2621
- columnWidths: I,
2622
- onColumnResize: A
2791
+ onToggleFavorite: C,
2792
+ columnWidths: x,
2793
+ onColumnResize: L
2623
2794
  }
2624
2795
  ),
2625
- d === "list" && /* @__PURE__ */ e(
2626
- kt,
2796
+ h === "list" && /* @__PURE__ */ e(
2797
+ Ct,
2627
2798
  {
2628
- rows: a,
2629
- columns: te,
2799
+ rows: t,
2800
+ columns: re,
2630
2801
  visibleColumns: l,
2631
- titleField: c.list.titleField,
2632
- metaFields: c.list.metaFields,
2633
- badgeFields: c.list.badgeFields,
2634
- valueField: c.list.valueField,
2635
- expandField: c.list.expandField,
2802
+ titleField: u.list.titleField,
2803
+ metaFields: u.list.metaFields,
2804
+ badgeFields: u.list.badgeFields,
2805
+ valueField: u.list.valueField,
2806
+ expandField: u.list.expandField,
2636
2807
  favorites: _,
2637
- onToggleFavorite: N,
2638
- expandedRows: x,
2639
- onToggleExpand: k,
2640
- renderCell: D
2808
+ onToggleFavorite: C,
2809
+ expandedRows: N,
2810
+ onToggleExpand: v,
2811
+ renderCell: I
2641
2812
  }
2642
2813
  ),
2643
- d === "cards" && /* @__PURE__ */ e(
2644
- Nt,
2814
+ h === "cards" && /* @__PURE__ */ e(
2815
+ St,
2645
2816
  {
2646
- rows: a,
2647
- columns: te,
2817
+ rows: t,
2818
+ columns: re,
2648
2819
  visibleColumns: l,
2649
- titleField: c.card.titleField,
2650
- subtitleField: c.card.subtitleField,
2651
- badgeFields: c.card.badgeFields,
2652
- cardRows: c.card.rows,
2653
- footerField: c.card.footerField,
2654
- expandField: c.card.expandField,
2820
+ titleField: u.card.titleField,
2821
+ subtitleField: u.card.subtitleField,
2822
+ badgeFields: u.card.badgeFields,
2823
+ cardRows: u.card.rows,
2824
+ footerField: u.card.footerField,
2825
+ expandField: u.card.expandField,
2655
2826
  favorites: _,
2656
- onToggleFavorite: N,
2657
- expandedRows: x,
2658
- onToggleExpand: k,
2659
- renderCell: O
2827
+ onToggleFavorite: C,
2828
+ expandedRows: N,
2829
+ onToggleExpand: v,
2830
+ renderCell: j
2660
2831
  }
2661
2832
  )
2662
2833
  ] }) }),
2663
2834
  /* @__PURE__ */ e(
2664
- St,
2835
+ Lt,
2665
2836
  {
2666
- count: a.length,
2837
+ count: t.length,
2667
2838
  total: n,
2668
2839
  label: s
2669
2840
  }
@@ -2671,8 +2842,8 @@ const Dt = g.forwardRef(
2671
2842
  ] });
2672
2843
  }
2673
2844
  );
2674
- Dt.displayName = "DataGrid";
2675
- function It(a, n) {
2845
+ Rt.displayName = "DataGrid";
2846
+ function Pt(t, n) {
2676
2847
  return {
2677
2848
  currentView: "table",
2678
2849
  searchQuery: "",
@@ -2682,143 +2853,143 @@ function It(a, n) {
2682
2853
  expandedRows: /* @__PURE__ */ new Set(),
2683
2854
  favorites: /* @__PURE__ */ new Set(),
2684
2855
  visibleColumns: new Set(
2685
- n.filter((t) => a[t]?.visible !== !1)
2856
+ n.filter((a) => t[a]?.visible !== !1)
2686
2857
  ),
2687
2858
  columnOrder: n,
2688
2859
  columnWidths: {}
2689
2860
  };
2690
2861
  }
2691
- function as(a, n) {
2862
+ function ms(t, n) {
2692
2863
  switch (n.type) {
2693
2864
  case "SET_VIEW":
2694
- return { ...a, currentView: n.view, expandedRows: /* @__PURE__ */ new Set() };
2865
+ return { ...t, currentView: n.view, expandedRows: /* @__PURE__ */ new Set() };
2695
2866
  case "SET_SEARCH":
2696
- return { ...a, searchQuery: n.query };
2867
+ return { ...t, searchQuery: n.query };
2697
2868
  case "SET_FILTER": {
2698
- const t = { ...a.filters };
2699
- return n.value === null ? delete t[n.key] : t[n.key] = n.value, { ...a, filters: t, expandedRows: /* @__PURE__ */ new Set() };
2869
+ const a = { ...t.filters };
2870
+ return n.value === null ? delete a[n.key] : a[n.key] = n.value, { ...t, filters: a, expandedRows: /* @__PURE__ */ new Set() };
2700
2871
  }
2701
2872
  case "SET_SORT": {
2702
- let { sortColumn: t, sortDirection: r } = a;
2703
- return t === n.column ? r = r === "asc" ? "desc" : "asc" : (t = n.column, r = "asc"), { ...a, sortColumn: t, sortDirection: r };
2873
+ let { sortColumn: a, sortDirection: r } = t;
2874
+ return a === n.column ? r = r === "asc" ? "desc" : "asc" : (a = n.column, r = "asc"), { ...t, sortColumn: a, sortDirection: r };
2704
2875
  }
2705
2876
  case "TOGGLE_EXPAND": {
2706
- const t = new Set(a.expandedRows);
2707
- return t.has(n.compositeKey) ? t.delete(n.compositeKey) : t.add(n.compositeKey), { ...a, expandedRows: t };
2877
+ const a = new Set(t.expandedRows);
2878
+ return a.has(n.compositeKey) ? a.delete(n.compositeKey) : a.add(n.compositeKey), { ...t, expandedRows: a };
2708
2879
  }
2709
2880
  case "TOGGLE_FAVORITE": {
2710
- const t = new Set(a.favorites);
2711
- return t.has(n.id) ? t.delete(n.id) : t.add(n.id), { ...a, favorites: t };
2881
+ const a = new Set(t.favorites);
2882
+ return a.has(n.id) ? a.delete(n.id) : a.add(n.id), { ...t, favorites: a };
2712
2883
  }
2713
2884
  case "SET_COLUMN_WIDTH":
2714
2885
  return {
2715
- ...a,
2716
- columnWidths: { ...a.columnWidths, [n.colKey]: n.width }
2886
+ ...t,
2887
+ columnWidths: { ...t.columnWidths, [n.colKey]: n.width }
2717
2888
  };
2718
2889
  case "TOGGLE_COLUMN": {
2719
- const t = new Set(a.visibleColumns);
2720
- return t.has(n.key) ? t.delete(n.key) : t.add(n.key), { ...a, visibleColumns: t };
2890
+ const a = new Set(t.visibleColumns);
2891
+ return a.has(n.key) ? a.delete(n.key) : a.add(n.key), { ...t, visibleColumns: a };
2721
2892
  }
2722
2893
  case "REORDER_COLUMNS":
2723
- return { ...a, columnOrder: n.newOrder };
2894
+ return { ...t, columnOrder: n.newOrder };
2724
2895
  case "CLEAR_SECONDARY_FILTERS": {
2725
- const t = { ...a.filters };
2726
- return Object.keys(t).forEach((r) => {
2727
- n.primaryFilterKeys.has(r) || delete t[r];
2728
- }), { ...a, filters: t };
2896
+ const a = { ...t.filters };
2897
+ return Object.keys(a).forEach((r) => {
2898
+ n.primaryFilterKeys.has(r) || delete a[r];
2899
+ }), { ...t, filters: a };
2729
2900
  }
2730
2901
  case "SWITCH_SOURCE":
2731
2902
  return {
2732
- ...It(n.columns, n.columnOrder),
2733
- favorites: a.favorites
2903
+ ...Pt(n.columns, n.columnOrder),
2904
+ favorites: t.favorites
2734
2905
  };
2735
2906
  default:
2736
- return a;
2907
+ return t;
2737
2908
  }
2738
2909
  }
2739
- function ns(a, n, t) {
2740
- let r = a;
2741
- if (t.searchQuery) {
2742
- const l = t.searchQuery.toLowerCase(), c = Object.entries(n).filter(([, s]) => s.searchable !== !1 && s.type !== "expand").map(([s]) => s);
2910
+ function ps(t, n, a) {
2911
+ let r = t;
2912
+ if (a.searchQuery) {
2913
+ const l = a.searchQuery.toLowerCase(), u = Object.entries(n).filter(([, s]) => s.searchable !== !1 && s.type !== "expand").map(([s]) => s);
2743
2914
  r = r.filter(
2744
- (s) => c.some((d) => {
2745
- const i = s[d];
2915
+ (s) => u.some((h) => {
2916
+ const i = s[h];
2746
2917
  return i != null && String(i).toLowerCase().includes(l);
2747
2918
  })
2748
2919
  );
2749
2920
  }
2750
- if (Object.entries(t.filters).forEach(([l, c]) => {
2751
- if (c == null) return;
2921
+ if (Object.entries(a.filters).forEach(([l, u]) => {
2922
+ if (u == null) return;
2752
2923
  const s = n[l];
2753
- s && (s.filterFn ? r = r.filter((d) => s.filterFn(d, c)) : r = r.filter((d) => String(d[l]) === c));
2754
- }), t.sortColumn) {
2755
- const l = t.sortColumn, c = t.sortDirection === "asc" ? 1 : -1;
2756
- r = [...r].sort((s, d) => {
2757
- const i = s[l], u = d[l];
2758
- return i == null && u == null ? 0 : i == null ? c : u == null ? -c : typeof i == "number" && typeof u == "number" ? (i - u) * c : String(i).localeCompare(String(u)) * c;
2924
+ s && (s.filterFn ? r = r.filter((h) => s.filterFn(h, u)) : r = r.filter((h) => String(h[l]) === u));
2925
+ }), a.sortColumn) {
2926
+ const l = a.sortColumn, u = a.sortDirection === "asc" ? 1 : -1;
2927
+ r = [...r].sort((s, h) => {
2928
+ const i = s[l], o = h[l];
2929
+ return i == null && o == null ? 0 : i == null ? u : o == null ? -u : typeof i == "number" && typeof o == "number" ? (i - o) * u : String(i).localeCompare(String(o)) * u;
2759
2930
  });
2760
2931
  }
2761
2932
  return r;
2762
2933
  }
2763
- function rs(a, n) {
2764
- const t = {};
2934
+ function fs(t, n) {
2935
+ const a = {};
2765
2936
  return Object.entries(n).forEach(([r, l]) => {
2766
2937
  if (!l.filterable) return;
2767
2938
  if (l.filterOptions) {
2768
- t[r] = l.filterOptions;
2939
+ a[r] = l.filterOptions;
2769
2940
  return;
2770
2941
  }
2771
- const c = /* @__PURE__ */ new Set();
2772
- a.forEach((s) => {
2773
- const d = s[r];
2774
- d != null && c.add(String(d));
2775
- }), t[r] = [...c].sort();
2776
- }), t;
2942
+ const u = /* @__PURE__ */ new Set();
2943
+ t.forEach((s) => {
2944
+ const h = s[r];
2945
+ h != null && u.add(String(h));
2946
+ }), a[r] = [...u].sort();
2947
+ }), a;
2777
2948
  }
2778
- const ss = g.forwardRef(
2779
- ({ sources: a, initialSourceKey: n, className: t }, r) => {
2780
- const [l, c] = g.useState(
2781
- n ?? a[0]?.key ?? ""
2782
- ), s = a.find((p) => p.key === l) ?? a[0], d = ee(() => Object.keys(s.columns), [s]), [i, u] = jt(
2783
- as,
2784
- { columns: s.columns, columnOrder: d },
2785
- ({ columns: p, columnOrder: y }) => It(p, y)
2786
- ), o = pe(
2949
+ const gs = g.forwardRef(
2950
+ ({ sources: t, initialSourceKey: n, className: a }, r) => {
2951
+ const [l, u] = g.useState(
2952
+ n ?? t[0]?.key ?? ""
2953
+ ), s = t.find((p) => p.key === l) ?? t[0], h = ae(() => Object.keys(s.columns), [s]), [i, o] = Et(
2954
+ ms,
2955
+ { columns: s.columns, columnOrder: h },
2956
+ ({ columns: p, columnOrder: w }) => Pt(p, w)
2957
+ ), d = G(
2787
2958
  (p) => {
2788
- const y = a.find((x) => x.key === p);
2789
- if (!y) return;
2790
- c(p);
2791
- const h = Object.keys(y.columns);
2792
- u({
2959
+ const w = t.find((N) => N.key === p);
2960
+ if (!w) return;
2961
+ u(p);
2962
+ const c = Object.keys(w.columns);
2963
+ o({
2793
2964
  type: "SWITCH_SOURCE",
2794
- columns: y.columns,
2795
- columnOrder: h
2965
+ columns: w.columns,
2966
+ columnOrder: c
2796
2967
  });
2797
2968
  },
2798
- [a]
2799
- ), f = ee(
2800
- () => ns(s.data, s.columns, i),
2969
+ [t]
2970
+ ), f = ae(
2971
+ () => ps(s.data, s.columns, i),
2801
2972
  [s.data, s.columns, i]
2802
- ), v = ee(
2803
- () => rs(s.data, s.columns),
2973
+ ), k = ae(
2974
+ () => fs(s.data, s.columns),
2804
2975
  [s.data, s.columns]
2805
- ), w = ee(
2976
+ ), y = ae(
2806
2977
  () => new Set(
2807
2978
  Object.entries(s.columns).filter(([, p]) => p.filterable && p.primaryFilter).map(([p]) => p)
2808
2979
  ),
2809
2980
  [s.columns]
2810
2981
  );
2811
- return /* @__PURE__ */ m("div", { ref: r, className: b(Vn.page, t), children: [
2982
+ return /* @__PURE__ */ m("div", { ref: r, className: b(er.page, a), children: [
2812
2983
  /* @__PURE__ */ e(
2813
- pt,
2984
+ bt,
2814
2985
  {
2815
- sources: a,
2986
+ sources: t,
2816
2987
  activeSourceKey: l,
2817
- onSourceChange: o
2988
+ onSourceChange: d
2818
2989
  }
2819
2990
  ),
2820
2991
  /* @__PURE__ */ e(
2821
- Dt,
2992
+ Rt,
2822
2993
  {
2823
2994
  rows: f,
2824
2995
  totalRows: s.data.length,
@@ -2828,73 +2999,73 @@ const ss = g.forwardRef(
2828
2999
  layout: s.layout,
2829
3000
  resultLabel: s.resultLabel,
2830
3001
  currentView: i.currentView,
2831
- onViewChange: (p) => u({ type: "SET_VIEW", view: p }),
3002
+ onViewChange: (p) => o({ type: "SET_VIEW", view: p }),
2832
3003
  searchQuery: i.searchQuery,
2833
- onSearchChange: (p) => u({ type: "SET_SEARCH", query: p }),
3004
+ onSearchChange: (p) => o({ type: "SET_SEARCH", query: p }),
2834
3005
  filters: i.filters,
2835
- filterOptions: v,
2836
- onFilterChange: (p, y) => u({ type: "SET_FILTER", key: p, value: y }),
3006
+ filterOptions: k,
3007
+ onFilterChange: (p, w) => o({ type: "SET_FILTER", key: p, value: w }),
2837
3008
  sortColumn: i.sortColumn,
2838
3009
  sortDirection: i.sortDirection,
2839
- onSort: (p) => u({ type: "SET_SORT", column: p }),
3010
+ onSort: (p) => o({ type: "SET_SORT", column: p }),
2840
3011
  expandedRows: i.expandedRows,
2841
- onToggleExpand: (p) => u({ type: "TOGGLE_EXPAND", compositeKey: p }),
3012
+ onToggleExpand: (p) => o({ type: "TOGGLE_EXPAND", compositeKey: p }),
2842
3013
  favorites: i.favorites,
2843
- onToggleFavorite: (p) => u({ type: "TOGGLE_FAVORITE", id: p }),
3014
+ onToggleFavorite: (p) => o({ type: "TOGGLE_FAVORITE", id: p }),
2844
3015
  columnWidths: i.columnWidths,
2845
- onColumnResize: (p, y) => u({ type: "SET_COLUMN_WIDTH", colKey: p, width: y }),
2846
- onToggleColumn: (p) => u({ type: "TOGGLE_COLUMN", key: p }),
2847
- onReorderColumns: (p) => u({ type: "REORDER_COLUMNS", newOrder: p }),
2848
- onClearSecondaryFilters: () => u({ type: "CLEAR_SECONDARY_FILTERS", primaryFilterKeys: w })
3016
+ onColumnResize: (p, w) => o({ type: "SET_COLUMN_WIDTH", colKey: p, width: w }),
3017
+ onToggleColumn: (p) => o({ type: "TOGGLE_COLUMN", key: p }),
3018
+ onReorderColumns: (p) => o({ type: "REORDER_COLUMNS", newOrder: p }),
3019
+ onClearSecondaryFilters: () => o({ type: "CLEAR_SECONDARY_FILTERS", primaryFilterKeys: y })
2849
3020
  }
2850
3021
  )
2851
3022
  ] });
2852
3023
  }
2853
3024
  );
2854
- ss.displayName = "DataVisualizationPage";
3025
+ gs.displayName = "DataVisualizationPage";
2855
3026
  export {
2856
- ce as Avatar,
2857
- Te as AvatarGroup,
2858
- Ie as Badge,
2859
- ge as BaseList,
2860
- Fe as BaseTable,
2861
- W as Button,
2862
- Nt as CardView,
2863
- ct as Checkbox,
2864
- Le as Checklist,
2865
- xt as ConfigPopover,
2866
- Dn as DashboardPage,
2867
- et as DataCard,
2868
- Dt as DataGrid,
2869
- wt as DataTable,
2870
- ss as DataVisualizationPage,
2871
- pt as DomainSwitcher,
2872
- Oe as EmptyState,
2873
- ve as ExpandButton,
2874
- de as FavoriteButton,
2875
- ot as FilterChip,
2876
- z as FormField,
2877
- Be as ListItem,
2878
- kt as ListView,
2879
- _t as Modal,
2880
- Ct as MoreFiltersPopover,
2881
- ze as Popover,
2882
- Pe as PriorityBadge,
2883
- lt as ProgressCircle,
2884
- rt as ProjectTable,
2885
- it as ScoreBar,
2886
- Ee as SearchInput,
3027
+ ue as Avatar,
3028
+ Ee as AvatarGroup,
3029
+ Le as Badge,
3030
+ ve as BaseList,
3031
+ $e as BaseTable,
3032
+ H as Button,
3033
+ St as CardView,
3034
+ ut as Checkbox,
3035
+ Re as Checklist,
3036
+ Dt as ConfigPopover,
3037
+ En as DashboardPage,
3038
+ nt as DataCard,
3039
+ Rt as DataGrid,
3040
+ xt as DataTable,
3041
+ gs as DataVisualizationPage,
3042
+ bt as DomainSwitcher,
3043
+ ze as EmptyState,
3044
+ we as ExpandButton,
3045
+ he as FavoriteButton,
3046
+ _t as FilterChip,
3047
+ V as FormField,
3048
+ Fe as ListItem,
3049
+ Ct as ListView,
3050
+ mt as Modal,
3051
+ It as MoreFiltersPopover,
3052
+ qe as Popover,
3053
+ Te as PriorityBadge,
3054
+ ct as ProgressCircle,
3055
+ it as ProjectTable,
3056
+ dt as ScoreBar,
3057
+ Oe as SearchInput,
2887
3058
  Me as SegmentedControl,
2888
- re as Select,
2889
- tt as StatusBadge,
2890
- nt as StatusChart,
2891
- st as StatusDropdown,
2892
- at as StatusLegendItem,
2893
- mt as TaskDetailModal,
2894
- ut as TaskItem,
2895
- qn as TaskWidget,
2896
- dt as TextArea,
2897
- Re as TextInput,
2898
- ft as Toolbar,
2899
- fe as WidgetCard
3059
+ ie as Select,
3060
+ rt as StatusBadge,
3061
+ lt as StatusChart,
3062
+ ot as StatusDropdown,
3063
+ st as StatusLegendItem,
3064
+ gt as TaskDetailModal,
3065
+ pt as TaskItem,
3066
+ Jn as TaskWidget,
3067
+ ht as TextArea,
3068
+ Ae as TextInput,
3069
+ vt as Toolbar,
3070
+ ge as WidgetCard
2900
3071
  };