@work-rjkashyap/unified-ui 0.2.2 → 0.2.3

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/CHANGELOG.md CHANGED
@@ -1,38 +1,74 @@
1
1
  # Changelog
2
+
2
3
  All notable changes to the **Unified UI** design system will be documented in this file.
4
+
3
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
4
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+
5
9
  ## [Unreleased]
6
- ## [0.2.2] — 2026-03-07
10
+
11
+ ## [0.3.0] — 2026-03-07
12
+
7
13
  ### 🚀 Features
8
- - Add dynamic favicon (icon.tsx) and Apple touch icon using the CircuitBoard logo
9
- - Add OG image generation (opengraph-image.tsx) with branded design, CTA, and tech stack
10
- - Add OpenGraph and Twitter card metadata to root layout
11
- - Fix docs OG route to display "Unified UI" instead of "My App"
12
- - Optimize OG title (59 chars) and description (160 chars) for SEO best practices
14
+
15
+ - Update layouts and navigation components for improved UI and new themes
16
+ - Enhanced the Layout components across various sections (company, docs, legal, resources) to include a transparent navigation mode.
17
+ - Introduced a new Themes page with a placeholder and updated layout.
18
+ - Updated the layout configuration to include new links for Blocks, Colors, and Themes, along with a Discord icon.
19
+ - Refactored the Logo component for better styling and consistency.
20
+ - Improved the Nav component with new icons and a more dynamic navigation experience.
21
+ - Updated the ThemeToggle component for better accessibility and visual feedback. ([d9fe590](https://github.com/imrj05/unified-ui/commit/d9fe590b84dbdfaac8473bef324fef756176ad4f))
22
+ - Add TestDropdownPage component with various dropdown menu tests
23
+ - Implemented a new TestDropdownPage component to showcase different dropdown menu functionalities including basic options, keyboard shortcuts, submenus, and standalone shortcut rendering.
24
+ - Added a new AvatarCircle helper component for displaying user initials in a circular format.
25
+ - Enhanced the virtual list demos by integrating AvatarCircle for user representation and improving layout consistency.
26
+ - Introduced PreviewCard and PreviewCardShell components for rendering preview and code sections with copy functionality.
27
+ - Updated MDX components to include the new PreviewCard for better documentation presentation. ([1fdf52e](https://github.com/imrj05/unified-ui/commit/1fdf52ea093572be29403e4ab13f6a0c72e1abf8))
28
+ - Update Open Graph metadata and enhance OG image content for better SEO ([6e5728d](https://github.com/imrj05/unified-ui/commit/6e5728d6226ea9b11eed5214df30970cc71eb138))
29
+ - Feat: add AppleIcon and Icon components with responsive design and SVG graphics
30
+ feat: implement OGImage component for enhanced Open Graph support
31
+ refactor: update layout component for improved readability and structure
32
+ fix: correct site name in route handler for Open Graph image generation ([f92e1fe](https://github.com/imrj05/unified-ui/commit/f92e1fee67ac7753dbbabc39b20ce06168183fae))
33
+
13
34
  ### 🐛 Bug Fixes
35
+
14
36
  - Enhance changelog script to scan all commits if no tags are found ([fdbb105](https://github.com/imrj05/unified-ui/commit/fdbb105c47e4afa1f999b0eddfe884a903b76466))
15
37
  - Update component links from /docs/components to /components ([d511280](https://github.com/imrj05/unified-ui/commit/d511280063616413efb9235d81d21eabf467b2ca))
38
+
16
39
  ### 🔧 Refactors
40
+
17
41
  - **changelog-renderer:** Enhance changelog parsing and rendering logic
18
42
  - Improved parsing logic to handle multi-line items and indented sub-items.
19
43
  - Added support for section titles with emojis by stripping them before processing.
20
44
  - Enhanced section color mapping to include additional categories and keywords.
21
45
  - Refactored the rendering of changelog items and sections for better readability and maintainability.
22
46
  - Updated the stats calculation to normalize section titles for accurate feature and fix counts. ([f3b47fe](https://github.com/imrj05/unified-ui/commit/f3b47fe55a9c7637570e833b6256b2adb969dbcc))
47
+
23
48
  ### 🏗️ Miscellaneous
49
+
50
+ - **changelog:** Auto-update unreleased entries [skip ci] ([1971cd8](https://github.com/imrj05/unified-ui/commit/1971cd81a04d7b6e92e0ed925a3f33783254bf2c))
51
+ - **changelog:** Auto-update unreleased entries [skip ci] ([c226782](https://github.com/imrj05/unified-ui/commit/c2267822c0705401a6de57a60dbe3227abb76533))
52
+ - **changelog:** Auto-update unreleased entries [skip ci] ([f216b6e](https://github.com/imrj05/unified-ui/commit/f216b6ebb6d436148256b784898833cea8613a14))
24
53
  - **changelog:** Auto-update unreleased entries [skip ci] ([6658a0a](https://github.com/imrj05/unified-ui/commit/6658a0a50017a21e4fe868d86381ea0b9a76601e))
25
54
  - **changelog:** Auto-update unreleased entries [skip ci] ([8dc0ab8](https://github.com/imrj05/unified-ui/commit/8dc0ab8f9ed198e4b0da315a91869ca374626fd5))
26
55
  - Stop tracking CHANGELOG.md locally ([4973cf5](https://github.com/imrj05/unified-ui/commit/4973cf5a401970d23922e39e7590187a40497307))
56
+
27
57
  ### Other
58
+
59
+ - Merge branch 'main' of github.com:imrj05/unified-ui ([1e620eb](https://github.com/imrj05/unified-ui/commit/1e620ebb87a8f04079f9f266e769e3ba9e327293))
60
+ - Merge branch 'main' of github.com:imrj05/unified-ui ([d85b413](https://github.com/imrj05/unified-ui/commit/d85b413531b6e38eabf397f6347b6cbb740dd961))
61
+ - Merge branch 'main' of github.com:imrj05/unified-ui ([055de42](https://github.com/imrj05/unified-ui/commit/055de4202aa7a813902e5beeeddfd0ae904c29f0))
28
62
  - Add CHANGELOG for packages/unified-ui ([06dc82a](https://github.com/imrj05/unified-ui/commit/06dc82a36328e9a289adea9eaade36abd0f49bdf))
29
63
  - Add changelog generator and update workflow
64
+
30
65
  Add .github/scripts/generate-changelog.sh and call it from the
31
66
  changelog workflow. Also add .zed/settings.json with editor/assistant
32
67
  settings. ([bbd4f82](https://github.com/imrj05/unified-ui/commit/bbd4f827837dd91acbf5be5005ca3c4cc50c38aa))
33
68
  - Ignore CI changelog and set workflow shell to bash ([ac4da0a](https://github.com/imrj05/unified-ui/commit/ac4da0a4851cfd75930bc8208df04fc395963bfc))
34
69
  - Merge branch 'main' of github.com:imrj05/unified-ui ([1ae2200](https://github.com/imrj05/unified-ui/commit/1ae2200684ee757e24fa6ba7f7a342c76dc4d959))
35
70
  - Automate changelog and release workflow
71
+
36
72
  Add a custom changelog workflow that parses Conventional Commits and
37
73
  prepends entries into packages/unified-ui/CHANGELOG.md without
38
74
  overwriting
@@ -42,14 +78,22 @@ versions, build and publish the design system, promote [Unreleased] → a
42
78
  versioned changelog entry, and create the GitHub Release with notes.
43
79
  Update cliff.toml comments to reflect its role for GitHub release notes. ([a1167e7](https://github.com/imrj05/unified-ui/commit/a1167e7bef2fb78093408738c450a8d2da70f3af))
44
80
  ## [0.2.1] — 2026-03-06
81
+
45
82
  ### 🐛 Bug Fixes
83
+
46
84
  - Update placeholder API key in ConfirmDialog documentation ([6ca53c5](https://github.com/imrj05/unified-ui/commit/6ca53c5d1cecaee31afb376b860908981d9bf04c))
85
+
47
86
  ### 🔧 Refactors
87
+
48
88
  - Clean up formatting and remove unnecessary whitespace in ConfirmDialog documentation ([a8c382f](https://github.com/imrj05/unified-ui/commit/a8c382fbdcf0038b9e85160e472e45ac98da7579))
89
+
49
90
  ### Other
91
+
50
92
  - Add automated changelog and release workflows
93
+
51
94
  Include git-cliff config and CI workflows for changelog generation
52
95
  and releases
96
+
53
97
  - Add cliff.toml and .github/workflows/changelog.yml to auto-generate
54
98
  packages/unified-ui/CHANGELOG.md from Conventional Commits on pushes
55
99
  to main
@@ -61,18 +105,22 @@ and releases
61
105
  - Commit generated CHANGELOG.md and bump @work-rjkashyap/unified-ui to
62
106
  0.2.1 ([8e036bd](https://github.com/imrj05/unified-ui/commit/8e036bdf7e9004f43a28f01a8a220a49f4afd8fd))
63
107
  - Use unified-ui-rajeshwar registry
108
+
64
109
  Add a build:registry step to the root build script; update CLI and
65
110
  registry build scripts to use the new registry homepage and tweak
66
111
  imports/formatting. Bump typography and spacing across home components
67
112
  for improved readability. ([c55b091](https://github.com/imrj05/unified-ui/commit/c55b091dfb5843ad1a89230740cf5646f918f897))
68
113
  - Format Confirm Dialog MDX and fix examples
114
+
69
115
  Adjust whitespace and indentation in
70
116
  content/components/confirm-dialog.mdx.
71
117
  Separate the AlertDialog primitives example from the barrel import and
72
118
  clean
73
119
  up code fences for usage, variants, and preview snippets. ([50a0c83](https://github.com/imrj05/unified-ui/commit/50a0c830ac27441b9fdcd6bb415f2bf8d7f6e260))
74
120
  ## [0.2.0] — 2026-03-05
121
+
75
122
  ### 🚀 Features
123
+
76
124
  - Enhance component previews and theme customizer
77
125
  - Added VSCodeCodeBlock for improved code display in ComponentPage.
78
126
  - Introduced CustomizerPanel for theme customization options including color, radius, font, shadow, and surface styles.
@@ -86,10 +134,14 @@ up code fences for usage, variants, and preview snippets. ([50a0c83](https://git
86
134
  - Added Toggle to the unified-ui index for export.
87
135
  - Created navigation component previews for ContextMenu, Menubar, Steps, and Command, showcasing various states and interactions.
88
136
  - Updated MDX components to include new previews for documentation. ([63b0f57](https://github.com/imrj05/unified-ui/commit/63b0f57dcc8150f5648b7541b8d93d70f42ebd45))
137
+
89
138
  ### 🔧 Refactors
139
+
90
140
  - Clean up component code formatting and structure in navigation menu, popover, and scroll area ([c0935d9](https://github.com/imrj05/unified-ui/commit/c0935d92ca5324338f590d25a2406ca85e0921f3))
91
141
  ## [0.1.2] — 2026-03-02
142
+
92
143
  ### 🚀 Features
144
+
93
145
  - Integrate theme customizer and improve UI components
94
146
  - Added ThemeCustomizerProvider and ThemeCustomizerTrigger to layout for theme customization.
95
147
  - Updated button styles to enhance focus visibility and hover effects.
@@ -98,17 +150,25 @@ up code fences for usage, variants, and preview snippets. ([50a0c83](https://git
98
150
  - Enhanced data table demo with consistent text color updates.
99
151
  - Improved scroll area component for better overflow handling.
100
152
  - Updated TypeScript configuration to include new unified-ui paths for better module resolution. ([69bb594](https://github.com/imrj05/unified-ui/commit/69bb5940835fb0d45f29d21e4bf4bb44f67c66e1))
153
+
101
154
  ### 🏗️ Miscellaneous
155
+
102
156
  - Bump version to 0.1.2 and update changelog ([b09bbbf](https://github.com/imrj05/unified-ui/commit/b09bbbf4de830fad0211f8491e622436dc0ce783))
157
+
103
158
  ### Other
159
+
104
160
  - Regenerate package-lock
161
+
105
162
  Bump @biomejs/biome to 2.4.4 and shikijs packages to 3.23.0.
106
163
  Consolidate duplicated @radix-ui/react-slot entries into one resolved
107
164
  entry. Lockfile churn from dependency updates only. ([2d0f0ed](https://github.com/imrj05/unified-ui/commit/2d0f0ed95660e49b64c5135e27e732747541b2b1))
108
165
  - Revise README with expanded overview and docs ([f67f910](https://github.com/imrj05/unified-ui/commit/f67f910d6542877e57f6ad54b62d10538021b5f8))
109
166
  ## [0.1.1] — 2026-02-28
167
+
110
168
  ### Other
169
+
111
170
  - Add DataTable, docs overhaul, and bump version
171
+
112
172
  Implement a full DataTable component (TanStack Table) and export
113
173
  hooks/types.
114
174
  Bump UNIFIED_UI_VERSION to 0.1.1 and update package metadata (homepage,
@@ -119,6 +179,7 @@ previews and update icons/imports. Add ToastPreview demo component and
119
179
  adjust
120
180
  site links/README/CHANGELOG accordingly. ([8fb7338](https://github.com/imrj05/unified-ui/commit/8fb7338ca305daac24a6b595bf1ea30022d1e250))
121
181
  - Add DataTable component and docs
182
+
122
183
  Introduce DataTable powered by TanStack Table with sorting,
123
184
  filtering, pagination, row selection, column visibility and a
124
185
  useDataTable hook. Add a DataTableDemo component and a full MDX
@@ -126,14 +187,18 @@ documentation page. Also add a global hide-scrollbar CSS utility
126
187
  and miscellaneous layout/formatting updates to notebook/sidebar
127
188
  components. ([f10f8f0](https://github.com/imrj05/unified-ui/commit/f10f8f0fbc04321d545a0b1abe2e538a861b140b))
128
189
  - Add @work-rjkashyap/unified-ui dependency
190
+
129
191
  Move framer-motion to optionalDependencies and reorder devDependencies.
130
192
  Format typesVersions arrays and update package-lock.json accordingly ([a3dec68](https://github.com/imrj05/unified-ui/commit/a3dec6872110b6db3de18ccb3152e8a3b4a3fd85))
131
193
  ## [0.1.0] — 2026-02-27
194
+
132
195
  ### 🚀 Features
196
+
133
197
  - Publish @work-rjkashyap/unified-ui@0.1.0 to npm
134
198
  Rename package scope from @unified-ui/react to
135
199
  @work-rjkashyap/unified-ui
136
200
  to match npm organization ownership.
201
+
137
202
  Updated references across 39 files:
138
203
  - packages/unified-ui/package.json (package name)
139
204
  - Root package.json (workspace scripts + dependency)
@@ -168,7 +233,9 @@ Rename package scope from @unified-ui/react to
168
233
  - Developed a table of contents (TOC) component with dynamic resizing and rendering based on headings.
169
234
  - Enhanced UI components including buttons, collapsibles, navigation menus, and popovers for better usability and aesthetics.
170
235
  - Introduced utility functions for merging refs and normalizing URLs. ([1b5c1da](https://github.com/imrj05/unified-ui/commit/1b5c1dad14d4720dc37cf3f388ea30d7afc5efae))
236
+
171
237
  ### 🔧 Refactors
238
+
172
239
  - Streamline HomeLayout component structure and improve readability ([4b3321d](https://github.com/imrj05/unified-ui/commit/4b3321de6a308a3a93938ed4af0e6d07f0bf17c9))
173
240
  - Improve layout components and sidebar functionality
174
241
  - Refactored LayoutContext and LayoutContextProvider for better readability and performance.
@@ -179,5 +246,7 @@ Rename package scope from @unified-ui/react to
179
246
  - Updated Popover and ScrollArea components for better z-index management and scroll behavior. ([1ae241f](https://github.com/imrj05/unified-ui/commit/1ae241f315563fd789bc176bdb0c45226ee1160a))
180
247
  - Improve code formatting and readability across layout components ([08653fd](https://github.com/imrj05/unified-ui/commit/08653fdb7bccc8201ea9c826c663d0b2298a85a4))
181
248
  - Format code for improved readability in HomeLayout component ([830877e](https://github.com/imrj05/unified-ui/commit/830877e2120c14ae964ca79186e99992fd4b9a9b))
249
+
182
250
  ### Other
251
+
183
252
  - Initial commit from Create Fumadocs App ([8fd3237](https://github.com/imrj05/unified-ui/commit/8fd3237b58fb87870e9db4b5aac9ec98060d2362))
@@ -1878,7 +1878,7 @@ var Button = React.forwardRef(
1878
1878
  loading && /* @__PURE__ */ jsxRuntime.jsx(ButtonSpinner, { className: size === "sm" ? "size-3.5" : "size-4" }),
1879
1879
  loading && loadingText ? /* @__PURE__ */ jsxRuntime.jsx("span", { children: loadingText }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1880
1880
  !loading && iconLeft && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0", "aria-hidden": "true", children: iconLeft }),
1881
- children && /* @__PURE__ */ jsxRuntime.jsx("span", { className: chunk4ON3M3OM_cjs.cn(loading && !loadingText && "invisible"), children }),
1881
+ children && /* @__PURE__ */ jsxRuntime.jsx("span", { className: chunk4ON3M3OM_cjs.cn("inline-flex items-center gap-[inherit]", loading && !loadingText && "invisible"), children }),
1882
1882
  !loading && iconRight && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0", "aria-hidden": "true", children: iconRight })
1883
1883
  ] })
1884
1884
  ]
@@ -2363,21 +2363,17 @@ var CardContext = React.createContext({ padding: "compact" });
2363
2363
  function useCardContext() {
2364
2364
  return React.useContext(CardContext);
2365
2365
  }
2366
- var cardPaddingMap = {
2367
- compact: "p-(--ds-padding-card)",
2368
- comfortable: "p-6"
2369
- };
2370
2366
  var slotPaddingXMap = {
2371
2367
  compact: "px-(--ds-padding-card)",
2372
2368
  comfortable: "px-6"
2373
2369
  };
2374
- var slotPaddingTopMap = {
2375
- compact: "pt-(--ds-padding-card)",
2376
- comfortable: "pt-6"
2370
+ var cardVerticalPaddingMap = {
2371
+ compact: "py-(--ds-padding-card)",
2372
+ comfortable: "py-6"
2377
2373
  };
2378
- var slotPaddingBottomMap = {
2379
- compact: "pb-(--ds-padding-card)",
2380
- comfortable: "pb-6"
2374
+ var cardGapMap = {
2375
+ compact: "gap-(--ds-gap-default,0.75rem)",
2376
+ comfortable: "gap-4"
2381
2377
  };
2382
2378
  var cardVariants = classVarianceAuthority.cva(
2383
2379
  // Base styles — shared across all variants
@@ -2471,6 +2467,8 @@ var Card = React.forwardRef(function Card2({
2471
2467
  className: chunk4ON3M3OM_cjs.cn(
2472
2468
  "not-prose",
2473
2469
  cardVariants({ variant, fullWidth }),
2470
+ cardVerticalPaddingMap[padding],
2471
+ cardGapMap[padding],
2474
2472
  className
2475
2473
  ),
2476
2474
  "data-ds": "",
@@ -2498,9 +2496,7 @@ var CardHeader = React.forwardRef(
2498
2496
  className: chunk4ON3M3OM_cjs.cn(
2499
2497
  "flex flex-col gap-1.5",
2500
2498
  slotPaddingXMap[padding],
2501
- slotPaddingTopMap[padding],
2502
- slotPaddingBottomMap[padding],
2503
- bordered && "border-b border-border-muted",
2499
+ bordered && "pb-(--ds-padding-card) border-b border-border-muted",
2504
2500
  className
2505
2501
  ),
2506
2502
  "data-ds": "",
@@ -2521,7 +2517,7 @@ var CardBody = React.forwardRef(
2521
2517
  ref,
2522
2518
  className: chunk4ON3M3OM_cjs.cn(
2523
2519
  "flex flex-col gap-2 flex-1",
2524
- cardPaddingMap[padding],
2520
+ slotPaddingXMap[padding],
2525
2521
  className
2526
2522
  ),
2527
2523
  "data-ds": "",
@@ -2543,9 +2539,7 @@ var CardFooter = React.forwardRef(
2543
2539
  className: chunk4ON3M3OM_cjs.cn(
2544
2540
  "flex items-center gap-2",
2545
2541
  slotPaddingXMap[padding],
2546
- slotPaddingTopMap[padding],
2547
- slotPaddingBottomMap[padding],
2548
- bordered && "border-t border-border-muted",
2542
+ bordered && "pt-(--ds-padding-card) border-t border-border-muted",
2549
2543
  alignMap[align],
2550
2544
  className
2551
2545
  ),
@@ -2923,7 +2917,7 @@ var Checkbox = React.forwardRef(function Checkbox2({
2923
2917
  )
2924
2918
  }
2925
2919
  ),
2926
- (label || description) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-0.5", children: [
2920
+ (label || description) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-0.5 flex-1 min-w-0", children: [
2927
2921
  label && /* @__PURE__ */ jsxRuntime.jsx(
2928
2922
  "label",
2929
2923
  {
@@ -8549,7 +8543,7 @@ function Dropdown({
8549
8543
  "div",
8550
8544
  {
8551
8545
  className: chunk4ON3M3OM_cjs.cn(
8552
- "absolute top-full z-[var(--z-dropdown,40)] mt-1",
8546
+ "absolute top-full z-[var(--z-dropdown)] mt-1",
8553
8547
  align === "end" ? "right-0" : "left-0",
8554
8548
  "min-w-[8rem] rounded-md py-1",
8555
8549
  "border border-border bg-popover text-popover-foreground",
@@ -13784,7 +13778,7 @@ var RadioGroupItem = React.forwardRef(function RadioGroupItem2({ value, label, d
13784
13778
  )
13785
13779
  }
13786
13780
  ),
13787
- (label || description) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-0.5 min-w-0", children: [
13781
+ (label || description) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-0.5 min-w-0 flex-1", children: [
13788
13782
  label && /* @__PURE__ */ jsxRuntime.jsx(
13789
13783
  "label",
13790
13784
  {
@@ -16599,7 +16593,7 @@ var Switch = React.forwardRef(function Switch2({
16599
16593
  if (!label) {
16600
16594
  return switchElement;
16601
16595
  }
16602
- const labelBlock = /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-0.5", children: [
16596
+ const labelBlock = /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-0.5 flex-1 min-w-0", children: [
16603
16597
  /* @__PURE__ */ jsxRuntime.jsx(
16604
16598
  "label",
16605
16599
  {
@@ -16631,7 +16625,7 @@ var Switch = React.forwardRef(function Switch2({
16631
16625
  "div",
16632
16626
  {
16633
16627
  className: chunk4ON3M3OM_cjs.cn(
16634
- "inline-flex items-center gap-3",
16628
+ "flex items-center gap-3",
16635
16629
  // Reverse order when label is on the left
16636
16630
  labelPosition === "left" ? "flex-row" : "flex-row-reverse",
16637
16631
  // Align to start when description is present
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkQEFOXYBO_cjs = require('./chunk-QEFOXYBO.cjs');
3
+ var chunkZBGR7MUW_cjs = require('./chunk-ZBGR7MUW.cjs');
4
4
  var chunkECIGDEAH_cjs = require('./chunk-ECIGDEAH.cjs');
5
5
  var chunkXCKK6P46_cjs = require('./chunk-XCKK6P46.cjs');
6
6
  var chunk4ON3M3OM_cjs = require('./chunk-4ON3M3OM.cjs');
@@ -138,10 +138,10 @@ function mapRecord(varNames, values) {
138
138
  }
139
139
  function buildLightThemeVars() {
140
140
  return {
141
- ...mapRecord(colorVarNames, chunkQEFOXYBO_cjs.semanticLight),
142
- ...mapRecord(radiusVarNames, chunkQEFOXYBO_cjs.radius),
143
- ...mapRecord(shadowVarNames, chunkQEFOXYBO_cjs.shadow),
144
- ...mapRecord(zIndexVarNames, chunkQEFOXYBO_cjs.zIndex),
141
+ ...mapRecord(colorVarNames, chunkZBGR7MUW_cjs.semanticLight),
142
+ ...mapRecord(radiusVarNames, chunkZBGR7MUW_cjs.radius),
143
+ ...mapRecord(shadowVarNames, chunkZBGR7MUW_cjs.shadow),
144
+ ...mapRecord(zIndexVarNames, chunkZBGR7MUW_cjs.zIndex),
145
145
  ...mapRecord(durationVarNames, chunkXCKK6P46_cjs.durationCSS),
146
146
  ...mapRecord(easingVarNames, chunkXCKK6P46_cjs.easingCSS),
147
147
  ...mapRecord(fontFamilyVarNames, chunkECIGDEAH_cjs.fontFamily)
@@ -149,10 +149,10 @@ function buildLightThemeVars() {
149
149
  }
150
150
  function buildDarkThemeVars() {
151
151
  return {
152
- ...mapRecord(colorVarNames, chunkQEFOXYBO_cjs.semanticDark),
153
- ...mapRecord(radiusVarNames, chunkQEFOXYBO_cjs.radius),
154
- ...mapRecord(shadowVarNames, chunkQEFOXYBO_cjs.shadowDark),
155
- ...mapRecord(zIndexVarNames, chunkQEFOXYBO_cjs.zIndex),
152
+ ...mapRecord(colorVarNames, chunkZBGR7MUW_cjs.semanticDark),
153
+ ...mapRecord(radiusVarNames, chunkZBGR7MUW_cjs.radius),
154
+ ...mapRecord(shadowVarNames, chunkZBGR7MUW_cjs.shadowDark),
155
+ ...mapRecord(zIndexVarNames, chunkZBGR7MUW_cjs.zIndex),
156
156
  ...mapRecord(durationVarNames, chunkXCKK6P46_cjs.durationCSS),
157
157
  ...mapRecord(easingVarNames, chunkXCKK6P46_cjs.easingCSS),
158
158
  ...mapRecord(fontFamilyVarNames, chunkECIGDEAH_cjs.fontFamily)
@@ -215,48 +215,48 @@ var cssVar = {
215
215
 
216
216
  // src/theme/presets.ts
217
217
  var STATUS_LIGHT = {
218
- success: chunkQEFOXYBO_cjs.green[600],
218
+ success: chunkZBGR7MUW_cjs.green[600],
219
219
  successForeground: "oklch(0.145 0 0)",
220
- successMuted: chunkQEFOXYBO_cjs.green[50],
221
- successMutedForeground: chunkQEFOXYBO_cjs.green[700],
222
- warning: chunkQEFOXYBO_cjs.amber[500],
220
+ successMuted: chunkZBGR7MUW_cjs.green[50],
221
+ successMutedForeground: chunkZBGR7MUW_cjs.green[700],
222
+ warning: chunkZBGR7MUW_cjs.amber[500],
223
223
  warningForeground: "oklch(0.145 0 0)",
224
- warningMuted: chunkQEFOXYBO_cjs.amber[50],
225
- warningMutedForeground: chunkQEFOXYBO_cjs.amber[700],
226
- danger: chunkQEFOXYBO_cjs.red[600],
224
+ warningMuted: chunkZBGR7MUW_cjs.amber[50],
225
+ warningMutedForeground: chunkZBGR7MUW_cjs.amber[700],
226
+ danger: chunkZBGR7MUW_cjs.red[600],
227
227
  dangerForeground: "oklch(0.985 0 0)",
228
- dangerHover: chunkQEFOXYBO_cjs.red[700],
229
- dangerActive: chunkQEFOXYBO_cjs.red[800],
230
- dangerMuted: chunkQEFOXYBO_cjs.red[50],
231
- dangerMutedForeground: chunkQEFOXYBO_cjs.red[700],
232
- destructive: chunkQEFOXYBO_cjs.red[600],
228
+ dangerHover: chunkZBGR7MUW_cjs.red[700],
229
+ dangerActive: chunkZBGR7MUW_cjs.red[800],
230
+ dangerMuted: chunkZBGR7MUW_cjs.red[50],
231
+ dangerMutedForeground: chunkZBGR7MUW_cjs.red[700],
232
+ destructive: chunkZBGR7MUW_cjs.red[600],
233
233
  destructiveForeground: "oklch(0.985 0 0)",
234
- info: chunkQEFOXYBO_cjs.blue[600],
234
+ info: chunkZBGR7MUW_cjs.blue[600],
235
235
  infoForeground: "oklch(0.985 0 0)",
236
- infoMuted: chunkQEFOXYBO_cjs.blue[50],
237
- infoMutedForeground: chunkQEFOXYBO_cjs.blue[700]
236
+ infoMuted: chunkZBGR7MUW_cjs.blue[50],
237
+ infoMutedForeground: chunkZBGR7MUW_cjs.blue[700]
238
238
  };
239
239
  var STATUS_DARK = {
240
- success: chunkQEFOXYBO_cjs.green[500],
240
+ success: chunkZBGR7MUW_cjs.green[500],
241
241
  successForeground: "oklch(0.145 0 0)",
242
- successMuted: chunkQEFOXYBO_cjs.green[950],
243
- successMutedForeground: chunkQEFOXYBO_cjs.green[300],
244
- warning: chunkQEFOXYBO_cjs.amber[400],
242
+ successMuted: chunkZBGR7MUW_cjs.green[950],
243
+ successMutedForeground: chunkZBGR7MUW_cjs.green[300],
244
+ warning: chunkZBGR7MUW_cjs.amber[400],
245
245
  warningForeground: "oklch(0.145 0 0)",
246
- warningMuted: chunkQEFOXYBO_cjs.amber[950],
247
- warningMutedForeground: chunkQEFOXYBO_cjs.amber[300],
248
- danger: chunkQEFOXYBO_cjs.red[500],
246
+ warningMuted: chunkZBGR7MUW_cjs.amber[950],
247
+ warningMutedForeground: chunkZBGR7MUW_cjs.amber[300],
248
+ danger: chunkZBGR7MUW_cjs.red[500],
249
249
  dangerForeground: "oklch(0.985 0 0)",
250
- dangerHover: chunkQEFOXYBO_cjs.red[400],
251
- dangerActive: chunkQEFOXYBO_cjs.red[300],
252
- dangerMuted: chunkQEFOXYBO_cjs.red[950],
253
- dangerMutedForeground: chunkQEFOXYBO_cjs.red[300],
254
- destructive: chunkQEFOXYBO_cjs.red[500],
250
+ dangerHover: chunkZBGR7MUW_cjs.red[400],
251
+ dangerActive: chunkZBGR7MUW_cjs.red[300],
252
+ dangerMuted: chunkZBGR7MUW_cjs.red[950],
253
+ dangerMutedForeground: chunkZBGR7MUW_cjs.red[300],
254
+ destructive: chunkZBGR7MUW_cjs.red[500],
255
255
  destructiveForeground: "oklch(0.985 0 0)",
256
- info: chunkQEFOXYBO_cjs.blue[400],
256
+ info: chunkZBGR7MUW_cjs.blue[400],
257
257
  infoForeground: "oklch(0.145 0 0)",
258
- infoMuted: chunkQEFOXYBO_cjs.blue[950],
259
- infoMutedForeground: chunkQEFOXYBO_cjs.blue[300]
258
+ infoMuted: chunkZBGR7MUW_cjs.blue[950],
259
+ infoMutedForeground: chunkZBGR7MUW_cjs.blue[300]
260
260
  };
261
261
  var CHART_LIGHT = {
262
262
  chart1: "oklch(0.646 0.222 41.116)",
@@ -416,7 +416,7 @@ function buildNeutralPreset(name, key, palette) {
416
416
  disabledForeground: palette[600],
417
417
  sidebar: palette[900],
418
418
  sidebarForeground: palette[50],
419
- sidebarPrimary: chunkQEFOXYBO_cjs.blue[600],
419
+ sidebarPrimary: chunkZBGR7MUW_cjs.blue[600],
420
420
  sidebarPrimaryForeground: palette[50],
421
421
  sidebarAccent: palette[800],
422
422
  sidebarAccentForeground: palette[50],
@@ -425,7 +425,7 @@ function buildNeutralPreset(name, key, palette) {
425
425
  }
426
426
  };
427
427
  }
428
- function buildChromaticPreset(name, key, primary, surface = chunkQEFOXYBO_cjs.zinc) {
428
+ function buildChromaticPreset(name, key, primary, surface = chunkZBGR7MUW_cjs.zinc) {
429
429
  return {
430
430
  name,
431
431
  key,
@@ -527,16 +527,16 @@ var COLOR_PRESETS = [
527
527
  // Neutral Presets (achromatic primaries)
528
528
  // -------------------------------------------------------------------------
529
529
  {
530
- swatch: chunkQEFOXYBO_cjs.zinc[900],
531
- ...buildNeutralPreset("Zinc", "zinc", chunkQEFOXYBO_cjs.zinc)
530
+ swatch: chunkZBGR7MUW_cjs.zinc[900],
531
+ ...buildNeutralPreset("Zinc", "zinc", chunkZBGR7MUW_cjs.zinc)
532
532
  },
533
533
  {
534
- swatch: chunkQEFOXYBO_cjs.slate[900],
535
- ...buildNeutralPreset("Slate", "slate", chunkQEFOXYBO_cjs.slate)
534
+ swatch: chunkZBGR7MUW_cjs.slate[900],
535
+ ...buildNeutralPreset("Slate", "slate", chunkZBGR7MUW_cjs.slate)
536
536
  },
537
537
  {
538
- swatch: chunkQEFOXYBO_cjs.gray[900],
539
- ...buildNeutralPreset("Gray", "gray", chunkQEFOXYBO_cjs.gray)
538
+ swatch: chunkZBGR7MUW_cjs.gray[900],
539
+ ...buildNeutralPreset("Gray", "gray", chunkZBGR7MUW_cjs.gray)
540
540
  },
541
541
  {
542
542
  swatch: stone[900],
@@ -550,12 +550,12 @@ var COLOR_PRESETS = [
550
550
  // Chromatic Presets (colored primaries)
551
551
  // -------------------------------------------------------------------------
552
552
  {
553
- swatch: chunkQEFOXYBO_cjs.blue[600],
554
- ...buildChromaticPreset("Blue", "blue", chunkQEFOXYBO_cjs.blue)
553
+ swatch: chunkZBGR7MUW_cjs.blue[600],
554
+ ...buildChromaticPreset("Blue", "blue", chunkZBGR7MUW_cjs.blue)
555
555
  },
556
556
  {
557
- swatch: chunkQEFOXYBO_cjs.green[600],
558
- ...buildChromaticPreset("Green", "green", chunkQEFOXYBO_cjs.green)
557
+ swatch: chunkZBGR7MUW_cjs.green[600],
558
+ ...buildChromaticPreset("Green", "green", chunkZBGR7MUW_cjs.green)
559
559
  },
560
560
  {
561
561
  swatch: violet[600],
@@ -570,16 +570,16 @@ var COLOR_PRESETS = [
570
570
  ...buildChromaticPreset("Orange", "orange", orange)
571
571
  },
572
572
  {
573
- swatch: chunkQEFOXYBO_cjs.red[600],
574
- ...buildChromaticPreset("Red", "red", chunkQEFOXYBO_cjs.red)
573
+ swatch: chunkZBGR7MUW_cjs.red[600],
574
+ ...buildChromaticPreset("Red", "red", chunkZBGR7MUW_cjs.red)
575
575
  },
576
576
  {
577
- swatch: chunkQEFOXYBO_cjs.teal[600],
578
- ...buildChromaticPreset("Teal", "teal", chunkQEFOXYBO_cjs.teal)
577
+ swatch: chunkZBGR7MUW_cjs.teal[600],
578
+ ...buildChromaticPreset("Teal", "teal", chunkZBGR7MUW_cjs.teal)
579
579
  },
580
580
  {
581
- swatch: chunkQEFOXYBO_cjs.brand[600],
582
- ...buildChromaticPreset("Brand", "brand", chunkQEFOXYBO_cjs.brand)
581
+ swatch: chunkZBGR7MUW_cjs.brand[600],
582
+ ...buildChromaticPreset("Brand", "brand", chunkZBGR7MUW_cjs.brand)
583
583
  }
584
584
  ];
585
585
  function getColorPreset(key) {
@@ -1858,7 +1858,7 @@ var Button = forwardRef(
1858
1858
  loading && /* @__PURE__ */ jsx(ButtonSpinner, { className: size === "sm" ? "size-3.5" : "size-4" }),
1859
1859
  loading && loadingText ? /* @__PURE__ */ jsx("span", { children: loadingText }) : /* @__PURE__ */ jsxs(Fragment, { children: [
1860
1860
  !loading && iconLeft && /* @__PURE__ */ jsx("span", { className: "shrink-0", "aria-hidden": "true", children: iconLeft }),
1861
- children && /* @__PURE__ */ jsx("span", { className: cn(loading && !loadingText && "invisible"), children }),
1861
+ children && /* @__PURE__ */ jsx("span", { className: cn("inline-flex items-center gap-[inherit]", loading && !loadingText && "invisible"), children }),
1862
1862
  !loading && iconRight && /* @__PURE__ */ jsx("span", { className: "shrink-0", "aria-hidden": "true", children: iconRight })
1863
1863
  ] })
1864
1864
  ]
@@ -2343,21 +2343,17 @@ var CardContext = createContext({ padding: "compact" });
2343
2343
  function useCardContext() {
2344
2344
  return useContext(CardContext);
2345
2345
  }
2346
- var cardPaddingMap = {
2347
- compact: "p-(--ds-padding-card)",
2348
- comfortable: "p-6"
2349
- };
2350
2346
  var slotPaddingXMap = {
2351
2347
  compact: "px-(--ds-padding-card)",
2352
2348
  comfortable: "px-6"
2353
2349
  };
2354
- var slotPaddingTopMap = {
2355
- compact: "pt-(--ds-padding-card)",
2356
- comfortable: "pt-6"
2350
+ var cardVerticalPaddingMap = {
2351
+ compact: "py-(--ds-padding-card)",
2352
+ comfortable: "py-6"
2357
2353
  };
2358
- var slotPaddingBottomMap = {
2359
- compact: "pb-(--ds-padding-card)",
2360
- comfortable: "pb-6"
2354
+ var cardGapMap = {
2355
+ compact: "gap-(--ds-gap-default,0.75rem)",
2356
+ comfortable: "gap-4"
2361
2357
  };
2362
2358
  var cardVariants = cva(
2363
2359
  // Base styles — shared across all variants
@@ -2451,6 +2447,8 @@ var Card = forwardRef(function Card2({
2451
2447
  className: cn(
2452
2448
  "not-prose",
2453
2449
  cardVariants({ variant, fullWidth }),
2450
+ cardVerticalPaddingMap[padding],
2451
+ cardGapMap[padding],
2454
2452
  className
2455
2453
  ),
2456
2454
  "data-ds": "",
@@ -2478,9 +2476,7 @@ var CardHeader = forwardRef(
2478
2476
  className: cn(
2479
2477
  "flex flex-col gap-1.5",
2480
2478
  slotPaddingXMap[padding],
2481
- slotPaddingTopMap[padding],
2482
- slotPaddingBottomMap[padding],
2483
- bordered && "border-b border-border-muted",
2479
+ bordered && "pb-(--ds-padding-card) border-b border-border-muted",
2484
2480
  className
2485
2481
  ),
2486
2482
  "data-ds": "",
@@ -2501,7 +2497,7 @@ var CardBody = forwardRef(
2501
2497
  ref,
2502
2498
  className: cn(
2503
2499
  "flex flex-col gap-2 flex-1",
2504
- cardPaddingMap[padding],
2500
+ slotPaddingXMap[padding],
2505
2501
  className
2506
2502
  ),
2507
2503
  "data-ds": "",
@@ -2523,9 +2519,7 @@ var CardFooter = forwardRef(
2523
2519
  className: cn(
2524
2520
  "flex items-center gap-2",
2525
2521
  slotPaddingXMap[padding],
2526
- slotPaddingTopMap[padding],
2527
- slotPaddingBottomMap[padding],
2528
- bordered && "border-t border-border-muted",
2522
+ bordered && "pt-(--ds-padding-card) border-t border-border-muted",
2529
2523
  alignMap[align],
2530
2524
  className
2531
2525
  ),
@@ -2903,7 +2897,7 @@ var Checkbox = forwardRef(function Checkbox2({
2903
2897
  )
2904
2898
  }
2905
2899
  ),
2906
- (label || description) && /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-0.5", children: [
2900
+ (label || description) && /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-0.5 flex-1 min-w-0", children: [
2907
2901
  label && /* @__PURE__ */ jsx(
2908
2902
  "label",
2909
2903
  {
@@ -8529,7 +8523,7 @@ function Dropdown({
8529
8523
  "div",
8530
8524
  {
8531
8525
  className: cn(
8532
- "absolute top-full z-[var(--z-dropdown,40)] mt-1",
8526
+ "absolute top-full z-[var(--z-dropdown)] mt-1",
8533
8527
  align === "end" ? "right-0" : "left-0",
8534
8528
  "min-w-[8rem] rounded-md py-1",
8535
8529
  "border border-border bg-popover text-popover-foreground",
@@ -13764,7 +13758,7 @@ var RadioGroupItem = forwardRef(function RadioGroupItem2({ value, label, descrip
13764
13758
  )
13765
13759
  }
13766
13760
  ),
13767
- (label || description) && /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-0.5 min-w-0", children: [
13761
+ (label || description) && /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-0.5 min-w-0 flex-1", children: [
13768
13762
  label && /* @__PURE__ */ jsx(
13769
13763
  "label",
13770
13764
  {
@@ -16579,7 +16573,7 @@ var Switch = forwardRef(function Switch2({
16579
16573
  if (!label) {
16580
16574
  return switchElement;
16581
16575
  }
16582
- const labelBlock = /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-0.5", children: [
16576
+ const labelBlock = /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-0.5 flex-1 min-w-0", children: [
16583
16577
  /* @__PURE__ */ jsx(
16584
16578
  "label",
16585
16579
  {
@@ -16611,7 +16605,7 @@ var Switch = forwardRef(function Switch2({
16611
16605
  "div",
16612
16606
  {
16613
16607
  className: cn(
16614
- "inline-flex items-center gap-3",
16608
+ "flex items-center gap-3",
16615
16609
  // Reverse order when label is on the left
16616
16610
  labelPosition === "left" ? "flex-row" : "flex-row-reverse",
16617
16611
  // Align to start when description is present
@@ -1,4 +1,4 @@
1
- import { blue, red, amber, green, zinc, slate, gray, teal, brand, zIndex, shadow, radius, semanticLight, shadowDark, semanticDark } from './chunk-TVCJRD3S.mjs';
1
+ import { blue, red, amber, green, zinc, slate, gray, teal, brand, zIndex, shadow, radius, semanticLight, shadowDark, semanticDark } from './chunk-IVZAB7BV.mjs';
2
2
  import { fontFamily } from './chunk-ITBG42M5.mjs';
3
3
  import { easingCSS, durationCSS } from './chunk-EZ2L3XPS.mjs';
4
4
  import { cn } from './chunk-ZT3PCXDF.mjs';