@fastnd/components 1.0.12 → 1.0.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,77 +1,333 @@
1
- (function(){"use strict";try{if(typeof document<"u"){var r=document.createElement("style");r.appendChild(document.createTextNode('._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_1jlmc_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_1jlmc_3:hover,._favorite-btn_1jlmc_3:focus-visible{background-color:var(--surface-variant);color:var(--custom-active-color, var(--color-warning));outline:none}._favorite-btn--active_1jlmc_23{color:var(--custom-active-color, var(--color-warning))}._favorite-btn_1jlmc_3 svg{width:18px;height:18px;fill:currentColor}._status-legend__item_1xv4z_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_1xv4z_3:hover,._status-legend__item_1xv4z_3:focus-visible{background-color:var(--surface-variant);outline:none}._status-legend__item--active_1xv4z_22{background-color:var(--surface-variant);border-color:var(--border)}._status-legend__label-wrap_1xv4z_27{display:flex;align-items:center;gap:.5rem}._status-legend__color_1xv4z_33{width:12px;height:12px;border-radius:50%;flex-shrink:0;background-color:var(--custom-color, var(--current-color))}._status-legend__label_1xv4z_27{font-size:.875rem;color:var(--on-surface);font-weight:500}._status-legend__count_1xv4z_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_1xv4z_57{--current-color: var(--status-neu)}._color-offen_1xv4z_61{--current-color: var(--status-offen)}._color-in-prufung_1xv4z_65{--current-color: var(--status-in-prufung)}._color-validierung_1xv4z_69{--current-color: var(--status-validierung)}._color-abgeschlossen_1xv4z_73{--current-color: var(--status-abgeschlossen)}._color-alle_1xv4z_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}._table-container_y8cqq_3{overflow-x:auto}._project-table_y8cqq_7{width:100%;border-collapse:separate;border-spacing:0;text-align:left;table-layout:fixed}._project-table__head_y8cqq_15 th{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--on-surface-variant);padding:.75rem 1rem;border-bottom:1px solid var(--border);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._project-table__head_y8cqq_15 th:nth-child(1){width:auto}._project-table__head_y8cqq_15 th:nth-child(2){width:20%}._project-table__head_y8cqq_15 th:nth-child(3){width:150px}._project-table__head_y8cqq_15 th:nth-child(4){width:160px}._project-table__row_y8cqq_33{transition:background-color .15s ease;cursor:default}._project-table__row_y8cqq_33:hover{background-color:var(--surface-hover)}._project-table__row_y8cqq_33 td{padding:1rem;border-bottom:1px solid var(--border);font-size:.875rem;color:var(--on-surface);vertical-align:middle}._project-table__row_y8cqq_33 td:nth-child(1),._project-table__row_y8cqq_33 td:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._project-table__row_y8cqq_33 td:nth-child(3),._project-table__row_y8cqq_33 td:nth-child(4){overflow:visible}._project-table__row_y8cqq_33:last-child td{border-bottom:none}._project-table__name-cell_y8cqq_66{display:flex;align-items:center;gap:.5rem}._project-table__favorite_y8cqq_72{margin-left:-.5rem}._project-table__name-wrapper_y8cqq_76{display:flex;flex-direction:column;overflow:hidden;min-width:0}._project-table__name_y8cqq_66{font-weight:500;color:var(--on-surface);line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._project-table__app_y8cqq_92,._project-table__date-secondary_y8cqq_93{font-size:.75rem;color:var(--on-surface-variant);margin-top:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._project-table__client_y8cqq_102,._project-table__date-main_y8cqq_103{color:var(--on-surface-variant);font-size:.8125rem;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._project-table__date-main_y8cqq_103{color:var(--on-surface);font-weight:500}._avatar_17ic7_3{width:1.5rem;height:1.5rem;border-radius:50%;background-color:var(--surface-variant);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:.625rem;font-weight:600;color:var(--on-surface);text-transform:uppercase}._avatar-group_17ic7_18{display:flex;align-items:center}._group-member_17ic7_23{margin-right:-.5rem;position:relative;z-index:1;border:2px solid var(--surface)}._group-member_17ic7_23:hover{z-index:10}._btn_7bh63_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_7bh63_3:focus-visible{outline:2px solid var(--primary);outline-offset:2px}._btn_7bh63_3:active{transform:scale(.98)}._btn--primary_7bh63_27{background:var(--gradient-header);color:#fff;padding:.5rem 1rem;box-shadow:var(--shadow-sm)}._btn--primary_7bh63_27:hover{box-shadow:var(--shadow-md);opacity:.9}._btn--outline_7bh63_39{background-color:transparent;border-color:var(--border);color:var(--on-surface);padding:.375rem .75rem;min-width:110px}._btn--outline_7bh63_39:hover{background-color:var(--surface-variant);color:var(--on-surface)}._btn--ghost_7bh63_52{background-color:transparent;color:var(--on-surface-variant);padding:.375rem}._btn--ghost_7bh63_52:hover{background-color:var(--surface-variant);color:var(--on-surface)}._btn--sm_7bh63_63{padding:.2rem .4rem;font-size:.75rem;min-width:auto!important}._badge_1e35x_3{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-grotesk);font-weight:800}._badge--high_1e35x_12{background-color:var(--error-variant);color:var(--error);border:1px solid color-mix(in srgb,var(--error),transparent 80%)}._badge--medium_1e35x_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_1e35x_24{background-color:var(--surface-variant);color:var(--on-surface-variant);border:1px solid var(--border)}._badge--size-small_1e35x_30{width:1.5rem;height:1.5rem;border-radius:.375rem;font-size:.75rem}._badge--size-large_1e35x_37{width:2.25rem;height:2.25rem;border-radius:.5rem;font-size:1.125rem}._badge--size-large_1e35x_37._badge--low_1e35x_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_15zae_3{position:relative;display:inline-block;width:88px}._status-trigger_15zae_9{width:100%!important;justify-content:space-between!important}._status-menu_15zae_14{position:absolute;top:100%;right:0;margin-top:.25rem;background-color:var(--surface);border:1px solid var(--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_15zae_1 .15s ease-out}._status-menu_15zae_14._is-open_15zae_31{display:block}._status-menu-item_15zae_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_15zae_35:hover{background-color:var(--surface-variant)}._status-menu-item_15zae_35._is-active_15zae_52{font-weight:500}._icon_15zae_56{width:1rem;height:1rem;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}._icon-sm_15zae_65{width:.875rem;height:.875rem}@keyframes _fadeIn_15zae_1{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}._checklist_ulozz_3{display:flex;flex-direction:column;gap:.5rem}._check-item_ulozz_9{display:flex;align-items:center;gap:.5rem;font-size:.875rem}._check-item_ulozz_9 input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--primary);cursor:pointer}._check-item_ulozz_9 label{cursor:pointer}._check-item_ulozz_9._is-done_ulozz_27 label{text-decoration:line-through;color:var(--on-surface-variant)}._checklist--readonly_ulozz_32 ._check-item_ulozz_9 label{cursor:pointer}._checklist--readonly_ulozz_32 ._check-item_ulozz_9 input[type=checkbox]{pointer-events:all}._form-control_ulozz_40{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}._form-control_ulozz_40:focus{outline:none;background-color:var(--surface)}._is-done_ulozz_27 ._form-control_ulozz_40{text-decoration:line-through;color:var(--on-surface-variant)}._searchInput_16e7c_3{display:flex;align-items:center;gap:.5rem;padding:.375rem .75rem;border:1px solid var(--border);border-radius:1rem;background-color:var(--surface-variant);transition:border-color .15s ease,box-shadow .15s ease;min-width:200px}._searchInput_16e7c_3:focus-within{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary),transparent 85%)}._icon_16e7c_20{width:14px;height:14px;color:var(--on-surface-variant);flex-shrink:0}._field_16e7c_27{border:none;background:none;font-family:var(--font-inter);font-size:.8125rem;color:var(--on-surface);outline:none;width:100%}._field_16e7c_27::placeholder{color:var(--on-surface-variant)}@media(max-width:1024px){._searchInput_16e7c_3{min-width:160px}}@media(max-width:640px){._searchInput_16e7c_3{flex:1;min-width:0}}._btn_6gx9b_3{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .5rem;border:1px solid var(--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_6gx9b_3:hover{border-color:color-mix(in srgb,var(--primary),transparent 60%);color:var(--primary);background-color:var(--primary-container)}._btn_6gx9b_3:focus-visible{outline:2px solid var(--primary);outline-offset:1px}._chevron_6gx9b_30{width:12px;height:12px;transition:transform .2s ease;flex-shrink:0}._btn--open_6gx9b_37 ._chevron_6gx9b_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_176y2_3{display:inline-flex;background-color:var(--surface-variant);border-radius:calc(var(--radius) - 2px);padding:3px;gap:2px}._btn_176y2_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_176y2_11:hover{color:var(--on-surface)}._btn_176y2_11:focus-visible{outline:2px solid var(--primary);outline-offset:1px}._btn--active_176y2_37{background-color:var(--surface);color:var(--on-surface);box-shadow:var(--shadow-sm)}._icon_176y2_43{width:16px;height:16px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}._icon_176y2_43>svg{width:100%;height:100%}._dashboard_1mbco_4{width:100%;display:grid;grid-template-columns:35% 65%;gap:1.5rem}@media(max-width:1024px){._dashboard_1mbco_4{grid-template-columns:1fr}}._dashboard-card_1mbco_17{background-color:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-card);border:1px solid var(--border);padding:1.5rem 2.5%;display:flex;flex-direction:column}._dashboard-card__header_1mbco_27{margin-bottom:1.5rem}._dashboard-card__title_1mbco_31{font-family:var(--font-clash);font-size:1.5rem;font-weight:500;color:var(--on-surface);margin:0}._status-legend_1mbco_39{display:flex;flex-direction:column;gap:.75rem}._project-filters_1mbco_45{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}._project-filters__search_1mbco_54{padding:.5rem 1rem;border:1px solid var(--border);border-radius:var(--radius);background-color:var(--surface-variant);font-family:var(--font-inter);font-size:.875rem;color:var(--on-surface);width:250px;transition:border-color .2s,box-shadow .2s}._project-filters__search_1mbco_54:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary),transparent 80%)}._task-item_15khb_4{display:grid;grid-template-columns:55% 15% 30%;align-items:center;gap:0;padding:.75rem 5%;border-bottom:1px solid var(--border);transition:background-color .2s ease;cursor:pointer;font-family:var(--font-inter)}._task-item_15khb_4:last-child{border-bottom:none}._task-item_15khb_4:hover{background-color:var(--surface-hover)}._task-item__content_15khb_25{display:flex;flex-direction:column;gap:.375rem;min-width:0}._task-item__title-group_15khb_32{display:flex;align-items:center;gap:.375rem;min-width:0}._task-item__title_15khb_32{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)}._task-item__meta_15khb_52{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}._meta-user_15khb_64{display:flex;align-items:center;flex-shrink:0}._meta-project_15khb_70{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}._meta-project_15khb_70 ._icon-sm_15khb_83{flex-shrink:0}._task-item__deadline_15khb_88{white-space:nowrap;font-variant-numeric:tabular-nums;text-align:right;font-family:var(--font-grotesk);font-size:.75rem;line-height:1rem}._deadline-urgent_15khb_97{color:var(--color-danger);font-weight:500}._deadline-normal_15khb_102{color:var(--on-surface-variant)}._task-item__actions_15khb_107{display:flex;align-items:center;gap:.5rem;justify-content:flex-end}._icon_15khb_83{width:1rem;height:1rem;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill:none}._icon-sm_15khb_83{width:.875rem;height:.875rem;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill:none}@media(max-width:640px){._task-item_15khb_4{grid-template-columns:1fr auto;grid-template-rows:auto auto;grid-template-areas:"content actions" "deadline actions";gap:.25rem .75rem}._task-item__content_15khb_25{grid-area:content}._task-item__deadline_15khb_88{grid-area:deadline;text-align:left}._task-item__actions_15khb_107{grid-area:actions;align-self:center}}._modal-overlay_m18cx_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}._modal-overlay_m18cx_4._is-active_m18cx_19{opacity:1;pointer-events:all}._modal-content_m18cx_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}._modal-overlay_m18cx_4._is-active_m18cx_19 ._modal-content_m18cx_25{transform:scale(1) translateY(0)}._modal-header_m18cx_46{padding:1.25rem 1.5rem;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}._modal-header-title_m18cx_55{margin:0;font-family:var(--font-clash);font-weight:500;font-size:1.25rem;line-height:1.75rem;color:var(--on-surface)}._modal-body_m18cx_65{padding:1.5rem;overflow-y:auto;display:flex;flex-direction:column;gap:1.5rem;scrollbar-width:thin;scrollbar-color:var(--border) transparent}._modal-body_m18cx_65::-webkit-scrollbar{width:4px}._modal-body_m18cx_65::-webkit-scrollbar-thumb{background-color:var(--border);border-radius:2px}._modal-footer_m18cx_84{padding:1rem 1.5rem;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:.5rem;background:var(--surface-hover);flex-shrink:0}._view-group_m18cx_95{display:flex;flex-direction:column;gap:.375rem}._view-label_m18cx_101{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_m18cx_111{display:flex;flex-wrap:wrap;gap:1.5rem;align-items:flex-start}._view-task-title_m18cx_118{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_m18cx_127{font-family:var(--font-grotesk);font-weight:500;font-size:.9375rem;color:var(--on-surface)}._view-description_m18cx_134{font-size:.875rem;line-height:1.6;margin:0;color:var(--on-surface);font-family:var(--font-inter)}._text-muted_m18cx_142{color:var(--on-surface-variant);font-style:italic}._form-group_m18cx_148{display:flex;flex-direction:column;gap:.5rem}._form-row_m18cx_154{display:grid;grid-template-columns:1fr 1fr;gap:1rem}._form-label_m18cx_160{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)}._form-control_m18cx_170{width:100%;padding:.625rem .75rem;border:1px solid var(--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;appearance:auto}._form-control_m18cx_170:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary),transparent 88%)}._textarea_m18cx_191{resize:vertical;min-height:80px}._icon_m18cx_197{width:1.25rem;height:1.25rem;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill:none}._icon-pencil_m18cx_207{width:.875rem;height:.875rem;fill:currentColor}@media(max-width:640px){._form-row_m18cx_154{grid-template-columns:1fr}}:root{--surface: #ffffff;--surface-variant: #f0f1f2;--surface-hover: #f7f7f7;--border: #e0e4eb;--border-variant: rgba(0, 20, 41, .1);--on-surface: #001429;--on-surface-variant: #576472;--on-surface-light: #9aa2aa;--primary: #0073e6;--primary-variant: rgba(0, 115, 230, .07);--primary-container: rgba(0, 115, 230, .05);--error: #bd0c38;--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(--error);--lifecycle-production: var(--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(--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;--border: #14181f;--border-variant: rgba(255, 255, 255, .1);--on-surface: #ffffff;--on-surface-variant: #9aa2aa;--on-surface-light: #576472;--primary: #0073e6;--primary-variant: rgba(0, 115, 230, .07);--primary-container: rgba(0, 115, 230, .05);--error: #bd0c38;--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)}}._widget-card_gqjal_4{background-color:var(--surface);color:var(--on-surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card);display:flex;flex-direction:column;height:100%;max-width:520px;overflow:hidden;font-family:var(--font-inter);animation:_fadeIn_gqjal_1 .4s ease-out}._widget-header_gqjal_20{display:flex;justify-content:space-between;align-items:center;padding:1rem 5%;border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0}._widget-header__title_gqjal_30{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}._task-list_gqjal_41{display:flex;flex-direction:column;overflow-y:auto;flex:1 1 0;scrollbar-width:thin;scrollbar-color:var(--border) transparent}._task-list_gqjal_41::-webkit-scrollbar{width:4px}._task-list_gqjal_41::-webkit-scrollbar-track{background:transparent}._task-list_gqjal_41::-webkit-scrollbar-thumb{background-color:var(--border);border-radius:2px}._icon_gqjal_64{width:1rem;height:1rem;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill:none}._icon-sm_gqjal_74{width:.875rem;height:.875rem}@keyframes _fadeIn_gqjal_1{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}')),document.head.appendChild(r)}}catch(e){console.error("vite-plugin-css-injected-by-js",e)}})();
2
- import { jsx as e, jsxs as i } from "react/jsx-runtime";
3
- import N, { useState as $, useRef as ge, useEffect as Q, useMemo as O } from "react";
4
- function ie(a) {
5
- var t, s, n = "";
6
- if (typeof a == "string" || typeof a == "number") n += a;
7
- else if (typeof a == "object") if (Array.isArray(a)) {
8
- var l = a.length;
9
- for (t = 0; t < l; t++) a[t] && (s = ie(a[t])) && (n && (n += " "), n += s);
10
- } else for (s in a) a[s] && (n && (n += " "), n += s);
11
- return n;
1
+ (function(){"use strict";try{if(typeof document<"u"){var r=document.createElement("style");r.appendChild(document.createTextNode('._tableContainer_133qi_4{overflow-x:auto}._table_133qi_4{width:100%;border-collapse:separate;border-spacing:0;text-align:left;table-layout:fixed}._table__head_133qi_18 th{font-size:.6875rem;text-transform:uppercase;letter-spacing:.05em;color:var(--on-surface-variant);padding:.625rem 1rem;border-bottom:1px solid var(--border);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative}._table__head_133qi_18 th._sortable_133qi_32{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .15s ease}._table__head_133qi_18 th._sortable_133qi_32:hover{color:var(--on-surface)}._table__head_133qi_18 th:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}._sortIndicator_133qi_48{display:inline-flex;margin-left:.25rem;opacity:.4;vertical-align:middle}._table__head_133qi_18 th[aria-sort] ._sortIndicator_133qi_48{opacity:1;color:var(--primary)}._colResizeHandle_133qi_61{position:absolute;top:0;right:-3px;width:6px;height:100%;cursor:col-resize;z-index:5;background:transparent}._colResizeHandle_133qi_61:hover{background-color:var(--primary);opacity:.4}._table--resizing_133qi_77{cursor:col-resize;-webkit-user-select:none;user-select:none}._table--resizing_133qi_77 *{cursor:col-resize!important}._table__row_133qi_87{transition:background-color .1s ease}._table__row_133qi_87:hover{background-color:var(--surface-hover)}._table__row_133qi_87 td{padding:.75rem 1rem;border-bottom:1px solid var(--border);vertical-align:middle;overflow:hidden;text-overflow:ellipsis}._table__row_133qi_87:last-child td{border-bottom:none}._table__row--animated_133qi_108{animation:_fadeInRow_133qi_1 .2s ease both}@keyframes _fadeInRow_133qi_1{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){._table__row--animated_133qi_108{animation:none}}@media(max-width:1024px){._col-hide-tablet_133qi_131{display:none}}@media(max-width:640px){._col-hide-mobile_133qi_137{display:none}}._widgetCard_gx9fj_4{background-color:var(--surface);color:var(--on-surface);border:1px solid var(--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_gx9fj_1 .4s ease-out}._widgetCard--half_gx9fj_18{max-width:520px}._widgetCard__header_gx9fj_23{display:flex;justify-content:space-between;align-items:center;padding:1rem 5%;border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0}._widgetCard--full_gx9fj_33 ._widgetCard__header_gx9fj_23{padding:1.5rem 2.5%}._widgetCard__title_gx9fj_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_gx9fj_33 ._widgetCard__title_gx9fj_37{font-size:1.5rem}._widgetCard__content_gx9fj_52{flex:1 1 0}._widgetCard__content--scrollable_gx9fj_56{overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--border) transparent}._widgetCard__content--scrollable_gx9fj_56::-webkit-scrollbar{width:4px}._widgetCard__content--scrollable_gx9fj_56::-webkit-scrollbar-track{background:transparent}._widgetCard__content--scrollable_gx9fj_56::-webkit-scrollbar-thumb{background-color:var(--border);border-radius:2px}._widgetCard__content--padded_gx9fj_76{padding:1rem 5%}._widgetCard--full_gx9fj_33 ._widgetCard__content--padded_gx9fj_76{padding:1.5rem 2.5%}@keyframes _fadeIn_gx9fj_1{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){._widgetCard_gx9fj_4{animation:none}}._dataCard_19cka_3{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;transition:box-shadow .15s ease,border-color .15s ease;display:flex;flex-direction:column;gap:.75rem}._dataCard_19cka_3:hover{box-shadow:var(--shadow-md)}._dataCard--clickable_19cka_18{cursor:pointer}._dataCard--clickable_19cka_18:focus-visible{outline:2px solid var(--primary);outline-offset:2px}._baseList_47qml_3{display:flex;flex-direction:column}._baseList--scrollable_47qml_8{overflow-y:auto;flex:1 1 0;scrollbar-width:thin;scrollbar-color:var(--border) transparent}._baseList--scrollable_47qml_8::-webkit-scrollbar{width:4px}._baseList--scrollable_47qml_8::-webkit-scrollbar-track{background:transparent}._baseList--scrollable_47qml_8::-webkit-scrollbar-thumb{background-color:var(--border);border-radius:2px}._listItem_1ssj2_3{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid var(--border);transition:background-color .1s ease;font-family:var(--font-inter)}._listItem_1ssj2_3:last-child{border-bottom:none}._listItem_1ssj2_3:hover{background-color:var(--surface-hover)}._listItem--clickable_1ssj2_21{cursor:pointer}._listItem_1ssj2_3:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}._listItem__leading_1ssj2_31{flex-shrink:0;display:flex;align-items:center}._listItem__content_1ssj2_37{flex:1;min-width:0}._listItem__trailing_1ssj2_42{flex-shrink:0;display:flex;align-items:center;gap:.5rem}@media(max-width:640px){._listItem_1ssj2_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_1xv4z_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_1xv4z_3:hover,._status-legend__item_1xv4z_3:focus-visible{background-color:var(--surface-variant);outline:none}._status-legend__item--active_1xv4z_22{background-color:var(--surface-variant);border-color:var(--border)}._status-legend__label-wrap_1xv4z_27{display:flex;align-items:center;gap:.5rem}._status-legend__color_1xv4z_33{width:12px;height:12px;border-radius:50%;flex-shrink:0;background-color:var(--custom-color, var(--current-color))}._status-legend__label_1xv4z_27{font-size:.875rem;color:var(--on-surface);font-weight:500}._status-legend__count_1xv4z_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_1xv4z_57{--current-color: var(--status-neu)}._color-offen_1xv4z_61{--current-color: var(--status-offen)}._color-in-prufung_1xv4z_65{--current-color: var(--status-in-prufung)}._color-validierung_1xv4z_69{--current-color: var(--status-validierung)}._color-abgeschlossen_1xv4z_73{--current-color: var(--status-abgeschlossen)}._color-alle_1xv4z_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_17ic7_3{width:1.5rem;height:1.5rem;border-radius:50%;background-color:var(--surface-variant);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:.625rem;font-weight:600;color:var(--on-surface);text-transform:uppercase}._avatar-group_17ic7_18{display:flex;align-items:center}._group-member_17ic7_23{margin-right:-.5rem;position:relative;z-index:1;border:2px solid var(--surface)}._group-member_17ic7_23:hover{z-index:10}._btn_7bh63_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_7bh63_3:focus-visible{outline:2px solid var(--primary);outline-offset:2px}._btn_7bh63_3:active{transform:scale(.98)}._btn--primary_7bh63_27{background:var(--gradient-header);color:#fff;padding:.5rem 1rem;box-shadow:var(--shadow-sm)}._btn--primary_7bh63_27:hover{box-shadow:var(--shadow-md);opacity:.9}._btn--outline_7bh63_39{background-color:transparent;border-color:var(--border);color:var(--on-surface);padding:.375rem .75rem;min-width:110px}._btn--outline_7bh63_39:hover{background-color:var(--surface-variant);color:var(--on-surface)}._btn--ghost_7bh63_52{background-color:transparent;color:var(--on-surface-variant);padding:.375rem}._btn--ghost_7bh63_52:hover{background-color:var(--surface-variant);color:var(--on-surface)}._btn--sm_7bh63_63{padding:.2rem .4rem;font-size:.75rem;min-width:auto!important}._badge_1e35x_3{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-grotesk);font-weight:800}._badge--high_1e35x_12{background-color:var(--error-variant);color:var(--error);border:1px solid color-mix(in srgb,var(--error),transparent 80%)}._badge--medium_1e35x_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_1e35x_24{background-color:var(--surface-variant);color:var(--on-surface-variant);border:1px solid var(--border)}._badge--size-small_1e35x_30{width:1.5rem;height:1.5rem;border-radius:.375rem;font-size:.75rem}._badge--size-large_1e35x_37{width:2.25rem;height:2.25rem;border-radius:.5rem;font-size:1.125rem}._badge--size-large_1e35x_37._badge--low_1e35x_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_15zae_3{position:relative;display:inline-block;width:88px}._status-trigger_15zae_9{width:100%!important;justify-content:space-between!important}._status-menu_15zae_14{position:absolute;top:100%;right:0;margin-top:.25rem;background-color:var(--surface);border:1px solid var(--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_15zae_1 .15s ease-out}._status-menu_15zae_14._is-open_15zae_31{display:block}._status-menu-item_15zae_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_15zae_35:hover{background-color:var(--surface-variant)}._status-menu-item_15zae_35._is-active_15zae_52{font-weight:500}._icon_15zae_56{width:1rem;height:1rem;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}._icon-sm_15zae_65{width:.875rem;height:.875rem}@keyframes _fadeIn_15zae_1{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}._checklist_1iobh_3{gap:.5rem}._checkItem_1iobh_7{display:flex;align-items:center;gap:.5rem;font-size:.875rem;padding:0}._checkItem_1iobh_7 input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--primary);cursor:pointer}._checkItem_1iobh_7 label{cursor:pointer}._checkItem_1iobh_7._is-done_1iobh_26 label{text-decoration:line-through;color:var(--on-surface-variant)}._checklist--readonly_1iobh_31 ._checkItem_1iobh_7 label{cursor:pointer}._checklist--readonly_1iobh_31 ._checkItem_1iobh_7 input[type=checkbox]{pointer-events:all}._formControl_1iobh_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_1iobh_39:focus{outline:none;background-color:var(--surface)}._is-done_1iobh_26 ._formControl_1iobh_39{text-decoration:line-through;color:var(--on-surface-variant)}._searchInput_16e7c_3{display:flex;align-items:center;gap:.5rem;padding:.375rem .75rem;border:1px solid var(--border);border-radius:1rem;background-color:var(--surface-variant);transition:border-color .15s ease,box-shadow .15s ease;min-width:200px}._searchInput_16e7c_3:focus-within{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary),transparent 85%)}._icon_16e7c_20{width:14px;height:14px;color:var(--on-surface-variant);flex-shrink:0}._field_16e7c_27{border:none;background:none;font-family:var(--font-inter);font-size:.8125rem;color:var(--on-surface);outline:none;width:100%}._field_16e7c_27::placeholder{color:var(--on-surface-variant)}@media(max-width:1024px){._searchInput_16e7c_3{min-width:160px}}@media(max-width:640px){._searchInput_16e7c_3{flex:1;min-width:0}}._btn_6gx9b_3{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .5rem;border:1px solid var(--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_6gx9b_3:hover{border-color:color-mix(in srgb,var(--primary),transparent 60%);color:var(--primary);background-color:var(--primary-container)}._btn_6gx9b_3:focus-visible{outline:2px solid var(--primary);outline-offset:1px}._chevron_6gx9b_30{width:12px;height:12px;transition:transform .2s ease;flex-shrink:0}._btn--open_6gx9b_37 ._chevron_6gx9b_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_176y2_3{display:inline-flex;background-color:var(--surface-variant);border-radius:calc(var(--radius) - 2px);padding:3px;gap:2px}._btn_176y2_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_176y2_11:hover{color:var(--on-surface)}._btn_176y2_11:focus-visible{outline:2px solid var(--primary);outline-offset:1px}._btn--active_176y2_37{background-color:var(--surface);color:var(--on-surface);box-shadow:var(--shadow-sm)}._icon_176y2_43{width:16px;height:16px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}._icon_176y2_43>svg{width:100%;height:100%}._dashboard_wq6z7_4{width:100%;display:grid;grid-template-columns:35% 65%;gap:1.5rem}@media(max-width:1024px){._dashboard_wq6z7_4{grid-template-columns:1fr}}._sectionTitle_wq6z7_18{font-family:var(--font-clash);font-size:1.5rem;font-weight:500;color:var(--on-surface);margin:0 0 1.5rem}._statusLegend_wq6z7_27{display:flex;flex-direction:column;gap:.75rem}._projectFilters_wq6z7_34{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:0 2.5%;flex-wrap:wrap;gap:1rem}._projectFilters_wq6z7_34 ._sectionTitle_wq6z7_18{margin-bottom:0}._projectFilters__search_wq6z7_48{padding:.5rem 1rem;border:1px solid var(--border);border-radius:var(--radius);background-color:var(--surface-variant);font-family:var(--font-inter);font-size:.875rem;color:var(--on-surface);width:250px;transition:border-color .2s,box-shadow .2s}._projectFilters__search_wq6z7_48:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary),transparent 80%)}._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}}._modal-overlay_m18cx_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}._modal-overlay_m18cx_4._is-active_m18cx_19{opacity:1;pointer-events:all}._modal-content_m18cx_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}._modal-overlay_m18cx_4._is-active_m18cx_19 ._modal-content_m18cx_25{transform:scale(1) translateY(0)}._modal-header_m18cx_46{padding:1.25rem 1.5rem;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}._modal-header-title_m18cx_55{margin:0;font-family:var(--font-clash);font-weight:500;font-size:1.25rem;line-height:1.75rem;color:var(--on-surface)}._modal-body_m18cx_65{padding:1.5rem;overflow-y:auto;display:flex;flex-direction:column;gap:1.5rem;scrollbar-width:thin;scrollbar-color:var(--border) transparent}._modal-body_m18cx_65::-webkit-scrollbar{width:4px}._modal-body_m18cx_65::-webkit-scrollbar-thumb{background-color:var(--border);border-radius:2px}._modal-footer_m18cx_84{padding:1rem 1.5rem;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:.5rem;background:var(--surface-hover);flex-shrink:0}._view-group_m18cx_95{display:flex;flex-direction:column;gap:.375rem}._view-label_m18cx_101{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_m18cx_111{display:flex;flex-wrap:wrap;gap:1.5rem;align-items:flex-start}._view-task-title_m18cx_118{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_m18cx_127{font-family:var(--font-grotesk);font-weight:500;font-size:.9375rem;color:var(--on-surface)}._view-description_m18cx_134{font-size:.875rem;line-height:1.6;margin:0;color:var(--on-surface);font-family:var(--font-inter)}._text-muted_m18cx_142{color:var(--on-surface-variant);font-style:italic}._form-group_m18cx_148{display:flex;flex-direction:column;gap:.5rem}._form-row_m18cx_154{display:grid;grid-template-columns:1fr 1fr;gap:1rem}._form-label_m18cx_160{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)}._form-control_m18cx_170{width:100%;padding:.625rem .75rem;border:1px solid var(--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;appearance:auto}._form-control_m18cx_170:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary),transparent 88%)}._textarea_m18cx_191{resize:vertical;min-height:80px}._icon_m18cx_197{width:1.25rem;height:1.25rem;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill:none}._icon-pencil_m18cx_207{width:.875rem;height:.875rem;fill:currentColor}@media(max-width:640px){._form-row_m18cx_154{grid-template-columns:1fr}}:root{--surface: #ffffff;--surface-variant: #f0f1f2;--surface-hover: #f7f7f7;--border: #e0e4eb;--border-variant: rgba(0, 20, 41, .1);--on-surface: #001429;--on-surface-variant: #576472;--on-surface-light: #9aa2aa;--primary: #0073e6;--primary-variant: rgba(0, 115, 230, .07);--primary-container: rgba(0, 115, 230, .05);--error: #bd0c38;--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(--error);--lifecycle-production: var(--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(--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;--border: #14181f;--border-variant: rgba(255, 255, 255, .1);--on-surface: #ffffff;--on-surface-variant: #9aa2aa;--on-surface-light: #576472;--primary: #0073e6;--primary-variant: rgba(0, 115, 230, .07);--primary-container: rgba(0, 115, 230, .05);--error: #bd0c38;--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)}}._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}')),document.head.appendChild(r)}}catch(e){console.error("vite-plugin-css-injected-by-js",e)}})();
2
+ import { jsx as e, jsxs as c, Fragment as Le } from "react/jsx-runtime";
3
+ import p, { useCallback as ze, useState as A, useRef as Re, useEffect as le, useMemo as Z } from "react";
4
+ function pe(t) {
5
+ var a, n, r = "";
6
+ if (typeof t == "string" || typeof t == "number") r += t;
7
+ else if (typeof t == "object") if (Array.isArray(t)) {
8
+ var i = t.length;
9
+ for (a = 0; a < i; a++) t[a] && (n = pe(t[a])) && (r && (r += " "), r += n);
10
+ } else for (n in t) t[n] && (r && (r += " "), r += n);
11
+ return r;
12
12
  }
13
- function b() {
14
- for (var a, t, s = 0, n = "", l = arguments.length; s < l; s++) (a = arguments[s]) && (t = ie(a)) && (n && (n += " "), n += t);
15
- return n;
13
+ function g() {
14
+ for (var t, a, n = 0, r = "", i = arguments.length; n < i; n++) (t = arguments[n]) && (a = pe(t)) && (r && (r += " "), r += a);
15
+ return r;
16
16
  }
17
- const te = {
17
+ const Te = "_tableContainer_133qi_4", De = "_table_133qi_4", Pe = "_table__head_133qi_18", Me = "_sortable_133qi_32", Ee = "_sortIndicator_133qi_48", Be = "_colResizeHandle_133qi_61", Fe = "_table__row_133qi_87", j = {
18
+ tableContainer: Te,
19
+ table: De,
20
+ table__head: Pe,
21
+ sortable: Me,
22
+ sortIndicator: Ee,
23
+ colResizeHandle: Be,
24
+ "table--resizing": "_table--resizing_133qi_77",
25
+ table__row: Fe,
26
+ "table__row--animated": "_table__row--animated_133qi_108",
27
+ "col-hide-tablet": "_col-hide-tablet_133qi_131",
28
+ "col-hide-mobile": "_col-hide-mobile_133qi_137"
29
+ };
30
+ function Oe({
31
+ columns: t,
32
+ rows: a,
33
+ rowKey: n,
34
+ renderCell: r,
35
+ sortColumn: i,
36
+ sortDirection: u,
37
+ onSort: l,
38
+ resizable: h = !1,
39
+ columnWidths: _ = {},
40
+ onColumnResize: m,
41
+ renderExpandedRow: o,
42
+ rowAnimation: w = !1,
43
+ rowClassName: x,
44
+ rowDataAttributes: C,
45
+ ariaLabel: f,
46
+ className: k,
47
+ ...v
48
+ }, y) {
49
+ const b = ze(
50
+ (s, N, I) => {
51
+ const L = N.offsetWidth, F = N.closest("table"), S = (Q) => {
52
+ const Ae = Q.clientX - I, J = Math.max(60, L + Ae);
53
+ N.style.width = `${J}px`, N.style.minWidth = `${J}px`, m?.(s, J);
54
+ }, z = () => {
55
+ F?.classList.remove(j["table--resizing"]), document.removeEventListener("mousemove", S), document.removeEventListener("mouseup", z);
56
+ };
57
+ F?.classList.add(j["table--resizing"]), document.addEventListener("mousemove", S), document.addEventListener("mouseup", z);
58
+ },
59
+ [m]
60
+ );
61
+ return /* @__PURE__ */ e("div", { ref: y, className: g(j.tableContainer, k), tabIndex: 0, ...v, children: /* @__PURE__ */ c("table", { className: j.table, "aria-label": f, children: [
62
+ /* @__PURE__ */ e("thead", { className: j.table__head, children: /* @__PURE__ */ e("tr", { children: t.map((s) => {
63
+ const N = g({
64
+ [j["col-hide-tablet"]]: s.hideTablet,
65
+ [j["col-hide-mobile"]]: s.hideMobile
66
+ }), I = _[s.key] ? { width: `${_[s.key]}px`, minWidth: `${_[s.key]}px` } : s.width != null ? { width: typeof s.width == "number" ? `${s.width}px` : s.width, minWidth: typeof s.width == "number" ? `${s.width}px` : s.width } : void 0, L = i === s.key, F = L ? u === "asc" ? "ascending" : "descending" : void 0;
67
+ return /* @__PURE__ */ c(
68
+ "th",
69
+ {
70
+ scope: "col",
71
+ className: g(N || void 0, { [j.sortable]: s.sortable }),
72
+ style: I,
73
+ "aria-sort": F,
74
+ tabIndex: s.sortable ? 0 : void 0,
75
+ onClick: (S) => {
76
+ h && S.target.closest(`.${j.colResizeHandle}`) || s.sortable && l && l(s.key);
77
+ },
78
+ onKeyDown: (S) => {
79
+ (S.key === "Enter" || S.key === " ") && s.sortable && l && (S.preventDefault(), l(s.key));
80
+ },
81
+ children: [
82
+ s.headerContent != null ? s.headerContent : /* @__PURE__ */ c(Le, { children: [
83
+ s.label,
84
+ s.sortable && /* @__PURE__ */ e("span", { className: j.sortIndicator, "aria-hidden": "true", children: L ? u === "asc" ? "↑" : "↓" : "↕" })
85
+ ] }),
86
+ h && /* @__PURE__ */ e(
87
+ "span",
88
+ {
89
+ className: j.colResizeHandle,
90
+ "data-resize-col": s.key,
91
+ onMouseDown: (S) => {
92
+ S.preventDefault(), S.stopPropagation();
93
+ const z = S.target.closest("th");
94
+ b(s.key, z, S.clientX);
95
+ }
96
+ }
97
+ )
98
+ ]
99
+ },
100
+ s.key
101
+ );
102
+ }) }) }),
103
+ /* @__PURE__ */ e("tbody", { children: a.map((s, N) => {
104
+ const I = n(s, N), L = x?.(s, N), F = C?.(s) ?? {}, S = o?.(s, N) ?? null;
105
+ return /* @__PURE__ */ c(p.Fragment, { children: [
106
+ /* @__PURE__ */ e(
107
+ "tr",
108
+ {
109
+ className: g(
110
+ j.table__row,
111
+ { [j["table__row--animated"]]: w },
112
+ L
113
+ ),
114
+ style: w ? { animationDelay: `${N * 20}ms` } : void 0,
115
+ ...F,
116
+ children: t.map((z) => {
117
+ const Q = g({
118
+ [j["col-hide-tablet"]]: z.hideTablet,
119
+ [j["col-hide-mobile"]]: z.hideMobile
120
+ });
121
+ return /* @__PURE__ */ e("td", { className: Q || void 0, children: r(s, z, N) }, z.key);
122
+ })
123
+ }
124
+ ),
125
+ S
126
+ ] }, I);
127
+ }) })
128
+ ] }) });
129
+ }
130
+ const we = p.forwardRef(Oe);
131
+ we.displayName = "BaseTable";
132
+ const qe = "_widgetCard_gx9fj_4", We = "_fadeIn_gx9fj_1", Ve = "_widgetCard__header_gx9fj_23", He = "_widgetCard__title_gx9fj_37", Ge = "_widgetCard__content_gx9fj_52", E = {
133
+ widgetCard: qe,
134
+ fadeIn: We,
135
+ "widgetCard--half": "_widgetCard--half_gx9fj_18",
136
+ widgetCard__header: Ve,
137
+ "widgetCard--full": "_widgetCard--full_gx9fj_33",
138
+ widgetCard__title: He,
139
+ widgetCard__content: Ge,
140
+ "widgetCard__content--scrollable": "_widgetCard__content--scrollable_gx9fj_56",
141
+ "widgetCard__content--padded": "_widgetCard__content--padded_gx9fj_76"
142
+ }, U = p.forwardRef(
143
+ ({
144
+ title: t,
145
+ headerAction: a,
146
+ variant: n = "half",
147
+ scrollable: r = !1,
148
+ padded: i = !1,
149
+ as: u = "div",
150
+ children: l,
151
+ className: h,
152
+ ..._
153
+ }, m) => {
154
+ const o = t != null || a != null;
155
+ return /* @__PURE__ */ c(
156
+ u,
157
+ {
158
+ ref: m,
159
+ className: g(
160
+ E.widgetCard,
161
+ E[`widgetCard--${n}`],
162
+ h
163
+ ),
164
+ ..._,
165
+ children: [
166
+ o && /* @__PURE__ */ c("header", { className: E.widgetCard__header, children: [
167
+ t != null && /* @__PURE__ */ e("h2", { className: E.widgetCard__title, children: t }),
168
+ a
169
+ ] }),
170
+ /* @__PURE__ */ e(
171
+ "div",
172
+ {
173
+ className: g(
174
+ E.widgetCard__content,
175
+ { [E["widgetCard__content--scrollable"]]: r },
176
+ { [E["widgetCard__content--padded"]]: i }
177
+ ),
178
+ children: l
179
+ }
180
+ )
181
+ ]
182
+ }
183
+ );
184
+ }
185
+ );
186
+ U.displayName = "WidgetCard";
187
+ const Ke = "_dataCard_19cka_3", ue = {
188
+ dataCard: Ke,
189
+ "dataCard--clickable": "_dataCard--clickable_19cka_18"
190
+ }, Ue = p.forwardRef(
191
+ ({ onClick: t, className: a, children: n, ...r }, i) => {
192
+ const u = t != null;
193
+ return /* @__PURE__ */ e(
194
+ "div",
195
+ {
196
+ ref: i,
197
+ className: g(
198
+ ue.dataCard,
199
+ { [ue["dataCard--clickable"]]: u },
200
+ a
201
+ ),
202
+ onClick: t,
203
+ tabIndex: u ? 0 : void 0,
204
+ role: u ? "button" : void 0,
205
+ onKeyDown: u ? (l) => {
206
+ (l.key === "Enter" || l.key === " ") && (l.preventDefault(), t?.(l));
207
+ } : void 0,
208
+ ...r,
209
+ children: n
210
+ }
211
+ );
212
+ }
213
+ );
214
+ Ue.displayName = "DataCard";
215
+ const Qe = "_baseList_47qml_3", me = {
216
+ baseList: Qe,
217
+ "baseList--scrollable": "_baseList--scrollable_47qml_8"
218
+ }, ce = p.forwardRef(
219
+ ({ scrollable: t = !1, className: a, children: n, ...r }, i) => /* @__PURE__ */ e(
220
+ "div",
221
+ {
222
+ ref: i,
223
+ role: "list",
224
+ className: g(
225
+ me.baseList,
226
+ { [me["baseList--scrollable"]]: t },
227
+ a
228
+ ),
229
+ ...r,
230
+ children: n
231
+ }
232
+ )
233
+ );
234
+ ce.displayName = "BaseList";
235
+ const Je = "_listItem_1ssj2_3", Ze = "_listItem__leading_1ssj2_31", Xe = "_listItem__content_1ssj2_37", Ye = "_listItem__trailing_1ssj2_42", O = {
236
+ listItem: Je,
237
+ "listItem--clickable": "_listItem--clickable_1ssj2_21",
238
+ listItem__leading: Ze,
239
+ listItem__content: Xe,
240
+ listItem__trailing: Ye
241
+ }, Ne = p.forwardRef(
242
+ ({ leading: t, trailing: a, onClick: n, as: r = "div", className: i, children: u, ...l }, h) => {
243
+ const _ = n != null, m = (o) => {
244
+ _ && (o.key === "Enter" || o.key === " ") && (o.preventDefault(), n?.());
245
+ };
246
+ return /* @__PURE__ */ c(
247
+ r,
248
+ {
249
+ ref: h,
250
+ role: "listitem",
251
+ tabIndex: 0,
252
+ className: g(
253
+ O.listItem,
254
+ { [O["listItem--clickable"]]: _ },
255
+ i
256
+ ),
257
+ onClick: _ ? n : void 0,
258
+ onKeyDown: m,
259
+ ...l,
260
+ children: [
261
+ t != null && /* @__PURE__ */ e("div", { className: O.listItem__leading, children: t }),
262
+ /* @__PURE__ */ e("div", { className: O.listItem__content, children: u }),
263
+ a != null && /* @__PURE__ */ e("div", { className: O.listItem__trailing, children: a })
264
+ ]
265
+ }
266
+ );
267
+ }
268
+ );
269
+ Ne.displayName = "ListItem";
270
+ const he = {
18
271
  "status-badge": "_status-badge_c7rzu_3",
19
272
  "status-badge--neu": "_status-badge--neu_c7rzu_26",
20
273
  "status-badge--offen": "_status-badge--offen_c7rzu_31",
21
274
  "status-badge--in-prufung": "_status-badge--in-prufung_c7rzu_36",
22
275
  "status-badge--validierung": "_status-badge--validierung_c7rzu_41",
23
276
  "status-badge--abgeschlossen": "_status-badge--abgeschlossen_c7rzu_46"
24
- }, be = {
277
+ }, et = {
25
278
  neu: "Neu",
26
279
  offen: "Offen",
27
280
  "in-prufung": "In Prüfung",
28
281
  validierung: "Validierung",
29
282
  abgeschlossen: "Abgeschlossen"
30
- }, ce = N.forwardRef(
31
- ({ status: a, color: t, backgroundColor: s, className: n, style: l, ...o }, d) => {
32
- const g = {
33
- ...l,
34
- "--custom-color": t,
35
- "--custom-bg": s
283
+ }, ke = p.forwardRef(
284
+ ({ status: t, color: a, backgroundColor: n, className: r, style: i, ...u }, l) => {
285
+ const h = {
286
+ ...i,
287
+ "--custom-color": a,
288
+ "--custom-bg": n
36
289
  };
37
290
  return /* @__PURE__ */ e(
38
291
  "span",
39
292
  {
40
- ref: d,
41
- className: b(te["status-badge"], te[`status-badge--${a}`], n),
42
- style: g,
43
- ...o,
44
- children: be[a]
293
+ ref: l,
294
+ className: g(he["status-badge"], he[`status-badge--${t}`], r),
295
+ style: h,
296
+ ...u,
297
+ children: et[t]
45
298
  }
46
299
  );
47
300
  }
48
301
  );
49
- ce.displayName = "StatusBadge";
50
- const le = {
51
- "favorite-btn": "_favorite-btn_1jlmc_3",
52
- "favorite-btn--active": "_favorite-btn--active_1jlmc_23"
53
- }, oe = N.forwardRef(
54
- ({ pressed: a, projectName: t, onToggle: s, color: n, activeColor: l, className: o, style: d, onClick: g, ...m }, h) => {
55
- const r = {
56
- ...d,
57
- "--custom-color": n,
58
- "--custom-active-color": l
59
- }, f = a ? `Von Favoriten entfernen: ${t}` : `Zu Favoriten hinzufügen: ${t}`;
302
+ ke.displayName = "StatusBadge";
303
+ const X = {
304
+ "favorite-btn": "_favorite-btn_1fvb2_3",
305
+ "favorite-btn--active": "_favorite-btn--active_1fvb2_23",
306
+ "favorite-btn--md": "_favorite-btn--md_1fvb2_28",
307
+ "favorite-btn--sm": "_favorite-btn--sm_1fvb2_39"
308
+ }, ye = p.forwardRef(
309
+ ({ pressed: t, projectName: a, onToggle: n, size: r = "md", color: i, activeColor: u, className: l, style: h, onClick: _, ...m }, o) => {
310
+ const w = {
311
+ ...h,
312
+ "--custom-color": i,
313
+ "--custom-active-color": u
314
+ }, x = t ? `Von Favoriten entfernen: ${a}` : `Zu Favoriten hinzufügen: ${a}`;
60
315
  return /* @__PURE__ */ e(
61
316
  "button",
62
317
  {
63
- ref: h,
318
+ ref: o,
64
319
  type: "button",
65
- className: b(
66
- le["favorite-btn"],
67
- { [le["favorite-btn--active"]]: a },
68
- o
320
+ className: g(
321
+ X["favorite-btn"],
322
+ X[`favorite-btn--${r}`],
323
+ { [X["favorite-btn--active"]]: t },
324
+ l
69
325
  ),
70
- style: r,
71
- "aria-pressed": a,
72
- "aria-label": f,
73
- onClick: (x) => {
74
- s?.(!a), g?.(x);
326
+ style: w,
327
+ "aria-pressed": t,
328
+ "aria-label": x,
329
+ onClick: (C) => {
330
+ n?.(!t), _?.(C);
75
331
  },
76
332
  ...m,
77
333
  children: /* @__PURE__ */ e(
@@ -90,8 +346,8 @@ const le = {
90
346
  );
91
347
  }
92
348
  );
93
- oe.displayName = "FavoriteButton";
94
- const D = {
349
+ ye.displayName = "FavoriteButton";
350
+ const B = {
95
351
  "status-legend__item": "_status-legend__item_1xv4z_3",
96
352
  "status-legend__item--active": "_status-legend__item--active_1xv4z_22",
97
353
  "status-legend__label-wrap": "_status-legend__label-wrap_1xv4z_27",
@@ -104,45 +360,45 @@ const D = {
104
360
  "color-validierung": "_color-validierung_1xv4z_69",
105
361
  "color-abgeschlossen": "_color-abgeschlossen_1xv4z_73",
106
362
  "color-alle": "_color-alle_1xv4z_77"
107
- }, de = N.forwardRef(
108
- ({ status: a, label: t, count: s, active: n = !1, color: l, className: o, style: d, ...g }, m) => {
109
- const h = {
110
- ...d,
111
- "--custom-color": l
363
+ }, Ce = p.forwardRef(
364
+ ({ status: t, label: a, count: n, active: r = !1, color: i, className: u, style: l, ...h }, _) => {
365
+ const m = {
366
+ ...l,
367
+ "--custom-color": i
112
368
  };
113
- return /* @__PURE__ */ i(
369
+ return /* @__PURE__ */ c(
114
370
  "button",
115
371
  {
116
- ref: m,
372
+ ref: _,
117
373
  type: "button",
118
374
  role: "option",
119
- "aria-selected": n,
120
- className: b(
121
- D["status-legend__item"],
122
- { [D["status-legend__item--active"]]: n },
123
- o
375
+ "aria-selected": r,
376
+ className: g(
377
+ B["status-legend__item"],
378
+ { [B["status-legend__item--active"]]: r },
379
+ u
124
380
  ),
125
- style: h,
126
- ...g,
381
+ style: m,
382
+ ...h,
127
383
  children: [
128
- /* @__PURE__ */ i("div", { className: D["status-legend__label-wrap"], children: [
384
+ /* @__PURE__ */ c("div", { className: B["status-legend__label-wrap"], children: [
129
385
  /* @__PURE__ */ e(
130
386
  "span",
131
387
  {
132
- className: b(D["status-legend__color"], D[`color-${a}`]),
388
+ className: g(B["status-legend__color"], B[`color-${t}`]),
133
389
  "aria-hidden": "true"
134
390
  }
135
391
  ),
136
- /* @__PURE__ */ e("span", { className: D["status-legend__label"], children: t })
392
+ /* @__PURE__ */ e("span", { className: B["status-legend__label"], children: a })
137
393
  ] }),
138
- /* @__PURE__ */ e("span", { className: D["status-legend__count"], children: s })
394
+ /* @__PURE__ */ e("span", { className: B["status-legend__count"], children: n })
139
395
  ]
140
396
  }
141
397
  );
142
398
  }
143
399
  );
144
- de.displayName = "StatusLegendItem";
145
- const P = {
400
+ Ce.displayName = "StatusLegendItem";
401
+ const T = {
146
402
  "status-overview__chart-container": "_status-overview__chart-container_6nwc9_3",
147
403
  "status-chart-svg": "_status-chart-svg_6nwc9_13",
148
404
  "status-chart__segment": "_status-chart__segment_6nwc9_23",
@@ -151,334 +407,330 @@ const P = {
151
407
  "status-chart__hole": "_status-chart__hole_6nwc9_40",
152
408
  "status-chart__total-value": "_status-chart__total-value_6nwc9_55",
153
409
  "status-chart__total-label": "_status-chart__total-label_6nwc9_63"
154
- }, _e = N.forwardRef(
155
- ({ data: a, totalLabel: t = "Gesamt", onSegmentClick: s, className: n, ...l }, o) => {
156
- const [d, g] = $(null), m = a.reduce((w, _) => w + _.value, 0), h = 240, r = h / 2, f = 100, x = 40, y = f - x / 2, p = y * 2 * Math.PI;
157
- return /* @__PURE__ */ i(
410
+ }, xe = p.forwardRef(
411
+ ({ data: t, totalLabel: a = "Gesamt", onSegmentClick: n, className: r, ...i }, u) => {
412
+ const [l, h] = A(null), _ = t.reduce((k, v) => k + v.value, 0), m = 240, o = m / 2, w = 100, x = 40, C = w - x / 2, f = C * 2 * Math.PI;
413
+ return /* @__PURE__ */ c(
158
414
  "div",
159
415
  {
160
- ref: o,
161
- className: b(P["status-overview__chart-container"], n),
162
- ...l,
416
+ ref: u,
417
+ className: g(T["status-overview__chart-container"], r),
418
+ ...i,
163
419
  children: [
164
420
  /* @__PURE__ */ e(
165
421
  "svg",
166
422
  {
167
- viewBox: `0 0 ${h} ${h}`,
168
- className: P["status-chart-svg"],
423
+ viewBox: `0 0 ${m} ${m}`,
424
+ className: T["status-chart-svg"],
169
425
  role: "img",
170
426
  "aria-label": "Kreisdiagramm der Projektstatus-Verteilung",
171
427
  overflow: "visible",
172
- children: m === 0 ? /* @__PURE__ */ e(
428
+ children: _ === 0 ? /* @__PURE__ */ e(
173
429
  "circle",
174
430
  {
175
- cx: r,
176
- cy: r,
177
- r: y,
431
+ cx: o,
432
+ cy: o,
433
+ r: C,
178
434
  fill: "none",
179
435
  stroke: "hsl(var(--border))",
180
436
  strokeWidth: x
181
437
  }
182
438
  ) : (() => {
183
- let w = 0;
184
- return a.map((_) => {
185
- if (_.value === 0) return null;
186
- const k = _.value / m * 100, v = k / 100 * p, u = w / 100 * p;
187
- return w += k, /* @__PURE__ */ e(
439
+ let k = 0;
440
+ return t.map((v) => {
441
+ if (v.value === 0) return null;
442
+ const y = v.value / _ * 100, b = y / 100 * f, s = k / 100 * f;
443
+ return k += y, /* @__PURE__ */ e(
188
444
  "circle",
189
445
  {
190
- cx: r,
191
- cy: r,
192
- r: y,
446
+ cx: o,
447
+ cy: o,
448
+ r: C,
193
449
  fill: "none",
194
- stroke: _.color,
450
+ stroke: v.color,
195
451
  strokeWidth: x,
196
- strokeDasharray: `${v} ${p}`,
197
- strokeDashoffset: -u,
198
- transform: `rotate(-90 ${r} ${r})`,
199
- className: b(P["status-chart__segment"], {
200
- [P["status-chart__segment--hovered"]]: d === _.status,
201
- [P["status-chart__segment--dimmed"]]: d && d !== _.status
452
+ strokeDasharray: `${b} ${f}`,
453
+ strokeDashoffset: -s,
454
+ transform: `rotate(-90 ${o} ${o})`,
455
+ className: g(T["status-chart__segment"], {
456
+ [T["status-chart__segment--hovered"]]: l === v.status,
457
+ [T["status-chart__segment--dimmed"]]: l && l !== v.status
202
458
  }),
203
- onClick: () => s?.(_.status),
204
- onMouseEnter: () => g(_.status),
205
- onMouseLeave: () => g(null),
206
- style: { cursor: s ? "pointer" : "default" },
207
- children: /* @__PURE__ */ e("title", { children: `${_.label}: ${_.value}` })
459
+ onClick: () => n?.(v.status),
460
+ onMouseEnter: () => h(v.status),
461
+ onMouseLeave: () => h(null),
462
+ style: { cursor: n ? "pointer" : "default" },
463
+ children: /* @__PURE__ */ e("title", { children: `${v.label}: ${v.value}` })
208
464
  },
209
- _.status
465
+ v.status
210
466
  );
211
467
  });
212
468
  })()
213
469
  }
214
470
  ),
215
- /* @__PURE__ */ i("div", { className: P["status-chart__hole"], children: [
216
- /* @__PURE__ */ e("span", { className: P["status-chart__total-value"], children: m }),
217
- /* @__PURE__ */ e("span", { className: P["status-chart__total-label"], children: t })
471
+ /* @__PURE__ */ c("div", { className: T["status-chart__hole"], children: [
472
+ /* @__PURE__ */ e("span", { className: T["status-chart__total-value"], children: _ }),
473
+ /* @__PURE__ */ e("span", { className: T["status-chart__total-label"], children: a })
218
474
  ] })
219
475
  ]
220
476
  }
221
477
  );
222
478
  }
223
479
  );
224
- _e.displayName = "StatusChart";
225
- function se(a) {
226
- const t = new Date(a);
227
- if (isNaN(t.getTime())) return "Ungültiges Datum";
228
- const n = (/* @__PURE__ */ new Date()).getTime() - t.getTime(), l = Math.floor(n / (1e3 * 60 * 60 * 24));
229
- if (l === 0) return "Heute";
230
- if (l === 1) return "Gestern";
231
- if (l < 7) return `vor ${l} Tagen`;
232
- const o = Math.floor(l / 7);
233
- if (o < 4)
234
- return o === 1 ? "vor einer Woche" : `vor ${o} Wochen`;
235
- const d = Math.floor(l / 30);
236
- if (d < 12)
237
- return d === 1 ? "vor einem Monat" : `vor ${d} Monaten`;
238
- const g = Math.floor(l / 365);
239
- return g === 1 ? "vor einem Jahr" : `vor ${g} Jahren`;
480
+ xe.displayName = "StatusChart";
481
+ function ve(t) {
482
+ const a = new Date(t);
483
+ if (isNaN(a.getTime())) return "Ungültiges Datum";
484
+ const r = (/* @__PURE__ */ new Date()).getTime() - a.getTime(), i = Math.floor(r / (1e3 * 60 * 60 * 24));
485
+ if (i === 0) return "Heute";
486
+ if (i === 1) return "Gestern";
487
+ if (i < 7) return `vor ${i} Tagen`;
488
+ const u = Math.floor(i / 7);
489
+ if (u < 4)
490
+ return u === 1 ? "vor einer Woche" : `vor ${u} Wochen`;
491
+ const l = Math.floor(i / 30);
492
+ if (l < 12)
493
+ return l === 1 ? "vor einem Monat" : `vor ${l} Monaten`;
494
+ const h = Math.floor(i / 365);
495
+ return h === 1 ? "vor einem Jahr" : `vor ${h} Jahren`;
240
496
  }
241
- const S = {
242
- "table-container": "_table-container_y8cqq_3",
243
- "project-table": "_project-table_y8cqq_7",
244
- "project-table__head": "_project-table__head_y8cqq_15",
245
- "project-table__row": "_project-table__row_y8cqq_33",
246
- "project-table__name-cell": "_project-table__name-cell_y8cqq_66",
247
- "project-table__favorite": "_project-table__favorite_y8cqq_72",
248
- "project-table__name-wrapper": "_project-table__name-wrapper_y8cqq_76",
249
- "project-table__name": "_project-table__name_y8cqq_66",
250
- "project-table__app": "_project-table__app_y8cqq_92",
251
- "project-table__date-secondary": "_project-table__date-secondary_y8cqq_93",
252
- "project-table__client": "_project-table__client_y8cqq_102",
253
- "project-table__date-main": "_project-table__date-main_y8cqq_103"
254
- }, ue = N.forwardRef(
255
- ({ rows: a, onToggleFavorite: t, className: s, ...n }, l) => /* @__PURE__ */ e(
256
- "div",
497
+ const tt = "_nameCell_1n6hv_4", at = "_favorite_1n6hv_10", st = "_nameWrapper_1n6hv_14", lt = "_name_1n6hv_4", nt = "_secondary_1n6hv_31", it = "_client_1n6hv_41", rt = "_dateMain_1n6hv_51", D = {
498
+ nameCell: tt,
499
+ favorite: at,
500
+ nameWrapper: st,
501
+ name: lt,
502
+ secondary: nt,
503
+ client: it,
504
+ dateMain: rt
505
+ }, ot = [
506
+ { key: "name", label: "Projekt / Applikation" },
507
+ { key: "client", label: "Kunde", width: "20%" },
508
+ { key: "status", label: "Status", width: 150 },
509
+ { key: "activity", label: "Aktivität", width: 160 }
510
+ ], Ie = p.forwardRef(
511
+ ({ rows: t, onToggleFavorite: a, className: n, ...r }, i) => /* @__PURE__ */ e(
512
+ we,
257
513
  {
258
- ref: l,
259
- className: b(S["table-container"], s),
260
- tabIndex: 0,
261
- ...n,
262
- children: /* @__PURE__ */ i("table", { className: S["project-table"], children: [
263
- /* @__PURE__ */ e("thead", { className: S["project-table__head"], children: /* @__PURE__ */ i("tr", { children: [
264
- /* @__PURE__ */ e("th", { scope: "col", children: "Projekt / Applikation" }),
265
- /* @__PURE__ */ e("th", { scope: "col", children: "Kunde" }),
266
- /* @__PURE__ */ e("th", { scope: "col", children: "Status" }),
267
- /* @__PURE__ */ e("th", { scope: "col", children: "Aktivität" })
268
- ] }) }),
269
- /* @__PURE__ */ e("tbody", { className: S["project-table__body"], children: a.map((o) => /* @__PURE__ */ i(
270
- "tr",
271
- {
272
- className: S["project-table__row"],
273
- "data-status": o.status,
274
- children: [
275
- /* @__PURE__ */ e("td", { children: /* @__PURE__ */ i("div", { className: S["project-table__name-cell"], children: [
276
- /* @__PURE__ */ e(
277
- oe,
278
- {
279
- pressed: o.favorite,
280
- projectName: o.name,
281
- onToggle: (d) => t?.(o.id, d),
282
- className: S["project-table__favorite"]
283
- }
284
- ),
285
- /* @__PURE__ */ i("div", { className: S["project-table__name-wrapper"], title: `${o.name}
286
- ${o.app}`, children: [
287
- /* @__PURE__ */ e("div", { className: S["project-table__name"], children: o.name }),
288
- /* @__PURE__ */ e("div", { className: S["project-table__app"], children: o.app })
289
- ] })
290
- ] }) }),
291
- /* @__PURE__ */ e("td", { title: o.client, children: /* @__PURE__ */ e("span", { className: S["project-table__client"], children: o.client }) }),
292
- /* @__PURE__ */ e("td", { children: /* @__PURE__ */ e(ce, { status: o.status }) }),
293
- /* @__PURE__ */ i("td", { title: `Geändert: ${se(o.updatedAt)}
294
- Erstellt: ${o.createdAt}`, children: [
295
- /* @__PURE__ */ e("div", { className: S["project-table__date-main"], children: se(o.updatedAt) }),
296
- /* @__PURE__ */ i("div", { className: S["project-table__date-secondary"], children: [
297
- "Erstellt: ",
298
- o.createdAt
299
- ] })
514
+ ref: i,
515
+ columns: ot,
516
+ rows: t,
517
+ rowKey: (l) => l.id,
518
+ renderCell: (l, h) => {
519
+ switch (h.key) {
520
+ case "name":
521
+ return /* @__PURE__ */ c("div", { className: D.nameCell, children: [
522
+ /* @__PURE__ */ e(
523
+ ye,
524
+ {
525
+ pressed: l.favorite,
526
+ projectName: l.name,
527
+ size: "sm",
528
+ onToggle: (_) => a?.(l.id, _),
529
+ className: D.favorite
530
+ }
531
+ ),
532
+ /* @__PURE__ */ c("div", { className: D.nameWrapper, title: `${l.name}
533
+ ${l.app}`, children: [
534
+ /* @__PURE__ */ e("div", { className: D.name, children: l.name }),
535
+ /* @__PURE__ */ e("div", { className: D.secondary, children: l.app })
300
536
  ] })
301
- ]
302
- },
303
- o.id
304
- )) })
305
- ] })
537
+ ] });
538
+ case "client":
539
+ return /* @__PURE__ */ e("span", { className: D.client, title: l.client, children: l.client });
540
+ case "status":
541
+ return /* @__PURE__ */ e(ke, { status: l.status });
542
+ case "activity":
543
+ return /* @__PURE__ */ c("div", { title: `Geändert: ${ve(l.updatedAt)}
544
+ Erstellt: ${l.createdAt}`, children: [
545
+ /* @__PURE__ */ e("div", { className: D.dateMain, children: ve(l.updatedAt) }),
546
+ /* @__PURE__ */ c("div", { className: D.secondary, children: [
547
+ "Erstellt: ",
548
+ l.createdAt
549
+ ] })
550
+ ] });
551
+ default:
552
+ return null;
553
+ }
554
+ },
555
+ rowDataAttributes: (l) => ({ "data-status": l.status }),
556
+ className: n,
557
+ ...r
306
558
  }
307
559
  )
308
560
  );
309
- ue.displayName = "ProjectTable";
310
- const pe = "_avatar_17ic7_3", U = {
311
- avatar: pe,
561
+ Ie.displayName = "ProjectTable";
562
+ const ct = "_avatar_17ic7_3", ne = {
563
+ avatar: ct,
312
564
  "avatar-group": "_avatar-group_17ic7_18",
313
565
  "group-member": "_group-member_17ic7_23"
314
- }, B = N.forwardRef(
315
- ({ initials: a, name: t, className: s, ...n }, l) => /* @__PURE__ */ e(
566
+ }, V = p.forwardRef(
567
+ ({ initials: t, name: a, className: n, ...r }, i) => /* @__PURE__ */ e(
316
568
  "div",
317
569
  {
318
- ref: l,
319
- className: b(U.avatar, s),
320
- title: t,
321
- "aria-label": t,
322
- ...n,
323
- children: a
570
+ ref: i,
571
+ className: g(ne.avatar, n),
572
+ title: a,
573
+ "aria-label": a,
574
+ ...r,
575
+ children: t
324
576
  }
325
577
  )
326
578
  );
327
- B.displayName = "Avatar";
328
- const X = N.forwardRef(
329
- ({ children: a, className: t, ...s }, n) => /* @__PURE__ */ e(
579
+ V.displayName = "Avatar";
580
+ const de = p.forwardRef(
581
+ ({ children: t, className: a, ...n }, r) => /* @__PURE__ */ e(
330
582
  "div",
331
583
  {
332
- ref: n,
333
- className: b(U["avatar-group"], t),
334
- ...s,
335
- children: N.Children.map(a, (l) => N.isValidElement(l) ? N.cloneElement(l, {
336
- className: b(l.props.className, U["group-member"])
337
- }) : l)
584
+ ref: r,
585
+ className: g(ne["avatar-group"], a),
586
+ ...n,
587
+ children: p.Children.map(t, (i) => p.isValidElement(i) ? p.cloneElement(i, {
588
+ className: g(i.props.className, ne["group-member"])
589
+ }) : i)
338
590
  }
339
591
  )
340
592
  );
341
- X.displayName = "AvatarGroup";
342
- const fe = "_btn_7bh63_3", V = {
343
- btn: fe,
593
+ de.displayName = "AvatarGroup";
594
+ const dt = "_btn_7bh63_3", Y = {
595
+ btn: dt,
344
596
  "btn--primary": "_btn--primary_7bh63_27",
345
597
  "btn--outline": "_btn--outline_7bh63_39",
346
598
  "btn--ghost": "_btn--ghost_7bh63_52",
347
599
  "btn--sm": "_btn--sm_7bh63_63"
348
- }, z = N.forwardRef(
349
- ({ variant: a, size: t = "md", className: s, children: n, ...l }, o) => /* @__PURE__ */ e(
600
+ }, R = p.forwardRef(
601
+ ({ variant: t, size: a = "md", className: n, children: r, ...i }, u) => /* @__PURE__ */ e(
350
602
  "button",
351
603
  {
352
- ref: o,
353
- className: b(
354
- V.btn,
604
+ ref: u,
605
+ className: g(
606
+ Y.btn,
355
607
  {
356
- [V[`btn--${a}`]]: a,
357
- [V[`btn--${t}`]]: t && t !== "md"
608
+ [Y[`btn--${t}`]]: t,
609
+ [Y[`btn--${a}`]]: a && a !== "md"
358
610
  },
359
- s
611
+ n
360
612
  ),
361
- ...l,
362
- children: n
613
+ ...i,
614
+ children: r
363
615
  }
364
616
  )
365
617
  );
366
- z.displayName = "Button";
367
- const Ne = "_badge_1e35x_3", W = {
368
- badge: Ne,
618
+ R.displayName = "Button";
619
+ const _t = "_badge_1e35x_3", ee = {
620
+ badge: _t,
369
621
  "badge--high": "_badge--high_1e35x_12",
370
622
  "badge--medium": "_badge--medium_1e35x_18",
371
623
  "badge--low": "_badge--low_1e35x_24",
372
624
  "badge--size-small": "_badge--size-small_1e35x_30",
373
625
  "badge--size-large": "_badge--size-large_1e35x_37"
374
- }, ke = {
626
+ }, ut = {
375
627
  high: "!!",
376
628
  medium: "!",
377
629
  low: "-"
378
- }, we = {
630
+ }, mt = {
379
631
  high: "Hohe Priorität",
380
632
  medium: "Mittlere Priorität",
381
633
  low: "Niedrige Priorität"
382
- }, ee = N.forwardRef(
383
- ({ level: a, size: t = "small", className: s, "aria-label": n, ...l }, o) => {
384
- const d = we[a];
634
+ }, _e = p.forwardRef(
635
+ ({ level: t, size: a = "small", className: n, "aria-label": r, ...i }, u) => {
636
+ const l = mt[t];
385
637
  return /* @__PURE__ */ e(
386
638
  "span",
387
639
  {
388
- ref: o,
389
- className: b(
390
- W.badge,
391
- W[`badge--${a}`],
392
- W[`badge--size-${t}`],
393
- s
640
+ ref: u,
641
+ className: g(
642
+ ee.badge,
643
+ ee[`badge--${t}`],
644
+ ee[`badge--size-${a}`],
645
+ n
394
646
  ),
395
- "aria-label": n || d,
396
- ...l,
397
- children: ke[a]
647
+ "aria-label": r || l,
648
+ ...i,
649
+ children: ut[t]
398
650
  }
399
651
  );
400
652
  }
401
653
  );
402
- ee.displayName = "PriorityBadge";
403
- const ye = "_badge_1j9lv_3", xe = {
404
- badge: ye
405
- }, Z = N.forwardRef(
406
- ({ className: a, children: t, ...s }, n) => /* @__PURE__ */ e(
654
+ _e.displayName = "PriorityBadge";
655
+ const ht = "_badge_1j9lv_3", vt = {
656
+ badge: ht
657
+ }, ie = p.forwardRef(
658
+ ({ className: t, children: a, ...n }, r) => /* @__PURE__ */ e(
407
659
  "span",
408
660
  {
409
- ref: n,
410
- className: b(xe.badge, a),
411
- ...s,
412
- children: t
661
+ ref: r,
662
+ className: g(vt.badge, t),
663
+ ...n,
664
+ children: a
413
665
  }
414
666
  )
415
667
  );
416
- Z.displayName = "Badge";
417
- const je = "_icon_15zae_56", L = {
668
+ ie.displayName = "Badge";
669
+ const gt = "_icon_15zae_56", P = {
418
670
  "status-dropdown": "_status-dropdown_15zae_3",
419
671
  "status-trigger": "_status-trigger_15zae_9",
420
672
  "status-menu": "_status-menu_15zae_14",
421
673
  "is-open": "_is-open_15zae_31",
422
674
  "status-menu-item": "_status-menu-item_15zae_35",
423
675
  "is-active": "_is-active_15zae_52",
424
- icon: je,
676
+ icon: gt,
425
677
  "icon-sm": "_icon-sm_15zae_65"
426
- }, me = N.forwardRef(
427
- ({ value: a, onChange: t, options: s, className: n, "aria-label": l, ...o }, d) => {
428
- const [g, m] = $(!1), h = ge(null), r = (p) => {
429
- typeof d == "function" ? d(p) : d && (d.current = p), h.current = p;
430
- }, f = s.find((p) => p.value === a) || s[0];
431
- Q(() => {
432
- const p = (w) => {
433
- h.current && !h.current.contains(w.target) && m(!1);
678
+ }, Se = p.forwardRef(
679
+ ({ value: t, onChange: a, options: n, className: r, "aria-label": i, ...u }, l) => {
680
+ const [h, _] = A(!1), m = Re(null), o = (f) => {
681
+ typeof l == "function" ? l(f) : l && (l.current = f), m.current = f;
682
+ }, w = n.find((f) => f.value === t) || n[0];
683
+ le(() => {
684
+ const f = (k) => {
685
+ m.current && !m.current.contains(k.target) && _(!1);
434
686
  };
435
- return document.addEventListener("mousedown", p), () => document.removeEventListener("mousedown", p);
687
+ return document.addEventListener("mousedown", f), () => document.removeEventListener("mousedown", f);
436
688
  }, []);
437
- const x = (p) => {
438
- p.stopPropagation(), m(!g);
439
- }, y = (p, w) => {
440
- p.stopPropagation(), t && t(w.value), m(!1);
689
+ const x = (f) => {
690
+ f.stopPropagation(), _(!h);
691
+ }, C = (f, k) => {
692
+ f.stopPropagation(), a && a(k.value), _(!1);
441
693
  };
442
- return /* @__PURE__ */ i(
694
+ return /* @__PURE__ */ c(
443
695
  "div",
444
696
  {
445
- ref: r,
446
- className: b(L["status-dropdown"], n),
447
- ...o,
697
+ ref: o,
698
+ className: g(P["status-dropdown"], r),
699
+ ...u,
448
700
  children: [
449
- /* @__PURE__ */ i(
450
- z,
701
+ /* @__PURE__ */ c(
702
+ R,
451
703
  {
452
704
  variant: "outline",
453
705
  size: "sm",
454
- className: L["status-trigger"],
706
+ className: P["status-trigger"],
455
707
  onClick: x,
456
708
  "aria-haspopup": "listbox",
457
- "aria-expanded": g,
458
- "aria-label": l,
709
+ "aria-expanded": h,
710
+ "aria-label": i,
459
711
  children: [
460
- f?.label,
461
- /* @__PURE__ */ e("svg", { className: b(L.icon, L["icon-sm"]), viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", children: /* @__PURE__ */ e("path", { d: "m6 9 6 6 6-6" }) })
712
+ w?.label,
713
+ /* @__PURE__ */ e("svg", { className: g(P.icon, P["icon-sm"]), viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", children: /* @__PURE__ */ e("path", { d: "m6 9 6 6 6-6" }) })
462
714
  ]
463
715
  }
464
716
  ),
465
717
  /* @__PURE__ */ e(
466
718
  "div",
467
719
  {
468
- className: b(L["status-menu"], { [L["is-open"]]: g }),
720
+ className: g(P["status-menu"], { [P["is-open"]]: h }),
469
721
  role: "listbox",
470
- children: s.map((p) => /* @__PURE__ */ e(
722
+ children: n.map((f) => /* @__PURE__ */ e(
471
723
  "button",
472
724
  {
473
- className: b(L["status-menu-item"], {
474
- [L["is-active"]]: p.value === f?.value
725
+ className: g(P["status-menu-item"], {
726
+ [P["is-active"]]: f.value === w?.value
475
727
  }),
476
728
  role: "option",
477
- "aria-selected": p.value === f?.value,
478
- onClick: (w) => y(w, p),
479
- children: p.label
729
+ "aria-selected": f.value === w?.value,
730
+ onClick: (k) => C(k, f),
731
+ children: f.label
480
732
  },
481
- p.value
733
+ f.value
482
734
  ))
483
735
  }
484
736
  )
@@ -487,70 +739,70 @@ const je = "_icon_15zae_56", L = {
487
739
  );
488
740
  }
489
741
  );
490
- me.displayName = "StatusDropdown";
491
- const Se = "_checklist_ulozz_3", T = {
492
- checklist: Se,
493
- "check-item": "_check-item_ulozz_9",
494
- "is-done": "_is-done_ulozz_27",
495
- "checklist--readonly": "_checklist--readonly_ulozz_32",
496
- "form-control": "_form-control_ulozz_40"
497
- }, J = N.forwardRef(
498
- ({ items: a, onChange: t, editable: s = !1, className: n, ...l }, o) => {
499
- const d = (m, h) => {
500
- t && t(a.map((r) => r.id === m ? { ...r, checked: h } : r));
501
- }, g = (m, h) => {
502
- t && t(a.map((r) => r.id === m ? { ...r, text: h } : r));
742
+ Se.displayName = "StatusDropdown";
743
+ const bt = "_checklist_1iobh_3", ft = "_checkItem_1iobh_7", pt = "_formControl_1iobh_39", q = {
744
+ checklist: bt,
745
+ checkItem: ft,
746
+ "is-done": "_is-done_1iobh_26",
747
+ "checklist--readonly": "_checklist--readonly_1iobh_31",
748
+ formControl: pt
749
+ }, re = p.forwardRef(
750
+ ({ items: t, onChange: a, editable: n = !1, className: r, ...i }, u) => {
751
+ const l = (_, m) => {
752
+ a && a(t.map((o) => o.id === _ ? { ...o, checked: m } : o));
753
+ }, h = (_, m) => {
754
+ a && a(t.map((o) => o.id === _ ? { ...o, text: m } : o));
503
755
  };
504
756
  return /* @__PURE__ */ e(
505
- "div",
757
+ ce,
506
758
  {
507
- ref: o,
508
- className: b(T.checklist, { [T["checklist--readonly"]]: !s }, n),
509
- ...l,
510
- children: a.map((m) => /* @__PURE__ */ i("div", { className: b(T["check-item"], { [T["is-done"]]: m.checked }), children: [
759
+ ref: u,
760
+ className: g(q.checklist, { [q["checklist--readonly"]]: !n }, r),
761
+ ...i,
762
+ children: t.map((_) => /* @__PURE__ */ c("div", { role: "listitem", className: g(q.checkItem, { [q["is-done"]]: _.checked }), children: [
511
763
  /* @__PURE__ */ e(
512
764
  "input",
513
765
  {
514
766
  type: "checkbox",
515
- id: m.id,
516
- checked: m.checked,
517
- onChange: (h) => d(m.id, h.target.checked)
767
+ id: _.id,
768
+ checked: _.checked,
769
+ onChange: (m) => l(_.id, m.target.checked)
518
770
  }
519
771
  ),
520
- s ? /* @__PURE__ */ e(
772
+ n ? /* @__PURE__ */ e(
521
773
  "input",
522
774
  {
523
775
  type: "text",
524
- className: T["form-control"],
525
- value: m.text,
526
- onChange: (h) => g(m.id, h.target.value),
776
+ className: q.formControl,
777
+ value: _.text,
778
+ onChange: (m) => h(_.id, m.target.value),
527
779
  placeholder: "Was ist zu tun?",
528
780
  "aria-label": "Aufgabenbeschreibung bearbeiten"
529
781
  }
530
- ) : /* @__PURE__ */ e("label", { htmlFor: m.id, children: m.text })
531
- ] }, m.id))
782
+ ) : /* @__PURE__ */ e("label", { htmlFor: _.id, children: _.text })
783
+ ] }, _.id))
532
784
  }
533
785
  );
534
786
  }
535
787
  );
536
- J.displayName = "Checklist";
537
- const Ae = "_searchInput_16e7c_3", Ce = "_icon_16e7c_20", $e = "_field_16e7c_27", G = {
538
- searchInput: Ae,
539
- icon: Ce,
540
- field: $e
541
- }, Ie = N.forwardRef(
788
+ re.displayName = "Checklist";
789
+ const wt = "_searchInput_16e7c_3", Nt = "_icon_16e7c_20", kt = "_field_16e7c_27", te = {
790
+ searchInput: wt,
791
+ icon: Nt,
792
+ field: kt
793
+ }, yt = p.forwardRef(
542
794
  ({
543
- value: a,
544
- placeholder: t = "Suche...",
545
- onChange: s,
546
- "aria-label": n = "Daten durchsuchen",
547
- id: l,
548
- className: o
549
- }, d) => /* @__PURE__ */ i("label", { className: b(G.searchInput, o), htmlFor: l, children: [
550
- /* @__PURE__ */ i(
795
+ value: t,
796
+ placeholder: a = "Suche...",
797
+ onChange: n,
798
+ "aria-label": r = "Daten durchsuchen",
799
+ id: i,
800
+ className: u
801
+ }, l) => /* @__PURE__ */ c("label", { className: g(te.searchInput, u), htmlFor: i, children: [
802
+ /* @__PURE__ */ c(
551
803
  "svg",
552
804
  {
553
- className: G.icon,
805
+ className: te.icon,
554
806
  viewBox: "0 0 24 24",
555
807
  fill: "none",
556
808
  stroke: "currentColor",
@@ -567,46 +819,46 @@ const Ae = "_searchInput_16e7c_3", Ce = "_icon_16e7c_20", $e = "_field_16e7c_27"
567
819
  /* @__PURE__ */ e(
568
820
  "input",
569
821
  {
570
- ref: d,
571
- className: G.field,
822
+ ref: l,
823
+ className: te.field,
572
824
  type: "search",
573
- id: l,
574
- value: a,
575
- placeholder: t,
576
- "aria-label": n,
577
- onChange: (g) => s?.(g.target.value)
825
+ id: i,
826
+ value: t,
827
+ placeholder: a,
828
+ "aria-label": r,
829
+ onChange: (h) => n?.(h.target.value)
578
830
  }
579
831
  )
580
832
  ] })
581
833
  );
582
- Ie.displayName = "SearchInput";
583
- const ze = "_btn_6gx9b_3", Pe = "_chevron_6gx9b_30", H = {
584
- btn: ze,
585
- chevron: Pe,
834
+ yt.displayName = "SearchInput";
835
+ const Ct = "_btn_6gx9b_3", xt = "_chevron_6gx9b_30", ae = {
836
+ btn: Ct,
837
+ chevron: xt,
586
838
  "btn--open": "_btn--open_6gx9b_37"
587
- }, Le = N.forwardRef(
839
+ }, It = p.forwardRef(
588
840
  ({
589
- expanded: a = !1,
590
- count: t,
591
- label: s,
592
- onClick: n,
593
- "aria-label": l,
594
- className: o
595
- }, d) => {
596
- const g = s ? `${t ?? ""} ${s}`.trim() : t != null ? String(t) : "";
597
- return /* @__PURE__ */ i(
841
+ expanded: t = !1,
842
+ count: a,
843
+ label: n,
844
+ onClick: r,
845
+ "aria-label": i,
846
+ className: u
847
+ }, l) => {
848
+ const h = n ? `${a ?? ""} ${n}`.trim() : a != null ? String(a) : "";
849
+ return /* @__PURE__ */ c(
598
850
  "button",
599
851
  {
600
- ref: d,
601
- className: b(H.btn, { [H["btn--open"]]: a }, o),
602
- onClick: n,
603
- "aria-expanded": a,
604
- "aria-label": l,
852
+ ref: l,
853
+ className: g(ae.btn, { [ae["btn--open"]]: t }, u),
854
+ onClick: r,
855
+ "aria-expanded": t,
856
+ "aria-label": i,
605
857
  children: [
606
858
  /* @__PURE__ */ e(
607
859
  "svg",
608
860
  {
609
- className: H.chevron,
861
+ className: ae.chevron,
610
862
  viewBox: "0 0 24 24",
611
863
  fill: "none",
612
864
  stroke: "currentColor",
@@ -617,134 +869,132 @@ const ze = "_btn_6gx9b_3", Pe = "_chevron_6gx9b_30", H = {
617
869
  children: /* @__PURE__ */ e("polyline", { points: "6 9 12 15 18 9" })
618
870
  }
619
871
  ),
620
- g
872
+ h
621
873
  ]
622
874
  }
623
875
  );
624
876
  }
625
877
  );
626
- Le.displayName = "ExpandButton";
627
- const De = "_circle_gvt69_3", Re = "_svg_gvt69_12", Te = "_track_gvt69_18", Me = "_fill_gvt69_24", Be = "_label_gvt69_31", M = {
628
- circle: De,
629
- svg: Re,
630
- track: Te,
631
- fill: Me,
632
- label: Be
633
- }, Y = 14, K = 2 * Math.PI * Y;
634
- function qe(a) {
635
- return a >= 75 ? "var(--color-success)" : a >= 50 ? "var(--color-warning)" : "var(--error)";
878
+ It.displayName = "ExpandButton";
879
+ const St = "_circle_gvt69_3", jt = "_svg_gvt69_12", $t = "_track_gvt69_18", At = "_fill_gvt69_24", Lt = "_label_gvt69_31", W = {
880
+ circle: St,
881
+ svg: jt,
882
+ track: $t,
883
+ fill: At,
884
+ label: Lt
885
+ }, oe = 14, se = 2 * Math.PI * oe;
886
+ function zt(t) {
887
+ return t >= 75 ? "var(--color-success)" : t >= 50 ? "var(--color-warning)" : "var(--error)";
636
888
  }
637
- const Ee = N.forwardRef(
638
- ({ value: a, className: t }, s) => {
639
- const n = Math.max(0, Math.min(100, a)), l = K - n / 100 * K;
640
- return /* @__PURE__ */ i("div", { ref: s, className: b(M.circle, t), role: "meter", "aria-valuenow": n, "aria-valuemin": 0, "aria-valuemax": 100, "aria-label": `${n}%`, children: [
641
- /* @__PURE__ */ i("svg", { className: M.svg, viewBox: "0 0 36 36", children: [
642
- /* @__PURE__ */ e("circle", { className: M.track, cx: "18", cy: "18", r: Y }),
889
+ const Rt = p.forwardRef(
890
+ ({ value: t, className: a }, n) => {
891
+ const r = Math.max(0, Math.min(100, t)), i = se - r / 100 * se;
892
+ return /* @__PURE__ */ c("div", { ref: n, className: g(W.circle, a), role: "meter", "aria-valuenow": r, "aria-valuemin": 0, "aria-valuemax": 100, "aria-label": `${r}%`, children: [
893
+ /* @__PURE__ */ c("svg", { className: W.svg, viewBox: "0 0 36 36", children: [
894
+ /* @__PURE__ */ e("circle", { className: W.track, cx: "18", cy: "18", r: oe }),
643
895
  /* @__PURE__ */ e(
644
896
  "circle",
645
897
  {
646
- className: M.fill,
898
+ className: W.fill,
647
899
  cx: "18",
648
900
  cy: "18",
649
- r: Y,
650
- stroke: qe(n),
651
- strokeDasharray: K,
652
- strokeDashoffset: l
901
+ r: oe,
902
+ stroke: zt(r),
903
+ strokeDasharray: se,
904
+ strokeDashoffset: i
653
905
  }
654
906
  )
655
907
  ] }),
656
- /* @__PURE__ */ i("span", { className: M.label, children: [
657
- n,
908
+ /* @__PURE__ */ c("span", { className: W.label, children: [
909
+ r,
658
910
  "%"
659
911
  ] })
660
912
  ] });
661
913
  }
662
914
  );
663
- Ee.displayName = "ProgressCircle";
664
- const Fe = "_bar_l0q8t_3", Oe = "_track_l0q8t_9", Ve = "_fill_l0q8t_17", We = "_value_l0q8t_23", q = {
665
- bar: Fe,
666
- track: Oe,
667
- fill: Ve,
668
- value: We
669
- }, Ge = N.forwardRef(
670
- ({ value: a, className: t }, s) => {
671
- const n = typeof a == "number" && a <= 1 ? a * 100 : a, l = Math.round(n);
672
- return /* @__PURE__ */ i("div", { ref: s, className: b(q.bar, t), role: "meter", "aria-valuenow": l, "aria-valuemin": 0, "aria-valuemax": 100, "aria-label": `${l}%`, children: [
673
- /* @__PURE__ */ e("div", { className: q.track, children: /* @__PURE__ */ e("div", { className: q.fill, style: { width: `${n}%` } }) }),
674
- /* @__PURE__ */ i("span", { className: q.value, children: [
675
- l,
915
+ Rt.displayName = "ProgressCircle";
916
+ const Tt = "_bar_l0q8t_3", Dt = "_track_l0q8t_9", Pt = "_fill_l0q8t_17", Mt = "_value_l0q8t_23", H = {
917
+ bar: Tt,
918
+ track: Dt,
919
+ fill: Pt,
920
+ value: Mt
921
+ }, Et = p.forwardRef(
922
+ ({ value: t, className: a }, n) => {
923
+ const r = typeof t == "number" && t <= 1 ? t * 100 : t, i = Math.round(r);
924
+ return /* @__PURE__ */ c("div", { ref: n, className: g(H.bar, a), role: "meter", "aria-valuenow": i, "aria-valuemin": 0, "aria-valuemax": 100, "aria-label": `${i}%`, children: [
925
+ /* @__PURE__ */ e("div", { className: H.track, children: /* @__PURE__ */ e("div", { className: H.fill, style: { width: `${r}%` } }) }),
926
+ /* @__PURE__ */ c("span", { className: H.value, children: [
927
+ i,
676
928
  "%"
677
929
  ] })
678
930
  ] });
679
931
  }
680
932
  );
681
- Ge.displayName = "ScoreBar";
682
- const He = "_empty_26icj_3", Ke = "_icon_26icj_12", Qe = "_title_26icj_19", Ue = "_text_26icj_27", E = {
683
- empty: He,
684
- icon: Ke,
685
- title: Qe,
686
- text: Ue
687
- }, Ze = N.forwardRef(
688
- ({ title: a, text: t, icon: s, className: n }, l) => /* @__PURE__ */ i("div", { ref: l, className: b(E.empty, n), role: "status", children: [
689
- s && /* @__PURE__ */ e("div", { className: E.icon, "aria-hidden": "true", children: s }),
690
- /* @__PURE__ */ e("div", { className: E.title, children: a }),
691
- t && /* @__PURE__ */ e("div", { className: E.text, children: t })
933
+ Et.displayName = "ScoreBar";
934
+ const Bt = "_empty_26icj_3", Ft = "_icon_26icj_12", Ot = "_title_26icj_19", qt = "_text_26icj_27", G = {
935
+ empty: Bt,
936
+ icon: Ft,
937
+ title: Ot,
938
+ text: qt
939
+ }, Wt = p.forwardRef(
940
+ ({ title: t, text: a, icon: n, className: r }, i) => /* @__PURE__ */ c("div", { ref: i, className: g(G.empty, r), role: "status", children: [
941
+ n && /* @__PURE__ */ e("div", { className: G.icon, "aria-hidden": "true", children: n }),
942
+ /* @__PURE__ */ e("div", { className: G.title, children: t }),
943
+ a && /* @__PURE__ */ e("div", { className: G.text, children: a })
692
944
  ] })
693
945
  );
694
- Ze.displayName = "EmptyState";
695
- const Je = "_toggle_176y2_3", Ye = "_btn_176y2_11", Xe = "_icon_176y2_43", F = {
696
- toggle: Je,
697
- btn: Ye,
946
+ Wt.displayName = "EmptyState";
947
+ const Vt = "_toggle_176y2_3", Ht = "_btn_176y2_11", Gt = "_icon_176y2_43", K = {
948
+ toggle: Vt,
949
+ btn: Ht,
698
950
  "btn--active": "_btn--active_176y2_37",
699
- icon: Xe
700
- }, ea = N.forwardRef(
951
+ icon: Gt
952
+ }, Kt = p.forwardRef(
701
953
  ({
702
- options: a,
703
- value: t,
704
- onChange: s,
705
- "aria-label": n,
706
- role: l = "tablist",
707
- className: o
708
- }, d) => {
709
- const g = l === "tablist" ? "tab" : "radio", m = l === "tablist" ? "aria-selected" : "aria-checked";
954
+ options: t,
955
+ value: a,
956
+ onChange: n,
957
+ "aria-label": r,
958
+ role: i = "tablist",
959
+ className: u
960
+ }, l) => {
961
+ const h = i === "tablist" ? "tab" : "radio", _ = i === "tablist" ? "aria-selected" : "aria-checked";
710
962
  return /* @__PURE__ */ e(
711
963
  "div",
712
964
  {
713
- ref: d,
714
- className: b(F.toggle, o),
715
- role: l,
716
- "aria-label": n,
717
- children: a.map((h) => {
718
- const r = h.value === t;
719
- return /* @__PURE__ */ i(
965
+ ref: l,
966
+ className: g(K.toggle, u),
967
+ role: i,
968
+ "aria-label": r,
969
+ children: t.map((m) => {
970
+ const o = m.value === a;
971
+ return /* @__PURE__ */ c(
720
972
  "button",
721
973
  {
722
- className: b(F.btn, { [F["btn--active"]]: r }),
723
- role: g,
724
- [m]: r,
725
- onClick: () => s?.(h.value),
974
+ className: g(K.btn, { [K["btn--active"]]: o }),
975
+ role: h,
976
+ [_]: o,
977
+ onClick: () => n?.(m.value),
726
978
  children: [
727
- h.icon && /* @__PURE__ */ e("span", { className: F.icon, "aria-hidden": "true", children: h.icon }),
728
- h.label
979
+ m.icon && /* @__PURE__ */ e("span", { className: K.icon, "aria-hidden": "true", children: m.icon }),
980
+ m.label
729
981
  ]
730
982
  },
731
- h.value
983
+ m.value
732
984
  );
733
985
  })
734
986
  }
735
987
  );
736
988
  }
737
989
  );
738
- ea.displayName = "SegmentedControl";
739
- const aa = "_dashboard_1mbco_4", A = {
740
- dashboard: aa,
741
- "dashboard-card": "_dashboard-card_1mbco_17",
742
- "dashboard-card__header": "_dashboard-card__header_1mbco_27",
743
- "dashboard-card__title": "_dashboard-card__title_1mbco_31",
744
- "status-legend": "_status-legend_1mbco_39",
745
- "project-filters": "_project-filters_1mbco_45",
746
- "project-filters__search": "_project-filters__search_1mbco_54"
747
- }, ta = [
990
+ Kt.displayName = "SegmentedControl";
991
+ const Ut = "_dashboard_wq6z7_4", Qt = "_sectionTitle_wq6z7_18", Jt = "_statusLegend_wq6z7_27", Zt = "_projectFilters_wq6z7_34", Xt = "_projectFilters__search_wq6z7_48", M = {
992
+ dashboard: Ut,
993
+ sectionTitle: Qt,
994
+ statusLegend: Jt,
995
+ projectFilters: Zt,
996
+ projectFilters__search: Xt
997
+ }, Yt = [
748
998
  { 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() },
749
999
  { 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() },
750
1000
  { id: "3", name: "Data Analytics Dashboard", client: "DataViz AG", app: "React / Supabase", status: "in-prufung", favorite: !1, createdAt: "20.02.2026", updatedAt: new Date(Date.now() - 10080 * 60 * 1e3).toISOString() },
@@ -771,117 +1021,122 @@ const aa = "_dashboard_1mbco_4", A = {
771
1021
  createdAt: "05.01.2026",
772
1022
  updatedAt: (/* @__PURE__ */ new Date()).toISOString()
773
1023
  }
774
- ], la = [
1024
+ ], ea = [
775
1025
  { status: "alle", label: "Alle" },
776
1026
  { status: "neu", label: "Neu" },
777
1027
  { status: "offen", label: "Offen" },
778
1028
  { status: "in-prufung", label: "In Prüfung" },
779
1029
  { status: "validierung", label: "Validierung" },
780
1030
  { status: "abgeschlossen", label: "Abgeschlossen" }
781
- ], sa = {
1031
+ ], ta = {
782
1032
  neu: "Neu",
783
1033
  offen: "Offen",
784
1034
  "in-prufung": "In Prüfung",
785
1035
  validierung: "Validierung",
786
1036
  abgeschlossen: "Abgeschlossen"
787
- }, na = N.forwardRef(
788
- ({ initialRows: a = ta, className: t, ...s }, n) => {
789
- const [l, o] = $(a), [d, g] = $("alle"), [m, h] = $(""), r = O(() => {
790
- const _ = {
791
- alle: l.length,
1037
+ }, aa = p.forwardRef(
1038
+ ({ initialRows: t = Yt, className: a, ...n }, r) => {
1039
+ const [i, u] = A(t), [l, h] = A("alle"), [_, m] = A(""), o = Z(() => {
1040
+ const v = {
1041
+ alle: i.length,
792
1042
  neu: 0,
793
1043
  offen: 0,
794
1044
  "in-prufung": 0,
795
1045
  validierung: 0,
796
1046
  abgeschlossen: 0
797
1047
  };
798
- return l.forEach((k) => {
799
- _[k.status]++;
800
- }), _;
801
- }, [l]), f = O(() => {
802
- let _ = l;
803
- if (d !== "alle" && (_ = _.filter((k) => k.status === d)), m.trim() !== "") {
804
- const k = m.toLowerCase().trim();
805
- _ = _.filter(
806
- (v) => v.name.toLowerCase().includes(k) || v.client.toLowerCase().includes(k) || v.app.toLowerCase().includes(k)
1048
+ return i.forEach((y) => {
1049
+ v[y.status]++;
1050
+ }), v;
1051
+ }, [i]), w = Z(() => {
1052
+ let v = i;
1053
+ if (l !== "alle" && (v = v.filter((y) => y.status === l)), _.trim() !== "") {
1054
+ const y = _.toLowerCase().trim();
1055
+ v = v.filter(
1056
+ (b) => b.name.toLowerCase().includes(y) || b.client.toLowerCase().includes(y) || b.app.toLowerCase().includes(y)
807
1057
  );
808
1058
  }
809
- return d === "alle" && (_ = [..._].sort((k, v) => Number(v.favorite) - Number(k.favorite))), _;
810
- }, [l, d, m]), x = d === "alle" ? "Alle Projekte" : `Projekte: ${sa[d]}`, y = (_, k) => {
811
- o((v) => v.map((u) => u.id === _ ? { ...u, favorite: k } : u));
812
- }, p = O(() => [
813
- { status: "neu", label: "Neu", value: r.neu, color: "hsl(var(--status-neu))" },
814
- { status: "offen", label: "Offen", value: r.offen, color: "hsl(var(--status-offen))" },
815
- { status: "in-prufung", label: "In Prüfung", value: r["in-prufung"], color: "hsl(var(--status-in-prufung))" },
816
- { status: "validierung", label: "Validierung", value: r.validierung, color: "hsl(var(--status-validierung))" },
817
- { status: "abgeschlossen", label: "Abgeschlossen", value: r.abgeschlossen, color: "hsl(var(--status-abgeschlossen))" }
818
- ], [r]), w = (_) => {
819
- g(_);
1059
+ return l === "alle" && (v = [...v].sort((y, b) => Number(b.favorite) - Number(y.favorite))), v;
1060
+ }, [i, l, _]), x = l === "alle" ? "Alle Projekte" : `Projekte: ${ta[l]}`, C = (v, y) => {
1061
+ u((b) => b.map((s) => s.id === v ? { ...s, favorite: y } : s));
1062
+ }, f = Z(() => [
1063
+ { status: "neu", label: "Neu", value: o.neu, color: "hsl(var(--status-neu))" },
1064
+ { status: "offen", label: "Offen", value: o.offen, color: "hsl(var(--status-offen))" },
1065
+ { status: "in-prufung", label: "In Prüfung", value: o["in-prufung"], color: "hsl(var(--status-in-prufung))" },
1066
+ { status: "validierung", label: "Validierung", value: o.validierung, color: "hsl(var(--status-validierung))" },
1067
+ { status: "abgeschlossen", label: "Abgeschlossen", value: o.abgeschlossen, color: "hsl(var(--status-abgeschlossen))" }
1068
+ ], [o]), k = (v) => {
1069
+ h(v);
820
1070
  };
821
- return /* @__PURE__ */ i(
1071
+ return /* @__PURE__ */ c(
822
1072
  "main",
823
1073
  {
824
- ref: n,
825
- className: b(A.dashboard, t),
826
- ...s,
1074
+ ref: r,
1075
+ className: g(M.dashboard, a),
1076
+ ...n,
827
1077
  children: [
828
- /* @__PURE__ */ i(
829
- "section",
1078
+ /* @__PURE__ */ c(
1079
+ U,
830
1080
  {
831
- className: b(A["dashboard-card"], A["status-overview"]),
1081
+ as: "section",
1082
+ variant: "full",
1083
+ padded: !0,
832
1084
  "aria-label": "Projektstatus Übersicht",
1085
+ className: M.statusOverview,
833
1086
  children: [
834
- /* @__PURE__ */ e("header", { className: A["dashboard-card__header"], children: /* @__PURE__ */ e("h1", { className: A["dashboard-card__title"], children: "Projekte" }) }),
1087
+ /* @__PURE__ */ e("h1", { className: M.sectionTitle, children: "Projekte" }),
835
1088
  /* @__PURE__ */ e(
836
- _e,
1089
+ xe,
837
1090
  {
838
- data: p,
839
- onSegmentClick: w
1091
+ data: f,
1092
+ onSegmentClick: k
840
1093
  }
841
1094
  ),
842
1095
  /* @__PURE__ */ e(
843
1096
  "div",
844
1097
  {
845
- className: A["status-legend"],
1098
+ className: M.statusLegend,
846
1099
  role: "listbox",
847
1100
  "aria-label": "Nach Status filtern",
848
- children: la.map(({ status: _, label: k }) => /* @__PURE__ */ e(
849
- de,
1101
+ children: ea.map(({ status: v, label: y }) => /* @__PURE__ */ e(
1102
+ Ce,
850
1103
  {
851
- status: _,
852
- label: k,
853
- count: r[_],
854
- active: d === _,
855
- onClick: () => g(_)
1104
+ status: v,
1105
+ label: y,
1106
+ count: o[v],
1107
+ active: l === v,
1108
+ onClick: () => h(v)
856
1109
  },
857
- _
1110
+ v
858
1111
  ))
859
1112
  }
860
1113
  )
861
1114
  ]
862
1115
  }
863
1116
  ),
864
- /* @__PURE__ */ i(
865
- "section",
1117
+ /* @__PURE__ */ c(
1118
+ U,
866
1119
  {
867
- className: b(A["dashboard-card"], A["project-list"]),
1120
+ as: "section",
1121
+ variant: "full",
868
1122
  "aria-label": "Projektliste",
1123
+ className: M.projectList,
869
1124
  children: [
870
- /* @__PURE__ */ i("div", { className: A["project-filters"], children: [
871
- /* @__PURE__ */ e("h2", { className: A["dashboard-card__title"], children: x }),
1125
+ /* @__PURE__ */ c("div", { className: M.projectFilters, children: [
1126
+ /* @__PURE__ */ e("h2", { className: M.sectionTitle, children: x }),
872
1127
  /* @__PURE__ */ e(
873
1128
  "input",
874
1129
  {
875
1130
  type: "search",
876
- className: A["project-filters__search"],
1131
+ className: M.projectFilters__search,
877
1132
  "aria-label": "Projekte durchsuchen",
878
1133
  placeholder: "Suchen...",
879
- value: m,
880
- onChange: (_) => h(_.target.value)
1134
+ value: _,
1135
+ onChange: (v) => m(v.target.value)
881
1136
  }
882
1137
  )
883
1138
  ] }),
884
- /* @__PURE__ */ e(ue, { rows: f, onToggleFavorite: y })
1139
+ /* @__PURE__ */ e(Ie, { rows: w, onToggleFavorite: C })
885
1140
  ]
886
1141
  }
887
1142
  )
@@ -890,61 +1145,56 @@ const aa = "_dashboard_1mbco_4", A = {
890
1145
  );
891
1146
  }
892
1147
  );
893
- na.displayName = "DashboardPage";
894
- const ra = "_icon_15khb_83", C = {
895
- "task-item": "_task-item_15khb_4",
896
- "task-item__content": "_task-item__content_15khb_25",
897
- "task-item__title-group": "_task-item__title-group_15khb_32",
898
- "task-item__title": "_task-item__title_15khb_32",
899
- "task-item__meta": "_task-item__meta_15khb_52",
900
- "meta-user": "_meta-user_15khb_64",
901
- "meta-project": "_meta-project_15khb_70",
902
- "icon-sm": "_icon-sm_15khb_83",
903
- "task-item__deadline": "_task-item__deadline_15khb_88",
904
- "deadline-urgent": "_deadline-urgent_15khb_97",
905
- "deadline-normal": "_deadline-normal_15khb_102",
906
- "task-item__actions": "_task-item__actions_15khb_107",
907
- icon: ra
908
- }, ia = [
1148
+ aa.displayName = "DashboardPage";
1149
+ const sa = "_taskItem_77jzk_4", la = "_taskItem__content_77jzk_14", na = "_taskItem__titleGroup_77jzk_21", ia = "_taskItem__title_77jzk_21", ra = "_taskItem__meta_77jzk_41", oa = "_metaUser_77jzk_52", ca = "_metaProject_77jzk_58", da = "_taskItem__deadline_77jzk_76", _a = "_taskItem__actions_77jzk_95", $ = {
1150
+ taskItem: sa,
1151
+ taskItem__content: la,
1152
+ taskItem__titleGroup: na,
1153
+ taskItem__title: ia,
1154
+ taskItem__meta: ra,
1155
+ metaUser: oa,
1156
+ metaProject: ca,
1157
+ "icon-sm": "_icon-sm_77jzk_71",
1158
+ taskItem__deadline: da,
1159
+ "deadline-urgent": "_deadline-urgent_77jzk_85",
1160
+ "deadline-normal": "_deadline-normal_77jzk_90",
1161
+ taskItem__actions: _a
1162
+ }, ua = [
909
1163
  { value: "Offen", label: "Offen" },
910
1164
  { value: "In Arbeit", label: "In Arbeit" },
911
1165
  { value: "Erledigt", label: "Erledigt" }
912
- ], he = N.forwardRef(
913
- ({ title: a, project: t, projectLabel: s, status: n, deadline: l, deadlineType: o = "normal", priority: d, assignees: g, description: m, onClick: h, onStatusChange: r, className: f, ...x }, y) => {
914
- const p = (_) => {
915
- (_.key === "Enter" || _.key === " ") && (_.preventDefault(), h?.());
916
- }, w = (_) => {
917
- _.stopPropagation();
1166
+ ], je = p.forwardRef(
1167
+ ({ title: t, project: a, projectLabel: n, status: r, deadline: i, deadlineType: u = "normal", priority: l, assignees: h, description: _, onClick: m, onStatusChange: o, className: w, ...x }, C) => {
1168
+ const f = (k) => {
1169
+ k.stopPropagation();
918
1170
  };
919
- return /* @__PURE__ */ i(
920
- "article",
1171
+ return /* @__PURE__ */ c(
1172
+ Ne,
921
1173
  {
922
- ref: y,
923
- className: b(C["task-item"], f),
924
- role: "listitem",
925
- tabIndex: 0,
926
- onClick: h,
927
- onKeyDown: p,
1174
+ ref: C,
1175
+ as: "article",
1176
+ onClick: m,
1177
+ className: g($.taskItem, w),
928
1178
  ...x,
929
1179
  children: [
930
- /* @__PURE__ */ i("div", { className: C["task-item__content"], children: [
931
- /* @__PURE__ */ e("div", { className: C["task-item__title-group"], children: /* @__PURE__ */ e("h3", { className: C["task-item__title"], children: a }) }),
932
- /* @__PURE__ */ i("div", { className: C["task-item__meta"], children: [
933
- g.length > 0 && /* @__PURE__ */ e("div", { className: C["meta-user"], children: /* @__PURE__ */ e(X, { children: g.map((_, k) => /* @__PURE__ */ e(B, { initials: _.initials, name: _.name }, k)) }) }),
934
- /* @__PURE__ */ i("div", { className: C["meta-project"], "aria-label": `Projekt: ${s || t}`, children: [
935
- /* @__PURE__ */ e("svg", { className: C["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" }) }),
936
- s || t
1180
+ /* @__PURE__ */ c("div", { className: $.taskItem__content, children: [
1181
+ /* @__PURE__ */ e("div", { className: $.taskItem__titleGroup, children: /* @__PURE__ */ e("h3", { className: $.taskItem__title, children: t }) }),
1182
+ /* @__PURE__ */ c("div", { className: $.taskItem__meta, children: [
1183
+ h.length > 0 && /* @__PURE__ */ e("div", { className: $.metaUser, children: /* @__PURE__ */ e(de, { children: h.map((k, v) => /* @__PURE__ */ e(V, { initials: k.initials, name: k.name }, v)) }) }),
1184
+ /* @__PURE__ */ c("div", { className: $.metaProject, "aria-label": `Projekt: ${n || a}`, children: [
1185
+ /* @__PURE__ */ e("svg", { className: $["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" }) }),
1186
+ n || a
937
1187
  ] }),
938
- d && d !== "low" && /* @__PURE__ */ e(ee, { level: d, size: "small" })
1188
+ l && l !== "low" && /* @__PURE__ */ e(_e, { level: l, size: "small" })
939
1189
  ] })
940
1190
  ] }),
941
- /* @__PURE__ */ e("div", { className: b(C["task-item__deadline"], C[`deadline-${o}`]), children: l }),
942
- /* @__PURE__ */ e("div", { className: C["task-item__actions"], onClick: w, children: /* @__PURE__ */ e(
943
- me,
1191
+ /* @__PURE__ */ e("div", { className: g($.taskItem__deadline, $[`deadline-${u}`]), children: i }),
1192
+ /* @__PURE__ */ e("div", { className: $.taskItem__actions, onClick: f, children: /* @__PURE__ */ e(
1193
+ Se,
944
1194
  {
945
- options: ia,
946
- value: n,
947
- onChange: r
1195
+ options: ua,
1196
+ value: r,
1197
+ onChange: o
948
1198
  }
949
1199
  ) })
950
1200
  ]
@@ -952,8 +1202,8 @@ const ra = "_icon_15khb_83", C = {
952
1202
  );
953
1203
  }
954
1204
  );
955
- he.displayName = "TaskItem";
956
- const ca = "_textarea_m18cx_191", oa = "_icon_m18cx_197", c = {
1205
+ je.displayName = "TaskItem";
1206
+ const ma = "_textarea_m18cx_191", ha = "_icon_m18cx_197", d = {
957
1207
  "modal-overlay": "_modal-overlay_m18cx_4",
958
1208
  "is-active": "_is-active_m18cx_19",
959
1209
  "modal-content": "_modal-content_m18cx_25",
@@ -972,147 +1222,147 @@ const ca = "_textarea_m18cx_191", oa = "_icon_m18cx_197", c = {
972
1222
  "form-row": "_form-row_m18cx_154",
973
1223
  "form-label": "_form-label_m18cx_160",
974
1224
  "form-control": "_form-control_m18cx_170",
975
- textarea: ca,
976
- icon: oa,
1225
+ textarea: ma,
1226
+ icon: ha,
977
1227
  "icon-pencil": "_icon-pencil_m18cx_207"
978
- }, ne = [
1228
+ }, ge = [
979
1229
  { value: "Q1", label: "Q1 Roadmap" },
980
1230
  { value: "FR", label: "Frontend Relaunch" },
981
1231
  { value: "UR", label: "User Research" }
982
- ], re = [
1232
+ ], be = [
983
1233
  { initials: "FV", name: "Fabian Venmann" },
984
1234
  { initials: "LV", name: "Luca Vitiello" },
985
1235
  { initials: "AS", name: "Anna Schmidt" }
986
- ], ve = N.forwardRef(
987
- ({ isOpen: a, onClose: t, task: s, onSave: n, initialMode: l = "view", className: o, ...d }, g) => {
988
- const [m, h] = $(l), [r, f] = $(null);
989
- if (Q(() => {
990
- a && s && (f({ ...s, checklist: [...s.checklist] }), h(l));
991
- }, [a, s, l]), Q(() => {
992
- const u = (j) => {
993
- j.key === "Escape" && a && t();
1236
+ ], $e = p.forwardRef(
1237
+ ({ isOpen: t, onClose: a, task: n, onSave: r, initialMode: i = "view", className: u, ...l }, h) => {
1238
+ const [_, m] = A(i), [o, w] = A(null);
1239
+ if (le(() => {
1240
+ t && n && (w({ ...n, checklist: [...n.checklist] }), m(i));
1241
+ }, [t, n, i]), le(() => {
1242
+ const s = (N) => {
1243
+ N.key === "Escape" && t && a();
994
1244
  };
995
- return document.addEventListener("keydown", u), () => document.removeEventListener("keydown", u);
996
- }, [a, t]), !a || !s || !r) return null;
1245
+ return document.addEventListener("keydown", s), () => document.removeEventListener("keydown", s);
1246
+ }, [t, a]), !t || !n || !o) return null;
997
1247
  const x = () => {
998
- n && n(r), h("view");
999
- }, y = () => {
1000
- t();
1001
- }, p = (u) => {
1002
- f({ ...r, checklist: u });
1003
- }, w = (u) => {
1004
- const j = ne.find((I) => I.value === u.target.value);
1005
- f({
1006
- ...r,
1007
- project: u.target.value,
1008
- projectLabel: j?.label || u.target.value
1248
+ r && r(o), m("view");
1249
+ }, C = () => {
1250
+ a();
1251
+ }, f = (s) => {
1252
+ w({ ...o, checklist: s });
1253
+ }, k = (s) => {
1254
+ const N = ge.find((I) => I.value === s.target.value);
1255
+ w({
1256
+ ...o,
1257
+ project: s.target.value,
1258
+ projectLabel: N?.label || s.target.value
1009
1259
  });
1010
- }, _ = (u) => {
1011
- const j = re.find((I) => I.initials.toLowerCase() === u.target.value);
1012
- j && f({ ...r, assignees: [j] });
1013
- }, k = () => {
1014
- const u = {
1260
+ }, v = (s) => {
1261
+ const N = be.find((I) => I.initials.toLowerCase() === s.target.value);
1262
+ N && w({ ...o, assignees: [N] });
1263
+ }, y = () => {
1264
+ const s = {
1015
1265
  id: `check-${Date.now()}`,
1016
1266
  text: "",
1017
1267
  checked: !1
1018
1268
  };
1019
- f({
1020
- ...r,
1021
- checklist: [...r.checklist, u]
1269
+ w({
1270
+ ...o,
1271
+ checklist: [...o.checklist, s]
1022
1272
  });
1023
- }, v = (u) => {
1024
- u.target === u.currentTarget && y();
1273
+ }, b = (s) => {
1274
+ s.target === s.currentTarget && C();
1025
1275
  };
1026
1276
  return /* @__PURE__ */ e(
1027
1277
  "div",
1028
1278
  {
1029
- ref: g,
1030
- className: b(c["modal-overlay"], { [c["is-active"]]: a }, o),
1031
- onClick: v,
1279
+ ref: h,
1280
+ className: g(d["modal-overlay"], { [d["is-active"]]: t }, u),
1281
+ onClick: b,
1032
1282
  role: "dialog",
1033
1283
  "aria-modal": "true",
1034
1284
  "aria-labelledby": "modalTitle",
1035
- ...d,
1036
- children: /* @__PURE__ */ i("div", { className: c["modal-content"], "data-mode": m, children: [
1037
- /* @__PURE__ */ i("header", { className: c["modal-header"], children: [
1038
- /* @__PURE__ */ e("h2", { className: c["modal-header-title"], id: "modalTitle", children: m === "edit" ? "Aufgabe bearbeiten" : "Aufgaben-Details" }),
1039
- /* @__PURE__ */ e(z, { variant: "ghost", onClick: y, "aria-label": "Schließen", children: /* @__PURE__ */ e("svg", { className: c.icon, viewBox: "0 0 24 24", children: /* @__PURE__ */ e("path", { d: "M18 6 6 18M6 6l12 12" }) }) })
1285
+ ...l,
1286
+ children: /* @__PURE__ */ c("div", { className: d["modal-content"], "data-mode": _, children: [
1287
+ /* @__PURE__ */ c("header", { className: d["modal-header"], children: [
1288
+ /* @__PURE__ */ e("h2", { className: d["modal-header-title"], id: "modalTitle", children: _ === "edit" ? "Aufgabe bearbeiten" : "Aufgaben-Details" }),
1289
+ /* @__PURE__ */ e(R, { variant: "ghost", onClick: C, "aria-label": "Schließen", children: /* @__PURE__ */ e("svg", { className: d.icon, viewBox: "0 0 24 24", children: /* @__PURE__ */ e("path", { d: "M18 6 6 18M6 6l12 12" }) }) })
1040
1290
  ] }),
1041
- m === "view" ? /* @__PURE__ */ i("div", { className: c["modal-body"], children: [
1042
- /* @__PURE__ */ i("div", { className: c["view-group"], children: [
1043
- /* @__PURE__ */ e("span", { className: c["view-label"], children: "Titel" }),
1044
- /* @__PURE__ */ e("h3", { className: c["view-task-title"], children: r.title })
1291
+ _ === "view" ? /* @__PURE__ */ c("div", { className: d["modal-body"], children: [
1292
+ /* @__PURE__ */ c("div", { className: d["view-group"], children: [
1293
+ /* @__PURE__ */ e("span", { className: d["view-label"], children: "Titel" }),
1294
+ /* @__PURE__ */ e("h3", { className: d["view-task-title"], children: o.title })
1045
1295
  ] }),
1046
- /* @__PURE__ */ i("div", { className: c["view-badge-row"], children: [
1047
- /* @__PURE__ */ i("div", { className: c["view-group"], children: [
1048
- /* @__PURE__ */ e("span", { className: c["view-label"], children: "Verantwortlich" }),
1049
- r.assignees.length > 0 ? /* @__PURE__ */ e(X, { children: r.assignees.map((u, j) => /* @__PURE__ */ e(B, { initials: u.initials, name: u.name }, j)) }) : /* @__PURE__ */ e(B, { initials: "?", name: "Nicht zugewiesen" })
1296
+ /* @__PURE__ */ c("div", { className: d["view-badge-row"], children: [
1297
+ /* @__PURE__ */ c("div", { className: d["view-group"], children: [
1298
+ /* @__PURE__ */ e("span", { className: d["view-label"], children: "Verantwortlich" }),
1299
+ o.assignees.length > 0 ? /* @__PURE__ */ e(de, { children: o.assignees.map((s, N) => /* @__PURE__ */ e(V, { initials: s.initials, name: s.name }, N)) }) : /* @__PURE__ */ e(V, { initials: "?", name: "Nicht zugewiesen" })
1050
1300
  ] }),
1051
- /* @__PURE__ */ i("div", { className: c["view-group"], children: [
1052
- /* @__PURE__ */ e("span", { className: c["view-label"], children: "Projekt" }),
1053
- /* @__PURE__ */ i(Z, { children: [
1054
- /* @__PURE__ */ e("svg", { className: c["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" }) }),
1055
- r.projectLabel || r.project
1301
+ /* @__PURE__ */ c("div", { className: d["view-group"], children: [
1302
+ /* @__PURE__ */ e("span", { className: d["view-label"], children: "Projekt" }),
1303
+ /* @__PURE__ */ c(ie, { children: [
1304
+ /* @__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" }) }),
1305
+ o.projectLabel || o.project
1056
1306
  ] })
1057
1307
  ] }),
1058
- /* @__PURE__ */ i("div", { className: c["view-group"], children: [
1059
- /* @__PURE__ */ e("span", { className: c["view-label"], children: "Priorität" }),
1060
- r.priority ? /* @__PURE__ */ e(ee, { level: r.priority, size: "large" }) : /* @__PURE__ */ e("div", { className: c["text-muted"], children: "Keine" })
1308
+ /* @__PURE__ */ c("div", { className: d["view-group"], children: [
1309
+ /* @__PURE__ */ e("span", { className: d["view-label"], children: "Priorität" }),
1310
+ o.priority ? /* @__PURE__ */ e(_e, { level: o.priority, size: "large" }) : /* @__PURE__ */ e("div", { className: d["text-muted"], children: "Keine" })
1061
1311
  ] }),
1062
- /* @__PURE__ */ i("div", { className: c["view-group"], children: [
1063
- /* @__PURE__ */ e("span", { className: c["view-label"], children: "Status" }),
1064
- /* @__PURE__ */ e(Z, { children: r.status })
1312
+ /* @__PURE__ */ c("div", { className: d["view-group"], children: [
1313
+ /* @__PURE__ */ e("span", { className: d["view-label"], children: "Status" }),
1314
+ /* @__PURE__ */ e(ie, { children: o.status })
1065
1315
  ] }),
1066
- /* @__PURE__ */ i("div", { className: c["view-group"], children: [
1067
- /* @__PURE__ */ e("span", { className: c["view-label"], children: "Fälligkeit" }),
1068
- /* @__PURE__ */ e("div", { className: c["view-value-strong"], children: r.deadline })
1316
+ /* @__PURE__ */ c("div", { className: d["view-group"], children: [
1317
+ /* @__PURE__ */ e("span", { className: d["view-label"], children: "Fälligkeit" }),
1318
+ /* @__PURE__ */ e("div", { className: d["view-value-strong"], children: o.deadline })
1069
1319
  ] })
1070
1320
  ] }),
1071
- /* @__PURE__ */ i("div", { className: c["view-group"], children: [
1072
- /* @__PURE__ */ e("span", { className: c["view-label"], children: "Beschreibung" }),
1073
- /* @__PURE__ */ e("p", { className: c["view-description"], children: r.description || /* @__PURE__ */ e("span", { className: c["text-muted"], children: "Keine Beschreibung vorhanden." }) })
1321
+ /* @__PURE__ */ c("div", { className: d["view-group"], children: [
1322
+ /* @__PURE__ */ e("span", { className: d["view-label"], children: "Beschreibung" }),
1323
+ /* @__PURE__ */ e("p", { className: d["view-description"], children: o.description || /* @__PURE__ */ e("span", { className: d["text-muted"], children: "Keine Beschreibung vorhanden." }) })
1074
1324
  ] }),
1075
- /* @__PURE__ */ i("div", { className: c["view-group"], children: [
1076
- /* @__PURE__ */ e("span", { className: c["view-label"], children: "To-Do Checkliste" }),
1077
- /* @__PURE__ */ e(J, { items: r.checklist, onChange: p, editable: !1 })
1325
+ /* @__PURE__ */ c("div", { className: d["view-group"], children: [
1326
+ /* @__PURE__ */ e("span", { className: d["view-label"], children: "To-Do Checkliste" }),
1327
+ /* @__PURE__ */ e(re, { items: o.checklist, onChange: f, editable: !1 })
1078
1328
  ] })
1079
- ] }) : /* @__PURE__ */ i("div", { className: c["modal-body"], children: [
1080
- /* @__PURE__ */ i("div", { className: c["form-group"], children: [
1081
- /* @__PURE__ */ e("label", { className: c["form-label"], htmlFor: "taskTitle", children: "Titel" }),
1329
+ ] }) : /* @__PURE__ */ c("div", { className: d["modal-body"], children: [
1330
+ /* @__PURE__ */ c("div", { className: d["form-group"], children: [
1331
+ /* @__PURE__ */ e("label", { className: d["form-label"], htmlFor: "taskTitle", children: "Titel" }),
1082
1332
  /* @__PURE__ */ e(
1083
1333
  "input",
1084
1334
  {
1085
1335
  type: "text",
1086
1336
  id: "taskTitle",
1087
- className: c["form-control"],
1088
- value: r.title,
1089
- onChange: (u) => f({ ...r, title: u.target.value })
1337
+ className: d["form-control"],
1338
+ value: o.title,
1339
+ onChange: (s) => w({ ...o, title: s.target.value })
1090
1340
  }
1091
1341
  )
1092
1342
  ] }),
1093
- /* @__PURE__ */ i("div", { className: c["form-row"], children: [
1094
- /* @__PURE__ */ i("div", { className: c["form-group"], children: [
1095
- /* @__PURE__ */ e("label", { className: c["form-label"], htmlFor: "taskProject", children: "Projekt" }),
1343
+ /* @__PURE__ */ c("div", { className: d["form-row"], children: [
1344
+ /* @__PURE__ */ c("div", { className: d["form-group"], children: [
1345
+ /* @__PURE__ */ e("label", { className: d["form-label"], htmlFor: "taskProject", children: "Projekt" }),
1096
1346
  /* @__PURE__ */ e(
1097
1347
  "select",
1098
1348
  {
1099
1349
  id: "taskProject",
1100
- className: c["form-control"],
1101
- value: r.project,
1102
- onChange: w,
1103
- children: ne.map((u) => /* @__PURE__ */ e("option", { value: u.value, children: u.label }, u.value))
1350
+ className: d["form-control"],
1351
+ value: o.project,
1352
+ onChange: k,
1353
+ children: ge.map((s) => /* @__PURE__ */ e("option", { value: s.value, children: s.label }, s.value))
1104
1354
  }
1105
1355
  )
1106
1356
  ] }),
1107
- /* @__PURE__ */ i("div", { className: c["form-group"], children: [
1108
- /* @__PURE__ */ e("label", { className: c["form-label"], htmlFor: "taskStatus", children: "Status" }),
1109
- /* @__PURE__ */ i(
1357
+ /* @__PURE__ */ c("div", { className: d["form-group"], children: [
1358
+ /* @__PURE__ */ e("label", { className: d["form-label"], htmlFor: "taskStatus", children: "Status" }),
1359
+ /* @__PURE__ */ c(
1110
1360
  "select",
1111
1361
  {
1112
1362
  id: "taskStatus",
1113
- className: c["form-control"],
1114
- value: r.status,
1115
- onChange: (u) => f({ ...r, status: u.target.value }),
1363
+ className: d["form-control"],
1364
+ value: o.status,
1365
+ onChange: (s) => w({ ...o, status: s.target.value }),
1116
1366
  children: [
1117
1367
  /* @__PURE__ */ e("option", { value: "Offen", children: "Offen" }),
1118
1368
  /* @__PURE__ */ e("option", { value: "In Arbeit", children: "In Arbeit" }),
@@ -1122,29 +1372,29 @@ const ca = "_textarea_m18cx_191", oa = "_icon_m18cx_197", c = {
1122
1372
  )
1123
1373
  ] })
1124
1374
  ] }),
1125
- /* @__PURE__ */ i("div", { className: c["form-row"], children: [
1126
- /* @__PURE__ */ i("div", { className: c["form-group"], children: [
1127
- /* @__PURE__ */ e("label", { className: c["form-label"], htmlFor: "taskDate", children: "Fälligkeitsdatum" }),
1375
+ /* @__PURE__ */ c("div", { className: d["form-row"], children: [
1376
+ /* @__PURE__ */ c("div", { className: d["form-group"], children: [
1377
+ /* @__PURE__ */ e("label", { className: d["form-label"], htmlFor: "taskDate", children: "Fälligkeitsdatum" }),
1128
1378
  /* @__PURE__ */ e(
1129
1379
  "input",
1130
1380
  {
1131
1381
  type: "text",
1132
1382
  id: "taskDate",
1133
- className: c["form-control"],
1134
- value: r.deadline,
1135
- onChange: (u) => f({ ...r, deadline: u.target.value })
1383
+ className: d["form-control"],
1384
+ value: o.deadline,
1385
+ onChange: (s) => w({ ...o, deadline: s.target.value })
1136
1386
  }
1137
1387
  )
1138
1388
  ] }),
1139
- /* @__PURE__ */ i("div", { className: c["form-group"], children: [
1140
- /* @__PURE__ */ e("label", { className: c["form-label"], htmlFor: "taskPriority", children: "Priorität" }),
1141
- /* @__PURE__ */ i(
1389
+ /* @__PURE__ */ c("div", { className: d["form-group"], children: [
1390
+ /* @__PURE__ */ e("label", { className: d["form-label"], htmlFor: "taskPriority", children: "Priorität" }),
1391
+ /* @__PURE__ */ c(
1142
1392
  "select",
1143
1393
  {
1144
1394
  id: "taskPriority",
1145
- className: c["form-control"],
1146
- value: r.priority || "",
1147
- onChange: (u) => f({ ...r, priority: u.target.value || void 0 }),
1395
+ className: d["form-control"],
1396
+ value: o.priority || "",
1397
+ onChange: (s) => w({ ...o, priority: s.target.value || void 0 }),
1148
1398
  children: [
1149
1399
  /* @__PURE__ */ e("option", { value: "", children: "Keine" }),
1150
1400
  /* @__PURE__ */ e("option", { value: "high", children: "Hoch (!!)" }),
@@ -1155,79 +1405,75 @@ const ca = "_textarea_m18cx_191", oa = "_icon_m18cx_197", c = {
1155
1405
  )
1156
1406
  ] })
1157
1407
  ] }),
1158
- /* @__PURE__ */ i("div", { className: c["form-group"], children: [
1159
- /* @__PURE__ */ e("label", { className: c["form-label"], htmlFor: "taskAssignee", children: "Verantwortlich" }),
1160
- /* @__PURE__ */ i("div", { style: { display: "flex", alignItems: "center", gap: "0.75rem" }, children: [
1161
- /* @__PURE__ */ e(B, { initials: r.assignees[0]?.initials || "?" }),
1408
+ /* @__PURE__ */ c("div", { className: d["form-group"], children: [
1409
+ /* @__PURE__ */ e("label", { className: d["form-label"], htmlFor: "taskAssignee", children: "Verantwortlich" }),
1410
+ /* @__PURE__ */ c("div", { style: { display: "flex", alignItems: "center", gap: "0.75rem" }, children: [
1411
+ /* @__PURE__ */ e(V, { initials: o.assignees[0]?.initials || "?" }),
1162
1412
  /* @__PURE__ */ e(
1163
1413
  "select",
1164
1414
  {
1165
1415
  id: "taskAssignee",
1166
- className: c["form-control"],
1416
+ className: d["form-control"],
1167
1417
  style: { flex: 1 },
1168
- value: r.assignees[0]?.initials.toLowerCase() || "",
1169
- onChange: _,
1170
- children: re.map((u) => /* @__PURE__ */ e("option", { value: u.initials.toLowerCase(), children: u.name }, u.initials))
1418
+ value: o.assignees[0]?.initials.toLowerCase() || "",
1419
+ onChange: v,
1420
+ children: be.map((s) => /* @__PURE__ */ e("option", { value: s.initials.toLowerCase(), children: s.name }, s.initials))
1171
1421
  }
1172
1422
  )
1173
1423
  ] })
1174
1424
  ] }),
1175
- /* @__PURE__ */ i("div", { className: c["form-group"], children: [
1176
- /* @__PURE__ */ e("label", { className: c["form-label"], htmlFor: "taskDescription", children: "Beschreibung" }),
1425
+ /* @__PURE__ */ c("div", { className: d["form-group"], children: [
1426
+ /* @__PURE__ */ e("label", { className: d["form-label"], htmlFor: "taskDescription", children: "Beschreibung" }),
1177
1427
  /* @__PURE__ */ e(
1178
1428
  "textarea",
1179
1429
  {
1180
1430
  id: "taskDescription",
1181
- className: b(c["form-control"], c.textarea),
1431
+ className: g(d["form-control"], d.textarea),
1182
1432
  placeholder: "Weitere Details zur Aufgabe...",
1183
- value: r.description || "",
1184
- onChange: (u) => f({ ...r, description: u.target.value })
1433
+ value: o.description || "",
1434
+ onChange: (s) => w({ ...o, description: s.target.value })
1185
1435
  }
1186
1436
  )
1187
1437
  ] }),
1188
- /* @__PURE__ */ i("div", { className: c["form-group"], children: [
1189
- /* @__PURE__ */ e("label", { className: c["form-label"], children: "To-Do Checkliste" }),
1190
- /* @__PURE__ */ e(J, { items: r.checklist, onChange: p, editable: !0 }),
1438
+ /* @__PURE__ */ c("div", { className: d["form-group"], children: [
1439
+ /* @__PURE__ */ e("label", { className: d["form-label"], children: "To-Do Checkliste" }),
1440
+ /* @__PURE__ */ e(re, { items: o.checklist, onChange: f, editable: !0 }),
1191
1441
  /* @__PURE__ */ e(
1192
- z,
1442
+ R,
1193
1443
  {
1194
1444
  variant: "ghost",
1195
- onClick: k,
1445
+ onClick: y,
1196
1446
  style: { alignSelf: "flex-start", marginTop: "0.25rem" },
1197
1447
  children: "+ Neues Element"
1198
1448
  }
1199
1449
  )
1200
1450
  ] })
1201
1451
  ] }),
1202
- m === "view" ? /* @__PURE__ */ i("footer", { className: c["modal-footer"], children: [
1203
- /* @__PURE__ */ e(z, { variant: "outline", onClick: y, children: "Schließen" }),
1204
- /* @__PURE__ */ i(z, { variant: "primary", onClick: () => h("edit"), children: [
1205
- /* @__PURE__ */ e("svg", { className: c["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" }) }),
1452
+ _ === "view" ? /* @__PURE__ */ c("footer", { className: d["modal-footer"], children: [
1453
+ /* @__PURE__ */ e(R, { variant: "outline", onClick: C, children: "Schließen" }),
1454
+ /* @__PURE__ */ c(R, { variant: "primary", onClick: () => m("edit"), children: [
1455
+ /* @__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" }) }),
1206
1456
  "Bearbeiten"
1207
1457
  ] })
1208
- ] }) : /* @__PURE__ */ i("footer", { className: c["modal-footer"], children: [
1209
- /* @__PURE__ */ e(z, { variant: "outline", onClick: () => h("view"), children: "Abbrechen" }),
1210
- /* @__PURE__ */ e(z, { variant: "primary", onClick: x, children: "Speichern" })
1458
+ ] }) : /* @__PURE__ */ c("footer", { className: d["modal-footer"], children: [
1459
+ /* @__PURE__ */ e(R, { variant: "outline", onClick: () => m("view"), children: "Abbrechen" }),
1460
+ /* @__PURE__ */ e(R, { variant: "primary", onClick: x, children: "Speichern" })
1211
1461
  ] })
1212
1462
  ] })
1213
1463
  }
1214
1464
  );
1215
1465
  }
1216
1466
  );
1217
- ve.displayName = "TaskDetailModal";
1218
- const da = "_icon_gqjal_64", R = {
1219
- "widget-card": "_widget-card_gqjal_4",
1220
- "widget-header": "_widget-header_gqjal_20",
1221
- "widget-header__title": "_widget-header__title_gqjal_30",
1222
- "task-list": "_task-list_gqjal_41",
1223
- icon: da,
1224
- "icon-sm": "_icon-sm_gqjal_74"
1225
- }, _a = N.forwardRef(
1226
- ({ tasks: a, onTaskUpdate: t, onTaskAdd: s, className: n, ...l }, o) => {
1227
- const [d, g] = $(a), [m, h] = $(!1), [r, f] = $(null), [x, y] = $("view"), p = (v) => {
1228
- f(v), y("view"), h(!0);
1229
- }, w = () => {
1230
- const v = {
1467
+ $e.displayName = "TaskDetailModal";
1468
+ const va = "_icon_1rthp_4", fe = {
1469
+ icon: va,
1470
+ "icon-sm": "_icon-sm_1rthp_14"
1471
+ }, ga = p.forwardRef(
1472
+ ({ tasks: t, onTaskUpdate: a, onTaskAdd: n, className: r, ...i }, u) => {
1473
+ const [l, h] = A(t), [_, m] = A(!1), [o, w] = A(null), [x, C] = A("view"), f = (b) => {
1474
+ w(b), C("view"), m(!0);
1475
+ }, k = () => {
1476
+ const b = {
1231
1477
  id: `new-${Date.now()}`,
1232
1478
  title: "Neue Aufgabe",
1233
1479
  project: "Q1",
@@ -1239,63 +1485,64 @@ const da = "_icon_gqjal_64", R = {
1239
1485
  description: "",
1240
1486
  checklist: []
1241
1487
  };
1242
- f(v), y("edit"), h(!0);
1243
- }, _ = (v) => {
1244
- if (d.some((j) => j.id === v.id)) {
1245
- const j = d.map((I) => I.id === v.id ? v : I);
1246
- g(j), t && t(v);
1488
+ w(b), C("edit"), m(!0);
1489
+ }, v = (b) => {
1490
+ if (l.some((N) => N.id === b.id)) {
1491
+ const N = l.map((I) => I.id === b.id ? b : I);
1492
+ h(N), a && a(b);
1247
1493
  } else
1248
- g([...d, v]), s && s(v);
1249
- f(v);
1250
- }, k = (v, u) => {
1251
- const j = d.map((I) => {
1252
- if (I.id === v) {
1253
- const ae = { ...I, status: u };
1254
- return t && t(ae), ae;
1494
+ h([...l, b]), n && n(b);
1495
+ w(b);
1496
+ }, y = (b, s) => {
1497
+ const N = l.map((I) => {
1498
+ if (I.id === b) {
1499
+ const L = { ...I, status: s };
1500
+ return a && a(L), L;
1255
1501
  }
1256
1502
  return I;
1257
1503
  });
1258
- g(j);
1504
+ h(N);
1259
1505
  };
1260
- return /* @__PURE__ */ i(
1261
- "main",
1506
+ return /* @__PURE__ */ c(
1507
+ U,
1262
1508
  {
1263
- ref: o,
1264
- className: b(R["widget-card"], n),
1265
- ...l,
1509
+ ref: u,
1510
+ as: "main",
1511
+ title: "Aufgaben",
1512
+ variant: "half",
1513
+ scrollable: !0,
1514
+ headerAction: /* @__PURE__ */ c(R, { variant: "primary", onClick: k, "aria-label": "Neue Aufgabe erstellen", children: [
1515
+ /* @__PURE__ */ e("svg", { className: g(fe.icon, fe["icon-sm"]), viewBox: "0 0 24 24", children: /* @__PURE__ */ e("path", { d: "M12 5v14M5 12h14" }) }),
1516
+ "Neu"
1517
+ ] }),
1518
+ className: r,
1519
+ ...i,
1266
1520
  children: [
1267
- /* @__PURE__ */ i("header", { className: R["widget-header"], children: [
1268
- /* @__PURE__ */ e("h2", { className: R["widget-header__title"], children: "Aufgaben" }),
1269
- /* @__PURE__ */ i(z, { variant: "primary", onClick: w, "aria-label": "Neue Aufgabe erstellen", children: [
1270
- /* @__PURE__ */ e("svg", { className: b(R.icon, R["icon-sm"]), viewBox: "0 0 24 24", children: /* @__PURE__ */ e("path", { d: "M12 5v14M5 12h14" }) }),
1271
- "Neu"
1272
- ] })
1273
- ] }),
1274
- /* @__PURE__ */ e("div", { className: R["task-list"], role: "list", "aria-label": "Aufgabenliste", children: d.map((v) => /* @__PURE__ */ e(
1275
- he,
1521
+ /* @__PURE__ */ e(ce, { "aria-label": "Aufgabenliste", children: l.map((b) => /* @__PURE__ */ e(
1522
+ je,
1276
1523
  {
1277
- title: v.title,
1278
- project: v.project,
1279
- projectLabel: v.projectLabel,
1280
- status: v.status,
1281
- deadline: v.deadline,
1282
- deadlineType: v.deadlineType,
1283
- priority: v.priority,
1284
- assignees: v.assignees,
1285
- description: v.description,
1286
- onClick: () => p(v),
1287
- onStatusChange: (u) => k(v.id, u)
1524
+ title: b.title,
1525
+ project: b.project,
1526
+ projectLabel: b.projectLabel,
1527
+ status: b.status,
1528
+ deadline: b.deadline,
1529
+ deadlineType: b.deadlineType,
1530
+ priority: b.priority,
1531
+ assignees: b.assignees,
1532
+ description: b.description,
1533
+ onClick: () => f(b),
1534
+ onStatusChange: (s) => y(b.id, s)
1288
1535
  },
1289
- v.id
1536
+ b.id
1290
1537
  )) }),
1291
1538
  /* @__PURE__ */ e(
1292
- ve,
1539
+ $e,
1293
1540
  {
1294
- isOpen: m,
1295
- onClose: () => h(!1),
1296
- task: r,
1541
+ isOpen: _,
1542
+ onClose: () => m(!1),
1543
+ task: o,
1297
1544
  initialMode: x,
1298
- onSave: _
1545
+ onSave: v
1299
1546
  }
1300
1547
  )
1301
1548
  ]
@@ -1303,28 +1550,33 @@ const da = "_icon_gqjal_64", R = {
1303
1550
  );
1304
1551
  }
1305
1552
  );
1306
- _a.displayName = "TaskWidget";
1553
+ ga.displayName = "TaskWidget";
1307
1554
  export {
1308
- B as Avatar,
1309
- X as AvatarGroup,
1310
- Z as Badge,
1311
- z as Button,
1312
- J as Checklist,
1313
- na as DashboardPage,
1314
- Ze as EmptyState,
1315
- Le as ExpandButton,
1316
- oe as FavoriteButton,
1317
- ee as PriorityBadge,
1318
- Ee as ProgressCircle,
1319
- ue as ProjectTable,
1320
- Ge as ScoreBar,
1321
- Ie as SearchInput,
1322
- ea as SegmentedControl,
1323
- ce as StatusBadge,
1324
- _e as StatusChart,
1325
- me as StatusDropdown,
1326
- de as StatusLegendItem,
1327
- ve as TaskDetailModal,
1328
- he as TaskItem,
1329
- _a as TaskWidget
1555
+ V as Avatar,
1556
+ de as AvatarGroup,
1557
+ ie as Badge,
1558
+ ce as BaseList,
1559
+ we as BaseTable,
1560
+ R as Button,
1561
+ re as Checklist,
1562
+ aa as DashboardPage,
1563
+ Ue as DataCard,
1564
+ Wt as EmptyState,
1565
+ It as ExpandButton,
1566
+ ye as FavoriteButton,
1567
+ Ne as ListItem,
1568
+ _e as PriorityBadge,
1569
+ Rt as ProgressCircle,
1570
+ Ie as ProjectTable,
1571
+ Et as ScoreBar,
1572
+ yt as SearchInput,
1573
+ Kt as SegmentedControl,
1574
+ ke as StatusBadge,
1575
+ xe as StatusChart,
1576
+ Se as StatusDropdown,
1577
+ Ce as StatusLegendItem,
1578
+ $e as TaskDetailModal,
1579
+ je as TaskItem,
1580
+ ga as TaskWidget,
1581
+ U as WidgetCard
1330
1582
  };