@fastnd/components 1.0.17 → 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.
Files changed (2) hide show
  1. package/dist/components.js +925 -896
  2. package/package.json +1 -1
@@ -1,6 +1,6 @@
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_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 Y } from "react/jsx-runtime";
3
- import b, { useCallback as le, useState as E, useRef as tt, useEffect as Be, useLayoutEffect as Et, useMemo as te, useReducer as Pt } from "react";
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
4
  function at(t) {
5
5
  var n, a, r = "";
6
6
  if (typeof t == "string" || typeof t == "number") r += t;
@@ -10,17 +10,17 @@ function at(t) {
10
10
  } else for (a in t) t[a] && (r && (r += " "), r += a);
11
11
  return r;
12
12
  }
13
- function v() {
13
+ function b() {
14
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 Tt = "_tableContainer_uxpjj_4", Ot = "_table_uxpjj_4", zt = "_table__head_uxpjj_18", Mt = "_sortable_uxpjj_32", Wt = "_sortIndicator_uxpjj_48", qt = "_colResizeHandle_uxpjj_61", Vt = "_table__row_uxpjj_87", B = {
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
18
  tableContainer: Tt,
19
19
  table: Ot,
20
20
  table__head: zt,
21
21
  sortable: Mt,
22
- sortIndicator: Wt,
23
- colResizeHandle: qt,
22
+ sortIndicator: qt,
23
+ colResizeHandle: Wt,
24
24
  "table--resizing": "_table--resizing_uxpjj_77",
25
25
  table__row: Vt,
26
26
  "table__row--animated": "_table__row--animated_uxpjj_108",
@@ -37,61 +37,61 @@ function Gt({
37
37
  onSort: s,
38
38
  resizable: h = !1,
39
39
  columnWidths: i = {},
40
- onColumnResize: c,
40
+ onColumnResize: o,
41
41
  renderExpandedRow: d,
42
42
  rowAnimation: f = !1,
43
- rowClassName: y,
44
- rowDataAttributes: k,
43
+ rowClassName: k,
44
+ rowDataAttributes: y,
45
45
  ariaLabel: p,
46
- className: g,
47
- ...o
46
+ className: w,
47
+ ...c
48
48
  }, N) {
49
- const w = le(
50
- (_, x, S) => {
51
- const R = x.offsetWidth, C = x.closest("table"), L = (I) => {
52
- const O = I.clientX - S, q = Math.max(60, R + O);
53
- x.style.width = `${q}px`, x.style.minWidth = `${q}px`, c?.(_, q);
54
- }, A = () => {
55
- C?.classList.remove(B["table--resizing"]), document.removeEventListener("mousemove", L), document.removeEventListener("mouseup", A);
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
+ }, R = () => {
55
+ S?.classList.remove($["table--resizing"]), document.removeEventListener("mousemove", D), document.removeEventListener("mouseup", R);
56
56
  };
57
- C?.classList.add(B["table--resizing"]), document.addEventListener("mousemove", L), document.addEventListener("mouseup", A);
57
+ S?.classList.add($["table--resizing"]), document.addEventListener("mousemove", D), document.addEventListener("mouseup", R);
58
58
  },
59
- [c]
59
+ [o]
60
60
  );
61
- return /* @__PURE__ */ e("div", { ref: N, className: v(B.tableContainer, g), tabIndex: 0, ...o, children: /* @__PURE__ */ m("table", { className: B.table, "aria-label": p, children: [
62
- /* @__PURE__ */ e("thead", { className: B.table__head, children: /* @__PURE__ */ e("tr", { children: t.map((_) => {
63
- const x = v({
64
- [B["col-hide-tablet"]]: _.hideTablet,
65
- [B["col-hide-mobile"]]: _.hideMobile
66
- }), S = 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, R = l === _.key, C = R ? u === "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: v(x || void 0, { [B.sortable]: _.sortable }),
72
- style: S,
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
- h && L.target.closest(`.${B.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(Y, { children: [
82
+ _.headerContent != null ? _.headerContent : /* @__PURE__ */ m(J, { children: [
83
83
  _.label,
84
- _.sortable && /* @__PURE__ */ e("span", { className: B.sortIndicator, "aria-hidden": "true", children: R ? u === "asc" ? "↑" : "↓" : "↕" })
84
+ _.sortable && /* @__PURE__ */ e("span", { className: $.sortIndicator, "aria-hidden": "true", children: L ? u === "asc" ? "↑" : "↓" : "↕" })
85
85
  ] }),
86
86
  h && /* @__PURE__ */ e(
87
87
  "span",
88
88
  {
89
- className: B.colResizeHandle,
89
+ className: $.colResizeHandle,
90
90
  "data-resize-col": _.key,
91
- onMouseDown: (L) => {
92
- L.preventDefault(), L.stopPropagation();
93
- const A = L.target.closest("th");
94
- w(_.key, A, 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,46 +100,46 @@ function Gt({
100
100
  _.key
101
101
  );
102
102
  }) }) }),
103
- /* @__PURE__ */ e("tbody", { children: n.map((_, x) => {
104
- const S = a(_, x), R = y?.(_, x), C = k?.(_) ?? {}, L = d?.(_, x) ?? null;
105
- return /* @__PURE__ */ m(b.Fragment, { children: [
103
+ /* @__PURE__ */ e("tbody", { children: n.map((_, C) => {
104
+ const x = a(_, C), L = k?.(_, C), S = y?.(_) ?? {}, D = d?.(_, C) ?? null;
105
+ return /* @__PURE__ */ m(g.Fragment, { children: [
106
106
  /* @__PURE__ */ e(
107
107
  "tr",
108
108
  {
109
- className: v(
110
- B.table__row,
111
- { [B["table__row--animated"]]: f },
112
- R
109
+ className: b(
110
+ $.table__row,
111
+ { [$["table__row--animated"]]: f },
112
+ L
113
113
  ),
114
- style: f ? { animationDelay: `${x * 20}ms` } : void 0,
115
- ...C,
116
- children: t.map((A) => {
117
- const I = v({
118
- [B["col-hide-tablet"]]: A.hideTablet,
119
- [B["col-hide-mobile"]]: A.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: I || void 0, children: r(_, A, x) }, A.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
- ] }, S);
125
+ D
126
+ ] }, x);
127
127
  }) })
128
128
  ] }) });
129
129
  }
130
- const Fe = b.forwardRef(Gt);
131
- Fe.displayName = "BaseTable";
132
- const Ht = "_widgetCard_106xz_4", Ut = "_fadeIn_106xz_1", Kt = "_widgetCard__header_106xz_23", Qt = "_widgetCard__title_106xz_37", Yt = "_widgetCard__content_106xz_52", X = {
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
133
  widgetCard: Ht,
134
134
  fadeIn: Ut,
135
135
  "widgetCard--half": "_widgetCard--half_106xz_18",
136
- widgetCard__header: Kt,
136
+ widgetCard__header: Qt,
137
137
  "widgetCard--full": "_widgetCard--full_106xz_33",
138
- widgetCard__title: Qt,
138
+ widgetCard__title: Kt,
139
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
- }, be = b.forwardRef(
142
+ }, ge = g.forwardRef(
143
143
  ({
144
144
  title: t,
145
145
  headerAction: n,
@@ -150,30 +150,30 @@ const Ht = "_widgetCard_106xz_4", Ut = "_fadeIn_106xz_1", Kt = "_widgetCard__hea
150
150
  children: s,
151
151
  className: h,
152
152
  ...i
153
- }, c) => {
153
+ }, o) => {
154
154
  const d = t != null || n != null;
155
155
  return /* @__PURE__ */ m(
156
156
  u,
157
157
  {
158
- ref: c,
159
- className: v(
160
- X.widgetCard,
161
- X[`widgetCard--${a}`],
158
+ ref: o,
159
+ className: b(
160
+ Z.widgetCard,
161
+ Z[`widgetCard--${a}`],
162
162
  h
163
163
  ),
164
164
  ...i,
165
165
  children: [
166
- d && /* @__PURE__ */ m("header", { className: X.widgetCard__header, children: [
167
- t != null && /* @__PURE__ */ e("h2", { className: X.widgetCard__title, children: t }),
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
- className: v(
174
- X.widgetCard__content,
175
- { [X["widgetCard__content--scrollable"]]: r },
176
- { [X["widgetCard__content--padded"]]: l }
173
+ className: b(
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,18 +183,18 @@ const Ht = "_widgetCard_106xz_4", Ut = "_fadeIn_106xz_1", Kt = "_widgetCard__hea
183
183
  );
184
184
  }
185
185
  );
186
- be.displayName = "WidgetCard";
186
+ ge.displayName = "WidgetCard";
187
187
  const Xt = "_dataCard_13ip1_3", Ue = {
188
188
  dataCard: Xt,
189
189
  "dataCard--clickable": "_dataCard--clickable_13ip1_18"
190
- }, nt = b.forwardRef(
190
+ }, nt = g.forwardRef(
191
191
  ({ onClick: t, className: n, children: a, ...r }, l) => {
192
192
  const u = t != null;
193
193
  return /* @__PURE__ */ e(
194
194
  "div",
195
195
  {
196
196
  ref: l,
197
- className: v(
197
+ className: b(
198
198
  Ue.dataCard,
199
199
  { [Ue["dataCard--clickable"]]: u },
200
200
  n
@@ -212,18 +212,18 @@ const Xt = "_dataCard_13ip1_3", Ue = {
212
212
  }
213
213
  );
214
214
  nt.displayName = "DataCard";
215
- const Jt = "_baseList_1s0k1_3", Ke = {
215
+ const Jt = "_baseList_1s0k1_3", Qe = {
216
216
  baseList: Jt,
217
217
  "baseList--scrollable": "_baseList--scrollable_1s0k1_8"
218
- }, ve = b.forwardRef(
218
+ }, ve = g.forwardRef(
219
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
- className: v(
225
- Ke.baseList,
226
- { [Ke["baseList--scrollable"]]: t },
224
+ className: b(
225
+ Qe.baseList,
226
+ { [Qe["baseList--scrollable"]]: t },
227
227
  n
228
228
  ),
229
229
  ...r,
@@ -232,15 +232,15 @@ const Jt = "_baseList_1s0k1_3", Ke = {
232
232
  )
233
233
  );
234
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", ie = {
235
+ const Zt = "_listItem_1x1io_3", ea = "_listItem__leading_1x1io_31", ta = "_listItem__content_1x1io_37", aa = "_listItem__trailing_1x1io_42", oe = {
236
236
  listItem: Zt,
237
237
  "listItem--clickable": "_listItem--clickable_1x1io_21",
238
238
  listItem__leading: ea,
239
239
  listItem__content: ta,
240
240
  listItem__trailing: aa
241
- }, Ee = b.forwardRef(
241
+ }, Fe = g.forwardRef(
242
242
  ({ leading: t, trailing: n, onClick: a, as: r = "div", className: l, children: u, ...s }, h) => {
243
- const i = a != null, c = (d) => {
243
+ const i = a != null, o = (d) => {
244
244
  i && (d.key === "Enter" || d.key === " ") && (d.preventDefault(), a?.());
245
245
  };
246
246
  return /* @__PURE__ */ m(
@@ -249,25 +249,25 @@ const Zt = "_listItem_1x1io_3", ea = "_listItem__leading_1x1io_31", ta = "_listI
249
249
  ref: h,
250
250
  role: "listitem",
251
251
  tabIndex: 0,
252
- className: v(
253
- ie.listItem,
254
- { [ie["listItem--clickable"]]: i },
252
+ className: b(
253
+ oe.listItem,
254
+ { [oe["listItem--clickable"]]: i },
255
255
  l
256
256
  ),
257
257
  onClick: i ? a : void 0,
258
- onKeyDown: c,
258
+ onKeyDown: o,
259
259
  ...s,
260
260
  children: [
261
- t != null && /* @__PURE__ */ e("div", { className: ie.listItem__leading, children: t }),
262
- /* @__PURE__ */ e("div", { className: ie.listItem__content, children: u }),
263
- n != null && /* @__PURE__ */ e("div", { className: ie.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
- Ee.displayName = "ListItem";
270
- const Qe = {
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",
@@ -280,7 +280,7 @@ const Qe = {
280
280
  "in-prufung": "In Prüfung",
281
281
  validierung: "Validierung",
282
282
  abgeschlossen: "Abgeschlossen"
283
- }, rt = b.forwardRef(
283
+ }, rt = g.forwardRef(
284
284
  ({ status: t, color: n, backgroundColor: a, className: r, style: l, ...u }, s) => {
285
285
  const h = {
286
286
  ...l,
@@ -291,7 +291,7 @@ const Qe = {
291
291
  "span",
292
292
  {
293
293
  ref: s,
294
- className: v(Qe["status-badge"], Qe[`status-badge--${t}`], r),
294
+ className: b(Ke["status-badge"], Ke[`status-badge--${t}`], r),
295
295
  style: h,
296
296
  ...u,
297
297
  children: na[t]
@@ -305,19 +305,19 @@ const ye = {
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
- }, ue = b.forwardRef(
309
- ({ pressed: t, projectName: n, onToggle: a, size: r = "md", color: l, activeColor: u, className: s, style: h, onClick: i, ...c }, d) => {
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
311
  ...h,
312
312
  "--custom-color": l,
313
313
  "--custom-active-color": u
314
- }, y = t ? `Von Favoriten entfernen: ${n}` : `Zu Favoriten hinzufügen: ${n}`;
314
+ }, k = t ? `Von Favoriten entfernen: ${n}` : `Zu Favoriten hinzufügen: ${n}`;
315
315
  return /* @__PURE__ */ e(
316
316
  "button",
317
317
  {
318
318
  ref: d,
319
319
  type: "button",
320
- className: v(
320
+ className: b(
321
321
  ye["favorite-btn"],
322
322
  ye[`favorite-btn--${r}`],
323
323
  { [ye["favorite-btn--active"]]: t },
@@ -325,11 +325,11 @@ const ye = {
325
325
  ),
326
326
  style: f,
327
327
  "aria-pressed": t,
328
- "aria-label": y,
329
- onClick: (k) => {
330
- a?.(!t), i?.(k);
328
+ "aria-label": k,
329
+ onClick: (y) => {
330
+ a?.(!t), i?.(y);
331
331
  },
332
- ...c,
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
- ue.displayName = "FavoriteButton";
350
- const J = {
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 J = {
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
- }, st = b.forwardRef(
363
+ }, st = g.forwardRef(
364
364
  ({ status: t, label: n, count: a, active: r = !1, color: l, className: u, style: s, ...h }, i) => {
365
- const c = {
365
+ const o = {
366
366
  ...s,
367
367
  "--custom-color": l
368
368
  };
@@ -373,32 +373,32 @@ const J = {
373
373
  type: "button",
374
374
  role: "option",
375
375
  "aria-selected": r,
376
- className: v(
377
- J["status-legend__item"],
378
- { [J["status-legend__item--active"]]: r },
376
+ className: b(
377
+ ee["status-legend__item"],
378
+ { [ee["status-legend__item--active"]]: r },
379
379
  u
380
380
  ),
381
- style: c,
381
+ style: o,
382
382
  ...h,
383
383
  children: [
384
- /* @__PURE__ */ m("div", { className: J["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: v(J["status-legend__color"], J[`color-${t}`]),
388
+ className: b(ee["status-legend__color"], ee[`color-${t}`]),
389
389
  "aria-hidden": "true"
390
390
  }
391
391
  ),
392
- /* @__PURE__ */ e("span", { className: J["status-legend__label"], children: n })
392
+ /* @__PURE__ */ e("span", { className: ee["status-legend__label"], children: n })
393
393
  ] }),
394
- /* @__PURE__ */ e("span", { className: J["status-legend__count"], children: a })
394
+ /* @__PURE__ */ e("span", { className: ee["status-legend__count"], children: a })
395
395
  ]
396
396
  }
397
397
  );
398
398
  }
399
399
  );
400
400
  st.displayName = "StatusLegendItem";
401
- const G = {
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,21 +407,21 @@ const G = {
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
- }, lt = b.forwardRef(
410
+ }, lt = g.forwardRef(
411
411
  ({ data: t, totalLabel: n = "Gesamt", onSegmentClick: a, className: r, ...l }, u) => {
412
- const [s, h] = E(null), i = t.reduce((g, o) => g + o.value, 0), c = 240, d = c / 2, f = 100, y = 40, k = f - y / 2, p = k * 2 * Math.PI;
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
416
  ref: u,
417
- className: v(G["status-overview__chart-container"], r),
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 ${c} ${c}`,
424
- className: G["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",
@@ -430,47 +430,47 @@ const G = {
430
430
  {
431
431
  cx: d,
432
432
  cy: d,
433
- r: k,
433
+ r: y,
434
434
  fill: "none",
435
435
  stroke: "hsl(var(--border))",
436
- strokeWidth: y
436
+ strokeWidth: k
437
437
  }
438
438
  ) : (() => {
439
- let g = 0;
440
- return t.map((o) => {
441
- if (o.value === 0) return null;
442
- const N = o.value / i * 100, w = N / 100 * p, _ = g / 100 * p;
443
- return g += N, /* @__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
446
  cx: d,
447
447
  cy: d,
448
- r: k,
448
+ r: y,
449
449
  fill: "none",
450
- stroke: o.color,
451
- strokeWidth: y,
452
- strokeDasharray: `${w} ${p}`,
450
+ stroke: c.color,
451
+ strokeWidth: k,
452
+ strokeDasharray: `${v} ${p}`,
453
453
  strokeDashoffset: -_,
454
454
  transform: `rotate(-90 ${d} ${d})`,
455
- className: v(G["status-chart__segment"], {
456
- [G["status-chart__segment--hovered"]]: s === o.status,
457
- [G["status-chart__segment--dimmed"]]: s && s !== o.status
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: () => a?.(o.status),
460
- onMouseEnter: () => h(o.status),
459
+ onClick: () => a?.(c.status),
460
+ onMouseEnter: () => h(c.status),
461
461
  onMouseLeave: () => h(null),
462
462
  style: { cursor: a ? "pointer" : "default" },
463
- children: /* @__PURE__ */ e("title", { children: `${o.label}: ${o.value}` })
463
+ children: /* @__PURE__ */ e("title", { children: `${c.label}: ${c.value}` })
464
464
  },
465
- o.status
465
+ c.status
466
466
  );
467
467
  });
468
468
  })()
469
469
  }
470
470
  ),
471
- /* @__PURE__ */ m("div", { className: G["status-chart__hole"], children: [
472
- /* @__PURE__ */ e("span", { className: G["status-chart__total-value"], children: i }),
473
- /* @__PURE__ */ e("span", { className: G["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
  }
@@ -494,7 +494,7 @@ function Ye(t) {
494
494
  const h = Math.floor(l / 365);
495
495
  return h === 1 ? "vor einem Jahr" : `vor ${h} Jahren`;
496
496
  }
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", H = {
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
498
  nameCell: ra,
499
499
  favorite: sa,
500
500
  nameWrapper: la,
@@ -507,9 +507,9 @@ const ra = "_nameCell_1n6hv_4", sa = "_favorite_1n6hv_10", la = "_nameWrapper_1n
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
- ], it = b.forwardRef(
510
+ ], it = g.forwardRef(
511
511
  ({ rows: t, onToggleFavorite: n, className: a, ...r }, l) => /* @__PURE__ */ e(
512
- Fe,
512
+ $e,
513
513
  {
514
514
  ref: l,
515
515
  columns: _a,
@@ -518,32 +518,32 @@ const ra = "_nameCell_1n6hv_4", sa = "_favorite_1n6hv_10", la = "_nameWrapper_1n
518
518
  renderCell: (s, h) => {
519
519
  switch (h.key) {
520
520
  case "name":
521
- return /* @__PURE__ */ m("div", { className: H.nameCell, children: [
521
+ return /* @__PURE__ */ m("div", { className: Q.nameCell, children: [
522
522
  /* @__PURE__ */ e(
523
- ue,
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: H.favorite
529
+ className: Q.favorite
530
530
  }
531
531
  ),
532
- /* @__PURE__ */ m("div", { className: H.nameWrapper, title: `${s.name}
532
+ /* @__PURE__ */ m("div", { className: Q.nameWrapper, title: `${s.name}
533
533
  ${s.app}`, children: [
534
- /* @__PURE__ */ e("div", { className: H.name, children: s.name }),
535
- /* @__PURE__ */ e("div", { className: H.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: H.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
541
  return /* @__PURE__ */ e(rt, { status: s.status });
542
542
  case "activity":
543
543
  return /* @__PURE__ */ m("div", { title: `Geändert: ${Ye(s.updatedAt)}
544
544
  Erstellt: ${s.createdAt}`, children: [
545
- /* @__PURE__ */ e("div", { className: H.dateMain, children: Ye(s.updatedAt) }),
546
- /* @__PURE__ */ m("div", { className: H.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
  ] })
@@ -563,12 +563,12 @@ const ua = "_avatar_1elxr_3", Ie = {
563
563
  avatar: ua,
564
564
  "avatar-group": "_avatar-group_1elxr_18",
565
565
  "group-member": "_group-member_1elxr_23"
566
- }, _e = b.forwardRef(
566
+ }, ue = g.forwardRef(
567
567
  ({ initials: t, name: n, className: a, ...r }, l) => /* @__PURE__ */ e(
568
568
  "div",
569
569
  {
570
570
  ref: l,
571
- className: v(Ie.avatar, a),
571
+ className: b(Ie.avatar, a),
572
572
  title: n,
573
573
  "aria-label": n,
574
574
  ...r,
@@ -576,33 +576,33 @@ const ua = "_avatar_1elxr_3", Ie = {
576
576
  }
577
577
  )
578
578
  );
579
- _e.displayName = "Avatar";
580
- const Pe = b.forwardRef(
579
+ ue.displayName = "Avatar";
580
+ const Ee = g.forwardRef(
581
581
  ({ children: t, className: n, ...a }, r) => /* @__PURE__ */ e(
582
582
  "div",
583
583
  {
584
584
  ref: r,
585
- className: v(Ie["avatar-group"], n),
585
+ className: b(Ie["avatar-group"], n),
586
586
  ...a,
587
- children: b.Children.map(t, (l) => b.isValidElement(l) ? b.cloneElement(l, {
588
- className: v(l.props.className, Ie["group-member"])
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
- Pe.displayName = "AvatarGroup";
593
+ Ee.displayName = "AvatarGroup";
594
594
  const ha = "_btn_1icnw_3", ke = {
595
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
- }, V = b.forwardRef(
600
+ }, H = g.forwardRef(
601
601
  ({ variant: t, size: n = "md", className: a, children: r, ...l }, u) => /* @__PURE__ */ e(
602
602
  "button",
603
603
  {
604
604
  ref: u,
605
- className: v(
605
+ className: b(
606
606
  ke.btn,
607
607
  {
608
608
  [ke[`btn--${t}`]]: t,
@@ -615,7 +615,7 @@ const ha = "_btn_1icnw_3", ke = {
615
615
  }
616
616
  )
617
617
  );
618
- V.displayName = "Button";
618
+ H.displayName = "Button";
619
619
  const ma = "_badge_aax9r_3", Ne = {
620
620
  badge: ma,
621
621
  "badge--high": "_badge--high_aax9r_12",
@@ -631,14 +631,14 @@ const ma = "_badge_aax9r_3", Ne = {
631
631
  high: "Hohe Priorität",
632
632
  medium: "Mittlere Priorität",
633
633
  low: "Niedrige Priorität"
634
- }, Te = b.forwardRef(
634
+ }, Te = g.forwardRef(
635
635
  ({ level: t, size: n = "small", className: a, "aria-label": r, ...l }, u) => {
636
636
  const s = fa[t];
637
637
  return /* @__PURE__ */ e(
638
638
  "span",
639
639
  {
640
640
  ref: u,
641
- className: v(
641
+ className: b(
642
642
  Ne.badge,
643
643
  Ne[`badge--${t}`],
644
644
  Ne[`badge--size-${n}`],
@@ -652,21 +652,21 @@ const ma = "_badge_aax9r_3", Ne = {
652
652
  }
653
653
  );
654
654
  Te.displayName = "PriorityBadge";
655
- const ba = "_badge_1j9lv_3", ga = {
656
- badge: ba
657
- }, Le = b.forwardRef(
655
+ const ga = "_badge_1j9lv_3", ba = {
656
+ badge: ga
657
+ }, Le = g.forwardRef(
658
658
  ({ className: t, children: n, ...a }, r) => /* @__PURE__ */ e(
659
659
  "span",
660
660
  {
661
661
  ref: r,
662
- className: v(ga.badge, t),
662
+ className: b(ba.badge, t),
663
663
  ...a,
664
664
  children: n
665
665
  }
666
666
  )
667
667
  );
668
668
  Le.displayName = "Badge";
669
- const va = "_icon_6t2ce_56", U = {
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",
@@ -675,59 +675,59 @@ const va = "_icon_6t2ce_56", U = {
675
675
  "is-active": "_is-active_6t2ce_52",
676
676
  icon: va,
677
677
  "icon-sm": "_icon-sm_6t2ce_65"
678
- }, ot = b.forwardRef(
678
+ }, ot = g.forwardRef(
679
679
  ({ value: t, onChange: n, options: a, className: r, "aria-label": l, ...u }, s) => {
680
- const [h, i] = E(!1), c = tt(null), d = (p) => {
681
- typeof s == "function" ? s(p) : s && (s.current = p), c.current = p;
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
682
  }, f = a.find((p) => p.value === t) || a[0];
683
683
  Be(() => {
684
- const p = (g) => {
685
- c.current && !c.current.contains(g.target) && i(!1);
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 y = (p) => {
689
+ const k = (p) => {
690
690
  p.stopPropagation(), i(!h);
691
- }, k = (p, g) => {
692
- p.stopPropagation(), n && n(g.value), i(!1);
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
697
  ref: d,
698
- className: v(U["status-dropdown"], r),
698
+ className: b(K["status-dropdown"], r),
699
699
  ...u,
700
700
  children: [
701
701
  /* @__PURE__ */ m(
702
- V,
702
+ H,
703
703
  {
704
704
  variant: "outline",
705
705
  size: "sm",
706
- className: U["status-trigger"],
707
- onClick: y,
706
+ className: K["status-trigger"],
707
+ onClick: k,
708
708
  "aria-haspopup": "listbox",
709
709
  "aria-expanded": h,
710
710
  "aria-label": l,
711
711
  children: [
712
712
  f?.label,
713
- /* @__PURE__ */ e("svg", { className: v(U.icon, U["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: v(U["status-menu"], { [U["is-open"]]: h }),
720
+ className: b(K["status-menu"], { [K["is-open"]]: h }),
721
721
  role: "listbox",
722
722
  children: a.map((p) => /* @__PURE__ */ e(
723
723
  "button",
724
724
  {
725
- className: v(U["status-menu-item"], {
726
- [U["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: (g) => k(g, p),
730
+ onClick: (w) => y(w, p),
731
731
  children: p.label
732
732
  },
733
733
  p.value
@@ -740,42 +740,42 @@ const va = "_icon_6t2ce_56", U = {
740
740
  }
741
741
  );
742
742
  ot.displayName = "StatusDropdown";
743
- const wa = "_checklist_19mhr_3", ya = "_checkItem_19mhr_7", ka = "_formControl_19mhr_39", oe = {
743
+ const wa = "_checklist_19mhr_3", ya = "_checkItem_19mhr_7", ka = "_formControl_19mhr_39", ce = {
744
744
  checklist: wa,
745
745
  checkItem: ya,
746
746
  "is-done": "_is-done_19mhr_26",
747
747
  "checklist--readonly": "_checklist--readonly_19mhr_31",
748
748
  formControl: ka
749
- }, Re = b.forwardRef(
749
+ }, Re = g.forwardRef(
750
750
  ({ items: t, onChange: n, editable: a = !1, className: r, ...l }, u) => {
751
- const s = (i, c) => {
752
- n && n(t.map((d) => d.id === i ? { ...d, checked: c } : d));
753
- }, h = (i, c) => {
754
- n && n(t.map((d) => d.id === i ? { ...d, text: c } : d));
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
757
  ve,
758
758
  {
759
759
  ref: u,
760
- className: v(oe.checklist, { [oe["checklist--readonly"]]: !a }, r),
760
+ className: b(ce.checklist, { [ce["checklist--readonly"]]: !a }, r),
761
761
  ...l,
762
- children: t.map((i) => /* @__PURE__ */ m("div", { role: "listitem", className: v(oe.checkItem, { [oe["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: (c) => s(i.id, c.target.checked)
769
+ onChange: (o) => s(i.id, o.target.checked)
770
770
  }
771
771
  ),
772
772
  a ? /* @__PURE__ */ e(
773
773
  "input",
774
774
  {
775
775
  type: "text",
776
- className: oe.formControl,
776
+ className: ce.formControl,
777
777
  value: i.text,
778
- onChange: (c) => h(i.id, c.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
  }
@@ -790,7 +790,7 @@ const Na = "_searchInput_1ms0w_3", xa = "_icon_1ms0w_20", Ca = "_field_1ms0w_27"
790
790
  searchInput: Na,
791
791
  icon: xa,
792
792
  field: Ca
793
- }, Oe = b.forwardRef(
793
+ }, Oe = g.forwardRef(
794
794
  ({
795
795
  value: t,
796
796
  placeholder: n = "Suche...",
@@ -798,7 +798,7 @@ const Na = "_searchInput_1ms0w_3", xa = "_icon_1ms0w_20", Ca = "_field_1ms0w_27"
798
798
  "aria-label": r = "Daten durchsuchen",
799
799
  id: l,
800
800
  className: u
801
- }, s) => /* @__PURE__ */ m("label", { className: v(xe.searchInput, u), htmlFor: l, children: [
801
+ }, s) => /* @__PURE__ */ m("label", { className: b(xe.searchInput, u), htmlFor: l, children: [
802
802
  /* @__PURE__ */ m(
803
803
  "svg",
804
804
  {
@@ -836,7 +836,7 @@ const Sa = "_btn_1do3o_3", Da = "_chevron_1do3o_30", Ce = {
836
836
  btn: Sa,
837
837
  chevron: Da,
838
838
  "btn--open": "_btn--open_1do3o_37"
839
- }, we = b.forwardRef(
839
+ }, we = g.forwardRef(
840
840
  ({
841
841
  expanded: t = !1,
842
842
  count: n,
@@ -850,7 +850,7 @@ const Sa = "_btn_1do3o_3", Da = "_chevron_1do3o_30", Ce = {
850
850
  "button",
851
851
  {
852
852
  ref: s,
853
- className: v(Ce.btn, { [Ce["btn--open"]]: t }, u),
853
+ className: b(Ce.btn, { [Ce["btn--open"]]: t }, u),
854
854
  onClick: r,
855
855
  "aria-expanded": t,
856
856
  "aria-label": l,
@@ -876,36 +876,36 @@ const Sa = "_btn_1do3o_3", Da = "_chevron_1do3o_30", Ce = {
876
876
  }
877
877
  );
878
878
  we.displayName = "ExpandButton";
879
- const Ia = "_circle_gvt69_3", La = "_svg_gvt69_12", Ra = "_track_gvt69_18", Aa = "_fill_gvt69_24", ja = "_label_gvt69_31", ce = {
879
+ const Ia = "_circle_gvt69_3", La = "_svg_gvt69_12", Ra = "_track_gvt69_18", Pa = "_fill_gvt69_24", Aa = "_label_gvt69_31", de = {
880
880
  circle: Ia,
881
881
  svg: La,
882
882
  track: Ra,
883
- fill: Aa,
884
- label: ja
885
- }, Ae = 14, Se = 2 * Math.PI * Ae;
886
- function $a(t) {
883
+ fill: Pa,
884
+ label: Aa
885
+ }, Pe = 14, Se = 2 * Math.PI * Pe;
886
+ function ja(t) {
887
887
  return t >= 75 ? "var(--color-success)" : t >= 50 ? "var(--color-warning)" : "var(--error)";
888
888
  }
889
- const ct = b.forwardRef(
889
+ const ct = g.forwardRef(
890
890
  ({ value: t, className: n }, a) => {
891
891
  const r = Math.max(0, Math.min(100, t)), l = Se - r / 100 * Se;
892
- return /* @__PURE__ */ m("div", { ref: a, className: v(ce.circle, n), role: "meter", "aria-valuenow": r, "aria-valuemin": 0, "aria-valuemax": 100, "aria-label": `${r}%`, children: [
893
- /* @__PURE__ */ m("svg", { className: ce.svg, viewBox: "0 0 36 36", children: [
894
- /* @__PURE__ */ e("circle", { className: ce.track, cx: "18", cy: "18", r: Ae }),
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: ce.fill,
898
+ className: de.fill,
899
899
  cx: "18",
900
900
  cy: "18",
901
- r: Ae,
902
- stroke: $a(r),
901
+ r: Pe,
902
+ stroke: ja(r),
903
903
  strokeDasharray: Se,
904
904
  strokeDashoffset: l
905
905
  }
906
906
  )
907
907
  ] }),
908
- /* @__PURE__ */ m("span", { className: ce.label, children: [
908
+ /* @__PURE__ */ m("span", { className: de.label, children: [
909
909
  r,
910
910
  "%"
911
911
  ] })
@@ -913,15 +913,15 @@ const ct = b.forwardRef(
913
913
  }
914
914
  );
915
915
  ct.displayName = "ProgressCircle";
916
- const Ba = "_bar_l0q8t_3", Fa = "_track_l0q8t_9", Ea = "_fill_l0q8t_17", Pa = "_value_l0q8t_23", me = {
916
+ const Ba = "_bar_l0q8t_3", $a = "_track_l0q8t_9", Fa = "_fill_l0q8t_17", Ea = "_value_l0q8t_23", me = {
917
917
  bar: Ba,
918
- track: Fa,
919
- fill: Ea,
920
- value: Pa
921
- }, dt = b.forwardRef(
918
+ track: $a,
919
+ fill: Fa,
920
+ value: Ea
921
+ }, dt = g.forwardRef(
922
922
  ({ value: t, className: n }, a) => {
923
923
  const r = typeof t == "number" && t <= 1 ? t * 100 : t, l = Math.round(r);
924
- return /* @__PURE__ */ m("div", { ref: a, className: v(me.bar, n), role: "meter", "aria-valuenow": l, "aria-valuemin": 0, "aria-valuemax": 100, "aria-label": `${l}%`, children: [
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
925
  /* @__PURE__ */ e("div", { className: me.track, children: /* @__PURE__ */ e("div", { className: me.fill, style: { width: `${r}%` } }) }),
926
926
  /* @__PURE__ */ m("span", { className: me.value, children: [
927
927
  l,
@@ -936,20 +936,20 @@ const Ta = "_empty_26icj_3", Oa = "_icon_26icj_12", za = "_title_26icj_19", Ma =
936
936
  icon: Oa,
937
937
  title: za,
938
938
  text: Ma
939
- }, ze = b.forwardRef(
940
- ({ title: t, text: n, icon: a, className: r }, l) => /* @__PURE__ */ m("div", { ref: l, className: v(pe.empty, r), role: "status", children: [
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
941
  a && /* @__PURE__ */ e("div", { className: pe.icon, "aria-hidden": "true", children: a }),
942
942
  /* @__PURE__ */ e("div", { className: pe.title, children: t }),
943
943
  n && /* @__PURE__ */ e("div", { className: pe.text, children: n })
944
944
  ] })
945
945
  );
946
946
  ze.displayName = "EmptyState";
947
- const Wa = "_toggle_1uawr_3", qa = "_btn_1uawr_11", Va = "_icon_1uawr_43", fe = {
948
- toggle: Wa,
949
- btn: qa,
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
951
  icon: Va
952
- }, Me = b.forwardRef(
952
+ }, Me = g.forwardRef(
953
953
  ({
954
954
  options: t,
955
955
  value: n,
@@ -963,24 +963,24 @@ const Wa = "_toggle_1uawr_3", qa = "_btn_1uawr_11", Va = "_icon_1uawr_43", fe =
963
963
  "div",
964
964
  {
965
965
  ref: s,
966
- className: v(fe.toggle, u),
966
+ className: b(fe.toggle, u),
967
967
  role: l,
968
968
  "aria-label": r,
969
- children: t.map((c) => {
970
- const d = c.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: v(fe.btn, { [fe["btn--active"]]: d }),
974
+ className: b(fe.btn, { [fe["btn--active"]]: d }),
975
975
  role: h,
976
976
  [i]: d,
977
- onClick: () => a?.(c.value),
977
+ onClick: () => a?.(o.value),
978
978
  children: [
979
- c.icon && /* @__PURE__ */ e("span", { className: fe.icon, "aria-hidden": "true", children: c.icon }),
980
- c.label
979
+ o.icon && /* @__PURE__ */ e("span", { className: fe.icon, "aria-hidden": "true", children: o.icon }),
980
+ o.label
981
981
  ]
982
982
  },
983
- c.value
983
+ o.value
984
984
  );
985
985
  })
986
986
  }
@@ -988,14 +988,14 @@ const Wa = "_toggle_1uawr_3", qa = "_btn_1uawr_11", Va = "_icon_1uawr_43", fe =
988
988
  }
989
989
  );
990
990
  Me.displayName = "SegmentedControl";
991
- const Ga = "_filterChip_43db3_4", Ha = "_filterChip__icon_43db3_38", Ua = "_filterChip__chevron_43db3_44", Ka = "_filterChip__label_43db3_55", Qa = "_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", j = {
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
992
  filterChip: Ga,
993
993
  "filterChip--active": "_filterChip--active_43db3_32",
994
994
  filterChip__icon: Ha,
995
995
  filterChip__chevron: Ua,
996
996
  "filterChip--open": "_filterChip--open_43db3_51",
997
- filterChip__label: Ka,
998
- filterDropdown: Qa,
997
+ filterChip__label: Qa,
998
+ filterDropdown: Ka,
999
999
  "filterDropdown--open": "_filterDropdown--open_43db3_76",
1000
1000
  filterDropdown__item: Ya,
1001
1001
  "filterDropdown__item--selected": "_filterDropdown__item--selected_43db3_101",
@@ -1003,7 +1003,7 @@ const Ga = "_filterChip_43db3_4", Ha = "_filterChip__icon_43db3_38", Ua = "_filt
1003
1003
  filterDropdown__search: Ja,
1004
1004
  filterDropdown__searchIcon: Za,
1005
1005
  filterDropdown__searchInput: en
1006
- }, _t = b.forwardRef(
1006
+ }, _t = g.forwardRef(
1007
1007
  ({
1008
1008
  label: t,
1009
1009
  options: n,
@@ -1013,57 +1013,57 @@ const Ga = "_filterChip_43db3_4", Ha = "_filterChip__icon_43db3_38", Ua = "_filt
1013
1013
  dataFilter: u,
1014
1014
  className: s
1015
1015
  }, h) => {
1016
- const [i, c] = b.useState(!1), [d, f] = b.useState(""), y = b.useRef(null), k = (o) => {
1017
- typeof h == "function" ? h(o) : h && (h.current = o), y.current = o;
1018
- }, p = d ? n.filter((o) => o.toLowerCase().includes(d.toLowerCase())) : n, g = !!a;
1019
- return b.useEffect(() => {
1020
- function o(N) {
1021
- y.current && !y.current.contains(N.target) && (c(!1), f(""));
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
+ return g.useEffect(() => {
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", o), () => document.removeEventListener("click", o);
1024
+ return document.addEventListener("click", c), () => document.removeEventListener("click", c);
1025
1025
  }, [i]), /* @__PURE__ */ m(
1026
1026
  "button",
1027
1027
  {
1028
- ref: k,
1029
- className: v(
1030
- j.filterChip,
1031
- { [j["filterChip--active"]]: g, [j["filterChip--open"]]: i },
1028
+ ref: y,
1029
+ className: b(
1030
+ A.filterChip,
1031
+ { [A["filterChip--active"]]: w, [A["filterChip--open"]]: i },
1032
1032
  s
1033
1033
  ),
1034
1034
  "data-filter": u,
1035
1035
  "aria-haspopup": "listbox",
1036
1036
  "aria-expanded": i,
1037
- onClick: (o) => {
1038
- const N = o.target;
1039
- N.closest(`.${j.filterDropdown__item}`) || N.closest(`.${j.filterDropdown__search}`) || c(!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: j.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: j.filterChip__label, children: a || t }),
1044
- /* @__PURE__ */ e("svg", { className: j.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: v(j.filterDropdown, j["filterDropdown--open"]),
1048
+ className: b(A.filterDropdown, A["filterDropdown--open"]),
1049
1049
  role: "listbox",
1050
1050
  "aria-label": `${t} filtern`,
1051
1051
  children: [
1052
- l && /* @__PURE__ */ m("div", { className: j.filterDropdown__search, onClick: (o) => o.stopPropagation(), children: [
1053
- /* @__PURE__ */ m("svg", { className: j.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: j.filterDropdown__searchInput,
1060
+ className: A.filterDropdown__searchInput,
1061
1061
  type: "text",
1062
1062
  placeholder: "Suchen...",
1063
1063
  "aria-label": "Filteroptionen durchsuchen",
1064
1064
  value: d,
1065
- onChange: (o) => f(o.target.value),
1066
- onClick: (o) => o.stopPropagation()
1065
+ onChange: (c) => f(c.target.value),
1066
+ onClick: (c) => c.stopPropagation()
1067
1067
  }
1068
1068
  )
1069
1069
  ] }),
@@ -1072,36 +1072,36 @@ const Ga = "_filterChip_43db3_4", Ha = "_filterChip__icon_43db3_38", Ua = "_filt
1072
1072
  {
1073
1073
  role: "option",
1074
1074
  "aria-selected": !a,
1075
- className: v(j.filterDropdown__item, {
1076
- [j["filterDropdown__item--selected"]]: !a
1075
+ className: b(A.filterDropdown__item, {
1076
+ [A["filterDropdown__item--selected"]]: !a
1077
1077
  }),
1078
- onClick: (o) => {
1079
- o.stopPropagation(), r?.(null), c(!1), f("");
1078
+ onClick: (c) => {
1079
+ c.stopPropagation(), r?.(null), o(!1), f("");
1080
1080
  },
1081
1081
  children: [
1082
- /* @__PURE__ */ e("svg", { className: j.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((o) => /* @__PURE__ */ m(
1087
+ p.map((c) => /* @__PURE__ */ m(
1088
1088
  "div",
1089
1089
  {
1090
1090
  role: "option",
1091
- "aria-selected": a === o,
1092
- className: v(j.filterDropdown__item, {
1093
- [j["filterDropdown__item--selected"]]: a === o
1091
+ "aria-selected": a === c,
1092
+ className: b(A.filterDropdown__item, {
1093
+ [A["filterDropdown__item--selected"]]: a === c
1094
1094
  }),
1095
- "data-value": o,
1095
+ "data-value": c,
1096
1096
  onClick: (N) => {
1097
- N.stopPropagation(), r?.(o), c(!1), f("");
1097
+ N.stopPropagation(), r?.(c), o(!1), f("");
1098
1098
  },
1099
1099
  children: [
1100
- /* @__PURE__ */ e("svg", { className: j.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
- o
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
- o
1104
+ c
1105
1105
  ))
1106
1106
  ]
1107
1107
  }
@@ -1115,32 +1115,32 @@ _t.displayName = "FilterChip";
1115
1115
  const tn = "_popover_jepnf_3", Xe = {
1116
1116
  popover: tn,
1117
1117
  "popover--open": "_popover--open_jepnf_15"
1118
- }, We = b.forwardRef(
1118
+ }, qe = g.forwardRef(
1119
1119
  ({ open: t, anchorRef: n, align: a = "end", children: r, className: l, ...u }, s) => {
1120
- const [h, i] = E(null), c = b.useRef(null), d = an(s, c), f = le(() => {
1121
- const k = n?.current, p = c.current;
1122
- if (!k || !p || !t) {
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
1123
  i(null);
1124
1124
  return;
1125
1125
  }
1126
- const g = k.getBoundingClientRect(), o = p.getBoundingClientRect();
1127
- let N = g.bottom + 4, w = a === "end" ? g.right - o.width : g.left;
1126
+ const w = y.getBoundingClientRect(), c = p.getBoundingClientRect();
1127
+ let N = w.bottom + 4, v = a === "end" ? w.right - c.width : w.left;
1128
1128
  const _ = 8;
1129
- w + o.width > window.innerWidth - _ && (w = window.innerWidth - o.width - _), w < _ && (w = _), N + o.height > window.innerHeight - _ && (N = g.top - o.height - 4), i({ top: N, left: w });
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
1130
  }, [n, a, t]);
1131
- Et(() => {
1131
+ Ft(() => {
1132
1132
  if (t)
1133
1133
  return f(), window.addEventListener("resize", f), window.addEventListener("scroll", f, !0), () => {
1134
1134
  window.removeEventListener("resize", f), window.removeEventListener("scroll", f, !0);
1135
1135
  };
1136
1136
  }, [t, f]);
1137
- const y = h && n ? { top: h.top, left: h.left } : void 0;
1137
+ const k = h && n ? { top: h.top, left: h.left } : void 0;
1138
1138
  return /* @__PURE__ */ e(
1139
1139
  "div",
1140
1140
  {
1141
1141
  ref: d,
1142
- className: v(Xe.popover, { [Xe["popover--open"]]: t }, l),
1143
- style: y,
1142
+ className: b(Xe.popover, { [Xe["popover--open"]]: t }, l),
1143
+ style: k,
1144
1144
  role: "dialog",
1145
1145
  ...u,
1146
1146
  children: r
@@ -1148,9 +1148,9 @@ const tn = "_popover_jepnf_3", Xe = {
1148
1148
  );
1149
1149
  }
1150
1150
  );
1151
- We.displayName = "Popover";
1151
+ qe.displayName = "Popover";
1152
1152
  function an(...t) {
1153
- return le(
1153
+ return G(
1154
1154
  (n) => {
1155
1155
  for (const a of t)
1156
1156
  typeof a == "function" ? a(n) : a && typeof a == "object" && (a.current = n);
@@ -1159,35 +1159,35 @@ function an(...t) {
1159
1159
  t
1160
1160
  );
1161
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", ne = {
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
1163
  checkbox: nn,
1164
1164
  checkbox__input: rn,
1165
1165
  checkbox__box: sn,
1166
1166
  "checkbox--checked": "_checkbox--checked_shqzk_35",
1167
1167
  checkbox__icon: ln,
1168
1168
  checkbox__label: on
1169
- }, ut = b.forwardRef(
1169
+ }, ut = g.forwardRef(
1170
1170
  ({ checked: t, onChange: n, label: a, id: r, className: l }, u) => /* @__PURE__ */ m(
1171
1171
  "label",
1172
1172
  {
1173
1173
  ref: u,
1174
- className: v(ne.checkbox, { [ne["checkbox--checked"]]: t }, l),
1174
+ className: b(se.checkbox, { [se["checkbox--checked"]]: t }, l),
1175
1175
  htmlFor: r,
1176
1176
  children: [
1177
1177
  /* @__PURE__ */ e(
1178
1178
  "input",
1179
1179
  {
1180
- className: ne.checkbox__input,
1180
+ className: se.checkbox__input,
1181
1181
  type: "checkbox",
1182
1182
  id: r,
1183
1183
  checked: t,
1184
1184
  onChange: (s) => n?.(s.target.checked)
1185
1185
  }
1186
1186
  ),
1187
- /* @__PURE__ */ e("span", { className: ne.checkbox__box, children: /* @__PURE__ */ e(
1187
+ /* @__PURE__ */ e("span", { className: se.checkbox__box, children: /* @__PURE__ */ e(
1188
1188
  "svg",
1189
1189
  {
1190
- className: ne.checkbox__icon,
1190
+ className: se.checkbox__icon,
1191
1191
  viewBox: "0 0 24 24",
1192
1192
  fill: "none",
1193
1193
  stroke: "currentColor",
@@ -1198,7 +1198,7 @@ const nn = "_checkbox_shqzk_3", rn = "_checkbox__input_shqzk_13", sn = "_checkbo
1198
1198
  children: /* @__PURE__ */ e("polyline", { points: "20 6 9 17 4 12" })
1199
1199
  }
1200
1200
  ) }),
1201
- a && /* @__PURE__ */ e("span", { className: ne.checkbox__label, children: a })
1201
+ a && /* @__PURE__ */ e("span", { className: se.checkbox__label, children: a })
1202
1202
  ]
1203
1203
  }
1204
1204
  )
@@ -1208,83 +1208,83 @@ const cn = "_formField_v7ze9_3", dn = "_formField__label_v7ze9_9", _n = "_formFi
1208
1208
  formField: cn,
1209
1209
  formField__label: dn,
1210
1210
  formField__error: _n
1211
- }, W = b.forwardRef(
1212
- ({ label: t, htmlFor: n, error: a, children: r, className: l }, u) => /* @__PURE__ */ m("div", { ref: u, className: v(De.formField, l), children: [
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
1213
  /* @__PURE__ */ e("label", { className: De.formField__label, htmlFor: n, children: t }),
1214
1214
  r,
1215
1215
  a && /* @__PURE__ */ e("span", { className: De.formField__error, role: "alert", children: a })
1216
1216
  ] })
1217
1217
  );
1218
- W.displayName = "FormField";
1218
+ V.displayName = "FormField";
1219
1219
  const un = "_textInput_ix759_3", hn = {
1220
1220
  textInput: un
1221
- }, je = b.forwardRef(
1221
+ }, Ae = g.forwardRef(
1222
1222
  ({ value: t, onChange: n, className: a, type: r = "text", ...l }, u) => /* @__PURE__ */ e(
1223
1223
  "input",
1224
1224
  {
1225
1225
  ref: u,
1226
1226
  type: r,
1227
- className: v(hn.textInput, a),
1227
+ className: b(hn.textInput, a),
1228
1228
  value: t,
1229
1229
  onChange: (s) => n?.(s.target.value),
1230
1230
  ...l
1231
1231
  }
1232
1232
  )
1233
1233
  );
1234
- je.displayName = "TextInput";
1235
- const mn = "_select_sbg8z_4", pn = "_select__label_sbg8z_41", fn = "_select__placeholder_sbg8z_49", bn = "_select__chevron_sbg8z_53", gn = "_dropdown_sbg8z_66", vn = "_dropdown__item_sbg8z_80", wn = "_dropdown__check_sbg8z_106", z = {
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
1236
  select: mn,
1237
1237
  "select--open": "_select--open_sbg8z_30",
1238
1238
  "select--disabled": "_select--disabled_sbg8z_35",
1239
1239
  select__label: pn,
1240
1240
  select__placeholder: fn,
1241
- select__chevron: bn,
1242
- dropdown: gn,
1241
+ select__chevron: gn,
1242
+ dropdown: bn,
1243
1243
  dropdown__item: vn,
1244
1244
  "dropdown__item--selected": "_dropdown__item--selected_sbg8z_101",
1245
1245
  dropdown__check: wn
1246
- }, se = b.forwardRef(
1246
+ }, ie = g.forwardRef(
1247
1247
  ({ options: t, value: n, onChange: a, placeholder: r, disabled: l, className: u, id: s, "aria-label": h }, i) => {
1248
- const [c, d] = b.useState(!1), f = b.useRef(null), y = (o) => {
1249
- typeof i == "function" ? i(o) : i && (i.current = o), f.current = o;
1250
- }, k = t.find((o) => o.value === n), p = k?.label ?? r, g = !k && !!r;
1251
- return b.useEffect(() => {
1252
- function o(N) {
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
1253
  f.current && !f.current.contains(N.target) && d(!1);
1254
1254
  }
1255
- if (c)
1256
- return document.addEventListener("click", o), () => document.removeEventListener("click", o);
1257
- }, [c]), b.useEffect(() => {
1258
- function o(N) {
1259
- c && N.key === "Escape" && (d(!1), f.current?.focus());
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
1260
  }
1261
- return document.addEventListener("keydown", o), () => document.removeEventListener("keydown", o);
1262
- }, [c]), /* @__PURE__ */ m(
1261
+ return document.addEventListener("keydown", c), () => document.removeEventListener("keydown", c);
1262
+ }, [o]), /* @__PURE__ */ m(
1263
1263
  "button",
1264
1264
  {
1265
- ref: y,
1265
+ ref: k,
1266
1266
  id: s,
1267
1267
  type: "button",
1268
1268
  role: "combobox",
1269
1269
  "aria-label": h,
1270
1270
  "aria-haspopup": "listbox",
1271
- "aria-expanded": c,
1271
+ "aria-expanded": o,
1272
1272
  disabled: l,
1273
- className: v(
1274
- z.select,
1273
+ className: b(
1274
+ q.select,
1275
1275
  {
1276
- [z["select--open"]]: c,
1277
- [z["select--disabled"]]: l
1276
+ [q["select--open"]]: o,
1277
+ [q["select--disabled"]]: l
1278
1278
  },
1279
1279
  u
1280
1280
  ),
1281
- onClick: () => !l && d(!c),
1281
+ onClick: () => !l && d(!o),
1282
1282
  children: [
1283
1283
  /* @__PURE__ */ e(
1284
1284
  "span",
1285
1285
  {
1286
- className: v(z.select__label, {
1287
- [z.select__placeholder]: g
1286
+ className: b(q.select__label, {
1287
+ [q.select__placeholder]: w
1288
1288
  }),
1289
1289
  children: p || " "
1290
1290
  }
@@ -1292,7 +1292,7 @@ const mn = "_select_sbg8z_4", pn = "_select__label_sbg8z_41", fn = "_select__pla
1292
1292
  /* @__PURE__ */ e(
1293
1293
  "svg",
1294
1294
  {
1295
- className: z.select__chevron,
1295
+ className: q.select__chevron,
1296
1296
  viewBox: "0 0 24 24",
1297
1297
  fill: "none",
1298
1298
  stroke: "currentColor",
@@ -1303,28 +1303,28 @@ const mn = "_select_sbg8z_4", pn = "_select__label_sbg8z_41", fn = "_select__pla
1303
1303
  children: /* @__PURE__ */ e("polyline", { points: "6 9 12 15 18 9" })
1304
1304
  }
1305
1305
  ),
1306
- c && /* @__PURE__ */ e(
1306
+ o && /* @__PURE__ */ e(
1307
1307
  "div",
1308
1308
  {
1309
- className: z.dropdown,
1309
+ className: q.dropdown,
1310
1310
  role: "listbox",
1311
1311
  "aria-label": h ?? r ?? "Auswahl",
1312
- children: t.map((o) => /* @__PURE__ */ m(
1312
+ children: t.map((c) => /* @__PURE__ */ m(
1313
1313
  "div",
1314
1314
  {
1315
1315
  role: "option",
1316
- "aria-selected": n === o.value,
1317
- className: v(z.dropdown__item, {
1318
- [z["dropdown__item--selected"]]: n === o.value
1316
+ "aria-selected": n === c.value,
1317
+ className: b(q.dropdown__item, {
1318
+ [q["dropdown__item--selected"]]: n === c.value
1319
1319
  }),
1320
1320
  onClick: (N) => {
1321
- N.stopPropagation(), a?.(o.value), d(!1);
1321
+ N.stopPropagation(), a?.(c.value), d(!1);
1322
1322
  },
1323
1323
  children: [
1324
1324
  /* @__PURE__ */ e(
1325
1325
  "svg",
1326
1326
  {
1327
- className: z.dropdown__check,
1327
+ className: q.dropdown__check,
1328
1328
  viewBox: "0 0 24 24",
1329
1329
  fill: "none",
1330
1330
  stroke: "currentColor",
@@ -1335,10 +1335,10 @@ const mn = "_select_sbg8z_4", pn = "_select__label_sbg8z_41", fn = "_select__pla
1335
1335
  children: /* @__PURE__ */ e("polyline", { points: "20 6 9 17 4 12" })
1336
1336
  }
1337
1337
  ),
1338
- o.label
1338
+ c.label
1339
1339
  ]
1340
1340
  },
1341
- o.value
1341
+ c.value
1342
1342
  ))
1343
1343
  }
1344
1344
  )
@@ -1347,15 +1347,15 @@ const mn = "_select_sbg8z_4", pn = "_select__label_sbg8z_41", fn = "_select__pla
1347
1347
  );
1348
1348
  }
1349
1349
  );
1350
- se.displayName = "Select";
1350
+ ie.displayName = "Select";
1351
1351
  const yn = "_textArea_kwln7_3", kn = {
1352
1352
  textArea: yn
1353
- }, ht = b.forwardRef(
1353
+ }, ht = g.forwardRef(
1354
1354
  ({ value: t, onChange: n, className: a, ...r }, l) => /* @__PURE__ */ e(
1355
1355
  "textarea",
1356
1356
  {
1357
1357
  ref: l,
1358
- className: v(kn.textArea, a),
1358
+ className: b(kn.textArea, a),
1359
1359
  value: t,
1360
1360
  onChange: (u) => n?.(u.target.value),
1361
1361
  ...r
@@ -1363,7 +1363,7 @@ const yn = "_textArea_kwln7_3", kn = {
1363
1363
  )
1364
1364
  );
1365
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", K = {
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
1367
  overlay: Nn,
1368
1368
  "overlay--active": "_overlay--active_1wnad_19",
1369
1369
  content: xn,
@@ -1372,45 +1372,45 @@ const Nn = "_overlay_1wnad_4", xn = "_content_1wnad_25", Cn = "_header_1wnad_46"
1372
1372
  body: Dn,
1373
1373
  footer: In,
1374
1374
  icon: Ln
1375
- }, mt = b.forwardRef(
1375
+ }, mt = g.forwardRef(
1376
1376
  ({ isOpen: t, onClose: n, title: a, footer: r, children: l, className: u, ...s }, h) => {
1377
1377
  if (Be(() => {
1378
- const c = (d) => {
1378
+ const o = (d) => {
1379
1379
  d.key === "Escape" && t && n();
1380
1380
  };
1381
- return document.addEventListener("keydown", c), () => document.removeEventListener("keydown", c);
1381
+ return document.addEventListener("keydown", o), () => document.removeEventListener("keydown", o);
1382
1382
  }, [t, n]), !t) return null;
1383
- const i = (c) => {
1384
- c.target === c.currentTarget && n();
1383
+ const i = (o) => {
1384
+ o.target === o.currentTarget && n();
1385
1385
  };
1386
1386
  return /* @__PURE__ */ e(
1387
1387
  "div",
1388
1388
  {
1389
1389
  ref: h,
1390
- className: v(K.overlay, { [K["overlay--active"]]: t }, u),
1390
+ className: b(Y.overlay, { [Y["overlay--active"]]: t }, u),
1391
1391
  onClick: i,
1392
1392
  role: "dialog",
1393
1393
  "aria-modal": "true",
1394
1394
  "aria-labelledby": a ? "modal-title" : void 0,
1395
1395
  ...s,
1396
- children: /* @__PURE__ */ m("div", { className: K.content, children: [
1397
- a && /* @__PURE__ */ m("header", { className: K.header, children: [
1398
- /* @__PURE__ */ e("h2", { className: K.header__title, id: "modal-title", children: a }),
1399
- /* @__PURE__ */ e(V, { variant: "ghost", onClick: n, "aria-label": "Schließen", children: /* @__PURE__ */ e("svg", { className: K.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" }) }) })
1400
1400
  ] }),
1401
- /* @__PURE__ */ e("div", { className: K.body, children: l }),
1402
- r && /* @__PURE__ */ e("footer", { className: K.footer, children: r })
1401
+ /* @__PURE__ */ e("div", { className: Y.body, children: l }),
1402
+ r && /* @__PURE__ */ e("footer", { className: Y.footer, children: r })
1403
1403
  ] })
1404
1404
  }
1405
1405
  );
1406
1406
  }
1407
1407
  );
1408
1408
  mt.displayName = "Modal";
1409
- const Rn = "_dashboard_avuww_4", An = "_sectionTitle_avuww_18", jn = "_statusLegend_avuww_27", $n = "_projectList_avuww_34", de = {
1409
+ const Rn = "_dashboard_avuww_4", Pn = "_sectionTitle_avuww_18", An = "_statusLegend_avuww_27", jn = "_projectList_avuww_34", _e = {
1410
1410
  dashboard: Rn,
1411
- sectionTitle: An,
1412
- statusLegend: jn,
1413
- projectList: $n
1411
+ sectionTitle: Pn,
1412
+ statusLegend: An,
1413
+ projectList: jn
1414
1414
  }, Bn = [
1415
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() },
1416
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() },
@@ -1438,23 +1438,23 @@ const Rn = "_dashboard_avuww_4", An = "_sectionTitle_avuww_18", jn = "_statusLeg
1438
1438
  createdAt: "05.01.2026",
1439
1439
  updatedAt: (/* @__PURE__ */ new Date()).toISOString()
1440
1440
  }
1441
- ], Fn = [
1441
+ ], $n = [
1442
1442
  { status: "alle", label: "Alle" },
1443
1443
  { status: "neu", label: "Neu" },
1444
1444
  { status: "offen", label: "Offen" },
1445
1445
  { status: "in-prufung", label: "In Prüfung" },
1446
1446
  { status: "validierung", label: "Validierung" },
1447
1447
  { status: "abgeschlossen", label: "Abgeschlossen" }
1448
- ], En = {
1448
+ ], Fn = {
1449
1449
  neu: "Neu",
1450
1450
  offen: "Offen",
1451
1451
  "in-prufung": "In Prüfung",
1452
1452
  validierung: "Validierung",
1453
1453
  abgeschlossen: "Abgeschlossen"
1454
- }, Pn = b.forwardRef(
1454
+ }, En = g.forwardRef(
1455
1455
  ({ initialRows: t = Bn, className: n, ...a }, r) => {
1456
- const [l, u] = E(t), [s, h] = E("alle"), [i, c] = E(""), d = te(() => {
1457
- const o = {
1456
+ const [l, u] = F(t), [s, h] = F("alle"), [i, o] = F(""), d = ae(() => {
1457
+ const c = {
1458
1458
  alle: l.length,
1459
1459
  neu: 0,
1460
1460
  offen: 0,
@@ -1463,68 +1463,68 @@ const Rn = "_dashboard_avuww_4", An = "_sectionTitle_avuww_18", jn = "_statusLeg
1463
1463
  abgeschlossen: 0
1464
1464
  };
1465
1465
  return l.forEach((N) => {
1466
- o[N.status]++;
1467
- }), o;
1468
- }, [l]), f = te(() => {
1469
- let o = l;
1470
- if (s !== "alle" && (o = o.filter((N) => N.status === s)), i.trim() !== "") {
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
1471
  const N = i.toLowerCase().trim();
1472
- o = o.filter(
1473
- (w) => w.name.toLowerCase().includes(N) || w.client.toLowerCase().includes(N) || w.app.toLowerCase().includes(N)
1472
+ c = c.filter(
1473
+ (v) => v.name.toLowerCase().includes(N) || v.client.toLowerCase().includes(N) || v.app.toLowerCase().includes(N)
1474
1474
  );
1475
1475
  }
1476
- return s === "alle" && (o = [...o].sort((N, w) => Number(w.favorite) - Number(N.favorite))), o;
1477
- }, [l, s, i]), y = s === "alle" ? "Alle Projekte" : `Projekte: ${En[s]}`, k = (o, N) => {
1478
- u((w) => w.map((_) => _.id === o ? { ..._, favorite: N } : _));
1479
- }, p = te(() => [
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
1480
  { status: "neu", label: "Neu", value: d.neu, color: "var(--status-neu)" },
1481
1481
  { status: "offen", label: "Offen", value: d.offen, color: "var(--status-offen)" },
1482
1482
  { status: "in-prufung", label: "In Prüfung", value: d["in-prufung"], color: "var(--status-in-prufung)" },
1483
1483
  { status: "validierung", label: "Validierung", value: d.validierung, color: "var(--status-validierung)" },
1484
1484
  { status: "abgeschlossen", label: "Abgeschlossen", value: d.abgeschlossen, color: "var(--status-abgeschlossen)" }
1485
- ], [d]), g = (o) => {
1486
- h(o);
1485
+ ], [d]), w = (c) => {
1486
+ h(c);
1487
1487
  };
1488
1488
  return /* @__PURE__ */ m(
1489
1489
  "main",
1490
1490
  {
1491
1491
  ref: r,
1492
- className: v(de.dashboard, n),
1492
+ className: b(_e.dashboard, n),
1493
1493
  ...a,
1494
1494
  children: [
1495
1495
  /* @__PURE__ */ m(
1496
- be,
1496
+ ge,
1497
1497
  {
1498
1498
  as: "section",
1499
1499
  variant: "full",
1500
1500
  padded: !0,
1501
1501
  "aria-label": "Projektstatus Übersicht",
1502
- className: de.statusOverview,
1502
+ className: _e.statusOverview,
1503
1503
  children: [
1504
- /* @__PURE__ */ e("h1", { className: de.sectionTitle, children: "Projekte" }),
1504
+ /* @__PURE__ */ e("h1", { className: _e.sectionTitle, children: "Projekte" }),
1505
1505
  /* @__PURE__ */ e(
1506
1506
  lt,
1507
1507
  {
1508
1508
  data: p,
1509
- onSegmentClick: g
1509
+ onSegmentClick: w
1510
1510
  }
1511
1511
  ),
1512
1512
  /* @__PURE__ */ e(
1513
1513
  "div",
1514
1514
  {
1515
- className: de.statusLegend,
1515
+ className: _e.statusLegend,
1516
1516
  role: "listbox",
1517
1517
  "aria-label": "Nach Status filtern",
1518
- children: Fn.map(({ status: o, label: N }) => /* @__PURE__ */ e(
1518
+ children: $n.map(({ status: c, label: N }) => /* @__PURE__ */ e(
1519
1519
  st,
1520
1520
  {
1521
- status: o,
1521
+ status: c,
1522
1522
  label: N,
1523
- count: d[o],
1524
- active: s === o,
1525
- onClick: () => h(o)
1523
+ count: d[c],
1524
+ active: s === c,
1525
+ onClick: () => h(c)
1526
1526
  },
1527
- o
1527
+ c
1528
1528
  ))
1529
1529
  }
1530
1530
  )
@@ -1532,23 +1532,23 @@ const Rn = "_dashboard_avuww_4", An = "_sectionTitle_avuww_18", jn = "_statusLeg
1532
1532
  }
1533
1533
  ),
1534
1534
  /* @__PURE__ */ e(
1535
- be,
1535
+ ge,
1536
1536
  {
1537
1537
  as: "section",
1538
1538
  variant: "full",
1539
1539
  "aria-label": "Projektliste",
1540
- className: de.projectList,
1541
- title: y,
1540
+ className: _e.projectList,
1541
+ title: k,
1542
1542
  headerAction: /* @__PURE__ */ e(
1543
1543
  Oe,
1544
1544
  {
1545
1545
  value: i,
1546
- onChange: c,
1546
+ onChange: o,
1547
1547
  placeholder: "Projekte durchsuchen...",
1548
1548
  "aria-label": "Projekte durchsuchen"
1549
1549
  }
1550
1550
  ),
1551
- children: f.length > 0 ? /* @__PURE__ */ e(it, { rows: f, onToggleFavorite: k }) : /* @__PURE__ */ e(
1551
+ children: f.length > 0 ? /* @__PURE__ */ e(it, { rows: f, onToggleFavorite: y }) : /* @__PURE__ */ e(
1552
1552
  ze,
1553
1553
  {
1554
1554
  title: "Keine Projekte gefunden",
@@ -1562,14 +1562,14 @@ const Rn = "_dashboard_avuww_4", An = "_sectionTitle_avuww_18", jn = "_statusLeg
1562
1562
  );
1563
1563
  }
1564
1564
  );
1565
- Pn.displayName = "DashboardPage";
1566
- const Tn = "_taskItem_77jzk_4", On = "_taskItem__content_77jzk_14", zn = "_taskItem__titleGroup_77jzk_21", Mn = "_taskItem__title_77jzk_21", Wn = "_taskItem__meta_77jzk_41", qn = "_metaUser_77jzk_52", Vn = "_metaProject_77jzk_58", Gn = "_taskItem__deadline_77jzk_76", Hn = "_taskItem__actions_77jzk_95", T = {
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
1567
  taskItem: Tn,
1568
1568
  taskItem__content: On,
1569
1569
  taskItem__titleGroup: zn,
1570
1570
  taskItem__title: Mn,
1571
- taskItem__meta: Wn,
1572
- metaUser: qn,
1571
+ taskItem__meta: qn,
1572
+ metaUser: Wn,
1573
1573
  metaProject: Vn,
1574
1574
  "icon-sm": "_icon-sm_77jzk_71",
1575
1575
  taskItem__deadline: Gn,
@@ -1580,33 +1580,33 @@ const Tn = "_taskItem_77jzk_4", On = "_taskItem__content_77jzk_14", zn = "_taskI
1580
1580
  { value: "Offen", label: "Offen" },
1581
1581
  { value: "In Arbeit", label: "In Arbeit" },
1582
1582
  { value: "Erledigt", label: "Erledigt" }
1583
- ], pt = b.forwardRef(
1584
- ({ title: t, project: n, projectLabel: a, status: r, deadline: l, deadlineType: u = "normal", priority: s, assignees: h, description: i, onClick: c, onStatusChange: d, className: f, ...y }, k) => {
1585
- const p = (g) => {
1586
- g.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();
1587
1587
  };
1588
1588
  return /* @__PURE__ */ m(
1589
- Ee,
1589
+ Fe,
1590
1590
  {
1591
- ref: k,
1591
+ ref: y,
1592
1592
  as: "article",
1593
- onClick: c,
1594
- className: v(T.taskItem, f),
1595
- ...y,
1593
+ onClick: o,
1594
+ className: b(z.taskItem, f),
1595
+ ...k,
1596
1596
  children: [
1597
- /* @__PURE__ */ m("div", { className: T.taskItem__content, children: [
1598
- /* @__PURE__ */ e("div", { className: T.taskItem__titleGroup, children: /* @__PURE__ */ e("h3", { className: T.taskItem__title, children: t }) }),
1599
- /* @__PURE__ */ m("div", { className: T.taskItem__meta, children: [
1600
- h.length > 0 && /* @__PURE__ */ e("div", { className: T.metaUser, children: /* @__PURE__ */ e(Pe, { children: h.map((g, o) => /* @__PURE__ */ e(_e, { initials: g.initials, name: g.name }, o)) }) }),
1601
- /* @__PURE__ */ m("div", { className: T.metaProject, "aria-label": `Projekt: ${a || n}`, children: [
1602
- /* @__PURE__ */ e("svg", { className: T["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" }) }),
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
1603
  a || n
1604
1604
  ] }),
1605
1605
  s && s !== "low" && /* @__PURE__ */ e(Te, { level: s, size: "small" })
1606
1606
  ] })
1607
1607
  ] }),
1608
- /* @__PURE__ */ e("div", { className: v(T.taskItem__deadline, T[`deadline-${u}`]), children: l }),
1609
- /* @__PURE__ */ e("div", { className: T.taskItem__actions, onClick: p, children: /* @__PURE__ */ e(
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
1610
  ot,
1611
1611
  {
1612
1612
  options: Un,
@@ -1620,7 +1620,7 @@ const Tn = "_taskItem_77jzk_4", On = "_taskItem__content_77jzk_14", zn = "_taskI
1620
1620
  }
1621
1621
  );
1622
1622
  pt.displayName = "TaskItem";
1623
- const D = {
1623
+ const P = {
1624
1624
  "view-group": "_view-group_1lp4x_4",
1625
1625
  "view-label": "_view-label_1lp4x_10",
1626
1626
  "view-badge-row": "_view-badge-row_1lp4x_20",
@@ -1638,11 +1638,11 @@ const D = {
1638
1638
  { value: "Q1", label: "Q1 Roadmap" },
1639
1639
  { value: "FR", label: "Frontend Relaunch" },
1640
1640
  { value: "UR", label: "User Research" }
1641
- ], Kn = [
1641
+ ], Qn = [
1642
1642
  { value: "Offen", label: "Offen" },
1643
1643
  { value: "In Arbeit", label: "In Arbeit" },
1644
1644
  { value: "Erledigt", label: "Erledigt" }
1645
- ], Qn = [
1645
+ ], Kn = [
1646
1646
  { value: "", label: "Keine" },
1647
1647
  { value: "high", label: "Hoch (!!)" },
1648
1648
  { value: "medium", label: "Medium (!)" },
@@ -1654,27 +1654,27 @@ const D = {
1654
1654
  ], Yn = ft.map((t) => ({
1655
1655
  value: t.initials.toLowerCase(),
1656
1656
  label: t.name
1657
- })), bt = b.forwardRef(
1657
+ })), gt = g.forwardRef(
1658
1658
  ({ isOpen: t, onClose: n, task: a, onSave: r, initialMode: l = "view", className: u, ...s }, h) => {
1659
- const [i, c] = E(l), [d, f] = E(null);
1659
+ const [i, o] = F(l), [d, f] = F(null);
1660
1660
  if (Be(() => {
1661
- t && a && (f({ ...a, checklist: [...a.checklist] }), c(l));
1661
+ t && a && (f({ ...a, checklist: [...a.checklist] }), o(l));
1662
1662
  }, [t, a, l]), !t || !a || !d) return null;
1663
- const y = () => {
1664
- r && r(d), c("view");
1665
- }, k = (_) => {
1663
+ const k = () => {
1664
+ r && r(d), o("view");
1665
+ }, y = (_) => {
1666
1666
  f({ ...d, checklist: _ });
1667
1667
  }, p = (_) => {
1668
- const x = Je.find((S) => S.value === _);
1668
+ const C = Je.find((x) => x.value === _);
1669
1669
  f({
1670
1670
  ...d,
1671
1671
  project: _,
1672
- projectLabel: x?.label || _
1672
+ projectLabel: C?.label || _
1673
1673
  });
1674
- }, g = (_) => {
1675
- const x = ft.find((S) => S.initials.toLowerCase() === _);
1676
- x && f({ ...d, assignees: [x] });
1677
- }, o = () => {
1674
+ }, w = (_) => {
1675
+ const C = ft.find((x) => x.initials.toLowerCase() === _);
1676
+ C && f({ ...d, assignees: [C] });
1677
+ }, c = () => {
1678
1678
  const _ = {
1679
1679
  id: `check-${Date.now()}`,
1680
1680
  text: "",
@@ -1684,15 +1684,15 @@ const D = {
1684
1684
  ...d,
1685
1685
  checklist: [...d.checklist, _]
1686
1686
  });
1687
- }, N = i === "edit" ? "Aufgabe bearbeiten" : "Aufgaben-Details", w = i === "view" ? /* @__PURE__ */ m(Y, { children: [
1688
- /* @__PURE__ */ e(V, { variant: "outline", onClick: n, children: "Schließen" }),
1689
- /* @__PURE__ */ m(V, { variant: "primary", onClick: () => c("edit"), children: [
1690
- /* @__PURE__ */ e("svg", { className: D["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" }) }),
1691
1691
  "Bearbeiten"
1692
1692
  ] })
1693
- ] }) : /* @__PURE__ */ m(Y, { children: [
1694
- /* @__PURE__ */ e(V, { variant: "outline", onClick: () => c("view"), children: "Abbrechen" }),
1695
- /* @__PURE__ */ e(V, { variant: "primary", onClick: y, 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" })
1696
1696
  ] });
1697
1697
  return /* @__PURE__ */ e(
1698
1698
  mt,
@@ -1701,59 +1701,59 @@ const D = {
1701
1701
  isOpen: t,
1702
1702
  onClose: n,
1703
1703
  title: N,
1704
- footer: w,
1704
+ footer: v,
1705
1705
  className: u,
1706
1706
  ...s,
1707
- children: i === "view" ? /* @__PURE__ */ m(Y, { children: [
1708
- /* @__PURE__ */ m("div", { className: D["view-group"], children: [
1709
- /* @__PURE__ */ e("span", { className: D["view-label"], children: "Titel" }),
1710
- /* @__PURE__ */ e("h3", { className: D["view-task-title"], children: d.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 })
1711
1711
  ] }),
1712
- /* @__PURE__ */ m("div", { className: D["view-badge-row"], children: [
1713
- /* @__PURE__ */ m("div", { className: D["view-group"], children: [
1714
- /* @__PURE__ */ e("span", { className: D["view-label"], children: "Verantwortlich" }),
1715
- d.assignees.length > 0 ? /* @__PURE__ */ e(Pe, { children: d.assignees.map((_, x) => /* @__PURE__ */ e(_e, { initials: _.initials, name: _.name }, x)) }) : /* @__PURE__ */ e(_e, { 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" })
1716
1716
  ] }),
1717
- /* @__PURE__ */ m("div", { className: D["view-group"], children: [
1718
- /* @__PURE__ */ e("span", { className: D["view-label"], children: "Projekt" }),
1717
+ /* @__PURE__ */ m("div", { className: P["view-group"], children: [
1718
+ /* @__PURE__ */ e("span", { className: P["view-label"], children: "Projekt" }),
1719
1719
  /* @__PURE__ */ m(Le, { children: [
1720
- /* @__PURE__ */ e("svg", { className: D["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" }) }),
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
1721
  d.projectLabel || d.project
1722
1722
  ] })
1723
1723
  ] }),
1724
- /* @__PURE__ */ m("div", { className: D["view-group"], children: [
1725
- /* @__PURE__ */ e("span", { className: D["view-label"], children: "Priorität" }),
1726
- d.priority ? /* @__PURE__ */ e(Te, { level: d.priority, size: "large" }) : /* @__PURE__ */ e("div", { className: D["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" })
1727
1727
  ] }),
1728
- /* @__PURE__ */ m("div", { className: D["view-group"], children: [
1729
- /* @__PURE__ */ e("span", { className: D["view-label"], children: "Status" }),
1728
+ /* @__PURE__ */ m("div", { className: P["view-group"], children: [
1729
+ /* @__PURE__ */ e("span", { className: P["view-label"], children: "Status" }),
1730
1730
  /* @__PURE__ */ e(Le, { children: d.status })
1731
1731
  ] }),
1732
- /* @__PURE__ */ m("div", { className: D["view-group"], children: [
1733
- /* @__PURE__ */ e("span", { className: D["view-label"], children: "Fälligkeit" }),
1734
- /* @__PURE__ */ e("div", { className: D["view-value-strong"], children: d.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 })
1735
1735
  ] })
1736
1736
  ] }),
1737
- /* @__PURE__ */ m("div", { className: D["view-group"], children: [
1738
- /* @__PURE__ */ e("span", { className: D["view-label"], children: "Beschreibung" }),
1739
- /* @__PURE__ */ e("p", { className: D["view-description"], children: d.description || /* @__PURE__ */ e("span", { className: D["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." }) })
1740
1740
  ] }),
1741
- /* @__PURE__ */ m("div", { className: D["view-group"], children: [
1742
- /* @__PURE__ */ e("span", { className: D["view-label"], children: "To-Do Checkliste" }),
1743
- /* @__PURE__ */ e(Re, { items: d.checklist, onChange: k, 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 })
1744
1744
  ] })
1745
- ] }) : /* @__PURE__ */ m(Y, { children: [
1746
- /* @__PURE__ */ e(W, { label: "Titel", htmlFor: "taskTitle", children: /* @__PURE__ */ e(
1747
- je,
1745
+ ] }) : /* @__PURE__ */ m(J, { children: [
1746
+ /* @__PURE__ */ e(V, { label: "Titel", htmlFor: "taskTitle", children: /* @__PURE__ */ e(
1747
+ Ae,
1748
1748
  {
1749
1749
  id: "taskTitle",
1750
1750
  value: d.title,
1751
1751
  onChange: (_) => f({ ...d, title: _ })
1752
1752
  }
1753
1753
  ) }),
1754
- /* @__PURE__ */ m("div", { className: D["form-row"], children: [
1755
- /* @__PURE__ */ e(W, { label: "Projekt", htmlFor: "taskProject", children: /* @__PURE__ */ e(
1756
- se,
1754
+ /* @__PURE__ */ m("div", { className: P["form-row"], children: [
1755
+ /* @__PURE__ */ e(V, { label: "Projekt", htmlFor: "taskProject", children: /* @__PURE__ */ e(
1756
+ ie,
1757
1757
  {
1758
1758
  id: "taskProject",
1759
1759
  options: Je,
@@ -1761,49 +1761,49 @@ const D = {
1761
1761
  onChange: p
1762
1762
  }
1763
1763
  ) }),
1764
- /* @__PURE__ */ e(W, { label: "Status", htmlFor: "taskStatus", children: /* @__PURE__ */ e(
1765
- se,
1764
+ /* @__PURE__ */ e(V, { label: "Status", htmlFor: "taskStatus", children: /* @__PURE__ */ e(
1765
+ ie,
1766
1766
  {
1767
1767
  id: "taskStatus",
1768
- options: Kn,
1768
+ options: Qn,
1769
1769
  value: d.status,
1770
1770
  onChange: (_) => f({ ...d, status: _ })
1771
1771
  }
1772
1772
  ) })
1773
1773
  ] }),
1774
- /* @__PURE__ */ m("div", { className: D["form-row"], children: [
1775
- /* @__PURE__ */ e(W, { label: "Fälligkeitsdatum", htmlFor: "taskDate", children: /* @__PURE__ */ e(
1776
- je,
1774
+ /* @__PURE__ */ m("div", { className: P["form-row"], children: [
1775
+ /* @__PURE__ */ e(V, { label: "Fälligkeitsdatum", htmlFor: "taskDate", children: /* @__PURE__ */ e(
1776
+ Ae,
1777
1777
  {
1778
1778
  id: "taskDate",
1779
1779
  value: d.deadline,
1780
1780
  onChange: (_) => f({ ...d, deadline: _ })
1781
1781
  }
1782
1782
  ) }),
1783
- /* @__PURE__ */ e(W, { label: "Priorität", htmlFor: "taskPriority", children: /* @__PURE__ */ e(
1784
- se,
1783
+ /* @__PURE__ */ e(V, { label: "Priorität", htmlFor: "taskPriority", children: /* @__PURE__ */ e(
1784
+ ie,
1785
1785
  {
1786
1786
  id: "taskPriority",
1787
- options: Qn,
1787
+ options: Kn,
1788
1788
  value: d.priority || "",
1789
1789
  onChange: (_) => f({ ...d, priority: _ || void 0 })
1790
1790
  }
1791
1791
  ) })
1792
1792
  ] }),
1793
- /* @__PURE__ */ e(W, { label: "Verantwortlich", htmlFor: "taskAssignee", children: /* @__PURE__ */ m("div", { className: D["assignee-row"], children: [
1794
- /* @__PURE__ */ e(_e, { initials: d.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 || "?" }),
1795
1795
  /* @__PURE__ */ e(
1796
- se,
1796
+ ie,
1797
1797
  {
1798
1798
  id: "taskAssignee",
1799
1799
  options: Yn,
1800
1800
  value: d.assignees[0]?.initials.toLowerCase() || "",
1801
- onChange: g,
1802
- className: D["assignee-select"]
1801
+ onChange: w,
1802
+ className: P["assignee-select"]
1803
1803
  }
1804
1804
  )
1805
1805
  ] }) }),
1806
- /* @__PURE__ */ e(W, { label: "Beschreibung", htmlFor: "taskDescription", children: /* @__PURE__ */ e(
1806
+ /* @__PURE__ */ e(V, { label: "Beschreibung", htmlFor: "taskDescription", children: /* @__PURE__ */ e(
1807
1807
  ht,
1808
1808
  {
1809
1809
  id: "taskDescription",
@@ -1812,14 +1812,14 @@ const D = {
1812
1812
  onChange: (_) => f({ ...d, description: _ })
1813
1813
  }
1814
1814
  ) }),
1815
- /* @__PURE__ */ m(W, { label: "To-Do Checkliste", children: [
1816
- /* @__PURE__ */ e(Re, { items: d.checklist, onChange: k, editable: !0 }),
1815
+ /* @__PURE__ */ m(V, { label: "To-Do Checkliste", children: [
1816
+ /* @__PURE__ */ e(Re, { items: d.checklist, onChange: y, editable: !0 }),
1817
1817
  /* @__PURE__ */ e(
1818
- V,
1818
+ H,
1819
1819
  {
1820
1820
  variant: "ghost",
1821
- onClick: o,
1822
- className: D["add-checklist-btn"],
1821
+ onClick: c,
1822
+ className: P["add-checklist-btn"],
1823
1823
  children: "+ Neues Element"
1824
1824
  }
1825
1825
  )
@@ -1829,16 +1829,16 @@ const D = {
1829
1829
  );
1830
1830
  }
1831
1831
  );
1832
- bt.displayName = "TaskDetailModal";
1832
+ gt.displayName = "TaskDetailModal";
1833
1833
  const Xn = "_icon_1rthp_4", Ze = {
1834
1834
  icon: Xn,
1835
1835
  "icon-sm": "_icon-sm_1rthp_14"
1836
- }, Jn = b.forwardRef(
1836
+ }, Jn = g.forwardRef(
1837
1837
  ({ tasks: t, onTaskUpdate: n, onTaskAdd: a, className: r, ...l }, u) => {
1838
- const [s, h] = E(t), [i, c] = E(!1), [d, f] = E(null), [y, k] = E("view"), p = (w) => {
1839
- f(w), k("view"), c(!0);
1840
- }, g = () => {
1841
- const w = {
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 = {
1842
1842
  id: `new-${Date.now()}`,
1843
1843
  title: "Neue Aufgabe",
1844
1844
  project: "Q1",
@@ -1850,64 +1850,64 @@ const Xn = "_icon_1rthp_4", Ze = {
1850
1850
  description: "",
1851
1851
  checklist: []
1852
1852
  };
1853
- f(w), k("edit"), c(!0);
1854
- }, o = (w) => {
1855
- if (s.some((x) => x.id === w.id)) {
1856
- const x = s.map((S) => S.id === w.id ? w : S);
1857
- h(x), n && n(w);
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);
1858
1858
  } else
1859
- h([...s, w]), a && a(w);
1860
- f(w);
1861
- }, N = (w, _) => {
1862
- const x = s.map((S) => {
1863
- if (S.id === w) {
1864
- const R = { ...S, status: _ };
1865
- return n && n(R), R;
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;
1866
1866
  }
1867
- return S;
1867
+ return x;
1868
1868
  });
1869
- h(x);
1869
+ h(C);
1870
1870
  };
1871
1871
  return /* @__PURE__ */ m(
1872
- be,
1872
+ ge,
1873
1873
  {
1874
1874
  ref: u,
1875
1875
  as: "main",
1876
1876
  title: "Aufgaben",
1877
1877
  variant: "half",
1878
1878
  scrollable: !0,
1879
- headerAction: /* @__PURE__ */ m(V, { variant: "primary", onClick: g, "aria-label": "Neue Aufgabe erstellen", children: [
1880
- /* @__PURE__ */ e("svg", { className: v(Ze.icon, Ze["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" }) }),
1881
1881
  "Neu"
1882
1882
  ] }),
1883
1883
  className: r,
1884
1884
  ...l,
1885
1885
  children: [
1886
- /* @__PURE__ */ e(ve, { "aria-label": "Aufgabenliste", children: s.map((w) => /* @__PURE__ */ e(
1886
+ /* @__PURE__ */ e(ve, { "aria-label": "Aufgabenliste", children: s.map((v) => /* @__PURE__ */ e(
1887
1887
  pt,
1888
1888
  {
1889
- title: w.title,
1890
- project: w.project,
1891
- projectLabel: w.projectLabel,
1892
- status: w.status,
1893
- deadline: w.deadline,
1894
- deadlineType: w.deadlineType,
1895
- priority: w.priority,
1896
- assignees: w.assignees,
1897
- description: w.description,
1898
- onClick: () => p(w),
1899
- onStatusChange: (_) => N(w.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, _)
1900
1900
  },
1901
- w.id
1901
+ v.id
1902
1902
  )) }),
1903
1903
  /* @__PURE__ */ e(
1904
- bt,
1904
+ gt,
1905
1905
  {
1906
1906
  isOpen: i,
1907
- onClose: () => c(!1),
1907
+ onClose: () => o(!1),
1908
1908
  task: d,
1909
- initialMode: y,
1910
- onSave: o
1909
+ initialMode: k,
1910
+ onSave: c
1911
1911
  }
1912
1912
  )
1913
1913
  ]
@@ -1921,13 +1921,13 @@ const Zn = "_page_1c5lq_3", er = {
1921
1921
  }, tr = "_domainSwitcher_abrin_3", ar = "_domainSwitcher__label_abrin_11", et = {
1922
1922
  domainSwitcher: tr,
1923
1923
  domainSwitcher__label: ar
1924
- }, gt = b.forwardRef(
1924
+ }, bt = g.forwardRef(
1925
1925
  ({ sources: t, activeSourceKey: n, onSourceChange: a, className: r }, l) => {
1926
1926
  const u = t.map((s) => ({
1927
1927
  value: s.key,
1928
1928
  label: s.label
1929
1929
  }));
1930
- return /* @__PURE__ */ m("div", { ref: l, className: v(et.domainSwitcher, r), children: [
1930
+ return /* @__PURE__ */ m("div", { ref: l, className: b(et.domainSwitcher, r), children: [
1931
1931
  /* @__PURE__ */ e("span", { className: et.domainSwitcher__label, children: "Datenquelle" }),
1932
1932
  /* @__PURE__ */ e(
1933
1933
  Me,
@@ -1942,13 +1942,13 @@ const Zn = "_page_1c5lq_3", er = {
1942
1942
  ] });
1943
1943
  }
1944
1944
  );
1945
- gt.displayName = "DomainSwitcher";
1946
- const nr = "_dataGrid_1teg2_3", rr = "_dataGrid__viewPanel_1teg2_11", sr = "_resultCount_1teg2_15", lr = "_resultCount__number_1teg2_24", ge = {
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
1947
  dataGrid: nr,
1948
1948
  dataGrid__viewPanel: rr,
1949
1949
  resultCount: sr,
1950
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", F = {
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
1952
  toolbar: ir,
1953
1953
  toolbar__row: or,
1954
1954
  "toolbar__row--filters": "_toolbar__row--filters_1vf8q_20",
@@ -1965,23 +1965,23 @@ const nr = "_dataGrid_1teg2_3", rr = "_dataGrid__viewPanel_1teg2_11", sr = "_res
1965
1965
  /* @__PURE__ */ e("line", { x1: "3", y1: "15", x2: "21", y2: "15" }),
1966
1966
  /* @__PURE__ */ e("line", { x1: "9", y1: "3", x2: "9", y2: "21" }),
1967
1967
  /* @__PURE__ */ e("line", { x1: "15", y1: "3", x2: "15", y2: "21" })
1968
- ] }), br = /* @__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: [
1969
1969
  /* @__PURE__ */ e("line", { x1: "8", y1: "6", x2: "21", y2: "6" }),
1970
1970
  /* @__PURE__ */ e("line", { x1: "8", y1: "12", x2: "21", y2: "12" }),
1971
1971
  /* @__PURE__ */ e("line", { x1: "8", y1: "18", x2: "21", y2: "18" }),
1972
1972
  /* @__PURE__ */ e("line", { x1: "3", y1: "6", x2: "3.01", y2: "6" }),
1973
1973
  /* @__PURE__ */ e("line", { x1: "3", y1: "12", x2: "3.01", y2: "12" }),
1974
1974
  /* @__PURE__ */ e("line", { x1: "3", y1: "18", x2: "3.01", y2: "18" })
1975
- ] }), gr = /* @__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: [
1976
1976
  /* @__PURE__ */ e("rect", { x: "3", y: "3", width: "7", height: "7", rx: "1" }),
1977
1977
  /* @__PURE__ */ e("rect", { x: "14", y: "3", width: "7", height: "7", rx: "1" }),
1978
1978
  /* @__PURE__ */ e("rect", { x: "3", y: "14", width: "7", height: "7", rx: "1" }),
1979
1979
  /* @__PURE__ */ e("rect", { x: "14", y: "14", width: "7", height: "7", rx: "1" })
1980
1980
  ] }), vr = [
1981
1981
  { value: "table", label: "Tabelle", icon: fr },
1982
- { value: "list", label: "Liste", icon: br },
1983
- { value: "cards", label: "Karten", icon: gr }
1984
- ], vt = b.forwardRef(
1982
+ { value: "list", label: "Liste", icon: gr },
1983
+ { value: "cards", label: "Karten", icon: br }
1984
+ ], vt = g.forwardRef(
1985
1985
  ({
1986
1986
  currentView: t,
1987
1987
  onViewChange: n,
@@ -1992,40 +1992,40 @@ const nr = "_dataGrid_1teg2_3", rr = "_dataGrid__viewPanel_1teg2_11", sr = "_res
1992
1992
  filterOptions: s,
1993
1993
  onFilterChange: h,
1994
1994
  onSettingsClick: i,
1995
- settingsExpanded: c = !1,
1995
+ settingsExpanded: o = !1,
1996
1996
  settingsBtnRef: d,
1997
1997
  onMoreFiltersClick: f,
1998
- moreFiltersExpanded: y = !1,
1999
- moreFiltersBtnRef: k,
1998
+ moreFiltersExpanded: k = !1,
1999
+ moreFiltersBtnRef: y,
2000
2000
  activeSecondaryFilterCount: p = 0,
2001
- className: g
2002
- }, o) => {
2001
+ className: w
2002
+ }, c) => {
2003
2003
  const N = l.filter(
2004
- ([, w]) => w.filterable && w.primaryFilter && w.visible
2004
+ ([, v]) => v.filterable && v.primaryFilter && v.visible
2005
2005
  );
2006
- return /* @__PURE__ */ m("div", { ref: o, className: v(F.toolbar, g), role: "toolbar", "aria-label": "DataGrid Steuerung", children: [
2007
- /* @__PURE__ */ m("div", { className: F.toolbar__row, children: [
2008
- /* @__PURE__ */ e("div", { className: F.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(
2009
2009
  Me,
2010
2010
  {
2011
2011
  options: vr,
2012
2012
  value: t,
2013
- onChange: (w) => n?.(w),
2013
+ onChange: (v) => n?.(v),
2014
2014
  role: "tablist",
2015
2015
  "aria-label": "Ansicht wechseln"
2016
2016
  }
2017
2017
  ) }),
2018
- /* @__PURE__ */ e("div", { className: F.toolbar__right, children: /* @__PURE__ */ m(
2018
+ /* @__PURE__ */ e("div", { className: E.toolbar__right, children: /* @__PURE__ */ m(
2019
2019
  "button",
2020
2020
  {
2021
2021
  ref: d,
2022
- className: F.settingsBtn,
2022
+ className: E.settingsBtn,
2023
2023
  "aria-label": "Datenfelder konfigurieren",
2024
2024
  "aria-haspopup": "true",
2025
- "aria-expanded": c,
2025
+ "aria-expanded": o,
2026
2026
  onClick: i,
2027
2027
  children: [
2028
- /* @__PURE__ */ m("svg", { className: F.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: [
2029
2029
  /* @__PURE__ */ e("circle", { cx: "12", cy: "12", r: "3" }),
2030
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" })
2031
2031
  ] }),
@@ -2034,39 +2034,39 @@ const nr = "_dataGrid_1teg2_3", rr = "_dataGrid__viewPanel_1teg2_11", sr = "_res
2034
2034
  }
2035
2035
  ) })
2036
2036
  ] }),
2037
- /* @__PURE__ */ m("div", { className: v(F.toolbar__row, F["toolbar__row--filters"]), children: [
2038
- /* @__PURE__ */ m("div", { className: F.toolbar__left, children: [
2039
- N.map(([w, _]) => {
2040
- const x = s[w] || [], S = u[w];
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];
2041
2041
  return /* @__PURE__ */ e(
2042
2042
  _t,
2043
2043
  {
2044
2044
  label: _.label,
2045
- options: x,
2046
- value: S,
2047
- onChange: (R) => h?.(w, R),
2048
- dataFilter: w
2045
+ options: C,
2046
+ value: x,
2047
+ onChange: (L) => h?.(v, L),
2048
+ dataFilter: v
2049
2049
  },
2050
- w
2050
+ v
2051
2051
  );
2052
2052
  }),
2053
- /* @__PURE__ */ e("div", { className: F.filterMore, children: /* @__PURE__ */ m(
2053
+ /* @__PURE__ */ e("div", { className: E.filterMore, children: /* @__PURE__ */ m(
2054
2054
  "button",
2055
2055
  {
2056
- ref: k,
2057
- className: F.filterMore__btn,
2056
+ ref: y,
2057
+ className: E.filterMore__btn,
2058
2058
  "aria-label": "Weitere Filter anzeigen",
2059
2059
  "aria-haspopup": "true",
2060
- "aria-expanded": y,
2060
+ "aria-expanded": k,
2061
2061
  onClick: f,
2062
2062
  children: [
2063
2063
  "+ mehr Filter",
2064
- p > 0 && /* @__PURE__ */ e("span", { className: F.filterMore__badge, children: p })
2064
+ p > 0 && /* @__PURE__ */ e("span", { className: E.filterMore__badge, children: p })
2065
2065
  ]
2066
2066
  }
2067
2067
  ) })
2068
2068
  ] }),
2069
- /* @__PURE__ */ e("div", { className: F.toolbar__right, children: /* @__PURE__ */ e(
2069
+ /* @__PURE__ */ e("div", { className: E.toolbar__right, children: /* @__PURE__ */ e(
2070
2070
  Oe,
2071
2071
  {
2072
2072
  value: a,
@@ -2079,7 +2079,7 @@ const nr = "_dataGrid_1teg2_3", rr = "_dataGrid__viewPanel_1teg2_11", sr = "_res
2079
2079
  }
2080
2080
  );
2081
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", Q = {
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
2083
  expansionDrawer: wr,
2084
2084
  "expansionDrawer--open": "_expansionDrawer--open_1bj98_8",
2085
2085
  expansionDrawer__cell: yr,
@@ -2088,20 +2088,20 @@ const wr = "_expansionDrawer_1bj98_4", yr = "_expansionDrawer__cell_1bj98_12", k
2088
2088
  crossSellTable: xr,
2089
2089
  quickAddBtn: Cr,
2090
2090
  quickAddBtn__icon: Sr
2091
- }, Dr = "_cellDouble_1y1lm_4", Ir = "_cellDouble__primary_1y1lm_11", Lr = "_cellDouble__secondary_1y1lm_22", Rr = "_cellLink_1y1lm_31", Ar = "_cellPrice_1y1lm_45", jr = "_cellPrice__currency_1y1lm_53", $r = "_inventoryBadge_1y1lm_60", Br = "_inventoryBadge__indicator_1y1lm_81", Fr = "_statusBadge_1y1lm_100", Er = "_statusBadge__dot_1y1lm_112", P = {
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
2092
  cellDouble: Dr,
2093
2093
  cellDouble__primary: Ir,
2094
2094
  cellDouble__secondary: Lr,
2095
2095
  cellLink: Rr,
2096
- cellPrice: Ar,
2097
- cellPrice__currency: jr,
2098
- inventoryBadge: $r,
2096
+ cellPrice: Pr,
2097
+ cellPrice__currency: Ar,
2098
+ inventoryBadge: jr,
2099
2099
  "inventoryBadge--high": "_inventoryBadge--high_1y1lm_69",
2100
2100
  "inventoryBadge--medium": "_inventoryBadge--medium_1y1lm_73",
2101
2101
  "inventoryBadge--low": "_inventoryBadge--low_1y1lm_77",
2102
2102
  inventoryBadge__indicator: Br,
2103
- statusBadge: Fr,
2104
- statusBadge__dot: Er,
2103
+ statusBadge: $r,
2104
+ statusBadge__dot: Fr,
2105
2105
  "statusBadge--active": "_statusBadge--active_1y1lm_119",
2106
2106
  "statusBadge--nrnd": "_statusBadge--nrnd_1y1lm_128",
2107
2107
  "statusBadge--eol": "_statusBadge--eol_1y1lm_137",
@@ -2111,39 +2111,39 @@ const wr = "_expansionDrawer_1bj98_4", yr = "_expansionDrawer__cell_1bj98_12", k
2111
2111
  "statusBadge--in-prufung": "_statusBadge--in-prufung_1y1lm_174",
2112
2112
  "statusBadge--validierung": "_statusBadge--validierung_1y1lm_183",
2113
2113
  "statusBadge--abgeschlossen": "_statusBadge--abgeschlossen_1y1lm_192"
2114
- }, wt = b.forwardRef(
2115
- ({ primary: t, secondary: n, className: a }, r) => /* @__PURE__ */ m("div", { ref: r, className: v(P.cellDouble, a), children: [
2116
- /* @__PURE__ */ e("span", { className: P.cellDouble__primary, children: t }),
2117
- n && /* @__PURE__ */ e("span", { className: P.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 })
2118
2118
  ] })
2119
2119
  );
2120
2120
  wt.displayName = "CellDouble";
2121
- const yt = b.forwardRef(
2122
- ({ href: t = "#", children: n, className: a }, r) => /* @__PURE__ */ e("a", { ref: r, href: t, className: v(P.cellLink, a), title: typeof n == "string" ? n : void 0, children: n })
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 })
2123
2123
  );
2124
2124
  yt.displayName = "CellLink";
2125
- function Pr(t) {
2125
+ function Er(t) {
2126
2126
  return t.toFixed(2).replace(".", ",");
2127
2127
  }
2128
- const kt = b.forwardRef(
2129
- ({ value: t, currency: n, className: a }, r) => /* @__PURE__ */ m("span", { ref: r, className: v(P.cellPrice, a), children: [
2130
- Pr(t),
2131
- n && /* @__PURE__ */ e("span", { className: P.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 })
2132
2132
  ] })
2133
2133
  );
2134
2134
  kt.displayName = "CellPrice";
2135
- const $e = b.forwardRef(
2136
- ({ level: t, children: n, className: a }, r) => /* @__PURE__ */ m("span", { ref: r, className: v(P.inventoryBadge, P[`inventoryBadge--${t}`], a), children: [
2137
- /* @__PURE__ */ e("span", { className: P.inventoryBadge__indicator, "aria-hidden": "true" }),
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" }),
2138
2138
  n
2139
2139
  ] })
2140
2140
  );
2141
- $e.displayName = "InventoryBadge";
2142
- const Nt = b.forwardRef(
2141
+ je.displayName = "InventoryBadge";
2142
+ const Nt = g.forwardRef(
2143
2143
  ({ status: t, statusClass: n, className: a }, r) => {
2144
2144
  const l = n || t.toLowerCase().replace(/\s+/g, "-");
2145
- return /* @__PURE__ */ m("span", { ref: r, className: v(P.statusBadge, P[`statusBadge--${l}`], a), children: [
2146
- /* @__PURE__ */ e("span", { className: P.statusBadge__dot, "aria-hidden": "true" }),
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
2147
  t
2148
2148
  ] });
2149
2149
  }
@@ -2161,33 +2161,33 @@ function Tr(t, n, a, r, l, u, s) {
2161
2161
  case "link":
2162
2162
  return /* @__PURE__ */ e(yt, { children: h ?? "" });
2163
2163
  case "status-badge": {
2164
- const i = n.statusMap || {}, c = h, d = i[c] || c.toLowerCase().replace(/\s+/g, "-");
2165
- return /* @__PURE__ */ e(Nt, { status: c, statusClass: d });
2164
+ const i = n.statusMap || {}, o = h, d = i[o] || o.toLowerCase().replace(/\s+/g, "-");
2165
+ return /* @__PURE__ */ e(Nt, { status: o, statusClass: d });
2166
2166
  }
2167
2167
  case "currency": {
2168
2168
  const i = n.currencyField ? a[n.currencyField] ?? "" : "";
2169
2169
  return /* @__PURE__ */ e(kt, { value: h, currency: i });
2170
2170
  }
2171
2171
  case "inventory": {
2172
- const c = (n.levelFn || (() => "medium"))(h), d = n.formatFn ? n.formatFn(h) : String(h);
2173
- return /* @__PURE__ */ e($e, { level: c, children: d });
2172
+ const o = (n.levelFn || (() => "medium"))(h), d = n.formatFn ? n.formatFn(h) : String(h);
2173
+ return /* @__PURE__ */ e(je, { level: o, children: d });
2174
2174
  }
2175
2175
  case "inventory-label": {
2176
- const c = (n.levelFn || (() => "medium"))(h), d = n.labelMap || { high: "Hoch", medium: "Mittel", low: "Niedrig" };
2177
- return /* @__PURE__ */ e($e, { level: c, children: d[c] });
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] });
2178
2178
  }
2179
2179
  case "progress":
2180
2180
  return /* @__PURE__ */ e(ct, { value: h });
2181
2181
  case "favorite": {
2182
2182
  const i = r.has(a.id);
2183
2183
  return /* @__PURE__ */ e(
2184
- ue,
2184
+ he,
2185
2185
  {
2186
2186
  pressed: i,
2187
2187
  projectName: a.id,
2188
2188
  size: "sm",
2189
2189
  onToggle: () => u?.(a.id),
2190
- onClick: (c) => c.stopPropagation()
2190
+ onClick: (o) => o.stopPropagation()
2191
2191
  }
2192
2192
  );
2193
2193
  }
@@ -2195,7 +2195,7 @@ function Tr(t, n, a, r, l, u, s) {
2195
2195
  const i = h;
2196
2196
  if (!i || !Array.isArray(i) || i.length === 0)
2197
2197
  return /* @__PURE__ */ e("span", { style: { color: "var(--on-surface-variant)", fontSize: "0.75rem" }, children: "—" });
2198
- const c = `${a.id}::${t}`, d = l.has(c), f = n.expandLabel || "Einträge";
2198
+ const o = `${a.id}::${t}`, d = l.has(o), f = n.expandLabel || "Einträge";
2199
2199
  return /* @__PURE__ */ e(
2200
2200
  we,
2201
2201
  {
@@ -2203,7 +2203,7 @@ function Tr(t, n, a, r, l, u, s) {
2203
2203
  count: i.length,
2204
2204
  label: f,
2205
2205
  "aria-label": `${i.length} ${f} anzeigen`,
2206
- onClick: () => s?.(c)
2206
+ onClick: () => s?.(o)
2207
2207
  }
2208
2208
  );
2209
2209
  }
@@ -2214,34 +2214,34 @@ function Tr(t, n, a, r, l, u, s) {
2214
2214
  function Or(t, n, a, r, l) {
2215
2215
  const u = t[n];
2216
2216
  if (!u || !Array.isArray(u) || u.length === 0) return null;
2217
- const s = `${t.id}::${n}`, h = l.has(s), i = a.expandColumns || [], c = a.expandTitleFn ? a.expandTitleFn(t) : n;
2217
+ const s = `${t.id}::${n}`, h = l.has(s), i = a.expandColumns || [], o = a.expandTitleFn ? a.expandTitleFn(t) : n;
2218
2218
  return /* @__PURE__ */ e(
2219
2219
  "tr",
2220
2220
  {
2221
- className: v(Q.expansionDrawer, { [Q["expansionDrawer--open"]]: h }),
2221
+ className: b(X.expansionDrawer, { [X["expansionDrawer--open"]]: h }),
2222
2222
  "data-drawer-id": s,
2223
- children: /* @__PURE__ */ e("td", { className: Q.expansionDrawer__cell, colSpan: r, children: /* @__PURE__ */ m("div", { className: Q.expansionDrawer__content, children: [
2224
- /* @__PURE__ */ e("div", { className: Q.expansionDrawer__title, children: c }),
2225
- /* @__PURE__ */ m("table", { className: Q.crossSellTable, "aria-label": c, 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: [
2226
2226
  /* @__PURE__ */ e("thead", { children: /* @__PURE__ */ m("tr", { children: [
2227
2227
  i.map((d) => /* @__PURE__ */ e("th", { scope: "col", children: d.label }, d.key)),
2228
2228
  /* @__PURE__ */ e("th", { scope: "col" })
2229
2229
  ] }) }),
2230
2230
  /* @__PURE__ */ e("tbody", { children: u.map((d, f) => /* @__PURE__ */ m("tr", { children: [
2231
- i.map((y) => {
2232
- const k = d[y.key];
2233
- return y.type === "score-bar" ? /* @__PURE__ */ e("td", { children: /* @__PURE__ */ e(dt, { value: k }) }, y.key) : y.bold ? /* @__PURE__ */ e("td", { children: /* @__PURE__ */ e("span", { style: { fontWeight: 500 }, children: k }) }, y.key) : y.muted ? /* @__PURE__ */ e("td", { children: /* @__PURE__ */ e("span", { style: { fontSize: "0.75rem", color: "var(--on-surface-variant)" }, children: k }) }, y.key) : /* @__PURE__ */ e("td", { children: k }, y.key);
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);
2234
2234
  }),
2235
2235
  /* @__PURE__ */ e("td", { children: /* @__PURE__ */ m(
2236
2236
  "button",
2237
2237
  {
2238
- className: Q.quickAddBtn,
2238
+ className: X.quickAddBtn,
2239
2239
  "aria-label": `${d[i[0]?.key] || ""} hinzufügen`,
2240
2240
  children: [
2241
2241
  /* @__PURE__ */ m(
2242
2242
  "svg",
2243
2243
  {
2244
- className: Q.quickAddBtn__icon,
2244
+ className: X.quickAddBtn__icon,
2245
2245
  viewBox: "0 0 24 24",
2246
2246
  fill: "none",
2247
2247
  stroke: "currentColor",
@@ -2264,7 +2264,7 @@ function Or(t, n, a, r, l) {
2264
2264
  s
2265
2265
  );
2266
2266
  }
2267
- const xt = b.forwardRef(
2267
+ const xt = g.forwardRef(
2268
2268
  ({
2269
2269
  rows: t,
2270
2270
  columns: n,
@@ -2275,42 +2275,42 @@ const xt = b.forwardRef(
2275
2275
  onToggleExpand: s,
2276
2276
  favorites: h,
2277
2277
  onToggleFavorite: i,
2278
- columnWidths: c = {},
2278
+ columnWidths: o = {},
2279
2279
  onColumnResize: d,
2280
2280
  className: f
2281
- }, y) => {
2282
- const k = n.filter(([, _]) => _.visible), p = k.filter(([, _]) => _.type === "expand"), g = k.length, o = k.map(([_, x]) => ({
2281
+ }, k) => {
2282
+ const y = n.filter(([, _]) => _.visible), p = y.filter(([, _]) => _.type === "expand"), w = y.length, c = y.map(([_, C]) => ({
2283
2283
  key: _,
2284
- label: x.type === "favorite" ? void 0 : x.label,
2285
- sortable: x.sortable,
2286
- hideTablet: x.hideTablet,
2287
- hideMobile: x.hideMobile,
2288
- width: x.type === "favorite" ? 40 : void 0,
2289
- headerContent: x.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
2290
2290
  }));
2291
2291
  return /* @__PURE__ */ e(
2292
- Fe,
2292
+ $e,
2293
2293
  {
2294
- ref: y,
2295
- columns: o,
2294
+ ref: k,
2295
+ columns: c,
2296
2296
  rows: t,
2297
2297
  rowKey: (_) => _.id,
2298
- renderCell: (_, x) => {
2299
- const S = k.find(([R]) => R === x.key)?.[1];
2300
- return S ? Tr(x.key, S, _, h, u, 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;
2301
2301
  },
2302
2302
  sortColumn: a,
2303
2303
  sortDirection: r ?? void 0,
2304
2304
  onSort: l,
2305
2305
  resizable: !0,
2306
- columnWidths: c,
2306
+ columnWidths: o,
2307
2307
  onColumnResize: d,
2308
2308
  renderExpandedRow: (_) => {
2309
2309
  if (p.length === 0) return null;
2310
- const x = p.map(
2311
- ([S, R]) => Or(_, S, R, g, u)
2310
+ const C = p.map(
2311
+ ([x, L]) => Or(_, x, L, w, u)
2312
2312
  );
2313
- return x.some(Boolean) ? /* @__PURE__ */ e(Y, { children: x }) : null;
2313
+ return C.some(Boolean) ? /* @__PURE__ */ e(J, { children: C }) : null;
2314
2314
  },
2315
2315
  rowAnimation: !0,
2316
2316
  rowDataAttributes: (_) => ({ "data-row-id": _.id }),
@@ -2321,15 +2321,15 @@ const xt = b.forwardRef(
2321
2321
  }
2322
2322
  );
2323
2323
  xt.displayName = "DataTable";
2324
- const zr = "_listView_atiqa_3", Mr = "_listItem_atiqa_7", Wr = "_title_atiqa_11", qr = "_meta_atiqa_20", Vr = "_metaDivider_atiqa_30", Gr = "_badges_atiqa_34", Hr = "_price_atiqa_41", Z = {
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
2325
  listView: zr,
2326
2326
  listItem: Mr,
2327
- title: Wr,
2328
- meta: qr,
2327
+ title: qr,
2328
+ meta: Wr,
2329
2329
  metaDivider: Vr,
2330
2330
  badges: Gr,
2331
2331
  price: Hr
2332
- }, Ct = b.forwardRef(
2332
+ }, Ct = g.forwardRef(
2333
2333
  ({
2334
2334
  rows: t,
2335
2335
  columns: n,
@@ -2340,72 +2340,72 @@ const zr = "_listView_atiqa_3", Mr = "_listItem_atiqa_7", Wr = "_title_atiqa_11"
2340
2340
  valueField: s,
2341
2341
  expandField: h,
2342
2342
  favorites: i,
2343
- onToggleFavorite: c,
2343
+ onToggleFavorite: o,
2344
2344
  expandedRows: d,
2345
2345
  onToggleExpand: f,
2346
- renderCell: y,
2347
- className: k
2346
+ renderCell: k,
2347
+ className: y
2348
2348
  }, p) => {
2349
- const g = Object.fromEntries(n);
2350
- return /* @__PURE__ */ e(ve, { ref: p, className: v(Z.listView, k), children: t.map((o) => {
2351
- const N = i.has(o.id), w = o[r] ?? "", _ = l.filter((C) => !g[C] || a.has(C)), x = u.filter((C) => a.has(C)), S = /* @__PURE__ */ e(
2352
- ue,
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,
2353
2353
  {
2354
2354
  pressed: N,
2355
- projectName: o.id,
2355
+ projectName: c.id,
2356
2356
  size: "sm",
2357
- onToggle: () => c?.(o.id),
2358
- onClick: (C) => C.stopPropagation()
2357
+ onToggle: () => o?.(c.id),
2358
+ onClick: (S) => S.stopPropagation()
2359
2359
  }
2360
- ), R = /* @__PURE__ */ m(Y, { children: [
2361
- x.length > 0 && /* @__PURE__ */ e("div", { className: Z.badges, children: x.map((C) => {
2362
- const L = g[C];
2363
- return !L || !y ? null : /* @__PURE__ */ e(b.Fragment, { children: y(C, L, o) }, 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);
2364
2364
  }) }),
2365
- s && a.has(s) && /* @__PURE__ */ e("div", { className: Z.price, children: g[s] && y ? y(s, g[s], o) : String(o[s] ?? "") }),
2365
+ s && a.has(s) && /* @__PURE__ */ e("div", { className: te.price, children: w[s] && k ? k(s, w[s], c) : String(c[s] ?? "") }),
2366
2366
  h && a.has(h) && (() => {
2367
- const C = o[h];
2368
- if (!C || !Array.isArray(C) || C.length === 0) return null;
2369
- const A = g[h]?.expandLabel || "Einträge", I = `${o.id}::${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}`;
2370
2370
  return /* @__PURE__ */ e(
2371
2371
  we,
2372
2372
  {
2373
2373
  expanded: d.has(I),
2374
- count: C.length,
2375
- "aria-label": `${C.length} ${A}`,
2374
+ count: S.length,
2375
+ "aria-label": `${S.length} ${R}`,
2376
2376
  onClick: () => f?.(I)
2377
2377
  }
2378
2378
  );
2379
2379
  })()
2380
2380
  ] });
2381
2381
  return /* @__PURE__ */ m(
2382
- Ee,
2382
+ Fe,
2383
2383
  {
2384
- leading: S,
2385
- trailing: R,
2386
- className: Z.listItem,
2387
- "data-row-id": o.id,
2384
+ leading: x,
2385
+ trailing: L,
2386
+ className: te.listItem,
2387
+ "data-row-id": c.id,
2388
2388
  children: [
2389
- /* @__PURE__ */ e("div", { className: Z.title, children: w }),
2390
- _.length > 0 && /* @__PURE__ */ e("div", { className: Z.meta, children: _.map((C, L) => {
2391
- const A = g[C], I = A && y ? y(C, A, o) : /* @__PURE__ */ e("span", { children: String(o[C] ?? "") });
2392
- return /* @__PURE__ */ m(b.Fragment, { children: [
2393
- /* @__PURE__ */ e("span", { children: I }),
2394
- L < _.length - 1 && /* @__PURE__ */ e("span", { className: Z.metaDivider, "aria-hidden": "true", children: "·" })
2395
- ] }, 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] ?? "") });
2392
+ return /* @__PURE__ */ m(g.Fragment, { children: [
2393
+ /* @__PURE__ */ e("span", { children: j }),
2394
+ D < _.length - 1 && /* @__PURE__ */ e("span", { className: te.metaDivider, "aria-hidden": "true", children: "·" })
2395
+ ] }, S);
2396
2396
  }) })
2397
2397
  ]
2398
2398
  },
2399
- o.id
2399
+ c.id
2400
2400
  );
2401
2401
  }) });
2402
2402
  }
2403
2403
  );
2404
2404
  Ct.displayName = "ListView";
2405
- const Ur = "_cardGrid_h1jiq_3", Kr = "_header_h1jiq_11", Qr = "_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", M = {
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
2406
  cardGrid: Ur,
2407
- header: Kr,
2408
- title: Qr,
2407
+ header: Qr,
2408
+ title: Kr,
2409
2409
  subtitle: Yr,
2410
2410
  badges: Xr,
2411
2411
  row: Jr,
@@ -2413,7 +2413,7 @@ const Ur = "_cardGrid_h1jiq_3", Kr = "_header_h1jiq_11", Qr = "_title_h1jiq_17",
2413
2413
  value: es,
2414
2414
  footer: ts,
2415
2415
  footerLink: as
2416
- }, St = b.forwardRef(
2416
+ }, St = g.forwardRef(
2417
2417
  ({
2418
2418
  rows: t,
2419
2419
  columns: n,
@@ -2424,26 +2424,26 @@ const Ur = "_cardGrid_h1jiq_3", Kr = "_header_h1jiq_11", Qr = "_title_h1jiq_17",
2424
2424
  cardRows: s = [],
2425
2425
  footerField: h,
2426
2426
  expandField: i,
2427
- favorites: c,
2427
+ favorites: o,
2428
2428
  onToggleFavorite: d,
2429
2429
  expandedRows: f,
2430
- onToggleExpand: y,
2431
- renderCell: k,
2430
+ onToggleExpand: k,
2431
+ renderCell: y,
2432
2432
  className: p
2433
- }, g) => {
2434
- const o = Object.fromEntries(n), N = u.filter((_) => a.has(_)), w = s.filter((_) => a.has(_.field));
2435
- return /* @__PURE__ */ e("div", { ref: g, className: v(M.cardGrid, p), children: t.map((_) => {
2436
- const x = c.has(_.id), S = _[r] ?? "", R = !l || !o[l] || a.has(l), C = l && R ? _[l] ?? "" : "", L = !h || !o[h] || a.has(h), A = h && L ? _[h] ?? "" : "";
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
2437
  return /* @__PURE__ */ m(nt, { "data-row-id": _.id, children: [
2438
- /* @__PURE__ */ m("div", { className: M.header, children: [
2438
+ /* @__PURE__ */ m("div", { className: W.header, children: [
2439
2439
  /* @__PURE__ */ m("div", { children: [
2440
- /* @__PURE__ */ e("div", { className: M.title, children: S }),
2441
- 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 })
2442
2442
  ] }),
2443
2443
  /* @__PURE__ */ e(
2444
- ue,
2444
+ he,
2445
2445
  {
2446
- pressed: x,
2446
+ pressed: C,
2447
2447
  projectName: _.id,
2448
2448
  size: "sm",
2449
2449
  onToggle: () => d?.(_.id),
@@ -2451,32 +2451,32 @@ const Ur = "_cardGrid_h1jiq_3", Kr = "_header_h1jiq_11", Qr = "_title_h1jiq_17",
2451
2451
  }
2452
2452
  )
2453
2453
  ] }),
2454
- N.length > 0 && /* @__PURE__ */ e("div", { className: M.badges, children: N.map((I) => {
2455
- const O = o[I];
2456
- return !O || !k ? null : /* @__PURE__ */ e(b.Fragment, { children: k(I, O, _) }, I);
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);
2457
2457
  }) }),
2458
- w.map((I) => {
2459
- const O = o[I.field];
2460
- if (!O) return null;
2461
- const q = k ? k(I.field, O, _) : String(_[I.field] ?? "");
2462
- return /* @__PURE__ */ m("div", { className: M.row, children: [
2463
- /* @__PURE__ */ e("span", { className: M.label, children: I.label }),
2464
- /* @__PURE__ */ e("span", { className: M.value, children: q })
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
2465
  ] }, I.field);
2466
2466
  }),
2467
- (A || i && a.has(i)) && /* @__PURE__ */ m("div", { className: M.footer, children: [
2468
- /* @__PURE__ */ e("span", { className: M.footerLink, children: A }),
2467
+ (R || i && a.has(i)) && /* @__PURE__ */ m("div", { className: W.footer, children: [
2468
+ /* @__PURE__ */ e("span", { className: W.footerLink, children: R }),
2469
2469
  i && a.has(i) && (() => {
2470
2470
  const I = _[i];
2471
2471
  if (!I || !Array.isArray(I) || I.length === 0) return null;
2472
- const q = o[i]?.expandLabel || "Einträge", he = `${_.id}::${i}`;
2472
+ const M = c[i]?.expandLabel || "Einträge", ne = `${_.id}::${i}`;
2473
2473
  return /* @__PURE__ */ e(
2474
2474
  we,
2475
2475
  {
2476
- expanded: f.has(he),
2476
+ expanded: f.has(ne),
2477
2477
  count: I.length,
2478
- "aria-label": `${I.length} ${q}`,
2479
- onClick: () => y?.(he)
2478
+ "aria-label": `${I.length} ${M}`,
2479
+ onClick: () => k?.(ne)
2480
2480
  }
2481
2481
  );
2482
2482
  })()
@@ -2486,11 +2486,16 @@ const Ur = "_cardGrid_h1jiq_3", Kr = "_header_h1jiq_11", Qr = "_title_h1jiq_17",
2486
2486
  }
2487
2487
  );
2488
2488
  St.displayName = "CardView";
2489
- const ns = "_configPopover__title_1u5mf_3", rs = "_configPopover__item_1u5mf_12", ss = "_configPopover__dragHandle_1u5mf_38", ee = {
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
2490
  configPopover__title: ns,
2491
- configPopover__item: rs,
2492
- configPopover__dragHandle: ss
2493
- }, Dt = b.forwardRef(
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(
2494
2499
  ({
2495
2500
  open: t,
2496
2501
  anchorRef: n,
@@ -2501,71 +2506,95 @@ const ns = "_configPopover__title_1u5mf_3", rs = "_configPopover__item_1u5mf_12"
2501
2506
  onReorder: s,
2502
2507
  className: h
2503
2508
  }, i) => {
2504
- const c = tt(null), d = le((y) => {
2505
- c.current = y;
2506
- }, []), f = le(
2507
- (y) => {
2508
- if (!c.current || c.current === y) return;
2509
- const k = [...r], p = k.indexOf(c.current), g = k.indexOf(y);
2510
- p === -1 || g === -1 || (k.splice(p, 1), k.splice(g, 0, c.current), c.current = null, s?.(k));
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
+ }
2511
2517
  },
2512
- [r, s]
2513
- );
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
+ }, []);
2514
2535
  return /* @__PURE__ */ m(
2515
- We,
2536
+ qe,
2516
2537
  {
2517
2538
  ref: i,
2518
2539
  open: t,
2519
2540
  anchorRef: n,
2520
2541
  align: "end",
2521
2542
  "aria-label": "Datenfelder konfigurieren",
2522
- className: v(ee.configPopover, h),
2543
+ className: b(T.configPopover, h),
2523
2544
  children: [
2524
- /* @__PURE__ */ e("div", { className: ee.configPopover__title, children: "Sichtbare Datenfelder" }),
2525
- r.map((y) => {
2526
- const k = a[y];
2527
- if (!k) return null;
2528
- const p = l.has(y);
2529
- return /* @__PURE__ */ m(
2530
- "div",
2531
- {
2532
- className: v(ee.configPopover__item, {
2533
- [ee["configPopover__item--checked"]]: p
2534
- }),
2535
- draggable: !0,
2536
- onDragStart: () => d(y),
2537
- onDragOver: (g) => {
2538
- g.preventDefault(), g.dataTransfer.dropEffect = "move";
2539
- },
2540
- onDrop: (g) => {
2541
- g.preventDefault(), f(y);
2542
- },
2543
- onClick: (g) => {
2544
- g.target.closest(`.${ee.configPopover__dragHandle}`) || u?.(y);
2545
- },
2546
- children: [
2547
- /* @__PURE__ */ e(
2548
- ut,
2549
- {
2550
- checked: p,
2551
- label: k.label,
2552
- className: ee.configPopover__checkbox
2553
- }
2554
- ),
2555
- /* @__PURE__ */ e("span", { className: ee.configPopover__dragHandle, "aria-hidden": "true", children: /* @__PURE__ */ m("svg", { width: "10", height: "16", viewBox: "0 0 10 16", fill: "currentColor", children: [
2556
- /* @__PURE__ */ e("circle", { cx: "3", cy: "2", r: "1.25" }),
2557
- /* @__PURE__ */ e("circle", { cx: "7", cy: "2", r: "1.25" }),
2558
- /* @__PURE__ */ e("circle", { cx: "3", cy: "6", r: "1.25" }),
2559
- /* @__PURE__ */ e("circle", { cx: "7", cy: "6", r: "1.25" }),
2560
- /* @__PURE__ */ e("circle", { cx: "3", cy: "10", r: "1.25" }),
2561
- /* @__PURE__ */ e("circle", { cx: "7", cy: "10", r: "1.25" }),
2562
- /* @__PURE__ */ e("circle", { cx: "3", cy: "14", r: "1.25" }),
2563
- /* @__PURE__ */ e("circle", { cx: "7", cy: "14", r: "1.25" })
2564
- ] }) })
2565
- ]
2566
- },
2567
- y
2568
- );
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);
2569
2598
  })
2570
2599
  ]
2571
2600
  }
@@ -2573,14 +2602,14 @@ const ns = "_configPopover__title_1u5mf_3", rs = "_configPopover__item_1u5mf_12"
2573
2602
  }
2574
2603
  );
2575
2604
  Dt.displayName = "ConfigPopover";
2576
- const ls = "_moreFilters_t87fp_3", is = "_moreFilters__header_t87fp_8", os = "_moreFilters__title_t87fp_15", cs = "_moreFilters__clear_t87fp_21", ds = "_moreFilters__group_t87fp_35", _s = "_moreFilters__select_t87fp_39", re = {
2577
- moreFilters: ls,
2578
- moreFilters__header: is,
2579
- moreFilters__title: os,
2580
- moreFilters__clear: cs,
2581
- moreFilters__group: ds,
2582
- moreFilters__select: _s
2583
- }, It = b.forwardRef(
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(
2584
2613
  ({
2585
2614
  open: t,
2586
2615
  anchorRef: n,
@@ -2591,49 +2620,49 @@ const ls = "_moreFilters_t87fp_3", is = "_moreFilters__header_t87fp_8", os = "_m
2591
2620
  onClearAll: s,
2592
2621
  className: h
2593
2622
  }, i) => {
2594
- const c = a.filter(
2623
+ const o = a.filter(
2595
2624
  ([, f]) => f.filterable && !f.primaryFilter
2596
- ), d = c.filter(
2625
+ ), d = o.filter(
2597
2626
  ([f]) => r[f] != null
2598
2627
  ).length;
2599
2628
  return /* @__PURE__ */ m(
2600
- We,
2629
+ qe,
2601
2630
  {
2602
2631
  ref: i,
2603
2632
  open: t,
2604
2633
  anchorRef: n,
2605
2634
  align: "start",
2606
2635
  "aria-label": "Weitere Filter",
2607
- className: v(re.moreFilters, h),
2636
+ className: b(le.moreFilters, h),
2608
2637
  children: [
2609
- /* @__PURE__ */ m("div", { className: re.moreFilters__header, children: [
2610
- /* @__PURE__ */ e("span", { className: re.moreFilters__title, children: "Weitere Filter" }),
2638
+ /* @__PURE__ */ m("div", { className: le.moreFilters__header, children: [
2639
+ /* @__PURE__ */ e("span", { className: le.moreFilters__title, children: "Weitere Filter" }),
2611
2640
  d > 0 && /* @__PURE__ */ e(
2612
2641
  "button",
2613
2642
  {
2614
- className: re.moreFilters__clear,
2643
+ className: le.moreFilters__clear,
2615
2644
  onClick: s,
2616
2645
  children: "Alle zurücksetzen"
2617
2646
  }
2618
2647
  )
2619
2648
  ] }),
2620
- c.map(([f, y]) => {
2621
- const k = l[f] || [], p = r[f], g = k.map((o) => ({ value: o, label: o }));
2649
+ o.map(([f, k]) => {
2650
+ const y = l[f] || [], p = r[f], w = y.map((c) => ({ value: c, label: c }));
2622
2651
  return /* @__PURE__ */ e(
2623
- W,
2652
+ V,
2624
2653
  {
2625
- label: y.label,
2654
+ label: k.label,
2626
2655
  htmlFor: `filter-${f}`,
2627
- className: re.moreFilters__group,
2656
+ className: le.moreFilters__group,
2628
2657
  children: /* @__PURE__ */ e(
2629
- se,
2658
+ ie,
2630
2659
  {
2631
2660
  id: `filter-${f}`,
2632
- options: g,
2661
+ options: w,
2633
2662
  value: p ?? "",
2634
- onChange: (o) => u?.(f, o === "" ? null : o),
2663
+ onChange: (c) => u?.(f, c === "" ? null : c),
2635
2664
  placeholder: "Alle",
2636
- className: re.moreFilters__select
2665
+ className: le.moreFilters__select
2637
2666
  }
2638
2667
  )
2639
2668
  },
@@ -2646,9 +2675,9 @@ const ls = "_moreFilters_t87fp_3", is = "_moreFilters__header_t87fp_8", os = "_m
2646
2675
  }
2647
2676
  );
2648
2677
  It.displayName = "MoreFiltersPopover";
2649
- const Lt = b.forwardRef(
2650
- ({ count: t, total: n, label: a = "Einträge", className: r }, l) => /* @__PURE__ */ m("div", { ref: l, className: v(ge.resultCount, r), children: [
2651
- /* @__PURE__ */ e("span", { className: ge.resultCount__number, children: t }),
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 }),
2652
2681
  " von ",
2653
2682
  n,
2654
2683
  " ",
@@ -2657,7 +2686,7 @@ const Lt = b.forwardRef(
2657
2686
  ] })
2658
2687
  );
2659
2688
  Lt.displayName = "ResultCount";
2660
- const Rt = b.forwardRef(
2689
+ const Rt = g.forwardRef(
2661
2690
  ({
2662
2691
  rows: t,
2663
2692
  totalRows: n,
@@ -2668,65 +2697,65 @@ const Rt = b.forwardRef(
2668
2697
  resultLabel: s = "Einträge",
2669
2698
  currentView: h,
2670
2699
  onViewChange: i,
2671
- searchQuery: c,
2700
+ searchQuery: o,
2672
2701
  onSearchChange: d,
2673
2702
  filters: f,
2674
- filterOptions: y,
2675
- onFilterChange: k,
2703
+ filterOptions: k,
2704
+ onFilterChange: y,
2676
2705
  sortColumn: p,
2677
- sortDirection: g,
2678
- onSort: o,
2706
+ sortDirection: w,
2707
+ onSort: c,
2679
2708
  expandedRows: N,
2680
- onToggleExpand: w,
2709
+ onToggleExpand: v,
2681
2710
  favorites: _,
2682
- onToggleFavorite: x,
2683
- columnWidths: S,
2684
- onColumnResize: R,
2685
- onToggleColumn: C,
2686
- onReorderColumns: L,
2687
- onClearSecondaryFilters: A,
2711
+ onToggleFavorite: C,
2712
+ columnWidths: x,
2713
+ onColumnResize: L,
2714
+ onToggleColumn: S,
2715
+ onReorderColumns: D,
2716
+ onClearSecondaryFilters: R,
2688
2717
  renderListCell: I,
2689
- renderCardCell: O,
2690
- className: q
2691
- }, he) => {
2692
- const [qe, jt] = b.useState(!1), [Ve, $t] = b.useState(!1), Ge = b.useRef(null), He = b.useRef(null), ae = r.filter(($) => a[$]).map(($) => [$, a[$]]), Bt = ae.filter(
2693
- ([$]) => l.has($)
2694
- ), Ft = ae.filter(
2695
- ([, $]) => $.filterable && !$.primaryFilter
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
2696
2725
  ).filter(
2697
- ([$]) => f[$] != null
2726
+ ([B]) => f[B] != null
2698
2727
  ).length;
2699
- return /* @__PURE__ */ m("div", { ref: he, className: v(ge.dataGrid, q), children: [
2728
+ return /* @__PURE__ */ m("div", { ref: ne, className: b(be.dataGrid, M), children: [
2700
2729
  /* @__PURE__ */ e(
2701
2730
  vt,
2702
2731
  {
2703
2732
  currentView: h,
2704
2733
  onViewChange: i,
2705
- searchQuery: c,
2734
+ searchQuery: o,
2706
2735
  onSearchChange: d,
2707
- columns: ae,
2736
+ columns: re,
2708
2737
  filters: f,
2709
- filterOptions: y,
2710
- onFilterChange: k,
2711
- onSettingsClick: () => jt(($) => !$),
2712
- settingsExpanded: qe,
2738
+ filterOptions: k,
2739
+ onFilterChange: y,
2740
+ onSettingsClick: () => At((B) => !B),
2741
+ settingsExpanded: We,
2713
2742
  settingsBtnRef: Ge,
2714
- onMoreFiltersClick: () => $t(($) => !$),
2743
+ onMoreFiltersClick: () => jt((B) => !B),
2715
2744
  moreFiltersExpanded: Ve,
2716
2745
  moreFiltersBtnRef: He,
2717
- activeSecondaryFilterCount: Ft
2746
+ activeSecondaryFilterCount: $t
2718
2747
  }
2719
2748
  ),
2720
2749
  /* @__PURE__ */ e(
2721
2750
  Dt,
2722
2751
  {
2723
- open: qe,
2752
+ open: We,
2724
2753
  anchorRef: Ge,
2725
2754
  columns: a,
2726
2755
  columnOrder: r,
2727
2756
  visibleColumns: l,
2728
- onToggleColumn: C,
2729
- onReorder: L
2757
+ onToggleColumn: S,
2758
+ onReorder: D
2730
2759
  }
2731
2760
  ),
2732
2761
  /* @__PURE__ */ e(
@@ -2734,41 +2763,41 @@ const Rt = b.forwardRef(
2734
2763
  {
2735
2764
  open: Ve,
2736
2765
  anchorRef: He,
2737
- columns: ae,
2766
+ columns: re,
2738
2767
  filters: f,
2739
- filterOptions: y,
2740
- onFilterChange: k,
2741
- onClearAll: A
2768
+ filterOptions: k,
2769
+ onFilterChange: y,
2770
+ onClearAll: R
2742
2771
  }
2743
2772
  ),
2744
- /* @__PURE__ */ e("div", { className: ge.dataGrid__viewPanel, children: t.length === 0 ? /* @__PURE__ */ e(
2773
+ /* @__PURE__ */ e("div", { className: be.dataGrid__viewPanel, children: t.length === 0 ? /* @__PURE__ */ e(
2745
2774
  ze,
2746
2775
  {
2747
2776
  title: "Keine Ergebnisse",
2748
2777
  text: "Versuche andere Filter oder Suchbegriffe."
2749
2778
  }
2750
- ) : /* @__PURE__ */ m(Y, { children: [
2779
+ ) : /* @__PURE__ */ m(J, { children: [
2751
2780
  h === "table" && /* @__PURE__ */ e(
2752
2781
  xt,
2753
2782
  {
2754
2783
  rows: t,
2755
2784
  columns: Bt,
2756
2785
  sortColumn: p,
2757
- sortDirection: g,
2758
- onSort: o,
2786
+ sortDirection: w,
2787
+ onSort: c,
2759
2788
  expandedRows: N,
2760
- onToggleExpand: w,
2789
+ onToggleExpand: v,
2761
2790
  favorites: _,
2762
- onToggleFavorite: x,
2763
- columnWidths: S,
2764
- onColumnResize: R
2791
+ onToggleFavorite: C,
2792
+ columnWidths: x,
2793
+ onColumnResize: L
2765
2794
  }
2766
2795
  ),
2767
2796
  h === "list" && /* @__PURE__ */ e(
2768
2797
  Ct,
2769
2798
  {
2770
2799
  rows: t,
2771
- columns: ae,
2800
+ columns: re,
2772
2801
  visibleColumns: l,
2773
2802
  titleField: u.list.titleField,
2774
2803
  metaFields: u.list.metaFields,
@@ -2776,9 +2805,9 @@ const Rt = b.forwardRef(
2776
2805
  valueField: u.list.valueField,
2777
2806
  expandField: u.list.expandField,
2778
2807
  favorites: _,
2779
- onToggleFavorite: x,
2808
+ onToggleFavorite: C,
2780
2809
  expandedRows: N,
2781
- onToggleExpand: w,
2810
+ onToggleExpand: v,
2782
2811
  renderCell: I
2783
2812
  }
2784
2813
  ),
@@ -2786,7 +2815,7 @@ const Rt = b.forwardRef(
2786
2815
  St,
2787
2816
  {
2788
2817
  rows: t,
2789
- columns: ae,
2818
+ columns: re,
2790
2819
  visibleColumns: l,
2791
2820
  titleField: u.card.titleField,
2792
2821
  subtitleField: u.card.subtitleField,
@@ -2795,10 +2824,10 @@ const Rt = b.forwardRef(
2795
2824
  footerField: u.card.footerField,
2796
2825
  expandField: u.card.expandField,
2797
2826
  favorites: _,
2798
- onToggleFavorite: x,
2827
+ onToggleFavorite: C,
2799
2828
  expandedRows: N,
2800
- onToggleExpand: w,
2801
- renderCell: O
2829
+ onToggleExpand: v,
2830
+ renderCell: j
2802
2831
  }
2803
2832
  )
2804
2833
  ] }) }),
@@ -2814,7 +2843,7 @@ const Rt = b.forwardRef(
2814
2843
  }
2815
2844
  );
2816
2845
  Rt.displayName = "DataGrid";
2817
- function At(t, n) {
2846
+ function Pt(t, n) {
2818
2847
  return {
2819
2848
  currentView: "table",
2820
2849
  searchQuery: "",
@@ -2830,7 +2859,7 @@ function At(t, n) {
2830
2859
  columnWidths: {}
2831
2860
  };
2832
2861
  }
2833
- function us(t, n) {
2862
+ function ms(t, n) {
2834
2863
  switch (n.type) {
2835
2864
  case "SET_VIEW":
2836
2865
  return { ...t, currentView: n.view, expandedRows: /* @__PURE__ */ new Set() };
@@ -2871,14 +2900,14 @@ function us(t, n) {
2871
2900
  }
2872
2901
  case "SWITCH_SOURCE":
2873
2902
  return {
2874
- ...At(n.columns, n.columnOrder),
2903
+ ...Pt(n.columns, n.columnOrder),
2875
2904
  favorites: t.favorites
2876
2905
  };
2877
2906
  default:
2878
2907
  return t;
2879
2908
  }
2880
2909
  }
2881
- function hs(t, n, a) {
2910
+ function ps(t, n, a) {
2882
2911
  let r = t;
2883
2912
  if (a.searchQuery) {
2884
2913
  const l = a.searchQuery.toLowerCase(), u = Object.entries(n).filter(([, s]) => s.searchable !== !1 && s.type !== "expand").map(([s]) => s);
@@ -2896,13 +2925,13 @@ function hs(t, n, a) {
2896
2925
  }), a.sortColumn) {
2897
2926
  const l = a.sortColumn, u = a.sortDirection === "asc" ? 1 : -1;
2898
2927
  r = [...r].sort((s, h) => {
2899
- const i = s[l], c = h[l];
2900
- return i == null && c == null ? 0 : i == null ? u : c == null ? -u : typeof i == "number" && typeof c == "number" ? (i - c) * u : String(i).localeCompare(String(c)) * u;
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;
2901
2930
  });
2902
2931
  }
2903
2932
  return r;
2904
2933
  }
2905
- function ms(t, n) {
2934
+ function fs(t, n) {
2906
2935
  const a = {};
2907
2936
  return Object.entries(n).forEach(([r, l]) => {
2908
2937
  if (!l.filterable) return;
@@ -2917,42 +2946,42 @@ function ms(t, n) {
2917
2946
  }), a[r] = [...u].sort();
2918
2947
  }), a;
2919
2948
  }
2920
- const ps = b.forwardRef(
2949
+ const gs = g.forwardRef(
2921
2950
  ({ sources: t, initialSourceKey: n, className: a }, r) => {
2922
- const [l, u] = b.useState(
2951
+ const [l, u] = g.useState(
2923
2952
  n ?? t[0]?.key ?? ""
2924
- ), s = t.find((p) => p.key === l) ?? t[0], h = te(() => Object.keys(s.columns), [s]), [i, c] = Pt(
2925
- us,
2953
+ ), s = t.find((p) => p.key === l) ?? t[0], h = ae(() => Object.keys(s.columns), [s]), [i, o] = Et(
2954
+ ms,
2926
2955
  { columns: s.columns, columnOrder: h },
2927
- ({ columns: p, columnOrder: g }) => At(p, g)
2928
- ), d = le(
2956
+ ({ columns: p, columnOrder: w }) => Pt(p, w)
2957
+ ), d = G(
2929
2958
  (p) => {
2930
- const g = t.find((N) => N.key === p);
2931
- if (!g) return;
2959
+ const w = t.find((N) => N.key === p);
2960
+ if (!w) return;
2932
2961
  u(p);
2933
- const o = Object.keys(g.columns);
2934
- c({
2962
+ const c = Object.keys(w.columns);
2963
+ o({
2935
2964
  type: "SWITCH_SOURCE",
2936
- columns: g.columns,
2937
- columnOrder: o
2965
+ columns: w.columns,
2966
+ columnOrder: c
2938
2967
  });
2939
2968
  },
2940
2969
  [t]
2941
- ), f = te(
2942
- () => hs(s.data, s.columns, i),
2970
+ ), f = ae(
2971
+ () => ps(s.data, s.columns, i),
2943
2972
  [s.data, s.columns, i]
2944
- ), y = te(
2945
- () => ms(s.data, s.columns),
2973
+ ), k = ae(
2974
+ () => fs(s.data, s.columns),
2946
2975
  [s.data, s.columns]
2947
- ), k = te(
2976
+ ), y = ae(
2948
2977
  () => new Set(
2949
2978
  Object.entries(s.columns).filter(([, p]) => p.filterable && p.primaryFilter).map(([p]) => p)
2950
2979
  ),
2951
2980
  [s.columns]
2952
2981
  );
2953
- return /* @__PURE__ */ m("div", { ref: r, className: v(er.page, a), children: [
2982
+ return /* @__PURE__ */ m("div", { ref: r, className: b(er.page, a), children: [
2954
2983
  /* @__PURE__ */ e(
2955
- gt,
2984
+ bt,
2956
2985
  {
2957
2986
  sources: t,
2958
2987
  activeSourceKey: l,
@@ -2970,73 +2999,73 @@ const ps = b.forwardRef(
2970
2999
  layout: s.layout,
2971
3000
  resultLabel: s.resultLabel,
2972
3001
  currentView: i.currentView,
2973
- onViewChange: (p) => c({ type: "SET_VIEW", view: p }),
3002
+ onViewChange: (p) => o({ type: "SET_VIEW", view: p }),
2974
3003
  searchQuery: i.searchQuery,
2975
- onSearchChange: (p) => c({ type: "SET_SEARCH", query: p }),
3004
+ onSearchChange: (p) => o({ type: "SET_SEARCH", query: p }),
2976
3005
  filters: i.filters,
2977
- filterOptions: y,
2978
- onFilterChange: (p, g) => c({ type: "SET_FILTER", key: p, value: g }),
3006
+ filterOptions: k,
3007
+ onFilterChange: (p, w) => o({ type: "SET_FILTER", key: p, value: w }),
2979
3008
  sortColumn: i.sortColumn,
2980
3009
  sortDirection: i.sortDirection,
2981
- onSort: (p) => c({ type: "SET_SORT", column: p }),
3010
+ onSort: (p) => o({ type: "SET_SORT", column: p }),
2982
3011
  expandedRows: i.expandedRows,
2983
- onToggleExpand: (p) => c({ type: "TOGGLE_EXPAND", compositeKey: p }),
3012
+ onToggleExpand: (p) => o({ type: "TOGGLE_EXPAND", compositeKey: p }),
2984
3013
  favorites: i.favorites,
2985
- onToggleFavorite: (p) => c({ type: "TOGGLE_FAVORITE", id: p }),
3014
+ onToggleFavorite: (p) => o({ type: "TOGGLE_FAVORITE", id: p }),
2986
3015
  columnWidths: i.columnWidths,
2987
- onColumnResize: (p, g) => c({ type: "SET_COLUMN_WIDTH", colKey: p, width: g }),
2988
- onToggleColumn: (p) => c({ type: "TOGGLE_COLUMN", key: p }),
2989
- onReorderColumns: (p) => c({ type: "REORDER_COLUMNS", newOrder: p }),
2990
- onClearSecondaryFilters: () => c({ type: "CLEAR_SECONDARY_FILTERS", primaryFilterKeys: k })
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 })
2991
3020
  }
2992
3021
  )
2993
3022
  ] });
2994
3023
  }
2995
3024
  );
2996
- ps.displayName = "DataVisualizationPage";
3025
+ gs.displayName = "DataVisualizationPage";
2997
3026
  export {
2998
- _e as Avatar,
2999
- Pe as AvatarGroup,
3027
+ ue as Avatar,
3028
+ Ee as AvatarGroup,
3000
3029
  Le as Badge,
3001
3030
  ve as BaseList,
3002
- Fe as BaseTable,
3003
- V as Button,
3031
+ $e as BaseTable,
3032
+ H as Button,
3004
3033
  St as CardView,
3005
3034
  ut as Checkbox,
3006
3035
  Re as Checklist,
3007
3036
  Dt as ConfigPopover,
3008
- Pn as DashboardPage,
3037
+ En as DashboardPage,
3009
3038
  nt as DataCard,
3010
3039
  Rt as DataGrid,
3011
3040
  xt as DataTable,
3012
- ps as DataVisualizationPage,
3013
- gt as DomainSwitcher,
3041
+ gs as DataVisualizationPage,
3042
+ bt as DomainSwitcher,
3014
3043
  ze as EmptyState,
3015
3044
  we as ExpandButton,
3016
- ue as FavoriteButton,
3045
+ he as FavoriteButton,
3017
3046
  _t as FilterChip,
3018
- W as FormField,
3019
- Ee as ListItem,
3047
+ V as FormField,
3048
+ Fe as ListItem,
3020
3049
  Ct as ListView,
3021
3050
  mt as Modal,
3022
3051
  It as MoreFiltersPopover,
3023
- We as Popover,
3052
+ qe as Popover,
3024
3053
  Te as PriorityBadge,
3025
3054
  ct as ProgressCircle,
3026
3055
  it as ProjectTable,
3027
3056
  dt as ScoreBar,
3028
3057
  Oe as SearchInput,
3029
3058
  Me as SegmentedControl,
3030
- se as Select,
3059
+ ie as Select,
3031
3060
  rt as StatusBadge,
3032
3061
  lt as StatusChart,
3033
3062
  ot as StatusDropdown,
3034
3063
  st as StatusLegendItem,
3035
- bt as TaskDetailModal,
3064
+ gt as TaskDetailModal,
3036
3065
  pt as TaskItem,
3037
3066
  Jn as TaskWidget,
3038
3067
  ht as TextArea,
3039
- je as TextInput,
3068
+ Ae as TextInput,
3040
3069
  vt as Toolbar,
3041
- be as WidgetCard
3070
+ ge as WidgetCard
3042
3071
  };