@keenthemes/ktui 1.1.0 → 1.1.1
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.
- package/README.md +0 -27
- package/dist/ktui.js +6790 -14063
- package/dist/ktui.min.js +1 -1
- package/dist/ktui.min.js.map +1 -1
- package/dist/styles.css +1132 -2705
- package/lib/cjs/components/datatable/__tests__/pagination-reset.test.js +596 -0
- package/lib/cjs/components/datatable/__tests__/pagination-reset.test.js.map +1 -0
- package/lib/cjs/components/datatable/__tests__/race-conditions.test.js +548 -0
- package/lib/cjs/components/datatable/__tests__/race-conditions.test.js.map +1 -0
- package/lib/cjs/components/datatable/__tests__/setup.js +63 -0
- package/lib/cjs/components/datatable/__tests__/setup.js.map +1 -0
- package/lib/cjs/components/datatable/datatable.js +92 -30
- package/lib/cjs/components/datatable/datatable.js.map +1 -1
- package/lib/cjs/index.js +1 -10
- package/lib/cjs/index.js.map +1 -1
- package/lib/esm/components/datatable/__tests__/pagination-reset.test.js +594 -0
- package/lib/esm/components/datatable/__tests__/pagination-reset.test.js.map +1 -0
- package/lib/esm/components/datatable/__tests__/race-conditions.test.js +546 -0
- package/lib/esm/components/datatable/__tests__/race-conditions.test.js.map +1 -0
- package/lib/esm/components/datatable/__tests__/setup.js +58 -0
- package/lib/esm/components/datatable/__tests__/setup.js.map +1 -0
- package/lib/esm/components/datatable/datatable.js +92 -30
- package/lib/esm/components/datatable/datatable.js.map +1 -1
- package/lib/esm/index.js +0 -7
- package/lib/esm/index.js.map +1 -1
- package/package.json +7 -9
- package/src/components/alert/alert.css +188 -429
- package/src/components/datatable/__tests__/pagination-reset.test.ts +657 -0
- package/src/components/datatable/__tests__/race-conditions.test.ts +455 -0
- package/src/components/datatable/__tests__/setup.ts +67 -0
- package/src/components/datatable/datatable.ts +66 -11
- package/src/components/input/input.css +0 -1
- package/src/components/select/select.css +0 -1
- package/src/components/select/variants.css +4 -0
- package/src/components/textarea/textarea.css +0 -1
- package/src/index.ts +0 -10
- package/styles.css +0 -1
- package/lib/cjs/components/alert/alert.js +0 -1025
- package/lib/cjs/components/alert/alert.js.map +0 -1
- package/lib/cjs/components/alert/index.js +0 -20
- package/lib/cjs/components/alert/index.js.map +0 -1
- package/lib/cjs/components/alert/templates.js +0 -120
- package/lib/cjs/components/alert/templates.js.map +0 -1
- package/lib/cjs/components/alert/types.js +0 -7
- package/lib/cjs/components/alert/types.js.map +0 -1
- package/lib/cjs/components/datepicker/config/config.js +0 -42
- package/lib/cjs/components/datepicker/config/config.js.map +0 -1
- package/lib/cjs/components/datepicker/config/index.js +0 -24
- package/lib/cjs/components/datepicker/config/index.js.map +0 -1
- package/lib/cjs/components/datepicker/config/interfaces.js +0 -7
- package/lib/cjs/components/datepicker/config/interfaces.js.map +0 -1
- package/lib/cjs/components/datepicker/config/types.js +0 -7
- package/lib/cjs/components/datepicker/config/types.js.map +0 -1
- package/lib/cjs/components/datepicker/core/event-manager.js +0 -135
- package/lib/cjs/components/datepicker/core/event-manager.js.map +0 -1
- package/lib/cjs/components/datepicker/core/focus-manager.js +0 -167
- package/lib/cjs/components/datepicker/core/focus-manager.js.map +0 -1
- package/lib/cjs/components/datepicker/core/helpers.js +0 -219
- package/lib/cjs/components/datepicker/core/helpers.js.map +0 -1
- package/lib/cjs/components/datepicker/core/index.js +0 -25
- package/lib/cjs/components/datepicker/core/index.js.map +0 -1
- package/lib/cjs/components/datepicker/core/unified-state-manager.js +0 -394
- package/lib/cjs/components/datepicker/core/unified-state-manager.js.map +0 -1
- package/lib/cjs/components/datepicker/datepicker.js +0 -2252
- package/lib/cjs/components/datepicker/datepicker.js.map +0 -1
- package/lib/cjs/components/datepicker/index.js +0 -24
- package/lib/cjs/components/datepicker/index.js.map +0 -1
- package/lib/cjs/components/datepicker/ui/index.js +0 -23
- package/lib/cjs/components/datepicker/ui/index.js.map +0 -1
- package/lib/cjs/components/datepicker/ui/input/dropdown.js +0 -489
- package/lib/cjs/components/datepicker/ui/input/dropdown.js.map +0 -1
- package/lib/cjs/components/datepicker/ui/input/index.js +0 -23
- package/lib/cjs/components/datepicker/ui/input/index.js.map +0 -1
- package/lib/cjs/components/datepicker/ui/input/segmented-input.js +0 -640
- package/lib/cjs/components/datepicker/ui/input/segmented-input.js.map +0 -1
- package/lib/cjs/components/datepicker/ui/renderers/calendar.js +0 -446
- package/lib/cjs/components/datepicker/ui/renderers/calendar.js.map +0 -1
- package/lib/cjs/components/datepicker/ui/renderers/footer.js +0 -42
- package/lib/cjs/components/datepicker/ui/renderers/footer.js.map +0 -1
- package/lib/cjs/components/datepicker/ui/renderers/header.js +0 -32
- package/lib/cjs/components/datepicker/ui/renderers/header.js.map +0 -1
- package/lib/cjs/components/datepicker/ui/renderers/index.js +0 -25
- package/lib/cjs/components/datepicker/ui/renderers/index.js.map +0 -1
- package/lib/cjs/components/datepicker/ui/renderers/time-picker.js +0 -384
- package/lib/cjs/components/datepicker/ui/renderers/time-picker.js.map +0 -1
- package/lib/cjs/components/datepicker/ui/templates/index.js +0 -22
- package/lib/cjs/components/datepicker/ui/templates/index.js.map +0 -1
- package/lib/cjs/components/datepicker/ui/templates/templates.js +0 -253
- package/lib/cjs/components/datepicker/ui/templates/templates.js.map +0 -1
- package/lib/cjs/components/datepicker/utils/date-formatters.js +0 -88
- package/lib/cjs/components/datepicker/utils/date-formatters.js.map +0 -1
- package/lib/cjs/components/datepicker/utils/date-utils.js +0 -194
- package/lib/cjs/components/datepicker/utils/date-utils.js.map +0 -1
- package/lib/cjs/components/datepicker/utils/index.js +0 -24
- package/lib/cjs/components/datepicker/utils/index.js.map +0 -1
- package/lib/cjs/components/datepicker/utils/time-utils.js +0 -213
- package/lib/cjs/components/datepicker/utils/time-utils.js.map +0 -1
- package/lib/esm/components/alert/alert.js +0 -1022
- package/lib/esm/components/alert/alert.js.map +0 -1
- package/lib/esm/components/alert/index.js +0 -4
- package/lib/esm/components/alert/index.js.map +0 -1
- package/lib/esm/components/alert/templates.js +0 -112
- package/lib/esm/components/alert/templates.js.map +0 -1
- package/lib/esm/components/alert/types.js +0 -6
- package/lib/esm/components/alert/types.js.map +0 -1
- package/lib/esm/components/datepicker/config/config.js +0 -39
- package/lib/esm/components/datepicker/config/config.js.map +0 -1
- package/lib/esm/components/datepicker/config/index.js +0 -8
- package/lib/esm/components/datepicker/config/index.js.map +0 -1
- package/lib/esm/components/datepicker/config/interfaces.js +0 -6
- package/lib/esm/components/datepicker/config/interfaces.js.map +0 -1
- package/lib/esm/components/datepicker/config/types.js +0 -6
- package/lib/esm/components/datepicker/config/types.js.map +0 -1
- package/lib/esm/components/datepicker/core/event-manager.js +0 -133
- package/lib/esm/components/datepicker/core/event-manager.js.map +0 -1
- package/lib/esm/components/datepicker/core/focus-manager.js +0 -164
- package/lib/esm/components/datepicker/core/focus-manager.js.map +0 -1
- package/lib/esm/components/datepicker/core/helpers.js +0 -211
- package/lib/esm/components/datepicker/core/helpers.js.map +0 -1
- package/lib/esm/components/datepicker/core/index.js +0 -9
- package/lib/esm/components/datepicker/core/index.js.map +0 -1
- package/lib/esm/components/datepicker/core/unified-state-manager.js +0 -391
- package/lib/esm/components/datepicker/core/unified-state-manager.js.map +0 -1
- package/lib/esm/components/datepicker/datepicker.js +0 -2248
- package/lib/esm/components/datepicker/datepicker.js.map +0 -1
- package/lib/esm/components/datepicker/index.js +0 -7
- package/lib/esm/components/datepicker/index.js.map +0 -1
- package/lib/esm/components/datepicker/ui/index.js +0 -7
- package/lib/esm/components/datepicker/ui/index.js.map +0 -1
- package/lib/esm/components/datepicker/ui/input/dropdown.js +0 -486
- package/lib/esm/components/datepicker/ui/input/dropdown.js.map +0 -1
- package/lib/esm/components/datepicker/ui/input/index.js +0 -7
- package/lib/esm/components/datepicker/ui/input/index.js.map +0 -1
- package/lib/esm/components/datepicker/ui/input/segmented-input.js +0 -637
- package/lib/esm/components/datepicker/ui/input/segmented-input.js.map +0 -1
- package/lib/esm/components/datepicker/ui/renderers/calendar.js +0 -443
- package/lib/esm/components/datepicker/ui/renderers/calendar.js.map +0 -1
- package/lib/esm/components/datepicker/ui/renderers/footer.js +0 -39
- package/lib/esm/components/datepicker/ui/renderers/footer.js.map +0 -1
- package/lib/esm/components/datepicker/ui/renderers/header.js +0 -29
- package/lib/esm/components/datepicker/ui/renderers/header.js.map +0 -1
- package/lib/esm/components/datepicker/ui/renderers/index.js +0 -9
- package/lib/esm/components/datepicker/ui/renderers/index.js.map +0 -1
- package/lib/esm/components/datepicker/ui/renderers/time-picker.js +0 -381
- package/lib/esm/components/datepicker/ui/renderers/time-picker.js.map +0 -1
- package/lib/esm/components/datepicker/ui/templates/index.js +0 -6
- package/lib/esm/components/datepicker/ui/templates/index.js.map +0 -1
- package/lib/esm/components/datepicker/ui/templates/templates.js +0 -242
- package/lib/esm/components/datepicker/ui/templates/templates.js.map +0 -1
- package/lib/esm/components/datepicker/utils/date-formatters.js +0 -83
- package/lib/esm/components/datepicker/utils/date-formatters.js.map +0 -1
- package/lib/esm/components/datepicker/utils/date-utils.js +0 -184
- package/lib/esm/components/datepicker/utils/date-utils.js.map +0 -1
- package/lib/esm/components/datepicker/utils/index.js +0 -8
- package/lib/esm/components/datepicker/utils/index.js.map +0 -1
- package/lib/esm/components/datepicker/utils/time-utils.js +0 -201
- package/lib/esm/components/datepicker/utils/time-utils.js.map +0 -1
- package/src/components/alert/alert.ts +0 -990
- package/src/components/alert/index.ts +0 -4
- package/src/components/alert/templates.ts +0 -110
- package/src/components/alert/tests/accessibility/aria-roles.test.ts +0 -19
- package/src/components/alert/tests/accessibility/focus-management.test.ts +0 -19
- package/src/components/alert/tests/accessibility/keyboard-nav.test.ts +0 -22
- package/src/components/alert/tests/actions/confirm-cancel.test.ts +0 -122
- package/src/components/alert/tests/actions/input-field.test.ts +0 -180
- package/src/components/alert/tests/alert.basic.test.ts +0 -126
- package/src/components/alert/tests/alert.config.test.ts +0 -75
- package/src/components/alert/tests/alert.templates.test.ts +0 -17
- package/src/components/alert/tests/config/attribute-config.test.ts +0 -94
- package/src/components/alert/tests/config/json-config.test.ts +0 -119
- package/src/components/alert/tests/config/merging.test.ts +0 -89
- package/src/components/alert/tests/dismissal/auto-dismiss.test.ts +0 -96
- package/src/components/alert/tests/dismissal/escape-key-dismiss.test.ts +0 -105
- package/src/components/alert/tests/dismissal/manual-dismiss.test.ts +0 -90
- package/src/components/alert/tests/dismissal/outside-click-dismiss.test.ts +0 -91
- package/src/components/alert/tests/edge-cases/invalid-config.test.ts +0 -19
- package/src/components/alert/tests/edge-cases/multiple-alerts.test.ts +0 -19
- package/src/components/alert/tests/rendering/custom-content.test.ts +0 -81
- package/src/components/alert/tests/rendering/info-alert.test.ts +0 -84
- package/src/components/alert/tests/rendering/success-alert.test.ts +0 -100
- package/src/components/alert/tests/templates/default-templates.test.ts +0 -16
- package/src/components/alert/tests/templates/user-templates.test.ts +0 -16
- package/src/components/alert/types.ts +0 -145
- package/src/components/datepicker/__tests__/datepicker-events.test.ts +0 -356
- package/src/components/datepicker/__tests__/datepicker-init.test.ts +0 -343
- package/src/components/datepicker/__tests__/datepicker-integration.test.ts +0 -435
- package/src/components/datepicker/__tests__/datepicker-timezone.test.ts +0 -220
- package/src/components/datepicker/__tests__/segmented-input-focus.test.ts +0 -380
- package/src/components/datepicker/__tests__/selective-state-updates.test.ts +0 -400
- package/src/components/datepicker/__tests__/state-manager.test.ts +0 -421
- package/src/components/datepicker/__tests__/time-preservation.test.ts +0 -387
- package/src/components/datepicker/config/config.ts +0 -40
- package/src/components/datepicker/config/index.ts +0 -8
- package/src/components/datepicker/config/interfaces.ts +0 -82
- package/src/components/datepicker/config/types.ts +0 -188
- package/src/components/datepicker/core/event-manager.ts +0 -159
- package/src/components/datepicker/core/focus-manager.ts +0 -201
- package/src/components/datepicker/core/helpers.ts +0 -231
- package/src/components/datepicker/core/index.ts +0 -9
- package/src/components/datepicker/core/unified-state-manager.ts +0 -459
- package/src/components/datepicker/datepicker.css +0 -435
- package/src/components/datepicker/datepicker.ts +0 -2548
- package/src/components/datepicker/index.ts +0 -8
- package/src/components/datepicker/ui/index.ts +0 -7
- package/src/components/datepicker/ui/input/dropdown.ts +0 -552
- package/src/components/datepicker/ui/input/index.ts +0 -7
- package/src/components/datepicker/ui/input/segmented-input.ts +0 -638
- package/src/components/datepicker/ui/renderers/__tests__/calendar-optimizations.test.ts +0 -611
- package/src/components/datepicker/ui/renderers/calendar.ts +0 -530
- package/src/components/datepicker/ui/renderers/footer.ts +0 -43
- package/src/components/datepicker/ui/renderers/header.ts +0 -33
- package/src/components/datepicker/ui/renderers/index.ts +0 -9
- package/src/components/datepicker/ui/renderers/time-picker.ts +0 -438
- package/src/components/datepicker/ui/templates/index.ts +0 -6
- package/src/components/datepicker/ui/templates/templates.ts +0 -306
- package/src/components/datepicker/utils/__tests__/date-formatters.test.ts +0 -160
- package/src/components/datepicker/utils/__tests__/date-utils-keys.test.ts +0 -86
- package/src/components/datepicker/utils/__tests__/date-utils-timezone.test.ts +0 -215
- package/src/components/datepicker/utils/date-formatters.ts +0 -85
- package/src/components/datepicker/utils/date-utils.ts +0 -172
- package/src/components/datepicker/utils/index.ts +0 -8
- package/src/components/datepicker/utils/time-utils.ts +0 -221
|
@@ -3,539 +3,298 @@
|
|
|
3
3
|
* Copyright 2025 by Keenthemes Inc
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
/* Base Styles */
|
|
7
6
|
@layer components {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
@apply
|
|
11
|
-
@apply transition-opacity duration-300;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
.kt-alert-modal {
|
|
15
|
-
@apply relative flex flex-col w-full max-w-md mx-auto;
|
|
16
|
-
@apply bg-popover text-popover-foreground rounded-xl;
|
|
17
|
-
@apply shadow-md border border-border;
|
|
18
|
-
@apply transition-all duration-300 ease-out;
|
|
19
|
-
animation: fadeIn 0.3s ease-out, zoomIn 0.3s ease-out;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
.kt-alert-container {
|
|
23
|
-
@apply relative flex flex-col w-full;
|
|
24
|
-
@apply bg-popover text-popover-foreground rounded-xl;
|
|
25
|
-
@apply shadow-md border border-border;
|
|
26
|
-
@apply transition-all duration-300 ease-out;
|
|
27
|
-
animation: fadeIn 0.3s ease-out, zoomIn 0.3s ease-out;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
/* Content layout with proper padding */
|
|
31
|
-
.kt-alert-modal > *:not(.kt-alert-close-button),
|
|
32
|
-
.kt-alert-container > *:not(.kt-alert-close-button) {
|
|
33
|
-
@apply px-5;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
.kt-alert-modal > *:first-child:not(.kt-alert-close-button),
|
|
37
|
-
.kt-alert-container > *:first-child:not(.kt-alert-close-button) {
|
|
38
|
-
@apply pt-5;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
.kt-alert-modal > *:last-child:not(.kt-alert-close-button),
|
|
42
|
-
.kt-alert-container > *:last-child:not(.kt-alert-close-button) {
|
|
43
|
-
@apply pb-5;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
.kt-alert-icon {
|
|
47
|
-
@apply flex-shrink-0 size-16 mx-auto mb-4;
|
|
48
|
-
@apply flex items-center justify-center;
|
|
49
|
-
@apply rounded-full;
|
|
50
|
-
@apply duration-300 delay-100;
|
|
51
|
-
animation: fadeIn 0.3s ease-out 0.1s both, zoomInSmall 0.3s ease-out 0.1s both;
|
|
7
|
+
/* Base Alert Container */
|
|
8
|
+
.kt-alert {
|
|
9
|
+
@apply flex items-stretch w-full;
|
|
52
10
|
}
|
|
53
11
|
|
|
12
|
+
/* Alert Title */
|
|
54
13
|
.kt-alert-title {
|
|
55
|
-
@apply
|
|
56
|
-
@apply leading-tight;
|
|
14
|
+
@apply grow tracking-tight;
|
|
57
15
|
}
|
|
58
16
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
@apply
|
|
17
|
+
/* Alert Toolbar */
|
|
18
|
+
.kt-alert-toolbar {
|
|
19
|
+
@apply flex items-baseline gap-2.5;
|
|
62
20
|
}
|
|
63
21
|
|
|
22
|
+
/* Alert Actions */
|
|
64
23
|
.kt-alert-actions {
|
|
65
|
-
@apply flex items-center
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
.kt-alert-confirm-button {
|
|
69
|
-
@apply px-6 py-3 text-sm font-medium rounded-lg;
|
|
70
|
-
@apply bg-primary text-primary-foreground;
|
|
71
|
-
@apply hover:bg-primary/90 focus:bg-primary/90 active:bg-primary/80;
|
|
72
|
-
@apply focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2;
|
|
73
|
-
@apply transition-all duration-200 ease-in-out;
|
|
74
|
-
@apply shadow-sm hover:shadow-md;
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
.kt-alert-cancel-button {
|
|
78
|
-
@apply px-6 py-3 text-sm font-medium rounded-lg;
|
|
79
|
-
@apply bg-secondary text-secondary-foreground;
|
|
80
|
-
@apply hover:bg-secondary/80 focus:bg-secondary/80 active:bg-secondary/70;
|
|
81
|
-
@apply focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2;
|
|
82
|
-
@apply transition-all duration-200 ease-in-out;
|
|
83
|
-
@apply shadow-sm hover:shadow-md;
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
.kt-alert-close-button {
|
|
87
|
-
@apply absolute top-4 right-4 size-8 rounded-lg;
|
|
88
|
-
@apply text-muted-foreground hover:text-popover-foreground;
|
|
89
|
-
@apply hover:bg-muted focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2;
|
|
90
|
-
@apply transition-all duration-200 ease-in-out;
|
|
91
|
-
@apply flex items-center justify-center;
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
.kt-alert-input {
|
|
95
|
-
@apply w-full px-4 py-3 text-base;
|
|
96
|
-
@apply bg-background border border-input rounded-lg;
|
|
97
|
-
@apply focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:border-ring;
|
|
98
|
-
@apply transition-all duration-200 ease-in-out;
|
|
99
|
-
@apply placeholder:text-muted-foreground;
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
.kt-alert-input-label {
|
|
103
|
-
@apply block text-sm font-medium text-popover-foreground mb-3;
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
.kt-alert-custom-content {
|
|
107
|
-
@apply mt-6;
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
.kt-alert-loader {
|
|
111
|
-
@apply inline-flex items-center justify-center;
|
|
112
|
-
@apply size-6;
|
|
113
|
-
@apply animate-spin;
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
.kt-alert-loader::before {
|
|
117
|
-
content: '';
|
|
118
|
-
@apply size-6 border-2 border-muted border-t-primary rounded-full;
|
|
119
|
-
@apply animate-spin;
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
/* Loading button state */
|
|
123
|
-
.kt-alert-confirm-button:disabled {
|
|
124
|
-
@apply opacity-75 cursor-not-allowed;
|
|
125
|
-
@apply relative;
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
.kt-alert-confirm-button:disabled::after {
|
|
129
|
-
content: '';
|
|
130
|
-
@apply absolute inset-0 flex items-center justify-center;
|
|
131
|
-
@apply size-4 border-2 border-primary-foreground border-t-transparent rounded-full;
|
|
132
|
-
@apply animate-spin;
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
/* Enhanced Input Styling */
|
|
137
|
-
@layer components {
|
|
138
|
-
/* Text and Textarea inputs */
|
|
139
|
-
.kt-alert-input[type="text"],
|
|
140
|
-
.kt-alert-input[type="email"],
|
|
141
|
-
.kt-alert-input[type="password"],
|
|
142
|
-
.kt-alert-input[type="number"],
|
|
143
|
-
.kt-alert-input[type="url"],
|
|
144
|
-
textarea.kt-alert-input {
|
|
145
|
-
@apply w-full px-4 py-3 text-base;
|
|
146
|
-
@apply bg-background border border-input rounded-lg;
|
|
147
|
-
@apply focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:border-ring;
|
|
148
|
-
@apply transition-all duration-200 ease-in-out;
|
|
149
|
-
@apply placeholder:text-muted-foreground;
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
/* Select input */
|
|
153
|
-
select.kt-alert-input {
|
|
154
|
-
@apply w-full px-4 py-3 text-base;
|
|
155
|
-
@apply bg-background border border-input rounded-lg;
|
|
156
|
-
@apply focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:border-ring;
|
|
157
|
-
@apply transition-all duration-200 ease-in-out;
|
|
158
|
-
@apply appearance-none;
|
|
159
|
-
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3E%3C/svg%3E");
|
|
160
|
-
background-repeat: no-repeat;
|
|
161
|
-
background-position: right 0.75rem center;
|
|
162
|
-
background-size: 16px 12px;
|
|
163
|
-
padding-right: 2.5rem;
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
/* Radio and Checkbox inputs */
|
|
167
|
-
.kt-alert-input-label input[type="radio"],
|
|
168
|
-
.kt-alert-input-label input[type="checkbox"] {
|
|
169
|
-
@apply mr-3 size-4;
|
|
170
|
-
@apply text-primary border-input rounded;
|
|
171
|
-
@apply focus:ring-ring focus:ring-2;
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
.kt-alert-input-label label {
|
|
175
|
-
@apply flex items-center text-base text-popover-foreground cursor-pointer;
|
|
176
|
-
@apply hover:text-popover-foreground transition-colors duration-200;
|
|
177
|
-
@apply py-2;
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
/* Fieldset styling for radio/checkbox groups */
|
|
181
|
-
.kt-alert-input-label fieldset {
|
|
182
|
-
@apply space-y-2;
|
|
24
|
+
@apply flex items-center gap-2;
|
|
183
25
|
}
|
|
184
26
|
|
|
185
|
-
|
|
186
|
-
|
|
27
|
+
/* Alert Descriptopn */
|
|
28
|
+
.kt-alert-description {
|
|
29
|
+
@apply text-sm [&_p]:leading-relaxed [&_p]:mb-2;
|
|
187
30
|
}
|
|
188
31
|
|
|
189
|
-
/*
|
|
190
|
-
.kt-alert-
|
|
191
|
-
@apply
|
|
192
|
-
@apply flex items-center gap-2;
|
|
193
|
-
@apply duration-200;
|
|
194
|
-
animation: fadeIn 0.2s ease-out;
|
|
195
|
-
}
|
|
32
|
+
/* Alert Content */
|
|
33
|
+
.kt-alert-content {
|
|
34
|
+
@apply w-full grow space-y-1.5;
|
|
196
35
|
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
36
|
+
.kt-alert-title {
|
|
37
|
+
@apply font-semibold;
|
|
38
|
+
}
|
|
200
39
|
}
|
|
201
40
|
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
.kt-alert-input-label .kt-alert-input[aria-invalid="true"] {
|
|
205
|
-
@apply border-destructive focus-visible:ring-destructive focus-visible:border-destructive;
|
|
41
|
+
.kt-alert-icon {
|
|
42
|
+
@apply shrink-0;
|
|
206
43
|
}
|
|
207
|
-
}
|
|
208
44
|
|
|
209
|
-
/* Alert
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
[data-kt-alert-type="success"] {
|
|
213
|
-
.kt-alert-icon {
|
|
214
|
-
@apply bg-green-100 text-green-600;
|
|
215
|
-
}
|
|
45
|
+
/* Alert Close */
|
|
46
|
+
.kt-alert-close {
|
|
47
|
+
@apply shrink-0 size-4 cursor-pointer;
|
|
216
48
|
|
|
217
|
-
|
|
218
|
-
@apply
|
|
219
|
-
@apply focus-visible:ring-green-500;
|
|
49
|
+
i {
|
|
50
|
+
@apply text-muted-foreground text-xs;
|
|
220
51
|
}
|
|
221
|
-
}
|
|
222
52
|
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
.kt-alert-icon {
|
|
226
|
-
@apply bg-red-100 text-red-600;
|
|
53
|
+
> svg {
|
|
54
|
+
@apply size-4 text-muted-foreground;
|
|
227
55
|
}
|
|
228
56
|
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
57
|
+
&:focus,
|
|
58
|
+
&:hover {
|
|
59
|
+
i,
|
|
60
|
+
> svg {
|
|
61
|
+
@apply text-foreground;
|
|
62
|
+
}
|
|
232
63
|
}
|
|
233
64
|
}
|
|
234
65
|
|
|
235
|
-
/*
|
|
236
|
-
|
|
237
|
-
.
|
|
238
|
-
|
|
66
|
+
/* Size */
|
|
67
|
+
.kt-alert {
|
|
68
|
+
@apply rounded-lg p-3.5 gap-2.5 text-sm;
|
|
69
|
+
|
|
70
|
+
.kt-alert-icon svg {
|
|
71
|
+
@apply size-5;
|
|
239
72
|
}
|
|
240
73
|
|
|
241
|
-
.kt-alert-
|
|
242
|
-
@apply
|
|
243
|
-
@apply focus-visible:ring-yellow-500;
|
|
74
|
+
.kt-alert-toolbar {
|
|
75
|
+
@apply pt-0.25;
|
|
244
76
|
}
|
|
245
77
|
}
|
|
246
78
|
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
.kt-alert-icon {
|
|
250
|
-
@apply bg-blue-100 text-blue-600;
|
|
251
|
-
}
|
|
79
|
+
.kt-alert-sm {
|
|
80
|
+
@apply rounded-md py-2 px-2.5 gap-1.5 text-xs;
|
|
252
81
|
|
|
253
|
-
.kt-alert-
|
|
254
|
-
@apply
|
|
255
|
-
@apply focus-visible:ring-blue-500;
|
|
256
|
-
}
|
|
257
|
-
}
|
|
82
|
+
.kt-alert-close {
|
|
83
|
+
@apply size-3.5;
|
|
258
84
|
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
@apply bg-purple-100 text-purple-600;
|
|
85
|
+
> svg {
|
|
86
|
+
@apply size-3.5;
|
|
87
|
+
}
|
|
263
88
|
}
|
|
264
89
|
|
|
265
|
-
.kt-alert-
|
|
266
|
-
@apply
|
|
267
|
-
@apply focus-visible:ring-purple-500;
|
|
90
|
+
.kt-alert-icon svg {
|
|
91
|
+
@apply size-4;
|
|
268
92
|
}
|
|
269
93
|
}
|
|
270
|
-
}
|
|
271
94
|
|
|
272
|
-
|
|
273
|
-
@
|
|
274
|
-
[data-kt-alert-position="top"] {
|
|
275
|
-
@apply items-start justify-center;
|
|
276
|
-
}
|
|
95
|
+
.kt-alert-lg {
|
|
96
|
+
@apply rounded-md p-4 gap-2.5 text-base;
|
|
277
97
|
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
98
|
+
.kt-alert-icon svg {
|
|
99
|
+
@apply size-6;
|
|
100
|
+
}
|
|
281
101
|
|
|
282
|
-
|
|
283
|
-
|
|
102
|
+
.kt-alert-toolbar {
|
|
103
|
+
@apply pt-0.75;
|
|
104
|
+
}
|
|
284
105
|
}
|
|
285
106
|
|
|
286
|
-
|
|
287
|
-
|
|
107
|
+
/* Solid */
|
|
108
|
+
.kt-alert {
|
|
109
|
+
@apply bg-muted text-foreground;
|
|
288
110
|
}
|
|
289
111
|
|
|
290
|
-
|
|
291
|
-
@apply
|
|
292
|
-
}
|
|
112
|
+
.kt-alert-primary {
|
|
113
|
+
@apply bg-primary text-primary-foreground;
|
|
293
114
|
|
|
294
|
-
|
|
295
|
-
|
|
115
|
+
.kt-alert-close > svg {
|
|
116
|
+
@apply text-primary-foreground;
|
|
117
|
+
}
|
|
296
118
|
}
|
|
297
119
|
|
|
298
|
-
|
|
299
|
-
@apply
|
|
300
|
-
}
|
|
301
|
-
}
|
|
120
|
+
.kt-alert-destructive {
|
|
121
|
+
@apply bg-destructive text-destructive-foreground;
|
|
302
122
|
|
|
303
|
-
|
|
304
|
-
@
|
|
305
|
-
|
|
306
|
-
.kt-alert-container:focus-within {
|
|
307
|
-
@apply ring-2 ring-ring ring-offset-2;
|
|
123
|
+
.kt-alert-close > svg {
|
|
124
|
+
@apply text-destructive-foreground;
|
|
125
|
+
}
|
|
308
126
|
}
|
|
309
127
|
|
|
310
|
-
.kt-alert-
|
|
311
|
-
|
|
312
|
-
@apply opacity-75 cursor-not-allowed;
|
|
313
|
-
}
|
|
128
|
+
.kt-alert-success {
|
|
129
|
+
@apply bg-green-500 text-white;
|
|
314
130
|
|
|
315
|
-
|
|
316
|
-
|
|
131
|
+
.kt-alert-close > svg {
|
|
132
|
+
@apply text-white;
|
|
133
|
+
}
|
|
317
134
|
}
|
|
318
135
|
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
.kt-alert-cancel-button {
|
|
322
|
-
@apply transform transition-all duration-200 ease-in-out;
|
|
323
|
-
}
|
|
136
|
+
.kt-alert-info {
|
|
137
|
+
@apply bg-violet-600 text-white;
|
|
324
138
|
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
139
|
+
.kt-alert-close > svg {
|
|
140
|
+
@apply text-white;
|
|
141
|
+
}
|
|
328
142
|
}
|
|
329
143
|
|
|
330
|
-
.kt-alert-
|
|
331
|
-
|
|
332
|
-
@apply scale-95;
|
|
333
|
-
}
|
|
144
|
+
.kt-alert-warning {
|
|
145
|
+
@apply bg-yellow-500 text-white;
|
|
334
146
|
|
|
335
|
-
|
|
336
|
-
|
|
147
|
+
.kt-alert-close > svg {
|
|
148
|
+
@apply text-white;
|
|
149
|
+
}
|
|
337
150
|
}
|
|
338
151
|
|
|
339
|
-
.kt-alert-
|
|
340
|
-
@apply
|
|
341
|
-
}
|
|
152
|
+
.kt-alert-mono {
|
|
153
|
+
@apply bg-mono text-mono-foreground;
|
|
342
154
|
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
@apply outline-none;
|
|
155
|
+
.kt-alert-close > svg {
|
|
156
|
+
@apply text-mono-foreground;
|
|
157
|
+
}
|
|
347
158
|
}
|
|
348
159
|
|
|
349
|
-
/*
|
|
350
|
-
.kt-alert-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
160
|
+
/* Mono */
|
|
161
|
+
.kt-alert-mono {
|
|
162
|
+
&.kt-alert-primary {
|
|
163
|
+
.kt-alert-icon {
|
|
164
|
+
@apply text-primary;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
354
167
|
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
@apply right-auto left-4;
|
|
168
|
+
&.kt-alert-success {
|
|
169
|
+
.kt-alert-icon {
|
|
170
|
+
@apply text-green-500;
|
|
171
|
+
}
|
|
360
172
|
}
|
|
361
173
|
|
|
362
|
-
|
|
363
|
-
|
|
174
|
+
&.kt-alert-destructive {
|
|
175
|
+
.kt-alert-icon {
|
|
176
|
+
@apply text-destructive;
|
|
177
|
+
}
|
|
364
178
|
}
|
|
365
179
|
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
180
|
+
&.kt-alert-warning {
|
|
181
|
+
.kt-alert-icon {
|
|
182
|
+
@apply text-yellow-500;
|
|
183
|
+
}
|
|
370
184
|
}
|
|
371
185
|
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
186
|
+
&.kt-alert-info {
|
|
187
|
+
.kt-alert-icon {
|
|
188
|
+
@apply text-violet-600;
|
|
189
|
+
}
|
|
375
190
|
}
|
|
376
191
|
}
|
|
377
|
-
}
|
|
378
192
|
|
|
379
|
-
/*
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
@apply bg-black/50;
|
|
384
|
-
}
|
|
193
|
+
/* Outline */
|
|
194
|
+
.kt-alert-outline {
|
|
195
|
+
.kt-alert-close {
|
|
196
|
+
@apply shrink-0 size-4 cursor-pointer;
|
|
385
197
|
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
}
|
|
198
|
+
> svg {
|
|
199
|
+
@apply size-4 text-muted-foreground;
|
|
200
|
+
}
|
|
390
201
|
|
|
391
|
-
|
|
392
|
-
|
|
202
|
+
&:focus,
|
|
203
|
+
&:hover {
|
|
204
|
+
> svg {
|
|
205
|
+
@apply text-foreground;
|
|
206
|
+
}
|
|
207
|
+
}
|
|
393
208
|
}
|
|
394
209
|
|
|
395
|
-
|
|
396
|
-
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%239ca3af' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3E%3C/svg%3E");
|
|
397
|
-
}
|
|
210
|
+
@apply border border-border bg-background text-foreground;
|
|
398
211
|
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
@apply bg-green-900/20 text-green-400;
|
|
212
|
+
&.kt-alert-primary {
|
|
213
|
+
@apply border border-border bg-background text-primary;
|
|
402
214
|
}
|
|
403
215
|
|
|
404
|
-
|
|
405
|
-
@apply bg-
|
|
216
|
+
&.kt-alert-destructive {
|
|
217
|
+
@apply border border-border bg-background text-destructive;
|
|
406
218
|
}
|
|
407
219
|
|
|
408
|
-
|
|
409
|
-
@apply bg-
|
|
220
|
+
&.kt-alert-success {
|
|
221
|
+
@apply border border-border bg-background text-green-500;
|
|
410
222
|
}
|
|
411
223
|
|
|
412
|
-
|
|
413
|
-
@apply bg-
|
|
224
|
+
&.kt-alert-info {
|
|
225
|
+
@apply border border-border bg-background text-violet-600;
|
|
414
226
|
}
|
|
415
227
|
|
|
416
|
-
|
|
417
|
-
@apply bg-
|
|
228
|
+
&.kt-alert-warning {
|
|
229
|
+
@apply border border-border bg-background text-yellow-500;
|
|
418
230
|
}
|
|
419
|
-
}
|
|
420
|
-
}
|
|
421
|
-
|
|
422
|
-
/* Custom Variants */
|
|
423
|
-
@custom-variant kt-alert-success {
|
|
424
|
-
[data-kt-alert-type="success"] {
|
|
425
|
-
@slot;
|
|
426
|
-
}
|
|
427
|
-
|
|
428
|
-
[data-kt-alert-type="success"] & {
|
|
429
|
-
@slot;
|
|
430
|
-
}
|
|
431
|
-
}
|
|
432
|
-
|
|
433
|
-
@custom-variant kt-alert-error {
|
|
434
|
-
[data-kt-alert-type="error"] {
|
|
435
|
-
@slot;
|
|
436
|
-
}
|
|
437
|
-
|
|
438
|
-
[data-kt-alert-type="error"] & {
|
|
439
|
-
@slot;
|
|
440
|
-
}
|
|
441
|
-
}
|
|
442
231
|
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
232
|
+
&.kt-alert-mono {
|
|
233
|
+
@apply border border-border bg-background text-mono;
|
|
234
|
+
}
|
|
446
235
|
}
|
|
447
236
|
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
}
|
|
237
|
+
/* Light */
|
|
238
|
+
.kt-alert-light {
|
|
239
|
+
@apply bg-muted border border-border text-foreground;
|
|
452
240
|
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
}
|
|
457
|
-
|
|
458
|
-
[data-kt-alert-type="info"] & {
|
|
459
|
-
@slot;
|
|
460
|
-
}
|
|
461
|
-
}
|
|
241
|
+
.kt-alert-icon > svg {
|
|
242
|
+
@apply text-muted-foreground;
|
|
243
|
+
}
|
|
462
244
|
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
@slot;
|
|
466
|
-
}
|
|
245
|
+
.kt-alert-close {
|
|
246
|
+
@apply shrink-0 size-4 cursor-pointer;
|
|
467
247
|
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
}
|
|
248
|
+
> svg {
|
|
249
|
+
@apply size-4 text-muted-foreground;
|
|
250
|
+
}
|
|
472
251
|
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
252
|
+
&:focus,
|
|
253
|
+
&:hover {
|
|
254
|
+
> svg {
|
|
255
|
+
@apply text-foreground;
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
}
|
|
477
259
|
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
}
|
|
481
|
-
}
|
|
260
|
+
&.kt-alert-primary {
|
|
261
|
+
@apply bg-primary/5 border border-primary/10 text-foreground;
|
|
482
262
|
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
263
|
+
.kt-alert-icon > svg {
|
|
264
|
+
@apply text-primary;
|
|
265
|
+
}
|
|
266
|
+
}
|
|
487
267
|
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
}
|
|
491
|
-
}
|
|
268
|
+
&.kt-alert-destructive {
|
|
269
|
+
@apply bg-destructive/5 border border-destructive/10 text-foreground;
|
|
492
270
|
|
|
493
|
-
|
|
494
|
-
@
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
}
|
|
271
|
+
.kt-alert-icon > svg {
|
|
272
|
+
@apply text-destructive;
|
|
273
|
+
}
|
|
274
|
+
}
|
|
498
275
|
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
}
|
|
276
|
+
&.kt-alert-success {
|
|
277
|
+
@apply bg-green-50 dark:bg-green-950/30 border border-green-200 dark:border-green-950/50 text-foreground;
|
|
502
278
|
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
279
|
+
.kt-alert-icon > svg {
|
|
280
|
+
@apply text-green-500;
|
|
281
|
+
}
|
|
282
|
+
}
|
|
506
283
|
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
}
|
|
284
|
+
&.kt-alert-info {
|
|
285
|
+
@apply bg-violet-50 dark:bg-violet-950/30 border border-violet-200 dark:border-violet-950/50 text-foreground;
|
|
510
286
|
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
287
|
+
.kt-alert-icon > svg {
|
|
288
|
+
@apply text-violet-500;
|
|
289
|
+
}
|
|
514
290
|
}
|
|
515
|
-
to {
|
|
516
|
-
opacity: 1;
|
|
517
|
-
}
|
|
518
|
-
}
|
|
519
291
|
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
opacity: 0;
|
|
523
|
-
transform: scale(0.95);
|
|
524
|
-
}
|
|
525
|
-
to {
|
|
526
|
-
opacity: 1;
|
|
527
|
-
transform: scale(1);
|
|
528
|
-
}
|
|
529
|
-
}
|
|
292
|
+
&.kt-alert-warning {
|
|
293
|
+
@apply bg-yellow-50 dark:bg-yellow-950/30 border border-yellow-200 dark:border-yellow-950/50 text-foreground;
|
|
530
294
|
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
transform: scale(0.5);
|
|
535
|
-
}
|
|
536
|
-
to {
|
|
537
|
-
opacity: 1;
|
|
538
|
-
transform: scale(1);
|
|
295
|
+
.kt-alert-icon > svg {
|
|
296
|
+
@apply text-yellow-500;
|
|
297
|
+
}
|
|
539
298
|
}
|
|
540
299
|
}
|
|
541
300
|
}
|