@kopexa/theme 17.5.0 → 17.7.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 (39) hide show
  1. package/dist/chunk-CNYKIUVC.mjs +64 -0
  2. package/dist/chunk-NIEFB74U.mjs +64 -0
  3. package/dist/chunk-PKB6QHSP.mjs +103 -0
  4. package/dist/chunk-RZ45NVOH.mjs +50 -0
  5. package/dist/chunk-TDITF5BB.mjs +79 -0
  6. package/dist/{chunk-PWH7OU6T.mjs → chunk-Z2SMCAER.mjs} +7 -4
  7. package/dist/components/combobox.js +7 -4
  8. package/dist/components/combobox.mjs +1 -1
  9. package/dist/components/compliance-badge.d.mts +47 -0
  10. package/dist/components/compliance-badge.d.ts +47 -0
  11. package/dist/components/compliance-badge.js +74 -0
  12. package/dist/components/compliance-badge.mjs +6 -0
  13. package/dist/components/filter.d.mts +143 -0
  14. package/dist/components/filter.d.ts +143 -0
  15. package/dist/components/filter.js +131 -0
  16. package/dist/components/filter.mjs +7 -0
  17. package/dist/components/impact-card.d.mts +122 -0
  18. package/dist/components/impact-card.d.ts +122 -0
  19. package/dist/components/impact-card.js +103 -0
  20. package/dist/components/impact-card.mjs +6 -0
  21. package/dist/components/index.d.mts +4 -0
  22. package/dist/components/index.d.ts +4 -0
  23. package/dist/components/index.js +439 -98
  24. package/dist/components/index.mjs +57 -41
  25. package/dist/components/related-control-chip.d.mts +68 -20
  26. package/dist/components/related-control-chip.d.ts +68 -20
  27. package/dist/components/related-control-chip.js +52 -2
  28. package/dist/components/related-control-chip.mjs +1 -1
  29. package/dist/components/risk-rating.d.mts +154 -0
  30. package/dist/components/risk-rating.d.ts +154 -0
  31. package/dist/components/risk-rating.js +88 -0
  32. package/dist/components/risk-rating.mjs +6 -0
  33. package/dist/index.d.mts +4 -0
  34. package/dist/index.d.ts +4 -0
  35. package/dist/index.js +439 -98
  36. package/dist/index.mjs +57 -41
  37. package/package.json +2 -2
  38. package/dist/chunk-7BZAMXH2.mjs +0 -14
  39. /package/dist/{chunk-BYXTAZ4I.mjs → chunk-ALG7CNQH.mjs} +0 -0
@@ -0,0 +1,64 @@
1
+ // src/components/risk-rating.ts
2
+ import { tv } from "tailwind-variants";
3
+ var riskRating = tv({
4
+ slots: {
5
+ base: "flex items-center gap-2",
6
+ badge: "flex items-center justify-center rounded-md font-bold",
7
+ label: "font-medium",
8
+ // Icon slots for list items
9
+ iconWrapper: "p-2 rounded-lg shrink-0",
10
+ icon: "size-4"
11
+ },
12
+ variants: {
13
+ size: {
14
+ sm: {
15
+ badge: "size-6 text-xs",
16
+ label: "text-xs"
17
+ },
18
+ md: {
19
+ badge: "size-8 text-sm",
20
+ label: "text-sm"
21
+ }
22
+ },
23
+ level: {
24
+ unrated: {
25
+ badge: "bg-muted text-muted-foreground font-medium",
26
+ label: "text-muted-foreground",
27
+ iconWrapper: "bg-muted/50",
28
+ icon: "text-muted-foreground"
29
+ },
30
+ low: {
31
+ badge: "bg-success text-white",
32
+ label: "text-success",
33
+ iconWrapper: "bg-success/10",
34
+ icon: "text-success"
35
+ },
36
+ medium: {
37
+ badge: "bg-warning text-white",
38
+ label: "text-warning",
39
+ iconWrapper: "bg-warning/10",
40
+ icon: "text-warning"
41
+ },
42
+ high: {
43
+ badge: "bg-orange-500 text-white",
44
+ label: "text-orange-500",
45
+ iconWrapper: "bg-orange-500/10",
46
+ icon: "text-orange-500"
47
+ },
48
+ critical: {
49
+ badge: "bg-destructive text-white",
50
+ label: "text-destructive",
51
+ iconWrapper: "bg-destructive/10",
52
+ icon: "text-destructive"
53
+ }
54
+ }
55
+ },
56
+ defaultVariants: {
57
+ size: "md",
58
+ level: "unrated"
59
+ }
60
+ });
61
+
62
+ export {
63
+ riskRating
64
+ };
@@ -0,0 +1,64 @@
1
+ // src/components/related-control-chip.ts
2
+ import { tv } from "tailwind-variants";
3
+ var relatedControlChip = tv({
4
+ slots: {
5
+ // Container for all chips
6
+ root: "flex flex-wrap items-center gap-1",
7
+ // Individual chip/tag
8
+ chip: [
9
+ "inline-flex",
10
+ "items-center",
11
+ "gap-0.5",
12
+ "px-1.5",
13
+ "py-0.5",
14
+ "rounded",
15
+ "text-xs",
16
+ "font-mono",
17
+ "bg-muted",
18
+ "text-muted-foreground",
19
+ "transition-colors",
20
+ "cursor-default"
21
+ ],
22
+ // Framework prefix (e.g., "iso27001:")
23
+ chipPrefix: "text-muted-foreground/70",
24
+ // Control ID (e.g., "a-7-1")
25
+ chipId: "font-medium",
26
+ // Overflow indicator (e.g., "+3")
27
+ overflow: [
28
+ "text-xs",
29
+ "text-muted-foreground",
30
+ "cursor-pointer",
31
+ "hover:text-foreground",
32
+ "transition-colors"
33
+ ],
34
+ // Tooltip content
35
+ tooltip: "text-xs"
36
+ },
37
+ variants: {
38
+ size: {
39
+ sm: {
40
+ chip: "text-[10px] px-1 py-px",
41
+ overflow: "text-[10px]"
42
+ },
43
+ md: {},
44
+ lg: {
45
+ chip: "text-sm px-2 py-1",
46
+ overflow: "text-sm"
47
+ }
48
+ },
49
+ interactive: {
50
+ true: {
51
+ chip: "cursor-pointer hover:bg-primary/10 hover:text-primary"
52
+ },
53
+ false: {}
54
+ }
55
+ },
56
+ defaultVariants: {
57
+ size: "md",
58
+ interactive: false
59
+ }
60
+ });
61
+
62
+ export {
63
+ relatedControlChip
64
+ };
@@ -0,0 +1,103 @@
1
+ import {
2
+ focusVisibleClasses
3
+ } from "./chunk-6IZPAS4O.mjs";
4
+
5
+ // src/components/filter.ts
6
+ import { tv } from "tailwind-variants";
7
+ var filter = tv({
8
+ slots: {
9
+ root: "flex flex-wrap items-center gap-2",
10
+ // Trigger Button
11
+ trigger: [
12
+ "inline-flex items-center gap-2 rounded-md",
13
+ "border border-dashed border-input text-sm",
14
+ "hover:bg-accent hover:text-accent-foreground",
15
+ "transition-colors cursor-pointer",
16
+ ...focusVisibleClasses
17
+ ],
18
+ triggerIcon: "size-4 opacity-60",
19
+ // Feld-Auswahl Menü
20
+ menu: [
21
+ "bg-popover text-popover-foreground border rounded-lg shadow-lg p-1 min-w-[220px]",
22
+ "data-[open]:animate-in data-[closed]:animate-out",
23
+ "data-[closed]:fade-out-0 data-[open]:fade-in-0",
24
+ "data-[closed]:zoom-out-95 data-[open]:zoom-in-95"
25
+ ],
26
+ menuGroup: "py-1",
27
+ menuGroupLabel: "px-2 py-1.5 text-xs font-medium text-muted-foreground uppercase tracking-wide",
28
+ menuItem: [
29
+ "flex items-center gap-2 px-2 py-1.5 rounded-sm text-sm cursor-pointer",
30
+ "outline-none select-none",
31
+ "data-highlighted:bg-accent data-highlighted:text-accent-foreground",
32
+ "data-disabled:opacity-50 data-disabled:pointer-events-none"
33
+ ],
34
+ menuItemIcon: "size-4 text-muted-foreground",
35
+ menuSeparator: "bg-border -mx-1 my-1 h-px",
36
+ // Aktiver Filter (Chip-artig)
37
+ field: [
38
+ "inline-flex items-center gap-1 rounded-md",
39
+ "bg-secondary text-secondary-foreground text-sm",
40
+ "border border-transparent hover:border-border",
41
+ "cursor-pointer transition-colors"
42
+ ],
43
+ fieldLabel: "font-medium",
44
+ fieldOperator: "text-muted-foreground text-xs",
45
+ fieldValue: "max-w-[150px] truncate",
46
+ fieldRemove: [
47
+ "size-5 rounded-sm flex items-center justify-center",
48
+ "hover:bg-destructive/10 hover:text-destructive",
49
+ "transition-colors cursor-pointer",
50
+ ...focusVisibleClasses
51
+ ],
52
+ // Wert-Editor Popover
53
+ editor: [
54
+ "bg-popover text-popover-foreground border rounded-lg shadow-lg p-3 min-w-[240px]",
55
+ "data-[open]:animate-in data-[closed]:animate-out",
56
+ "data-[closed]:fade-out-0 data-[open]:fade-in-0",
57
+ "data-[closed]:zoom-out-95 data-[open]:zoom-in-95"
58
+ ],
59
+ editorHeader: "flex items-center justify-between mb-2",
60
+ editorTitle: "text-sm font-medium",
61
+ editorOperator: "w-full mb-2",
62
+ editorInput: "w-full",
63
+ // Active Filters Container
64
+ active: "flex flex-wrap items-center gap-2",
65
+ // Clear All Button
66
+ clearAll: [
67
+ "text-xs text-muted-foreground hover:text-foreground",
68
+ "cursor-pointer transition-colors"
69
+ ]
70
+ },
71
+ variants: {
72
+ size: {
73
+ sm: {
74
+ trigger: "h-7 text-xs px-2.5",
75
+ field: "h-6 text-xs pl-2 pr-0.5",
76
+ fieldRemove: "size-4"
77
+ },
78
+ md: {
79
+ trigger: "h-8 px-3",
80
+ field: "h-7 pl-2.5 pr-1"
81
+ },
82
+ lg: {
83
+ trigger: "h-9 px-4 text-base",
84
+ field: "h-8 pl-3 pr-1.5 text-base",
85
+ fieldRemove: "size-6"
86
+ }
87
+ },
88
+ variant: {
89
+ outline: {
90
+ field: "bg-transparent border-input"
91
+ },
92
+ solid: {}
93
+ }
94
+ },
95
+ defaultVariants: {
96
+ size: "md",
97
+ variant: "solid"
98
+ }
99
+ });
100
+
101
+ export {
102
+ filter
103
+ };
@@ -0,0 +1,50 @@
1
+ // src/components/compliance-badge.ts
2
+ import { tv } from "tailwind-variants";
3
+ var complianceBadge = tv({
4
+ slots: {
5
+ root: [
6
+ "group/badge",
7
+ "inline-flex",
8
+ "items-center",
9
+ "py-0.5",
10
+ "px-1.5",
11
+ "rounded",
12
+ "text-xs",
13
+ "font-medium",
14
+ "transition-all",
15
+ "duration-200",
16
+ "ease-out",
17
+ "cursor-default"
18
+ ],
19
+ icon: "shrink-0",
20
+ label: [
21
+ "overflow-hidden",
22
+ "whitespace-nowrap",
23
+ "max-w-0",
24
+ "opacity-0",
25
+ "group-hover/badge:max-w-[50px]",
26
+ "group-hover/badge:opacity-100",
27
+ "group-hover/badge:ml-1",
28
+ "transition-all",
29
+ "duration-200",
30
+ "ease-out"
31
+ ]
32
+ },
33
+ variants: {
34
+ color: {
35
+ dora: {
36
+ root: "bg-blue-100 text-blue-700 dark:bg-blue-900/30 dark:text-blue-400"
37
+ },
38
+ nis2: {
39
+ root: "bg-purple-100 text-purple-700 dark:bg-purple-900/30 dark:text-purple-400"
40
+ }
41
+ }
42
+ },
43
+ defaultVariants: {
44
+ color: "dora"
45
+ }
46
+ });
47
+
48
+ export {
49
+ complianceBadge
50
+ };
@@ -0,0 +1,79 @@
1
+ // src/components/impact-card.ts
2
+ import { tv } from "tailwind-variants";
3
+ var impactCard = tv({
4
+ slots: {
5
+ // Card wrapper (extends Card.Root)
6
+ root: "",
7
+ // Individual impact row
8
+ row: ["rounded-lg", "border", "p-3", "transition-all"],
9
+ rowContent: "flex items-center gap-3",
10
+ // Circle icon with short label (C, I, A, Au)
11
+ rowIcon: [
12
+ "w-8",
13
+ "h-8",
14
+ "rounded-full",
15
+ "flex",
16
+ "items-center",
17
+ "justify-center",
18
+ "text-sm",
19
+ "font-bold",
20
+ "shrink-0"
21
+ ],
22
+ // Content area next to icon
23
+ rowBody: "flex-1 min-w-0",
24
+ rowHeader: "flex items-center justify-between mb-1",
25
+ rowLabel: "text-sm font-medium",
26
+ // Value display (when not editing)
27
+ rowValue: "flex items-center gap-2",
28
+ rowValueNumber: "text-xs text-muted-foreground font-mono",
29
+ rowValueBadge: "text-sm font-medium px-2 py-0.5 rounded",
30
+ // Progress bar
31
+ progressContainer: "h-1.5 bg-muted rounded-full overflow-hidden",
32
+ progressBar: "h-full rounded-full transition-all",
33
+ // Edit button
34
+ editButton: [
35
+ "p-1.5",
36
+ "rounded-md",
37
+ "hover:bg-muted",
38
+ "text-muted-foreground",
39
+ "hover:text-foreground",
40
+ "transition-colors"
41
+ ],
42
+ // Justification section
43
+ justificationSection: "pt-3 border-t",
44
+ justificationLabel: "block text-sm font-medium mb-2",
45
+ justificationHint: "text-muted-foreground font-normal ml-1",
46
+ justificationText: "text-sm text-foreground bg-muted/30 rounded-md p-3",
47
+ justificationEmpty: "text-sm text-muted-foreground/50 italic"
48
+ },
49
+ variants: {
50
+ // Row state: unrated vs rated
51
+ unrated: {
52
+ true: {
53
+ row: "bg-muted/30 border-dashed border-muted-foreground/20",
54
+ rowIcon: "bg-muted text-muted-foreground",
55
+ rowLabel: "text-muted-foreground",
56
+ rowValueBadge: "text-muted-foreground"
57
+ },
58
+ false: {
59
+ row: "bg-background border-border",
60
+ rowIcon: "bg-primary/10 text-primary"
61
+ }
62
+ },
63
+ // Editing state
64
+ editing: {
65
+ true: {
66
+ root: "ring-2 ring-primary"
67
+ },
68
+ false: {}
69
+ }
70
+ },
71
+ defaultVariants: {
72
+ unrated: false,
73
+ editing: false
74
+ }
75
+ });
76
+
77
+ export {
78
+ impactCard
79
+ };
@@ -41,7 +41,7 @@ var combobox = tv({
41
41
  "[&_svg]:size-4 [&_svg]:text-primary"
42
42
  ],
43
43
  groupLabel: "px-2 py-1.5 text-xs text-muted-foreground font-medium",
44
- empty: "px-2 py-1.5 text-sm text-muted-foreground empty:m-0 empty:p-0",
44
+ empty: "px-2 py-1.5 text-sm text-muted-foreground empty:m-0 empty:p-0 shrink-0",
45
45
  clear: [
46
46
  "absolute cursor-pointer end-6 top-1/2 -translate-y-1/2 rounded-sm opacity-70 ring-offset-background",
47
47
  "transition-opacity opacity-60 hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none",
@@ -71,7 +71,10 @@ var combobox = tv({
71
71
  "[&_svg]:size-3.5"
72
72
  ],
73
73
  separator: "my-1.5 h-px bg-muted",
74
- header: ["flex flex-col items-start justify-between px-3 py-2 border-b"],
74
+ header: [
75
+ "flex flex-col items-start justify-between px-3 py-2 border-b",
76
+ "shrink-0"
77
+ ],
75
78
  title: "text-sm font-semibold",
76
79
  description: "text-xs text-muted-foreground",
77
80
  footer: [
@@ -90,11 +93,11 @@ var combobox = tv({
90
93
  inside: {
91
94
  popup: [
92
95
  "overflow-hidden",
93
- "[--input-container-height:60px] origin-[var(--transform-origin)]"
96
+ "max-h-[min(var(--available-height),30rem)]"
94
97
  ],
95
98
  list: [
96
99
  "overflow-y-auto scroll-py-2 py-2 overscroll-contain",
97
- "max-h-[min(calc(24rem-var(--input-container-height)),calc(var(--available-height)-var(--input-container-height)))]"
100
+ "max-h-80"
98
101
  ]
99
102
  }
100
103
  },
@@ -150,7 +150,7 @@ var combobox = (0, import_tailwind_variants2.tv)({
150
150
  "[&_svg]:size-4 [&_svg]:text-primary"
151
151
  ],
152
152
  groupLabel: "px-2 py-1.5 text-xs text-muted-foreground font-medium",
153
- empty: "px-2 py-1.5 text-sm text-muted-foreground empty:m-0 empty:p-0",
153
+ empty: "px-2 py-1.5 text-sm text-muted-foreground empty:m-0 empty:p-0 shrink-0",
154
154
  clear: [
155
155
  "absolute cursor-pointer end-6 top-1/2 -translate-y-1/2 rounded-sm opacity-70 ring-offset-background",
156
156
  "transition-opacity opacity-60 hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none",
@@ -180,7 +180,10 @@ var combobox = (0, import_tailwind_variants2.tv)({
180
180
  "[&_svg]:size-3.5"
181
181
  ],
182
182
  separator: "my-1.5 h-px bg-muted",
183
- header: ["flex flex-col items-start justify-between px-3 py-2 border-b"],
183
+ header: [
184
+ "flex flex-col items-start justify-between px-3 py-2 border-b",
185
+ "shrink-0"
186
+ ],
184
187
  title: "text-sm font-semibold",
185
188
  description: "text-xs text-muted-foreground",
186
189
  footer: [
@@ -199,11 +202,11 @@ var combobox = (0, import_tailwind_variants2.tv)({
199
202
  inside: {
200
203
  popup: [
201
204
  "overflow-hidden",
202
- "[--input-container-height:60px] origin-[var(--transform-origin)]"
205
+ "max-h-[min(var(--available-height),30rem)]"
203
206
  ],
204
207
  list: [
205
208
  "overflow-y-auto scroll-py-2 py-2 overscroll-contain",
206
- "max-h-[min(calc(24rem-var(--input-container-height)),calc(var(--available-height)-var(--input-container-height)))]"
209
+ "max-h-80"
207
210
  ]
208
211
  }
209
212
  },
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  combobox
3
- } from "../chunk-PWH7OU6T.mjs";
3
+ } from "../chunk-Z2SMCAER.mjs";
4
4
  import "../chunk-K3EVZATS.mjs";
5
5
  import "../chunk-6IZPAS4O.mjs";
6
6
  export {
@@ -0,0 +1,47 @@
1
+ import * as tailwind_variants from 'tailwind-variants';
2
+ import { VariantProps } from 'tailwind-variants';
3
+
4
+ declare const complianceBadge: tailwind_variants.TVReturnType<{
5
+ color: {
6
+ dora: {
7
+ root: string;
8
+ };
9
+ nis2: {
10
+ root: string;
11
+ };
12
+ };
13
+ }, {
14
+ root: string[];
15
+ icon: string;
16
+ label: string[];
17
+ }, undefined, {
18
+ color: {
19
+ dora: {
20
+ root: string;
21
+ };
22
+ nis2: {
23
+ root: string;
24
+ };
25
+ };
26
+ }, {
27
+ root: string[];
28
+ icon: string;
29
+ label: string[];
30
+ }, tailwind_variants.TVReturnType<{
31
+ color: {
32
+ dora: {
33
+ root: string;
34
+ };
35
+ nis2: {
36
+ root: string;
37
+ };
38
+ };
39
+ }, {
40
+ root: string[];
41
+ icon: string;
42
+ label: string[];
43
+ }, undefined, unknown, unknown, undefined>>;
44
+ type ComplianceBadgeVariantProps = VariantProps<typeof complianceBadge>;
45
+ type ComplianceBadgeSlots = keyof ReturnType<typeof complianceBadge>;
46
+
47
+ export { type ComplianceBadgeSlots, type ComplianceBadgeVariantProps, complianceBadge };
@@ -0,0 +1,47 @@
1
+ import * as tailwind_variants from 'tailwind-variants';
2
+ import { VariantProps } from 'tailwind-variants';
3
+
4
+ declare const complianceBadge: tailwind_variants.TVReturnType<{
5
+ color: {
6
+ dora: {
7
+ root: string;
8
+ };
9
+ nis2: {
10
+ root: string;
11
+ };
12
+ };
13
+ }, {
14
+ root: string[];
15
+ icon: string;
16
+ label: string[];
17
+ }, undefined, {
18
+ color: {
19
+ dora: {
20
+ root: string;
21
+ };
22
+ nis2: {
23
+ root: string;
24
+ };
25
+ };
26
+ }, {
27
+ root: string[];
28
+ icon: string;
29
+ label: string[];
30
+ }, tailwind_variants.TVReturnType<{
31
+ color: {
32
+ dora: {
33
+ root: string;
34
+ };
35
+ nis2: {
36
+ root: string;
37
+ };
38
+ };
39
+ }, {
40
+ root: string[];
41
+ icon: string;
42
+ label: string[];
43
+ }, undefined, unknown, unknown, undefined>>;
44
+ type ComplianceBadgeVariantProps = VariantProps<typeof complianceBadge>;
45
+ type ComplianceBadgeSlots = keyof ReturnType<typeof complianceBadge>;
46
+
47
+ export { type ComplianceBadgeSlots, type ComplianceBadgeVariantProps, complianceBadge };
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/components/compliance-badge.ts
21
+ var compliance_badge_exports = {};
22
+ __export(compliance_badge_exports, {
23
+ complianceBadge: () => complianceBadge
24
+ });
25
+ module.exports = __toCommonJS(compliance_badge_exports);
26
+ var import_tailwind_variants = require("tailwind-variants");
27
+ var complianceBadge = (0, import_tailwind_variants.tv)({
28
+ slots: {
29
+ root: [
30
+ "group/badge",
31
+ "inline-flex",
32
+ "items-center",
33
+ "py-0.5",
34
+ "px-1.5",
35
+ "rounded",
36
+ "text-xs",
37
+ "font-medium",
38
+ "transition-all",
39
+ "duration-200",
40
+ "ease-out",
41
+ "cursor-default"
42
+ ],
43
+ icon: "shrink-0",
44
+ label: [
45
+ "overflow-hidden",
46
+ "whitespace-nowrap",
47
+ "max-w-0",
48
+ "opacity-0",
49
+ "group-hover/badge:max-w-[50px]",
50
+ "group-hover/badge:opacity-100",
51
+ "group-hover/badge:ml-1",
52
+ "transition-all",
53
+ "duration-200",
54
+ "ease-out"
55
+ ]
56
+ },
57
+ variants: {
58
+ color: {
59
+ dora: {
60
+ root: "bg-blue-100 text-blue-700 dark:bg-blue-900/30 dark:text-blue-400"
61
+ },
62
+ nis2: {
63
+ root: "bg-purple-100 text-purple-700 dark:bg-purple-900/30 dark:text-purple-400"
64
+ }
65
+ }
66
+ },
67
+ defaultVariants: {
68
+ color: "dora"
69
+ }
70
+ });
71
+ // Annotate the CommonJS export names for ESM import in node:
72
+ 0 && (module.exports = {
73
+ complianceBadge
74
+ });
@@ -0,0 +1,6 @@
1
+ import {
2
+ complianceBadge
3
+ } from "../chunk-RZ45NVOH.mjs";
4
+ export {
5
+ complianceBadge
6
+ };