@refine-studio/ui 0.1.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/README.md +2 -2
  2. package/dist/components/accordion/accordion.js +2 -2
  3. package/dist/components/accordion/accordion.js.map +1 -1
  4. package/dist/components/alert/alert.js +8 -8
  5. package/dist/components/alert/alert.js.map +1 -1
  6. package/dist/components/app-shell/app-shell.js +2 -2
  7. package/dist/components/app-shell/app-shell.js.map +1 -1
  8. package/dist/components/breadcrumb/breadcrumb.js +3 -3
  9. package/dist/components/breadcrumb/breadcrumb.js.map +1 -1
  10. package/dist/components/checkbox/checkbox.js +3 -3
  11. package/dist/components/checkbox/checkbox.js.map +1 -1
  12. package/dist/components/code/code.js +2 -2
  13. package/dist/components/code/code.js.map +1 -1
  14. package/dist/components/collapsible/collapsible.js +2 -2
  15. package/dist/components/collapsible/collapsible.js.map +1 -1
  16. package/dist/components/command-menu/command-menu.js +2 -2
  17. package/dist/components/command-menu/command-menu.js.map +1 -1
  18. package/dist/components/context-menu/context-menu.js +4 -4
  19. package/dist/components/context-menu/context-menu.js.map +1 -1
  20. package/dist/components/dialog/dialog.js +2 -2
  21. package/dist/components/dialog/dialog.js.map +1 -1
  22. package/dist/components/dropdown-menu/dropdown-menu.js +4 -4
  23. package/dist/components/dropdown-menu/dropdown-menu.js.map +1 -1
  24. package/dist/components/pagination/pagination.js +4 -4
  25. package/dist/components/pagination/pagination.js.map +1 -1
  26. package/dist/components/select/select.js +5 -5
  27. package/dist/components/select/select.js.map +1 -1
  28. package/dist/components/sheet/sheet.js +2 -2
  29. package/dist/components/sheet/sheet.js.map +1 -1
  30. package/dist/components/stat/stat.js +4 -4
  31. package/dist/components/stat/stat.js.map +1 -1
  32. package/dist/components/theme-switcher/theme-switcher.js +4 -4
  33. package/dist/components/theme-switcher/theme-switcher.js.map +1 -1
  34. package/dist/components/toaster/toaster.js +5 -5
  35. package/dist/components/toaster/toaster.js.map +1 -1
  36. package/dist/icons/icon.d.ts +2 -2
  37. package/dist/icons/icon.js +1 -1
  38. package/dist/icons/icon.js.map +1 -1
  39. package/dist/icons/refine-icon-names.d.ts +5 -1857
  40. package/dist/icons/refine-icon-names.js +12 -467
  41. package/dist/icons/refine-icon-names.js.map +1 -1
  42. package/dist/icons/refine-icons.d.ts +467 -1852
  43. package/dist/icons/refine-icons.js +470 -601
  44. package/dist/icons/refine-icons.js.map +1 -1
  45. package/dist/icons/with-refine-weight.d.ts +11 -0
  46. package/dist/icons/with-refine-weight.js +25 -0
  47. package/dist/icons/with-refine-weight.js.map +1 -0
  48. package/dist/index.d.ts +1 -1
  49. package/dist/index.js +2 -2
  50. package/dist/styles.css +107 -19
  51. package/package.json +2 -2
  52. package/dist/icons/create-refine-icon.d.ts +0 -13
  53. package/dist/icons/create-refine-icon.js +0 -37
  54. package/dist/icons/create-refine-icon.js.map +0 -1
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { cn } from "../../lib/cn.js";
3
+ import { RefineIconCheck, RefineIconChevronRight, RefineIconCircleFilled } from "../../icons/refine-icons.js";
3
4
  import { MENU_CONTENT_CLASS_NAME, MENU_INDICATOR_CLASS_NAME, MENU_INDICATOR_ITEM_CLASS_NAME, MENU_LABEL_CLASS_NAME, MENU_SEPARATOR_CLASS_NAME, MENU_SHORTCUT_CLASS_NAME, menuItemVariants } from "./menu-styles.js";
4
- import { Check, ChevronRight, Circle } from "lucide-react";
5
5
  import { DropdownMenu } from "radix-ui";
6
6
  import { jsx, jsxs } from "react/jsx-runtime";
7
7
  // src/components/dropdown-menu/dropdown-menu.tsx
@@ -72,7 +72,7 @@ var DropdownMenuCheckboxItem = ({ children, className, ...props }) => {
72
72
  ...props,
73
73
  children: [/* @__PURE__ */ jsx("span", {
74
74
  className: MENU_INDICATOR_CLASS_NAME,
75
- children: /* @__PURE__ */ jsx(DropdownMenu.ItemIndicator, { children: /* @__PURE__ */ jsx(Check, { className: "size-4 text-gem-ink" }) })
75
+ children: /* @__PURE__ */ jsx(DropdownMenu.ItemIndicator, { children: /* @__PURE__ */ jsx(RefineIconCheck, { className: "size-4 text-gem-ink" }) })
76
76
  }), children]
77
77
  });
78
78
  };
@@ -86,7 +86,7 @@ var DropdownMenuRadioItem = ({ children, className, ...props }) => {
86
86
  ...props,
87
87
  children: [/* @__PURE__ */ jsx("span", {
88
88
  className: MENU_INDICATOR_CLASS_NAME,
89
- children: /* @__PURE__ */ jsx(DropdownMenu.ItemIndicator, { children: /* @__PURE__ */ jsx(Circle, { className: "size-2 fill-current text-gem-ink" }) })
89
+ children: /* @__PURE__ */ jsx(DropdownMenu.ItemIndicator, { children: /* @__PURE__ */ jsx(RefineIconCircleFilled, { className: "size-2 text-gem-ink" }) })
90
90
  }), children]
91
91
  });
92
92
  };
@@ -122,7 +122,7 @@ var DropdownMenuSubTrigger = ({ children, className, inset, ...props }) => {
122
122
  className: cn(menuItemVariants({ inset }), className),
123
123
  "data-slot": "dropdown-menu-sub-trigger",
124
124
  ...props,
125
- children: [children, /* @__PURE__ */ jsx(ChevronRight, { className: "ml-auto size-4" })]
125
+ children: [children, /* @__PURE__ */ jsx(RefineIconChevronRight, { className: "ml-auto size-4" })]
126
126
  });
127
127
  };
128
128
  var DropdownMenuSubContent = ({ className, ...props }) => {
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown-menu.js","names":["DropdownMenu","DropdownMenuPrimitive"],"sources":["../../../src/components/dropdown-menu/dropdown-menu.tsx"],"sourcesContent":["'use client';\n\nimport type { VariantProps } from 'class-variance-authority';\nimport { Check, ChevronRight, Circle } from 'lucide-react';\nimport { DropdownMenu as DropdownMenuPrimitive } from 'radix-ui';\nimport type { ComponentProps } from 'react';\n\nimport { cn } from '../../lib/cn';\nimport {\n MENU_CONTENT_CLASS_NAME,\n MENU_INDICATOR_CLASS_NAME,\n MENU_INDICATOR_ITEM_CLASS_NAME,\n MENU_LABEL_CLASS_NAME,\n MENU_SEPARATOR_CLASS_NAME,\n MENU_SHORTCUT_CLASS_NAME,\n menuItemVariants,\n} from './menu-styles';\n\n/**\n * Holds the open state of a menu of actions opened from a trigger.\n */\nexport const DropdownMenu = (props: ComponentProps<typeof DropdownMenuPrimitive.Root>) => {\n return <DropdownMenuPrimitive.Root data-slot=\"dropdown-menu\" {...props} />;\n};\n\nexport const DropdownMenuTrigger = (props: ComponentProps<typeof DropdownMenuPrimitive.Trigger>) => {\n return <DropdownMenuPrimitive.Trigger data-slot=\"dropdown-menu-trigger\" {...props} />;\n};\n\nexport const DropdownMenuGroup = (props: ComponentProps<typeof DropdownMenuPrimitive.Group>) => {\n return <DropdownMenuPrimitive.Group data-slot=\"dropdown-menu-group\" {...props} />;\n};\n\nexport const DropdownMenuRadioGroup = (props: ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>) => {\n return <DropdownMenuPrimitive.RadioGroup data-slot=\"dropdown-menu-radio-group\" {...props} />;\n};\n\nexport const DropdownMenuSub = (props: ComponentProps<typeof DropdownMenuPrimitive.Sub>) => {\n return <DropdownMenuPrimitive.Sub data-slot=\"dropdown-menu-sub\" {...props} />;\n};\n\n/**\n * Portals the menu panel next to its trigger.\n */\nexport const DropdownMenuContent = ({\n className,\n sideOffset = 6,\n ...props\n}: ComponentProps<typeof DropdownMenuPrimitive.Content>) => {\n return (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n className={cn(MENU_CONTENT_CLASS_NAME, 'origin-(--radix-dropdown-menu-content-transform-origin)', className)}\n data-slot=\"dropdown-menu-content\"\n sideOffset={sideOffset}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n );\n};\n\ntype DropdownMenuItemProps = ComponentProps<typeof DropdownMenuPrimitive.Item> & VariantProps<typeof menuItemVariants>;\n\n/**\n * Runs an action; the `danger` variant marks destructive ones.\n */\nexport const DropdownMenuItem = ({ className, inset, variant, ...props }: DropdownMenuItemProps) => {\n return (\n <DropdownMenuPrimitive.Item\n className={cn(menuItemVariants({ inset, variant }), className)}\n data-slot=\"dropdown-menu-item\"\n {...props}\n />\n );\n};\n\n/**\n * Toggles a setting and shows a check while it is on.\n */\nexport const DropdownMenuCheckboxItem = ({\n children,\n className,\n ...props\n}: ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem>) => {\n return (\n <DropdownMenuPrimitive.CheckboxItem\n className={cn(MENU_INDICATOR_ITEM_CLASS_NAME, className)}\n data-slot=\"dropdown-menu-checkbox-item\"\n {...props}\n >\n <span className={MENU_INDICATOR_CLASS_NAME}>\n <DropdownMenuPrimitive.ItemIndicator>\n <Check className=\"size-4 text-gem-ink\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n );\n};\n\n/**\n * Picks one option of its radio group and marks it with a dot.\n */\nexport const DropdownMenuRadioItem = ({\n children,\n className,\n ...props\n}: ComponentProps<typeof DropdownMenuPrimitive.RadioItem>) => {\n return (\n <DropdownMenuPrimitive.RadioItem\n className={cn(MENU_INDICATOR_ITEM_CLASS_NAME, className)}\n data-slot=\"dropdown-menu-radio-item\"\n {...props}\n >\n <span className={MENU_INDICATOR_CLASS_NAME}>\n <DropdownMenuPrimitive.ItemIndicator>\n <Circle className=\"size-2 fill-current text-gem-ink\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n );\n};\n\nexport const DropdownMenuLabel = ({\n className,\n inset,\n ...props\n}: ComponentProps<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean;\n}) => {\n return (\n <DropdownMenuPrimitive.Label\n className={cn(MENU_LABEL_CLASS_NAME, { 'pl-8': inset }, className)}\n data-slot=\"dropdown-menu-label\"\n {...props}\n />\n );\n};\n\nexport const DropdownMenuSeparator = ({\n className,\n ...props\n}: ComponentProps<typeof DropdownMenuPrimitive.Separator>) => {\n return (\n <DropdownMenuPrimitive.Separator\n className={cn(MENU_SEPARATOR_CLASS_NAME, className)}\n data-slot=\"dropdown-menu-separator\"\n {...props}\n />\n );\n};\n\n/**\n * Right-aligns a keyboard shortcut hint inside an item.\n */\nexport const DropdownMenuShortcut = ({ className, ...props }: ComponentProps<'span'>) => {\n return <span className={cn(MENU_SHORTCUT_CLASS_NAME, className)} data-slot=\"dropdown-menu-shortcut\" {...props} />;\n};\n\n/**\n * Opens a nested menu and points at it with a chevron.\n */\nexport const DropdownMenuSubTrigger = ({\n children,\n className,\n inset,\n ...props\n}: ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {\n inset?: boolean;\n}) => {\n return (\n <DropdownMenuPrimitive.SubTrigger\n className={cn(menuItemVariants({ inset }), className)}\n data-slot=\"dropdown-menu-sub-trigger\"\n {...props}\n >\n {children}\n <ChevronRight className=\"ml-auto size-4\" />\n </DropdownMenuPrimitive.SubTrigger>\n );\n};\n\nexport const DropdownMenuSubContent = ({\n className,\n ...props\n}: ComponentProps<typeof DropdownMenuPrimitive.SubContent>) => {\n return (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.SubContent\n className={cn(MENU_CONTENT_CLASS_NAME, 'origin-(--radix-dropdown-menu-content-transform-origin)', className)}\n data-slot=\"dropdown-menu-sub-content\"\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"dropdown-menu.js","names":["DropdownMenu","DropdownMenuPrimitive"],"sources":["../../../src/components/dropdown-menu/dropdown-menu.tsx"],"sourcesContent":["'use client';\n\nimport type { VariantProps } from 'class-variance-authority';\nimport { DropdownMenu as DropdownMenuPrimitive } from 'radix-ui';\nimport type { ComponentProps } from 'react';\n\nimport { cn } from '../../lib/cn';\nimport {\n MENU_CONTENT_CLASS_NAME,\n MENU_INDICATOR_CLASS_NAME,\n MENU_INDICATOR_ITEM_CLASS_NAME,\n MENU_LABEL_CLASS_NAME,\n MENU_SEPARATOR_CLASS_NAME,\n MENU_SHORTCUT_CLASS_NAME,\n menuItemVariants,\n} from './menu-styles';\nimport { RefineIconCheck, RefineIconChevronRight, RefineIconCircleFilled } from '../../icons/refine-icons';\n\n/**\n * Holds the open state of a menu of actions opened from a trigger.\n */\nexport const DropdownMenu = (props: ComponentProps<typeof DropdownMenuPrimitive.Root>) => {\n return <DropdownMenuPrimitive.Root data-slot=\"dropdown-menu\" {...props} />;\n};\n\nexport const DropdownMenuTrigger = (props: ComponentProps<typeof DropdownMenuPrimitive.Trigger>) => {\n return <DropdownMenuPrimitive.Trigger data-slot=\"dropdown-menu-trigger\" {...props} />;\n};\n\nexport const DropdownMenuGroup = (props: ComponentProps<typeof DropdownMenuPrimitive.Group>) => {\n return <DropdownMenuPrimitive.Group data-slot=\"dropdown-menu-group\" {...props} />;\n};\n\nexport const DropdownMenuRadioGroup = (props: ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>) => {\n return <DropdownMenuPrimitive.RadioGroup data-slot=\"dropdown-menu-radio-group\" {...props} />;\n};\n\nexport const DropdownMenuSub = (props: ComponentProps<typeof DropdownMenuPrimitive.Sub>) => {\n return <DropdownMenuPrimitive.Sub data-slot=\"dropdown-menu-sub\" {...props} />;\n};\n\n/**\n * Portals the menu panel next to its trigger.\n */\nexport const DropdownMenuContent = ({\n className,\n sideOffset = 6,\n ...props\n}: ComponentProps<typeof DropdownMenuPrimitive.Content>) => {\n return (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n className={cn(MENU_CONTENT_CLASS_NAME, 'origin-(--radix-dropdown-menu-content-transform-origin)', className)}\n data-slot=\"dropdown-menu-content\"\n sideOffset={sideOffset}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n );\n};\n\ntype DropdownMenuItemProps = ComponentProps<typeof DropdownMenuPrimitive.Item> & VariantProps<typeof menuItemVariants>;\n\n/**\n * Runs an action; the `danger` variant marks destructive ones.\n */\nexport const DropdownMenuItem = ({ className, inset, variant, ...props }: DropdownMenuItemProps) => {\n return (\n <DropdownMenuPrimitive.Item\n className={cn(menuItemVariants({ inset, variant }), className)}\n data-slot=\"dropdown-menu-item\"\n {...props}\n />\n );\n};\n\n/**\n * Toggles a setting and shows a check while it is on.\n */\nexport const DropdownMenuCheckboxItem = ({\n children,\n className,\n ...props\n}: ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem>) => {\n return (\n <DropdownMenuPrimitive.CheckboxItem\n className={cn(MENU_INDICATOR_ITEM_CLASS_NAME, className)}\n data-slot=\"dropdown-menu-checkbox-item\"\n {...props}\n >\n <span className={MENU_INDICATOR_CLASS_NAME}>\n <DropdownMenuPrimitive.ItemIndicator>\n <RefineIconCheck className=\"size-4 text-gem-ink\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n );\n};\n\n/**\n * Picks one option of its radio group and marks it with a dot.\n */\nexport const DropdownMenuRadioItem = ({\n children,\n className,\n ...props\n}: ComponentProps<typeof DropdownMenuPrimitive.RadioItem>) => {\n return (\n <DropdownMenuPrimitive.RadioItem\n className={cn(MENU_INDICATOR_ITEM_CLASS_NAME, className)}\n data-slot=\"dropdown-menu-radio-item\"\n {...props}\n >\n <span className={MENU_INDICATOR_CLASS_NAME}>\n <DropdownMenuPrimitive.ItemIndicator>\n <RefineIconCircleFilled className=\"size-2 text-gem-ink\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n );\n};\n\nexport const DropdownMenuLabel = ({\n className,\n inset,\n ...props\n}: ComponentProps<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean;\n}) => {\n return (\n <DropdownMenuPrimitive.Label\n className={cn(MENU_LABEL_CLASS_NAME, { 'pl-8': inset }, className)}\n data-slot=\"dropdown-menu-label\"\n {...props}\n />\n );\n};\n\nexport const DropdownMenuSeparator = ({\n className,\n ...props\n}: ComponentProps<typeof DropdownMenuPrimitive.Separator>) => {\n return (\n <DropdownMenuPrimitive.Separator\n className={cn(MENU_SEPARATOR_CLASS_NAME, className)}\n data-slot=\"dropdown-menu-separator\"\n {...props}\n />\n );\n};\n\n/**\n * Right-aligns a keyboard shortcut hint inside an item.\n */\nexport const DropdownMenuShortcut = ({ className, ...props }: ComponentProps<'span'>) => {\n return <span className={cn(MENU_SHORTCUT_CLASS_NAME, className)} data-slot=\"dropdown-menu-shortcut\" {...props} />;\n};\n\n/**\n * Opens a nested menu and points at it with a chevron.\n */\nexport const DropdownMenuSubTrigger = ({\n children,\n className,\n inset,\n ...props\n}: ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {\n inset?: boolean;\n}) => {\n return (\n <DropdownMenuPrimitive.SubTrigger\n className={cn(menuItemVariants({ inset }), className)}\n data-slot=\"dropdown-menu-sub-trigger\"\n {...props}\n >\n {children}\n <RefineIconChevronRight className=\"ml-auto size-4\" />\n </DropdownMenuPrimitive.SubTrigger>\n );\n};\n\nexport const DropdownMenuSubContent = ({\n className,\n ...props\n}: ComponentProps<typeof DropdownMenuPrimitive.SubContent>) => {\n return (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.SubContent\n className={cn(MENU_CONTENT_CLASS_NAME, 'origin-(--radix-dropdown-menu-content-transform-origin)', className)}\n data-slot=\"dropdown-menu-sub-content\"\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n );\n};\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { cn } from "../../lib/cn.js";
2
+ import { RefineIconChevronLeft, RefineIconChevronRight, RefineIconMoreHorizontal } from "../../icons/refine-icons.js";
2
3
  import { Button } from "../button/button.js";
3
- import { ChevronLeft, ChevronRight, Ellipsis } from "lucide-react";
4
4
  import { jsx, jsxs } from "react/jsx-runtime";
5
5
  // src/components/pagination/pagination.tsx
6
6
  /**
@@ -52,7 +52,7 @@ var PaginationPrevious = ({ children = "Previous", className, ...props }) => {
52
52
  className: cn("gap-1 pl-2.5 font-sans", className),
53
53
  size: "md",
54
54
  ...props,
55
- children: [/* @__PURE__ */ jsx(ChevronLeft, {}), /* @__PURE__ */ jsx("span", {
55
+ children: [/* @__PURE__ */ jsx(RefineIconChevronLeft, {}), /* @__PURE__ */ jsx("span", {
56
56
  className: "hidden sm:inline",
57
57
  children
58
58
  })]
@@ -69,7 +69,7 @@ var PaginationNext = ({ children = "Next", className, ...props }) => {
69
69
  children: [/* @__PURE__ */ jsx("span", {
70
70
  className: "hidden sm:inline",
71
71
  children
72
- }), /* @__PURE__ */ jsx(ChevronRight, {})]
72
+ }), /* @__PURE__ */ jsx(RefineIconChevronRight, {})]
73
73
  });
74
74
  };
75
75
  /**
@@ -80,7 +80,7 @@ var PaginationEllipsis = ({ className, ...props }) => {
80
80
  className: cn("flex size-control-md items-center justify-center text-subtle", className),
81
81
  "data-slot": "pagination-ellipsis",
82
82
  ...props,
83
- children: [/* @__PURE__ */ jsx(Ellipsis, {
83
+ children: [/* @__PURE__ */ jsx(RefineIconMoreHorizontal, {
84
84
  "aria-hidden": true,
85
85
  className: "size-4",
86
86
  role: "presentation"
@@ -1 +1 @@
1
- {"version":3,"file":"pagination.js","names":[],"sources":["../../../src/components/pagination/pagination.tsx"],"sourcesContent":["import { ChevronLeft, ChevronRight, Ellipsis } from 'lucide-react';\nimport type { ComponentProps } from 'react';\n\nimport { cn } from '../../lib/cn';\nimport { Button } from '../button/button';\n\n/**\n * Marks up the page links as a navigation landmark.\n */\nexport const Pagination = ({ className, ...props }: ComponentProps<'nav'>) => {\n return (\n <nav\n aria-label=\"Pagination\"\n className={cn('flex w-full justify-center', className)}\n data-slot=\"pagination\"\n {...props}\n />\n );\n};\n\nexport const PaginationContent = ({ className, ...props }: ComponentProps<'ul'>) => {\n return <ul className={cn('flex items-center gap-1', className)} data-slot=\"pagination-content\" {...props} />;\n};\n\nexport const PaginationItem = (props: ComponentProps<'li'>) => {\n return <li data-slot=\"pagination-item\" {...props} />;\n};\n\ninterface PaginationLinkProps extends ComponentProps<'a'> {\n isActive?: boolean;\n size?: 'icon' | 'md';\n}\n\n/**\n * Links to one page; the active page is outlined and announced as current.\n */\nexport const PaginationLink = ({ className, isActive = false, size = 'icon', ...props }: PaginationLinkProps) => {\n return (\n <Button\n asChild\n className={cn('font-mono tabular-nums', className)}\n size={size}\n variant={isActive ? 'outline' : 'ghost'}\n >\n <a aria-current={isActive ? 'page' : undefined} data-active={isActive} data-slot=\"pagination-link\" {...props} />\n </Button>\n );\n};\n\n/**\n * Links to the previous page.\n */\nexport const PaginationPrevious = ({ children = 'Previous', className, ...props }: ComponentProps<'a'>) => {\n return (\n <PaginationLink className={cn('gap-1 pl-2.5 font-sans', className)} size=\"md\" {...props}>\n <ChevronLeft />\n <span className=\"hidden sm:inline\">{children}</span>\n </PaginationLink>\n );\n};\n\n/**\n * Links to the next page.\n */\nexport const PaginationNext = ({ children = 'Next', className, ...props }: ComponentProps<'a'>) => {\n return (\n <PaginationLink className={cn('gap-1 pr-2.5 font-sans', className)} size=\"md\" {...props}>\n <span className=\"hidden sm:inline\">{children}</span>\n <ChevronRight />\n </PaginationLink>\n );\n};\n\n/**\n * Stands in for the pages between the visible ones.\n */\nexport const PaginationEllipsis = ({ className, ...props }: ComponentProps<'span'>) => {\n return (\n <span\n className={cn('flex size-control-md items-center justify-center text-subtle', className)}\n data-slot=\"pagination-ellipsis\"\n {...props}\n >\n <Ellipsis aria-hidden className=\"size-4\" role=\"presentation\" />\n <span className=\"sr-only\">More pages</span>\n </span>\n );\n};\n"],"mappings":";;;;;;;;AASA,IAAa,cAAc,EAAE,WAAW,GAAG,YAAmC;CAC5E,OACE,oBAAC,OAAD;EACE,cAAW;EACX,WAAW,GAAG,8BAA8B,SAAS;EACrD,aAAU;EACV,GAAI;CACL,CAAA;AAEL;AAEA,IAAa,qBAAqB,EAAE,WAAW,GAAG,YAAkC;CAClF,OAAO,oBAAC,MAAD;EAAI,WAAW,GAAG,2BAA2B,SAAS;EAAG,aAAU;EAAqB,GAAI;CAAQ,CAAA;AAC7G;AAEA,IAAa,kBAAkB,UAAgC;CAC7D,OAAO,oBAAC,MAAD;EAAI,aAAU;EAAkB,GAAI;CAAQ,CAAA;AACrD;;;;AAUA,IAAa,kBAAkB,EAAE,WAAW,WAAW,OAAO,OAAO,QAAQ,GAAG,YAAiC;CAC/G,OACE,oBAAC,QAAD;EACE,SAAA;EACA,WAAW,GAAG,0BAA0B,SAAS;EAC3C;EACN,SAAS,WAAW,YAAY;EAEhC,UAAA,oBAAC,KAAD;GAAG,gBAAc,WAAW,SAAS,KAAA;GAAW,eAAa;GAAU,aAAU;GAAkB,GAAI;EAAQ,CAAA;CACzG,CAAA;AAEZ;;;;AAKA,IAAa,sBAAsB,EAAE,WAAW,YAAY,WAAW,GAAG,YAAiC;CACzG,OACE,qBAAC,gBAAD;EAAgB,WAAW,GAAG,0BAA0B,SAAS;EAAG,MAAK;EAAK,GAAI;EAAlF,UAAA,CACE,oBAAC,aAAD,CAAc,CAAA,GACd,oBAAC,QAAD;GAAM,WAAU;GAAoB;EAAe,CAAA,CACrC;;AAEpB;;;;AAKA,IAAa,kBAAkB,EAAE,WAAW,QAAQ,WAAW,GAAG,YAAiC;CACjG,OACE,qBAAC,gBAAD;EAAgB,WAAW,GAAG,0BAA0B,SAAS;EAAG,MAAK;EAAK,GAAI;EAAlF,UAAA,CACE,oBAAC,QAAD;GAAM,WAAU;GAAoB;EAAe,CAAA,GACnD,oBAAC,cAAD,CAAe,CAAA,CACD;;AAEpB;;;;AAKA,IAAa,sBAAsB,EAAE,WAAW,GAAG,YAAoC;CACrF,OACE,qBAAC,QAAD;EACE,WAAW,GAAG,gEAAgE,SAAS;EACvF,aAAU;EACV,GAAI;EAHN,UAAA,CAKE,oBAAC,UAAD;GAAU,eAAA;GAAY,WAAU;GAAS,MAAK;EAAgB,CAAA,GAC9D,oBAAC,QAAD;GAAM,WAAU;GAAU,UAAA;EAAgB,CAAA,CACtC;;AAEV"}
1
+ {"version":3,"file":"pagination.js","names":[],"sources":["../../../src/components/pagination/pagination.tsx"],"sourcesContent":["import type { ComponentProps } from 'react';\n\nimport { cn } from '../../lib/cn';\nimport { Button } from '../button/button';\nimport { RefineIconChevronLeft, RefineIconChevronRight, RefineIconMoreHorizontal } from '../../icons/refine-icons';\n\n/**\n * Marks up the page links as a navigation landmark.\n */\nexport const Pagination = ({ className, ...props }: ComponentProps<'nav'>) => {\n return (\n <nav\n aria-label=\"Pagination\"\n className={cn('flex w-full justify-center', className)}\n data-slot=\"pagination\"\n {...props}\n />\n );\n};\n\nexport const PaginationContent = ({ className, ...props }: ComponentProps<'ul'>) => {\n return <ul className={cn('flex items-center gap-1', className)} data-slot=\"pagination-content\" {...props} />;\n};\n\nexport const PaginationItem = (props: ComponentProps<'li'>) => {\n return <li data-slot=\"pagination-item\" {...props} />;\n};\n\ninterface PaginationLinkProps extends ComponentProps<'a'> {\n isActive?: boolean;\n size?: 'icon' | 'md';\n}\n\n/**\n * Links to one page; the active page is outlined and announced as current.\n */\nexport const PaginationLink = ({ className, isActive = false, size = 'icon', ...props }: PaginationLinkProps) => {\n return (\n <Button\n asChild\n className={cn('font-mono tabular-nums', className)}\n size={size}\n variant={isActive ? 'outline' : 'ghost'}\n >\n <a aria-current={isActive ? 'page' : undefined} data-active={isActive} data-slot=\"pagination-link\" {...props} />\n </Button>\n );\n};\n\n/**\n * Links to the previous page.\n */\nexport const PaginationPrevious = ({ children = 'Previous', className, ...props }: ComponentProps<'a'>) => {\n return (\n <PaginationLink className={cn('gap-1 pl-2.5 font-sans', className)} size=\"md\" {...props}>\n <RefineIconChevronLeft />\n <span className=\"hidden sm:inline\">{children}</span>\n </PaginationLink>\n );\n};\n\n/**\n * Links to the next page.\n */\nexport const PaginationNext = ({ children = 'Next', className, ...props }: ComponentProps<'a'>) => {\n return (\n <PaginationLink className={cn('gap-1 pr-2.5 font-sans', className)} size=\"md\" {...props}>\n <span className=\"hidden sm:inline\">{children}</span>\n <RefineIconChevronRight />\n </PaginationLink>\n );\n};\n\n/**\n * Stands in for the pages between the visible ones.\n */\nexport const PaginationEllipsis = ({ className, ...props }: ComponentProps<'span'>) => {\n return (\n <span\n className={cn('flex size-control-md items-center justify-center text-subtle', className)}\n data-slot=\"pagination-ellipsis\"\n {...props}\n >\n <RefineIconMoreHorizontal aria-hidden className=\"size-4\" role=\"presentation\" />\n <span className=\"sr-only\">More pages</span>\n </span>\n );\n};\n"],"mappings":";;;;;;;;AASA,IAAa,cAAc,EAAE,WAAW,GAAG,YAAmC;CAC5E,OACE,oBAAC,OAAD;EACE,cAAW;EACX,WAAW,GAAG,8BAA8B,SAAS;EACrD,aAAU;EACV,GAAI;CACL,CAAA;AAEL;AAEA,IAAa,qBAAqB,EAAE,WAAW,GAAG,YAAkC;CAClF,OAAO,oBAAC,MAAD;EAAI,WAAW,GAAG,2BAA2B,SAAS;EAAG,aAAU;EAAqB,GAAI;CAAQ,CAAA;AAC7G;AAEA,IAAa,kBAAkB,UAAgC;CAC7D,OAAO,oBAAC,MAAD;EAAI,aAAU;EAAkB,GAAI;CAAQ,CAAA;AACrD;;;;AAUA,IAAa,kBAAkB,EAAE,WAAW,WAAW,OAAO,OAAO,QAAQ,GAAG,YAAiC;CAC/G,OACE,oBAAC,QAAD;EACE,SAAA;EACA,WAAW,GAAG,0BAA0B,SAAS;EAC3C;EACN,SAAS,WAAW,YAAY;EAEhC,UAAA,oBAAC,KAAD;GAAG,gBAAc,WAAW,SAAS,KAAA;GAAW,eAAa;GAAU,aAAU;GAAkB,GAAI;EAAQ,CAAA;CACzG,CAAA;AAEZ;;;;AAKA,IAAa,sBAAsB,EAAE,WAAW,YAAY,WAAW,GAAG,YAAiC;CACzG,OACE,qBAAC,gBAAD;EAAgB,WAAW,GAAG,0BAA0B,SAAS;EAAG,MAAK;EAAK,GAAI;EAAlF,UAAA,CACE,oBAAC,uBAAD,CAAwB,CAAA,GACxB,oBAAC,QAAD;GAAM,WAAU;GAAoB;EAAe,CAAA,CACrC;;AAEpB;;;;AAKA,IAAa,kBAAkB,EAAE,WAAW,QAAQ,WAAW,GAAG,YAAiC;CACjG,OACE,qBAAC,gBAAD;EAAgB,WAAW,GAAG,0BAA0B,SAAS;EAAG,MAAK;EAAK,GAAI;EAAlF,UAAA,CACE,oBAAC,QAAD;GAAM,WAAU;GAAoB;EAAe,CAAA,GACnD,oBAAC,wBAAD,CAAyB,CAAA,CACX;;AAEpB;;;;AAKA,IAAa,sBAAsB,EAAE,WAAW,GAAG,YAAoC;CACrF,OACE,qBAAC,QAAD;EACE,WAAW,GAAG,gEAAgE,SAAS;EACvF,aAAU;EACV,GAAI;EAHN,UAAA,CAKE,oBAAC,0BAAD;GAA0B,eAAA;GAAY,WAAU;GAAS,MAAK;EAAgB,CAAA,GAC9E,oBAAC,QAAD;GAAM,WAAU;GAAU,UAAA;EAAgB,CAAA,CACtC;;AAEV"}
@@ -1,8 +1,8 @@
1
1
  "use client";
2
2
  import { cn } from "../../lib/cn.js";
3
+ import { RefineIconCheck, RefineIconChevronDown, RefineIconChevronUp } from "../../icons/refine-icons.js";
3
4
  import { useFieldControl } from "../field/field.js";
4
5
  import { inputShellVariants } from "../input/input.js";
5
- import { Check, ChevronDown, ChevronUp } from "lucide-react";
6
6
  import { Select } from "radix-ui";
7
7
  import { jsx, jsxs } from "react/jsx-runtime";
8
8
  // src/components/select/select.tsx
@@ -28,7 +28,7 @@ var SelectTrigger = ({ children, className, size, ...props }) => {
28
28
  ...controlProps,
29
29
  children: [children, /* @__PURE__ */ jsx(Select.Icon, {
30
30
  asChild: true,
31
- children: /* @__PURE__ */ jsx(ChevronDown, { className: "text-muted-foreground transition-transform duration-200 group-data-[state=open]/input:rotate-180" })
31
+ children: /* @__PURE__ */ jsx(RefineIconChevronDown, { className: "text-muted-foreground transition-transform duration-200 group-data-[state=open]/input:rotate-180" })
32
32
  })]
33
33
  });
34
34
  };
@@ -45,7 +45,7 @@ var SelectContent = ({ children, className, position = "popper", sideOffset = 6,
45
45
  children: [
46
46
  /* @__PURE__ */ jsx(Select.ScrollUpButton, {
47
47
  className: "flex h-6 items-center justify-center text-muted-foreground",
48
- children: /* @__PURE__ */ jsx(ChevronUp, { className: "size-4" })
48
+ children: /* @__PURE__ */ jsx(RefineIconChevronUp, { className: "size-4" })
49
49
  }),
50
50
  /* @__PURE__ */ jsx(Select.Viewport, {
51
51
  className: "p-1",
@@ -53,7 +53,7 @@ var SelectContent = ({ children, className, position = "popper", sideOffset = 6,
53
53
  }),
54
54
  /* @__PURE__ */ jsx(Select.ScrollDownButton, {
55
55
  className: "flex h-6 items-center justify-center text-muted-foreground",
56
- children: /* @__PURE__ */ jsx(ChevronDown, { className: "size-4" })
56
+ children: /* @__PURE__ */ jsx(RefineIconChevronDown, { className: "size-4" })
57
57
  })
58
58
  ]
59
59
  }) });
@@ -81,7 +81,7 @@ var SelectItem = ({ children, className, ...props }) => {
81
81
  children
82
82
  }) }), /* @__PURE__ */ jsx("span", {
83
83
  className: "absolute right-2.5 flex items-center",
84
- children: /* @__PURE__ */ jsx(Select.ItemIndicator, { children: /* @__PURE__ */ jsx(Check, { className: "text-gem-ink" }) })
84
+ children: /* @__PURE__ */ jsx(Select.ItemIndicator, { children: /* @__PURE__ */ jsx(RefineIconCheck, { className: "text-gem-ink" }) })
85
85
  })]
86
86
  });
87
87
  };
@@ -1 +1 @@
1
- {"version":3,"file":"select.js","names":["Select","SelectPrimitive"],"sources":["../../../src/components/select/select.tsx"],"sourcesContent":["'use client';\n\nimport { Check, ChevronDown, ChevronUp } from 'lucide-react';\nimport { Select as SelectPrimitive } from 'radix-ui';\nimport type { ComponentProps } from 'react';\n\nimport { cn } from '../../lib/cn';\nimport { useFieldControl } from '../field/field';\nimport { inputShellVariants } from '../input/input';\n\nexport const Select = SelectPrimitive.Root;\n\nexport const SelectGroup = SelectPrimitive.Group;\n\n/**\n * Shows the selected option inside the trigger; Radix drops its className, so the item text styles its own row.\n */\nexport const SelectValue = (props: ComponentProps<typeof SelectPrimitive.Value>) => {\n return <SelectPrimitive.Value data-slot=\"select-value\" {...props} />;\n};\n\ninterface SelectTriggerProps extends ComponentProps<typeof SelectPrimitive.Trigger> {\n size?: 'lg' | 'md' | 'sm';\n}\n\n/**\n * Renders the closed select as an input-shaped button that shows the current value and a chevron.\n */\nexport const SelectTrigger = ({ children, className, size, ...props }: SelectTriggerProps) => {\n const controlProps = useFieldControl(props);\n\n return (\n <SelectPrimitive.Trigger\n className={cn(\n inputShellVariants({ size }),\n 'justify-between text-left outline-none',\n 'focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/20',\n 'aria-invalid:border-danger data-placeholder:text-subtle',\n 'disabled:cursor-not-allowed disabled:bg-muted disabled:opacity-60',\n \"[&_svg:not([class*='text-'])]:text-muted-foreground\",\n className,\n )}\n data-slot=\"select-trigger\"\n {...controlProps}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <ChevronDown className=\"text-muted-foreground transition-transform duration-200 group-data-[state=open]/input:rotate-180\" />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n );\n};\n\n/**\n * Floats the option list in a portal, sized to the trigger, with scroll buttons for long lists.\n */\nexport const SelectContent = ({\n children,\n className,\n position = 'popper',\n sideOffset = 6,\n ...props\n}: ComponentProps<typeof SelectPrimitive.Content>) => {\n return (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n className={cn(\n // base\n 'relative z-50 max-h-(--radix-select-content-available-height) min-w-(--radix-select-trigger-width) overflow-hidden rounded-card border bg-popover text-popover-foreground shadow-float',\n 'origin-(--radix-select-content-transform-origin)',\n // animation\n 'data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95',\n 'data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95',\n 'data-[side=bottom]:slide-in-from-top-2 data-[side=top]:slide-in-from-bottom-2',\n className,\n )}\n data-slot=\"select-content\"\n position={position}\n sideOffset={sideOffset}\n {...props}\n >\n <SelectPrimitive.ScrollUpButton className=\"flex h-6 items-center justify-center text-muted-foreground\">\n <ChevronUp className=\"size-4\" />\n </SelectPrimitive.ScrollUpButton>\n <SelectPrimitive.Viewport className=\"p-1\">{children}</SelectPrimitive.Viewport>\n <SelectPrimitive.ScrollDownButton className=\"flex h-6 items-center justify-center text-muted-foreground\">\n <ChevronDown className=\"size-4\" />\n </SelectPrimitive.ScrollDownButton>\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n );\n};\n\n/**\n * Titles a `SelectGroup`.\n */\nexport const SelectLabel = ({ className, ...props }: ComponentProps<typeof SelectPrimitive.Label>) => {\n return (\n <SelectPrimitive.Label\n className={cn('eyebrow px-2.5 pt-2.5 pb-1.5 text-muted-foreground', className)}\n data-slot=\"select-label\"\n {...props}\n />\n );\n};\n\n/**\n * Renders one option, with a check mark when it is the selected value.\n */\nexport const SelectItem = ({ children, className, ...props }: ComponentProps<typeof SelectPrimitive.Item>) => {\n return (\n <SelectPrimitive.Item\n className={cn(\n // base\n 'relative flex min-h-control-sm w-full cursor-default items-center gap-2 rounded-inner py-1.5 pr-8 pl-2.5 text-body-sm outline-none select-none',\n \"[&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground\",\n // hover\n 'data-highlighted:bg-hover',\n // selected\n 'data-[state=checked]:font-medium',\n // disabled\n 'data-disabled:pointer-events-none data-disabled:opacity-45',\n className,\n )}\n data-slot=\"select-item\"\n {...props}\n >\n <SelectPrimitive.ItemText>\n {/* Radix strips className from ItemText and portals this span into the trigger, keeping icon and text inline in both. */}\n <span className=\"flex min-w-0 items-center gap-2 truncate\">{children}</span>\n </SelectPrimitive.ItemText>\n <span className=\"absolute right-2.5 flex items-center\">\n <SelectPrimitive.ItemIndicator>\n <Check className=\"text-gem-ink\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n </SelectPrimitive.Item>\n );\n};\n\n/**\n * Draws a hairline between groups of options.\n */\nexport const SelectSeparator = ({ className, ...props }: ComponentProps<typeof SelectPrimitive.Separator>) => {\n return (\n <SelectPrimitive.Separator className={cn('-mx-1 my-1 h-px bg-border', className)} data-slot=\"select-separator\" {...props} />\n );\n};\n"],"mappings":";;;;;;;;AAUA,IAAaA,WAASC,OAAgB;AAEtC,IAAa,cAAcA,OAAgB;;;;AAK3C,IAAa,eAAe,UAAwD;CAClF,OAAO,oBAACA,OAAgB,OAAjB;EAAuB,aAAU;EAAe,GAAI;CAAQ,CAAA;AACrE;;;;AASA,IAAa,iBAAiB,EAAE,UAAU,WAAW,MAAM,GAAG,YAAgC;CAC5F,MAAM,eAAe,gBAAgB,KAAK;CAE1C,OACE,qBAACA,OAAgB,SAAjB;EACE,WAAW,GACT,mBAAmB,EAAE,KAAK,CAAC,GAC3B,0CACA,6EACA,2DACA,qEACA,uDACA,SACF;EACA,aAAU;EACV,GAAI;EAXN,UAAA,CAaG,UACD,oBAACA,OAAgB,MAAjB;GAAsB,SAAA;GACpB,UAAA,oBAAC,aAAD,EAAa,WAAU,mGAAoG,CAAA;EACvG,CAAA,CACC;;AAE7B;;;;AAKA,IAAa,iBAAiB,EAC5B,UACA,WACA,WAAW,UACX,aAAa,GACb,GAAG,YACiD;CACpD,OACE,oBAACA,OAAgB,QAAjB,EAAA,UACE,qBAACA,OAAgB,SAAjB;EACE,WAAW,GAET,0LACA,oDAEA,yFACA,kGACA,iFACA,SACF;EACA,aAAU;EACA;EACE;EACZ,GAAI;EAdN,UAAA;GAgBE,oBAACA,OAAgB,gBAAjB;IAAgC,WAAU;IACxC,UAAA,oBAAC,WAAD,EAAW,WAAU,SAAU,CAAA;GACD,CAAA;GAChC,oBAACA,OAAgB,UAAjB;IAA0B,WAAU;IAAO;GAAmC,CAAA;GAC9E,oBAACA,OAAgB,kBAAjB;IAAkC,WAAU;IAC1C,UAAA,oBAAC,aAAD,EAAa,WAAU,SAAU,CAAA;GACD,CAAA;EACX;CACH,CAAA,EAAA,CAAA;AAE5B;;;;AAKA,IAAa,eAAe,EAAE,WAAW,GAAG,YAA0D;CACpG,OACE,oBAACA,OAAgB,OAAjB;EACE,WAAW,GAAG,sDAAsD,SAAS;EAC7E,aAAU;EACV,GAAI;CACL,CAAA;AAEL;;;;AAKA,IAAa,cAAc,EAAE,UAAU,WAAW,GAAG,YAAyD;CAC5G,OACE,qBAACA,OAAgB,MAAjB;EACE,WAAW,GAET,kJACA,6GAEA,6BAEA,oCAEA,8DACA,SACF;EACA,aAAU;EACV,GAAI;EAdN,UAAA,CAgBE,oBAACA,OAAgB,UAAjB,EAAA,UAEE,oBAAC,QAAD;GAAM,WAAU;GAA4C;EAAe,CAAA,EACnD,CAAA,GAC1B,oBAAC,QAAD;GAAM,WAAU;GACd,UAAA,oBAACA,OAAgB,eAAjB,EAAA,UACE,oBAAC,OAAD,EAAO,WAAU,eAAgB,CAAA,EACJ,CAAA;EAC3B,CAAA,CACc;;AAE1B;;;;AAKA,IAAa,mBAAmB,EAAE,WAAW,GAAG,YAA8D;CAC5G,OACE,oBAACA,OAAgB,WAAjB;EAA2B,WAAW,GAAG,6BAA6B,SAAS;EAAG,aAAU;EAAmB,GAAI;CAAQ,CAAA;AAE/H"}
1
+ {"version":3,"file":"select.js","names":["Select","SelectPrimitive"],"sources":["../../../src/components/select/select.tsx"],"sourcesContent":["'use client';\n\nimport { Select as SelectPrimitive } from 'radix-ui';\nimport type { ComponentProps } from 'react';\n\nimport { cn } from '../../lib/cn';\nimport { useFieldControl } from '../field/field';\nimport { inputShellVariants } from '../input/input';\nimport { RefineIconCheck, RefineIconChevronDown, RefineIconChevronUp } from '../../icons/refine-icons';\n\nexport const Select = SelectPrimitive.Root;\n\nexport const SelectGroup = SelectPrimitive.Group;\n\n/**\n * Shows the selected option inside the trigger; Radix drops its className, so the item text styles its own row.\n */\nexport const SelectValue = (props: ComponentProps<typeof SelectPrimitive.Value>) => {\n return <SelectPrimitive.Value data-slot=\"select-value\" {...props} />;\n};\n\ninterface SelectTriggerProps extends ComponentProps<typeof SelectPrimitive.Trigger> {\n size?: 'lg' | 'md' | 'sm';\n}\n\n/**\n * Renders the closed select as an input-shaped button that shows the current value and a chevron.\n */\nexport const SelectTrigger = ({ children, className, size, ...props }: SelectTriggerProps) => {\n const controlProps = useFieldControl(props);\n\n return (\n <SelectPrimitive.Trigger\n className={cn(\n inputShellVariants({ size }),\n 'justify-between text-left outline-none',\n 'focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/20',\n 'aria-invalid:border-danger data-placeholder:text-subtle',\n 'disabled:cursor-not-allowed disabled:bg-muted disabled:opacity-60',\n \"[&_svg:not([class*='text-'])]:text-muted-foreground\",\n className,\n )}\n data-slot=\"select-trigger\"\n {...controlProps}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <RefineIconChevronDown className=\"text-muted-foreground transition-transform duration-200 group-data-[state=open]/input:rotate-180\" />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n );\n};\n\n/**\n * Floats the option list in a portal, sized to the trigger, with scroll buttons for long lists.\n */\nexport const SelectContent = ({\n children,\n className,\n position = 'popper',\n sideOffset = 6,\n ...props\n}: ComponentProps<typeof SelectPrimitive.Content>) => {\n return (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n className={cn(\n // base\n 'relative z-50 max-h-(--radix-select-content-available-height) min-w-(--radix-select-trigger-width) overflow-hidden rounded-card border bg-popover text-popover-foreground shadow-float',\n 'origin-(--radix-select-content-transform-origin)',\n // animation\n 'data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95',\n 'data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95',\n 'data-[side=bottom]:slide-in-from-top-2 data-[side=top]:slide-in-from-bottom-2',\n className,\n )}\n data-slot=\"select-content\"\n position={position}\n sideOffset={sideOffset}\n {...props}\n >\n <SelectPrimitive.ScrollUpButton className=\"flex h-6 items-center justify-center text-muted-foreground\">\n <RefineIconChevronUp className=\"size-4\" />\n </SelectPrimitive.ScrollUpButton>\n <SelectPrimitive.Viewport className=\"p-1\">{children}</SelectPrimitive.Viewport>\n <SelectPrimitive.ScrollDownButton className=\"flex h-6 items-center justify-center text-muted-foreground\">\n <RefineIconChevronDown className=\"size-4\" />\n </SelectPrimitive.ScrollDownButton>\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n );\n};\n\n/**\n * Titles a `SelectGroup`.\n */\nexport const SelectLabel = ({ className, ...props }: ComponentProps<typeof SelectPrimitive.Label>) => {\n return (\n <SelectPrimitive.Label\n className={cn('eyebrow px-2.5 pt-2.5 pb-1.5 text-muted-foreground', className)}\n data-slot=\"select-label\"\n {...props}\n />\n );\n};\n\n/**\n * Renders one option, with a check mark when it is the selected value.\n */\nexport const SelectItem = ({ children, className, ...props }: ComponentProps<typeof SelectPrimitive.Item>) => {\n return (\n <SelectPrimitive.Item\n className={cn(\n // base\n 'relative flex min-h-control-sm w-full cursor-default items-center gap-2 rounded-inner py-1.5 pr-8 pl-2.5 text-body-sm outline-none select-none',\n \"[&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground\",\n // hover\n 'data-highlighted:bg-hover',\n // selected\n 'data-[state=checked]:font-medium',\n // disabled\n 'data-disabled:pointer-events-none data-disabled:opacity-45',\n className,\n )}\n data-slot=\"select-item\"\n {...props}\n >\n <SelectPrimitive.ItemText>\n {/* Radix strips className from ItemText and portals this span into the trigger, keeping icon and text inline in both. */}\n <span className=\"flex min-w-0 items-center gap-2 truncate\">{children}</span>\n </SelectPrimitive.ItemText>\n <span className=\"absolute right-2.5 flex items-center\">\n <SelectPrimitive.ItemIndicator>\n <RefineIconCheck className=\"text-gem-ink\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n </SelectPrimitive.Item>\n );\n};\n\n/**\n * Draws a hairline between groups of options.\n */\nexport const SelectSeparator = ({ className, ...props }: ComponentProps<typeof SelectPrimitive.Separator>) => {\n return (\n <SelectPrimitive.Separator className={cn('-mx-1 my-1 h-px bg-border', className)} data-slot=\"select-separator\" {...props} />\n );\n};\n"],"mappings":";;;;;;;;AAUA,IAAaA,WAASC,OAAgB;AAEtC,IAAa,cAAcA,OAAgB;;;;AAK3C,IAAa,eAAe,UAAwD;CAClF,OAAO,oBAACA,OAAgB,OAAjB;EAAuB,aAAU;EAAe,GAAI;CAAQ,CAAA;AACrE;;;;AASA,IAAa,iBAAiB,EAAE,UAAU,WAAW,MAAM,GAAG,YAAgC;CAC5F,MAAM,eAAe,gBAAgB,KAAK;CAE1C,OACE,qBAACA,OAAgB,SAAjB;EACE,WAAW,GACT,mBAAmB,EAAE,KAAK,CAAC,GAC3B,0CACA,6EACA,2DACA,qEACA,uDACA,SACF;EACA,aAAU;EACV,GAAI;EAXN,UAAA,CAaG,UACD,oBAACA,OAAgB,MAAjB;GAAsB,SAAA;GACpB,UAAA,oBAAC,uBAAD,EAAuB,WAAU,mGAAoG,CAAA;EACjH,CAAA,CACC;;AAE7B;;;;AAKA,IAAa,iBAAiB,EAC5B,UACA,WACA,WAAW,UACX,aAAa,GACb,GAAG,YACiD;CACpD,OACE,oBAACA,OAAgB,QAAjB,EAAA,UACE,qBAACA,OAAgB,SAAjB;EACE,WAAW,GAET,0LACA,oDAEA,yFACA,kGACA,iFACA,SACF;EACA,aAAU;EACA;EACE;EACZ,GAAI;EAdN,UAAA;GAgBE,oBAACA,OAAgB,gBAAjB;IAAgC,WAAU;IACxC,UAAA,oBAAC,qBAAD,EAAqB,WAAU,SAAU,CAAA;GACX,CAAA;GAChC,oBAACA,OAAgB,UAAjB;IAA0B,WAAU;IAAO;GAAmC,CAAA;GAC9E,oBAACA,OAAgB,kBAAjB;IAAkC,WAAU;IAC1C,UAAA,oBAAC,uBAAD,EAAuB,WAAU,SAAU,CAAA;GACX,CAAA;EACX;CACH,CAAA,EAAA,CAAA;AAE5B;;;;AAKA,IAAa,eAAe,EAAE,WAAW,GAAG,YAA0D;CACpG,OACE,oBAACA,OAAgB,OAAjB;EACE,WAAW,GAAG,sDAAsD,SAAS;EAC7E,aAAU;EACV,GAAI;CACL,CAAA;AAEL;;;;AAKA,IAAa,cAAc,EAAE,UAAU,WAAW,GAAG,YAAyD;CAC5G,OACE,qBAACA,OAAgB,MAAjB;EACE,WAAW,GAET,kJACA,6GAEA,6BAEA,oCAEA,8DACA,SACF;EACA,aAAU;EACV,GAAI;EAdN,UAAA,CAgBE,oBAACA,OAAgB,UAAjB,EAAA,UAEE,oBAAC,QAAD;GAAM,WAAU;GAA4C;EAAe,CAAA,EACnD,CAAA,GAC1B,oBAAC,QAAD;GAAM,WAAU;GACd,UAAA,oBAACA,OAAgB,eAAjB,EAAA,UACE,oBAAC,iBAAD,EAAiB,WAAU,eAAgB,CAAA,EACd,CAAA;EAC3B,CAAA,CACc;;AAE1B;;;;AAKA,IAAa,mBAAmB,EAAE,WAAW,GAAG,YAA8D;CAC5G,OACE,oBAACA,OAAgB,WAAjB;EAA2B,WAAW,GAAG,6BAA6B,SAAS;EAAG,aAAU;EAAmB,GAAI;CAAQ,CAAA;AAE/H"}
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { cn } from "../../lib/cn.js";
3
+ import { RefineIconCloseMD } from "../../icons/refine-icons.js";
3
4
  import { DIALOG_CLOSE_CLASS_NAME, DIALOG_OVERLAY_CLASS_NAME } from "../dialog/dialog.js";
4
- import { X } from "lucide-react";
5
5
  import { Dialog } from "radix-ui";
6
6
  import { jsx, jsxs } from "react/jsx-runtime";
7
7
  import { cva } from "class-variance-authority";
@@ -80,7 +80,7 @@ var SheetContent = ({ children, className, showClose = true, side, size, ...prop
80
80
  children: [children, showClose && /* @__PURE__ */ jsxs(Dialog.Close, {
81
81
  className: DIALOG_CLOSE_CLASS_NAME,
82
82
  title: "Close",
83
- children: [/* @__PURE__ */ jsx(X, { className: "size-4" }), /* @__PURE__ */ jsx("span", {
83
+ children: [/* @__PURE__ */ jsx(RefineIconCloseMD, { className: "size-4" }), /* @__PURE__ */ jsx("span", {
84
84
  className: "sr-only",
85
85
  children: "Close"
86
86
  })]
@@ -1 +1 @@
1
- {"version":3,"file":"sheet.js","names":["SheetPrimitive"],"sources":["../../../src/components/sheet/sheet.tsx"],"sourcesContent":["'use client';\n\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { X } from 'lucide-react';\nimport { Dialog as SheetPrimitive } from 'radix-ui';\nimport type { ComponentProps } from 'react';\n\nimport { cn } from '../../lib/cn';\nimport { DIALOG_CLOSE_CLASS_NAME, DIALOG_OVERLAY_CLASS_NAME } from '../dialog/dialog';\n\nconst sheetContentVariants = cva(\n [\n // base\n 'fixed z-50 flex flex-col bg-popover text-popover-foreground shadow-float outline-none',\n // animation\n 'ease-out-expo data-[state=closed]:animate-out data-[state=closed]:duration-200 data-[state=open]:animate-in data-[state=open]:duration-300',\n ],\n {\n variants: {\n side: {\n right:\n 'inset-y-0 right-0 h-full w-[calc(100vw-2rem)] border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right',\n left: 'inset-y-0 left-0 h-full w-[calc(100vw-2rem)] border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left',\n top: 'inset-x-0 top-0 max-h-[85dvh] border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top',\n bottom:\n 'inset-x-0 bottom-0 max-h-[85dvh] rounded-t-panel border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom',\n },\n size: {\n sm: '',\n md: '',\n lg: '',\n },\n },\n compoundVariants: [\n {\n side: ['left', 'right'],\n size: 'sm',\n className: 'max-w-sm',\n },\n {\n side: ['left', 'right'],\n size: 'md',\n className: 'max-w-lg',\n },\n {\n side: ['left', 'right'],\n size: 'lg',\n className: 'max-w-3xl',\n },\n ],\n defaultVariants: {\n side: 'right',\n size: 'md',\n },\n },\n);\n\n/**\n * Holds the open state of a panel that slides in from an edge of the screen.\n */\nexport const Sheet = (props: ComponentProps<typeof SheetPrimitive.Root>) => {\n return <SheetPrimitive.Root data-slot=\"sheet\" {...props} />;\n};\n\nexport const SheetTrigger = (props: ComponentProps<typeof SheetPrimitive.Trigger>) => {\n return <SheetPrimitive.Trigger data-slot=\"sheet-trigger\" {...props} />;\n};\n\nexport const SheetClose = (props: ComponentProps<typeof SheetPrimitive.Close>) => {\n return <SheetPrimitive.Close data-slot=\"sheet-close\" {...props} />;\n};\n\ninterface SheetContentProps\n extends ComponentProps<typeof SheetPrimitive.Content>,\n VariantProps<typeof sheetContentVariants> {\n showClose?: boolean;\n}\n\n/**\n * Portals the sliding panel above a blurred scrim, from the given `side`.\n */\nexport const SheetContent = ({ children, className, showClose = true, side, size, ...props }: SheetContentProps) => {\n return (\n <SheetPrimitive.Portal>\n <SheetPrimitive.Overlay className={DIALOG_OVERLAY_CLASS_NAME} data-slot=\"sheet-overlay\" />\n <SheetPrimitive.Content\n className={cn(sheetContentVariants({ side, size }), className)}\n data-slot=\"sheet-content\"\n {...props}\n >\n {children}\n {showClose && (\n <SheetPrimitive.Close className={DIALOG_CLOSE_CLASS_NAME} title=\"Close\">\n <X className=\"size-4\" />\n <span className=\"sr-only\">Close</span>\n </SheetPrimitive.Close>\n )}\n </SheetPrimitive.Content>\n </SheetPrimitive.Portal>\n );\n};\n\nexport const SheetHeader = ({ className, ...props }: ComponentProps<'div'>) => {\n return (\n <div className={cn('flex flex-col gap-1.5 border-b p-6 pr-14', className)} data-slot=\"sheet-header\" {...props} />\n );\n};\n\n/**\n * Scrolls the sheet's main content between its header and footer.\n */\nexport const SheetBody = ({ className, ...props }: ComponentProps<'div'>) => {\n return <div className={cn('min-h-0 flex-1 overflow-y-auto p-6', className)} data-slot=\"sheet-body\" {...props} />;\n};\n\nexport const SheetFooter = ({ className, ...props }: ComponentProps<'div'>) => {\n return (\n <div\n className={cn('mt-auto flex flex-col-reverse gap-2 border-t p-6 sm:flex-row sm:justify-end', className)}\n data-slot=\"sheet-footer\"\n {...props}\n />\n );\n};\n\nexport const SheetTitle = ({ className, ...props }: ComponentProps<typeof SheetPrimitive.Title>) => {\n return (\n <SheetPrimitive.Title\n className={cn('text-headline-sm text-foreground', className)}\n data-slot=\"sheet-title\"\n {...props}\n />\n );\n};\n\nexport const SheetDescription = ({ className, ...props }: ComponentProps<typeof SheetPrimitive.Description>) => {\n return (\n <SheetPrimitive.Description\n className={cn('text-body-sm text-muted-foreground', className)}\n data-slot=\"sheet-description\"\n {...props}\n />\n );\n};\n"],"mappings":";;;;;;;;AAUA,IAAM,uBAAuB,IAC3B,CAEE,yFAEA,4IACF,GACA;CACE,UAAU;EACR,MAAM;GACJ,OACE;GACF,MAAM;GACN,KAAK;GACL,QACE;EACJ;EACA,MAAM;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;EACN;CACF;CACA,kBAAkB;EAChB;GACE,MAAM,CAAC,QAAQ,OAAO;GACtB,MAAM;GACN,WAAW;EACb;EACA;GACE,MAAM,CAAC,QAAQ,OAAO;GACtB,MAAM;GACN,WAAW;EACb;EACA;GACE,MAAM,CAAC,QAAQ,OAAO;GACtB,MAAM;GACN,WAAW;EACb;CACF;CACA,iBAAiB;EACf,MAAM;EACN,MAAM;CACR;AACF,CACF;;;;AAKA,IAAa,SAAS,UAAsD;CAC1E,OAAO,oBAACA,OAAe,MAAhB;EAAqB,aAAU;EAAQ,GAAI;CAAQ,CAAA;AAC5D;AAEA,IAAa,gBAAgB,UAAyD;CACpF,OAAO,oBAACA,OAAe,SAAhB;EAAwB,aAAU;EAAgB,GAAI;CAAQ,CAAA;AACvE;AAEA,IAAa,cAAc,UAAuD;CAChF,OAAO,oBAACA,OAAe,OAAhB;EAAsB,aAAU;EAAc,GAAI;CAAQ,CAAA;AACnE;;;;AAWA,IAAa,gBAAgB,EAAE,UAAU,WAAW,YAAY,MAAM,MAAM,MAAM,GAAG,YAA+B;CAClH,OACE,qBAACA,OAAe,QAAhB,EAAA,UAAA,CACE,oBAACA,OAAe,SAAhB;EAAwB,WAAW;EAA2B,aAAU;CAAiB,CAAA,GACzF,qBAACA,OAAe,SAAhB;EACE,WAAW,GAAG,qBAAqB;GAAE;GAAM;EAAK,CAAC,GAAG,SAAS;EAC7D,aAAU;EACV,GAAI;EAHN,UAAA,CAKG,UACA,aACC,qBAACA,OAAe,OAAhB;GAAsB,WAAW;GAAyB,OAAM;GAAhE,UAAA,CACE,oBAAC,GAAD,EAAG,WAAU,SAAU,CAAA,GACvB,oBAAC,QAAD;IAAM,WAAU;IAAU,UAAA;GAAW,CAAA,CACjB;EAEF,CAAA,CAAA;CACH,CAAA,CAAA,EAAA,CAAA;AAE3B;AAEA,IAAa,eAAe,EAAE,WAAW,GAAG,YAAmC;CAC7E,OACE,oBAAC,OAAD;EAAK,WAAW,GAAG,4CAA4C,SAAS;EAAG,aAAU;EAAe,GAAI;CAAQ,CAAA;AAEpH;;;;AAKA,IAAa,aAAa,EAAE,WAAW,GAAG,YAAmC;CAC3E,OAAO,oBAAC,OAAD;EAAK,WAAW,GAAG,sCAAsC,SAAS;EAAG,aAAU;EAAa,GAAI;CAAQ,CAAA;AACjH;AAEA,IAAa,eAAe,EAAE,WAAW,GAAG,YAAmC;CAC7E,OACE,oBAAC,OAAD;EACE,WAAW,GAAG,+EAA+E,SAAS;EACtG,aAAU;EACV,GAAI;CACL,CAAA;AAEL;AAEA,IAAa,cAAc,EAAE,WAAW,GAAG,YAAyD;CAClG,OACE,oBAACA,OAAe,OAAhB;EACE,WAAW,GAAG,oCAAoC,SAAS;EAC3D,aAAU;EACV,GAAI;CACL,CAAA;AAEL;AAEA,IAAa,oBAAoB,EAAE,WAAW,GAAG,YAA+D;CAC9G,OACE,oBAACA,OAAe,aAAhB;EACE,WAAW,GAAG,sCAAsC,SAAS;EAC7D,aAAU;EACV,GAAI;CACL,CAAA;AAEL"}
1
+ {"version":3,"file":"sheet.js","names":["SheetPrimitive"],"sources":["../../../src/components/sheet/sheet.tsx"],"sourcesContent":["'use client';\n\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { Dialog as SheetPrimitive } from 'radix-ui';\nimport type { ComponentProps } from 'react';\n\nimport { cn } from '../../lib/cn';\nimport { DIALOG_CLOSE_CLASS_NAME, DIALOG_OVERLAY_CLASS_NAME } from '../dialog/dialog';\nimport { RefineIconCloseMD } from '../../icons/refine-icons';\n\nconst sheetContentVariants = cva(\n [\n // base\n 'fixed z-50 flex flex-col bg-popover text-popover-foreground shadow-float outline-none',\n // animation\n 'ease-out-expo data-[state=closed]:animate-out data-[state=closed]:duration-200 data-[state=open]:animate-in data-[state=open]:duration-300',\n ],\n {\n variants: {\n side: {\n right:\n 'inset-y-0 right-0 h-full w-[calc(100vw-2rem)] border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right',\n left: 'inset-y-0 left-0 h-full w-[calc(100vw-2rem)] border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left',\n top: 'inset-x-0 top-0 max-h-[85dvh] border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top',\n bottom:\n 'inset-x-0 bottom-0 max-h-[85dvh] rounded-t-panel border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom',\n },\n size: {\n sm: '',\n md: '',\n lg: '',\n },\n },\n compoundVariants: [\n {\n side: ['left', 'right'],\n size: 'sm',\n className: 'max-w-sm',\n },\n {\n side: ['left', 'right'],\n size: 'md',\n className: 'max-w-lg',\n },\n {\n side: ['left', 'right'],\n size: 'lg',\n className: 'max-w-3xl',\n },\n ],\n defaultVariants: {\n side: 'right',\n size: 'md',\n },\n },\n);\n\n/**\n * Holds the open state of a panel that slides in from an edge of the screen.\n */\nexport const Sheet = (props: ComponentProps<typeof SheetPrimitive.Root>) => {\n return <SheetPrimitive.Root data-slot=\"sheet\" {...props} />;\n};\n\nexport const SheetTrigger = (props: ComponentProps<typeof SheetPrimitive.Trigger>) => {\n return <SheetPrimitive.Trigger data-slot=\"sheet-trigger\" {...props} />;\n};\n\nexport const SheetClose = (props: ComponentProps<typeof SheetPrimitive.Close>) => {\n return <SheetPrimitive.Close data-slot=\"sheet-close\" {...props} />;\n};\n\ninterface SheetContentProps\n extends ComponentProps<typeof SheetPrimitive.Content>,\n VariantProps<typeof sheetContentVariants> {\n showClose?: boolean;\n}\n\n/**\n * Portals the sliding panel above a blurred scrim, from the given `side`.\n */\nexport const SheetContent = ({ children, className, showClose = true, side, size, ...props }: SheetContentProps) => {\n return (\n <SheetPrimitive.Portal>\n <SheetPrimitive.Overlay className={DIALOG_OVERLAY_CLASS_NAME} data-slot=\"sheet-overlay\" />\n <SheetPrimitive.Content\n className={cn(sheetContentVariants({ side, size }), className)}\n data-slot=\"sheet-content\"\n {...props}\n >\n {children}\n {showClose && (\n <SheetPrimitive.Close className={DIALOG_CLOSE_CLASS_NAME} title=\"Close\">\n <RefineIconCloseMD className=\"size-4\" />\n <span className=\"sr-only\">Close</span>\n </SheetPrimitive.Close>\n )}\n </SheetPrimitive.Content>\n </SheetPrimitive.Portal>\n );\n};\n\nexport const SheetHeader = ({ className, ...props }: ComponentProps<'div'>) => {\n return (\n <div className={cn('flex flex-col gap-1.5 border-b p-6 pr-14', className)} data-slot=\"sheet-header\" {...props} />\n );\n};\n\n/**\n * Scrolls the sheet's main content between its header and footer.\n */\nexport const SheetBody = ({ className, ...props }: ComponentProps<'div'>) => {\n return <div className={cn('min-h-0 flex-1 overflow-y-auto p-6', className)} data-slot=\"sheet-body\" {...props} />;\n};\n\nexport const SheetFooter = ({ className, ...props }: ComponentProps<'div'>) => {\n return (\n <div\n className={cn('mt-auto flex flex-col-reverse gap-2 border-t p-6 sm:flex-row sm:justify-end', className)}\n data-slot=\"sheet-footer\"\n {...props}\n />\n );\n};\n\nexport const SheetTitle = ({ className, ...props }: ComponentProps<typeof SheetPrimitive.Title>) => {\n return (\n <SheetPrimitive.Title\n className={cn('text-headline-sm text-foreground', className)}\n data-slot=\"sheet-title\"\n {...props}\n />\n );\n};\n\nexport const SheetDescription = ({ className, ...props }: ComponentProps<typeof SheetPrimitive.Description>) => {\n return (\n <SheetPrimitive.Description\n className={cn('text-body-sm text-muted-foreground', className)}\n data-slot=\"sheet-description\"\n {...props}\n />\n );\n};\n"],"mappings":";;;;;;;;AAUA,IAAM,uBAAuB,IAC3B,CAEE,yFAEA,4IACF,GACA;CACE,UAAU;EACR,MAAM;GACJ,OACE;GACF,MAAM;GACN,KAAK;GACL,QACE;EACJ;EACA,MAAM;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;EACN;CACF;CACA,kBAAkB;EAChB;GACE,MAAM,CAAC,QAAQ,OAAO;GACtB,MAAM;GACN,WAAW;EACb;EACA;GACE,MAAM,CAAC,QAAQ,OAAO;GACtB,MAAM;GACN,WAAW;EACb;EACA;GACE,MAAM,CAAC,QAAQ,OAAO;GACtB,MAAM;GACN,WAAW;EACb;CACF;CACA,iBAAiB;EACf,MAAM;EACN,MAAM;CACR;AACF,CACF;;;;AAKA,IAAa,SAAS,UAAsD;CAC1E,OAAO,oBAACA,OAAe,MAAhB;EAAqB,aAAU;EAAQ,GAAI;CAAQ,CAAA;AAC5D;AAEA,IAAa,gBAAgB,UAAyD;CACpF,OAAO,oBAACA,OAAe,SAAhB;EAAwB,aAAU;EAAgB,GAAI;CAAQ,CAAA;AACvE;AAEA,IAAa,cAAc,UAAuD;CAChF,OAAO,oBAACA,OAAe,OAAhB;EAAsB,aAAU;EAAc,GAAI;CAAQ,CAAA;AACnE;;;;AAWA,IAAa,gBAAgB,EAAE,UAAU,WAAW,YAAY,MAAM,MAAM,MAAM,GAAG,YAA+B;CAClH,OACE,qBAACA,OAAe,QAAhB,EAAA,UAAA,CACE,oBAACA,OAAe,SAAhB;EAAwB,WAAW;EAA2B,aAAU;CAAiB,CAAA,GACzF,qBAACA,OAAe,SAAhB;EACE,WAAW,GAAG,qBAAqB;GAAE;GAAM;EAAK,CAAC,GAAG,SAAS;EAC7D,aAAU;EACV,GAAI;EAHN,UAAA,CAKG,UACA,aACC,qBAACA,OAAe,OAAhB;GAAsB,WAAW;GAAyB,OAAM;GAAhE,UAAA,CACE,oBAAC,mBAAD,EAAmB,WAAU,SAAU,CAAA,GACvC,oBAAC,QAAD;IAAM,WAAU;IAAU,UAAA;GAAW,CAAA,CACjB;EAEF,CAAA,CAAA;CACH,CAAA,CAAA,EAAA,CAAA;AAE3B;AAEA,IAAa,eAAe,EAAE,WAAW,GAAG,YAAmC;CAC7E,OACE,oBAAC,OAAD;EAAK,WAAW,GAAG,4CAA4C,SAAS;EAAG,aAAU;EAAe,GAAI;CAAQ,CAAA;AAEpH;;;;AAKA,IAAa,aAAa,EAAE,WAAW,GAAG,YAAmC;CAC3E,OAAO,oBAAC,OAAD;EAAK,WAAW,GAAG,sCAAsC,SAAS;EAAG,aAAU;EAAa,GAAI;CAAQ,CAAA;AACjH;AAEA,IAAa,eAAe,EAAE,WAAW,GAAG,YAAmC;CAC7E,OACE,oBAAC,OAAD;EACE,WAAW,GAAG,+EAA+E,SAAS;EACtG,aAAU;EACV,GAAI;CACL,CAAA;AAEL;AAEA,IAAa,cAAc,EAAE,WAAW,GAAG,YAAyD;CAClG,OACE,oBAACA,OAAe,OAAhB;EACE,WAAW,GAAG,oCAAoC,SAAS;EAC3D,aAAU;EACV,GAAI;CACL,CAAA;AAEL;AAEA,IAAa,oBAAoB,EAAE,WAAW,GAAG,YAA+D;CAC9G,OACE,oBAACA,OAAe,aAAhB;EACE,WAAW,GAAG,sCAAsC,SAAS;EAC7D,aAAU;EACV,GAAI;CACL,CAAA;AAEL"}
@@ -1,5 +1,5 @@
1
1
  import { cn } from "../../lib/cn.js";
2
- import { ArrowDownRight, ArrowUpRight, Minus } from "lucide-react";
2
+ import { RefineIconArrowDownRightSM, RefineIconArrowUpRightSM, RefineIconRemoveMinus } from "../../icons/refine-icons.js";
3
3
  import { jsx, jsxs } from "react/jsx-runtime";
4
4
  // src/components/stat/stat.tsx
5
5
  var TREND_CLASS_BY_TREND = {
@@ -8,9 +8,9 @@ var TREND_CLASS_BY_TREND = {
8
8
  up: "bg-success-soft text-success-ink"
9
9
  };
10
10
  var TREND_ICON_BY_TREND = {
11
- down: ArrowDownRight,
12
- flat: Minus,
13
- up: ArrowUpRight
11
+ down: RefineIconArrowDownRightSM,
12
+ flat: RefineIconRemoveMinus,
13
+ up: RefineIconArrowUpRightSM
14
14
  };
15
15
  var VALUE_CLASS_BY_SIZE = {
16
16
  lg: "text-display-md",
@@ -1 +1 @@
1
- {"version":3,"file":"stat.js","names":[],"sources":["../../../src/components/stat/stat.tsx"],"sourcesContent":["import { ArrowDownRight, ArrowUpRight, Minus } from 'lucide-react';\nimport type { ComponentProps, ReactNode } from 'react';\n\nimport { cn } from '../../lib/cn';\n\nconst TREND_CLASS_BY_TREND = {\n down: 'bg-danger-soft text-danger-ink',\n flat: 'bg-muted text-muted-foreground',\n up: 'bg-success-soft text-success-ink',\n} satisfies Record<string, string>;\n\nconst TREND_ICON_BY_TREND = {\n down: ArrowDownRight,\n flat: Minus,\n up: ArrowUpRight,\n} satisfies Record<keyof typeof TREND_CLASS_BY_TREND, typeof Minus>;\n\ninterface StatProps extends Omit<ComponentProps<'div'>, 'children'> {\n delta?: ReactNode;\n index?: string;\n label: ReactNode;\n size?: 'lg' | 'md' | 'sm' | 'xs';\n sparkline?: ReactNode;\n trend?: keyof typeof TREND_CLASS_BY_TREND;\n unit?: ReactNode;\n value: ReactNode;\n}\n\nconst VALUE_CLASS_BY_SIZE = {\n lg: 'text-display-md',\n md: 'text-display-sm',\n sm: 'text-headline-lg',\n xs: 'text-headline-md',\n} satisfies Record<NonNullable<StatProps['size']>, string>;\n\n/**\n * An editorial figure: a mono index and label above a heavy tabular number, with an optional trend delta on a tinted pill and sparkline.\n */\nexport const Stat = ({\n className,\n delta,\n index,\n label,\n size = 'md',\n sparkline,\n trend = 'flat',\n unit,\n value,\n ...props\n}: StatProps) => {\n const TrendIcon = TREND_ICON_BY_TREND[trend];\n\n return (\n <div className={cn('flex min-w-0 flex-col gap-3', className)} data-slot=\"stat\" {...props}>\n <div className=\"flex items-baseline gap-2 text-muted-foreground\">\n {index && <span className=\"eyebrow text-gem-ink\">{index}</span>}\n <span className=\"eyebrow truncate\">{label}</span>\n </div>\n <div className=\"flex items-end justify-between gap-4\">\n <p className={cn('font-display font-black tracking-tight tabular-nums', VALUE_CLASS_BY_SIZE[size])}>\n {value}\n {unit && <span className=\"ml-1 text-body font-semibold tracking-normal text-muted-foreground\">{unit}</span>}\n </p>\n {sparkline && <div className=\"h-10 w-24 shrink-0 text-gem\">{sparkline}</div>}\n </div>\n {delta && (\n <p\n className={cn(\n 'flex w-fit items-center gap-1 rounded-full ps-1.5 pe-2 text-body-sm font-semibold tabular-nums',\n TREND_CLASS_BY_TREND[trend],\n )}\n >\n <TrendIcon aria-hidden className=\"size-4\" role=\"presentation\" />\n {delta}\n </p>\n )}\n </div>\n );\n};\n\ninterface SparklineProps extends Omit<ComponentProps<'svg'>, 'values'> {\n values: number[];\n}\n\n/**\n * Draws a minimal line-and-area chart of `values` in the current text colour, scaled to fill its box.\n */\nexport const Sparkline = ({ className, values, ...props }: SparklineProps) => {\n const max = Math.max(...values);\n const min = Math.min(...values);\n const range = max - min || 1;\n const points = values.map((value, index) => {\n return `${(index / Math.max(values.length - 1, 1)) * 100},${36 - ((value - min) / range) * 32}`;\n });\n\n return (\n <svg\n aria-hidden\n className={cn('size-full overflow-visible', className)}\n data-slot=\"sparkline\"\n preserveAspectRatio=\"none\"\n role=\"presentation\"\n viewBox=\"0 0 100 40\"\n {...props}\n >\n <polygon fill=\"currentColor\" opacity=\"0.12\" points={`0,40 ${points.join(' ')} 100,40`} />\n <polyline\n fill=\"none\"\n points={points.join(' ')}\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"2\"\n vectorEffect=\"non-scaling-stroke\"\n />\n </svg>\n );\n};\n"],"mappings":";;;;AAKA,IAAM,uBAAuB;CAC3B,MAAM;CACN,MAAM;CACN,IAAI;AACN;AAEA,IAAM,sBAAsB;CAC1B,MAAM;CACN,MAAM;CACN,IAAI;AACN;AAaA,IAAM,sBAAsB;CAC1B,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;AACN;;;;AAKA,IAAa,QAAQ,EACnB,WACA,OACA,OACA,OACA,OAAO,MACP,WACA,QAAQ,QACR,MACA,OACA,GAAG,YACY;CACf,MAAM,YAAY,oBAAoB;CAEtC,OACE,qBAAC,OAAD;EAAK,WAAW,GAAG,+BAA+B,SAAS;EAAG,aAAU;EAAO,GAAI;EAAnF,UAAA;GACE,qBAAC,OAAD;IAAK,WAAU;IAAf,UAAA,CACG,SAAS,oBAAC,QAAD;KAAM,WAAU;KAAwB,UAAA;IAAY,CAAA,GAC9D,oBAAC,QAAD;KAAM,WAAU;KAAoB,UAAA;IAAY,CAAA,CAC7C;;GACL,qBAAC,OAAD;IAAK,WAAU;IAAf,UAAA,CACE,qBAAC,KAAD;KAAG,WAAW,GAAG,uDAAuD,oBAAoB,KAAK;KAAjG,UAAA,CACG,OACA,QAAQ,oBAAC,QAAD;MAAM,WAAU;MAAsE,UAAA;KAAW,CAAA,CACzG;IACF,CAAA,GAAA,aAAa,oBAAC,OAAD;KAAK,WAAU;KAA+B,UAAA;IAAe,CAAA,CACxE;;GACJ,SACC,qBAAC,KAAD;IACE,WAAW,GACT,kGACA,qBAAqB,MACvB;IAJF,UAAA,CAME,oBAAC,WAAD;KAAW,eAAA;KAAY,WAAU;KAAS,MAAK;IAAgB,CAAA,GAC9D,KACA;;EAEF;;AAET;;;;AASA,IAAa,aAAa,EAAE,WAAW,QAAQ,GAAG,YAA4B;CAC5E,MAAM,MAAM,KAAK,IAAI,GAAG,MAAM;CAC9B,MAAM,MAAM,KAAK,IAAI,GAAG,MAAM;CAC9B,MAAM,QAAQ,MAAM,OAAO;CAC3B,MAAM,SAAS,OAAO,KAAK,OAAO,UAAU;EAC1C,OAAO,GAAI,QAAQ,KAAK,IAAI,OAAO,SAAS,GAAG,CAAC,IAAK,IAAI,GAAG,MAAO,QAAQ,OAAO,QAAS;CAC7F,CAAC;CAED,OACE,qBAAC,OAAD;EACE,eAAA;EACA,WAAW,GAAG,8BAA8B,SAAS;EACrD,aAAU;EACV,qBAAoB;EACpB,MAAK;EACL,SAAQ;EACR,GAAI;EAPN,UAAA,CASE,oBAAC,WAAD;GAAS,MAAK;GAAe,SAAQ;GAAO,QAAQ,QAAQ,OAAO,KAAK,GAAG,EAAE;EAAW,CAAA,GACxF,oBAAC,YAAD;GACE,MAAK;GACL,QAAQ,OAAO,KAAK,GAAG;GACvB,QAAO;GACP,eAAc;GACd,gBAAe;GACf,aAAY;GACZ,cAAa;EACd,CAAA,CACE;;AAET"}
1
+ {"version":3,"file":"stat.js","names":[],"sources":["../../../src/components/stat/stat.tsx"],"sourcesContent":["import type { ComponentProps, ReactNode } from 'react';\n\nimport { cn } from '../../lib/cn';\nimport { RefineIconArrowDownRightSM, RefineIconArrowUpRightSM, RefineIconRemoveMinus } from '../../icons/refine-icons';\n\nconst TREND_CLASS_BY_TREND = {\n down: 'bg-danger-soft text-danger-ink',\n flat: 'bg-muted text-muted-foreground',\n up: 'bg-success-soft text-success-ink',\n} satisfies Record<string, string>;\n\nconst TREND_ICON_BY_TREND = {\n down: RefineIconArrowDownRightSM,\n flat: RefineIconRemoveMinus,\n up: RefineIconArrowUpRightSM,\n} satisfies Record<keyof typeof TREND_CLASS_BY_TREND, typeof RefineIconRemoveMinus>;\n\ninterface StatProps extends Omit<ComponentProps<'div'>, 'children'> {\n delta?: ReactNode;\n index?: string;\n label: ReactNode;\n size?: 'lg' | 'md' | 'sm' | 'xs';\n sparkline?: ReactNode;\n trend?: keyof typeof TREND_CLASS_BY_TREND;\n unit?: ReactNode;\n value: ReactNode;\n}\n\nconst VALUE_CLASS_BY_SIZE = {\n lg: 'text-display-md',\n md: 'text-display-sm',\n sm: 'text-headline-lg',\n xs: 'text-headline-md',\n} satisfies Record<NonNullable<StatProps['size']>, string>;\n\n/**\n * An editorial figure: a mono index and label above a heavy tabular number, with an optional trend delta on a tinted pill and sparkline.\n */\nexport const Stat = ({\n className,\n delta,\n index,\n label,\n size = 'md',\n sparkline,\n trend = 'flat',\n unit,\n value,\n ...props\n}: StatProps) => {\n const TrendIcon = TREND_ICON_BY_TREND[trend];\n\n return (\n <div className={cn('flex min-w-0 flex-col gap-3', className)} data-slot=\"stat\" {...props}>\n <div className=\"flex items-baseline gap-2 text-muted-foreground\">\n {index && <span className=\"eyebrow text-gem-ink\">{index}</span>}\n <span className=\"eyebrow truncate\">{label}</span>\n </div>\n <div className=\"flex items-end justify-between gap-4\">\n <p className={cn('font-display font-black tracking-tight tabular-nums', VALUE_CLASS_BY_SIZE[size])}>\n {value}\n {unit && <span className=\"ml-1 text-body font-semibold tracking-normal text-muted-foreground\">{unit}</span>}\n </p>\n {sparkline && <div className=\"h-10 w-24 shrink-0 text-gem\">{sparkline}</div>}\n </div>\n {delta && (\n <p\n className={cn(\n 'flex w-fit items-center gap-1 rounded-full ps-1.5 pe-2 text-body-sm font-semibold tabular-nums',\n TREND_CLASS_BY_TREND[trend],\n )}\n >\n <TrendIcon aria-hidden className=\"size-4\" role=\"presentation\" />\n {delta}\n </p>\n )}\n </div>\n );\n};\n\ninterface SparklineProps extends Omit<ComponentProps<'svg'>, 'values'> {\n values: number[];\n}\n\n/**\n * Draws a minimal line-and-area chart of `values` in the current text colour, scaled to fill its box.\n */\nexport const Sparkline = ({ className, values, ...props }: SparklineProps) => {\n const max = Math.max(...values);\n const min = Math.min(...values);\n const range = max - min || 1;\n const points = values.map((value, index) => {\n return `${(index / Math.max(values.length - 1, 1)) * 100},${36 - ((value - min) / range) * 32}`;\n });\n\n return (\n <svg\n aria-hidden\n className={cn('size-full overflow-visible', className)}\n data-slot=\"sparkline\"\n preserveAspectRatio=\"none\"\n role=\"presentation\"\n viewBox=\"0 0 100 40\"\n {...props}\n >\n <polygon fill=\"currentColor\" opacity=\"0.12\" points={`0,40 ${points.join(' ')} 100,40`} />\n <polyline\n fill=\"none\"\n points={points.join(' ')}\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"2\"\n vectorEffect=\"non-scaling-stroke\"\n />\n </svg>\n );\n};\n"],"mappings":";;;;AAKA,IAAM,uBAAuB;CAC3B,MAAM;CACN,MAAM;CACN,IAAI;AACN;AAEA,IAAM,sBAAsB;CAC1B,MAAM;CACN,MAAM;CACN,IAAI;AACN;AAaA,IAAM,sBAAsB;CAC1B,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;AACN;;;;AAKA,IAAa,QAAQ,EACnB,WACA,OACA,OACA,OACA,OAAO,MACP,WACA,QAAQ,QACR,MACA,OACA,GAAG,YACY;CACf,MAAM,YAAY,oBAAoB;CAEtC,OACE,qBAAC,OAAD;EAAK,WAAW,GAAG,+BAA+B,SAAS;EAAG,aAAU;EAAO,GAAI;EAAnF,UAAA;GACE,qBAAC,OAAD;IAAK,WAAU;IAAf,UAAA,CACG,SAAS,oBAAC,QAAD;KAAM,WAAU;KAAwB,UAAA;IAAY,CAAA,GAC9D,oBAAC,QAAD;KAAM,WAAU;KAAoB,UAAA;IAAY,CAAA,CAC7C;;GACL,qBAAC,OAAD;IAAK,WAAU;IAAf,UAAA,CACE,qBAAC,KAAD;KAAG,WAAW,GAAG,uDAAuD,oBAAoB,KAAK;KAAjG,UAAA,CACG,OACA,QAAQ,oBAAC,QAAD;MAAM,WAAU;MAAsE,UAAA;KAAW,CAAA,CACzG;IACF,CAAA,GAAA,aAAa,oBAAC,OAAD;KAAK,WAAU;KAA+B,UAAA;IAAe,CAAA,CACxE;;GACJ,SACC,qBAAC,KAAD;IACE,WAAW,GACT,kGACA,qBAAqB,MACvB;IAJF,UAAA,CAME,oBAAC,WAAD;KAAW,eAAA;KAAY,WAAU;KAAS,MAAK;IAAgB,CAAA,GAC9D,KACA;;EAEF;;AAET;;;;AASA,IAAa,aAAa,EAAE,WAAW,QAAQ,GAAG,YAA4B;CAC5E,MAAM,MAAM,KAAK,IAAI,GAAG,MAAM;CAC9B,MAAM,MAAM,KAAK,IAAI,GAAG,MAAM;CAC9B,MAAM,QAAQ,MAAM,OAAO;CAC3B,MAAM,SAAS,OAAO,KAAK,OAAO,UAAU;EAC1C,OAAO,GAAI,QAAQ,KAAK,IAAI,OAAO,SAAS,GAAG,CAAC,IAAK,IAAI,GAAG,MAAO,QAAQ,OAAO,QAAS;CAC7F,CAAC;CAED,OACE,qBAAC,OAAD;EACE,eAAA;EACA,WAAW,GAAG,8BAA8B,SAAS;EACrD,aAAU;EACV,qBAAoB;EACpB,MAAK;EACL,SAAQ;EACR,GAAI;EAPN,UAAA,CASE,oBAAC,WAAD;GAAS,MAAK;GAAe,SAAQ;GAAO,QAAQ,QAAQ,OAAO,KAAK,GAAG,EAAE;EAAW,CAAA,GACxF,oBAAC,YAAD;GACE,MAAK;GACL,QAAQ,OAAO,KAAK,GAAG;GACvB,QAAO;GACP,eAAc;GACd,gBAAe;GACf,aAAY;GACZ,cAAa;EACd,CAAA,CACE;;AAET"}
@@ -1,23 +1,23 @@
1
1
  "use client";
2
2
  import { cn } from "../../lib/cn.js";
3
+ import { RefineIconMonitor, RefineIconMoon, RefineIconSun } from "../../icons/refine-icons.js";
3
4
  import { useTheme } from "../../theme/theme-provider.js";
4
- import { Monitor, Moon, Sun } from "lucide-react";
5
5
  import { ToggleGroup } from "radix-ui";
6
6
  import { jsx, jsxs } from "react/jsx-runtime";
7
7
  // src/components/theme-switcher/theme-switcher.tsx
8
8
  var MODE_OPTIONS = [
9
9
  {
10
- icon: Sun,
10
+ icon: RefineIconSun,
11
11
  label: "Light",
12
12
  value: "light"
13
13
  },
14
14
  {
15
- icon: Moon,
15
+ icon: RefineIconMoon,
16
16
  label: "Dark",
17
17
  value: "dark"
18
18
  },
19
19
  {
20
- icon: Monitor,
20
+ icon: RefineIconMonitor,
21
21
  label: "System",
22
22
  value: "system"
23
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"theme-switcher.js","names":["ToggleGroupPrimitive"],"sources":["../../../src/components/theme-switcher/theme-switcher.tsx"],"sourcesContent":["'use client';\n\nimport { Monitor, Moon, Sun } from 'lucide-react';\nimport { ToggleGroup as ToggleGroupPrimitive } from 'radix-ui';\nimport type { ComponentProps } from 'react';\n\nimport { cn } from '../../lib/cn';\nimport type { Mode } from '../../theme/theme';\nimport { useTheme } from '../../theme/theme-provider';\n\nconst MODE_OPTIONS = [\n {\n icon: Sun,\n label: 'Light',\n value: 'light',\n },\n {\n icon: Moon,\n label: 'Dark',\n value: 'dark',\n },\n {\n icon: Monitor,\n label: 'System',\n value: 'system',\n },\n] satisfies {\n icon: typeof Sun;\n label: string;\n value: Mode;\n}[];\n\ntype ThemeSwitcherProps = Omit<ComponentProps<'div'>, 'defaultValue' | 'dir'>;\n\n/**\n * Lets a person pick light, dark or system mode; the choice writes through `useTheme`, so it applies app-wide and persists.\n */\nexport const ThemeSwitcher = ({ className, ...props }: ThemeSwitcherProps) => {\n const theme = useTheme();\n\n return (\n <ToggleGroupPrimitive.Root\n className={cn('inline-flex items-center gap-0.5 rounded-control border border-border bg-muted p-0.5', className)}\n data-slot=\"theme-switcher\"\n onValueChange={(value) => {\n if (value) theme.setTheme({ mode: value as Mode });\n }}\n type=\"single\"\n value={theme.mode}\n {...props}\n >\n {MODE_OPTIONS.map(({ icon: Icon, label, value }) => {\n return (\n <ToggleGroupPrimitive.Item\n className={cn(\n // base\n 'inline-flex size-control-xs items-center justify-center rounded-inner text-muted-foreground transition-colors focus-ring',\n // hover\n 'hover:text-foreground',\n // active\n 'data-[state=on]:bg-background data-[state=on]:text-foreground data-[state=on]:shadow-soft',\n )}\n key={value}\n title={label}\n value={value}\n >\n <Icon aria-hidden className=\"size-3.5\" />\n <span className=\"sr-only\">{label}</span>\n </ToggleGroupPrimitive.Item>\n );\n })}\n </ToggleGroupPrimitive.Root>\n );\n};\n"],"mappings":";;;;;;;AAUA,IAAM,eAAe;CACnB;EACE,MAAM;EACN,OAAO;EACP,OAAO;CACT;CACA;EACE,MAAM;EACN,OAAO;EACP,OAAO;CACT;CACA;EACE,MAAM;EACN,OAAO;EACP,OAAO;CACT;AACF;;;;AAWA,IAAa,iBAAiB,EAAE,WAAW,GAAG,YAAgC;CAC5E,MAAM,QAAQ,SAAS;CAEvB,OACE,oBAACA,YAAqB,MAAtB;EACE,WAAW,GAAG,wFAAwF,SAAS;EAC/G,aAAU;EACV,gBAAgB,UAAU;GACxB,IAAI,OAAO,MAAM,SAAS,EAAE,MAAM,MAAc,CAAC;EACnD;EACA,MAAK;EACL,OAAO,MAAM;EACb,GAAI;EAEH,UAAA,aAAa,KAAK,EAAE,MAAM,MAAM,OAAO,YAAY;GAClD,OACE,qBAACA,YAAqB,MAAtB;IACE,WAAW,GAET,4HAEA,yBAEA,2FACF;IAEA,OAAO;IACA;IAXT,UAAA,CAaE,oBAAC,MAAD;KAAM,eAAA;KAAY,WAAU;IAAY,CAAA,GACxC,oBAAC,QAAD;KAAM,WAAU;KAAW,UAAA;IAAY,CAAA,CACd;GANpB,GAAA,KAMoB;EAE/B,CAAC;CACwB,CAAA;AAE/B"}
1
+ {"version":3,"file":"theme-switcher.js","names":["ToggleGroupPrimitive"],"sources":["../../../src/components/theme-switcher/theme-switcher.tsx"],"sourcesContent":["'use client';\n\nimport { ToggleGroup as ToggleGroupPrimitive } from 'radix-ui';\nimport type { ComponentProps } from 'react';\n\nimport { cn } from '../../lib/cn';\nimport type { Mode } from '../../theme/theme';\nimport { useTheme } from '../../theme/theme-provider';\nimport { RefineIconMonitor, RefineIconMoon, RefineIconSun } from '../../icons/refine-icons';\n\nconst MODE_OPTIONS = [\n {\n icon: RefineIconSun,\n label: 'Light',\n value: 'light',\n },\n {\n icon: RefineIconMoon,\n label: 'Dark',\n value: 'dark',\n },\n {\n icon: RefineIconMonitor,\n label: 'System',\n value: 'system',\n },\n] satisfies {\n icon: typeof RefineIconSun;\n label: string;\n value: Mode;\n}[];\n\ntype ThemeSwitcherProps = Omit<ComponentProps<'div'>, 'defaultValue' | 'dir'>;\n\n/**\n * Lets a person pick light, dark or system mode; the choice writes through `useTheme`, so it applies app-wide and persists.\n */\nexport const ThemeSwitcher = ({ className, ...props }: ThemeSwitcherProps) => {\n const theme = useTheme();\n\n return (\n <ToggleGroupPrimitive.Root\n className={cn('inline-flex items-center gap-0.5 rounded-control border border-border bg-muted p-0.5', className)}\n data-slot=\"theme-switcher\"\n onValueChange={(value) => {\n if (value) theme.setTheme({ mode: value as Mode });\n }}\n type=\"single\"\n value={theme.mode}\n {...props}\n >\n {MODE_OPTIONS.map(({ icon: Icon, label, value }) => {\n return (\n <ToggleGroupPrimitive.Item\n className={cn(\n // base\n 'inline-flex size-control-xs items-center justify-center rounded-inner text-muted-foreground transition-colors focus-ring',\n // hover\n 'hover:text-foreground',\n // active\n 'data-[state=on]:bg-background data-[state=on]:text-foreground data-[state=on]:shadow-soft',\n )}\n key={value}\n title={label}\n value={value}\n >\n <Icon aria-hidden className=\"size-3.5\" />\n <span className=\"sr-only\">{label}</span>\n </ToggleGroupPrimitive.Item>\n );\n })}\n </ToggleGroupPrimitive.Root>\n );\n};\n"],"mappings":";;;;;;;AAUA,IAAM,eAAe;CACnB;EACE,MAAM;EACN,OAAO;EACP,OAAO;CACT;CACA;EACE,MAAM;EACN,OAAO;EACP,OAAO;CACT;CACA;EACE,MAAM;EACN,OAAO;EACP,OAAO;CACT;AACF;;;;AAWA,IAAa,iBAAiB,EAAE,WAAW,GAAG,YAAgC;CAC5E,MAAM,QAAQ,SAAS;CAEvB,OACE,oBAACA,YAAqB,MAAtB;EACE,WAAW,GAAG,wFAAwF,SAAS;EAC/G,aAAU;EACV,gBAAgB,UAAU;GACxB,IAAI,OAAO,MAAM,SAAS,EAAE,MAAM,MAAc,CAAC;EACnD;EACA,MAAK;EACL,OAAO,MAAM;EACb,GAAI;EAEH,UAAA,aAAa,KAAK,EAAE,MAAM,MAAM,OAAO,YAAY;GAClD,OACE,qBAACA,YAAqB,MAAtB;IACE,WAAW,GAET,4HAEA,yBAEA,2FACF;IAEA,OAAO;IACA;IAXT,UAAA,CAaE,oBAAC,MAAD;KAAM,eAAA;KAAY,WAAU;IAAY,CAAA,GACxC,oBAAC,QAAD;KAAM,WAAU;KAAW,UAAA;IAAY,CAAA,CACd;GANpB,GAAA,KAMoB;EAE/B,CAAC;CACwB,CAAA;AAE/B"}
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { cn } from "../../lib/cn.js";
3
+ import { RefineIconCircleCheck, RefineIconCircleWarning, RefineIconInfo, RefineIconTriangleWarning } from "../../icons/refine-icons.js";
3
4
  import { Spinner } from "../spinner/spinner.js";
4
- import { CircleAlert, CircleCheck, Info, TriangleAlert } from "lucide-react";
5
5
  import { jsx } from "react/jsx-runtime";
6
6
  import { Toaster, toast } from "sonner";
7
7
  // src/components/toaster/toaster.tsx
@@ -13,11 +13,11 @@ var Toaster$1 = ({ className, toastOptions, ...props }) => {
13
13
  className: cn("toaster group", className),
14
14
  gap: 10,
15
15
  icons: {
16
- error: /* @__PURE__ */ jsx(CircleAlert, { className: "size-4 text-danger-ink" }),
17
- info: /* @__PURE__ */ jsx(Info, { className: "size-4 text-info-ink" }),
16
+ error: /* @__PURE__ */ jsx(RefineIconCircleWarning, { className: "size-4 text-danger-ink" }),
17
+ info: /* @__PURE__ */ jsx(RefineIconInfo, { className: "size-4 text-info-ink" }),
18
18
  loading: /* @__PURE__ */ jsx(Spinner, { className: "text-gem-ink" }),
19
- success: /* @__PURE__ */ jsx(CircleCheck, { className: "size-4 text-success-ink" }),
20
- warning: /* @__PURE__ */ jsx(TriangleAlert, { className: "size-4 text-warning-ink" })
19
+ success: /* @__PURE__ */ jsx(RefineIconCircleCheck, { className: "size-4 text-success-ink" }),
20
+ warning: /* @__PURE__ */ jsx(RefineIconTriangleWarning, { className: "size-4 text-warning-ink" })
21
21
  },
22
22
  position: "bottom-right",
23
23
  toastOptions: {
@@ -1 +1 @@
1
- {"version":3,"file":"toaster.js","names":["Toaster","SonnerToaster"],"sources":["../../../src/components/toaster/toaster.tsx"],"sourcesContent":["'use client';\n\nimport { CircleAlert, CircleCheck, Info, TriangleAlert } from 'lucide-react';\nimport type { ComponentProps } from 'react';\nimport { Toaster as SonnerToaster } from 'sonner';\n\nimport { cn } from '../../lib/cn';\nimport { Spinner } from '../spinner/spinner';\n\nexport { toast } from 'sonner';\n\n/**\n * Mounts the toast stack once per app, styled as Refine popover cards with status-coloured icons.\n */\nexport const Toaster = ({ className, toastOptions, ...props }: ComponentProps<typeof SonnerToaster>) => {\n return (\n <SonnerToaster\n className={cn('toaster group', className)}\n gap={10}\n icons={{\n error: <CircleAlert className=\"size-4 text-danger-ink\" />,\n info: <Info className=\"size-4 text-info-ink\" />,\n loading: <Spinner className=\"text-gem-ink\" />,\n success: <CircleCheck className=\"size-4 text-success-ink\" />,\n warning: <TriangleAlert className=\"size-4 text-warning-ink\" />,\n }}\n position=\"bottom-right\"\n toastOptions={{\n ...toastOptions,\n classNames: {\n actionButton:\n 'ml-auto inline-flex h-control-xs shrink-0 items-center rounded-control bg-primary px-2.5 text-caption font-medium text-primary-foreground transition-colors hover:bg-primary/85 focus-ring',\n cancelButton:\n 'inline-flex h-control-xs shrink-0 items-center rounded-control bg-secondary px-2.5 text-caption font-medium text-secondary-foreground transition-colors hover:bg-pressed focus-ring',\n closeButton:\n 'absolute -top-2 -left-2 flex size-5 items-center justify-center rounded-full border bg-popover text-muted-foreground transition-colors hover:text-foreground focus-ring [&_svg]:size-3',\n content: 'flex min-w-0 flex-col gap-0.5',\n description: 'text-body-sm text-muted-foreground',\n icon: 'mt-0.5 flex size-4 shrink-0 items-center justify-center self-start',\n title: 'text-body-sm font-semibold text-foreground',\n toast:\n 'flex w-full items-center gap-3 rounded-card border bg-popover p-4 font-sans text-popover-foreground shadow-float sm:w-(--width)',\n ...toastOptions?.classNames,\n },\n unstyled: true,\n }}\n {...props}\n />\n );\n};\n"],"mappings":";;;;;;;;;;AAcA,IAAaA,aAAW,EAAE,WAAW,cAAc,GAAG,YAAkD;CACtG,OACE,oBAACC,SAAD;EACE,WAAW,GAAG,iBAAiB,SAAS;EACxC,KAAK;EACL,OAAO;GACL,OAAO,oBAAC,aAAD,EAAa,WAAU,yBAA0B,CAAA;GACxD,MAAM,oBAAC,MAAD,EAAM,WAAU,uBAAwB,CAAA;GAC9C,SAAS,oBAAC,SAAD,EAAS,WAAU,eAAgB,CAAA;GAC5C,SAAS,oBAAC,aAAD,EAAa,WAAU,0BAA2B,CAAA;GAC3D,SAAS,oBAAC,eAAD,EAAe,WAAU,0BAA2B,CAAA;EAC/D;EACA,UAAS;EACT,cAAc;GACZ,GAAG;GACH,YAAY;IACV,cACE;IACF,cACE;IACF,aACE;IACF,SAAS;IACT,aAAa;IACb,MAAM;IACN,OAAO;IACP,OACE;IACF,GAAG,cAAc;GACnB;GACA,UAAU;EACZ;EACA,GAAI;CACL,CAAA;AAEL"}
1
+ {"version":3,"file":"toaster.js","names":["Toaster","SonnerToaster"],"sources":["../../../src/components/toaster/toaster.tsx"],"sourcesContent":["'use client';\n\nimport type { ComponentProps } from 'react';\nimport { Toaster as SonnerToaster } from 'sonner';\n\nimport { cn } from '../../lib/cn';\nimport { Spinner } from '../spinner/spinner';\nimport {\n RefineIconCircleCheck,\n RefineIconCircleWarning,\n RefineIconInfo,\n RefineIconTriangleWarning,\n} from '../../icons/refine-icons';\n\nexport { toast } from 'sonner';\n\n/**\n * Mounts the toast stack once per app, styled as Refine popover cards with status-coloured icons.\n */\nexport const Toaster = ({ className, toastOptions, ...props }: ComponentProps<typeof SonnerToaster>) => {\n return (\n <SonnerToaster\n className={cn('toaster group', className)}\n gap={10}\n icons={{\n error: <RefineIconCircleWarning className=\"size-4 text-danger-ink\" />,\n info: <RefineIconInfo className=\"size-4 text-info-ink\" />,\n loading: <Spinner className=\"text-gem-ink\" />,\n success: <RefineIconCircleCheck className=\"size-4 text-success-ink\" />,\n warning: <RefineIconTriangleWarning className=\"size-4 text-warning-ink\" />,\n }}\n position=\"bottom-right\"\n toastOptions={{\n ...toastOptions,\n classNames: {\n actionButton:\n 'ml-auto inline-flex h-control-xs shrink-0 items-center rounded-control bg-primary px-2.5 text-caption font-medium text-primary-foreground transition-colors hover:bg-primary/85 focus-ring',\n cancelButton:\n 'inline-flex h-control-xs shrink-0 items-center rounded-control bg-secondary px-2.5 text-caption font-medium text-secondary-foreground transition-colors hover:bg-pressed focus-ring',\n closeButton:\n 'absolute -top-2 -left-2 flex size-5 items-center justify-center rounded-full border bg-popover text-muted-foreground transition-colors hover:text-foreground focus-ring [&_svg]:size-3',\n content: 'flex min-w-0 flex-col gap-0.5',\n description: 'text-body-sm text-muted-foreground',\n icon: 'mt-0.5 flex size-4 shrink-0 items-center justify-center self-start',\n title: 'text-body-sm font-semibold text-foreground',\n toast:\n 'flex w-full items-center gap-3 rounded-card border bg-popover p-4 font-sans text-popover-foreground shadow-float sm:w-(--width)',\n ...toastOptions?.classNames,\n },\n unstyled: true,\n }}\n {...props}\n />\n );\n};\n"],"mappings":";;;;;;;;;;AAmBA,IAAaA,aAAW,EAAE,WAAW,cAAc,GAAG,YAAkD;CACtG,OACE,oBAACC,SAAD;EACE,WAAW,GAAG,iBAAiB,SAAS;EACxC,KAAK;EACL,OAAO;GACL,OAAO,oBAAC,yBAAD,EAAyB,WAAU,yBAA0B,CAAA;GACpE,MAAM,oBAAC,gBAAD,EAAgB,WAAU,uBAAwB,CAAA;GACxD,SAAS,oBAAC,SAAD,EAAS,WAAU,eAAgB,CAAA;GAC5C,SAAS,oBAAC,uBAAD,EAAuB,WAAU,0BAA2B,CAAA;GACrE,SAAS,oBAAC,2BAAD,EAA2B,WAAU,0BAA2B,CAAA;EAC3E;EACA,UAAS;EACT,cAAc;GACZ,GAAG;GACH,YAAY;IACV,cACE;IACF,cACE;IACF,aACE;IACF,SAAS;IACT,aAAa;IACb,MAAM;IACN,OAAO;IACP,OACE;IACF,GAAG,cAAc;GACnB;GACA,UAAU;EACZ;EACA,GAAI;CACL,CAAA;AAEL"}
@@ -1,10 +1,10 @@
1
- import type { RefineIconProps } from './create-refine-icon';
1
+ import type { RefineIconProps } from '@refine-studio/refine-icons';
2
2
  import { type IconName } from './refine-icon-names';
3
3
  interface IconProps extends Omit<RefineIconProps, 'name'> {
4
4
  name: IconName;
5
5
  }
6
6
  /**
7
- * Draws the Refine icon with this sprite name, so an app can keep icon names in data. It takes the same props as every Refine icon.
7
+ * Draws the Refine icon with this name, so an app can keep icon names in data. It takes the same props as every Refine icon.
8
8
  */
9
9
  export declare const Icon: ({ name, ...props }: IconProps) => import("react").JSX.Element;
10
10
  export {};
@@ -2,7 +2,7 @@ import { REFINE_ICON_NAMES } from "./refine-icon-names.js";
2
2
  import { jsx } from "react/jsx-runtime";
3
3
  // src/icons/icon.tsx
4
4
  /**
5
- * Draws the Refine icon with this sprite name, so an app can keep icon names in data. It takes the same props as every Refine icon.
5
+ * Draws the Refine icon with this name, so an app can keep icon names in data. It takes the same props as every Refine icon.
6
6
  */
7
7
  var Icon = ({ name, ...props }) => {
8
8
  const RefineIcon = REFINE_ICON_NAMES[name];
@@ -1 +1 @@
1
- {"version":3,"file":"icon.js","names":[],"sources":["../../src/icons/icon.tsx"],"sourcesContent":["import type { RefineIconProps } from './create-refine-icon';\nimport { type IconName, REFINE_ICON_NAMES } from './refine-icon-names';\n\ninterface IconProps extends Omit<RefineIconProps, 'name'> {\n name: IconName;\n}\n\n/**\n * Draws the Refine icon with this sprite name, so an app can keep icon names in data. It takes the same props as every Refine icon.\n */\nexport const Icon = ({ name, ...props }: IconProps) => {\n const RefineIcon = REFINE_ICON_NAMES[name];\n\n return <RefineIcon {...props} />;\n};\n"],"mappings":";;;;;;AAUA,IAAa,QAAQ,EAAE,MAAM,GAAG,YAAuB;CACrD,MAAM,aAAa,kBAAkB;CAErC,OAAO,oBAAC,YAAD,EAAY,GAAI,MAAQ,CAAA;AACjC"}
1
+ {"version":3,"file":"icon.js","names":[],"sources":["../../src/icons/icon.tsx"],"sourcesContent":["import type { RefineIconProps } from '@refine-studio/refine-icons';\n\nimport { type IconName, REFINE_ICON_NAMES } from './refine-icon-names';\n\ninterface IconProps extends Omit<RefineIconProps, 'name'> {\n name: IconName;\n}\n\n/**\n * Draws the Refine icon with this name, so an app can keep icon names in data. It takes the same props as every Refine icon.\n */\nexport const Icon = ({ name, ...props }: IconProps) => {\n const RefineIcon = REFINE_ICON_NAMES[name];\n\n return <RefineIcon {...props} />;\n};\n"],"mappings":";;;;;;AAWA,IAAa,QAAQ,EAAE,MAAM,GAAG,YAAuB;CACrD,MAAM,aAAa,kBAAkB;CAErC,OAAO,oBAAC,YAAD,EAAY,GAAI,MAAQ,CAAA;AACjC"}