@svadmin/ui 0.78.1 → 0.79.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/dist/app.css +187 -1
  2. package/dist/app.theme.css +187 -1
  3. package/dist/components/AutoTable.svelte +183 -962
  4. package/dist/components/content/AuditContent.svelte +33 -0
  5. package/dist/components/content/AuditContent.svelte.d.ts +11 -0
  6. package/dist/components/content/AuditSection.svelte +46 -0
  7. package/dist/components/content/AuditSection.svelte.d.ts +18 -0
  8. package/dist/components/content/ChartContainer.svelte +32 -0
  9. package/dist/components/content/ChartContainer.svelte.d.ts +15 -0
  10. package/dist/components/content/CoverageMatrix.svelte +49 -0
  11. package/dist/components/content/CoverageMatrix.svelte.d.ts +25 -0
  12. package/dist/components/content/EvidenceCard.svelte +35 -0
  13. package/dist/components/content/EvidenceCard.svelte.d.ts +14 -0
  14. package/dist/components/content/FilterToolbar.svelte +24 -4
  15. package/dist/components/content/FilterToolbar.svelte.d.ts +1 -1
  16. package/dist/components/content/StatusPill.svelte +16 -0
  17. package/dist/components/content/StatusPill.svelte.d.ts +9 -0
  18. package/dist/components/content/audit-state.d.ts +1 -0
  19. package/dist/components/content/audit-state.js +1 -0
  20. package/dist/components/content/index.d.ts +9 -0
  21. package/dist/components/content/index.js +5 -0
  22. package/dist/components/list-column-preferences.svelte.d.ts +29 -0
  23. package/dist/components/list-column-preferences.svelte.js +92 -0
  24. package/dist/components/list-deletion.svelte.d.ts +38 -0
  25. package/dist/components/list-deletion.svelte.js +111 -0
  26. package/dist/components/list-selection.svelte.d.ts +31 -0
  27. package/dist/components/list-selection.svelte.js +100 -0
  28. package/dist/components/list-state.svelte.d.ts +49 -0
  29. package/dist/components/list-state.svelte.js +225 -0
  30. package/dist/components/saved-list-views.svelte.d.ts +42 -0
  31. package/dist/components/saved-list-views.svelte.js +405 -0
  32. package/dist/index.d.ts +9 -0
  33. package/dist/index.js +5 -0
  34. package/package.json +1 -1
package/dist/app.css CHANGED
@@ -9551,6 +9551,191 @@ details.svadmin-collapsible:not([open]) > :not(summary) {
9551
9551
  max-width: 32rem;
9552
9552
  }
9553
9553
 
9554
+ /* --- Auditable content primitives --- */
9555
+ .svadmin-filter-bottom-sheet[data-slot="sheet"] {
9556
+ inset-block-start: auto;
9557
+ inset-block-end: 0;
9558
+ inset-inline: 0;
9559
+ width: 100%;
9560
+ max-width: none;
9561
+ height: auto;
9562
+ max-height: 85dvh;
9563
+ overflow-y: auto;
9564
+ padding: 1rem 1rem max(1rem, env(safe-area-inset-bottom));
9565
+ border-radius: var(--radius-lg) var(--radius-lg) 0 0;
9566
+ }
9567
+ .svadmin-filter-bottom-sheet .svadmin-sheet-close { min-width: 44px; min-height: 44px; }
9568
+ .svadmin-filter-bottom-sheet [data-slot="sheet-content"] { display: grid; gap: 1rem; }
9569
+ .layout-clean-flat [data-svadmin-audit-section],
9570
+ .layout-clean-flat [data-svadmin-chart-container],
9571
+ .layout-clean-flat [data-svadmin-evidence-card],
9572
+ .layout-clean-flat [data-svadmin-coverage-matrix] {
9573
+ min-width: 0;
9574
+ }
9575
+
9576
+ .layout-clean-flat [data-svadmin-audit-section] {
9577
+ position: relative;
9578
+ border-block: 1px solid var(--svadmin-border, var(--border));
9579
+ background: var(--svadmin-surface, var(--card));
9580
+ }
9581
+
9582
+ .layout-clean-flat [data-svadmin-audit-section]::before,
9583
+ .layout-clean-flat [data-svadmin-evidence-card]::before {
9584
+ position: absolute;
9585
+ inset-block: 0;
9586
+ inset-inline-start: 0;
9587
+ width: 4px;
9588
+ background: var(--svadmin-accent-color, var(--primary));
9589
+ content: "";
9590
+ }
9591
+
9592
+ .layout-clean-flat [data-svadmin-audit-section][data-accent="info"],
9593
+ .layout-clean-flat [data-svadmin-coverage-matrix] [data-accent="info"],
9594
+ .layout-clean-flat [data-svadmin-evidence-card][data-accent="info"] {
9595
+ --svadmin-accent-color: var(--info);
9596
+ }
9597
+
9598
+ .layout-clean-flat [data-svadmin-audit-section][data-accent="success"],
9599
+ .layout-clean-flat [data-svadmin-coverage-matrix] [data-accent="success"],
9600
+ .layout-clean-flat [data-svadmin-evidence-card][data-accent="success"] {
9601
+ --svadmin-accent-color: var(--success);
9602
+ }
9603
+
9604
+ .layout-clean-flat [data-svadmin-audit-section][data-accent="warning"],
9605
+ .layout-clean-flat [data-svadmin-coverage-matrix] [data-accent="warning"],
9606
+ .layout-clean-flat [data-svadmin-evidence-card][data-accent="warning"] {
9607
+ --svadmin-accent-color: var(--warning);
9608
+ }
9609
+
9610
+ .layout-clean-flat [data-svadmin-audit-section][data-accent="danger"],
9611
+ .layout-clean-flat [data-svadmin-coverage-matrix] [data-accent="danger"],
9612
+ .layout-clean-flat [data-svadmin-evidence-card][data-accent="danger"] {
9613
+ --svadmin-accent-color: var(--destructive);
9614
+ }
9615
+
9616
+ .layout-clean-flat [data-svadmin-audit-section][data-accent="neutral"],
9617
+ .layout-clean-flat [data-svadmin-coverage-matrix] [data-accent="neutral"],
9618
+ .layout-clean-flat [data-svadmin-evidence-card][data-accent="neutral"] {
9619
+ --svadmin-accent-color: var(--muted-foreground);
9620
+ }
9621
+
9622
+ .svadmin-audit-section__header,
9623
+ .svadmin-chart-container__header,
9624
+ .svadmin-evidence-card__header {
9625
+ display: flex;
9626
+ align-items: flex-start;
9627
+ justify-content: space-between;
9628
+ gap: 1rem;
9629
+ }
9630
+
9631
+ .svadmin-audit-section__header {
9632
+ padding: 1rem 1.25rem;
9633
+ border-block-end: 1px solid var(--svadmin-border, var(--border));
9634
+ }
9635
+
9636
+ .svadmin-audit-section__heading,
9637
+ .svadmin-chart-container__header > div {
9638
+ min-width: 0;
9639
+ }
9640
+
9641
+ .svadmin-audit-section__eyebrow {
9642
+ margin: 0 0 0.25rem;
9643
+ color: var(--svadmin-text-muted, var(--muted-foreground));
9644
+ font-size: 0.6875rem;
9645
+ font-weight: 600;
9646
+ letter-spacing: 0;
9647
+ }
9648
+
9649
+ .svadmin-audit-section__header h2,
9650
+ .svadmin-chart-container__header h3,
9651
+ .svadmin-evidence-card__header h3 {
9652
+ margin: 0;
9653
+ color: var(--svadmin-text, var(--foreground));
9654
+ font-size: 0.9375rem;
9655
+ font-weight: 600;
9656
+ line-height: 1.3;
9657
+ }
9658
+
9659
+ .svadmin-audit-section__description,
9660
+ .svadmin-chart-container__header p,
9661
+ .svadmin-evidence-card__description,
9662
+ .svadmin-evidence-card__source {
9663
+ margin: 0.25rem 0 0;
9664
+ color: var(--svadmin-text-muted, var(--muted-foreground));
9665
+ font-size: 0.75rem;
9666
+ line-height: 1.45;
9667
+ }
9668
+
9669
+ .svadmin-audit-section__body {
9670
+ min-width: 0;
9671
+ }
9672
+
9673
+ .svadmin-audit-section__header,
9674
+ .svadmin-audit-section__body,
9675
+ .svadmin-evidence-card__header,
9676
+ .svadmin-evidence-card__description,
9677
+ .svadmin-evidence-card__source {
9678
+ overflow-wrap: anywhere;
9679
+ }
9680
+ .svadmin-audit-section__actions { flex-shrink: 0; max-width: 100%; }
9681
+ .svadmin-audit-notice {
9682
+ display: flex;
9683
+ flex-wrap: wrap;
9684
+ align-items: center;
9685
+ justify-content: space-between;
9686
+ gap: 0.75rem;
9687
+ padding: 0.75rem 1rem;
9688
+ border-inline-start: 4px solid var(--warning);
9689
+ background: var(--muted);
9690
+ font-size: 0.8125rem;
9691
+ }
9692
+ .svadmin-audit-notice[data-state="readonly"] { border-inline-start-color: var(--muted-foreground); }
9693
+ .svadmin-status-pill[data-slot="badge"] { border-radius: 999px; white-space: normal; overflow-wrap: anywhere; max-width: 100%; }
9694
+ .layout-clean-flat [data-svadmin-coverage-matrix]:focus-visible { outline: 2px solid var(--ring); outline-offset: 2px; }
9695
+ .layout-clean-flat [data-svadmin-coverage-matrix] table { width: 100%; border-collapse: collapse; font-size: 0.8125rem; }
9696
+ .layout-clean-flat [data-svadmin-coverage-matrix] caption { padding: 0.75rem; text-align: start; font-weight: 600; }
9697
+ .layout-clean-flat [data-svadmin-coverage-matrix] :is(th, td) { padding: 0.75rem; text-align: start; min-width: 9rem; overflow-wrap: anywhere; border-bottom: 1px solid var(--border); }
9698
+ .layout-clean-flat [data-svadmin-coverage-matrix] thead { color: var(--muted-foreground); background: var(--muted); }
9699
+ .layout-clean-flat [data-svadmin-coverage-matrix] tbody th { border-inline-start: 4px solid var(--svadmin-accent-color, var(--border)); }
9700
+ .svadmin-evidence-card__header { flex-wrap: wrap; }
9701
+ @media (max-width: 767px) {
9702
+ .svadmin-audit-section__header { flex-wrap: wrap; }
9703
+ .svadmin-audit-section__actions a { display: inline-flex; align-items: center; min-height: 44px; }
9704
+ }
9705
+
9706
+ .svadmin-chart-container__body {
9707
+ min-width: 0;
9708
+ padding: 1rem;
9709
+ }
9710
+
9711
+ .layout-clean-flat [data-svadmin-evidence-card] {
9712
+ position: relative;
9713
+ min-width: 0;
9714
+ border: 1px solid var(--svadmin-border, var(--border));
9715
+ background: var(--svadmin-surface, var(--card));
9716
+ padding: 1rem 1rem 1rem 1.25rem;
9717
+ }
9718
+
9719
+ .svadmin-evidence-card__body {
9720
+ margin-top: 0.75rem;
9721
+ color: var(--svadmin-text, var(--foreground));
9722
+ font-size: 0.8125rem;
9723
+ line-height: 1.5;
9724
+ }
9725
+
9726
+ .svadmin-evidence-card__source {
9727
+ margin-top: 1rem;
9728
+ color: var(--primary);
9729
+ font-weight: 600;
9730
+ }
9731
+
9732
+ .layout-clean-flat [data-svadmin-coverage-matrix] {
9733
+ overflow-x: auto;
9734
+ border: 1px solid var(--svadmin-border, var(--border));
9735
+ background: var(--svadmin-surface, var(--card));
9736
+ }
9737
+
9738
+
9554
9739
  @media (min-width: 768px) {
9555
9740
  .layout-clean-flat [data-svadmin-form-settings] [data-svadmin-field] {
9556
9741
  display: grid;
@@ -10108,7 +10293,8 @@ details.svadmin-collapsible:not([open]) > :not(summary) {
10108
10293
  }
10109
10294
 
10110
10295
  .layout-clean-flat[data-theme="stripe"] .sidebar-menu-item-active::before {
10111
- content: none;
10296
+ width: 4px;
10297
+ content: "";
10112
10298
  }
10113
10299
 
10114
10300
  .layout-clean-flat[data-theme="stripe"] .sidebar-menu-item-active svg {
@@ -9551,6 +9551,191 @@ details.svadmin-collapsible:not([open]) > :not(summary) {
9551
9551
  max-width: 32rem;
9552
9552
  }
9553
9553
 
9554
+ /* --- Auditable content primitives --- */
9555
+ .svadmin-filter-bottom-sheet[data-slot="sheet"] {
9556
+ inset-block-start: auto;
9557
+ inset-block-end: 0;
9558
+ inset-inline: 0;
9559
+ width: 100%;
9560
+ max-width: none;
9561
+ height: auto;
9562
+ max-height: 85dvh;
9563
+ overflow-y: auto;
9564
+ padding: 1rem 1rem max(1rem, env(safe-area-inset-bottom));
9565
+ border-radius: var(--radius-lg) var(--radius-lg) 0 0;
9566
+ }
9567
+ .svadmin-filter-bottom-sheet .svadmin-sheet-close { min-width: 44px; min-height: 44px; }
9568
+ .svadmin-filter-bottom-sheet [data-slot="sheet-content"] { display: grid; gap: 1rem; }
9569
+ .layout-clean-flat [data-svadmin-audit-section],
9570
+ .layout-clean-flat [data-svadmin-chart-container],
9571
+ .layout-clean-flat [data-svadmin-evidence-card],
9572
+ .layout-clean-flat [data-svadmin-coverage-matrix] {
9573
+ min-width: 0;
9574
+ }
9575
+
9576
+ .layout-clean-flat [data-svadmin-audit-section] {
9577
+ position: relative;
9578
+ border-block: 1px solid var(--svadmin-border, var(--border));
9579
+ background: var(--svadmin-surface, var(--card));
9580
+ }
9581
+
9582
+ .layout-clean-flat [data-svadmin-audit-section]::before,
9583
+ .layout-clean-flat [data-svadmin-evidence-card]::before {
9584
+ position: absolute;
9585
+ inset-block: 0;
9586
+ inset-inline-start: 0;
9587
+ width: 4px;
9588
+ background: var(--svadmin-accent-color, var(--primary));
9589
+ content: "";
9590
+ }
9591
+
9592
+ .layout-clean-flat [data-svadmin-audit-section][data-accent="info"],
9593
+ .layout-clean-flat [data-svadmin-coverage-matrix] [data-accent="info"],
9594
+ .layout-clean-flat [data-svadmin-evidence-card][data-accent="info"] {
9595
+ --svadmin-accent-color: var(--info);
9596
+ }
9597
+
9598
+ .layout-clean-flat [data-svadmin-audit-section][data-accent="success"],
9599
+ .layout-clean-flat [data-svadmin-coverage-matrix] [data-accent="success"],
9600
+ .layout-clean-flat [data-svadmin-evidence-card][data-accent="success"] {
9601
+ --svadmin-accent-color: var(--success);
9602
+ }
9603
+
9604
+ .layout-clean-flat [data-svadmin-audit-section][data-accent="warning"],
9605
+ .layout-clean-flat [data-svadmin-coverage-matrix] [data-accent="warning"],
9606
+ .layout-clean-flat [data-svadmin-evidence-card][data-accent="warning"] {
9607
+ --svadmin-accent-color: var(--warning);
9608
+ }
9609
+
9610
+ .layout-clean-flat [data-svadmin-audit-section][data-accent="danger"],
9611
+ .layout-clean-flat [data-svadmin-coverage-matrix] [data-accent="danger"],
9612
+ .layout-clean-flat [data-svadmin-evidence-card][data-accent="danger"] {
9613
+ --svadmin-accent-color: var(--destructive);
9614
+ }
9615
+
9616
+ .layout-clean-flat [data-svadmin-audit-section][data-accent="neutral"],
9617
+ .layout-clean-flat [data-svadmin-coverage-matrix] [data-accent="neutral"],
9618
+ .layout-clean-flat [data-svadmin-evidence-card][data-accent="neutral"] {
9619
+ --svadmin-accent-color: var(--muted-foreground);
9620
+ }
9621
+
9622
+ .svadmin-audit-section__header,
9623
+ .svadmin-chart-container__header,
9624
+ .svadmin-evidence-card__header {
9625
+ display: flex;
9626
+ align-items: flex-start;
9627
+ justify-content: space-between;
9628
+ gap: 1rem;
9629
+ }
9630
+
9631
+ .svadmin-audit-section__header {
9632
+ padding: 1rem 1.25rem;
9633
+ border-block-end: 1px solid var(--svadmin-border, var(--border));
9634
+ }
9635
+
9636
+ .svadmin-audit-section__heading,
9637
+ .svadmin-chart-container__header > div {
9638
+ min-width: 0;
9639
+ }
9640
+
9641
+ .svadmin-audit-section__eyebrow {
9642
+ margin: 0 0 0.25rem;
9643
+ color: var(--svadmin-text-muted, var(--muted-foreground));
9644
+ font-size: 0.6875rem;
9645
+ font-weight: 600;
9646
+ letter-spacing: 0;
9647
+ }
9648
+
9649
+ .svadmin-audit-section__header h2,
9650
+ .svadmin-chart-container__header h3,
9651
+ .svadmin-evidence-card__header h3 {
9652
+ margin: 0;
9653
+ color: var(--svadmin-text, var(--foreground));
9654
+ font-size: 0.9375rem;
9655
+ font-weight: 600;
9656
+ line-height: 1.3;
9657
+ }
9658
+
9659
+ .svadmin-audit-section__description,
9660
+ .svadmin-chart-container__header p,
9661
+ .svadmin-evidence-card__description,
9662
+ .svadmin-evidence-card__source {
9663
+ margin: 0.25rem 0 0;
9664
+ color: var(--svadmin-text-muted, var(--muted-foreground));
9665
+ font-size: 0.75rem;
9666
+ line-height: 1.45;
9667
+ }
9668
+
9669
+ .svadmin-audit-section__body {
9670
+ min-width: 0;
9671
+ }
9672
+
9673
+ .svadmin-audit-section__header,
9674
+ .svadmin-audit-section__body,
9675
+ .svadmin-evidence-card__header,
9676
+ .svadmin-evidence-card__description,
9677
+ .svadmin-evidence-card__source {
9678
+ overflow-wrap: anywhere;
9679
+ }
9680
+ .svadmin-audit-section__actions { flex-shrink: 0; max-width: 100%; }
9681
+ .svadmin-audit-notice {
9682
+ display: flex;
9683
+ flex-wrap: wrap;
9684
+ align-items: center;
9685
+ justify-content: space-between;
9686
+ gap: 0.75rem;
9687
+ padding: 0.75rem 1rem;
9688
+ border-inline-start: 4px solid var(--warning);
9689
+ background: var(--muted);
9690
+ font-size: 0.8125rem;
9691
+ }
9692
+ .svadmin-audit-notice[data-state="readonly"] { border-inline-start-color: var(--muted-foreground); }
9693
+ .svadmin-status-pill[data-slot="badge"] { border-radius: 999px; white-space: normal; overflow-wrap: anywhere; max-width: 100%; }
9694
+ .layout-clean-flat [data-svadmin-coverage-matrix]:focus-visible { outline: 2px solid var(--ring); outline-offset: 2px; }
9695
+ .layout-clean-flat [data-svadmin-coverage-matrix] table { width: 100%; border-collapse: collapse; font-size: 0.8125rem; }
9696
+ .layout-clean-flat [data-svadmin-coverage-matrix] caption { padding: 0.75rem; text-align: start; font-weight: 600; }
9697
+ .layout-clean-flat [data-svadmin-coverage-matrix] :is(th, td) { padding: 0.75rem; text-align: start; min-width: 9rem; overflow-wrap: anywhere; border-bottom: 1px solid var(--border); }
9698
+ .layout-clean-flat [data-svadmin-coverage-matrix] thead { color: var(--muted-foreground); background: var(--muted); }
9699
+ .layout-clean-flat [data-svadmin-coverage-matrix] tbody th { border-inline-start: 4px solid var(--svadmin-accent-color, var(--border)); }
9700
+ .svadmin-evidence-card__header { flex-wrap: wrap; }
9701
+ @media (max-width: 767px) {
9702
+ .svadmin-audit-section__header { flex-wrap: wrap; }
9703
+ .svadmin-audit-section__actions a { display: inline-flex; align-items: center; min-height: 44px; }
9704
+ }
9705
+
9706
+ .svadmin-chart-container__body {
9707
+ min-width: 0;
9708
+ padding: 1rem;
9709
+ }
9710
+
9711
+ .layout-clean-flat [data-svadmin-evidence-card] {
9712
+ position: relative;
9713
+ min-width: 0;
9714
+ border: 1px solid var(--svadmin-border, var(--border));
9715
+ background: var(--svadmin-surface, var(--card));
9716
+ padding: 1rem 1rem 1rem 1.25rem;
9717
+ }
9718
+
9719
+ .svadmin-evidence-card__body {
9720
+ margin-top: 0.75rem;
9721
+ color: var(--svadmin-text, var(--foreground));
9722
+ font-size: 0.8125rem;
9723
+ line-height: 1.5;
9724
+ }
9725
+
9726
+ .svadmin-evidence-card__source {
9727
+ margin-top: 1rem;
9728
+ color: var(--primary);
9729
+ font-weight: 600;
9730
+ }
9731
+
9732
+ .layout-clean-flat [data-svadmin-coverage-matrix] {
9733
+ overflow-x: auto;
9734
+ border: 1px solid var(--svadmin-border, var(--border));
9735
+ background: var(--svadmin-surface, var(--card));
9736
+ }
9737
+
9738
+
9554
9739
  @media (min-width: 768px) {
9555
9740
  .layout-clean-flat [data-svadmin-form-settings] [data-svadmin-field] {
9556
9741
  display: grid;
@@ -10108,7 +10293,8 @@ details.svadmin-collapsible:not([open]) > :not(summary) {
10108
10293
  }
10109
10294
 
10110
10295
  .layout-clean-flat[data-theme="stripe"] .sidebar-menu-item-active::before {
10111
- content: none;
10296
+ width: 4px;
10297
+ content: "";
10112
10298
  }
10113
10299
 
10114
10300
  .layout-clean-flat[data-theme="stripe"] .sidebar-menu-item-active svg {