@zentauri-ui/zentauri-components 1.8.41 → 1.9.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 (80) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/LICENSE +21 -0
  3. package/README.md +77 -64
  4. package/dist/{chunk-RFT2FLQT.js → chunk-5IJC2OEN.js} +10 -12
  5. package/dist/chunk-5IJC2OEN.js.map +1 -0
  6. package/dist/{chunk-CJXGDY7A.mjs → chunk-DY7HLVGW.mjs} +10 -12
  7. package/dist/chunk-DY7HLVGW.mjs.map +1 -0
  8. package/dist/chunk-KVQI5PLL.mjs +399 -0
  9. package/dist/chunk-KVQI5PLL.mjs.map +1 -0
  10. package/dist/chunk-NRPG2STN.js +401 -0
  11. package/dist/chunk-NRPG2STN.js.map +1 -0
  12. package/dist/{chunk-V5JTDRV5.mjs → chunk-TKVZU56F.mjs} +11 -11
  13. package/dist/chunk-TKVZU56F.mjs.map +1 -0
  14. package/dist/{chunk-Z4KHAD6Y.js → chunk-U3VV22G4.js} +11 -11
  15. package/dist/chunk-U3VV22G4.js.map +1 -0
  16. package/dist/design-system/dynamic-stepper.d.ts +0 -1
  17. package/dist/design-system/dynamic-stepper.d.ts.map +1 -1
  18. package/dist/design-system/inputs.d.ts +65 -0
  19. package/dist/design-system/inputs.d.ts.map +1 -1
  20. package/dist/design-system/kbd.d.ts +1 -0
  21. package/dist/design-system/kbd.d.ts.map +1 -1
  22. package/dist/design-system/marquee.d.ts +9 -9
  23. package/dist/design-system/timeline.d.ts +9 -9
  24. package/dist/test-utils/axe.d.ts +30 -0
  25. package/dist/test-utils/axe.d.ts.map +1 -0
  26. package/dist/ui/dynamic-stepper/variants.d.ts +2 -2
  27. package/dist/ui/dynamic-stepper/variants.d.ts.map +1 -1
  28. package/dist/ui/dynamic-stepper.js +3 -4
  29. package/dist/ui/dynamic-stepper.js.map +1 -1
  30. package/dist/ui/dynamic-stepper.mjs +3 -4
  31. package/dist/ui/dynamic-stepper.mjs.map +1 -1
  32. package/dist/ui/inputs/animated.js +3 -3
  33. package/dist/ui/inputs/animated.mjs +1 -1
  34. package/dist/ui/inputs/variants.d.ts.map +1 -1
  35. package/dist/ui/inputs.js +4 -4
  36. package/dist/ui/inputs.mjs +2 -2
  37. package/dist/ui/kbd/animated.js +2 -2
  38. package/dist/ui/kbd/animated.mjs +1 -1
  39. package/dist/ui/kbd/variants.d.ts.map +1 -1
  40. package/dist/ui/kbd.js +4 -4
  41. package/dist/ui/kbd.mjs +2 -2
  42. package/dist/ui/marquee.js +9 -9
  43. package/dist/ui/marquee.js.map +1 -1
  44. package/dist/ui/marquee.mjs +9 -9
  45. package/dist/ui/marquee.mjs.map +1 -1
  46. package/dist/ui/search.js +2 -2
  47. package/dist/ui/search.mjs +1 -1
  48. package/dist/ui/select/select.d.ts +2 -2
  49. package/dist/ui/select/select.d.ts.map +1 -1
  50. package/dist/ui/select/types.d.ts +2 -0
  51. package/dist/ui/select/types.d.ts.map +1 -1
  52. package/dist/ui/select.js +26 -4
  53. package/dist/ui/select.js.map +1 -1
  54. package/dist/ui/select.mjs +27 -5
  55. package/dist/ui/select.mjs.map +1 -1
  56. package/dist/ui/timeline/animated.js +11 -11
  57. package/dist/ui/timeline/animated.mjs +2 -2
  58. package/dist/ui/timeline.js +14 -14
  59. package/dist/ui/timeline.mjs +2 -2
  60. package/package.json +47 -16
  61. package/src/design-system/dynamic-stepper.ts +0 -7
  62. package/src/design-system/inputs.ts +102 -0
  63. package/src/design-system/kbd.ts +3 -0
  64. package/src/design-system/marquee.ts +9 -9
  65. package/src/design-system/timeline.ts +9 -9
  66. package/src/ui/accessibility/axe-core.test.tsx +139 -0
  67. package/src/ui/dynamic-stepper/variants.ts +7 -3
  68. package/src/ui/inputs/variants.ts +57 -90
  69. package/src/ui/kbd/variants.ts +8 -10
  70. package/src/ui/select/select.test.tsx +24 -0
  71. package/src/ui/select/select.tsx +37 -4
  72. package/src/ui/select/types.ts +2 -0
  73. package/dist/chunk-CJXGDY7A.mjs.map +0 -1
  74. package/dist/chunk-D3VZKUMH.mjs +0 -340
  75. package/dist/chunk-D3VZKUMH.mjs.map +0 -1
  76. package/dist/chunk-RFT2FLQT.js.map +0 -1
  77. package/dist/chunk-UGH23TAH.js +0 -342
  78. package/dist/chunk-UGH23TAH.js.map +0 -1
  79. package/dist/chunk-V5JTDRV5.mjs.map +0 -1
  80. package/dist/chunk-Z4KHAD6Y.js.map +0 -1
package/CHANGELOG.md ADDED
@@ -0,0 +1,23 @@
1
+ # @zentauri-ui/zentauri-components Changelog
2
+
3
+ ## 1.9.0
4
+
5
+ ### Minor Changes
6
+
7
+ - introduced dark variant checker script and minor codebase changes
8
+
9
+ ## 1.8.42
10
+
11
+ ### Patch Changes
12
+
13
+ - 74403ce: Add npm trust metadata, package license/changelog files, and Changesets release infrastructure.
14
+
15
+ All notable changes to this package will be documented in this file.
16
+
17
+ This project uses [Changesets](https://github.com/changesets/changesets) for versioning and release notes. Add a changeset with `pnpm changeset` for every user-facing package change.
18
+
19
+ ## 1.8.41
20
+
21
+ Initial changelog baseline for the published package. Earlier release history is available on GitHub Releases:
22
+
23
+ <https://github.com/ShubhamTiwari909/zentauri-ui/releases>
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Shubham Tiwari
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -25,15 +25,17 @@ Published artifacts live under `dist/`. Imports use **per-entry subpaths**: `@ze
25
25
 
26
26
  ## Package status and test coverage
27
27
 
28
+ Generated from the component package Vitest JSON report via `pnpm --filter @zentauri-ui/zentauri-components update:test-health`.
29
+
28
30
  | Metric | Result |
29
31
  | ---------- | ---------------- |
30
- | Test files | 77 passed (77) |
31
- | Tests | 591 passed (591) |
32
+ | Test files | 78 passed (78) |
33
+ | Tests | 604 passed (604) |
32
34
 
33
35
  | Area | Test files | Tests |
34
36
  | --------------------------- | ---------- | ----- |
35
- | Components and UI utilities | 46 | 433 |
36
- | Standalone animations | 1 | 42 |
37
+ | Components and UI utilities | 47 | 443 |
38
+ | Standalone animations | 1 | 45 |
37
39
  | React hooks | 28 | 101 |
38
40
  | CLI and import rewriting | 2 | 15 |
39
41
 
@@ -41,82 +43,83 @@ Published artifacts live under `dist/`. Imports use **per-entry subpaths**: `@ze
41
43
 
42
44
  | Suite | Tests |
43
45
  | ----------------------------------------------------------------------- | ----: |
44
- | `src/ui/dynamic-stepper/dynamic-stepper.test.tsx` | 8 |
45
- | `src/ui/select/select.test.tsx` | 10 |
46
- | `src/charts/charts.test.tsx` | 6 |
47
- | `src/ui/modal/modal.test.tsx` | 10 |
48
- | `src/ui/drawer/drawer.test.tsx` | 7 |
46
+ | `src/animations/animations.test.tsx` | 45 |
47
+ | `src/ui/buttons/button.test.tsx` | 44 |
48
+ | `src/ui/inputs/input.test.tsx` | 40 |
49
49
  | `src/ui/peer-isolation.test.ts` | 29 |
50
+ | `src/ui/pagination/pagination.test.tsx` | 15 |
51
+ | `src/ui/timeline/timeline.test.tsx` | 14 |
52
+ | `src/ui/stepper/stepper.test.tsx` | 12 |
53
+ | `src/ui/alert/alert.test.tsx` | 11 |
54
+ | `src/ui/rating/rating.test.tsx` | 11 |
55
+ | `src/ui/select/select.test.tsx` | 11 |
56
+ | `src/ui/table/table.test.tsx` | 11 |
50
57
  | `cli/cli.integration.test.ts` | 10 |
51
- | `src/animations/animations.test.tsx` | 42 |
52
- | `src/ui/buttons/button.test.tsx` | 41 |
53
- | `src/ui/inputs/input.test.tsx` | 40 |
58
+ | `src/hooks/usePagination/usePagination.test.ts` | 10 |
59
+ | `src/ui/context-menu/context-menu.test.tsx` | 10 |
54
60
  | `src/ui/marquee/marquee.test.tsx` | 10 |
61
+ | `src/ui/modal/modal.test.tsx` | 10 |
55
62
  | `src/ui/otp-input/otp-input.test.tsx` | 10 |
56
63
  | `src/ui/tree-view/tree-view.test.tsx` | 10 |
57
- | `src/ui/card/card.test.tsx` | 7 |
58
- | `src/ui/checkbox/checkbox.test.tsx` | 6 |
59
- | `src/ui/popover/popover.test.tsx` | 4 |
60
- | `src/ui/command/command.test.tsx` | 7 |
61
- | `src/ui/context-menu/context-menu.test.tsx` | 10 |
64
+ | `src/hooks/useTableFilter/useTableFilter.test.ts` | 9 |
65
+ | `src/ui/animated-number/animated-number.test.tsx` | 9 |
66
+ | `src/ui/slider/slider.test.tsx` | 9 |
62
67
  | `src/ui/copy-button/copy-button.test.tsx` | 8 |
63
- | `src/ui/kbd/kbd.test.tsx` | 7 |
64
- | `src/ui/tooltip/tooltip.test.tsx` | 4 |
65
- | `src/ui/dropdown/dropdown.test.tsx` | 6 |
66
- | `src/hooks/useFocusManagement/useFocusManagement.test.tsx` | 3 |
68
+ | `src/ui/dynamic-stepper/dynamic-stepper.test.tsx` | 8 |
67
69
  | `src/ui/progress/progress.test.tsx` | 8 |
68
- | `src/ui/rating/rating.test.tsx` | 11 |
69
- | `src/ui/radio-group/radio-group.test.tsx` | 5 |
70
70
  | `src/ui/scroll-area/scroll-area.test.tsx` | 8 |
71
+ | `src/ui/skeleton/skeleton.test.tsx` | 8 |
72
+ | `src/ui/spinner/animated/spinner.test.tsx` | 8 |
73
+ | `src/hooks/useDynamicStepper/useDynamicStepper.test.ts` | 7 |
74
+ | `src/hooks/useTableSort/useTableSort.test.ts` | 7 |
71
75
  | `src/ui/accordion/accordion.test.tsx` | 7 |
72
- | `src/ui/toast/toast.test.tsx` | 5 |
73
- | `src/ui/pagination/pagination.test.tsx` | 15 |
74
- | `src/ui/table/table.test.tsx` | 11 |
75
- | `src/ui/tabs/tabs.test.tsx` | 3 |
76
- | `src/ui/stepper/stepper.test.tsx` | 12 |
77
- | `src/ui/timeline/timeline.test.tsx` | 14 |
78
- | `src/ui/animated-number/animated-number.test.tsx` | 9 |
79
- | `src/ui/toggle/toggle.test.tsx` | 5 |
80
- | `src/ui/slider/slider.test.tsx` | 9 |
76
+ | `src/ui/card/card.test.tsx` | 7 |
77
+ | `src/ui/command/command.test.tsx` | 7 |
78
+ | `src/ui/drawer/drawer.test.tsx` | 7 |
79
+ | `src/ui/kbd/kbd.test.tsx` | 7 |
81
80
  | `src/ui/typography/typography.test.tsx` | 7 |
82
- | `src/ui/skeleton/skeleton.test.tsx` | 8 |
83
- | `src/ui/divider/divider.test.tsx` | 6 |
84
- | `src/ui/empty-state/empty-state.test.tsx` | 6 |
85
- | `src/ui/alert/alert.test.tsx` | 11 |
86
- | `src/ui/badge/badge.test.tsx` | 6 |
81
+ | `src/charts/charts.test.tsx` | 6 |
87
82
  | `src/hooks/useClipboard/useClipboard.test.ts` | 6 |
88
83
  | `src/hooks/useLocalStorage/useLocalStorage.test.ts` | 6 |
84
+ | `src/ui/accessibility/axe-core.test.tsx` | 6 |
85
+ | `src/ui/badge/badge.test.tsx` | 6 |
86
+ | `src/ui/checkbox/checkbox.test.tsx` | 6 |
87
+ | `src/ui/divider/divider.test.tsx` | 6 |
88
+ | `src/ui/dropdown/dropdown.test.tsx` | 6 |
89
+ | `src/ui/empty-state/empty-state.test.tsx` | 6 |
90
+ | `src/ui/search/filter-search-suggestions.test.ts` | 6 |
91
+ | `cli/rewrite-imports.test.ts` | 5 |
89
92
  | `src/hooks/useDisclosure/useDisclosure.test.ts` | 5 |
90
- | `src/ui/avatar/avatar.test.tsx` | 4 |
91
- | `src/ui/file-upload/file-upload.test.tsx` | 4 |
92
- | `src/ui/spinner/animated/spinner.test.tsx` | 8 |
93
- | `src/hooks/useDynamicStepper/useDynamicStepper.test.ts` | 7 |
94
- | `src/hooks/useClickOutside/useClickOutside.test.tsx` | 3 |
93
+ | `src/ui/radio-group/radio-group.test.tsx` | 5 |
94
+ | `src/ui/toast/toast.test.tsx` | 5 |
95
+ | `src/ui/toggle/toggle.test.tsx` | 5 |
96
+ | `src/hooks/useBodyScrollLock/useBodyScrollLock.test.ts` | 4 |
95
97
  | `src/hooks/useControllableState/useControllableState.test.ts` | 4 |
96
- | `src/ui/breadcrumb/breadcrumb.test.tsx` | 4 |
98
+ | `src/hooks/useDebouncedValue/useDebouncedValue.test.ts` | 4 |
97
99
  | `src/hooks/useThrottledCallback/useThrottledCallback.test.ts` | 4 |
98
100
  | `src/hooks/useToggle/useToggle.test.ts` | 4 |
99
- | `src/hooks/usePagination/usePagination.test.ts` | 10 |
100
- | `src/hooks/useTableFilter/useTableFilter.test.ts` | 9 |
101
- | `src/hooks/useTableSort/useTableSort.test.ts` | 7 |
102
- | `src/hooks/useSessionStorage/useSessionStorage.test.ts` | 3 |
103
- | `src/hooks/usePrefersColorScheme/usePrefersColorScheme.test.ts` | 1 |
101
+ | `src/ui/avatar/avatar.test.tsx` | 4 |
102
+ | `src/ui/breadcrumb/breadcrumb.test.tsx` | 4 |
103
+ | `src/ui/file-upload/file-upload.test.tsx` | 4 |
104
+ | `src/ui/popover/popover.test.tsx` | 4 |
105
+ | `src/ui/tooltip/tooltip.test.tsx` | 4 |
106
+ | `src/hooks/useClickOutside/useClickOutside.test.tsx` | 3 |
107
+ | `src/hooks/useDocumentTitle/useDocumentTitle.test.ts` | 3 |
108
+ | `src/hooks/useFocusManagement/useFocusManagement.test.tsx` | 3 |
104
109
  | `src/hooks/useIsMounted/useIsMounted.test.ts` | 3 |
105
- | `src/hooks/useDebouncedValue/useDebouncedValue.test.ts` | 4 |
110
+ | `src/hooks/useSessionStorage/useSessionStorage.test.ts` | 3 |
111
+ | `src/ui/tabs/tabs.test.tsx` | 3 |
106
112
  | `src/hooks/useHover/useHover.test.ts` | 2 |
107
113
  | `src/hooks/useIntersectionObserver/useIntersectionObserver.test.ts` | 2 |
108
- | `src/hooks/usePageVisibility/usePageVisibility.test.ts` | 1 |
109
- | `src/hooks/useResizeObserver/useResizeObserver.test.ts` | 2 |
110
- | `src/hooks/useNetworkStatus/useNetworkStatus.test.ts` | 2 |
111
114
  | `src/hooks/useMediaQuery/useMediaQuery.test.ts` | 2 |
112
- | `src/hooks/useDocumentTitle/useDocumentTitle.test.ts` | 3 |
113
- | `src/hooks/usePrefersReducedMotion/usePrefersReducedMotion.test.ts` | 1 |
114
- | `src/hooks/useBodyScrollLock/useBodyScrollLock.test.ts` | 4 |
115
- | `src/hooks/useWindowSize/useWindowSize.test.ts` | 1 |
115
+ | `src/hooks/useNetworkStatus/useNetworkStatus.test.ts` | 2 |
116
+ | `src/hooks/useResizeObserver/useResizeObserver.test.ts` | 2 |
116
117
  | `src/hooks/useInView/useInView.test.ts` | 1 |
117
118
  | `src/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.test.ts` | 1 |
118
- | `cli/rewrite-imports.test.ts` | 5 |
119
- | `src/ui/search/filter-search-suggestions.test.ts` | 6 |
119
+ | `src/hooks/usePageVisibility/usePageVisibility.test.ts` | 1 |
120
+ | `src/hooks/usePrefersColorScheme/usePrefersColorScheme.test.ts` | 1 |
121
+ | `src/hooks/usePrefersReducedMotion/usePrefersReducedMotion.test.ts` | 1 |
122
+ | `src/hooks/useWindowSize/useWindowSize.test.ts` | 1 |
120
123
  | `src/ui/search/search-suggestion-utils.test.ts` | 1 |
121
124
 
122
125
  ## Package exports
@@ -815,17 +818,27 @@ From this package directory in the monorepo:
815
818
 
816
819
  - `pnpm build` (or `npm run build`) — production bundle via `tsup` (Rollup treeshake + `scripts/prepend-use-client.mjs` via `onSuccess` so each UI entry under `dist/ui/`, animation entry under `dist/animations/`, chart entry under `dist/charts/`, and `dist/ui/<name>/animated.*` starts with `"use client"` where needed)
817
820
  - `pnpm dev` — `tsup` watch mode (same `onSuccess` hook after each rebuild)
818
- - `pnpm test` / `pnpm test:watch` — **Vitest** and **Testing Library** unit tests // covered 591 test cases in total
821
+ - `pnpm test` / `pnpm test:watch` — **Vitest** and **Testing Library** unit tests // currently covered 604 test cases in total
822
+ - `pnpm test:a11y` — focused **axe-core** accessibility smoke coverage for package-level UI primitives and compound components
823
+ - `pnpm check:tokens` — enforce the `--zui-*` token contract across design-system and variant files without generating a large checked-in token catalog
819
824
  - **`pnpm run generate:registry`** — runs `scripts/generate-registry.mjs`, which reads **`uiComponentNames`**, **`uiAnimatedComponentNames`**, **`animationEntryNames`**, **`chartEntryNames`**, and **`hooksEntryNames`** from `tsup.config.ts`, applies fixed **`nameAliases`**, scans each component/chart source to build **`peerHints`**, and writes **`cli/registry.json`** (`components` + `animations` + `hooks` + `peerHints`). Run this after adding or renaming UI, animation, chart, or hook entries so the CLI stays in sync (the script prints counts).
820
825
 
821
- ## Github Release log
826
+ ## Release and Contribution
827
+
828
+ This package uses Changesets for npm versioning and changelog entries. Add a
829
+ changeset from the repository root for user-facing package changes:
822
830
 
823
- https://github.com/ShubhamTiwari909/zentauri-ui/releases
831
+ ```sh
832
+ pnpm changeset
833
+ ```
824
834
 
825
- ## NOTE:
835
+ Useful links:
826
836
 
827
- This package is in initial phase of development and you might see some minor or major breaking changes in the future. If you want to contribute to this project, email me at @shubhmtiwri00@gmail.com or ping me on linkeded https://www.linkedin.com/in/shubham-tiwari-b7544b193/
837
+ - Package changelog: [`CHANGELOG.md`](CHANGELOG.md)
838
+ - Repository contribution guide: [`../../CONTRIBUTING.md`](../../CONTRIBUTING.md)
839
+ - Security policy: [`../../SECURITY.md`](../../SECURITY.md)
840
+ - GitHub releases: <https://github.com/ShubhamTiwari909/zentauri-ui/releases>
828
841
 
829
842
  ## License
830
843
 
831
- MIT
844
+ MIT. See [`LICENSE`](LICENSE).
@@ -49,6 +49,7 @@ var zuiKbdKeySizes = {
49
49
  md: "h-6 min-w-6 px-1.5 text-xs",
50
50
  lg: "h-7 min-w-7 px-2 text-sm"
51
51
  };
52
+ var zuiKbdSeparatorBase = "text-[color:var(--zui-kbd-separator-fg,#94a3b8)] dark:text-[color:var(--zui-kbd-separator-fg-dark,#64748b)]";
52
53
  var zuiKbdSeparatorSizes = {
53
54
  sm: "text-[0.7rem]",
54
55
  md: "text-xs",
@@ -66,17 +67,14 @@ var kbdKeyVariants = classVarianceAuthority.cva(zuiKbdKeyBase, {
66
67
  size: "md"
67
68
  }
68
69
  });
69
- var kbdSeparatorVariants = classVarianceAuthority.cva(
70
- "text-[color:var(--zui-kbd-separator-fg,#94a3b8)] dark:text-[color:var(--zui-kbd-separator-fg-dark,#64748b)]",
71
- {
72
- variants: {
73
- size: zuiKbdSeparatorSizes
74
- },
75
- defaultVariants: {
76
- size: "md"
77
- }
70
+ var kbdSeparatorVariants = classVarianceAuthority.cva(zuiKbdSeparatorBase, {
71
+ variants: {
72
+ size: zuiKbdSeparatorSizes
73
+ },
74
+ defaultVariants: {
75
+ size: "md"
78
76
  }
79
- );
77
+ });
80
78
  function KbdBase({
81
79
  keys,
82
80
  separator,
@@ -122,5 +120,5 @@ KbdBase.displayName = "Kbd";
122
120
  exports.KbdBase = KbdBase;
123
121
  exports.kbdKeyVariants = kbdKeyVariants;
124
122
  exports.kbdSeparatorVariants = kbdSeparatorVariants;
125
- //# sourceMappingURL=chunk-RFT2FLQT.js.map
126
- //# sourceMappingURL=chunk-RFT2FLQT.js.map
123
+ //# sourceMappingURL=chunk-5IJC2OEN.js.map
124
+ //# sourceMappingURL=chunk-5IJC2OEN.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/design-system/kbd.ts","../src/ui/kbd/variants.ts","../src/ui/kbd/kbd-base.tsx"],"names":["cva","jsx","cn","Fragment"],"mappings":"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","file":"chunk-5IJC2OEN.js","sourcesContent":["export const zuiKbdBase = [\n \"inline-flex items-center justify-center gap-1 align-middle\",\n \"rounded-[var(--zui-kbd-radius,0.375rem)] font-mono font-medium leading-none select-none\",\n] as const;\n\nexport const zuiKbdKeyAppearances = {\n default:\n \"bg-[var(--zui-kbd-default-bg,#0f172a)] dark:bg-[var(--zui-kbd-default-bg-dark,#f8fafc)] text-[color:var(--zui-kbd-default-fg,#f8fafc)] dark:text-[color:var(--zui-kbd-default-fg-dark,#020617)] shadow-[var(--zui-kbd-default-shadow,0_1px_2px_#0f172a14)] dark:shadow-[var(--zui-kbd-default-shadow-dark,0_1px_2px_#0f172a1f)]\",\n secondary:\n \"bg-[var(--zui-kbd-secondary-bg,#e2e8f0)] dark:bg-[var(--zui-kbd-secondary-bg-dark,#1e293b)] text-[color:var(--zui-kbd-secondary-fg,#0f172a)] dark:text-[color:var(--zui-kbd-secondary-fg-dark,#f8fafc)]\",\n destructive:\n \"bg-[var(--zui-kbd-destructive-bg,#f43f5e)] dark:bg-[var(--zui-kbd-destructive-bg-dark,#be123c)] text-[color:var(--zui-kbd-destructive-fg,#ffffff)] dark:text-[color:var(--zui-kbd-destructive-fg-dark,#ffffff)]\",\n outline:\n \"border border-[color:var(--zui-kbd-outline-border,#0000001a)] dark:border-[color:var(--zui-kbd-outline-border-dark,#ffffff1a)] bg-[var(--zui-kbd-outline-bg,#0000000d)] dark:bg-[var(--zui-kbd-outline-bg-dark,#ffffff0d)] text-[color:var(--zui-kbd-outline-fg,#0f172a)] dark:text-[color:var(--zui-kbd-outline-fg-dark,#f8fafc)]\",\n ghost:\n \"bg-transparent text-[color:var(--zui-kbd-ghost-fg,#334155)] dark:text-[color:var(--zui-kbd-ghost-fg-dark,#e2e8f0)]\",\n glass:\n \"border border-[color:var(--zui-kbd-glass-border,#00000026)] dark:border-[color:var(--zui-kbd-glass-border-dark,#ffffff26)] bg-[var(--zui-kbd-glass-bg,#0000001a)] dark:bg-[var(--zui-kbd-glass-bg-dark,#ffffff1a)] text-[color:var(--zui-kbd-glass-fg,#0f172a)] dark:text-[color:var(--zui-kbd-glass-fg-dark,#ffffff)] backdrop-blur-md\",\n emerald:\n \"bg-[var(--zui-kbd-emerald-bg,#10b981)] dark:bg-[var(--zui-kbd-emerald-bg-dark,#065f46)] text-[color:var(--zui-kbd-emerald-fg,#ffffff)] dark:text-[color:var(--zui-kbd-emerald-fg-dark,#ffffff)]\",\n indigo:\n \"bg-[var(--zui-kbd-indigo-bg,#3730a3)] dark:bg-[var(--zui-kbd-indigo-bg-dark,#4f46e5)] text-[color:var(--zui-kbd-indigo-fg,#ffffff)] dark:text-[color:var(--zui-kbd-indigo-fg-dark,#ffffff)]\",\n purple:\n \"bg-[var(--zui-kbd-purple-bg,#6b21a8)] dark:bg-[var(--zui-kbd-purple-bg-dark,#9333ea)] text-[color:var(--zui-kbd-purple-fg,#ffffff)] dark:text-[color:var(--zui-kbd-purple-fg-dark,#ffffff)]\",\n pink: \"bg-[var(--zui-kbd-pink-bg,#9d174d)] dark:bg-[var(--zui-kbd-pink-bg-dark,#db2777)] text-[color:var(--zui-kbd-pink-fg,#ffffff)] dark:text-[color:var(--zui-kbd-pink-fg-dark,#ffffff)]\",\n rose: \"bg-[var(--zui-kbd-rose-bg,#9f1239)] dark:bg-[var(--zui-kbd-rose-bg-dark,#e11d48)] text-[color:var(--zui-kbd-rose-fg,#ffffff)] dark:text-[color:var(--zui-kbd-rose-fg-dark,#ffffff)]\",\n sky: \"bg-[var(--zui-kbd-sky-bg,#0ea5e9)] dark:bg-[var(--zui-kbd-sky-bg-dark,#0369a1)] text-[color:var(--zui-kbd-sky-fg,#ffffff)] dark:text-[color:var(--zui-kbd-sky-fg-dark,#ffffff)]\",\n teal: \"bg-[var(--zui-kbd-teal-bg,#14b8a6)] dark:bg-[var(--zui-kbd-teal-bg-dark,#0f766e)] text-[color:var(--zui-kbd-teal-fg,#ffffff)] dark:text-[color:var(--zui-kbd-teal-fg-dark,#ffffff)]\",\n yellow:\n \"bg-[var(--zui-kbd-yellow-bg,#eab308)] dark:bg-[var(--zui-kbd-yellow-bg-dark,#854d0e)] text-[color:var(--zui-kbd-yellow-fg,#ffffff)] dark:text-[color:var(--zui-kbd-yellow-fg-dark,#ffffff)]\",\n orange:\n \"bg-[var(--zui-kbd-orange-bg,#f97316)] dark:bg-[var(--zui-kbd-orange-bg-dark,#9a3412)] text-[color:var(--zui-kbd-orange-fg,#ffffff)] dark:text-[color:var(--zui-kbd-orange-fg-dark,#ffffff)]\",\n gray: \"bg-[var(--zui-kbd-gray-bg,#6b7280)] dark:bg-[var(--zui-kbd-gray-bg-dark,#374151)] text-[color:var(--zui-kbd-gray-fg,#ffffff)] dark:text-[color:var(--zui-kbd-gray-fg-dark,#ffffff)]\",\n amber:\n \"bg-[var(--zui-kbd-amber-bg,#f59e0b)] dark:bg-[var(--zui-kbd-amber-bg-dark,#92400e)] text-[color:var(--zui-kbd-amber-fg,#ffffff)] dark:text-[color:var(--zui-kbd-amber-fg-dark,#ffffff)]\",\n violet:\n \"bg-[var(--zui-kbd-violet-bg,#5b21b6)] dark:bg-[var(--zui-kbd-violet-bg-dark,#7c3aed)] text-[color:var(--zui-kbd-violet-fg,#ffffff)] dark:text-[color:var(--zui-kbd-violet-fg-dark,#ffffff)]\",\n \"gradient-blue\":\n \"bg-linear-to-r from-[var(--zui-kbd-gradient-blue-from,#1e40af)] dark:from-[var(--zui-kbd-gradient-blue-from-dark,#2563eb)] to-[var(--zui-kbd-gradient-blue-to,#6b21a8)] dark:to-[var(--zui-kbd-gradient-blue-to-dark,#9333ea)] text-[color:var(--zui-kbd-gradient-blue-fg,#ffffff)] dark:text-[color:var(--zui-kbd-gradient-blue-fg-dark,#ffffff)]\",\n \"gradient-green\":\n \"bg-linear-to-r from-[var(--zui-kbd-gradient-green-from,#166534)] dark:from-[var(--zui-kbd-gradient-green-from-dark,#16a34a)] to-[var(--zui-kbd-gradient-green-to,#3f6212)] dark:to-[var(--zui-kbd-gradient-green-to-dark,#65a30d)] text-[color:var(--zui-kbd-gradient-green-fg,#ffffff)] dark:text-[color:var(--zui-kbd-gradient-green-fg-dark,#ffffff)]\",\n \"gradient-red\":\n \"bg-linear-to-r from-[var(--zui-kbd-gradient-red-from,#991b1b)] dark:from-[var(--zui-kbd-gradient-red-from-dark,#dc2626)] to-[var(--zui-kbd-gradient-red-to,#9d174d)] dark:to-[var(--zui-kbd-gradient-red-to-dark,#db2777)] text-[color:var(--zui-kbd-gradient-red-fg,#ffffff)] dark:text-[color:var(--zui-kbd-gradient-red-fg-dark,#ffffff)]\",\n \"gradient-yellow\":\n \"bg-linear-to-r from-[var(--zui-kbd-gradient-yellow-from,#854d0e)] dark:from-[var(--zui-kbd-gradient-yellow-from-dark,#ca8a04)] to-[var(--zui-kbd-gradient-yellow-to,#9a3412)] dark:to-[var(--zui-kbd-gradient-yellow-to-dark,#ea580c)] text-[color:var(--zui-kbd-gradient-yellow-fg,#ffffff)] dark:text-[color:var(--zui-kbd-gradient-yellow-fg-dark,#ffffff)]\",\n \"gradient-purple\":\n \"bg-linear-to-r from-[var(--zui-kbd-gradient-purple-from,#6b21a8)] dark:from-[var(--zui-kbd-gradient-purple-from-dark,#9333ea)] to-[var(--zui-kbd-gradient-purple-to,#9d174d)] dark:to-[var(--zui-kbd-gradient-purple-to-dark,#db2777)] text-[color:var(--zui-kbd-gradient-purple-fg,#ffffff)] dark:text-[color:var(--zui-kbd-gradient-purple-fg-dark,#ffffff)]\",\n \"gradient-teal\":\n \"bg-linear-to-r from-[var(--zui-kbd-gradient-teal-from,#115e59)] dark:from-[var(--zui-kbd-gradient-teal-from-dark,#0d9488)] to-[var(--zui-kbd-gradient-teal-to,#155e75)] dark:to-[var(--zui-kbd-gradient-teal-to-dark,#0891b2)] text-[color:var(--zui-kbd-gradient-teal-fg,#ffffff)] dark:text-[color:var(--zui-kbd-gradient-teal-fg-dark,#ffffff)]\",\n \"gradient-indigo\":\n \"bg-linear-to-r from-[var(--zui-kbd-gradient-indigo-from,#3730a3)] dark:from-[var(--zui-kbd-gradient-indigo-from-dark,#4f46e5)] to-[var(--zui-kbd-gradient-indigo-to,#6b21a8)] dark:to-[var(--zui-kbd-gradient-indigo-to-dark,#9333ea)] text-[color:var(--zui-kbd-gradient-indigo-fg,#ffffff)] dark:text-[color:var(--zui-kbd-gradient-indigo-fg-dark,#ffffff)]\",\n \"gradient-pink\":\n \"bg-linear-to-r from-[var(--zui-kbd-gradient-pink-from,#9d174d)] dark:from-[var(--zui-kbd-gradient-pink-from-dark,#db2777)] to-[var(--zui-kbd-gradient-pink-to,#9f1239)] dark:to-[var(--zui-kbd-gradient-pink-to-dark,#e11d48)] text-[color:var(--zui-kbd-gradient-pink-fg,#ffffff)] dark:text-[color:var(--zui-kbd-gradient-pink-fg-dark,#ffffff)]\",\n \"gradient-orange\":\n \"bg-linear-to-r from-[var(--zui-kbd-gradient-orange-from,#9a3412)] dark:from-[var(--zui-kbd-gradient-orange-from-dark,#ea580c)] to-[var(--zui-kbd-gradient-orange-to,#991b1b)] dark:to-[var(--zui-kbd-gradient-orange-to-dark,#dc2626)] text-[color:var(--zui-kbd-gradient-orange-fg,#ffffff)] dark:text-[color:var(--zui-kbd-gradient-orange-fg-dark,#ffffff)]\",\n} as const;\n\nexport type ZuiKbdAppearance = keyof typeof zuiKbdKeyAppearances;\n\nexport const zuiKbdKeyBase = [\n \"inline-flex items-center justify-center font-mono font-medium leading-none\",\n \"rounded-[var(--zui-kbd-radius,0.375rem)]\",\n \"shadow-[var(--zui-kbd-shadow,inset_0_-1px_0_#0000001f)] dark:shadow-[var(--zui-kbd-shadow-dark,inset_0_-1px_0_#0000004d)]\",\n] as const;\n\nexport const zuiKbdKeySizes = {\n sm: \"h-5 min-w-5 px-1 text-[0.7rem]\",\n md: \"h-6 min-w-6 px-1.5 text-xs\",\n lg: \"h-7 min-w-7 px-2 text-sm\",\n} as const;\n\nexport type ZuiKbdSize = keyof typeof zuiKbdKeySizes;\n\nexport const zuiKbdSeparatorBase =\n \"text-[color:var(--zui-kbd-separator-fg,#94a3b8)] dark:text-[color:var(--zui-kbd-separator-fg-dark,#64748b)]\";\n\nexport const zuiKbdSeparatorSizes = {\n sm: \"text-[0.7rem]\",\n md: \"text-xs\",\n lg: \"text-sm\",\n} as const;\n","import { cva } from \"class-variance-authority\";\n\nimport {\n zuiKbdKeyAppearances,\n zuiKbdKeyBase,\n zuiKbdKeySizes,\n zuiKbdSeparatorBase,\n zuiKbdSeparatorSizes,\n} from \"../../design-system/kbd\";\n\nexport const kbdKeyVariants = cva(zuiKbdKeyBase, {\n variants: {\n appearance: zuiKbdKeyAppearances,\n size: zuiKbdKeySizes,\n },\n defaultVariants: {\n appearance: \"outline\",\n size: \"md\",\n },\n});\n\nexport const kbdSeparatorVariants = cva(zuiKbdSeparatorBase, {\n variants: {\n size: zuiKbdSeparatorSizes,\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n","\"use client\";\n\nimport { Fragment } from \"react\";\n\nimport { zuiKbdBase } from \"../../design-system/kbd\";\nimport { cn } from \"../../lib/utils\";\n\nimport type { KbdBaseProps } from \"./types\";\nimport { kbdKeyVariants, kbdSeparatorVariants } from \"./variants\";\n\nexport function KbdBase({\n keys,\n separator,\n appearance,\n size,\n children,\n className,\n as: Wrapper = \"span\",\n ref,\n ...rest\n}: KbdBaseProps) {\n const items = keys ?? (children != null ? [children] : []);\n\n return (\n <Wrapper\n ref={ref}\n data-slot=\"kbd\"\n className={cn(zuiKbdBase, className)}\n {...rest}\n >\n {items.map((key, index) => (\n <Fragment key={index}>\n {index > 0 && separator != null ? (\n <span\n data-slot=\"kbd-separator\"\n className={kbdSeparatorVariants({ size })}\n >\n {separator}\n </span>\n ) : null}\n <kbd\n data-slot=\"kbd-key\"\n className={kbdKeyVariants({ appearance, size })}\n >\n {key}\n </kbd>\n </Fragment>\n ))}\n </Wrapper>\n );\n}\n\nKbdBase.displayName = \"Kbd\";\n"]}
@@ -47,6 +47,7 @@ var zuiKbdKeySizes = {
47
47
  md: "h-6 min-w-6 px-1.5 text-xs",
48
48
  lg: "h-7 min-w-7 px-2 text-sm"
49
49
  };
50
+ var zuiKbdSeparatorBase = "text-[color:var(--zui-kbd-separator-fg,#94a3b8)] dark:text-[color:var(--zui-kbd-separator-fg-dark,#64748b)]";
50
51
  var zuiKbdSeparatorSizes = {
51
52
  sm: "text-[0.7rem]",
52
53
  md: "text-xs",
@@ -64,17 +65,14 @@ var kbdKeyVariants = cva(zuiKbdKeyBase, {
64
65
  size: "md"
65
66
  }
66
67
  });
67
- var kbdSeparatorVariants = cva(
68
- "text-[color:var(--zui-kbd-separator-fg,#94a3b8)] dark:text-[color:var(--zui-kbd-separator-fg-dark,#64748b)]",
69
- {
70
- variants: {
71
- size: zuiKbdSeparatorSizes
72
- },
73
- defaultVariants: {
74
- size: "md"
75
- }
68
+ var kbdSeparatorVariants = cva(zuiKbdSeparatorBase, {
69
+ variants: {
70
+ size: zuiKbdSeparatorSizes
71
+ },
72
+ defaultVariants: {
73
+ size: "md"
76
74
  }
77
- );
75
+ });
78
76
  function KbdBase({
79
77
  keys,
80
78
  separator,
@@ -118,5 +116,5 @@ function KbdBase({
118
116
  KbdBase.displayName = "Kbd";
119
117
 
120
118
  export { KbdBase, kbdKeyVariants, kbdSeparatorVariants };
121
- //# sourceMappingURL=chunk-CJXGDY7A.mjs.map
122
- //# sourceMappingURL=chunk-CJXGDY7A.mjs.map
119
+ //# sourceMappingURL=chunk-DY7HLVGW.mjs.map
120
+ //# sourceMappingURL=chunk-DY7HLVGW.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/design-system/kbd.ts","../src/ui/kbd/variants.ts","../src/ui/kbd/kbd-base.tsx"],"names":[],"mappings":"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","file":"chunk-DY7HLVGW.mjs","sourcesContent":["export const zuiKbdBase = [\n \"inline-flex items-center justify-center gap-1 align-middle\",\n \"rounded-[var(--zui-kbd-radius,0.375rem)] font-mono font-medium leading-none select-none\",\n] as const;\n\nexport const zuiKbdKeyAppearances = {\n default:\n \"bg-[var(--zui-kbd-default-bg,#0f172a)] dark:bg-[var(--zui-kbd-default-bg-dark,#f8fafc)] text-[color:var(--zui-kbd-default-fg,#f8fafc)] dark:text-[color:var(--zui-kbd-default-fg-dark,#020617)] shadow-[var(--zui-kbd-default-shadow,0_1px_2px_#0f172a14)] dark:shadow-[var(--zui-kbd-default-shadow-dark,0_1px_2px_#0f172a1f)]\",\n secondary:\n \"bg-[var(--zui-kbd-secondary-bg,#e2e8f0)] dark:bg-[var(--zui-kbd-secondary-bg-dark,#1e293b)] text-[color:var(--zui-kbd-secondary-fg,#0f172a)] dark:text-[color:var(--zui-kbd-secondary-fg-dark,#f8fafc)]\",\n destructive:\n \"bg-[var(--zui-kbd-destructive-bg,#f43f5e)] dark:bg-[var(--zui-kbd-destructive-bg-dark,#be123c)] text-[color:var(--zui-kbd-destructive-fg,#ffffff)] dark:text-[color:var(--zui-kbd-destructive-fg-dark,#ffffff)]\",\n outline:\n \"border border-[color:var(--zui-kbd-outline-border,#0000001a)] dark:border-[color:var(--zui-kbd-outline-border-dark,#ffffff1a)] bg-[var(--zui-kbd-outline-bg,#0000000d)] dark:bg-[var(--zui-kbd-outline-bg-dark,#ffffff0d)] text-[color:var(--zui-kbd-outline-fg,#0f172a)] dark:text-[color:var(--zui-kbd-outline-fg-dark,#f8fafc)]\",\n ghost:\n \"bg-transparent text-[color:var(--zui-kbd-ghost-fg,#334155)] dark:text-[color:var(--zui-kbd-ghost-fg-dark,#e2e8f0)]\",\n glass:\n \"border border-[color:var(--zui-kbd-glass-border,#00000026)] dark:border-[color:var(--zui-kbd-glass-border-dark,#ffffff26)] bg-[var(--zui-kbd-glass-bg,#0000001a)] dark:bg-[var(--zui-kbd-glass-bg-dark,#ffffff1a)] text-[color:var(--zui-kbd-glass-fg,#0f172a)] dark:text-[color:var(--zui-kbd-glass-fg-dark,#ffffff)] backdrop-blur-md\",\n emerald:\n \"bg-[var(--zui-kbd-emerald-bg,#10b981)] dark:bg-[var(--zui-kbd-emerald-bg-dark,#065f46)] text-[color:var(--zui-kbd-emerald-fg,#ffffff)] dark:text-[color:var(--zui-kbd-emerald-fg-dark,#ffffff)]\",\n indigo:\n \"bg-[var(--zui-kbd-indigo-bg,#3730a3)] dark:bg-[var(--zui-kbd-indigo-bg-dark,#4f46e5)] text-[color:var(--zui-kbd-indigo-fg,#ffffff)] dark:text-[color:var(--zui-kbd-indigo-fg-dark,#ffffff)]\",\n purple:\n \"bg-[var(--zui-kbd-purple-bg,#6b21a8)] dark:bg-[var(--zui-kbd-purple-bg-dark,#9333ea)] text-[color:var(--zui-kbd-purple-fg,#ffffff)] dark:text-[color:var(--zui-kbd-purple-fg-dark,#ffffff)]\",\n pink: \"bg-[var(--zui-kbd-pink-bg,#9d174d)] dark:bg-[var(--zui-kbd-pink-bg-dark,#db2777)] text-[color:var(--zui-kbd-pink-fg,#ffffff)] dark:text-[color:var(--zui-kbd-pink-fg-dark,#ffffff)]\",\n rose: \"bg-[var(--zui-kbd-rose-bg,#9f1239)] dark:bg-[var(--zui-kbd-rose-bg-dark,#e11d48)] text-[color:var(--zui-kbd-rose-fg,#ffffff)] dark:text-[color:var(--zui-kbd-rose-fg-dark,#ffffff)]\",\n sky: \"bg-[var(--zui-kbd-sky-bg,#0ea5e9)] dark:bg-[var(--zui-kbd-sky-bg-dark,#0369a1)] text-[color:var(--zui-kbd-sky-fg,#ffffff)] dark:text-[color:var(--zui-kbd-sky-fg-dark,#ffffff)]\",\n teal: \"bg-[var(--zui-kbd-teal-bg,#14b8a6)] dark:bg-[var(--zui-kbd-teal-bg-dark,#0f766e)] text-[color:var(--zui-kbd-teal-fg,#ffffff)] dark:text-[color:var(--zui-kbd-teal-fg-dark,#ffffff)]\",\n yellow:\n \"bg-[var(--zui-kbd-yellow-bg,#eab308)] dark:bg-[var(--zui-kbd-yellow-bg-dark,#854d0e)] text-[color:var(--zui-kbd-yellow-fg,#ffffff)] dark:text-[color:var(--zui-kbd-yellow-fg-dark,#ffffff)]\",\n orange:\n \"bg-[var(--zui-kbd-orange-bg,#f97316)] dark:bg-[var(--zui-kbd-orange-bg-dark,#9a3412)] text-[color:var(--zui-kbd-orange-fg,#ffffff)] dark:text-[color:var(--zui-kbd-orange-fg-dark,#ffffff)]\",\n gray: \"bg-[var(--zui-kbd-gray-bg,#6b7280)] dark:bg-[var(--zui-kbd-gray-bg-dark,#374151)] text-[color:var(--zui-kbd-gray-fg,#ffffff)] dark:text-[color:var(--zui-kbd-gray-fg-dark,#ffffff)]\",\n amber:\n \"bg-[var(--zui-kbd-amber-bg,#f59e0b)] dark:bg-[var(--zui-kbd-amber-bg-dark,#92400e)] text-[color:var(--zui-kbd-amber-fg,#ffffff)] dark:text-[color:var(--zui-kbd-amber-fg-dark,#ffffff)]\",\n violet:\n \"bg-[var(--zui-kbd-violet-bg,#5b21b6)] dark:bg-[var(--zui-kbd-violet-bg-dark,#7c3aed)] text-[color:var(--zui-kbd-violet-fg,#ffffff)] dark:text-[color:var(--zui-kbd-violet-fg-dark,#ffffff)]\",\n \"gradient-blue\":\n \"bg-linear-to-r from-[var(--zui-kbd-gradient-blue-from,#1e40af)] dark:from-[var(--zui-kbd-gradient-blue-from-dark,#2563eb)] to-[var(--zui-kbd-gradient-blue-to,#6b21a8)] dark:to-[var(--zui-kbd-gradient-blue-to-dark,#9333ea)] text-[color:var(--zui-kbd-gradient-blue-fg,#ffffff)] dark:text-[color:var(--zui-kbd-gradient-blue-fg-dark,#ffffff)]\",\n \"gradient-green\":\n \"bg-linear-to-r from-[var(--zui-kbd-gradient-green-from,#166534)] dark:from-[var(--zui-kbd-gradient-green-from-dark,#16a34a)] to-[var(--zui-kbd-gradient-green-to,#3f6212)] dark:to-[var(--zui-kbd-gradient-green-to-dark,#65a30d)] text-[color:var(--zui-kbd-gradient-green-fg,#ffffff)] dark:text-[color:var(--zui-kbd-gradient-green-fg-dark,#ffffff)]\",\n \"gradient-red\":\n \"bg-linear-to-r from-[var(--zui-kbd-gradient-red-from,#991b1b)] dark:from-[var(--zui-kbd-gradient-red-from-dark,#dc2626)] to-[var(--zui-kbd-gradient-red-to,#9d174d)] dark:to-[var(--zui-kbd-gradient-red-to-dark,#db2777)] text-[color:var(--zui-kbd-gradient-red-fg,#ffffff)] dark:text-[color:var(--zui-kbd-gradient-red-fg-dark,#ffffff)]\",\n \"gradient-yellow\":\n \"bg-linear-to-r from-[var(--zui-kbd-gradient-yellow-from,#854d0e)] dark:from-[var(--zui-kbd-gradient-yellow-from-dark,#ca8a04)] to-[var(--zui-kbd-gradient-yellow-to,#9a3412)] dark:to-[var(--zui-kbd-gradient-yellow-to-dark,#ea580c)] text-[color:var(--zui-kbd-gradient-yellow-fg,#ffffff)] dark:text-[color:var(--zui-kbd-gradient-yellow-fg-dark,#ffffff)]\",\n \"gradient-purple\":\n \"bg-linear-to-r from-[var(--zui-kbd-gradient-purple-from,#6b21a8)] dark:from-[var(--zui-kbd-gradient-purple-from-dark,#9333ea)] to-[var(--zui-kbd-gradient-purple-to,#9d174d)] dark:to-[var(--zui-kbd-gradient-purple-to-dark,#db2777)] text-[color:var(--zui-kbd-gradient-purple-fg,#ffffff)] dark:text-[color:var(--zui-kbd-gradient-purple-fg-dark,#ffffff)]\",\n \"gradient-teal\":\n \"bg-linear-to-r from-[var(--zui-kbd-gradient-teal-from,#115e59)] dark:from-[var(--zui-kbd-gradient-teal-from-dark,#0d9488)] to-[var(--zui-kbd-gradient-teal-to,#155e75)] dark:to-[var(--zui-kbd-gradient-teal-to-dark,#0891b2)] text-[color:var(--zui-kbd-gradient-teal-fg,#ffffff)] dark:text-[color:var(--zui-kbd-gradient-teal-fg-dark,#ffffff)]\",\n \"gradient-indigo\":\n \"bg-linear-to-r from-[var(--zui-kbd-gradient-indigo-from,#3730a3)] dark:from-[var(--zui-kbd-gradient-indigo-from-dark,#4f46e5)] to-[var(--zui-kbd-gradient-indigo-to,#6b21a8)] dark:to-[var(--zui-kbd-gradient-indigo-to-dark,#9333ea)] text-[color:var(--zui-kbd-gradient-indigo-fg,#ffffff)] dark:text-[color:var(--zui-kbd-gradient-indigo-fg-dark,#ffffff)]\",\n \"gradient-pink\":\n \"bg-linear-to-r from-[var(--zui-kbd-gradient-pink-from,#9d174d)] dark:from-[var(--zui-kbd-gradient-pink-from-dark,#db2777)] to-[var(--zui-kbd-gradient-pink-to,#9f1239)] dark:to-[var(--zui-kbd-gradient-pink-to-dark,#e11d48)] text-[color:var(--zui-kbd-gradient-pink-fg,#ffffff)] dark:text-[color:var(--zui-kbd-gradient-pink-fg-dark,#ffffff)]\",\n \"gradient-orange\":\n \"bg-linear-to-r from-[var(--zui-kbd-gradient-orange-from,#9a3412)] dark:from-[var(--zui-kbd-gradient-orange-from-dark,#ea580c)] to-[var(--zui-kbd-gradient-orange-to,#991b1b)] dark:to-[var(--zui-kbd-gradient-orange-to-dark,#dc2626)] text-[color:var(--zui-kbd-gradient-orange-fg,#ffffff)] dark:text-[color:var(--zui-kbd-gradient-orange-fg-dark,#ffffff)]\",\n} as const;\n\nexport type ZuiKbdAppearance = keyof typeof zuiKbdKeyAppearances;\n\nexport const zuiKbdKeyBase = [\n \"inline-flex items-center justify-center font-mono font-medium leading-none\",\n \"rounded-[var(--zui-kbd-radius,0.375rem)]\",\n \"shadow-[var(--zui-kbd-shadow,inset_0_-1px_0_#0000001f)] dark:shadow-[var(--zui-kbd-shadow-dark,inset_0_-1px_0_#0000004d)]\",\n] as const;\n\nexport const zuiKbdKeySizes = {\n sm: \"h-5 min-w-5 px-1 text-[0.7rem]\",\n md: \"h-6 min-w-6 px-1.5 text-xs\",\n lg: \"h-7 min-w-7 px-2 text-sm\",\n} as const;\n\nexport type ZuiKbdSize = keyof typeof zuiKbdKeySizes;\n\nexport const zuiKbdSeparatorBase =\n \"text-[color:var(--zui-kbd-separator-fg,#94a3b8)] dark:text-[color:var(--zui-kbd-separator-fg-dark,#64748b)]\";\n\nexport const zuiKbdSeparatorSizes = {\n sm: \"text-[0.7rem]\",\n md: \"text-xs\",\n lg: \"text-sm\",\n} as const;\n","import { cva } from \"class-variance-authority\";\n\nimport {\n zuiKbdKeyAppearances,\n zuiKbdKeyBase,\n zuiKbdKeySizes,\n zuiKbdSeparatorBase,\n zuiKbdSeparatorSizes,\n} from \"../../design-system/kbd\";\n\nexport const kbdKeyVariants = cva(zuiKbdKeyBase, {\n variants: {\n appearance: zuiKbdKeyAppearances,\n size: zuiKbdKeySizes,\n },\n defaultVariants: {\n appearance: \"outline\",\n size: \"md\",\n },\n});\n\nexport const kbdSeparatorVariants = cva(zuiKbdSeparatorBase, {\n variants: {\n size: zuiKbdSeparatorSizes,\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n","\"use client\";\n\nimport { Fragment } from \"react\";\n\nimport { zuiKbdBase } from \"../../design-system/kbd\";\nimport { cn } from \"../../lib/utils\";\n\nimport type { KbdBaseProps } from \"./types\";\nimport { kbdKeyVariants, kbdSeparatorVariants } from \"./variants\";\n\nexport function KbdBase({\n keys,\n separator,\n appearance,\n size,\n children,\n className,\n as: Wrapper = \"span\",\n ref,\n ...rest\n}: KbdBaseProps) {\n const items = keys ?? (children != null ? [children] : []);\n\n return (\n <Wrapper\n ref={ref}\n data-slot=\"kbd\"\n className={cn(zuiKbdBase, className)}\n {...rest}\n >\n {items.map((key, index) => (\n <Fragment key={index}>\n {index > 0 && separator != null ? (\n <span\n data-slot=\"kbd-separator\"\n className={kbdSeparatorVariants({ size })}\n >\n {separator}\n </span>\n ) : null}\n <kbd\n data-slot=\"kbd-key\"\n className={kbdKeyVariants({ appearance, size })}\n >\n {key}\n </kbd>\n </Fragment>\n ))}\n </Wrapper>\n );\n}\n\nKbdBase.displayName = \"Kbd\";\n"]}