@nextlyhq/ui 0.0.2-alpha.42 → 0.0.2-alpha.44
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/dist/index.cjs +82 -46
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +26 -15
- package/dist/index.d.ts +26 -15
- package/dist/index.mjs +82 -46
- package/dist/index.mjs.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/styles.scoped.css +1 -1
- package/dist/theme.css +137 -33
- package/docs/plugin-ui-authoring.md +55 -5
- package/package.json +4 -4
package/dist/index.d.cts
CHANGED
|
@@ -67,7 +67,7 @@ declare const Button: react.ForwardRefExoticComponent<ButtonProps & react.RefAtt
|
|
|
67
67
|
* Design Specs:
|
|
68
68
|
* - Height: sm=32px, default=40px, lg=44px
|
|
69
69
|
* - Padding: Horizontal varies by size (sm=10px, default=12px, lg=16px)
|
|
70
|
-
* - Border radius:
|
|
70
|
+
* - Border radius: `rounded-md`, the control step of the `--radius` scale
|
|
71
71
|
* - Border: 1px solid, changes on focus/error
|
|
72
72
|
* - Transition: 150ms (consistent with design system)
|
|
73
73
|
* - Font size: sm/default=14px (text-sm), lg=16px (text-base)
|
|
@@ -148,7 +148,7 @@ declare function Badge({ className, variant, ...props }: BadgeProps): react_jsx_
|
|
|
148
148
|
* Cards provide a structured layout with header, content, and footer sections.
|
|
149
149
|
*
|
|
150
150
|
* Design Specs:
|
|
151
|
-
* - Border radius:
|
|
151
|
+
* - Border radius: `rounded-lg`, the container step of the `--radius` scale
|
|
152
152
|
* - Padding: 24px (p-6) for header/content, 16px 24px for footer
|
|
153
153
|
* - Shadow: sm (default), md (hover/elevated)
|
|
154
154
|
* - Border: 1px solid border border-border color
|
|
@@ -252,7 +252,7 @@ declare const Stat: react.ForwardRefExoticComponent<StatProps & react.RefAttribu
|
|
|
252
252
|
*
|
|
253
253
|
* Design Specs:
|
|
254
254
|
* - Padding: 16px (p-4)
|
|
255
|
-
* - Border radius:
|
|
255
|
+
* - Border radius: `rounded-md`, one step tighter than Card's `rounded-lg`
|
|
256
256
|
* for inline/flow content vs. larger container components
|
|
257
257
|
* - Border: 1px solid matching variant color
|
|
258
258
|
* - Shadow: sm (subtle elevation)
|
|
@@ -367,7 +367,7 @@ declare function Separator({ className, orientation, decorative, ...props }: rea
|
|
|
367
367
|
* @design_specs
|
|
368
368
|
* - Background: bg-accent (slate-100 in light mode, slate-800 in dark mode)
|
|
369
369
|
* - Animation: animate-pulse with motion-reduce:animate-none (respects prefers-reduced-motion)
|
|
370
|
-
* - Border-radius:
|
|
370
|
+
* - Border-radius: `rounded-md` by default; override per placeholder shape
|
|
371
371
|
* - Contrast: 3:1 minimum for WCAG 1.4.11 (Non-text Contrast) compliance
|
|
372
372
|
*
|
|
373
373
|
* @accessibility
|
|
@@ -387,13 +387,13 @@ declare function Separator({ className, orientation, decorative, ...props }: rea
|
|
|
387
387
|
*
|
|
388
388
|
* **Avatar Skeleton:**
|
|
389
389
|
* ```tsx
|
|
390
|
-
* <Skeleton className="h-12 w-12 rounded-
|
|
390
|
+
* <Skeleton className="h-12 w-12 rounded-md" />
|
|
391
391
|
* ```
|
|
392
392
|
*
|
|
393
393
|
* **Card Skeleton:**
|
|
394
394
|
* ```tsx
|
|
395
395
|
* <div className="space-y-3">
|
|
396
|
-
* <Skeleton className="h-[125px] w-[250px] rounded-
|
|
396
|
+
* <Skeleton className="h-[125px] w-[250px] rounded-lg" />
|
|
397
397
|
* <div className="space-y-2">
|
|
398
398
|
* <Skeleton className="h-4 w-[250px]" />
|
|
399
399
|
* <Skeleton className="h-4 w-[200px]" />
|
|
@@ -407,7 +407,7 @@ declare function Separator({ className, orientation, decorative, ...props }: rea
|
|
|
407
407
|
* {isLoading ? (
|
|
408
408
|
* <>
|
|
409
409
|
* <span className="sr-only">Loading user profile...</span>
|
|
410
|
-
* <Skeleton className="h-12 w-12 rounded-
|
|
410
|
+
* <Skeleton className="h-12 w-12 rounded-md" />
|
|
411
411
|
* <Skeleton className="h-4 w-[200px]" />
|
|
412
412
|
* </>
|
|
413
413
|
* ) : (
|
|
@@ -577,7 +577,10 @@ declare const Checkbox: react.ForwardRefExoticComponent<Omit<CheckboxPrimitive.C
|
|
|
577
577
|
* Design Specs:
|
|
578
578
|
* - Size: 16px (h-4 w-4) - Fixed size matching Checkbox
|
|
579
579
|
* - Border: 1px solid, expands to 5px when checked (visual indicator)
|
|
580
|
-
* - Border radius:
|
|
580
|
+
* - Border radius: `rounded-full`. Round means "pick one" and square means
|
|
581
|
+
* "pick many"; a square radio would announce the wrong behaviour, so the
|
|
582
|
+
* shape is fixed and deliberately outside the `--radius` scale. Checkbox
|
|
583
|
+
* keeps the derived radius for the same reason.
|
|
581
584
|
* - Transition: 150ms (consistent with design system)
|
|
582
585
|
* - Focus ring: 2px ring with 2px offset
|
|
583
586
|
*
|
|
@@ -590,6 +593,11 @@ declare const Checkbox: react.ForwardRefExoticComponent<Omit<CheckboxPrimitive.C
|
|
|
590
593
|
declare const RadioGroup: react.ForwardRefExoticComponent<Omit<RadioGroupPrimitive.RadioGroupProps & react.RefAttributes<HTMLDivElement>, "ref"> & react.RefAttributes<HTMLDivElement>>;
|
|
591
594
|
declare const RadioGroupItem: react.ForwardRefExoticComponent<Omit<RadioGroupPrimitive.RadioGroupItemProps & react.RefAttributes<HTMLButtonElement>, "ref"> & react.RefAttributes<HTMLButtonElement>>;
|
|
592
595
|
|
|
596
|
+
/**
|
|
597
|
+
* A pill track carrying a circular thumb is how a toggle is recognised, so both
|
|
598
|
+
* parts use `rounded-full` and stay outside the `--radius` scale: at any theme
|
|
599
|
+
* radius the switch must still read as a switch and not as a small checkbox.
|
|
600
|
+
*/
|
|
593
601
|
declare function Switch({ className, ...props }: ComponentProps<typeof Root$1>): react_jsx_runtime.JSX.Element;
|
|
594
602
|
|
|
595
603
|
declare const Collapsible: react.ForwardRefExoticComponent<CollapsiblePrimitive.CollapsibleProps & react.RefAttributes<HTMLDivElement>>;
|
|
@@ -785,7 +793,9 @@ declare const AccordionContent: react.ForwardRefExoticComponent<Omit<AccordionPr
|
|
|
785
793
|
* - 2xl: 80px (h-20 w-20) - For profile headers, large avatars
|
|
786
794
|
*
|
|
787
795
|
* **Design Specs**:
|
|
788
|
-
* - Border radius: rounded-
|
|
796
|
+
* - Border radius: `rounded-full`. A person's avatar is read as a circle, so it
|
|
797
|
+
* sits outside the `--radius` scale and stays circular at any theme radius.
|
|
798
|
+
* Non-identity content (media thumbnails) overrides back to a scale step.
|
|
789
799
|
* - Background: bg-accent (slate-100 light, slate-800 dark)
|
|
790
800
|
* - Text color: text-accent-foreground (slate-900 light, slate-100 dark)
|
|
791
801
|
* - Fallback text scales with avatar size (text-xs to text-2xl)
|
|
@@ -958,8 +968,9 @@ type TabsContentProps = ComponentPropsWithoutRef<typeof Content$1>;
|
|
|
958
968
|
* Built on Radix UI primitives with WAI-ARIA compliance.
|
|
959
969
|
*
|
|
960
970
|
* Design Specs:
|
|
961
|
-
* - TabsList border-radius:
|
|
962
|
-
* - TabsTrigger border-radius:
|
|
971
|
+
* - TabsList border-radius: square, independent of `--radius`
|
|
972
|
+
* - TabsTrigger border-radius: square, independent of `--radius`; the active
|
|
973
|
+
* state is a 2px bottom border that has to stay flush with the tab edges
|
|
963
974
|
* - TabsList height: 40px (h-10)
|
|
964
975
|
* - TabsTrigger padding: 12px 24px (px-3 py-1.5)
|
|
965
976
|
* - Transition duration: 150ms (design system standard)
|
|
@@ -1113,7 +1124,7 @@ declare const PopoverContent: react.ForwardRefExoticComponent<Omit<PopoverPrimit
|
|
|
1113
1124
|
* ```
|
|
1114
1125
|
*
|
|
1115
1126
|
* @design-spec
|
|
1116
|
-
* - Border-radius:
|
|
1127
|
+
* - Border-radius: `rounded-lg`, the container step of the `--radius` scale
|
|
1117
1128
|
* - Max-width: 512px (default), responsive sizes available
|
|
1118
1129
|
* - Backdrop: black/80 with blur effect
|
|
1119
1130
|
* - Padding: 24px (p-6)
|
|
@@ -1258,7 +1269,7 @@ declare const AlertDialogCancel: react.ForwardRefExoticComponent<Omit<AlertDialo
|
|
|
1258
1269
|
* Provides context menus, action menus, and navigation menus with full keyboard support.
|
|
1259
1270
|
*
|
|
1260
1271
|
* **Design Specifications**:
|
|
1261
|
-
* - Border-radius:
|
|
1272
|
+
* - Border-radius: `rounded-lg` for the menu surface, `rounded-sm` for items
|
|
1262
1273
|
* - Padding: 4px (p-1) - compact spacing for menu items
|
|
1263
1274
|
* - Shadow: shadow-md - floating element elevation
|
|
1264
1275
|
* - Z-index: z-50 - above most content, below modals
|
|
@@ -1437,7 +1448,7 @@ type DropdownMenuShortcutProps = react.HTMLAttributes<HTMLSpanElement>;
|
|
|
1437
1448
|
* Design Specs:
|
|
1438
1449
|
* - Height: sm=32px, default=40px, lg=44px (matches Input component)
|
|
1439
1450
|
* - Padding: Horizontal 12px, vertical varies by size
|
|
1440
|
-
* - Border radius:
|
|
1451
|
+
* - Border radius: `rounded-md` on the trigger, `rounded-lg` on the panel
|
|
1441
1452
|
* - Border: 1px solid, changes on focus/error
|
|
1442
1453
|
* - Transition: 150ms (consistent with design system)
|
|
1443
1454
|
* - Font size: sm/default=14px (text-sm), lg=16px (text-base)
|
|
@@ -1686,7 +1697,7 @@ type SheetDescriptionRef = React.ElementRef<typeof DialogPrimitive.Description>;
|
|
|
1686
1697
|
* @design-spec
|
|
1687
1698
|
* - Input height: 48px (h-12) - larger for prominence
|
|
1688
1699
|
* - Item height: 36px (h-9) desktop, 44px (h-11) mobile for touch
|
|
1689
|
-
* - Border radius:
|
|
1700
|
+
* - Border radius: `rounded-lg` for the panel, `rounded-sm` for items
|
|
1690
1701
|
* - Max list height: 400px (max-h-[400px])
|
|
1691
1702
|
* - Transition: 150ms per design system
|
|
1692
1703
|
*
|
package/dist/index.d.ts
CHANGED
|
@@ -67,7 +67,7 @@ declare const Button: react.ForwardRefExoticComponent<ButtonProps & react.RefAtt
|
|
|
67
67
|
* Design Specs:
|
|
68
68
|
* - Height: sm=32px, default=40px, lg=44px
|
|
69
69
|
* - Padding: Horizontal varies by size (sm=10px, default=12px, lg=16px)
|
|
70
|
-
* - Border radius:
|
|
70
|
+
* - Border radius: `rounded-md`, the control step of the `--radius` scale
|
|
71
71
|
* - Border: 1px solid, changes on focus/error
|
|
72
72
|
* - Transition: 150ms (consistent with design system)
|
|
73
73
|
* - Font size: sm/default=14px (text-sm), lg=16px (text-base)
|
|
@@ -148,7 +148,7 @@ declare function Badge({ className, variant, ...props }: BadgeProps): react_jsx_
|
|
|
148
148
|
* Cards provide a structured layout with header, content, and footer sections.
|
|
149
149
|
*
|
|
150
150
|
* Design Specs:
|
|
151
|
-
* - Border radius:
|
|
151
|
+
* - Border radius: `rounded-lg`, the container step of the `--radius` scale
|
|
152
152
|
* - Padding: 24px (p-6) for header/content, 16px 24px for footer
|
|
153
153
|
* - Shadow: sm (default), md (hover/elevated)
|
|
154
154
|
* - Border: 1px solid border border-border color
|
|
@@ -252,7 +252,7 @@ declare const Stat: react.ForwardRefExoticComponent<StatProps & react.RefAttribu
|
|
|
252
252
|
*
|
|
253
253
|
* Design Specs:
|
|
254
254
|
* - Padding: 16px (p-4)
|
|
255
|
-
* - Border radius:
|
|
255
|
+
* - Border radius: `rounded-md`, one step tighter than Card's `rounded-lg`
|
|
256
256
|
* for inline/flow content vs. larger container components
|
|
257
257
|
* - Border: 1px solid matching variant color
|
|
258
258
|
* - Shadow: sm (subtle elevation)
|
|
@@ -367,7 +367,7 @@ declare function Separator({ className, orientation, decorative, ...props }: rea
|
|
|
367
367
|
* @design_specs
|
|
368
368
|
* - Background: bg-accent (slate-100 in light mode, slate-800 in dark mode)
|
|
369
369
|
* - Animation: animate-pulse with motion-reduce:animate-none (respects prefers-reduced-motion)
|
|
370
|
-
* - Border-radius:
|
|
370
|
+
* - Border-radius: `rounded-md` by default; override per placeholder shape
|
|
371
371
|
* - Contrast: 3:1 minimum for WCAG 1.4.11 (Non-text Contrast) compliance
|
|
372
372
|
*
|
|
373
373
|
* @accessibility
|
|
@@ -387,13 +387,13 @@ declare function Separator({ className, orientation, decorative, ...props }: rea
|
|
|
387
387
|
*
|
|
388
388
|
* **Avatar Skeleton:**
|
|
389
389
|
* ```tsx
|
|
390
|
-
* <Skeleton className="h-12 w-12 rounded-
|
|
390
|
+
* <Skeleton className="h-12 w-12 rounded-md" />
|
|
391
391
|
* ```
|
|
392
392
|
*
|
|
393
393
|
* **Card Skeleton:**
|
|
394
394
|
* ```tsx
|
|
395
395
|
* <div className="space-y-3">
|
|
396
|
-
* <Skeleton className="h-[125px] w-[250px] rounded-
|
|
396
|
+
* <Skeleton className="h-[125px] w-[250px] rounded-lg" />
|
|
397
397
|
* <div className="space-y-2">
|
|
398
398
|
* <Skeleton className="h-4 w-[250px]" />
|
|
399
399
|
* <Skeleton className="h-4 w-[200px]" />
|
|
@@ -407,7 +407,7 @@ declare function Separator({ className, orientation, decorative, ...props }: rea
|
|
|
407
407
|
* {isLoading ? (
|
|
408
408
|
* <>
|
|
409
409
|
* <span className="sr-only">Loading user profile...</span>
|
|
410
|
-
* <Skeleton className="h-12 w-12 rounded-
|
|
410
|
+
* <Skeleton className="h-12 w-12 rounded-md" />
|
|
411
411
|
* <Skeleton className="h-4 w-[200px]" />
|
|
412
412
|
* </>
|
|
413
413
|
* ) : (
|
|
@@ -577,7 +577,10 @@ declare const Checkbox: react.ForwardRefExoticComponent<Omit<CheckboxPrimitive.C
|
|
|
577
577
|
* Design Specs:
|
|
578
578
|
* - Size: 16px (h-4 w-4) - Fixed size matching Checkbox
|
|
579
579
|
* - Border: 1px solid, expands to 5px when checked (visual indicator)
|
|
580
|
-
* - Border radius:
|
|
580
|
+
* - Border radius: `rounded-full`. Round means "pick one" and square means
|
|
581
|
+
* "pick many"; a square radio would announce the wrong behaviour, so the
|
|
582
|
+
* shape is fixed and deliberately outside the `--radius` scale. Checkbox
|
|
583
|
+
* keeps the derived radius for the same reason.
|
|
581
584
|
* - Transition: 150ms (consistent with design system)
|
|
582
585
|
* - Focus ring: 2px ring with 2px offset
|
|
583
586
|
*
|
|
@@ -590,6 +593,11 @@ declare const Checkbox: react.ForwardRefExoticComponent<Omit<CheckboxPrimitive.C
|
|
|
590
593
|
declare const RadioGroup: react.ForwardRefExoticComponent<Omit<RadioGroupPrimitive.RadioGroupProps & react.RefAttributes<HTMLDivElement>, "ref"> & react.RefAttributes<HTMLDivElement>>;
|
|
591
594
|
declare const RadioGroupItem: react.ForwardRefExoticComponent<Omit<RadioGroupPrimitive.RadioGroupItemProps & react.RefAttributes<HTMLButtonElement>, "ref"> & react.RefAttributes<HTMLButtonElement>>;
|
|
592
595
|
|
|
596
|
+
/**
|
|
597
|
+
* A pill track carrying a circular thumb is how a toggle is recognised, so both
|
|
598
|
+
* parts use `rounded-full` and stay outside the `--radius` scale: at any theme
|
|
599
|
+
* radius the switch must still read as a switch and not as a small checkbox.
|
|
600
|
+
*/
|
|
593
601
|
declare function Switch({ className, ...props }: ComponentProps<typeof Root$1>): react_jsx_runtime.JSX.Element;
|
|
594
602
|
|
|
595
603
|
declare const Collapsible: react.ForwardRefExoticComponent<CollapsiblePrimitive.CollapsibleProps & react.RefAttributes<HTMLDivElement>>;
|
|
@@ -785,7 +793,9 @@ declare const AccordionContent: react.ForwardRefExoticComponent<Omit<AccordionPr
|
|
|
785
793
|
* - 2xl: 80px (h-20 w-20) - For profile headers, large avatars
|
|
786
794
|
*
|
|
787
795
|
* **Design Specs**:
|
|
788
|
-
* - Border radius: rounded-
|
|
796
|
+
* - Border radius: `rounded-full`. A person's avatar is read as a circle, so it
|
|
797
|
+
* sits outside the `--radius` scale and stays circular at any theme radius.
|
|
798
|
+
* Non-identity content (media thumbnails) overrides back to a scale step.
|
|
789
799
|
* - Background: bg-accent (slate-100 light, slate-800 dark)
|
|
790
800
|
* - Text color: text-accent-foreground (slate-900 light, slate-100 dark)
|
|
791
801
|
* - Fallback text scales with avatar size (text-xs to text-2xl)
|
|
@@ -958,8 +968,9 @@ type TabsContentProps = ComponentPropsWithoutRef<typeof Content$1>;
|
|
|
958
968
|
* Built on Radix UI primitives with WAI-ARIA compliance.
|
|
959
969
|
*
|
|
960
970
|
* Design Specs:
|
|
961
|
-
* - TabsList border-radius:
|
|
962
|
-
* - TabsTrigger border-radius:
|
|
971
|
+
* - TabsList border-radius: square, independent of `--radius`
|
|
972
|
+
* - TabsTrigger border-radius: square, independent of `--radius`; the active
|
|
973
|
+
* state is a 2px bottom border that has to stay flush with the tab edges
|
|
963
974
|
* - TabsList height: 40px (h-10)
|
|
964
975
|
* - TabsTrigger padding: 12px 24px (px-3 py-1.5)
|
|
965
976
|
* - Transition duration: 150ms (design system standard)
|
|
@@ -1113,7 +1124,7 @@ declare const PopoverContent: react.ForwardRefExoticComponent<Omit<PopoverPrimit
|
|
|
1113
1124
|
* ```
|
|
1114
1125
|
*
|
|
1115
1126
|
* @design-spec
|
|
1116
|
-
* - Border-radius:
|
|
1127
|
+
* - Border-radius: `rounded-lg`, the container step of the `--radius` scale
|
|
1117
1128
|
* - Max-width: 512px (default), responsive sizes available
|
|
1118
1129
|
* - Backdrop: black/80 with blur effect
|
|
1119
1130
|
* - Padding: 24px (p-6)
|
|
@@ -1258,7 +1269,7 @@ declare const AlertDialogCancel: react.ForwardRefExoticComponent<Omit<AlertDialo
|
|
|
1258
1269
|
* Provides context menus, action menus, and navigation menus with full keyboard support.
|
|
1259
1270
|
*
|
|
1260
1271
|
* **Design Specifications**:
|
|
1261
|
-
* - Border-radius:
|
|
1272
|
+
* - Border-radius: `rounded-lg` for the menu surface, `rounded-sm` for items
|
|
1262
1273
|
* - Padding: 4px (p-1) - compact spacing for menu items
|
|
1263
1274
|
* - Shadow: shadow-md - floating element elevation
|
|
1264
1275
|
* - Z-index: z-50 - above most content, below modals
|
|
@@ -1437,7 +1448,7 @@ type DropdownMenuShortcutProps = react.HTMLAttributes<HTMLSpanElement>;
|
|
|
1437
1448
|
* Design Specs:
|
|
1438
1449
|
* - Height: sm=32px, default=40px, lg=44px (matches Input component)
|
|
1439
1450
|
* - Padding: Horizontal 12px, vertical varies by size
|
|
1440
|
-
* - Border radius:
|
|
1451
|
+
* - Border radius: `rounded-md` on the trigger, `rounded-lg` on the panel
|
|
1441
1452
|
* - Border: 1px solid, changes on focus/error
|
|
1442
1453
|
* - Transition: 150ms (consistent with design system)
|
|
1443
1454
|
* - Font size: sm/default=14px (text-sm), lg=16px (text-base)
|
|
@@ -1686,7 +1697,7 @@ type SheetDescriptionRef = React.ElementRef<typeof DialogPrimitive.Description>;
|
|
|
1686
1697
|
* @design-spec
|
|
1687
1698
|
* - Input height: 48px (h-12) - larger for prominence
|
|
1688
1699
|
* - Item height: 36px (h-9) desktop, 44px (h-11) mobile for touch
|
|
1689
|
-
* - Border radius:
|
|
1700
|
+
* - Border radius: `rounded-lg` for the panel, `rounded-sm` for items
|
|
1690
1701
|
* - Max list height: 400px (max-h-[400px])
|
|
1691
1702
|
* - Transition: 150ms per design system
|
|
1692
1703
|
*
|