@journ/bloom 0.1.1 → 0.1.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.
Files changed (134) hide show
  1. package/DESIGN.md +3 -2
  2. package/dist/accordion-parts.d.ts +5 -5
  3. package/dist/accordion.d.ts +2 -2
  4. package/dist/alert-dialog-parts.d.ts +13 -11
  5. package/dist/alert-dialog.d.ts +5 -5
  6. package/dist/alert.d.ts +12 -37
  7. package/dist/animated-size.d.ts +3 -2
  8. package/dist/avatar-parts.d.ts +5 -4
  9. package/dist/badge.d.ts +7 -35
  10. package/dist/breadcrumbs.d.ts +7 -7
  11. package/dist/bulk-bar.d.ts +4 -4
  12. package/dist/button.d.ts +11 -36
  13. package/dist/calendar-parts.d.ts +18 -12
  14. package/dist/calendar-parts.js +5 -1
  15. package/dist/calendar.d.ts +3 -3
  16. package/dist/card.d.ts +13 -38
  17. package/dist/carousel-parts.d.ts +8 -7
  18. package/dist/carousel-parts.js +1 -1
  19. package/dist/checkbox-parts.d.ts +3 -3
  20. package/dist/chip.d.ts +11 -30
  21. package/dist/collapsible-parts.d.ts +4 -4
  22. package/dist/collapsible.d.ts +3 -3
  23. package/dist/combobox-parts.d.ts +17 -16
  24. package/dist/combobox-parts.js +7 -2
  25. package/dist/combobox.d.ts +5 -10
  26. package/dist/command-palette-parts.d.ts +4 -3
  27. package/dist/command-palette-parts.js +2 -1
  28. package/dist/command-palette.d.ts +3 -3
  29. package/dist/composer.d.ts +3 -3
  30. package/dist/context-menu-parts.d.ts +9 -12
  31. package/dist/context-menu-parts.js +5 -1
  32. package/dist/context-menu.d.ts +8 -15
  33. package/dist/currency-input-parts.d.ts +3 -3
  34. package/dist/currency-input.d.ts +2 -2
  35. package/dist/data-table-parts.d.ts +12 -5
  36. package/dist/data-table-parts.js +7 -1
  37. package/dist/data-table.d.ts +5 -5
  38. package/dist/date-input-parts.d.ts +3 -3
  39. package/dist/date-input.d.ts +2 -2
  40. package/dist/date-picker-parts.d.ts +9 -7
  41. package/dist/date-picker-parts.js +7 -2
  42. package/dist/date-picker.d.ts +6 -11
  43. package/dist/date-range-picker-parts.d.ts +9 -7
  44. package/dist/date-range-picker-parts.js +7 -2
  45. package/dist/date-range-picker.d.ts +6 -11
  46. package/dist/description-list.d.ts +4 -4
  47. package/dist/dialog-parts.d.ts +12 -10
  48. package/dist/dialog.d.ts +4 -4
  49. package/dist/divider.d.ts +2 -2
  50. package/dist/drawer-parts.d.ts +9 -8
  51. package/dist/drawer.d.ts +4 -4
  52. package/dist/dropdown-menu-parts.d.ts +9 -12
  53. package/dist/dropdown-menu-parts.js +5 -1
  54. package/dist/dropdown-menu.d.ts +8 -15
  55. package/dist/empty-state.d.ts +6 -6
  56. package/dist/field-parts.d.ts +6 -6
  57. package/dist/field.d.ts +2 -2
  58. package/dist/file-dropzone-parts.d.ts +8 -6
  59. package/dist/file-dropzone-parts.js +2 -1
  60. package/dist/heading.d.ts +5 -26
  61. package/dist/hover-card-parts.d.ts +4 -4
  62. package/dist/hover-card.d.ts +3 -3
  63. package/dist/icon-button.d.ts +11 -41
  64. package/dist/icon.d.ts +6 -26
  65. package/dist/index.d.ts +3 -2
  66. package/dist/index.js +2 -1
  67. package/dist/input.d.ts +3 -3
  68. package/dist/lib/icon-tile.d.ts +5 -28
  69. package/dist/lib/menu-parts.d.ts +12 -16
  70. package/dist/lib/modal-content.d.ts +2 -2
  71. package/dist/lib/modal-parts.d.ts +3 -3
  72. package/dist/lib/overlay.d.ts +8 -31
  73. package/dist/lib/picker.d.ts +9 -7
  74. package/dist/lib/theme.d.ts +8 -8
  75. package/dist/lib/tones.d.ts +12 -42
  76. package/dist/lib/tv.d.ts +6 -1
  77. package/dist/lib/use-enter.d.ts +8 -11
  78. package/dist/lib/use-enter.js +1 -1
  79. package/dist/link.d.ts +3 -3
  80. package/dist/list-row.d.ts +30 -0
  81. package/dist/list-row.js +73 -0
  82. package/dist/markdown.d.ts +3 -2
  83. package/dist/message.d.ts +7 -6
  84. package/dist/month-picker.d.ts +2 -2
  85. package/dist/month-stepper-parts.d.ts +6 -5
  86. package/dist/multiple-selector-parts.d.ts +11 -12
  87. package/dist/multiple-selector-parts.js +5 -2
  88. package/dist/multiple-selector.d.ts +4 -9
  89. package/dist/nav-bar.d.ts +3 -3
  90. package/dist/navigation-menu-parts.d.ts +8 -7
  91. package/dist/navigation-menu.d.ts +2 -2
  92. package/dist/otp-input-parts.d.ts +4 -4
  93. package/dist/otp-input.d.ts +2 -2
  94. package/dist/page-header.d.ts +4 -4
  95. package/dist/page.d.ts +10 -37
  96. package/dist/pagination.d.ts +7 -7
  97. package/dist/pill-select.d.ts +2 -2
  98. package/dist/popover-parts.d.ts +5 -5
  99. package/dist/popover.d.ts +4 -4
  100. package/dist/progress-parts.d.ts +7 -33
  101. package/dist/quantity-input-parts.d.ts +6 -5
  102. package/dist/radio-parts.d.ts +4 -3
  103. package/dist/scroll-area-parts.d.ts +6 -5
  104. package/dist/scroll-area.d.ts +2 -2
  105. package/dist/select-parts.d.ts +10 -9
  106. package/dist/select.d.ts +4 -4
  107. package/dist/sheet-parts.d.ts +5 -26
  108. package/dist/sheet.d.ts +4 -4
  109. package/dist/sidebar.d.ts +10 -10
  110. package/dist/skeleton.d.ts +2 -2
  111. package/dist/slider-parts.d.ts +5 -5
  112. package/dist/spinner.d.ts +2 -2
  113. package/dist/stack-parts.d.ts +10 -35
  114. package/dist/stat.d.ts +5 -5
  115. package/dist/step-button.d.ts +5 -3
  116. package/dist/stepper-parts.d.ts +6 -6
  117. package/dist/styles.css +1 -1
  118. package/dist/switch-parts.d.ts +3 -3
  119. package/dist/table.d.ts +8 -8
  120. package/dist/tabs-parts.d.ts +5 -5
  121. package/dist/tag-input-parts.d.ts +8 -7
  122. package/dist/tag-input-parts.js +1 -1
  123. package/dist/text-morph.d.ts +3 -2
  124. package/dist/text-shimmer.d.ts +3 -3
  125. package/dist/text.d.ts +8 -35
  126. package/dist/textarea.d.ts +2 -2
  127. package/dist/time-range-parts.d.ts +5 -5
  128. package/dist/time-range.d.ts +2 -2
  129. package/dist/toast-parts.d.ts +6 -6
  130. package/dist/toggle-group-parts.d.ts +3 -3
  131. package/dist/tooltip-parts.d.ts +5 -5
  132. package/dist/tooltip.d.ts +4 -4
  133. package/dist/touch-target.d.ts +2 -1
  134. package/package.json +3 -3
package/DESIGN.md CHANGED
@@ -88,7 +88,7 @@ Every pressable thing shares `src/lib/interactive.ts`:
88
88
  - Disabled and `aria-disabled` dim to 50% and ignore pointer events.
89
89
  - `TouchTarget` expands the hit area to at least 44x44px on touch devices only.
90
90
 
91
- Use `Button`, `IconButton` or `NavBar.Item` for anything pressable. Do not hand-roll pressable elements.
91
+ Use `Button`, `IconButton`, `NavBar.Item`, `ListRow.Button` or `ListRow.Link` for anything pressable. Do not hand-roll pressable elements.
92
92
 
93
93
  ### Shared building blocks
94
94
 
@@ -166,7 +166,7 @@ Follow the composable pattern (`folio kb get react-composition-patterns`).
166
166
  | `radius` | An arbitrary radius. Use `rounded-bloom`, `rounded-full` or the scale; `rounded-[inherit]` is allowed |
167
167
  | `import` | A direct import of a library that belongs to nude |
168
168
 
169
- The check cannot judge intent, so these stay review rules: `gap-4` between blocks and `gap-3` inside cards, `bloom-ink` text on colored fills, `tabular-nums` on numbers, the 200ms motion budget, and using `Button`, `IconButton` or `NavBar.Item` for anything pressable.
169
+ The check cannot judge intent, so these stay review rules: `gap-4` between blocks and `gap-3` inside cards, `bloom-ink` text on colored fills, `tabular-nums` on numbers, the 200ms motion budget, and using `Button`, `IconButton`, `NavBar.Item`, `ListRow.Button` or `ListRow.Link` for anything pressable.
170
170
 
171
171
  ## Theming
172
172
 
@@ -231,6 +231,7 @@ Import from `@journ/bloom` or per file (`@journ/bloom/card`). The library named
231
231
  | `IconButton` | single element, `tone`, `size` |
232
232
  | `Input` | single element, native `<input>` |
233
233
  | `Link` | single element, `asChild` styles a router link |
234
+ | `ListRow` | `Root` (static), `Button` or `Link` (pressable), each with `tone`; `Leading`, `Content`, `Title`, `Subtitle`, `Trailing` |
234
235
  | `Markdown` (react-markdown) | single element, `components` overrides |
235
236
  | `MonthStepper` | `Root` (`value`, `locale`), `Previous`, `Label`, `Next` |
236
237
  | `Message` | `Root` (`from`), `Bubble`, `Highlight` |
@@ -1,9 +1,9 @@
1
1
  import * as Nude from "@journ/nude/accordion-parts";
2
- import { ComponentPropsWithRef } from "react";
2
+ import { Styled } from "@journ/nude/styled";
3
3
  //#region src/accordion-parts.d.ts
4
- declare const Root: any;
5
- declare const Item: ({ className, ...props }: ComponentPropsWithRef<typeof Nude.Item>) => import("react").JSX.Element;
6
- declare const Trigger: ({ className, children, ...props }: ComponentPropsWithRef<typeof Nude.Trigger>) => import("react").JSX.Element;
7
- declare const Content: ({ className, children, ...props }: ComponentPropsWithRef<typeof Nude.Content>) => import("react").JSX.Element;
4
+ declare const Root: typeof Nude.Root;
5
+ declare const Item: Styled<typeof Nude.Item>;
6
+ declare const Trigger: Styled<typeof Nude.Trigger>;
7
+ declare const Content: Styled<typeof Nude.Content>;
8
8
  //#endregion
9
9
  export { Content, Item, Root, Trigger };
@@ -1,7 +1,7 @@
1
- import { Content, Item, Trigger } from "./accordion-parts.js";
1
+ import { Content, Item, Root, Trigger } from "./accordion-parts.js";
2
2
  //#region src/accordion.d.ts
3
3
  declare const Accordion: {
4
- Root: any;
4
+ Root: typeof Root;
5
5
  Item: typeof Item;
6
6
  Trigger: typeof Trigger;
7
7
  Content: typeof Content;
@@ -1,16 +1,18 @@
1
1
  import { Actions } from "./lib/modal-parts.js";
2
- import { centeredPanel } from "./lib/overlay.js";
3
- import { VariantProps } from "./lib/tv.js";
4
- import { ComponentPropsWithRef } from "react";
2
+ import { SurfaceTone } from "./lib/tones.js";
3
+ import { ComponentPropsWithRef, JSX } from "react";
5
4
  import * as Nude from "@journ/nude/alert-dialog-parts";
5
+ import { Styled } from "@journ/nude/styled";
6
6
  //#region src/alert-dialog-parts.d.ts
7
- declare const Root: any;
8
- declare const Trigger: any;
9
- declare const Cancel: any;
10
- declare const Action: any;
11
- type ContentProps = Omit<ComponentPropsWithRef<typeof Nude.Content>, 'classNames' | 'overlayRef'> & VariantProps<typeof centeredPanel>;
12
- declare const Content: ({ tone, className, ...props }: ContentProps) => import("react").JSX.Element;
13
- declare const Title: ({ className, ...props }: ComponentPropsWithRef<typeof Nude.Title>) => import("react").JSX.Element;
14
- declare const Description: ({ className, ...props }: ComponentPropsWithRef<typeof Nude.Description>) => import("react").JSX.Element;
7
+ declare const Root: typeof Nude.Root;
8
+ declare const Trigger: typeof Nude.Trigger;
9
+ declare const Cancel: typeof Nude.Cancel;
10
+ declare const Action: typeof Nude.Action;
11
+ type ContentProps = Omit<ComponentPropsWithRef<typeof Nude.Content>, "classNames" | "overlayRef"> & {
12
+ tone?: SurfaceTone;
13
+ };
14
+ declare const Content: ({ tone, className, ...props }: ContentProps) => JSX.Element;
15
+ declare const Title: Styled<typeof Nude.Title>;
16
+ declare const Description: Styled<typeof Nude.Description>;
15
17
  //#endregion
16
18
  export { Action, Actions, Cancel, Content, Description, Root, Title, Trigger };
@@ -1,15 +1,15 @@
1
1
  import { Actions } from "./lib/modal-parts.js";
2
- import { Content, Description, Title } from "./alert-dialog-parts.js";
2
+ import { Action, Cancel, Content, Description, Root, Title, Trigger } from "./alert-dialog-parts.js";
3
3
  //#region src/alert-dialog.d.ts
4
4
  declare const AlertDialog: {
5
- Root: any;
6
- Trigger: any;
5
+ Root: typeof Root;
6
+ Trigger: typeof Trigger;
7
7
  Content: typeof Content;
8
8
  Title: typeof Title;
9
9
  Description: typeof Description;
10
10
  Actions: typeof Actions;
11
- Cancel: any;
12
- Action: any;
11
+ Cancel: typeof Cancel;
12
+ Action: typeof Action;
13
13
  };
14
14
  //#endregion
15
15
  export { AlertDialog };
package/dist/alert.d.ts CHANGED
@@ -1,41 +1,16 @@
1
- import { VariantProps } from "./lib/tv.js";
2
- import { ComponentPropsWithRef } from "react";
1
+ import { SurfaceTone } from "./lib/tones.js";
2
+ import { ComponentPropsWithRef, JSX } from "react";
3
+ import { Styled } from "@journ/nude/styled";
3
4
  //#region src/alert.d.ts
4
- declare const alertRoot: import("tailwind-variants").TVReturnType<{
5
- tone: {
6
- readonly surface: "bg-bloom-surface dark:bg-bloom-surface-dark font-bloom-display text-bloom-foreground dark:text-bloom-foreground-dark border border-bloom-line dark:border-bloom-line-dark";
7
- readonly coral: string;
8
- readonly yellow: string;
9
- readonly indigo: string;
10
- readonly mint: string;
11
- readonly sky: string;
12
- };
13
- }, undefined, "rounded-bloom flex items-start gap-3 p-4", {
14
- tone: {
15
- readonly surface: "bg-bloom-surface dark:bg-bloom-surface-dark font-bloom-display text-bloom-foreground dark:text-bloom-foreground-dark border border-bloom-line dark:border-bloom-line-dark";
16
- readonly coral: string;
17
- readonly yellow: string;
18
- readonly indigo: string;
19
- readonly mint: string;
20
- readonly sky: string;
21
- };
22
- }, undefined, import("tailwind-variants").TVReturnTypeLike<{
23
- tone: {
24
- readonly surface: "bg-bloom-surface dark:bg-bloom-surface-dark font-bloom-display text-bloom-foreground dark:text-bloom-foreground-dark border border-bloom-line dark:border-bloom-line-dark";
25
- readonly coral: string;
26
- readonly yellow: string;
27
- readonly indigo: string;
28
- readonly mint: string;
29
- readonly sky: string;
30
- };
31
- }, undefined>>;
32
- type RootProps = ComponentPropsWithRef<'div'> & VariantProps<typeof alertRoot>;
33
- declare const Root: ({ tone, className, ...props }: RootProps) => import("react").JSX.Element;
34
- declare const Icon: ({ className, ...props }: ComponentPropsWithRef<'span'>) => import("react").JSX.Element;
35
- declare const Body: ({ className, ...props }: ComponentPropsWithRef<'div'>) => import("react").JSX.Element;
36
- declare const Title: ({ className, ...props }: ComponentPropsWithRef<'p'>) => import("react").JSX.Element;
37
- declare const Description: ({ className, ...props }: ComponentPropsWithRef<'p'>) => import("react").JSX.Element;
38
- declare const Actions: ({ className, ...props }: ComponentPropsWithRef<'div'>) => import("react").JSX.Element;
5
+ type RootProps = ComponentPropsWithRef<"div"> & {
6
+ tone?: SurfaceTone;
7
+ };
8
+ declare const Root: ({ tone, className, ...props }: RootProps) => JSX.Element;
9
+ declare const Icon: Styled<"span">;
10
+ declare const Body: Styled<"div">;
11
+ declare const Title: Styled<"p">;
12
+ declare const Description: Styled<"p">;
13
+ declare const Actions: Styled<"div">;
39
14
  declare const Alert: {
40
15
  Root: typeof Root;
41
16
  Icon: typeof Icon;
@@ -1,6 +1,7 @@
1
+ import { JSX } from "react";
1
2
  import { AnimatedSizeProps as AnimatedSizeProps$1 } from "@journ/nude/animated-size";
2
3
  //#region src/animated-size.d.ts
3
- type AnimatedSizeProps = Omit<AnimatedSizeProps$1, 'classNames'>;
4
- declare const AnimatedSize: ({ width, className, ...props }: AnimatedSizeProps) => import("react").JSX.Element;
4
+ type AnimatedSizeProps = Omit<AnimatedSizeProps$1, "classNames">;
5
+ declare const AnimatedSize: ({ width, className, ...props }: AnimatedSizeProps) => JSX.Element;
5
6
  //#endregion
6
7
  export { AnimatedSize, type AnimatedSizeProps };
@@ -1,10 +1,11 @@
1
- import { ComponentPropsWithRef } from "react";
1
+ import { ComponentPropsWithRef, JSX } from "react";
2
2
  import * as Nude from "@journ/nude/avatar-parts";
3
+ import { Styled } from "@journ/nude/styled";
3
4
  //#region src/avatar-parts.d.ts
4
- declare const Root: ({ className, ...props }: ComponentPropsWithRef<typeof Nude.Root>) => import("react").JSX.Element;
5
+ declare const Root: Styled<typeof Nude.Root>;
5
6
  declare const Image: ({ className, alt, ...props }: ComponentPropsWithRef<typeof Nude.Image> & {
6
7
  alt: string;
7
- }) => import("react").JSX.Element;
8
- declare const Fallback: ({ className, ...props }: ComponentPropsWithRef<typeof Nude.Fallback>) => import("react").JSX.Element;
8
+ }) => JSX.Element;
9
+ declare const Fallback: Styled<typeof Nude.Fallback>;
9
10
  //#endregion
10
11
  export { Fallback, Image, Root };
package/dist/badge.d.ts CHANGED
@@ -1,38 +1,10 @@
1
- import { VariantProps } from "./lib/tv.js";
2
- import { ComponentPropsWithRef } from "react";
1
+ import { LabelTone } from "./lib/tones.js";
2
+ import { ComponentPropsWithRef, JSX } from "react";
3
3
  //#region src/badge.d.ts
4
- declare const badge: import("tailwind-variants").TVReturnType<{
5
- tone: {
6
- neutral: "bg-bloom-foreground/8 dark:bg-bloom-foreground-dark/10 text-bloom-foreground dark:text-bloom-foreground-dark";
7
- coral: 'bg-bloom-coral/15 text-bloom-foreground dark:text-bloom-coral';
8
- yellow: 'bg-bloom-yellow/25 text-bloom-foreground dark:bg-bloom-yellow/15 dark:text-bloom-yellow';
9
- indigo: 'bg-bloom-indigo/15 text-bloom-foreground dark:text-bloom-indigo';
10
- mint: 'bg-bloom-mint/20 text-bloom-foreground dark:bg-bloom-mint/15 dark:text-bloom-mint';
11
- sky: 'bg-bloom-sky/15 text-bloom-foreground dark:text-bloom-sky';
12
- ink: "bg-bloom-ink text-bloom-paper";
13
- };
14
- }, undefined, "inline-flex items-center rounded-full px-2.5 py-0.5 font-mono text-xs/5 tabular-nums", {
15
- tone: {
16
- neutral: "bg-bloom-foreground/8 dark:bg-bloom-foreground-dark/10 text-bloom-foreground dark:text-bloom-foreground-dark";
17
- coral: 'bg-bloom-coral/15 text-bloom-foreground dark:text-bloom-coral';
18
- yellow: 'bg-bloom-yellow/25 text-bloom-foreground dark:bg-bloom-yellow/15 dark:text-bloom-yellow';
19
- indigo: 'bg-bloom-indigo/15 text-bloom-foreground dark:text-bloom-indigo';
20
- mint: 'bg-bloom-mint/20 text-bloom-foreground dark:bg-bloom-mint/15 dark:text-bloom-mint';
21
- sky: 'bg-bloom-sky/15 text-bloom-foreground dark:text-bloom-sky';
22
- ink: "bg-bloom-ink text-bloom-paper";
23
- };
24
- }, undefined, import("tailwind-variants").TVReturnTypeLike<{
25
- tone: {
26
- neutral: "bg-bloom-foreground/8 dark:bg-bloom-foreground-dark/10 text-bloom-foreground dark:text-bloom-foreground-dark";
27
- coral: 'bg-bloom-coral/15 text-bloom-foreground dark:text-bloom-coral';
28
- yellow: 'bg-bloom-yellow/25 text-bloom-foreground dark:bg-bloom-yellow/15 dark:text-bloom-yellow';
29
- indigo: 'bg-bloom-indigo/15 text-bloom-foreground dark:text-bloom-indigo';
30
- mint: 'bg-bloom-mint/20 text-bloom-foreground dark:bg-bloom-mint/15 dark:text-bloom-mint';
31
- sky: 'bg-bloom-sky/15 text-bloom-foreground dark:text-bloom-sky';
32
- ink: "bg-bloom-ink text-bloom-paper";
33
- };
34
- }, undefined>>;
35
- type BadgeProps = ComponentPropsWithRef<'span'> & VariantProps<typeof badge>;
36
- declare const Badge: ({ tone, className, ...props }: BadgeProps) => import("react").JSX.Element;
4
+ type BadgeTone = LabelTone | "ink";
5
+ type BadgeProps = ComponentPropsWithRef<"span"> & {
6
+ tone?: BadgeTone;
7
+ };
8
+ declare const Badge: ({ tone, className, ...props }: BadgeProps) => JSX.Element;
37
9
  //#endregion
38
10
  export { Badge, type BadgeProps };
@@ -1,11 +1,11 @@
1
- import { ComponentPropsWithRef } from "react";
1
+ import { Styled } from "@journ/nude/styled";
2
2
  //#region src/breadcrumbs.d.ts
3
- declare const Root: ({ className, ...props }: ComponentPropsWithRef<'nav'>) => import("react").JSX.Element;
4
- declare const List: ({ className, ...props }: ComponentPropsWithRef<'ol'>) => import("react").JSX.Element;
5
- declare const Item: ({ className, ...props }: ComponentPropsWithRef<'li'>) => import("react").JSX.Element;
6
- declare const Link: ({ className, ...props }: ComponentPropsWithRef<'a'>) => import("react").JSX.Element;
7
- declare const Page: ({ className, ...props }: ComponentPropsWithRef<'span'>) => import("react").JSX.Element;
8
- declare const Separator: ({ className, ...props }: ComponentPropsWithRef<'li'>) => import("react").JSX.Element;
3
+ declare const Root: Styled<"nav">;
4
+ declare const List: Styled<"ol">;
5
+ declare const Item: Styled<"li">;
6
+ declare const Link: Styled<"a">;
7
+ declare const Page: Styled<"span">;
8
+ declare const Separator: Styled<"li">;
9
9
  declare const Breadcrumbs: {
10
10
  Root: typeof Root;
11
11
  List: typeof List;
@@ -1,9 +1,9 @@
1
- import { ComponentPropsWithRef } from "react";
1
+ import { Styled } from "@journ/nude/styled";
2
2
  //#region src/bulk-bar.d.ts
3
3
  /** Render it while something is selected; it floats at the bottom of the page. */
4
- declare const Root: ({ className, ...props }: ComponentPropsWithRef<'div'>) => import("react").JSX.Element;
5
- declare const Count: ({ className, ...props }: ComponentPropsWithRef<'p'>) => import("react").JSX.Element;
6
- declare const Actions: ({ className, ...props }: ComponentPropsWithRef<'div'>) => import("react").JSX.Element;
4
+ declare const Root: Styled<"div">;
5
+ declare const Count: Styled<"p">;
6
+ declare const Actions: Styled<"div">;
7
7
  declare const BulkBar: {
8
8
  Root: typeof Root;
9
9
  Count: typeof Count;
package/dist/button.d.ts CHANGED
@@ -1,40 +1,15 @@
1
- import { VariantProps } from "./lib/tv.js";
2
- import { ReactNode } from "react";
1
+ import { Recipe } from "./lib/tv.js";
2
+ import { JSX, ReactNode } from "react";
3
3
  import { ButtonProps as ButtonProps$1 } from "@journ/nude/button";
4
4
  //#region src/button.d.ts
5
- declare const button: import("tailwind-variants").TVReturnType<{
6
- tone: {
7
- neutral: "bg-bloom-foreground dark:bg-bloom-foreground-dark text-bloom-canvas dark:text-bloom-canvas-dark";
8
- field: "border border-bloom-line dark:border-bloom-line-dark bg-transparent text-bloom-foreground dark:text-bloom-foreground-dark";
9
- coral: "bg-bloom-coral text-bloom-paper";
10
- yellow: "bg-bloom-yellow text-bloom-ink";
11
- ink: "bg-bloom-ink text-bloom-paper";
12
- ghost: "bg-transparent text-inherit";
13
- outline: "border border-current/20 bg-transparent text-inherit";
14
- };
15
- }, undefined, string[], {
16
- tone: {
17
- neutral: "bg-bloom-foreground dark:bg-bloom-foreground-dark text-bloom-canvas dark:text-bloom-canvas-dark";
18
- field: "border border-bloom-line dark:border-bloom-line-dark bg-transparent text-bloom-foreground dark:text-bloom-foreground-dark";
19
- coral: "bg-bloom-coral text-bloom-paper";
20
- yellow: "bg-bloom-yellow text-bloom-ink";
21
- ink: "bg-bloom-ink text-bloom-paper";
22
- ghost: "bg-transparent text-inherit";
23
- outline: "border border-current/20 bg-transparent text-inherit";
24
- };
25
- }, undefined, import("tailwind-variants").TVReturnTypeLike<{
26
- tone: {
27
- neutral: "bg-bloom-foreground dark:bg-bloom-foreground-dark text-bloom-canvas dark:text-bloom-canvas-dark";
28
- field: "border border-bloom-line dark:border-bloom-line-dark bg-transparent text-bloom-foreground dark:text-bloom-foreground-dark";
29
- coral: "bg-bloom-coral text-bloom-paper";
30
- yellow: "bg-bloom-yellow text-bloom-ink";
31
- ink: "bg-bloom-ink text-bloom-paper";
32
- ghost: "bg-transparent text-inherit";
33
- outline: "border border-current/20 bg-transparent text-inherit";
34
- };
35
- }, undefined>>;
36
- type ButtonProps = VariantProps<typeof button> & ButtonProps$1;
37
- declare const buttonContent: (children: ReactNode, pending?: boolean) => import("react").JSX.Element;
38
- declare const Button: ({ tone, pending, className, children, ...props }: ButtonProps) => import("react").JSX.Element;
5
+ type ButtonTone = "neutral" | "field" | "coral" | "yellow" | "ink" | "ghost" | "outline";
6
+ declare const button: Recipe<{
7
+ tone?: ButtonTone;
8
+ }>;
9
+ type ButtonProps = {
10
+ tone?: ButtonTone;
11
+ } & ButtonProps$1;
12
+ declare const buttonContent: (children: ReactNode, pending?: boolean) => JSX.Element;
13
+ declare const Button: ({ tone, pending, className, children, ...props }: ButtonProps) => JSX.Element;
39
14
  //#endregion
40
15
  export { Button, type ButtonProps, button, buttonContent };
@@ -1,17 +1,23 @@
1
1
  import { IconButtonProps } from "./icon-button.js";
2
- import { ComponentPropsWithRef } from "react";
2
+ import { ComponentPropsWithRef, JSX } from "react";
3
+ import * as Nude from "@journ/nude/calendar-parts";
3
4
  import { CalendarActions, CalendarContextValue, CalendarMeta, CalendarRange, CalendarState, CalendarView, RootProps, Weekday } from "@journ/nude/calendar-parts";
5
+ import { Styled } from "@journ/nude/styled";
4
6
  //#region src/calendar-parts.d.ts
5
- declare const YEAR_PAGE_SIZE: any, Provider: any, Root: any, useCalendar: any, useCalendarNavigation: any;
6
- declare const Frame: ({ className, ...props }: ComponentPropsWithRef<'div'>) => import("react").JSX.Element;
7
- declare const Header: ({ className, ...props }: ComponentPropsWithRef<'div'>) => import("react").JSX.Element;
8
- declare const Heading: ({ className, ...props }: Omit<ComponentPropsWithRef<'button'>, 'children'>) => import("react").JSX.Element;
9
- declare const Previous: ({ tone, size, className, children, ...props }: IconButtonProps) => import("react").JSX.Element;
10
- declare const Next: ({ tone, size, className, children, ...props }: IconButtonProps) => import("react").JSX.Element;
11
- type GridProps = Omit<ComponentPropsWithRef<'div'>, 'children'>;
12
- declare const Weekdays: ({ className, ...props }: GridProps) => import("react").JSX.Element;
13
- declare const Days: ({ className, ...props }: GridProps) => import("react").JSX.Element;
14
- declare const Months: ({ className, ...props }: GridProps) => import("react").JSX.Element;
15
- declare const Years: ({ className, ...props }: GridProps) => import("react").JSX.Element;
7
+ declare const YEAR_PAGE_SIZE: typeof Nude.YEAR_PAGE_SIZE;
8
+ declare const Provider: typeof Nude.Provider;
9
+ declare const Root: typeof Nude.Root;
10
+ declare const useCalendar: typeof Nude.useCalendar;
11
+ declare const useCalendarNavigation: typeof Nude.useCalendarNavigation;
12
+ declare const Frame: Styled<"div">;
13
+ declare const Header: Styled<"div">;
14
+ declare const Heading: ({ className, ...props }: Omit<ComponentPropsWithRef<"button">, "children">) => JSX.Element;
15
+ declare const Previous: ({ tone, size, className, children, ...props }: IconButtonProps) => JSX.Element;
16
+ declare const Next: ({ tone, size, className, children, ...props }: IconButtonProps) => JSX.Element;
17
+ type GridProps = Omit<ComponentPropsWithRef<"div">, "children">;
18
+ declare const Weekdays: ({ className, ...props }: GridProps) => JSX.Element;
19
+ declare const Days: ({ className, ...props }: GridProps) => JSX.Element;
20
+ declare const Months: ({ className, ...props }: GridProps) => JSX.Element;
21
+ declare const Years: ({ className, ...props }: GridProps) => JSX.Element;
16
22
  //#endregion
17
23
  export { type CalendarActions, type CalendarContextValue, type CalendarMeta, type CalendarRange, type CalendarState, type CalendarView, Days, Frame, Header, Heading, Months, Next, Previous, Provider, Root, type RootProps, type Weekday, Weekdays, YEAR_PAGE_SIZE, Years, useCalendar, useCalendarNavigation };
@@ -9,7 +9,11 @@ import { ChevronLeft, ChevronRight } from "lucide-react";
9
9
  import { jsx } from "react/jsx-runtime";
10
10
  import * as Nude from "@journ/nude/calendar-parts";
11
11
  //#region src/calendar-parts.tsx
12
- const { YEAR_PAGE_SIZE, Provider, Root, useCalendar, useCalendarNavigation } = Nude;
12
+ const YEAR_PAGE_SIZE = Nude.YEAR_PAGE_SIZE;
13
+ const Provider = Nude.Provider;
14
+ const Root = Nude.Root;
15
+ const useCalendar = Nude.useCalendar;
16
+ const useCalendarNavigation = Nude.useCalendarNavigation;
13
17
  const Frame = ({ className, ...props }) => /* @__PURE__ */ jsx(Nude.Frame, {
14
18
  ...props,
15
19
  className: cn("flex w-full flex-col gap-3", className)
@@ -1,8 +1,8 @@
1
- import { CalendarActions, CalendarContextValue, CalendarMeta, CalendarRange, CalendarState, CalendarView, Days, Frame, Header, Heading, Months, Next, Previous, RootProps, Weekday, Weekdays, Years, useCalendar } from "./calendar-parts.js";
1
+ import { CalendarActions, CalendarContextValue, CalendarMeta, CalendarRange, CalendarState, CalendarView, Days, Frame, Header, Heading, Months, Next, Previous, Provider, Root, RootProps, Weekday, Weekdays, Years, useCalendar } from "./calendar-parts.js";
2
2
  //#region src/calendar.d.ts
3
3
  declare const Calendar: {
4
- Provider: any;
5
- Root: any;
4
+ Provider: typeof Provider;
5
+ Root: typeof Root;
6
6
  Frame: typeof Frame;
7
7
  Header: typeof Header;
8
8
  Heading: typeof Heading;
package/dist/card.d.ts CHANGED
@@ -1,42 +1,17 @@
1
- import { VariantProps } from "./lib/tv.js";
2
- import { ComponentPropsWithRef } from "react";
1
+ import { SurfaceTone } from "./lib/tones.js";
2
+ import { ComponentPropsWithRef, JSX } from "react";
3
+ import { Styled } from "@journ/nude/styled";
3
4
  //#region src/card.d.ts
4
- declare const cardRoot: import("tailwind-variants").TVReturnType<{
5
- tone: {
6
- readonly surface: "bg-bloom-surface dark:bg-bloom-surface-dark font-bloom-display text-bloom-foreground dark:text-bloom-foreground-dark border border-bloom-line dark:border-bloom-line-dark";
7
- readonly coral: string;
8
- readonly yellow: string;
9
- readonly indigo: string;
10
- readonly mint: string;
11
- readonly sky: string;
12
- };
13
- }, undefined, "rounded-bloom flex flex-col gap-3 p-6", {
14
- tone: {
15
- readonly surface: "bg-bloom-surface dark:bg-bloom-surface-dark font-bloom-display text-bloom-foreground dark:text-bloom-foreground-dark border border-bloom-line dark:border-bloom-line-dark";
16
- readonly coral: string;
17
- readonly yellow: string;
18
- readonly indigo: string;
19
- readonly mint: string;
20
- readonly sky: string;
21
- };
22
- }, undefined, import("tailwind-variants").TVReturnTypeLike<{
23
- tone: {
24
- readonly surface: "bg-bloom-surface dark:bg-bloom-surface-dark font-bloom-display text-bloom-foreground dark:text-bloom-foreground-dark border border-bloom-line dark:border-bloom-line-dark";
25
- readonly coral: string;
26
- readonly yellow: string;
27
- readonly indigo: string;
28
- readonly mint: string;
29
- readonly sky: string;
30
- };
31
- }, undefined>>;
32
- type RootProps = ComponentPropsWithRef<'div'> & VariantProps<typeof cardRoot>;
33
- declare const Root: ({ tone, className, ...props }: RootProps) => import("react").JSX.Element;
34
- declare const Header: ({ className, ...props }: ComponentPropsWithRef<'div'>) => import("react").JSX.Element;
35
- declare const Title: ({ className, ...props }: ComponentPropsWithRef<'h3'>) => import("react").JSX.Element;
36
- declare const Description: ({ className, ...props }: ComponentPropsWithRef<'p'>) => import("react").JSX.Element;
37
- declare const Content: ({ className, ...props }: ComponentPropsWithRef<'div'>) => import("react").JSX.Element;
38
- declare const Footer: ({ className, ...props }: ComponentPropsWithRef<'footer'>) => import("react").JSX.Element;
39
- declare const Icon: ({ className, ...props }: ComponentPropsWithRef<'span'>) => import("react").JSX.Element;
5
+ type RootProps = ComponentPropsWithRef<"div"> & {
6
+ tone?: SurfaceTone;
7
+ };
8
+ declare const Root: ({ tone, className, ...props }: RootProps) => JSX.Element;
9
+ declare const Header: Styled<"div">;
10
+ declare const Title: Styled<"h3">;
11
+ declare const Description: Styled<"p">;
12
+ declare const Content: Styled<"div">;
13
+ declare const Footer: Styled<"footer">;
14
+ declare const Icon: Styled<"span">;
40
15
  declare const Card: {
41
16
  Root: typeof Root;
42
17
  Icon: typeof Icon;
@@ -1,13 +1,14 @@
1
1
  import { IconButtonProps } from "./icon-button.js";
2
- import { ComponentPropsWithRef } from "react";
2
+ import { JSX } from "react";
3
3
  import * as Nude from "@journ/nude/carousel-parts";
4
+ import { Styled } from "@journ/nude/styled";
4
5
  //#region src/carousel-parts.d.ts
5
- declare const useCarousel: any;
6
+ declare const useCarousel: typeof Nude.useCarousel;
6
7
  type RootProps = Nude.RootProps;
7
- declare const Root: ({ className, ...props }: RootProps) => import("react").JSX.Element;
8
- declare const Content: ({ className, ...props }: ComponentPropsWithRef<'div'>) => import("react").JSX.Element;
9
- declare const Item: ({ className, ...props }: ComponentPropsWithRef<'div'>) => import("react").JSX.Element;
10
- declare const Previous: ({ tone, size, className, children, ...props }: IconButtonProps) => import("react").JSX.Element;
11
- declare const Next: ({ tone, size, className, children, ...props }: IconButtonProps) => import("react").JSX.Element;
8
+ declare const Root: ({ className, ...props }: RootProps) => JSX.Element;
9
+ declare const Content: Styled<"div">;
10
+ declare const Item: Styled<"div">;
11
+ declare const Previous: ({ tone, size, className, children, ...props }: IconButtonProps) => JSX.Element;
12
+ declare const Next: ({ tone, size, className, children, ...props }: IconButtonProps) => JSX.Element;
12
13
  //#endregion
13
14
  export { Content, Item, Next, Previous, Root, type RootProps, useCarousel };
@@ -5,7 +5,7 @@ import { ChevronLeft, ChevronRight } from "lucide-react";
5
5
  import { jsx } from "react/jsx-runtime";
6
6
  import * as Nude from "@journ/nude/carousel-parts";
7
7
  //#region src/carousel-parts.tsx
8
- const { useCarousel } = Nude;
8
+ const useCarousel = Nude.useCarousel;
9
9
  const Root = ({ className, ...props }) => /* @__PURE__ */ jsx(Nude.Root, {
10
10
  ...props,
11
11
  className: cn("relative", className)
@@ -1,8 +1,8 @@
1
- import { ComponentPropsWithRef } from "react";
2
1
  import * as Nude from "@journ/nude/checkbox-parts";
2
+ import { Styled } from "@journ/nude/styled";
3
3
  //#region src/checkbox-parts.d.ts
4
- declare const Root: ({ className, children, ...props }: ComponentPropsWithRef<typeof Nude.Root>) => import("react").JSX.Element;
4
+ declare const Root: Styled<typeof Nude.Root>;
5
5
  /** Shows a check, or a minus when the root is indeterminate. Pass children to use your own icon. */
6
- declare const Indicator: ({ className, children, ...props }: ComponentPropsWithRef<typeof Nude.Indicator>) => import("react").JSX.Element;
6
+ declare const Indicator: Styled<typeof Nude.Indicator>;
7
7
  //#endregion
8
8
  export { Indicator, Root };
package/dist/chip.d.ts CHANGED
@@ -1,40 +1,21 @@
1
- import { VariantProps } from "./lib/tv.js";
2
- import { ComponentPropsWithRef } from "react";
1
+ import { ComponentPropsWithRef, JSX } from "react";
2
+ import { Styled } from "@journ/nude/styled";
3
3
  //#region src/chip.d.ts
4
- declare const chipRoot: import("tailwind-variants").TVReturnType<{
5
- tone: {
6
- light: "border border-current/15";
7
- ink: "bg-bloom-ink text-bloom-paper";
8
- dim: "bg-bloom-foreground/8 dark:bg-bloom-foreground-dark/8 text-current/60";
9
- sky: "bg-bloom-sky/15 text-bloom-foreground dark:text-bloom-sky";
10
- };
11
- }, undefined, "inline-flex items-center gap-1.5 px-2 py-0.5 text-xs/5", {
12
- tone: {
13
- light: "border border-current/15";
14
- ink: "bg-bloom-ink text-bloom-paper";
15
- dim: "bg-bloom-foreground/8 dark:bg-bloom-foreground-dark/8 text-current/60";
16
- sky: "bg-bloom-sky/15 text-bloom-foreground dark:text-bloom-sky";
17
- };
18
- }, undefined, import("tailwind-variants").TVReturnTypeLike<{
19
- tone: {
20
- light: "border border-current/15";
21
- ink: "bg-bloom-ink text-bloom-paper";
22
- dim: "bg-bloom-foreground/8 dark:bg-bloom-foreground-dark/8 text-current/60";
23
- sky: "bg-bloom-sky/15 text-bloom-foreground dark:text-bloom-sky";
24
- };
25
- }, undefined>>;
26
- type RootProps = ComponentPropsWithRef<'span'> & VariantProps<typeof chipRoot>;
27
- declare const Root: ({ tone, className, ...props }: RootProps) => import("react").JSX.Element;
28
- declare const Dot: ({ className, ...props }: ComponentPropsWithRef<'span'>) => import("react").JSX.Element;
29
- declare const Remove: ({ label, className, ...props }: ComponentPropsWithRef<'button'> & {
4
+ type ChipTone = "light" | "ink" | "dim" | "sky";
5
+ type RootProps = ComponentPropsWithRef<"span"> & {
6
+ tone?: ChipTone;
7
+ };
8
+ declare const Root: ({ tone, className, ...props }: RootProps) => JSX.Element;
9
+ declare const Dot: Styled<"span">;
10
+ declare const Remove: ({ label, className, ...props }: ComponentPropsWithRef<"button"> & {
30
11
  label: string;
31
- }) => import("react").JSX.Element;
12
+ }) => JSX.Element;
32
13
  type TagProps = ComponentPropsWithRef<typeof Root> & {
33
14
  /** Shows a remove button when given. Leave it out for a chip that cannot be dismissed. */
34
15
  onRemove?: () => void;
35
16
  removeLabel?: string;
36
17
  };
37
- declare const Tag: ({ onRemove, removeLabel, tone, className, children, ...props }: TagProps) => import("react").JSX.Element;
18
+ declare const Tag: ({ onRemove, removeLabel, tone, className, children, ...props }: TagProps) => JSX.Element;
38
19
  declare const Chip: {
39
20
  Root: typeof Root;
40
21
  Dot: typeof Dot;
@@ -1,8 +1,8 @@
1
- import { ComponentPropsWithRef } from "react";
2
1
  import * as Nude from "@journ/nude/collapsible-parts";
2
+ import { Styled } from "@journ/nude/styled";
3
3
  //#region src/collapsible-parts.d.ts
4
- declare const Root: any;
5
- declare const Trigger: any;
6
- declare const Content: ({ className, children, ...props }: ComponentPropsWithRef<typeof Nude.Content>) => import("react").JSX.Element;
4
+ declare const Root: typeof Nude.Root;
5
+ declare const Trigger: typeof Nude.Trigger;
6
+ declare const Content: Styled<typeof Nude.Content>;
7
7
  //#endregion
8
8
  export { Content, Root, Trigger };
@@ -1,8 +1,8 @@
1
- import { Content } from "./collapsible-parts.js";
1
+ import { Content, Root, Trigger } from "./collapsible-parts.js";
2
2
  //#region src/collapsible.d.ts
3
3
  declare const Collapsible: {
4
- Root: any;
5
- Trigger: any;
4
+ Root: typeof Root;
5
+ Trigger: typeof Trigger;
6
6
  Content: typeof Content;
7
7
  };
8
8
  //#endregion