@adea-ai/ui 0.99.0 → 0.99.2

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 (104) hide show
  1. package/dist/components/composites/appearance-editor/appearance-choices.d.ts.map +1 -1
  2. package/dist/components/composites/appearance-editor/appearance-choices.js +32 -28
  3. package/dist/components/composites/appearance-editor/appearance-choices.js.map +1 -1
  4. package/dist/components/composites/appearance-editor/appearance-rows.d.ts.map +1 -1
  5. package/dist/components/composites/appearance-editor/appearance-rows.js +1 -1
  6. package/dist/components/composites/appearance-editor/appearance-rows.js.map +1 -1
  7. package/dist/components/layout/orbit-layout/orbit-layout.d.ts +5 -1
  8. package/dist/components/layout/orbit-layout/orbit-layout.d.ts.map +1 -1
  9. package/dist/components/layout/orbit-layout/orbit-layout.js.map +1 -1
  10. package/dist/components/layout/side-rail/side-rail.d.ts +4 -1
  11. package/dist/components/layout/side-rail/side-rail.d.ts.map +1 -1
  12. package/dist/components/layout/side-rail/side-rail.js +58 -64
  13. package/dist/components/layout/side-rail/side-rail.js.map +1 -1
  14. package/dist/components/layout/sidebar-nav/sidebar-nav.js +2 -2
  15. package/dist/components/layout/sidebar-nav/sidebar-nav.js.map +1 -1
  16. package/dist/components/motion/presence.d.ts +17 -7
  17. package/dist/components/motion/presence.d.ts.map +1 -1
  18. package/dist/components/motion/presence.js.map +1 -1
  19. package/dist/components/theme/theme-picker.d.ts.map +1 -1
  20. package/dist/components/theme/theme-picker.js +1 -1
  21. package/dist/components/theme/theme-picker.js.map +1 -1
  22. package/dist/components/theme/theme-provider.d.ts.map +1 -1
  23. package/dist/components/theme/theme-provider.js +15 -4
  24. package/dist/components/theme/theme-provider.js.map +1 -1
  25. package/dist/components/ui/aspect-ratio/aspect-ratio.d.ts +2 -2
  26. package/dist/components/ui/aspect-ratio/aspect-ratio.d.ts.map +1 -1
  27. package/dist/components/ui/aspect-ratio/aspect-ratio.js +15 -1
  28. package/dist/components/ui/aspect-ratio/aspect-ratio.js.map +1 -1
  29. package/dist/components/ui/badge/badge.d.ts +1 -1
  30. package/dist/components/ui/button/button.d.ts +1 -1
  31. package/dist/components/ui/calendar/calendar.d.ts.map +1 -1
  32. package/dist/components/ui/calendar/calendar.js +1 -1
  33. package/dist/components/ui/calendar/calendar.js.map +1 -1
  34. package/dist/components/ui/card/card.d.ts +2 -2
  35. package/dist/components/ui/card/card.js +2 -2
  36. package/dist/components/ui/card/card.js.map +1 -1
  37. package/dist/components/ui/chart/chart-options.d.ts +50 -0
  38. package/dist/components/ui/chart/chart-options.d.ts.map +1 -0
  39. package/dist/components/ui/chart/chart-options.js +178 -0
  40. package/dist/components/ui/chart/chart-options.js.map +1 -0
  41. package/dist/components/ui/chart/chart.d.ts +21 -18
  42. package/dist/components/ui/chart/chart.d.ts.map +1 -1
  43. package/dist/components/ui/chart/chart.js +175 -155
  44. package/dist/components/ui/chart/chart.js.map +1 -1
  45. package/dist/components/ui/chart/index.js +2 -1
  46. package/dist/components/ui/dropdown-menu/dropdown-menu.d.ts.map +1 -1
  47. package/dist/components/ui/dropdown-menu/dropdown-menu.js +4 -2
  48. package/dist/components/ui/dropdown-menu/dropdown-menu.js.map +1 -1
  49. package/dist/components/ui/input-otp/input-otp.d.ts.map +1 -1
  50. package/dist/components/ui/input-otp/input-otp.js +2 -2
  51. package/dist/components/ui/input-otp/input-otp.js.map +1 -1
  52. package/dist/components/ui/pagination/pagination.d.ts.map +1 -1
  53. package/dist/components/ui/pagination/pagination.js +1 -1
  54. package/dist/components/ui/pagination/pagination.js.map +1 -1
  55. package/dist/components/ui/resizable/resizable.d.ts +0 -12
  56. package/dist/components/ui/resizable/resizable.d.ts.map +1 -1
  57. package/dist/components/ui/resizable/resizable.js +43 -9
  58. package/dist/components/ui/resizable/resizable.js.map +1 -1
  59. package/dist/lib/cn-tables.generated.js +10 -10
  60. package/dist/lib/cn-tables.generated.js.map +1 -1
  61. package/dist/r/chart.json +5 -0
  62. package/dist/r/registry.json +5 -0
  63. package/dist/r/src/components/composites/appearance-editor/appearance-choices.tsx +35 -20
  64. package/dist/r/src/components/composites/appearance-editor/appearance-rows.tsx +6 -2
  65. package/dist/r/src/components/layout/orbit-layout/orbit-layout.tsx +5 -1
  66. package/dist/r/src/components/layout/side-rail/side-rail.tsx +29 -16
  67. package/dist/r/src/components/layout/sidebar-nav/sidebar-nav.tsx +2 -2
  68. package/dist/r/src/components/motion/presence.tsx +17 -7
  69. package/dist/r/src/components/theme/theme-picker.tsx +5 -1
  70. package/dist/r/src/components/theme/theme-provider.tsx +19 -9
  71. package/dist/r/src/components/ui/aspect-ratio/aspect-ratio.tsx +14 -3
  72. package/dist/r/src/components/ui/calendar/calendar.tsx +6 -1
  73. package/dist/r/src/components/ui/card/card.tsx +2 -2
  74. package/dist/r/src/components/ui/chart/chart-options.ts +196 -0
  75. package/dist/r/src/components/ui/chart/chart.tsx +149 -101
  76. package/dist/r/src/components/ui/dropdown-menu/dropdown-menu.tsx +10 -2
  77. package/dist/r/src/components/ui/input-otp/input-otp.tsx +14 -2
  78. package/dist/r/src/components/ui/pagination/pagination.tsx +8 -1
  79. package/dist/r/src/components/ui/resizable/resizable.tsx +46 -8
  80. package/dist/r/src/lib/cn-tables.generated.ts +10 -10
  81. package/dist/r/src/styles/base.css +4 -1
  82. package/dist/r/src/styles/theme.css +23 -43
  83. package/package.json +1 -1
  84. package/registry.json +5 -0
  85. package/src/components/composites/appearance-editor/appearance-choices.tsx +35 -20
  86. package/src/components/composites/appearance-editor/appearance-rows.tsx +6 -2
  87. package/src/components/layout/orbit-layout/orbit-layout.tsx +5 -1
  88. package/src/components/layout/side-rail/side-rail.tsx +29 -16
  89. package/src/components/layout/sidebar-nav/sidebar-nav.tsx +2 -2
  90. package/src/components/motion/presence.tsx +17 -7
  91. package/src/components/theme/theme-picker.tsx +5 -1
  92. package/src/components/theme/theme-provider.tsx +19 -9
  93. package/src/components/ui/aspect-ratio/aspect-ratio.tsx +14 -3
  94. package/src/components/ui/calendar/calendar.tsx +6 -1
  95. package/src/components/ui/card/card.tsx +2 -2
  96. package/src/components/ui/chart/chart-options.ts +196 -0
  97. package/src/components/ui/chart/chart.tsx +149 -101
  98. package/src/components/ui/dropdown-menu/dropdown-menu.tsx +10 -2
  99. package/src/components/ui/input-otp/input-otp.tsx +14 -2
  100. package/src/components/ui/pagination/pagination.tsx +8 -1
  101. package/src/components/ui/resizable/resizable.tsx +46 -8
  102. package/src/lib/cn-tables.generated.ts +10 -10
  103. package/src/styles/base.css +4 -1
  104. package/src/styles/theme.css +23 -43
@@ -111,7 +111,8 @@ function DropdownMenuCheckboxItem(props) {
111
111
  return cn(menuItem, "pe-8", local.class);
112
112
  } }, rest, { get children() {
113
113
  return [memo(() => local.children), createComponent(DropdownMenu.ItemIndicator, {
114
- "class": "absolute end-2 flex size-4 items-center justify-center",
114
+ "data-slot": "dropdown-menu-indicator",
115
+ "class": "absolute end-2 flex size-4 items-center justify-center text-primary",
115
116
  get children() {
116
117
  return createComponent(Check, { "class": "size-4" });
117
118
  }
@@ -127,7 +128,8 @@ function DropdownMenuRadioItem(props) {
127
128
  return cn(menuItem, "pe-8", local.class);
128
129
  } }, rest, { get children() {
129
130
  return [memo(() => local.children), createComponent(DropdownMenu.ItemIndicator, {
130
- "class": "absolute end-2 flex size-4 items-center justify-center",
131
+ "data-slot": "dropdown-menu-indicator",
132
+ "class": "absolute end-2 flex size-4 items-center justify-center text-primary",
131
133
  get children() {
132
134
  return createComponent(Circle, { "class": "size-2 fill-current" });
133
135
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown-menu.js","names":["DropdownMenu","KobalteDropdownMenu","Check","ChevronRight","Circle","ComponentProps","splitProps","menuContentPadding","destructiveMenuItem","menuItem","menuLabel","menuSeparator","overlayMotion","overlaySurface","popoverArrow","cn","props","local","rest","_$createComponent","_$mergeProps","modal","DropdownMenuTrigger","Trigger","DropdownMenuPortal","Portal","DropdownMenuContentProps","Content","hideArrow","portalMount","HTMLElement","DropdownMenuContent","mount","children","class","_$memo","Arrow","DropdownMenuItem","Item","variant","shortcut","keyshortcuts","aria-keyshortcuts","_el$","_tmpl$","_$insert","DropdownMenuShortcut","_el$2","_tmpl$2","_$spread","DropdownMenuCheckboxItem","CheckboxItem","ItemIndicator","DropdownMenuRadioGroup","RadioGroup","DropdownMenuRadioItem","RadioItem","DropdownMenuLabel","GroupLabel","DropdownMenuGroup","Group","DropdownMenuSeparator","Separator","DropdownMenuSub","Sub","DropdownMenuSubTrigger","SubTrigger","DropdownMenuSubContent","SubContent","DropdownMenu","_$createComponent","KobalteDropdownMenu","_$mergeProps","_$memo"],"sources":["../../../../src/components/ui/dropdown-menu/dropdown-menu.tsx"],"sourcesContent":["import { DropdownMenu as KobalteDropdownMenu } from '@kobalte/core/dropdown-menu'\nimport { Check, ChevronRight, Circle } from 'lucide-solid'\nimport type { ComponentProps } from 'solid-js'\nimport { splitProps } from 'solid-js'\nimport {\n menuContentPadding,\n destructiveMenuItem,\n menuItem,\n menuLabel,\n menuSeparator,\n overlayMotion,\n overlaySurface,\n popoverArrow,\n} from '#lib/overlay'\nimport { cn } from '#lib/utils'\n\n/**\n * DropdownMenu.\n *\n * A list of actions on a trigger, with radio groups for persistent choices\n * that fit naturally in a compact menu. Use Select for form inputs whose\n * selected value needs the field-style control, and Popover for arbitrary\n * content.\n *\n * Kobalte supplies the full menu contract — arrow keys, typeahead, the roving\n * highlight, Escape to close and return focus — which is exactly what a\n * hand-rolled `div` with click handlers gets wrong.\n * Menus are nonmodal by default so their generated focus guards do not become\n * invalid direct children of the ARIA menu. Set `modal` explicitly when the\n * surrounding interaction needs modal containment.\n *\n * The `destructive` variant marks the row with a status-coloured edge and\n * highlighted tint while keeping its label on the body foreground. Pairing it\n * with an AlertDialog is the caller's job.\n */\nexport function DropdownMenu(props: ComponentProps<typeof KobalteDropdownMenu>) {\n const [local, rest] = splitProps(props, ['modal'])\n return <KobalteDropdownMenu modal={local.modal ?? false} {...rest} />\n}\n\nexport function DropdownMenuTrigger(props: ComponentProps<typeof KobalteDropdownMenu.Trigger>) {\n return <KobalteDropdownMenu.Trigger {...props} />\n}\n\nexport function DropdownMenuPortal(props: ComponentProps<typeof KobalteDropdownMenu.Portal>) {\n return <KobalteDropdownMenu.Portal {...props} />\n}\n\nexport type DropdownMenuContentProps = ComponentProps<typeof KobalteDropdownMenu.Content> & {\n hideArrow?: boolean\n /** Mount under an owner element such as a modal, keeping the menu in its accessible subtree. */\n portalMount?: HTMLElement\n}\n\nexport function DropdownMenuContent(props: DropdownMenuContentProps) {\n const [local, rest] = splitProps(props, ['class', 'hideArrow', 'children', 'portalMount'])\n\n return (\n <KobalteDropdownMenu.Portal mount={local.portalMount}>\n <KobalteDropdownMenu.Content\n class={cn(\n overlaySurface,\n overlayMotion,\n 'z-(--z-menu) min-w-[10rem] origin-(--kb-menu-content-transform-origin) overflow-hidden',\n menuContentPadding,\n local.class\n )}\n {...rest}\n >\n {!local.hideArrow && <KobalteDropdownMenu.Arrow aria-hidden=\"true\" class={popoverArrow} />}\n {local.children}\n </KobalteDropdownMenu.Content>\n </KobalteDropdownMenu.Portal>\n )\n}\n\nexport function DropdownMenuItem(\n props: ComponentProps<typeof KobalteDropdownMenu.Item> & {\n /** Colour the row as a destructive action. Confirm it separately. */\n variant?: 'default' | 'destructive'\n /** Draw a shortcut hint at the trailing edge of the row. */\n shortcut?: string\n /**\n * The parseable chord behind `shortcut`, e.g. `Meta+E`. The drawn glyph is\n * `aria-hidden` — reading it out would pollute the item's accessible name —\n * so this is what assistive technology announces instead. Supply it\n * whenever `shortcut` is drawn.\n */\n keyshortcuts?: string\n }\n) {\n const [local, rest] = splitProps(props, [\n 'class',\n 'variant',\n 'shortcut',\n 'keyshortcuts',\n 'children',\n ])\n\n return (\n <KobalteDropdownMenu.Item\n class={cn(\n menuItem,\n {\n [destructiveMenuItem]: local.variant === 'destructive',\n },\n local.class\n )}\n aria-keyshortcuts={local.keyshortcuts}\n {...rest}\n >\n {local.children}\n {local.shortcut ? (\n <span\n aria-hidden=\"true\"\n class=\"text-muted-foreground ms-auto font-mono text-2xs tracking-widest\"\n >\n {local.shortcut}\n </span>\n ) : null}\n </KobalteDropdownMenu.Item>\n )\n}\n\n/**\n * The chord drawn at a row's trailing edge.\n *\n * A component as well as the `shortcut` prop on an item, because a caller composing\n * a row by hand needs the same treatment — and because the alternative is every\n * caller inventing the same mono-and-dimmed span.\n *\n * The glyphs are decorative: the span is `aria-hidden` and the parseable chord\n * belongs in the row's `aria-keyshortcuts`, so the item's accessible name stays\n * exactly its label.\n */\nexport function DropdownMenuShortcut(props: ComponentProps<'span'>) {\n const [local, rest] = splitProps(props, ['class'])\n return (\n <span\n data-slot=\"dropdown-menu-shortcut\"\n aria-hidden=\"true\"\n class={cn('text-muted-foreground ms-auto font-mono text-2xs tracking-widest', local.class)}\n {...rest}\n />\n )\n}\n\nexport function DropdownMenuCheckboxItem(\n props: ComponentProps<typeof KobalteDropdownMenu.CheckboxItem>\n) {\n const [local, rest] = splitProps(props, ['class', 'children'])\n\n return (\n <KobalteDropdownMenu.CheckboxItem class={cn(menuItem, 'pe-8', local.class)} {...rest}>\n {local.children}\n <KobalteDropdownMenu.ItemIndicator class=\"absolute end-2 flex size-4 items-center justify-center\">\n <Check class=\"size-4\" />\n </KobalteDropdownMenu.ItemIndicator>\n </KobalteDropdownMenu.CheckboxItem>\n )\n}\n\nexport function DropdownMenuRadioGroup(\n props: ComponentProps<typeof KobalteDropdownMenu.RadioGroup>\n) {\n return <KobalteDropdownMenu.RadioGroup {...props} />\n}\n\nexport function DropdownMenuRadioItem(props: ComponentProps<typeof KobalteDropdownMenu.RadioItem>) {\n const [local, rest] = splitProps(props, ['class', 'children'])\n\n return (\n <KobalteDropdownMenu.RadioItem class={cn(menuItem, 'pe-8', local.class)} {...rest}>\n {local.children}\n <KobalteDropdownMenu.ItemIndicator class=\"absolute end-2 flex size-4 items-center justify-center\">\n <Circle class=\"size-2 fill-current\" />\n </KobalteDropdownMenu.ItemIndicator>\n </KobalteDropdownMenu.RadioItem>\n )\n}\n\nexport function DropdownMenuLabel(props: ComponentProps<typeof KobalteDropdownMenu.GroupLabel>) {\n const [local, rest] = splitProps(props, ['class'])\n return <KobalteDropdownMenu.GroupLabel class={cn(menuLabel, local.class)} {...rest} />\n}\n\nexport function DropdownMenuGroup(props: ComponentProps<typeof KobalteDropdownMenu.Group>) {\n return <KobalteDropdownMenu.Group {...props} />\n}\n\nexport function DropdownMenuSeparator(props: ComponentProps<typeof KobalteDropdownMenu.Separator>) {\n const [local, rest] = splitProps(props, ['class'])\n return <KobalteDropdownMenu.Separator class={cn(menuSeparator, local.class)} {...rest} />\n}\n\nexport function DropdownMenuSub(props: ComponentProps<typeof KobalteDropdownMenu.Sub>) {\n return <KobalteDropdownMenu.Sub {...props} />\n}\n\nexport function DropdownMenuSubTrigger(\n props: ComponentProps<typeof KobalteDropdownMenu.SubTrigger>\n) {\n const [local, rest] = splitProps(props, ['class', 'children'])\n\n return (\n <KobalteDropdownMenu.SubTrigger class={cn(menuItem, local.class)} {...rest}>\n {local.children}\n <ChevronRight class=\"ms-auto size-4\" />\n </KobalteDropdownMenu.SubTrigger>\n )\n}\n\nexport function DropdownMenuSubContent(\n props: ComponentProps<typeof KobalteDropdownMenu.SubContent>\n) {\n const [local, rest] = splitProps(props, ['class'])\n\n return (\n <KobalteDropdownMenu.Portal>\n <KobalteDropdownMenu.SubContent\n class={cn(\n overlaySurface,\n overlayMotion,\n 'z-(--z-menu) min-w-[8rem] origin-(--kb-menu-content-transform-origin) overflow-hidden',\n menuContentPadding,\n local.class\n )}\n {...rest}\n />\n </KobalteDropdownMenu.Portal>\n )\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"dropdown-menu.js","names":["DropdownMenu","KobalteDropdownMenu","Check","ChevronRight","Circle","ComponentProps","splitProps","menuContentPadding","destructiveMenuItem","menuItem","menuLabel","menuSeparator","overlayMotion","overlaySurface","popoverArrow","cn","props","local","rest","_$createComponent","_$mergeProps","modal","DropdownMenuTrigger","Trigger","DropdownMenuPortal","Portal","DropdownMenuContentProps","Content","hideArrow","portalMount","HTMLElement","DropdownMenuContent","mount","children","class","_$memo","Arrow","DropdownMenuItem","Item","variant","shortcut","keyshortcuts","aria-keyshortcuts","_el$","_tmpl$","_$insert","DropdownMenuShortcut","_el$2","_tmpl$2","_$spread","DropdownMenuCheckboxItem","CheckboxItem","ItemIndicator","DropdownMenuRadioGroup","RadioGroup","DropdownMenuRadioItem","RadioItem","DropdownMenuLabel","GroupLabel","DropdownMenuGroup","Group","DropdownMenuSeparator","Separator","DropdownMenuSub","Sub","DropdownMenuSubTrigger","SubTrigger","DropdownMenuSubContent","SubContent","DropdownMenu","_$createComponent","KobalteDropdownMenu","_$mergeProps","_$memo"],"sources":["../../../../src/components/ui/dropdown-menu/dropdown-menu.tsx"],"sourcesContent":["import { DropdownMenu as KobalteDropdownMenu } from '@kobalte/core/dropdown-menu'\nimport { Check, ChevronRight, Circle } from 'lucide-solid'\nimport type { ComponentProps } from 'solid-js'\nimport { splitProps } from 'solid-js'\nimport {\n menuContentPadding,\n destructiveMenuItem,\n menuItem,\n menuLabel,\n menuSeparator,\n overlayMotion,\n overlaySurface,\n popoverArrow,\n} from '#lib/overlay'\nimport { cn } from '#lib/utils'\n\n/**\n * DropdownMenu.\n *\n * A list of actions on a trigger, with radio groups for persistent choices\n * that fit naturally in a compact menu. Use Select for form inputs whose\n * selected value needs the field-style control, and Popover for arbitrary\n * content.\n *\n * Kobalte supplies the full menu contract — arrow keys, typeahead, the roving\n * highlight, Escape to close and return focus — which is exactly what a\n * hand-rolled `div` with click handlers gets wrong.\n * Menus are nonmodal by default so their generated focus guards do not become\n * invalid direct children of the ARIA menu. Set `modal` explicitly when the\n * surrounding interaction needs modal containment.\n *\n * The `destructive` variant marks the row with a status-coloured edge and\n * highlighted tint while keeping its label on the body foreground. Pairing it\n * with an AlertDialog is the caller's job.\n */\nexport function DropdownMenu(props: ComponentProps<typeof KobalteDropdownMenu>) {\n const [local, rest] = splitProps(props, ['modal'])\n return <KobalteDropdownMenu modal={local.modal ?? false} {...rest} />\n}\n\nexport function DropdownMenuTrigger(props: ComponentProps<typeof KobalteDropdownMenu.Trigger>) {\n return <KobalteDropdownMenu.Trigger {...props} />\n}\n\nexport function DropdownMenuPortal(props: ComponentProps<typeof KobalteDropdownMenu.Portal>) {\n return <KobalteDropdownMenu.Portal {...props} />\n}\n\nexport type DropdownMenuContentProps = ComponentProps<typeof KobalteDropdownMenu.Content> & {\n hideArrow?: boolean\n /** Mount under an owner element such as a modal, keeping the menu in its accessible subtree. */\n portalMount?: HTMLElement\n}\n\nexport function DropdownMenuContent(props: DropdownMenuContentProps) {\n const [local, rest] = splitProps(props, ['class', 'hideArrow', 'children', 'portalMount'])\n\n return (\n <KobalteDropdownMenu.Portal mount={local.portalMount}>\n <KobalteDropdownMenu.Content\n class={cn(\n overlaySurface,\n overlayMotion,\n 'z-(--z-menu) min-w-[10rem] origin-(--kb-menu-content-transform-origin) overflow-hidden',\n menuContentPadding,\n local.class\n )}\n {...rest}\n >\n {!local.hideArrow && <KobalteDropdownMenu.Arrow aria-hidden=\"true\" class={popoverArrow} />}\n {local.children}\n </KobalteDropdownMenu.Content>\n </KobalteDropdownMenu.Portal>\n )\n}\n\nexport function DropdownMenuItem(\n props: ComponentProps<typeof KobalteDropdownMenu.Item> & {\n /** Colour the row as a destructive action. Confirm it separately. */\n variant?: 'default' | 'destructive'\n /** Draw a shortcut hint at the trailing edge of the row. */\n shortcut?: string\n /**\n * The parseable chord behind `shortcut`, e.g. `Meta+E`. The drawn glyph is\n * `aria-hidden` — reading it out would pollute the item's accessible name —\n * so this is what assistive technology announces instead. Supply it\n * whenever `shortcut` is drawn.\n */\n keyshortcuts?: string\n }\n) {\n const [local, rest] = splitProps(props, [\n 'class',\n 'variant',\n 'shortcut',\n 'keyshortcuts',\n 'children',\n ])\n\n return (\n <KobalteDropdownMenu.Item\n class={cn(\n menuItem,\n {\n [destructiveMenuItem]: local.variant === 'destructive',\n },\n local.class\n )}\n aria-keyshortcuts={local.keyshortcuts}\n {...rest}\n >\n {local.children}\n {local.shortcut ? (\n <span\n aria-hidden=\"true\"\n class=\"text-muted-foreground ms-auto font-mono text-2xs tracking-widest\"\n >\n {local.shortcut}\n </span>\n ) : null}\n </KobalteDropdownMenu.Item>\n )\n}\n\n/**\n * The chord drawn at a row's trailing edge.\n *\n * A component as well as the `shortcut` prop on an item, because a caller composing\n * a row by hand needs the same treatment — and because the alternative is every\n * caller inventing the same mono-and-dimmed span.\n *\n * The glyphs are decorative: the span is `aria-hidden` and the parseable chord\n * belongs in the row's `aria-keyshortcuts`, so the item's accessible name stays\n * exactly its label.\n */\nexport function DropdownMenuShortcut(props: ComponentProps<'span'>) {\n const [local, rest] = splitProps(props, ['class'])\n return (\n <span\n data-slot=\"dropdown-menu-shortcut\"\n aria-hidden=\"true\"\n class={cn('text-muted-foreground ms-auto font-mono text-2xs tracking-widest', local.class)}\n {...rest}\n />\n )\n}\n\nexport function DropdownMenuCheckboxItem(\n props: ComponentProps<typeof KobalteDropdownMenu.CheckboxItem>\n) {\n const [local, rest] = splitProps(props, ['class', 'children'])\n\n return (\n <KobalteDropdownMenu.CheckboxItem class={cn(menuItem, 'pe-8', local.class)} {...rest}>\n {local.children}\n <KobalteDropdownMenu.ItemIndicator\n data-slot=\"dropdown-menu-indicator\"\n class=\"absolute end-2 flex size-4 items-center justify-center text-primary\"\n >\n <Check class=\"size-4\" />\n </KobalteDropdownMenu.ItemIndicator>\n </KobalteDropdownMenu.CheckboxItem>\n )\n}\n\nexport function DropdownMenuRadioGroup(\n props: ComponentProps<typeof KobalteDropdownMenu.RadioGroup>\n) {\n return <KobalteDropdownMenu.RadioGroup {...props} />\n}\n\nexport function DropdownMenuRadioItem(props: ComponentProps<typeof KobalteDropdownMenu.RadioItem>) {\n const [local, rest] = splitProps(props, ['class', 'children'])\n\n return (\n <KobalteDropdownMenu.RadioItem class={cn(menuItem, 'pe-8', local.class)} {...rest}>\n {local.children}\n {/* The indicator reads in the accent, like every other selected state in\n the system — a canvas-colored dot on a checked row reads as decoration. */}\n <KobalteDropdownMenu.ItemIndicator\n data-slot=\"dropdown-menu-indicator\"\n class=\"absolute end-2 flex size-4 items-center justify-center text-primary\"\n >\n <Circle class=\"size-2 fill-current\" />\n </KobalteDropdownMenu.ItemIndicator>\n </KobalteDropdownMenu.RadioItem>\n )\n}\n\nexport function DropdownMenuLabel(props: ComponentProps<typeof KobalteDropdownMenu.GroupLabel>) {\n const [local, rest] = splitProps(props, ['class'])\n return <KobalteDropdownMenu.GroupLabel class={cn(menuLabel, local.class)} {...rest} />\n}\n\nexport function DropdownMenuGroup(props: ComponentProps<typeof KobalteDropdownMenu.Group>) {\n return <KobalteDropdownMenu.Group {...props} />\n}\n\nexport function DropdownMenuSeparator(props: ComponentProps<typeof KobalteDropdownMenu.Separator>) {\n const [local, rest] = splitProps(props, ['class'])\n return <KobalteDropdownMenu.Separator class={cn(menuSeparator, local.class)} {...rest} />\n}\n\nexport function DropdownMenuSub(props: ComponentProps<typeof KobalteDropdownMenu.Sub>) {\n return <KobalteDropdownMenu.Sub {...props} />\n}\n\nexport function DropdownMenuSubTrigger(\n props: ComponentProps<typeof KobalteDropdownMenu.SubTrigger>\n) {\n const [local, rest] = splitProps(props, ['class', 'children'])\n\n return (\n <KobalteDropdownMenu.SubTrigger class={cn(menuItem, local.class)} {...rest}>\n {local.children}\n <ChevronRight class=\"ms-auto size-4\" />\n </KobalteDropdownMenu.SubTrigger>\n )\n}\n\nexport function DropdownMenuSubContent(\n props: ComponentProps<typeof KobalteDropdownMenu.SubContent>\n) {\n const [local, rest] = splitProps(props, ['class'])\n\n return (\n <KobalteDropdownMenu.Portal>\n <KobalteDropdownMenu.SubContent\n class={cn(\n overlaySurface,\n overlayMotion,\n 'z-(--z-menu) min-w-[8rem] origin-(--kb-menu-content-transform-origin) overflow-hidden',\n menuContentPadding,\n local.class\n )}\n {...rest}\n />\n </KobalteDropdownMenu.Portal>\n )\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"input-otp.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/input-otp/input-otp.tsx"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,kBAAkB,CAAA;AACvC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAI9C;;;;;;;;;;;;;GAaG;AACH;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,QAAQ,CAAC,EAAE,WAAW,CAAC,GAAG;IAC/E,2BAA2B;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,yEAAyE;IACzE,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAC3B,CAAA;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,kCA0D5C;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,cAAc,CAAC,MAAM,CAAC,kCAS1D"}
1
+ {"version":3,"file":"input-otp.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/input-otp/input-otp.tsx"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,kBAAkB,CAAA;AACvC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAI9C;;;;;;;;;;;;;GAaG;AACH;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,QAAQ,CAAC,EAAE,WAAW,CAAC,GAAG;IAC/E,2BAA2B;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,yEAAyE;IACzE,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAC3B,CAAA;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,kCAsE5C;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,cAAc,CAAC,MAAM,CAAC,kCAS1D"}
@@ -21,7 +21,7 @@ function InputOtp(props) {
21
21
  return length();
22
22
  },
23
23
  get ["class"]() {
24
- return cn("flex items-center gap-2", local.class);
24
+ return cn("flex items-center gap-2", "overflow-hidden p-1", local.class);
25
25
  }
26
26
  }, rest, { children: (field) => [createComponent(OtpField.Input, {
27
27
  get ["aria-label"]() {
@@ -51,7 +51,7 @@ function InputOtp(props) {
51
51
  var _el$3 = _tmpl$3();
52
52
  insert(_el$3, () => field.value[slot] ?? "");
53
53
  effect((_p$) => {
54
- var _v$ = cn("border-input bg-transparent flex size-10 items-center justify-center rounded-md border text-sm font-medium", "transition-[color,box-shadow,border-color] ease-out", "data-[active=true]:border-ring data-[active=true]:ring-3 data-[active=true]:ring-primary-subtle", "data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50"), _v$2 = field.activeSlots.includes(slot), _v$3 = props.disabled;
54
+ var _v$ = cn("border-input bg-transparent flex size-10 items-center justify-center rounded-md border text-sm font-medium", "transition-[color,box-shadow,border-color] ease-out", "data-[active=true]:border-ring data-[active=true]:ring-3 data-[active=true]:ring-primary-subtle", "data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50"), _v$2 = field.activeSlots.includes(slot), _v$3 = props.disabled ? "" : void 0;
55
55
  _v$ !== _p$.e && className(_el$3, _p$.e = _v$);
56
56
  _v$2 !== _p$.t && setAttribute(_el$3, "data-active", _p$.t = _v$2);
57
57
  _v$3 !== _p$.a && setAttribute(_el$3, "data-disabled", _p$.a = _v$3);
@@ -1 +1 @@
1
- {"version":3,"file":"input-otp.js","names":["OtpField","ComponentProps","For","Show","splitProps","cn","InputOtpProps","Omit","length","groups","InputOtp","props","local","rest","_$createComponent","_$mergeProps","maxLength","class","children","field","Input","aria-label","each","size","groupIndex","when","_tmpl$","_el$2","_tmpl$2","_$insert","Array","from","_","index","offset","slice","reduce","total","run","slot","_el$3","_tmpl$3","value","_$effect","_p$","_v$","_v$2","activeSlots","includes","_v$3","disabled","e","_$className","t","_$setAttribute","a","undefined","InputOtpCaret","_el$4","_tmpl$4","_$spread","_$createComponent","_$mergeProps","_$className","_$setAttribute"],"sources":["../../../../src/components/ui/input-otp/input-otp.tsx"],"sourcesContent":["import OtpField from '@corvu/otp-field'\nimport type { ComponentProps } from 'solid-js'\nimport { For, Show, splitProps } from 'solid-js'\nimport { cn } from '#lib/utils'\n\n/**\n * InputOtp.\n *\n * A one-time code, entered into separate boxes. The boxes are the *paint*: the\n * value lives in a single real input, so paste works, autofill works, and a\n * password manager sees one field rather than six.\n *\n * That split is the whole reason to use a component rather than six inputs. Six\n * inputs cannot be pasted into, cannot be autofilled, and announce as six unrelated\n * fields — every one of which is a defect a user hits on the first try.\n *\n * corvu supplies the value handling, the caret movement, the paste split and the\n * keyboard behaviour.\n */\n/**\n * `maxLength` is omitted rather than exposed: corvu requires it, and a caller who\n * has to set both it and `length` will eventually set them to different numbers.\n * `length` is the one input and it drives the other.\n */\nexport type InputOtpProps = Omit<ComponentProps<typeof OtpField>, 'maxLength'> & {\n /** How many characters. */\n length?: number\n /** Group the boxes into runs, e.g. `[3, 3]` for a six-character code. */\n groups?: readonly number[]\n}\n\nexport function InputOtp(props: InputOtpProps) {\n const [local, rest] = splitProps(props, ['class', 'length', 'groups', 'children'])\n\n const length = () => local.length ?? 6\n const groups = () => local.groups ?? [length()]\n\n return (\n <OtpField\n maxLength={length()}\n class={cn('flex items-center gap-2', local.class)}\n {...rest}\n children={(field) => (\n <>\n <OtpField.Input\n aria-label={props['aria-label'] ?? 'One-time code'}\n class=\"absolute inset-0 opacity-0\"\n />\n <For each={groups()}>\n {(size, groupIndex) => (\n <>\n <Show when={groupIndex() > 0}>\n <span aria-hidden=\"true\" class=\"text-muted-foreground px-1\">\n –\n </span>\n </Show>\n <span class=\"flex items-center gap-1.5\">\n <For each={Array.from({ length: size })}>\n {(_, index) => {\n // The slot's index across the whole field, so the boxes after a\n // group boundary continue counting rather than restarting.\n const offset = groups()\n .slice(0, groupIndex())\n .reduce((total, run) => total + run, 0)\n const slot = offset + index()\n return (\n <span\n class={cn(\n 'border-input bg-transparent flex size-10 items-center justify-center rounded-md border text-sm font-medium',\n 'transition-[color,box-shadow,border-color] ease-out',\n 'data-[active=true]:border-ring data-[active=true]:ring-3 data-[active=true]:ring-primary-subtle',\n 'data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50'\n )}\n data-active={field.activeSlots.includes(slot)}\n data-disabled={props.disabled}\n >\n {field.value[slot] ?? ''}\n </span>\n )\n }}\n </For>\n </span>\n </>\n )}\n </For>\n </>\n )}\n />\n )\n}\n\n/**\n * A caret drawn inside the active box.\n *\n * Exported for a caller building its own slot: the box above renders the character\n * directly, and a blinking caret is the alternative when the field should look\n * empty until something is typed.\n */\nexport function InputOtpCaret(props: ComponentProps<'span'>) {\n const [local, rest] = splitProps(props, ['class'])\n return (\n <span\n aria-hidden=\"true\"\n class={cn('animate-caret bg-foreground inline-block h-4 w-px', local.class)}\n {...rest}\n />\n )\n}\n"],"mappings":";;;;;;;;;AA+BA,SAAgBU,SAASC,OAAsB;CAC7C,MAAM,CAACC,OAAOC,QAAQT,WAAWO,OAAO;EAAC;EAAS;EAAU;EAAU;CAAU,CAAC;CAEjF,MAAMH,eAAeI,MAAMJ,UAAU;CACrC,MAAMC,eAAeG,MAAMH,UAAU,CAACD,OAAO,CAAC;CAE9C,OAAAM,gBACGd,UAAQe,WAAA;EAAA,IACPC,YAAS;GAAA,OAAER,OAAO;EAAC;EAAA,KAAA,WAAA;GAAA,OACZH,GAAG,2BAA2BO,MAAMK,KAAK;EAAC;CAAA,GAC7CJ,MAAI,EACRK,WAAWC,UAAK,CAAAL,gBAEXd,SAASoB,OAAK;EAAA,KAAA,gBAAA;GAAA,OACDT,MAAM,iBAAiB;EAAe;EAAA,SAAA;CAAA,CAAA,GAAAG,gBAGnDZ,KAAG;EAAA,IAACoB,OAAI;GAAA,OAAEb,OAAO;EAAC;EAAAS,WACfK,MAAMC,eAAU,CAAAV,gBAEbX,MAAI;GAAA,IAACsB,OAAI;IAAA,OAAED,WAAW,IAAI;GAAC;GAAA,IAAAN,WAAA;IAAA,OAAAQ,OAAA;GAAA;EAAA,CAAA,UAAA;GAAA,IAAAC,QAAAC,QAAA;GAAAC,OAAAF,OAAAb,gBAMzBZ,KAAG;IAAA,IAACoB,OAAI;KAAA,OAAEQ,MAAMC,KAAK,EAAEvB,QAAQe,KAAK,CAAC;IAAC;IAAAL,WACnCc,GAAGC,UAAU;KAMb,MAAMM,OAHS9B,OAAO,CAAC,CACpB0B,MAAM,GAAGX,WAAW,CAAC,CAAC,CACtBY,QAAQC,OAAOC,QAAQD,QAAQC,KAAK,CAC1BJ,IAASD,MAAM;KAC5B,cAAA;MAAA,IAAAO,QAAAC,QAAA;MAAAZ,OAAAW,aAWKrB,MAAMuB,MAAMH,SAAS,EAAE;MAAAI,QAAAC,QAAA;OAAA,IAAAC,MATjBxC,GACL,8GACA,uDACA,mGACA,+DACF,GAACyC,OACY3B,MAAM4B,YAAYC,SAAST,IAAI,GAACU,OAC9BtC,MAAMuC;OAAQL,QAAAD,IAAAO,KAAAC,UAAAZ,OAAAI,IAAAO,IAAAN,GAAA;OAAAC,SAAAF,IAAAS,KAAAC,aAAAd,OAAA,eAAAI,IAAAS,IAAAP,IAAA;OAAAG,SAAAL,IAAAW,KAAAD,aAAAd,OAAA,iBAAAI,IAAAW,IAAAN,IAAA;OAAA,OAAAL;MAAA,GAAA;OAAAO,GAAAK,KAAAA;OAAAH,GAAAG,KAAAA;OAAAD,GAAAC,KAAAA;MAAA,CAAA;MAAA,OAAAhB;KAAA,EAAA,CAAA;IAKnC;GAAC,CAAA,CAAA;GAAA,OAAAb;EAAA,EAAA,CAAA,CAAA;CAIR,CAAA,CAAA,EAGN,CAAA,CAAA;AAGP;;;;;;;;AASA,SAAgB8B,cAAc9C,OAA+B;CAC3D,MAAM,CAACC,OAAOC,QAAQT,WAAWO,OAAO,CAAC,OAAO,CAAC;CACjD,cAAA;EAAA,IAAA+C,QAAAC,QAAA;EAAAC,OAAAF,OAAA3C,WAAA,EAAA,KAAA,WAAA;GAAA,OAGWV,GAAG,qDAAqDO,MAAMK,KAAK;EAAC,EAAA,GACvEJ,IAAI,GAAA,OAAA,KAAA;EAAA,OAAA6C;CAAA,EAAA,CAAA;AAGd"}
1
+ {"version":3,"file":"input-otp.js","names":["OtpField","ComponentProps","For","Show","splitProps","cn","InputOtpProps","Omit","length","groups","InputOtp","props","local","rest","_$createComponent","_$mergeProps","maxLength","class","children","field","Input","aria-label","each","size","groupIndex","when","_tmpl$","_el$2","_tmpl$2","_$insert","Array","from","_","index","offset","slice","reduce","total","run","slot","_el$3","_tmpl$3","value","_$effect","_p$","_v$","_v$2","activeSlots","includes","_v$3","disabled","undefined","e","_$className","t","_$setAttribute","a","InputOtpCaret","_el$4","_tmpl$4","_$spread","_$createComponent","_$mergeProps","_$className","_$setAttribute"],"sources":["../../../../src/components/ui/input-otp/input-otp.tsx"],"sourcesContent":["import OtpField from '@corvu/otp-field'\nimport type { ComponentProps } from 'solid-js'\nimport { For, Show, splitProps } from 'solid-js'\nimport { cn } from '#lib/utils'\n\n/**\n * InputOtp.\n *\n * A one-time code, entered into separate boxes. The boxes are the *paint*: the\n * value lives in a single real input, so paste works, autofill works, and a\n * password manager sees one field rather than six.\n *\n * That split is the whole reason to use a component rather than six inputs. Six\n * inputs cannot be pasted into, cannot be autofilled, and announce as six unrelated\n * fields — every one of which is a defect a user hits on the first try.\n *\n * corvu supplies the value handling, the caret movement, the paste split and the\n * keyboard behaviour.\n */\n/**\n * `maxLength` is omitted rather than exposed: corvu requires it, and a caller who\n * has to set both it and `length` will eventually set them to different numbers.\n * `length` is the one input and it drives the other.\n */\nexport type InputOtpProps = Omit<ComponentProps<typeof OtpField>, 'maxLength'> & {\n /** How many characters. */\n length?: number\n /** Group the boxes into runs, e.g. `[3, 3]` for a six-character code. */\n groups?: readonly number[]\n}\n\nexport function InputOtp(props: InputOtpProps) {\n const [local, rest] = splitProps(props, ['class', 'length', 'groups', 'children'])\n\n const length = () => local.length ?? 6\n const groups = () => local.groups ?? [length()]\n\n return (\n <OtpField\n maxLength={length()}\n class={cn(\n 'flex items-center gap-2',\n // corvu positions the field itself, but its hidden input is 40px wider\n // than the field so a password manager's badge lands outside the boxes\n // (`shiftPWManagers`). `clip-path` only hides that overhang; it still\n // counts as overflow, and a full-width field scrolled the page sideways.\n // `overflow-hidden` contains it, and `p-1` keeps the edge boxes' focus\n // ring (`ring-3`) inside the clip.\n 'overflow-hidden p-1',\n local.class\n )}\n {...rest}\n children={(field) => (\n <>\n <OtpField.Input\n aria-label={props['aria-label'] ?? 'One-time code'}\n class=\"absolute inset-0 opacity-0\"\n />\n <For each={groups()}>\n {(size, groupIndex) => (\n <>\n <Show when={groupIndex() > 0}>\n <span aria-hidden=\"true\" class=\"text-muted-foreground px-1\">\n –\n </span>\n </Show>\n <span class=\"flex items-center gap-1.5\">\n <For each={Array.from({ length: size })}>\n {(_, index) => {\n // The slot's index across the whole field, so the boxes after a\n // group boundary continue counting rather than restarting.\n const offset = groups()\n .slice(0, groupIndex())\n .reduce((total, run) => total + run, 0)\n const slot = offset + index()\n return (\n <span\n class={cn(\n 'border-input bg-transparent flex size-10 items-center justify-center rounded-md border text-sm font-medium',\n 'transition-[color,box-shadow,border-color] ease-out',\n 'data-[active=true]:border-ring data-[active=true]:ring-3 data-[active=true]:ring-primary-subtle',\n 'data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50'\n )}\n data-active={field.activeSlots.includes(slot)}\n // Present-or-absent, never `\"false\"`: `data-[disabled]`\n // matches any value, so `disabled={false}` dimmed the boxes.\n data-disabled={props.disabled ? '' : undefined}\n >\n {field.value[slot] ?? ''}\n </span>\n )\n }}\n </For>\n </span>\n </>\n )}\n </For>\n </>\n )}\n />\n )\n}\n\n/**\n * A caret drawn inside the active box.\n *\n * Exported for a caller building its own slot: the box above renders the character\n * directly, and a blinking caret is the alternative when the field should look\n * empty until something is typed.\n */\nexport function InputOtpCaret(props: ComponentProps<'span'>) {\n const [local, rest] = splitProps(props, ['class'])\n return (\n <span\n aria-hidden=\"true\"\n class={cn('animate-caret bg-foreground inline-block h-4 w-px', local.class)}\n {...rest}\n />\n )\n}\n"],"mappings":";;;;;;;;;AA+BA,SAAgBU,SAASC,OAAsB;CAC7C,MAAM,CAACC,OAAOC,QAAQT,WAAWO,OAAO;EAAC;EAAS;EAAU;EAAU;CAAU,CAAC;CAEjF,MAAMH,eAAeI,MAAMJ,UAAU;CACrC,MAAMC,eAAeG,MAAMH,UAAU,CAACD,OAAO,CAAC;CAE9C,OAAAM,gBACGd,UAAQe,WAAA;EAAA,IACPC,YAAS;GAAA,OAAER,OAAO;EAAC;EAAA,KAAA,WAAA;GAAA,OACZH,GACL,2BAOA,uBACAO,MAAMK,KACR;EAAC;CAAA,GACGJ,MAAI,EACRK,WAAWC,UAAK,CAAAL,gBAEXd,SAASoB,OAAK;EAAA,KAAA,gBAAA;GAAA,OACDT,MAAM,iBAAiB;EAAe;EAAA,SAAA;CAAA,CAAA,GAAAG,gBAGnDZ,KAAG;EAAA,IAACoB,OAAI;GAAA,OAAEb,OAAO;EAAC;EAAAS,WACfK,MAAMC,eAAU,CAAAV,gBAEbX,MAAI;GAAA,IAACsB,OAAI;IAAA,OAAED,WAAW,IAAI;GAAC;GAAA,IAAAN,WAAA;IAAA,OAAAQ,OAAA;GAAA;EAAA,CAAA,UAAA;GAAA,IAAAC,QAAAC,QAAA;GAAAC,OAAAF,OAAAb,gBAMzBZ,KAAG;IAAA,IAACoB,OAAI;KAAA,OAAEQ,MAAMC,KAAK,EAAEvB,QAAQe,KAAK,CAAC;IAAC;IAAAL,WACnCc,GAAGC,UAAU;KAMb,MAAMM,OAHS9B,OAAO,CAAC,CACpB0B,MAAM,GAAGX,WAAW,CAAC,CAAC,CACtBY,QAAQC,OAAOC,QAAQD,QAAQC,KAAK,CAC1BJ,IAASD,MAAM;KAC5B,cAAA;MAAA,IAAAO,QAAAC,QAAA;MAAAZ,OAAAW,aAaKrB,MAAMuB,MAAMH,SAAS,EAAE;MAAAI,QAAAC,QAAA;OAAA,IAAAC,MAXjBxC,GACL,8GACA,uDACA,mGACA,+DACF,GAACyC,OACY3B,MAAM4B,YAAYC,SAAST,IAAI,GAACU,OAG9BtC,MAAMuC,WAAW,KAAKC,KAAAA;OAASN,QAAAD,IAAAQ,KAAAC,UAAAb,OAAAI,IAAAQ,IAAAP,GAAA;OAAAC,SAAAF,IAAAU,KAAAC,aAAAf,OAAA,eAAAI,IAAAU,IAAAR,IAAA;OAAAG,SAAAL,IAAAY,KAAAD,aAAAf,OAAA,iBAAAI,IAAAY,IAAAP,IAAA;OAAA,OAAAL;MAAA,GAAA;OAAAQ,GAAAD,KAAAA;OAAAG,GAAAH,KAAAA;OAAAK,GAAAL,KAAAA;MAAA,CAAA;MAAA,OAAAX;KAAA,EAAA,CAAA;IAKpD;GAAC,CAAA,CAAA;GAAA,OAAAb;EAAA,EAAA,CAAA,CAAA;CAIR,CAAA,CAAA,EAGN,CAAA,CAAA;AAGP;;;;;;;;AASA,SAAgB8B,cAAc9C,OAA+B;CAC3D,MAAM,CAACC,OAAOC,QAAQT,WAAWO,OAAO,CAAC,OAAO,CAAC;CACjD,cAAA;EAAA,IAAA+C,QAAAC,QAAA;EAAAC,OAAAF,OAAA3C,WAAA,EAAA,KAAA,WAAA;GAAA,OAGWV,GAAG,qDAAqDO,MAAMK,KAAK;EAAC,EAAA,GACvEJ,IAAI,GAAA,OAAA,KAAA;EAAA,OAAA6C;CAAA,EAAA,CAAA;AAGd"}
@@ -1 +1 @@
1
- {"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/pagination/pagination.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,IAAI,iBAAiB,EAC/B,KAAK,qBAAqB,EAC3B,MAAM,0BAA0B,CAAA;AAEjC,OAAO,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAInD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,qBAAqB,EAAE,eAAe,GAAG,mBAAmB,CAAC,GAAG;IACjG,aAAa,CAAC,EAAE,qBAAqB,CAAC,eAAe,CAAC,CAAA;IACtD,iBAAiB,CAAC,EAAE,qBAAqB,CAAC,mBAAmB,CAAC,CAAA;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAA;CACvB,CAAA;AAWD,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,eAuBhD;AAaD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,cAAc,CAAC,OAAO,iBAAiB,CAAC,QAAQ,CAAC,eAa1F;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC,OAAO,iBAAiB,CAAC,IAAI,CAAC,eAalF;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC,OAAO,iBAAiB,CAAC,IAAI,CAAC,eAelF;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,cAAc,CAAC,OAAO,iBAAiB,CAAC,QAAQ,CAAC,GAAG;IAAE,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAA;CAAE,eAiBtF"}
1
+ {"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/pagination/pagination.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,IAAI,iBAAiB,EAC/B,KAAK,qBAAqB,EAC3B,MAAM,0BAA0B,CAAA;AAEjC,OAAO,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAInD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,qBAAqB,EAAE,eAAe,GAAG,mBAAmB,CAAC,GAAG;IACjG,aAAa,CAAC,EAAE,qBAAqB,CAAC,eAAe,CAAC,CAAA;IACtD,iBAAiB,CAAC,EAAE,qBAAqB,CAAC,mBAAmB,CAAC,CAAA;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAA;CACvB,CAAA;AAWD,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,eA8BhD;AAaD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,cAAc,CAAC,OAAO,iBAAiB,CAAC,QAAQ,CAAC,eAa1F;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC,OAAO,iBAAiB,CAAC,IAAI,CAAC,eAalF;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC,OAAO,iBAAiB,CAAC,IAAI,CAAC,eAelF;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,cAAc,CAAC,OAAO,iBAAiB,CAAC,QAAQ,CAAC,GAAG;IAAE,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAA;CAAE,eAiBtF"}
@@ -30,7 +30,7 @@ function Pagination$1(props) {
30
30
  return local.ellipsisComponent ?? (() => createComponent(PaginationEllipsis, {}));
31
31
  },
32
32
  get ["class"]() {
33
- return cn("flex w-full items-center justify-center gap-1", local.class);
33
+ return cn("flex w-full items-center justify-center [&>ul]:m-0 [&>ul]:flex [&>ul]:list-none [&>ul]:items-center [&>ul]:gap-1 [&>ul]:p-0", local.class);
34
34
  }
35
35
  }, rest, { get children() {
36
36
  return createComponent(Show, {
@@ -1 +1 @@
1
- {"version":3,"file":"pagination.js","names":["Pagination","KobaltePagination","PaginationRootOptions","ChevronLeft","ChevronRight","MoreHorizontal","ComponentProps","JSX","Show","splitProps","cn","PaginationProps","Omit","itemComponent","ellipsisComponent","class","children","Element","paginationControl","props","local","rest","_$createComponent","_$mergeProps","itemProps","PaginationItem","page","PaginationEllipsis","when","fallback","DefaultPaginationControls","PaginationPrevious","Items","PaginationNext","Previous","_tmpl$","Next","_tmpl$2","Item","Ellipsis","_tmpl$3","Pagination","_$createComponent","KobaltePagination","_$mergeProps"],"sources":["../../../../src/components/ui/pagination/pagination.tsx"],"sourcesContent":["import {\n Pagination as KobaltePagination,\n type PaginationRootOptions,\n} from '@kobalte/core/pagination'\nimport { ChevronLeft, ChevronRight, MoreHorizontal } from 'lucide-solid'\nimport type { ComponentProps, JSX } from 'solid-js'\nimport { Show, splitProps } from 'solid-js'\nimport { cn } from '#lib/utils'\n\n/**\n * Pagination.\n *\n * Page navigation for a list the server pages, not for a list the client already\n * holds — slicing an array you have is a filter, and it should not spend a round\n * trip.\n *\n * Kobalte computes the visible page window and the ellipsis positions and emits\n * `aria-current=\"page\"`, so the control announces which page is active instead of\n * leaving it to colour alone.\n *\n * The item and ellipsis renderers are *supplied here*, not required of the caller.\n * Kobalte's root makes them mandatory because it has no opinion about how a page\n * number should look; a design system does, so the only thing a caller has to pass\n * is `count` — while still being able to override either renderer when a view\n * needs to.\n */\nexport type PaginationProps = Omit<PaginationRootOptions, 'itemComponent' | 'ellipsisComponent'> & {\n itemComponent?: PaginationRootOptions['itemComponent']\n ellipsisComponent?: PaginationRootOptions['ellipsisComponent']\n class?: string\n children?: JSX.Element\n}\n\nconst paginationControl = cn(\n 'inline-flex h-control-md min-w-(--control-height-md) items-center justify-center gap-1 rounded-md border border-transparent px-2 text-sm tabular-nums',\n 'transition-colors ease-out outline-none select-none',\n 'hover:bg-surface-hover',\n 'focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-primary-subtle',\n 'disabled:pointer-events-none disabled:opacity-50',\n '[&_svg]:pointer-events-none [&_svg]:size-4'\n)\n\nexport function Pagination(props: PaginationProps) {\n const [local, rest] = splitProps(props, [\n 'class',\n 'itemComponent',\n 'ellipsisComponent',\n 'children',\n ])\n\n return (\n <KobaltePagination\n itemComponent={\n local.itemComponent ??\n ((itemProps) => <PaginationItem page={itemProps.page}>{itemProps.page}</PaginationItem>)\n }\n ellipsisComponent={local.ellipsisComponent ?? (() => <PaginationEllipsis />)}\n class={cn('flex w-full items-center justify-center gap-1', local.class)}\n {...rest}\n >\n <Show when={local.children} fallback={<DefaultPaginationControls />}>\n {local.children}\n </Show>\n </KobaltePagination>\n )\n}\n\n/** Previous, the numbered run, next: the arrangement every list view wants. */\nfunction DefaultPaginationControls() {\n return (\n <>\n <PaginationPrevious />\n <KobaltePagination.Items />\n <PaginationNext />\n </>\n )\n}\n\nexport function PaginationPrevious(props: ComponentProps<typeof KobaltePagination.Previous>) {\n const [local, rest] = splitProps(props, ['class', 'children'])\n\n return (\n <KobaltePagination.Previous class={cn(paginationControl, 'ps-1.5', local.class)} {...rest}>\n {local.children ?? (\n <>\n <ChevronLeft class=\"size-4\" />\n <span class=\"hidden sm:inline\">Previous</span>\n </>\n )}\n </KobaltePagination.Previous>\n )\n}\n\nexport function PaginationNext(props: ComponentProps<typeof KobaltePagination.Next>) {\n const [local, rest] = splitProps(props, ['class', 'children'])\n\n return (\n <KobaltePagination.Next class={cn(paginationControl, 'pe-1.5', local.class)} {...rest}>\n {local.children ?? (\n <>\n <span class=\"hidden sm:inline\">Next</span>\n <ChevronRight class=\"size-4\" />\n </>\n )}\n </KobaltePagination.Next>\n )\n}\n\nexport function PaginationItem(props: ComponentProps<typeof KobaltePagination.Item>) {\n const [local, rest] = splitProps(props, ['class', 'children'])\n\n return (\n <KobaltePagination.Item\n class={cn(\n paginationControl,\n 'data-[current]:border-border data-[current]:bg-surface-active data-[current]:font-medium',\n local.class\n )}\n {...rest}\n >\n {local.children}\n </KobaltePagination.Item>\n )\n}\n\nexport function PaginationEllipsis(\n props: ComponentProps<typeof KobaltePagination.Ellipsis> & { children?: JSX.Element }\n) {\n const [local, rest] = splitProps(props, ['class', 'children'])\n\n return (\n <KobaltePagination.Ellipsis\n class={cn('flex size-control-md items-center justify-center', local.class)}\n {...rest}\n >\n {local.children ?? (\n <>\n <MoreHorizontal class=\"size-4\" />\n <span class=\"visually-hidden\">More pages</span>\n </>\n )}\n </KobaltePagination.Ellipsis>\n )\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"pagination.js","names":["Pagination","KobaltePagination","PaginationRootOptions","ChevronLeft","ChevronRight","MoreHorizontal","ComponentProps","JSX","Show","splitProps","cn","PaginationProps","Omit","itemComponent","ellipsisComponent","class","children","Element","paginationControl","props","local","rest","_$createComponent","_$mergeProps","itemProps","PaginationItem","page","PaginationEllipsis","when","fallback","DefaultPaginationControls","PaginationPrevious","Items","PaginationNext","Previous","_tmpl$","Next","_tmpl$2","Item","Ellipsis","_tmpl$3","Pagination","_$createComponent","KobaltePagination","_$mergeProps"],"sources":["../../../../src/components/ui/pagination/pagination.tsx"],"sourcesContent":["import {\n Pagination as KobaltePagination,\n type PaginationRootOptions,\n} from '@kobalte/core/pagination'\nimport { ChevronLeft, ChevronRight, MoreHorizontal } from 'lucide-solid'\nimport type { ComponentProps, JSX } from 'solid-js'\nimport { Show, splitProps } from 'solid-js'\nimport { cn } from '#lib/utils'\n\n/**\n * Pagination.\n *\n * Page navigation for a list the server pages, not for a list the client already\n * holds — slicing an array you have is a filter, and it should not spend a round\n * trip.\n *\n * Kobalte computes the visible page window and the ellipsis positions and emits\n * `aria-current=\"page\"`, so the control announces which page is active instead of\n * leaving it to colour alone.\n *\n * The item and ellipsis renderers are *supplied here*, not required of the caller.\n * Kobalte's root makes them mandatory because it has no opinion about how a page\n * number should look; a design system does, so the only thing a caller has to pass\n * is `count` — while still being able to override either renderer when a view\n * needs to.\n */\nexport type PaginationProps = Omit<PaginationRootOptions, 'itemComponent' | 'ellipsisComponent'> & {\n itemComponent?: PaginationRootOptions['itemComponent']\n ellipsisComponent?: PaginationRootOptions['ellipsisComponent']\n class?: string\n children?: JSX.Element\n}\n\nconst paginationControl = cn(\n 'inline-flex h-control-md min-w-(--control-height-md) items-center justify-center gap-1 rounded-md border border-transparent px-2 text-sm tabular-nums',\n 'transition-colors ease-out outline-none select-none',\n 'hover:bg-surface-hover',\n 'focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-primary-subtle',\n 'disabled:pointer-events-none disabled:opacity-50',\n '[&_svg]:pointer-events-none [&_svg]:size-4'\n)\n\nexport function Pagination(props: PaginationProps) {\n const [local, rest] = splitProps(props, [\n 'class',\n 'itemComponent',\n 'ellipsisComponent',\n 'children',\n ])\n\n return (\n <KobaltePagination\n itemComponent={\n local.itemComponent ??\n ((itemProps) => <PaginationItem page={itemProps.page}>{itemProps.page}</PaginationItem>)\n }\n ellipsisComponent={local.ellipsisComponent ?? (() => <PaginationEllipsis />)}\n // Kobalte renders the root as a `<nav>` wrapping a `<ul>`, and every control —\n // previous, the page run, next — is an `<li>` inside that list. The row has to be\n // declared on the list: on the `<nav>` alone it lays out one child and the\n // controls stack vertically.\n class={cn(\n 'flex w-full items-center justify-center [&>ul]:m-0 [&>ul]:flex [&>ul]:list-none [&>ul]:items-center [&>ul]:gap-1 [&>ul]:p-0',\n local.class\n )}\n {...rest}\n >\n <Show when={local.children} fallback={<DefaultPaginationControls />}>\n {local.children}\n </Show>\n </KobaltePagination>\n )\n}\n\n/** Previous, the numbered run, next: the arrangement every list view wants. */\nfunction DefaultPaginationControls() {\n return (\n <>\n <PaginationPrevious />\n <KobaltePagination.Items />\n <PaginationNext />\n </>\n )\n}\n\nexport function PaginationPrevious(props: ComponentProps<typeof KobaltePagination.Previous>) {\n const [local, rest] = splitProps(props, ['class', 'children'])\n\n return (\n <KobaltePagination.Previous class={cn(paginationControl, 'ps-1.5', local.class)} {...rest}>\n {local.children ?? (\n <>\n <ChevronLeft class=\"size-4\" />\n <span class=\"hidden sm:inline\">Previous</span>\n </>\n )}\n </KobaltePagination.Previous>\n )\n}\n\nexport function PaginationNext(props: ComponentProps<typeof KobaltePagination.Next>) {\n const [local, rest] = splitProps(props, ['class', 'children'])\n\n return (\n <KobaltePagination.Next class={cn(paginationControl, 'pe-1.5', local.class)} {...rest}>\n {local.children ?? (\n <>\n <span class=\"hidden sm:inline\">Next</span>\n <ChevronRight class=\"size-4\" />\n </>\n )}\n </KobaltePagination.Next>\n )\n}\n\nexport function PaginationItem(props: ComponentProps<typeof KobaltePagination.Item>) {\n const [local, rest] = splitProps(props, ['class', 'children'])\n\n return (\n <KobaltePagination.Item\n class={cn(\n paginationControl,\n 'data-[current]:border-border data-[current]:bg-surface-active data-[current]:font-medium',\n local.class\n )}\n {...rest}\n >\n {local.children}\n </KobaltePagination.Item>\n )\n}\n\nexport function PaginationEllipsis(\n props: ComponentProps<typeof KobaltePagination.Ellipsis> & { children?: JSX.Element }\n) {\n const [local, rest] = splitProps(props, ['class', 'children'])\n\n return (\n <KobaltePagination.Ellipsis\n class={cn('flex size-control-md items-center justify-center', local.class)}\n {...rest}\n >\n {local.children ?? (\n <>\n <MoreHorizontal class=\"size-4\" />\n <span class=\"visually-hidden\">More pages</span>\n </>\n )}\n </KobaltePagination.Ellipsis>\n )\n}\n"],"mappings":"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"}
@@ -1,17 +1,5 @@
1
1
  import Resizable from '@corvu/resizable';
2
2
  import type { ComponentProps } from 'solid-js';
3
- /**
4
- * Resizable.
5
- *
6
- * A split layout: panels the user can resize, with a handle between them. This
7
- * is the shape of every IDE-like surface — rail, file tree, editor, terminal —
8
- * and the reason it is a primitive rather than something each view improvises.
9
- *
10
- * corvu supplies the pointer capture, the min/max constraints and the keyboard
11
- * resizing, which is what makes a divider operable without a mouse. The handle
12
- * is a real focusable element with an accessible role, so a split pane can be
13
- * adjusted from the keyboard; a bare `cursor-col-resize` div cannot.
14
- */
15
3
  export declare function ResizablePanelGroup(props: ComponentProps<typeof Resizable> & {
16
4
  class?: string;
17
5
  }): import("solid-js").JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"resizable.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/resizable/resizable.tsx"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,kBAAkB,CAAA;AAExC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAI9C;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,cAAc,CAAC,OAAO,SAAS,CAAC,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,kCAS/F;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC,OAAO,SAAS,CAAC,KAAK,CAAC,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,kCAGhG;AAED,MAAM,MAAM,oBAAoB,GAAG,cAAc,CAAC,OAAO,SAAS,CAAC,MAAM,CAAC,GAAG;IAC3E,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,wDAAwD;IACxD,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,kCA2B1D"}
1
+ {"version":3,"file":"resizable.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/resizable/resizable.tsx"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,kBAAkB,CAAA;AAExC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAuB9C,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,cAAc,CAAC,OAAO,SAAS,CAAC,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,kCAW/F;AAgBD,wBAAgB,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC,OAAO,SAAS,CAAC,KAAK,CAAC,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,kCAchG;AAED,MAAM,MAAM,oBAAoB,GAAG,cAAc,CAAC,OAAO,SAAS,CAAC,MAAM,CAAC,GAAG;IAC3E,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,wDAAwD;IACxD,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,kCA+B1D"}
@@ -1,7 +1,7 @@
1
1
  import { cn } from "../../../lib/utils.js";
2
2
  import { createComponent, insert, memo, mergeProps, template } from "solid-js/web";
3
3
  import { GripVertical } from "lucide-solid";
4
- import { splitProps } from "solid-js";
4
+ import { createContext, splitProps, useContext } from "solid-js";
5
5
  import Resizable from "@corvu/resizable";
6
6
  //#region src/components/ui/resizable/resizable.tsx
7
7
  var _tmpl$ = /*#__PURE__*/ template(`<div class="bg-border z-(--z-docked) flex h-4 w-2.5 items-center justify-center rounded-sm border border-border">`);
@@ -17,17 +17,48 @@ var _tmpl$ = /*#__PURE__*/ template(`<div class="bg-border z-(--z-docked) flex h
17
17
  * is a real focusable element with an accessible role, so a split pane can be
18
18
  * adjusted from the keyboard; a bare `cursor-col-resize` div cannot.
19
19
  */
20
+ /**
21
+ * Whether the group was given `initialSizes`. Those are corvu's to apply, and a
22
+ * panel's own `initialSize` overrides them — so an unsized panel must not invent
23
+ * one when the group already has an answer.
24
+ */
25
+ var GroupSizesContext = createContext(() => false);
20
26
  function ResizablePanelGroup(props) {
21
27
  const [local, rest] = splitProps(props, ["class"]);
22
- return createComponent(Resizable, mergeProps({ get ["class"]() {
23
- return cn("flex size-full data-[orientation=vertical]:flex-col", local.class);
24
- } }, rest));
28
+ return createComponent(GroupSizesContext.Provider, {
29
+ value: () => rest.initialSizes !== void 0,
30
+ get children() {
31
+ return createComponent(Resizable, mergeProps({ get ["class"]() {
32
+ return cn("flex size-full data-[orientation=vertical]:flex-col", local.class);
33
+ } }, rest));
34
+ }
35
+ });
36
+ }
37
+ /**
38
+ * The size an unsized panel registers with: whatever its earlier siblings left.
39
+ *
40
+ * corvu registers a panel without `initialSize` at a flat 50%, so `0.28` beside
41
+ * an unsized panel summed to 78% and left a gap. Panels register in document
42
+ * order, so at registration `sizes` holds exactly the panels before this one.
43
+ * When nothing is left — a second unsized panel — it takes an equal share, and
44
+ * corvu shrinks the earlier panels by that share to keep the total at 100%.
45
+ */
46
+ function remainingSize(sizes) {
47
+ const left = 1 - sizes.reduce((total, size) => total + size, 0);
48
+ return left > .001 ? left : 1 / (sizes.length + 1);
25
49
  }
26
50
  function ResizablePanel(props) {
27
- const [local, rest] = splitProps(props, ["class"]);
28
- return createComponent(Resizable.Panel, mergeProps({ get ["class"]() {
29
- return cn("min-h-0 min-w-0 overflow-hidden", local.class);
30
- } }, rest));
51
+ const [local, rest] = splitProps(props, ["class", "initialSize"]);
52
+ const group = Resizable.useContext(rest.contextId);
53
+ const groupHasSizes = useContext(GroupSizesContext);
54
+ return createComponent(Resizable.Panel, mergeProps({
55
+ get initialSize() {
56
+ return local.initialSize ?? (groupHasSizes() ? void 0 : remainingSize(group.sizes()));
57
+ },
58
+ get ["class"]() {
59
+ return cn("min-h-0 min-w-0 overflow-hidden", local.class);
60
+ }
61
+ }, rest));
31
62
  }
32
63
  function ResizableHandle(props) {
33
64
  const [local, rest] = splitProps(props, [
@@ -35,11 +66,14 @@ function ResizableHandle(props) {
35
66
  "withHandle",
36
67
  "label"
37
68
  ]);
69
+ const group = Resizable.useContext(rest.contextId);
38
70
  return createComponent(Resizable.Handle, mergeProps({
39
71
  get ["aria-label"]() {
40
72
  return local.label ?? "Resize panels";
41
73
  },
42
- "aria-orientation": "vertical",
74
+ get ["aria-orientation"]() {
75
+ return group.orientation() === "horizontal" ? "vertical" : "horizontal";
76
+ },
43
77
  get ["class"]() {
44
78
  return cn("group/resize bg-border relative flex w-px shrink-0 items-center justify-center", "after:absolute after:inset-y-0 after:-inset-x-1 after:w-3", "transition-colors ease-out hover:bg-primary", "focus-visible:bg-primary focus-visible:outline-none", "data-[orientation=vertical]:h-px data-[orientation=vertical]:w-full", "data-[orientation=vertical]:after:inset-x-0 data-[orientation=vertical]:after:-inset-y-1 data-[orientation=vertical]:after:h-3 data-[orientation=vertical]:after:w-full", local.class);
45
79
  }
@@ -1 +1 @@
1
- {"version":3,"file":"resizable.js","names":["Resizable","GripVertical","ComponentProps","splitProps","cn","ResizablePanelGroup","props","class","local","rest","_$createComponent","_$mergeProps","ResizablePanel","Panel","ResizableHandleProps","Handle","withHandle","label","ResizableHandle","aria-label","children","_$memo","_el$","_tmpl$","_$insert","_$createComponent","_$mergeProps","_$memo"],"sources":["../../../../src/components/ui/resizable/resizable.tsx"],"sourcesContent":["import Resizable from '@corvu/resizable'\nimport { GripVertical } from 'lucide-solid'\nimport type { ComponentProps } from 'solid-js'\nimport { splitProps } from 'solid-js'\nimport { cn } from '#lib/utils'\n\n/**\n * Resizable.\n *\n * A split layout: panels the user can resize, with a handle between them. This\n * is the shape of every IDE-like surface — rail, file tree, editor, terminal —\n * and the reason it is a primitive rather than something each view improvises.\n *\n * corvu supplies the pointer capture, the min/max constraints and the keyboard\n * resizing, which is what makes a divider operable without a mouse. The handle\n * is a real focusable element with an accessible role, so a split pane can be\n * adjusted from the keyboard; a bare `cursor-col-resize` div cannot.\n */\nexport function ResizablePanelGroup(props: ComponentProps<typeof Resizable> & { class?: string }) {\n const [local, rest] = splitProps(props, ['class'])\n\n return (\n <Resizable\n class={cn('flex size-full data-[orientation=vertical]:flex-col', local.class)}\n {...rest}\n />\n )\n}\n\nexport function ResizablePanel(props: ComponentProps<typeof Resizable.Panel> & { class?: string }) {\n const [local, rest] = splitProps(props, ['class'])\n return <Resizable.Panel class={cn('min-h-0 min-w-0 overflow-hidden', local.class)} {...rest} />\n}\n\nexport type ResizableHandleProps = ComponentProps<typeof Resizable.Handle> & {\n class?: string\n /** Draw a visible grip in the middle of the divider. */\n withHandle?: boolean\n /**\n * The divider's accessible name. It is a focusable control — arrow keys move\n * the split — so it needs one; without it a screen reader announces an\n * unlabelled button between the two panels.\n */\n label?: string\n}\n\nexport function ResizableHandle(props: ResizableHandleProps) {\n const [local, rest] = splitProps(props, ['class', 'withHandle', 'label'])\n\n return (\n <Resizable.Handle\n aria-label={local.label ?? 'Resize panels'}\n aria-orientation=\"vertical\"\n class={cn(\n 'group/resize bg-border relative flex w-px shrink-0 items-center justify-center',\n /* Widen the hit target without moving the visual line: the divider is\n a hairline, but a hairline is far too small to grab. */\n 'after:absolute after:inset-y-0 after:-inset-x-1 after:w-3',\n 'transition-colors ease-out hover:bg-primary',\n 'focus-visible:bg-primary focus-visible:outline-none',\n 'data-[orientation=vertical]:h-px data-[orientation=vertical]:w-full',\n 'data-[orientation=vertical]:after:inset-x-0 data-[orientation=vertical]:after:-inset-y-1 data-[orientation=vertical]:after:h-3 data-[orientation=vertical]:after:w-full',\n local.class\n )}\n {...rest}\n >\n {local.withHandle ? (\n <div class=\"bg-border z-(--z-docked) flex h-4 w-2.5 items-center justify-center rounded-sm border border-border\">\n <GripVertical class=\"size-2.5 text-muted-foreground\" />\n </div>\n ) : null}\n </Resizable.Handle>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAkBA,SAAgBK,oBAAoBC,OAA8D;CAChG,MAAM,CAACE,OAAOC,QAAQN,WAAWG,OAAO,CAAC,OAAO,CAAC;CAEjD,OAAAI,gBACGV,WAASW,WAAA,EAAA,KAAA,WAAA;EAAA,OACDP,GAAG,uDAAuDI,MAAMD,KAAK;CAAC,EAAA,GACzEE,IAAI,CAAA;AAGd;AAEA,SAAgBG,eAAeN,OAAoE;CACjG,MAAM,CAACE,OAAOC,QAAQN,WAAWG,OAAO,CAAC,OAAO,CAAC;CACjD,OAAAI,gBAAQV,UAAUa,OAAKF,WAAA,EAAA,KAAA,WAAA;EAAA,OAAQP,GAAG,mCAAmCI,MAAMD,KAAK;CAAC,EAAA,GAAME,IAAI,CAAA;AAC7F;AAcA,SAAgBS,gBAAgBZ,OAA6B;CAC3D,MAAM,CAACE,OAAOC,QAAQN,WAAWG,OAAO;EAAC;EAAS;EAAc;CAAO,CAAC;CAExE,OAAAI,gBACGV,UAAUe,QAAMJ,WAAA;EAAA,KAAA,gBAAA;GAAA,OACHH,MAAMS,SAAS;EAAe;EAAA,oBAAA;EAAA,KAAA,WAAA;GAAA,OAEnCb,GACL,kFAGA,6DACA,+CACA,uDACA,uEACA,2KACAI,MAAMD,KACR;EAAC;CAAA,GACGE,MAAI,EAAA,IAAAW,WAAA;EAAA,OAEPC,WAAA,CAAA,CAAAb,MAAMQ,UAAU,CAAA,CAAA,WAAA;GAAA,IAAAM,OAAAC,OAAA;GAAAC,OAAAF,MAAAZ,gBAEZT,cAAY,EAAA,SAAA,iCAAA,CAAA,CAAA;GAAA,OAAAqB;EAAA,EAAA,CAAA,IAEb;CAAI,EAAA,CAAA,CAAA;AAGd"}
1
+ {"version":3,"file":"resizable.js","names":["Resizable","GripVertical","ComponentProps","createContext","splitProps","useContext","cn","GroupSizesContext","ResizablePanelGroup","props","class","local","rest","_$createComponent","Provider","value","initialSizes","undefined","children","_$mergeProps","remainingSize","sizes","left","reduce","total","size","length","ResizablePanel","Panel","group","contextId","groupHasSizes","initialSize","ResizableHandleProps","Handle","withHandle","label","ResizableHandle","aria-label","aria-orientation","orientation","_$memo","_el$","_tmpl$","_$insert","_$createComponent","_$mergeProps","_$memo"],"sources":["../../../../src/components/ui/resizable/resizable.tsx"],"sourcesContent":["import Resizable from '@corvu/resizable'\nimport { GripVertical } from 'lucide-solid'\nimport type { ComponentProps } from 'solid-js'\nimport { createContext, splitProps, useContext } from 'solid-js'\nimport { cn } from '#lib/utils'\n\n/**\n * Resizable.\n *\n * A split layout: panels the user can resize, with a handle between them. This\n * is the shape of every IDE-like surface — rail, file tree, editor, terminal —\n * and the reason it is a primitive rather than something each view improvises.\n *\n * corvu supplies the pointer capture, the min/max constraints and the keyboard\n * resizing, which is what makes a divider operable without a mouse. The handle\n * is a real focusable element with an accessible role, so a split pane can be\n * adjusted from the keyboard; a bare `cursor-col-resize` div cannot.\n */\n/**\n * Whether the group was given `initialSizes`. Those are corvu's to apply, and a\n * panel's own `initialSize` overrides them — so an unsized panel must not invent\n * one when the group already has an answer.\n */\nconst GroupSizesContext = createContext<() => boolean>(() => false)\n\nexport function ResizablePanelGroup(props: ComponentProps<typeof Resizable> & { class?: string }) {\n const [local, rest] = splitProps(props, ['class'])\n\n return (\n <GroupSizesContext.Provider value={() => rest.initialSizes !== undefined}>\n <Resizable\n class={cn('flex size-full data-[orientation=vertical]:flex-col', local.class)}\n {...rest}\n />\n </GroupSizesContext.Provider>\n )\n}\n\n/**\n * The size an unsized panel registers with: whatever its earlier siblings left.\n *\n * corvu registers a panel without `initialSize` at a flat 50%, so `0.28` beside\n * an unsized panel summed to 78% and left a gap. Panels register in document\n * order, so at registration `sizes` holds exactly the panels before this one.\n * When nothing is left — a second unsized panel — it takes an equal share, and\n * corvu shrinks the earlier panels by that share to keep the total at 100%.\n */\nfunction remainingSize(sizes: readonly number[]): number {\n const left = 1 - sizes.reduce((total, size) => total + size, 0)\n return left > 0.001 ? left : 1 / (sizes.length + 1)\n}\n\nexport function ResizablePanel(props: ComponentProps<typeof Resizable.Panel> & { class?: string }) {\n const [local, rest] = splitProps(props, ['class', 'initialSize'])\n const group = Resizable.useContext(rest.contextId)\n const groupHasSizes = useContext(GroupSizesContext)\n\n return (\n <Resizable.Panel\n initialSize={\n local.initialSize ?? (groupHasSizes() ? undefined : remainingSize(group.sizes()))\n }\n class={cn('min-h-0 min-w-0 overflow-hidden', local.class)}\n {...rest}\n />\n )\n}\n\nexport type ResizableHandleProps = ComponentProps<typeof Resizable.Handle> & {\n class?: string\n /** Draw a visible grip in the middle of the divider. */\n withHandle?: boolean\n /**\n * The divider's accessible name. It is a focusable control — arrow keys move\n * the split — so it needs one; without it a screen reader announces an\n * unlabelled button between the two panels.\n */\n label?: string\n}\n\nexport function ResizableHandle(props: ResizableHandleProps) {\n const [local, rest] = splitProps(props, ['class', 'withHandle', 'label'])\n const group = Resizable.useContext(rest.contextId)\n\n return (\n <Resizable.Handle\n aria-label={local.label ?? 'Resize panels'}\n // A separator's orientation is the line's own, which runs across the\n // group: a row of panels is divided by a vertical line, a column by a\n // horizontal one. corvu reports the group's orientation instead.\n aria-orientation={group.orientation() === 'horizontal' ? 'vertical' : 'horizontal'}\n class={cn(\n 'group/resize bg-border relative flex w-px shrink-0 items-center justify-center',\n /* Widen the hit target without moving the visual line: the divider is\n a hairline, but a hairline is far too small to grab. */\n 'after:absolute after:inset-y-0 after:-inset-x-1 after:w-3',\n 'transition-colors ease-out hover:bg-primary',\n 'focus-visible:bg-primary focus-visible:outline-none',\n 'data-[orientation=vertical]:h-px data-[orientation=vertical]:w-full',\n 'data-[orientation=vertical]:after:inset-x-0 data-[orientation=vertical]:after:-inset-y-1 data-[orientation=vertical]:after:h-3 data-[orientation=vertical]:after:w-full',\n local.class\n )}\n {...rest}\n >\n {local.withHandle ? (\n <div class=\"bg-border z-(--z-docked) flex h-4 w-2.5 items-center justify-center rounded-sm border border-border\">\n <GripVertical class=\"size-2.5 text-muted-foreground\" />\n </div>\n ) : null}\n </Resizable.Handle>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAuBA,IAAMO,oBAAoBJ,oBAAmC,KAAK;AAElE,SAAgBK,oBAAoBC,OAA8D;CAChG,MAAM,CAACE,OAAOC,QAAQR,WAAWK,OAAO,CAAC,OAAO,CAAC;CAEjD,OAAAI,gBACGN,kBAAkBO,UAAQ;EAACC,aAAaH,KAAKI,iBAAiBC,KAAAA;EAAS,IAAAC,WAAA;GAAA,OAAAL,gBACrEb,WAASmB,WAAA,EAAA,KAAA,WAAA;IAAA,OACDb,GAAG,uDAAuDK,MAAMD,KAAK;GAAC,EAAA,GACzEE,IAAI,CAAA;EAAA;CAAA,CAAA;AAIhB;;;;;;;;;;AAWA,SAASQ,cAAcC,OAAkC;CACvD,MAAMC,OAAO,IAAID,MAAME,QAAQC,OAAOC,SAASD,QAAQC,MAAM,CAAC;CAC9D,OAAOH,OAAO,OAAQA,OAAO,KAAKD,MAAMK,SAAS;AACnD;AAEA,SAAgBC,eAAelB,OAAoE;CACjG,MAAM,CAACE,OAAOC,QAAQR,WAAWK,OAAO,CAAC,SAAS,aAAa,CAAC;CAChE,MAAMoB,QAAQ7B,UAAUK,WAAWO,KAAKkB,SAAS;CACjD,MAAMC,gBAAgB1B,WAAWE,iBAAiB;CAElD,OAAAM,gBACGb,UAAU4B,OAAKT,WAAA;EAAA,IACda,cAAW;GAAA,OACTrB,MAAMqB,gBAAgBD,cAAc,IAAId,KAAAA,IAAYG,cAAcS,MAAMR,MAAM,CAAC;EAAE;EAAA,KAAA,WAAA;GAAA,OAE5Ef,GAAG,mCAAmCK,MAAMD,KAAK;EAAC;CAAA,GACrDE,IAAI,CAAA;AAGd;AAcA,SAAgByB,gBAAgB5B,OAA6B;CAC3D,MAAM,CAACE,OAAOC,QAAQR,WAAWK,OAAO;EAAC;EAAS;EAAc;CAAO,CAAC;CACxE,MAAMoB,QAAQ7B,UAAUK,WAAWO,KAAKkB,SAAS;CAEjD,OAAAjB,gBACGb,UAAUkC,QAAMf,WAAA;EAAA,KAAA,gBAAA;GAAA,OACHR,MAAMyB,SAAS;EAAe;EAAA,KAAA,sBAAA;GAAA,OAIxBP,MAAMW,YAAY,MAAM,eAAe,aAAa;EAAY;EAAA,KAAA,WAAA;GAAA,OAC3ElC,GACL,kFAGA,6DACA,+CACA,uDACA,uEACA,2KACAK,MAAMD,KACR;EAAC;CAAA,GACGE,MAAI,EAAA,IAAAM,WAAA;EAAA,OAEPuB,WAAA,CAAA,CAAA9B,MAAMwB,UAAU,CAAA,CAAA,WAAA;GAAA,IAAAO,OAAAC,OAAA;GAAAC,OAAAF,MAAA7B,gBAEZZ,cAAY,EAAA,SAAA,iCAAA,CAAA,CAAA;GAAA,OAAAyC;EAAA,EAAA,CAAA,IAEb;CAAI,EAAA,CAAA,CAAA;AAGd"}
@@ -20,7 +20,7 @@ var DZ = (s) => {
20
20
  }
21
21
  return out;
22
22
  };
23
- var GROUP_COUNT = 387;
23
+ var GROUP_COUNT = 384;
24
24
  var customValidatorNames = [];
25
25
  var edgeStart = PS(U("E0500002005282000000002000150000020021820000011200000003022202000300004200120000200420001200021200301200010400162000010000220021010:2192001200220012000220012000200200200400010200040000000000400200108200110100000022010313000162002000020020012020080213000228200000000082000000000120002000120020020040101020300130001001010"));
26
26
  var labelStart = PS(U(":11111111211111119311546544411119731869:671397415686432441111111111161114151214313433415:78311132233313187211117221449443411141111151152226611131111112212518142224214215421421542142424242516171151615616347111111111197911327451111111111111111111113134714133513411111311111111111111111111112444411111342312715245411117:3"));
@@ -60,18 +60,18 @@ var nodeVlist = (() => {
60
60
  for (let i = 0; i < A.length; i++) out[A[i]] = V[i];
61
61
  return out;
62
62
  })();
63
- var SETS = "container |break-after- all auto avoid avoid-page column left page right|break-before- all auto avoid avoid-page column left page right|break-inside-a uto void void-column void-page|box-decoration- clone slice|box- border content| contents flow-root hidden table table-caption table-cell table-column table-column-group table-footer-group table-header-group table-row table-row-group| not-sr-only sr-only|float- end left none right start|clear- both end left none right start|isolat e ion-auto|overflow- auto clip hidden scroll visible|overflow-x- auto clip hidden scroll visible|overflow-y- auto clip hidden scroll visible|overscroll- auto contain none|overscroll-x- auto contain none|overscroll-y- auto contain none| absolute fixed relative static sticky| collapse invisible visible|justify- around baseline between center center-safe end end-safe evenly normal start stretch|justify-items- center center-safe end end-safe normal start stretch|justify-self- auto center center-safe end end-safe start stretch|items- baseline baseline-last center center-safe end end-safe start stretch|self- auto baseline baseline-last center center-safe end end-safe start stretch|place-content- around baseline between center center-safe end end-safe evenly start stretch|place-items- baseline center center-safe end end-safe start stretch|place-self- auto center center-safe end end-safe start stretch| antialiased subpixel-antialiased| italic not-italic|normal-nums |ordinal |slashed-zero | lining-nums oldstyle-nums| proportional-nums tabular-nums| diagonal-fractions stacked-fractions| no-underline overline| capitalize lowercase normal-case uppercase|truncate |whitespace- break-spaces normal nowrap pre pre-line pre-wrap|break- all keep normal words|wrap- anywhere break-word normal|hyphens- auto manual none|mix-blend- color color-burn color-dodge darken difference exclusion hard-light hue lighten luminosity multiply normal overlay plus-darker plus-lighter saturation screen soft-light|table- auto fixed|caption- bottom top|backface- hidden visible|appearance- auto none|scheme- dark light light-dark normal only-dark only-light|field-sizing- content fixed|pointer-events- auto none|resize -none -x -y|snap- align-none center end start|snap- always normal|snap- both none x y|snap- mandatory proximity|touch- auto manipulation none|touch-pan- left right x|touch-pan- down up y|touch-pinch-zoom |select- all auto none text|forced-color-adjust- auto none| normal size| baseline bottom middle sub super text-bottom text-top top| bounce none ping pulse spin| auto square video| auto fr max min px|none | auto full px| fixed local scroll|clip- border content padding text|origin- border content padding| bottom bottom-left bottom-right center left left-bottom left-top right right-bottom right-top top top-left top-right| no-repeat repeat repeat-round repeat-space repeat-x repeat-y| auto contain cover| gradient-to-b gradient-to-bl gradient-to-br gradient-to-l gradient-to-r gradient-to-t gradient-to-tl gradient-to-tr none|blend- color color-burn color-dodge darken difference exclusion hard-light hue lighten luminosity multiply normal overlay saturation screen soft-light|to- b bl br l r t tl tr| auto dvh fit full lh lvh max min px screen svh| dashed dotted double hidden none solid| collapse separate|px |auto |full | content none strict| inline-size size|layout |paint |style | around baseline between center center-safe end end-safe evenly normal start stretch| alias all-scroll auto cell col-resize context-menu copy crosshair default e-resize ew-resize grab grabbing help move n-resize ne-resize nesw-resize no-drop none not-allowed ns-resize nw-resize nwse-resize pointer progress row-resize s-resize se-resize sw-resize text vertical-text w-resize wait zoom-in zoom-out| dashed dotted double solid wavy| auto from-font|reverse |initial | in in-out initial linear out| col col-reverse row row-reverse| nowrap wrap wrap-reverse| auto initial none| black bold extrabold extralight light medium normal semibold thin| condensed expanded extra-condensed extra-expanded normal semi-condensed semi-expanded ultra-condensed ultra-expanded|flow- col col-dense dense row row-dense| none subgrid| auto dvh dvw fit full lh lvh lvw max min px screen svh svw| control-2xl control-2xs control-lg control-md control-sm control-xl control-xs rail-item row-lg row-md row-sm statusbar topbar| block flex grid table| auto dvw fit full lvw max min px screen svw| loose none normal px relaxed snug tight|through |item | inside outside| decimal disc none| auto px| clip-border clip-content clip-fill clip-padding clip-stroke clip-view no-clip| add exclude intersect subtract| alpha luminance match|origin- border content fill padding stroke view|type- alpha luminance| circle ellipse| closest-corner closest-side farthest-corner farthest-side|at- bottom bottom-left bottom-right center left left-bottom left-top right right-bottom right-top top top-left top-right| dvh fit full lh lvh max min none px screen svh| auto dvh dvw fit full lh lvh lvw max min none px screen svh svw| dvw fit full lvw max min none px screen svw| auto dvh dvw fit full lvh lvw max min none prose px svh svw| auto dvh dvw fit full lvh lvw max min none px screen svh svw| contain cover fill none scale-down| first last none| distant dramatic midrange near none normal|inset | full none|3d | auto smooth|gutter- auto both stable| auto none thin| inner none| auto dvh dvw fit full lvh lvw max min px svh svw| control-2xl control-2xs control-lg control-md control-sm control-xl control-xs rail-item|base | center end justify left right start| clip ellipsis| balance nowrap pretty wrap| normal tight tighter wide wider widest| cpu gpu none| 3d flat| all colors none opacity shadow transform| discrete normal| full px| auto dvh dvw fit full lvh lvw max min px screen svh svw| rail rail-expanded sidebar sidebar-compact| auto contents scroll transform".split("|").map((s) => {
63
+ var SETS = "container |break-after- all auto avoid avoid-page column left page right|break-before- all auto avoid avoid-page column left page right|break-inside-a uto void void-column void-page|box-decoration- clone slice|box- border content| contents flow-root hidden table table-caption table-cell table-column table-column-group table-footer-group table-header-group table-row table-row-group| not-sr-only sr-only|float- end left none right start|clear- both end left none right start|isolat e ion-auto|overflow- auto clip hidden scroll visible|overflow-x- auto clip hidden scroll visible|overflow-y- auto clip hidden scroll visible|overscroll- auto contain none|overscroll-x- auto contain none|overscroll-y- auto contain none| absolute fixed relative static sticky| collapse invisible visible|justify- around baseline between center center-safe end end-safe evenly normal start stretch|justify-items- center center-safe end end-safe normal start stretch|justify-self- auto center center-safe end end-safe start stretch|items- baseline baseline-last center center-safe end end-safe start stretch|self- auto baseline baseline-last center center-safe end end-safe start stretch|place-content- around baseline between center center-safe end end-safe evenly start stretch|place-items- baseline center center-safe end end-safe start stretch|place-self- auto center center-safe end end-safe start stretch| antialiased subpixel-antialiased| italic not-italic|normal-nums |ordinal |slashed-zero | lining-nums oldstyle-nums| proportional-nums tabular-nums| diagonal-fractions stacked-fractions| no-underline overline| capitalize lowercase normal-case uppercase|truncate |whitespace- break-spaces normal nowrap pre pre-line pre-wrap|break- all keep normal words|wrap- anywhere break-word normal|hyphens- auto manual none|mix-blend- color color-burn color-dodge darken difference exclusion hard-light hue lighten luminosity multiply normal overlay plus-darker plus-lighter saturation screen soft-light|table- auto fixed|caption- bottom top|backface- hidden visible|appearance- auto none|scheme- dark light light-dark normal only-dark only-light|field-sizing- content fixed|pointer-events- auto none|resize -none -x -y|snap- align-none center end start|snap- always normal|snap- both none x y|snap- mandatory proximity|touch- auto manipulation none|touch-pan- left right x|touch-pan- down up y|touch-pinch-zoom |select- all auto none text|forced-color-adjust- auto none| normal size| baseline bottom middle sub super text-bottom text-top top| bounce none ping pulse spin| auto square video| auto control-2xl control-2xs control-lg control-md control-sm control-xl control-xs fr max min px|none | auto control-2xl control-2xs control-lg control-md control-sm control-xl control-xs full px| fixed local scroll|clip- border content padding text|origin- border content padding| bottom bottom-left bottom-right center left left-bottom left-top right right-bottom right-top top top-left top-right| no-repeat repeat repeat-round repeat-space repeat-x repeat-y| auto contain cover| gradient-to-b gradient-to-bl gradient-to-br gradient-to-l gradient-to-r gradient-to-t gradient-to-tl gradient-to-tr none|blend- color color-burn color-dodge darken difference exclusion hard-light hue lighten luminosity multiply normal overlay saturation screen soft-light|to- b bl br l r t tl tr| auto control-2xl control-2xs control-lg control-md control-sm control-xl control-xs dvh fit full lh lvh max min px screen svh| dashed dotted double hidden none solid| collapse separate| control-2xl control-2xs control-lg control-md control-sm control-xl control-xs px|auto |full | content none strict| inline-size size|layout |paint |style | around baseline between center center-safe end end-safe evenly normal start stretch| alias all-scroll auto cell col-resize context-menu copy crosshair default e-resize ew-resize grab grabbing help move n-resize ne-resize nesw-resize no-drop none not-allowed ns-resize nw-resize nwse-resize pointer progress row-resize s-resize se-resize sw-resize text vertical-text w-resize wait zoom-in zoom-out| dashed dotted double solid wavy| auto from-font|reverse |initial | in in-out initial linear out| col col-reverse row row-reverse| nowrap wrap wrap-reverse| auto initial none| black bold extrabold extralight light medium normal semibold thin| condensed expanded extra-condensed extra-expanded normal semi-condensed semi-expanded ultra-condensed ultra-expanded|flow- col col-dense dense row row-dense| none subgrid| auto control-2xl control-2xs control-lg control-md control-sm control-xl control-xs dvh dvw fit full lh lvh lvw max min px rail-item row-lg row-md row-sm screen statusbar svh svw topbar| block flex grid table| auto control-2xl control-2xs control-lg control-md control-sm control-xl control-xs dvw fit full lvw max min px screen svw| control-2xl control-2xs control-lg control-md control-sm control-xl control-xs loose none normal px relaxed snug tight|through |item | inside outside| decimal disc none| auto control-2xl control-2xs control-lg control-md control-sm control-xl control-xs px| clip-border clip-content clip-fill clip-padding clip-stroke clip-view no-clip| add exclude intersect subtract| alpha luminance match|origin- border content fill padding stroke view|type- alpha luminance| circle ellipse| closest-corner closest-side farthest-corner farthest-side|at- bottom bottom-left bottom-right center left left-bottom left-top right right-bottom right-top top top-left top-right| control-2xl control-2xs control-lg control-md control-sm control-xl control-xs dvh fit full lh lvh max min none px screen svh| auto control-2xl control-2xs control-lg control-md control-sm control-xl control-xs dvh dvw fit full lh lvh lvw max min none px rail-item row-lg row-md row-sm screen statusbar svh svw topbar| control-2xl control-2xs control-lg control-md control-sm control-xl control-xs dvw fit full lvw max min none px screen svw| auto control-2xl control-2xs control-lg control-md control-sm control-xl control-xs dvh dvw fit full lvh lvw max min none prose px rail rail-expanded sidebar sidebar-compact svh svw| auto control-2xl control-2xs control-lg control-md control-sm control-xl control-xs dvh dvw fit full lvh lvw max min none px rail rail-expanded screen sidebar sidebar-compact svh svw| contain cover fill none scale-down| first last none| distant dramatic midrange near none normal|inset | full none|3d | auto smooth|gutter- auto both stable| auto none thin| inner none| auto control-2xl control-2xs control-lg control-md control-sm control-xl control-xs dvh dvw fit full lvh lvw max min px rail-item svh svw|base | center end justify left right start| clip ellipsis| balance nowrap pretty wrap| normal tight tighter wide wider widest| cpu gpu none| 3d flat| all colors none opacity shadow transform| discrete normal| control-2xl control-2xs control-lg control-md control-sm control-xl control-xs full px| auto control-2xl control-2xs control-lg control-md control-sm control-xl control-xs dvh dvw fit full lvh lvw max min px rail rail-expanded screen sidebar sidebar-compact svh svw| auto contents scroll transform".split("|").map((s) => {
64
64
  const tails = s.split(" ");
65
65
  const prefix = tails.shift();
66
66
  for (let i = 0; i < tails.length; i++) tails[i] = prefix + tails[i];
67
67
  return tails;
68
68
  });
69
- var AA = DZ("0000000000000000000000000000000000000000000000000000000000000262242:6@200000006:240B428:44224000020460442224262200266426424062026224222824220022400000000\\00N222422242222222224062242222222422226264222422222222222222442804222422222222222222222222220<40<02042600024440202042244022");
70
- var AG = DZ("ɠ222222222222222222222222222222222222222222222222222222222222˕4222226>ʶ22ʷʺʷ2ʸʷ42ʴ2ʓ22>621422ɶ222ɹɼɷɺɷɺ22ɱ42222ɨ2ɧ26622ɘɓ24ɐɋƸƵ222]d24242ǖǓƚÆȭ2263ȪȧȪ2222222ǥ222222222222222222DŽƿ2ǀƷ2222222422222ƞƓ22222222222222222222144Ũť22Ťš222222222222222222222ĺ2ij6İħĪħĪɥŰ4Ĥ¯²ġ822ĘĕĘ2ė22226Čĉ2");
71
- var AS = DZ("02222222222222222222222222222222222222222222222222222222222222222202022222222222EH2200IL021042222Y\\222IL0cf2e10j2222U00X2022]`2{0000120~}€„22‡Š‰:22~22222222222G000sˆOVI00000œ2>40000ŽŸB00000Iª«000®00000000000000021M°¯00²•000000000000000000000˜2222ŸHGHa1¾222Ã2Ä2222ÍÐ000±´22·");
72
- var litAnchor = /* @__PURE__ */ new Int32Array(1020);
73
- var litGroup = /* @__PURE__ */ new Int32Array(1020);
74
- var litPool = /* @__PURE__ */ new Int32Array(1020);
69
+ var AA = DZ("0000000000000000000000000000000000000000000000000000000000000262242:6@200000006:240B428:4422400002046044222426220026642642462026224222824220022400000000\\00N222422242222222224062242222222422226264222422222222222222442804222422222222222222222222220<4<0204260002444020204224422");
70
+ var AG = DZ("ɠ222222222222222222222222222222222222222222222222222222222222˕4222226>ʶ22ʷʺʷ2ʸʷ42ʴ2ʓ22>621422ɶ222ɹɼɷɺɷɺ22ɱ42222ɨ2ɧ26622ɘɓ244ƸƵ222]d24242ǖǓƚÄȫ2263ȨȥȨ2222222ǣ222222222222222222ǂƽ2ƾƵ2222222422222ƜƑ22222222222222222222144Ŧţ22Ţş222222222222222222222ĸ2ı68ĦģĦɡŰ4Ġ«®ĝ822ĔđĔ2ē2222622");
71
+ var AS = DZ("02222222222222222222222222222222222222222222222222222222222222222202022222222222EH2200IL021042222Y\\222IL0cf2e10j2222U00X202[^2y0000120|{~‚22…ˆ‡:22|22222222222G000q†OVI00000}š2›>40000ŒB00000I¨©000¬00000000000000021M®­00°“000000000000000000000–222›HGHa1º222¿2À2222ÉÌ000­°2±");
72
+ var litAnchor = /* @__PURE__ */ new Int32Array(1635);
73
+ var litGroup = /* @__PURE__ */ new Int32Array(1635);
74
+ var litPool = /* @__PURE__ */ new Int32Array(1635);
75
75
  var poolText = "";
76
76
  var poolOffsets = /* @__PURE__ */ new Int32Array(1072);
77
77
  {
@@ -93,9 +93,9 @@ var poolOffsets = /* @__PURE__ */ new Int32Array(1072);
93
93
  e++;
94
94
  }
95
95
  }
96
- var adjGid = DZ("0b2N:222@R>F@286¦2@H2D266226FB22B2>BD\\6N22222Z222D222t");
96
+ var adjGid = DZ("0b2N:222@R>F@286¦2@H2D266226FB22B2>BD\\6N22222Z222D222p");
97
97
  var adjStart = PS(U("1::24444432:442:44:44>222222:44:4421322511111311111114"));
98
- var adjTgt = DZ("2Š4A;33N=C@H4A;33N=C@<27;83:;8393NQ:3NQʰ222ˉºŴŽ2R2=18cƴÅҜ=cĞÛC1ƈǝȈ:ħ25=11D3A@4=<1;1DEr25;11B3?<6;:371BCn9@7=<8192>2E121@9@EHE@9>2T25511<398454131<=V25511<398454131<=„ƧNž2Ĕé242L222290000f22500ɛ000ǘ222");
98
+ var adjTgt = DZ("2Š4A;33N=C@H4A;33N=C@<27;83:;8393NQ:3NQʰ222ˉºŴŽ2R2=18cƴÅҜ=cĞÛC1ƈǝȈ:ħ25=11D3A@4=<1;1DEr25;11B3?<6;:371BCn9@7=<8192>2E121@9@EHE@9>2T25511<398454131<=V25511<398454131<=„ƧNž2Đå242L222290000f22500ɛ000ǘ222");
99
99
  var patGid = U("ij");
100
100
  var patTgt = U("—");
101
101
  var postfixLookupGroups = U("1");
@@ -1 +1 @@
1
- {"version":3,"file":"cn-tables.generated.js","names":[],"sources":["../../src/lib/cn-tables.generated.ts"],"sourcesContent":["/*\n * Generated class-group tables from cn@0.4.0 by cn/build, using the complete\n * config and no source scanning. cn is Copyright (c) 2026 shadcn, MIT licensed.\n * This MIT notice is retained because the generated decoder is distributed in\n * this file and in the standalone registry payload.\n *\n * MIT License\n *\n * Copyright (c) 2026 shadcn\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\n// GENERATED by `cn build` — do not edit.\n// Pair with createCn from \"cn/engine\":\n// import tables from \"./cn-tables.generated.ts\"\n// import { createCn } from \"cn/engine\"\n// export const cn = createCn(tables)\nconst P = 48\nconst U = (s: string, o = 0): Int32Array => {\n const out = new Int32Array(s.length)\n for (let i = 0; i < s.length; i++) out[i] = s.charCodeAt(i) - P - o\n return out\n}\nconst PS = (counts: Int32Array): Int32Array => {\n const out = new Int32Array(counts.length + 1)\n for (let i = 0; i < counts.length; i++) out[i + 1] = out[i]! + counts[i]!\n return out\n}\n// zigzag-delta stream → running values\nconst DZ = (s: string): Int32Array => {\n const out = new Int32Array(s.length)\n let a = 0\n for (let i = 0; i < s.length; i++) {\n const z = s.charCodeAt(i) - P\n a += (z >>> 1) ^ -(z & 1)\n out[i] = a\n }\n return out\n}\nconst GROUP_COUNT = 387\nconst customValidatorNames: string[] = []\nconst edgeStart = PS(U(\"E0500002005282000000002000150000020021820000011200000003022202000300004200120000200420001200021200301200010400162000010000220021010:2192001200220012000220012000200200200400010200040000000000400200108200110100000022010313000162002000020020012020080213000228200000000082000000000120002000120020020040101020300130001001010\"))\nconst labelStart = PS(U(\":11111111211111119311546544411119731869:671397415686432441111111111161114151214313433415:78311132233313187211117221449443411141111151152226611131111112212518142224214215421421542142424242516171151615616347111111111197911327451111111111111111111113134714133513411111311111111111111111111112444411111342312715245411117:3\"))\nconst labelText = \"@containerabcdefghinlmoprstunderlineviawzccentlignnimatespectuto-colsrowsaglorightnessckdrop-sisbcontrastfiltergrayscalehue-rotateinvertopacityslurrightnessaturateepia-coniclinearpositionradialsizeockurrderttom-belrstxyespacing-xyaretoursorlnt-umnsendspantartainentrasteividerop-shadowurationcorationlay-xyasendillexontromlter-featuresstretchapr-xyayscaleidow-colsrowsue-rotatedentlinesetvert-beringsxyeshadoweiadingftnest-clamp-imageabein-lrstxyskx--b-coniclpositionrsizet-x-y-fromto-fromto-inearfromto-fromto-adialfromto-fromtofromtofromtofromtoblockhinlinew-screenesblockhinlinewbjectpacityrutlinederigin-offsetbelrstxyesrspective-originaceholderioghtng-offsettateundedw-xyz-belrstlreseslr-endspantartaturatecepiahizekewpace-taleroll-xyz-barmpbelrstxyesbelrstxyes-thumbrackadowrink-xyxyartrokeabextora-shadowpckingnsformitionlate-xyz-offsetill-changeoom\"\n// pre-order tree: targets derived from edge counts via subtree sizes\nconst edgeTarget = (() => {\n const N = edgeStart.length - 1\n const sizes = new Int32Array(N)\n for (let i = N - 1; i >= 0; i--) {\n let s = 1\n let c = i + 1\n for (let k = edgeStart[i]!; k < edgeStart[i + 1]!; k++) { s += sizes[c]!; c += sizes[c]! }\n sizes[i] = s\n }\n const out = new Int32Array(edgeStart[N]!)\n let e = 0\n for (let i = 0; i < N; i++) {\n let c = i + 1\n for (let k = edgeStart[i]!; k < edgeStart[i + 1]!; k++) { out[e++] = c; c += sizes[c]! }\n }\n return out\n})()\nconst nodeGroup = U(\"02000000000000900<=0?000B000F00F00ŏI0J0LNPRTVX0000]_a00000000000000000000000rst0000000zŏ00000000000…ŏ000ˆ0000ŏ0000000000—0000000000000000000000000000000000000000000000000000Ë000000000000000000000Þ000000000000000000ð0000000ø0ùúûüýþÿĀāĂ㥹Ć000000000000000000000000000000000000000000ħ0ĨĪ00000000000000000000ļĽ00000Ŭ000000\", 1)\n// vlists = op-pattern pool + per-list refs; the engine indexes these directly\nconst vlistPat = PS(U(\"123333359346463635126536711576\"))\nconst vlistOps = U(\"93203242332583253248325D>E?F@03263243255B:032523853:0325B:8GA032542H<C=12727B:0328432553;D>E?3257D>032585:0325B:;0328B:032\")\nconst vlistRef = U(\"012113445661666666789111:5;;;;;;;;444;;;:62999<1161=62>>?61:21@ABCD4446996:64E:::;:?::64:F114GHHIHHHHIHH1HH1HH1HHHHHH::EEJ4444::EE4444441691;644444114244444:;K6666555555555555555999666664444444444444444444444226?6:66644L9M?D:111::::6DE199\")\nconst vlistGroup = DZ(\"020200202020020020020020020020200200200200200200200002020202001003040106000200200200200200200200200200200200200200200200200200200200200200200200200200200200020020020020020020002020200202002002002002002002002002002020002002020020200220200200200200200200200200200200020020020000200020002000200200200020020020002000200200200020020202002020202000200200020022000200200020020002002000200220002002000200W0Z00020020002002020002002000200g0j0002002000200200020020002002000200200020020002000200002000002002002002002000200020000200002002002002002002002020020020200200200200200200200200202020020020020020020020020002002002020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020002002002002002002000200200200200200200200200200020202020002000200020002002002002000020200200\")\n// nodeVlist rebuilt sparse: (anchor deltas, vlist ids)\nconst nodeVlist = (() => {\n const out = new Int32Array(319).fill(-1)\n const A = DZ(\"02422242:222222242224222242442222222422222244442242226224222426222422442462222422622222222626222462242622422622422424242422222222422222222242422222222222222222622442224222222222222224424442262222222222222222222226224222424242422224422422422222\")\n const V = DZ(\"02222222222222222222202222222222222222222222221422222222222222222222222222222222222Y\\\\222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222221422222222222222222222222222222222222222Ŀł222222222222222222\")\n for (let i = 0; i < A.length; i++) out[A[i]!] = V[i]!\n return out\n})()\nconst SETS = \"container |break-after- all auto avoid avoid-page column left page right|break-before- all auto avoid avoid-page column left page right|break-inside-a uto void void-column void-page|box-decoration- clone slice|box- border content| contents flow-root hidden table table-caption table-cell table-column table-column-group table-footer-group table-header-group table-row table-row-group| not-sr-only sr-only|float- end left none right start|clear- both end left none right start|isolat e ion-auto|overflow- auto clip hidden scroll visible|overflow-x- auto clip hidden scroll visible|overflow-y- auto clip hidden scroll visible|overscroll- auto contain none|overscroll-x- auto contain none|overscroll-y- auto contain none| absolute fixed relative static sticky| collapse invisible visible|justify- around baseline between center center-safe end end-safe evenly normal start stretch|justify-items- center center-safe end end-safe normal start stretch|justify-self- auto center center-safe end end-safe start stretch|items- baseline baseline-last center center-safe end end-safe start stretch|self- auto baseline baseline-last center center-safe end end-safe start stretch|place-content- around baseline between center center-safe end end-safe evenly start stretch|place-items- baseline center center-safe end end-safe start stretch|place-self- auto center center-safe end end-safe start stretch| antialiased subpixel-antialiased| italic not-italic|normal-nums |ordinal |slashed-zero | lining-nums oldstyle-nums| proportional-nums tabular-nums| diagonal-fractions stacked-fractions| no-underline overline| capitalize lowercase normal-case uppercase|truncate |whitespace- break-spaces normal nowrap pre pre-line pre-wrap|break- all keep normal words|wrap- anywhere break-word normal|hyphens- auto manual none|mix-blend- color color-burn color-dodge darken difference exclusion hard-light hue lighten luminosity multiply normal overlay plus-darker plus-lighter saturation screen soft-light|table- auto fixed|caption- bottom top|backface- hidden visible|appearance- auto none|scheme- dark light light-dark normal only-dark only-light|field-sizing- content fixed|pointer-events- auto none|resize -none -x -y|snap- align-none center end start|snap- always normal|snap- both none x y|snap- mandatory proximity|touch- auto manipulation none|touch-pan- left right x|touch-pan- down up y|touch-pinch-zoom |select- all auto none text|forced-color-adjust- auto none| normal size| baseline bottom middle sub super text-bottom text-top top| bounce none ping pulse spin| auto square video| auto fr max min px|none | auto full px| fixed local scroll|clip- border content padding text|origin- border content padding| bottom bottom-left bottom-right center left left-bottom left-top right right-bottom right-top top top-left top-right| no-repeat repeat repeat-round repeat-space repeat-x repeat-y| auto contain cover| gradient-to-b gradient-to-bl gradient-to-br gradient-to-l gradient-to-r gradient-to-t gradient-to-tl gradient-to-tr none|blend- color color-burn color-dodge darken difference exclusion hard-light hue lighten luminosity multiply normal overlay saturation screen soft-light|to- b bl br l r t tl tr| auto dvh fit full lh lvh max min px screen svh| dashed dotted double hidden none solid| collapse separate|px |auto |full | content none strict| inline-size size|layout |paint |style | around baseline between center center-safe end end-safe evenly normal start stretch| alias all-scroll auto cell col-resize context-menu copy crosshair default e-resize ew-resize grab grabbing help move n-resize ne-resize nesw-resize no-drop none not-allowed ns-resize nw-resize nwse-resize pointer progress row-resize s-resize se-resize sw-resize text vertical-text w-resize wait zoom-in zoom-out| dashed dotted double solid wavy| auto from-font|reverse |initial | in in-out initial linear out| col col-reverse row row-reverse| nowrap wrap wrap-reverse| auto initial none| black bold extrabold extralight light medium normal semibold thin| condensed expanded extra-condensed extra-expanded normal semi-condensed semi-expanded ultra-condensed ultra-expanded|flow- col col-dense dense row row-dense| none subgrid| auto dvh dvw fit full lh lvh lvw max min px screen svh svw| control-2xl control-2xs control-lg control-md control-sm control-xl control-xs rail-item row-lg row-md row-sm statusbar topbar| block flex grid table| auto dvw fit full lvw max min px screen svw| loose none normal px relaxed snug tight|through |item | inside outside| decimal disc none| auto px| clip-border clip-content clip-fill clip-padding clip-stroke clip-view no-clip| add exclude intersect subtract| alpha luminance match|origin- border content fill padding stroke view|type- alpha luminance| circle ellipse| closest-corner closest-side farthest-corner farthest-side|at- bottom bottom-left bottom-right center left left-bottom left-top right right-bottom right-top top top-left top-right| dvh fit full lh lvh max min none px screen svh| auto dvh dvw fit full lh lvh lvw max min none px screen svh svw| dvw fit full lvw max min none px screen svw| auto dvh dvw fit full lvh lvw max min none prose px svh svw| auto dvh dvw fit full lvh lvw max min none px screen svh svw| contain cover fill none scale-down| first last none| distant dramatic midrange near none normal|inset | full none|3d | auto smooth|gutter- auto both stable| auto none thin| inner none| auto dvh dvw fit full lvh lvw max min px svh svw| control-2xl control-2xs control-lg control-md control-sm control-xl control-xs rail-item|base | center end justify left right start| clip ellipsis| balance nowrap pretty wrap| normal tight tighter wide wider widest| cpu gpu none| 3d flat| all colors none opacity shadow transform| discrete normal| full px| auto dvh dvw fit full lvh lvw max min px screen svh svw| rail rail-expanded sidebar sidebar-compact| auto contents scroll transform\".split('|').map((s) => {\n const tails = s.split(' ')\n const prefix = tails.shift()!\n for (let i = 0; i < tails.length; i++) {\n tails[i] = prefix + tails[i]\n }\n return tails\n})\nconst AA = DZ(\"0000000000000000000000000000000000000000000000000000000000000262242:6@200000006:240B428:44224000020460442224262200266426424062026224222824220022400000000\\\\00N222422242222222224062242222222422226264222422222222222222442804222422222222222222222222220<40<02042600024440202042244022\")\nconst AG = DZ(\"ɠ222222222222222222222222222222222222222222222222222222222222˕4222226>ʶ22ʷʺʷ2ʸʷ42ʴ2ʓ22>621422ɶ222ɹɼɷɺɷɺ22ɱ42222ɨ2ɧ26622ɘɓ24ɐɋƸƵ222]d24242ǖǓƚÆȭ2263ȪȧȪ2222222ǥ222222222222222222DŽƿ2ǀƷ2222222422222ƞƓ22222222222222222222144Ũť22Ťš222222222222222222222ĺ2ij6İħĪħĪɥŰ4Ĥ¯²ġ822ĘĕĘ2ė22226Čĉ2\")\nconst AS = DZ(\"02222222222222222222222222222222222222222222222222222222222222222202022222222222EH2200IL021042222Y\\\\222IL0cf2e10j2222U00X2022]`2{0000120~}€„22‡Š‰:22~22222222222G000sˆOVI00000œ2>40000ŽŸB00000Iª«000®00000000000000021M°¯00²•000000000000000000000˜2222ŸHGHa1¾222Ã2Ä2222ÍÐ000±´22·\")\nconst litAnchor = new Int32Array(1020)\nconst litGroup = new Int32Array(1020)\nconst litPool = new Int32Array(1020)\nlet poolText = ''\nconst poolOffsets = new Int32Array(1072)\n{\n const tailRef = new Map()\n let nextRef = 0\n let e = 0\n for (let i = 0; i < AA.length; i++) {\n for (const tail of SETS[AS[i]!]!) {\n let r = tailRef.get(tail)\n if (r === undefined) {\n r = nextRef++\n tailRef.set(tail, r)\n poolOffsets[r * 2] = poolText.length\n poolOffsets[r * 2 + 1] = tail.length\n poolText += tail\n }\n litAnchor[e] = AA[i]!\n litGroup[e] = AG[i]!\n litPool[e] = r\n e++\n }\n }\n}\n// conflict adjacency (engine builds claim bitmask CSR at init)\nconst adjGid = DZ(\"0b2N:222@R>F@286¦2@H2D266226FB22B2>BD\\\\6N22222Z222D222t\")\nconst adjStart = PS(U(\"1::24444432:442:44:44>222222:44:4421322511111311111114\"))\nconst adjTgt = DZ(\"2Š4A;33N=C@H4A;33N=C@<27;83:;8393NQ:3NQʰ222ˉºŴŽ2R2=18cƴÅҜ=cĞÛC1ƈǝȈ:ħ25=11D3A@4=<1;1DEr25;11B3?<6;:371BCn9@7=<8192>2E121@9@EHE@9>2T25511<398454131<=V25511<398454131<=„ƧNž2Ĕé242L222290000f22500ɛ000ǘ222\")\nconst patGid = U(\"ij\")\nconst patTgt = U(\"—\")\nconst postfixLookupGroups = U(\"1\")\nconst orderSensitiveModifiers = \"* ** after backdrop before details-content file first-letter first-line marker placeholder selection\"\nexport default {\n GROUP_COUNT, customValidatorNames, edgeStart, labelStart, labelText,\n edgeTarget, nodeGroup, nodeVlist, vlistPat, vlistOps, vlistRef, vlistGroup,\n litAnchor, litGroup, litPool, poolOffsets, poolText,\n adjGid, adjStart, adjTgt, patGid, patTgt, postfixLookupGroups,\n orderSensitiveModifiers,\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"cn-tables.generated.js","names":[],"sources":["../../src/lib/cn-tables.generated.ts"],"sourcesContent":["/*\n * Generated class-group tables from cn@0.4.0 by cn/build, using the complete\n * config and no source scanning. cn is Copyright (c) 2026 shadcn, MIT licensed.\n * This MIT notice is retained because the generated decoder is distributed in\n * this file and in the standalone registry payload.\n *\n * MIT License\n *\n * Copyright (c) 2026 shadcn\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\n// GENERATED by `cn build` — do not edit.\n// Pair with createCn from \"cn/engine\":\n// import tables from \"./cn-tables.generated.ts\"\n// import { createCn } from \"cn/engine\"\n// export const cn = createCn(tables)\nconst P = 48\nconst U = (s: string, o = 0): Int32Array => {\n const out = new Int32Array(s.length)\n for (let i = 0; i < s.length; i++) out[i] = s.charCodeAt(i) - P - o\n return out\n}\nconst PS = (counts: Int32Array): Int32Array => {\n const out = new Int32Array(counts.length + 1)\n for (let i = 0; i < counts.length; i++) out[i + 1] = out[i]! + counts[i]!\n return out\n}\n// zigzag-delta stream → running values\nconst DZ = (s: string): Int32Array => {\n const out = new Int32Array(s.length)\n let a = 0\n for (let i = 0; i < s.length; i++) {\n const z = s.charCodeAt(i) - P\n a += (z >>> 1) ^ -(z & 1)\n out[i] = a\n }\n return out\n}\nconst GROUP_COUNT = 384\nconst customValidatorNames: string[] = []\nconst edgeStart = PS(U(\"E0500002005282000000002000150000020021820000011200000003022202000300004200120000200420001200021200301200010400162000010000220021010:2192001200220012000220012000200200200400010200040000000000400200108200110100000022010313000162002000020020012020080213000228200000000082000000000120002000120020020040101020300130001001010\"))\nconst labelStart = PS(U(\":11111111211111119311546544411119731869:671397415686432441111111111161114151214313433415:78311132233313187211117221449443411141111151152226611131111112212518142224214215421421542142424242516171151615616347111111111197911327451111111111111111111113134714133513411111311111111111111111111112444411111342312715245411117:3\"))\nconst labelText = \"@containerabcdefghinlmoprstunderlineviawzccentlignnimatespectuto-colsrowsaglorightnessckdrop-sisbcontrastfiltergrayscalehue-rotateinvertopacityslurrightnessaturateepia-coniclinearpositionradialsizeockurrderttom-belrstxyespacing-xyaretoursorlnt-umnsendspantartainentrasteividerop-shadowurationcorationlay-xyasendillexontromlter-featuresstretchapr-xyayscaleidow-colsrowsue-rotatedentlinesetvert-beringsxyeshadoweiadingftnest-clamp-imageabein-lrstxyskx--b-coniclpositionrsizet-x-y-fromto-fromto-inearfromto-fromto-adialfromto-fromtofromtofromtofromtoblockhinlinew-screenesblockhinlinewbjectpacityrutlinederigin-offsetbelrstxyesrspective-originaceholderioghtng-offsettateundedw-xyz-belrstlreseslr-endspantartaturatecepiahizekewpace-taleroll-xyz-barmpbelrstxyesbelrstxyes-thumbrackadowrink-xyxyartrokeabextora-shadowpckingnsformitionlate-xyz-offsetill-changeoom\"\n// pre-order tree: targets derived from edge counts via subtree sizes\nconst edgeTarget = (() => {\n const N = edgeStart.length - 1\n const sizes = new Int32Array(N)\n for (let i = N - 1; i >= 0; i--) {\n let s = 1\n let c = i + 1\n for (let k = edgeStart[i]!; k < edgeStart[i + 1]!; k++) { s += sizes[c]!; c += sizes[c]! }\n sizes[i] = s\n }\n const out = new Int32Array(edgeStart[N]!)\n let e = 0\n for (let i = 0; i < N; i++) {\n let c = i + 1\n for (let k = edgeStart[i]!; k < edgeStart[i + 1]!; k++) { out[e++] = c; c += sizes[c]! }\n }\n return out\n})()\nconst nodeGroup = U(\"02000000000000900<=0?000B000F00F00ŏI0J0LNPRTVX0000]_a00000000000000000000000rst0000000zŏ00000000000…ŏ000ˆ0000ŏ0000000000—0000000000000000000000000000000000000000000000000000Ë000000000000000000000Þ000000000000000000ð0000000ø0ùúûüýþÿĀāĂ㥹Ć000000000000000000000000000000000000000000ħ0ĨĪ00000000000000000000ļĽ00000Ŭ000000\", 1)\n// vlists = op-pattern pool + per-list refs; the engine indexes these directly\nconst vlistPat = PS(U(\"123333359346463635126536711576\"))\nconst vlistOps = U(\"93203242332583253248325D>E?F@03263243255B:032523853:0325B:8GA032542H<C=12727B:0328432553;D>E?3257D>032585:0325B:;0328B:032\")\nconst vlistRef = U(\"012113445661666666789111:5;;;;;;;;444;;;:62999<1161=62>>?61:21@ABCD4446996:64E:::;:?::64:F114GHHIHHHHIHH1HH1HH1HHHHHH::EEJ4444::EE4444441691;644444114244444:;K6666555555555555555999666664444444444444444444444226?6:66644L9M?D:111::::6DE199\")\nconst vlistGroup = DZ(\"020200202020020020020020020020200200200200200200200002020202001003040106000200200200200200200200200200200200200200200200200200200200200200200200200200200200020020020020020020002020200202002002002002002002002002002020002002020020200220200200200200200200200200200200020020020000200020002000200200200020020020002000200200200020020202002020202000200200020022000200200020020002002000200220002002000200W0Z00020020002002020002002000200g0j0002002000200200020020002002000200200020020002000200002000002002002002002000200020000200002002002002002002002020020020200200200200200200200200202020020020020020020020020002002002020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020020002002002002002002000200200200200200200200200200020202020002000200020002002002002000020200200\")\n// nodeVlist rebuilt sparse: (anchor deltas, vlist ids)\nconst nodeVlist = (() => {\n const out = new Int32Array(319).fill(-1)\n const A = DZ(\"02422242:222222242224222242442222222422222244442242226224222426222422442462222422622222222626222462242622422622422424242422222222422222222242422222222222222222622442224222222222222224424442262222222222222222222226224222424242422224422422422222\")\n const V = DZ(\"02222222222222222222202222222222222222222222221422222222222222222222222222222222222Y\\\\222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222221422222222222222222222222222222222222222Ŀł222222222222222222\")\n for (let i = 0; i < A.length; i++) out[A[i]!] = V[i]!\n return out\n})()\nconst SETS = \"container |break-after- all auto avoid avoid-page column left page right|break-before- all auto avoid avoid-page column left page right|break-inside-a uto void void-column void-page|box-decoration- clone slice|box- border content| contents flow-root hidden table table-caption table-cell table-column table-column-group table-footer-group table-header-group table-row table-row-group| not-sr-only sr-only|float- end left none right start|clear- both end left none right start|isolat e ion-auto|overflow- auto clip hidden scroll visible|overflow-x- auto clip hidden scroll visible|overflow-y- auto clip hidden scroll visible|overscroll- auto contain none|overscroll-x- auto contain none|overscroll-y- auto contain none| absolute fixed relative static sticky| collapse invisible visible|justify- around baseline between center center-safe end end-safe evenly normal start stretch|justify-items- center center-safe end end-safe normal start stretch|justify-self- auto center center-safe end end-safe start stretch|items- baseline baseline-last center center-safe end end-safe start stretch|self- auto baseline baseline-last center center-safe end end-safe start stretch|place-content- around baseline between center center-safe end end-safe evenly start stretch|place-items- baseline center center-safe end end-safe start stretch|place-self- auto center center-safe end end-safe start stretch| antialiased subpixel-antialiased| italic not-italic|normal-nums |ordinal |slashed-zero | lining-nums oldstyle-nums| proportional-nums tabular-nums| diagonal-fractions stacked-fractions| no-underline overline| capitalize lowercase normal-case uppercase|truncate |whitespace- break-spaces normal nowrap pre pre-line pre-wrap|break- all keep normal words|wrap- anywhere break-word normal|hyphens- auto manual none|mix-blend- color color-burn color-dodge darken difference exclusion hard-light hue lighten luminosity multiply normal overlay plus-darker plus-lighter saturation screen soft-light|table- auto fixed|caption- bottom top|backface- hidden visible|appearance- auto none|scheme- dark light light-dark normal only-dark only-light|field-sizing- content fixed|pointer-events- auto none|resize -none -x -y|snap- align-none center end start|snap- always normal|snap- both none x y|snap- mandatory proximity|touch- auto manipulation none|touch-pan- left right x|touch-pan- down up y|touch-pinch-zoom |select- all auto none text|forced-color-adjust- auto none| normal size| baseline bottom middle sub super text-bottom text-top top| bounce none ping pulse spin| auto square video| auto control-2xl control-2xs control-lg control-md control-sm control-xl control-xs fr max min px|none | auto control-2xl control-2xs control-lg control-md control-sm control-xl control-xs full px| fixed local scroll|clip- border content padding text|origin- border content padding| bottom bottom-left bottom-right center left left-bottom left-top right right-bottom right-top top top-left top-right| no-repeat repeat repeat-round repeat-space repeat-x repeat-y| auto contain cover| gradient-to-b gradient-to-bl gradient-to-br gradient-to-l gradient-to-r gradient-to-t gradient-to-tl gradient-to-tr none|blend- color color-burn color-dodge darken difference exclusion hard-light hue lighten luminosity multiply normal overlay saturation screen soft-light|to- b bl br l r t tl tr| auto control-2xl control-2xs control-lg control-md control-sm control-xl control-xs dvh fit full lh lvh max min px screen svh| dashed dotted double hidden none solid| collapse separate| control-2xl control-2xs control-lg control-md control-sm control-xl control-xs px|auto |full | content none strict| inline-size size|layout |paint |style | around baseline between center center-safe end end-safe evenly normal start stretch| alias all-scroll auto cell col-resize context-menu copy crosshair default e-resize ew-resize grab grabbing help move n-resize ne-resize nesw-resize no-drop none not-allowed ns-resize nw-resize nwse-resize pointer progress row-resize s-resize se-resize sw-resize text vertical-text w-resize wait zoom-in zoom-out| dashed dotted double solid wavy| auto from-font|reverse |initial | in in-out initial linear out| col col-reverse row row-reverse| nowrap wrap wrap-reverse| auto initial none| black bold extrabold extralight light medium normal semibold thin| condensed expanded extra-condensed extra-expanded normal semi-condensed semi-expanded ultra-condensed ultra-expanded|flow- col col-dense dense row row-dense| none subgrid| auto control-2xl control-2xs control-lg control-md control-sm control-xl control-xs dvh dvw fit full lh lvh lvw max min px rail-item row-lg row-md row-sm screen statusbar svh svw topbar| block flex grid table| auto control-2xl control-2xs control-lg control-md control-sm control-xl control-xs dvw fit full lvw max min px screen svw| control-2xl control-2xs control-lg control-md control-sm control-xl control-xs loose none normal px relaxed snug tight|through |item | inside outside| decimal disc none| auto control-2xl control-2xs control-lg control-md control-sm control-xl control-xs px| clip-border clip-content clip-fill clip-padding clip-stroke clip-view no-clip| add exclude intersect subtract| alpha luminance match|origin- border content fill padding stroke view|type- alpha luminance| circle ellipse| closest-corner closest-side farthest-corner farthest-side|at- bottom bottom-left bottom-right center left left-bottom left-top right right-bottom right-top top top-left top-right| control-2xl control-2xs control-lg control-md control-sm control-xl control-xs dvh fit full lh lvh max min none px screen svh| auto control-2xl control-2xs control-lg control-md control-sm control-xl control-xs dvh dvw fit full lh lvh lvw max min none px rail-item row-lg row-md row-sm screen statusbar svh svw topbar| control-2xl control-2xs control-lg control-md control-sm control-xl control-xs dvw fit full lvw max min none px screen svw| auto control-2xl control-2xs control-lg control-md control-sm control-xl control-xs dvh dvw fit full lvh lvw max min none prose px rail rail-expanded sidebar sidebar-compact svh svw| auto control-2xl control-2xs control-lg control-md control-sm control-xl control-xs dvh dvw fit full lvh lvw max min none px rail rail-expanded screen sidebar sidebar-compact svh svw| contain cover fill none scale-down| first last none| distant dramatic midrange near none normal|inset | full none|3d | auto smooth|gutter- auto both stable| auto none thin| inner none| auto control-2xl control-2xs control-lg control-md control-sm control-xl control-xs dvh dvw fit full lvh lvw max min px rail-item svh svw|base | center end justify left right start| clip ellipsis| balance nowrap pretty wrap| normal tight tighter wide wider widest| cpu gpu none| 3d flat| all colors none opacity shadow transform| discrete normal| control-2xl control-2xs control-lg control-md control-sm control-xl control-xs full px| auto control-2xl control-2xs control-lg control-md control-sm control-xl control-xs dvh dvw fit full lvh lvw max min px rail rail-expanded screen sidebar sidebar-compact svh svw| auto contents scroll transform\".split('|').map((s) => {\n const tails = s.split(' ')\n const prefix = tails.shift()!\n for (let i = 0; i < tails.length; i++) {\n tails[i] = prefix + tails[i]\n }\n return tails\n})\nconst AA = DZ(\"0000000000000000000000000000000000000000000000000000000000000262242:6@200000006:240B428:4422400002046044222426220026642642462026224222824220022400000000\\\\00N222422242222222224062242222222422226264222422222222222222442804222422222222222222222222220<4<0204260002444020204224422\")\nconst AG = DZ(\"ɠ222222222222222222222222222222222222222222222222222222222222˕4222226>ʶ22ʷʺʷ2ʸʷ42ʴ2ʓ22>621422ɶ222ɹɼɷɺɷɺ22ɱ42222ɨ2ɧ26622ɘɓ244ƸƵ222]d24242ǖǓƚÄȫ2263ȨȥȨ2222222ǣ222222222222222222ǂƽ2ƾƵ2222222422222ƜƑ22222222222222222222144Ŧţ22Ţş222222222222222222222ĸ2ı68ĦģĦɡŰ4Ġ«®ĝ822ĔđĔ2ē2222622\")\nconst AS = DZ(\"02222222222222222222222222222222222222222222222222222222222222222202022222222222EH2200IL021042222Y\\\\222IL0cf2e10j2222U00X202[^2y0000120|{~‚22…ˆ‡:22|22222222222G000q†OVI00000}š2›>40000ŒB00000I¨©000¬00000000000000021M®­00°“000000000000000000000–222›HGHa1º222¿2À2222ÉÌ000­°2±\")\nconst litAnchor = new Int32Array(1635)\nconst litGroup = new Int32Array(1635)\nconst litPool = new Int32Array(1635)\nlet poolText = ''\nconst poolOffsets = new Int32Array(1072)\n{\n const tailRef = new Map()\n let nextRef = 0\n let e = 0\n for (let i = 0; i < AA.length; i++) {\n for (const tail of SETS[AS[i]!]!) {\n let r = tailRef.get(tail)\n if (r === undefined) {\n r = nextRef++\n tailRef.set(tail, r)\n poolOffsets[r * 2] = poolText.length\n poolOffsets[r * 2 + 1] = tail.length\n poolText += tail\n }\n litAnchor[e] = AA[i]!\n litGroup[e] = AG[i]!\n litPool[e] = r\n e++\n }\n }\n}\n// conflict adjacency (engine builds claim bitmask CSR at init)\nconst adjGid = DZ(\"0b2N:222@R>F@286¦2@H2D266226FB22B2>BD\\\\6N22222Z222D222p\")\nconst adjStart = PS(U(\"1::24444432:442:44:44>222222:44:4421322511111311111114\"))\nconst adjTgt = DZ(\"2Š4A;33N=C@H4A;33N=C@<27;83:;8393NQ:3NQʰ222ˉºŴŽ2R2=18cƴÅҜ=cĞÛC1ƈǝȈ:ħ25=11D3A@4=<1;1DEr25;11B3?<6;:371BCn9@7=<8192>2E121@9@EHE@9>2T25511<398454131<=V25511<398454131<=„ƧNž2Đå242L222290000f22500ɛ000ǘ222\")\nconst patGid = U(\"ij\")\nconst patTgt = U(\"—\")\nconst postfixLookupGroups = U(\"1\")\nconst orderSensitiveModifiers = \"* ** after backdrop before details-content file first-letter first-line marker placeholder selection\"\nexport default {\n GROUP_COUNT, customValidatorNames, edgeStart, labelStart, labelText,\n edgeTarget, nodeGroup, nodeVlist, vlistPat, vlistOps, vlistRef, vlistGroup,\n litAnchor, litGroup, litPool, poolOffsets, poolText,\n adjGid, adjStart, adjTgt, patGid, patTgt, postfixLookupGroups,\n orderSensitiveModifiers,\n}\n"],"mappings":"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"}
package/dist/r/chart.json CHANGED
@@ -11,6 +11,11 @@
11
11
  "lib"
12
12
  ],
13
13
  "files": [
14
+ {
15
+ "path": "src/components/ui/chart/chart-options.ts",
16
+ "type": "registry:ui",
17
+ "target": "components/ui/chart/chart-options.ts"
18
+ },
14
19
  {
15
20
  "path": "src/components/ui/chart/chart.tsx",
16
21
  "type": "registry:ui",
@@ -325,6 +325,11 @@
325
325
  "lib"
326
326
  ],
327
327
  "files": [
328
+ {
329
+ "path": "src/components/ui/chart/chart-options.ts",
330
+ "type": "registry:ui",
331
+ "target": "components/ui/chart/chart-options.ts"
332
+ },
328
333
  {
329
334
  "path": "src/components/ui/chart/chart.tsx",
330
335
  "type": "registry:ui",