@hina-ui/vue 1.7.1 → 1.7.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (127) hide show
  1. package/dist/index.js +1933 -510
  2. package/dist/index.js.map +1 -1
  3. package/dist/types/components/anchor/composables/useScrollSpy.d.ts.map +1 -1
  4. package/dist/types/components/data-table/DataTable.vue.d.ts.map +1 -1
  5. package/dist/types/components/data-table/column-sizing-styles.d.ts +4 -0
  6. package/dist/types/components/data-table/column-sizing-styles.d.ts.map +1 -0
  7. package/dist/types/components/data-table/composables/useTableColumns.d.ts +1 -0
  8. package/dist/types/components/data-table/composables/useTableColumns.d.ts.map +1 -1
  9. package/dist/types/components/navigation-menu/NavigationMenu.vue.d.ts +33 -0
  10. package/dist/types/components/navigation-menu/NavigationMenu.vue.d.ts.map +1 -0
  11. package/dist/types/components/navigation-menu/NavigationMenuContent.vue.d.ts +29 -0
  12. package/dist/types/components/navigation-menu/NavigationMenuContent.vue.d.ts.map +1 -0
  13. package/dist/types/components/navigation-menu/NavigationMenuItem.vue.d.ts +16 -0
  14. package/dist/types/components/navigation-menu/NavigationMenuItem.vue.d.ts.map +1 -0
  15. package/dist/types/components/navigation-menu/NavigationMenuLink.vue.d.ts +33 -0
  16. package/dist/types/components/navigation-menu/NavigationMenuLink.vue.d.ts.map +1 -0
  17. package/dist/types/components/navigation-menu/NavigationMenuTrigger.vue.d.ts +19 -0
  18. package/dist/types/components/navigation-menu/NavigationMenuTrigger.vue.d.ts.map +1 -0
  19. package/dist/types/components/navigation-menu/composables/useNavigationMenuKeyboard.d.ts +4 -0
  20. package/dist/types/components/navigation-menu/composables/useNavigationMenuKeyboard.d.ts.map +1 -0
  21. package/dist/types/components/navigation-menu/composables/useNavigationMenuLayout.d.ts +12 -0
  22. package/dist/types/components/navigation-menu/composables/useNavigationMenuLayout.d.ts.map +1 -0
  23. package/dist/types/components/navigation-menu/context.d.ts +10 -0
  24. package/dist/types/components/navigation-menu/context.d.ts.map +1 -0
  25. package/dist/types/components/navigation-menu/navigation-menu.variants.d.ts +112 -0
  26. package/dist/types/components/navigation-menu/navigation-menu.variants.d.ts.map +1 -0
  27. package/dist/types/components/navigation-menu/types.d.ts +17 -0
  28. package/dist/types/components/navigation-menu/types.d.ts.map +1 -0
  29. package/dist/types/components/rating/Rating.vue.d.ts +1 -0
  30. package/dist/types/components/rating/Rating.vue.d.ts.map +1 -1
  31. package/dist/types/components/rating/composables/useRatingScale.d.ts +8 -0
  32. package/dist/types/components/rating/composables/useRatingScale.d.ts.map +1 -0
  33. package/dist/types/components/stepper/Stepper.vue.d.ts +36 -0
  34. package/dist/types/components/stepper/Stepper.vue.d.ts.map +1 -0
  35. package/dist/types/components/stepper/StepperStep.vue.d.ts +33 -0
  36. package/dist/types/components/stepper/StepperStep.vue.d.ts.map +1 -0
  37. package/dist/types/components/stepper/composables/useStepper.d.ts +13 -0
  38. package/dist/types/components/stepper/composables/useStepper.d.ts.map +1 -0
  39. package/dist/types/components/stepper/stepper.variants.d.ts +58 -0
  40. package/dist/types/components/stepper/stepper.variants.d.ts.map +1 -0
  41. package/dist/types/components/stepper/types.d.ts +45 -0
  42. package/dist/types/components/stepper/types.d.ts.map +1 -0
  43. package/dist/types/components/table/table.variants.d.ts +1 -1
  44. package/dist/types/components/table/table.variants.d.ts.map +1 -1
  45. package/dist/types/components/timeline/Timeline.vue.d.ts +36 -0
  46. package/dist/types/components/timeline/Timeline.vue.d.ts.map +1 -0
  47. package/dist/types/components/timeline/timeline.variants.d.ts +51 -0
  48. package/dist/types/components/timeline/timeline.variants.d.ts.map +1 -0
  49. package/dist/types/components/timeline/types.d.ts +18 -0
  50. package/dist/types/components/timeline/types.d.ts.map +1 -0
  51. package/dist/types/components/toolbar/Toolbar.vue.d.ts +20 -0
  52. package/dist/types/components/toolbar/Toolbar.vue.d.ts.map +1 -0
  53. package/dist/types/components/toolbar/ToolbarButton.vue.d.ts +18 -0
  54. package/dist/types/components/toolbar/ToolbarButton.vue.d.ts.map +1 -0
  55. package/dist/types/components/toolbar/ToolbarControl.vue.d.ts +22 -0
  56. package/dist/types/components/toolbar/ToolbarControl.vue.d.ts.map +1 -0
  57. package/dist/types/components/toolbar/ToolbarLink.vue.d.ts +24 -0
  58. package/dist/types/components/toolbar/ToolbarLink.vue.d.ts.map +1 -0
  59. package/dist/types/components/toolbar/ToolbarSeparator.vue.d.ts +10 -0
  60. package/dist/types/components/toolbar/ToolbarSeparator.vue.d.ts.map +1 -0
  61. package/dist/types/components/toolbar/ToolbarToggleGroup.vue.d.ts +31 -0
  62. package/dist/types/components/toolbar/ToolbarToggleGroup.vue.d.ts.map +1 -0
  63. package/dist/types/components/toolbar/ToolbarToggleItem.vue.d.ts +21 -0
  64. package/dist/types/components/toolbar/ToolbarToggleItem.vue.d.ts.map +1 -0
  65. package/dist/types/components/toolbar/context.d.ts +13 -0
  66. package/dist/types/components/toolbar/context.d.ts.map +1 -0
  67. package/dist/types/components/toolbar/toolbar.variants.d.ts +64 -0
  68. package/dist/types/components/toolbar/toolbar.variants.d.ts.map +1 -0
  69. package/dist/types/components/toolbar/types.d.ts +28 -0
  70. package/dist/types/components/toolbar/types.d.ts.map +1 -0
  71. package/dist/types/index.d.ts +17 -0
  72. package/dist/types/index.d.ts.map +1 -1
  73. package/dist/types/locale/en-US.d.ts.map +1 -1
  74. package/dist/types/locale/index.d.ts.map +1 -1
  75. package/dist/types/locale/types.d.ts +7 -0
  76. package/dist/types/locale/types.d.ts.map +1 -1
  77. package/dist/types/locale/zh-CN.d.ts.map +1 -1
  78. package/package.json +1 -1
  79. package/src/components/anchor/composables/useScrollSpy.ts +8 -11
  80. package/src/components/data-table/DataTable.vue +1 -0
  81. package/src/components/data-table/DataTableHead.vue +1 -1
  82. package/src/components/data-table/column-sizing-styles.ts +40 -0
  83. package/src/components/data-table/composables/useTableColumns.ts +7 -9
  84. package/src/components/navigation-menu/NavigationMenu.vue +84 -0
  85. package/src/components/navigation-menu/NavigationMenuContent.vue +25 -0
  86. package/src/components/navigation-menu/NavigationMenuItem.vue +13 -0
  87. package/src/components/navigation-menu/NavigationMenuLink.vue +82 -0
  88. package/src/components/navigation-menu/NavigationMenuTrigger.vue +44 -0
  89. package/src/components/navigation-menu/composables/useNavigationMenuKeyboard.ts +33 -0
  90. package/src/components/navigation-menu/composables/useNavigationMenuLayout.ts +72 -0
  91. package/src/components/navigation-menu/context.ts +19 -0
  92. package/src/components/navigation-menu/navigation-menu.variants.ts +82 -0
  93. package/src/components/navigation-menu/types.ts +17 -0
  94. package/src/components/rating/Rating.vue +22 -8
  95. package/src/components/rating/composables/useRatingScale.ts +24 -0
  96. package/src/components/sidebar/Sidebar.vue +1 -1
  97. package/src/components/stepper/Stepper.vue +95 -0
  98. package/src/components/stepper/StepperStep.vue +102 -0
  99. package/src/components/stepper/composables/useStepper.ts +112 -0
  100. package/src/components/stepper/stepper.variants.ts +39 -0
  101. package/src/components/stepper/types.ts +51 -0
  102. package/src/components/table/table.variants.ts +1 -2
  103. package/src/components/timeline/Timeline.vue +109 -0
  104. package/src/components/timeline/timeline.variants.ts +31 -0
  105. package/src/components/timeline/types.ts +20 -0
  106. package/src/components/toolbar/Toolbar.vue +45 -0
  107. package/src/components/toolbar/ToolbarButton.vue +26 -0
  108. package/src/components/toolbar/ToolbarControl.vue +46 -0
  109. package/src/components/toolbar/ToolbarLink.vue +40 -0
  110. package/src/components/toolbar/ToolbarSeparator.vue +20 -0
  111. package/src/components/toolbar/ToolbarToggleGroup.vue +42 -0
  112. package/src/components/toolbar/ToolbarToggleItem.vue +34 -0
  113. package/src/components/toolbar/context.ts +29 -0
  114. package/src/components/toolbar/toolbar.variants.ts +37 -0
  115. package/src/components/toolbar/types.ts +30 -0
  116. package/src/index.ts +45 -0
  117. package/src/locale/en-US.ts +7 -0
  118. package/src/locale/index.ts +1 -0
  119. package/src/locale/types.ts +7 -0
  120. package/src/locale/zh-CN.ts +7 -0
  121. package/src/styles/data-table.css +0 -1
  122. package/src/styles/interaction.css +1 -0
  123. package/src/styles/motion.css +66 -0
  124. package/src/styles/stepper.css +41 -0
  125. package/src/styles/timeline.css +144 -0
  126. package/src/styles/tokens.css +2 -0
  127. package/src/styles/typography.css +1 -2
package/dist/index.js CHANGED
@@ -2,11 +2,11 @@ import { clsx } from "clsx";
2
2
  import { extendTailwindMerge } from "tailwind-merge";
3
3
  import { createTV } from "tailwind-variants";
4
4
  import { Fragment, Transition, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createSlots, createTextVNode, createVNode, defineComponent, getCurrentInstance, guardReactiveProps, h, inject, isRef, isVNode, markRaw, mergeModels, mergeProps, nextTick, normalizeClass, normalizeProps, normalizeStyle, onBeforeUnmount, onBeforeUpdate, onMounted, onScopeDispose, openBlock, provide, reactive, ref, render, renderList, renderSlot, resolveDynamicComponent, shallowRef, toDisplayString, toHandlers, toRaw, toRef, toValue, unref, useAttrs, useId, useModel, useSlots, useTemplateRef, vModelDynamic, vModelSelect, vModelText, watch, watchEffect, watchPostEffect, withCtx, withDirectives, withKeys, withModifiers } from "vue";
5
- import { AccordionContent, AccordionHeader, AccordionItem, AccordionRoot, AccordionTrigger, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogOverlay, AlertDialogPortal, AlertDialogRoot, AlertDialogTitle, AlertDialogTrigger, AspectRatio, CalendarCell, CalendarCellTrigger, CalendarGrid, CalendarGridBody, CalendarGridHead, CalendarGridRow, CalendarHeadCell, CalendarNext, CalendarPrev, CalendarRoot, CheckboxGroupRoot, CheckboxRoot, CollapsibleContent, CollapsibleRoot, CollapsibleTrigger, ComboboxAnchor, ComboboxContent, ComboboxEmpty, ComboboxGroup, ComboboxInput, ComboboxItem, ComboboxItemIndicator, ComboboxLabel, ComboboxPortal, ComboboxRoot, ComboboxTrigger, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuItemIndicator, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuRoot, ContextMenuSeparator, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, DateFieldInput, DateFieldRoot, DateRangeFieldInput, DateRangeFieldRoot, DialogClose, DialogContent, DialogDescription, DialogOverlay, DialogPortal, DialogRoot, DialogTitle, DialogTrigger, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuItemIndicator, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuRoot, DropdownMenuSeparator, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, HoverCardContent, HoverCardPortal, HoverCardRoot, HoverCardTrigger, ListboxContent, ListboxFilter, ListboxGroup, ListboxGroupLabel, ListboxItem, ListboxItemIndicator, ListboxRoot, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarItemIndicator, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarRoot, MenubarSeparator, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, MonthPickerCell, MonthPickerCellTrigger, MonthPickerGrid, MonthPickerGridBody, MonthPickerGridRow, MonthPickerNext, MonthPickerPrev, MonthPickerRoot, NumberFieldDecrement, NumberFieldIncrement, NumberFieldInput, NumberFieldRoot, PaginationFirst, PaginationLast, PaginationList, PaginationListItem, PaginationNext, PaginationPrev, PaginationRoot, PinInputInput, PinInputRoot, PopoverAnchor, PopoverContent, PopoverPortal, PopoverRoot, PopoverTrigger, Primitive, ProgressIndicator, ProgressRoot, RadioGroupItem, RadioGroupRoot, RangeCalendarCell, RangeCalendarCellTrigger, RangeCalendarGrid, RangeCalendarGridBody, RangeCalendarGridHead, RangeCalendarGridRow, RangeCalendarHeadCell, RangeCalendarNext, RangeCalendarPrev, RangeCalendarRoot, RatingItem, RatingItemIndicator, RatingRoot, SelectContent, SelectGroup, SelectItem, SelectItemIndicator, SelectItemText, SelectLabel, SelectPortal, SelectRoot, SelectTrigger, Separator, SliderRoot, SliderThumb, SliderTrack, SplitterGroup, SplitterPanel, SplitterResizeHandle, SwitchRoot, TabsContent, TabsList, TabsRoot, TabsTrigger, TagsInputInput, TagsInputItem, TagsInputItemText, TagsInputRoot, TimeFieldInput, TimeFieldRoot, ToastClose, ToastDescription, ToastPortal, ToastProvider, ToastRoot, ToastTitle, ToastViewport, Toggle, ToggleGroupItem, ToggleGroupRoot, TooltipArrow, TooltipContent, TooltipPortal, TooltipProvider, TooltipRoot, TooltipTrigger, TreeItem, TreeRoot, VisuallyHidden, YearPickerCell, YearPickerCellTrigger, YearPickerGrid, YearPickerGridBody, YearPickerGridRow, YearPickerNext, YearPickerPrev, YearPickerRoot, injectConfigProviderContext, injectDialogRootContext, injectHoverCardRootContext, injectListboxItemContext, injectPopoverRootContext, injectTabsRootContext, injectTooltipProviderContext, injectTooltipRootContext, useBodyScrollLock, useDirection, useFilter, useForwardExpose, useForwardPropsEmits } from "reka-ui";
5
+ import { AccordionContent, AccordionHeader, AccordionItem, AccordionRoot, AccordionTrigger, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogOverlay, AlertDialogPortal, AlertDialogRoot, AlertDialogTitle, AlertDialogTrigger, AspectRatio, CalendarCell, CalendarCellTrigger, CalendarGrid, CalendarGridBody, CalendarGridHead, CalendarGridRow, CalendarHeadCell, CalendarNext, CalendarPrev, CalendarRoot, CheckboxGroupRoot, CheckboxRoot, CollapsibleContent, CollapsibleRoot, CollapsibleTrigger, ComboboxAnchor, ComboboxContent, ComboboxEmpty, ComboboxGroup, ComboboxInput, ComboboxItem, ComboboxItemIndicator, ComboboxLabel, ComboboxPortal, ComboboxRoot, ComboboxTrigger, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuItemIndicator, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuRoot, ContextMenuSeparator, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, DateFieldInput, DateFieldRoot, DateRangeFieldInput, DateRangeFieldRoot, DialogClose, DialogContent, DialogDescription, DialogOverlay, DialogPortal, DialogRoot, DialogTitle, DialogTrigger, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuItemIndicator, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuRoot, DropdownMenuSeparator, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, HoverCardContent, HoverCardPortal, HoverCardRoot, HoverCardTrigger, ListboxContent, ListboxFilter, ListboxGroup, ListboxGroupLabel, ListboxItem, ListboxItemIndicator, ListboxRoot, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarItemIndicator, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarRoot, MenubarSeparator, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, MonthPickerCell, MonthPickerCellTrigger, MonthPickerGrid, MonthPickerGridBody, MonthPickerGridRow, MonthPickerNext, MonthPickerPrev, MonthPickerRoot, NavigationMenuContent, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuRoot, NavigationMenuTrigger, NavigationMenuViewport, NumberFieldDecrement, NumberFieldIncrement, NumberFieldInput, NumberFieldRoot, PaginationFirst, PaginationLast, PaginationList, PaginationListItem, PaginationNext, PaginationPrev, PaginationRoot, PinInputInput, PinInputRoot, PopoverAnchor, PopoverContent, PopoverPortal, PopoverRoot, PopoverTrigger, Primitive, ProgressIndicator, ProgressRoot, RadioGroupItem, RadioGroupRoot, RangeCalendarCell, RangeCalendarCellTrigger, RangeCalendarGrid, RangeCalendarGridBody, RangeCalendarGridHead, RangeCalendarGridRow, RangeCalendarHeadCell, RangeCalendarNext, RangeCalendarPrev, RangeCalendarRoot, RatingItem, RatingItemIndicator, RatingRoot, SelectContent, SelectGroup, SelectItem, SelectItemIndicator, SelectItemText, SelectLabel, SelectPortal, SelectRoot, SelectTrigger, Separator, SliderRoot, SliderThumb, SliderTrack, SplitterGroup, SplitterPanel, SplitterResizeHandle, StepperDescription, StepperIndicator, StepperItem, StepperRoot, StepperSeparator, StepperTitle, StepperTrigger, SwitchRoot, TabsContent, TabsList, TabsRoot, TabsTrigger, TagsInputInput, TagsInputItem, TagsInputItemText, TagsInputRoot, TimeFieldInput, TimeFieldRoot, ToastClose, ToastDescription, ToastPortal, ToastProvider, ToastRoot, ToastTitle, ToastViewport, Toggle, ToggleGroupItem, ToggleGroupRoot, ToolbarButton, ToolbarRoot, ToolbarToggleGroup, ToolbarToggleItem, TooltipArrow, TooltipContent, TooltipPortal, TooltipProvider, TooltipRoot, TooltipTrigger, TreeItem, TreeRoot, VisuallyHidden, YearPickerCell, YearPickerCellTrigger, YearPickerGrid, YearPickerGridBody, YearPickerGridRow, YearPickerNext, YearPickerPrev, YearPickerRoot, injectConfigProviderContext, injectDialogRootContext, injectHoverCardRootContext, injectListboxItemContext, injectPopoverRootContext, injectTabsRootContext, injectTooltipProviderContext, injectTooltipRootContext, useBodyScrollLock, useDirection, useFilter, useForwardExpose, useForwardPropsEmits } from "reka-ui";
6
6
  import { ArrowDown, ArrowLeft, ArrowRight, ArrowUp, CalendarClock, CalendarDays, CalendarRange, Check, ChevronDown, ChevronLeft, ChevronRight, ChevronUp, ChevronsLeft, ChevronsRight, ChevronsUpDown, CircleAlert, CircleCheck, CircleX, Copy, Download, Eye, EyeOff, File, GripVertical, Inbox, Info, Lightbulb, Megaphone, Minus, MoreHorizontal, PanelLeft, Pencil, RotateCw, Scan, Search, Shrink, Star, TrendingDown, TrendingUp, TriangleAlert, Upload, User, X, ZoomIn, ZoomOut } from "@lucide/vue";
7
7
  import { Motion, animate, useMotionValue, useTransform } from "motion-v";
8
8
  import { OverlayScrollbars } from "overlayscrollbars";
9
- import { createSharedComposable, defaultDocument, useDocumentVisibility, useEventListener, useIntersectionObserver, useIntervalFn, useMediaQuery, useMutationObserver, useRafFn, useResizeObserver } from "@vueuse/core";
9
+ import { createSharedComposable, defaultDocument, useDocumentVisibility, useElementBounding, useEventListener, useIntersectionObserver, useIntervalFn, useMediaQuery, useMutationObserver, useRafFn, useResizeObserver, useVModel, useWindowSize } from "@vueuse/core";
10
10
  import { CalendarDate, CalendarDateTime, Time, getLocalTimeZone, parseDate, parseDateTime, parseTime, today } from "@internationalized/date";
11
11
  import { columnFilteringFeature, columnGroupingFeature, columnVisibilityFeature, createExpandedRowModel, createFilteredRowModel, createGroupedRowModel, createPaginatedRowModel, createSortedRowModel, globalFilteringFeature, rowExpandingFeature, rowPaginationFeature, rowSelectionFeature, rowSortingFeature, tableFeatures, useTable } from "@tanstack/vue-table";
12
12
  import { useVirtualizer } from "@tanstack/vue-virtual";
@@ -130,6 +130,12 @@ function prefersReducedMotion() {
130
130
  //#region src/locale/zh-CN.ts
131
131
  var zhCN = {
132
132
  tag: "zh-CN",
133
+ stepper: {
134
+ label: "步骤",
135
+ progress: (step, total) => `第 ${step} 步,共 ${total} 步`,
136
+ completed: "已完成",
137
+ error: "该步骤存在错误"
138
+ },
133
139
  common: {
134
140
  close: "关闭",
135
141
  copy: "复制",
@@ -259,7 +265,8 @@ var zhCN = {
259
265
  dateTimePicker: { time: "时间" },
260
266
  rating: {
261
267
  star: (value) => `${value} 星`,
262
- label: (value, max) => `${value} 星,满分 ${max} 星`
268
+ label: (value, max) => `${value} 星,满分 ${max} 星`,
269
+ score: (value, max) => `${value} 分,满分 ${max} 分`
263
270
  },
264
271
  form: { required: "必填" },
265
272
  command: {
@@ -284,6 +291,12 @@ var zhCN = {
284
291
  //#region src/locale/en-US.ts
285
292
  var enUS = {
286
293
  tag: "en-US",
294
+ stepper: {
295
+ label: "Steps",
296
+ progress: (step, total) => `Step ${step} of ${total}`,
297
+ completed: "Completed",
298
+ error: "This step has an error"
299
+ },
287
300
  common: {
288
301
  close: "Close",
289
302
  copy: "Copy",
@@ -413,7 +426,8 @@ var enUS = {
413
426
  dateTimePicker: { time: "Time" },
414
427
  rating: {
415
428
  star: (value) => `${value} ${value === 1 ? "star" : "stars"}`,
416
- label: (value, max) => `${value} out of ${max} stars`
429
+ label: (value, max) => `${value} out of ${max} stars`,
430
+ score: (value, max) => `${value} out of ${max} points`
417
431
  },
418
432
  form: { required: "Required" },
419
433
  command: {
@@ -445,6 +459,10 @@ function merge(base, patch) {
445
459
  ...base.common,
446
460
  ...patch.common
447
461
  },
462
+ stepper: {
463
+ ...base.stepper,
464
+ ...patch.stepper
465
+ },
448
466
  banner: {
449
467
  ...base.banner,
450
468
  ...patch.banner
@@ -732,7 +750,7 @@ var spinner = tv({
732
750
  });
733
751
  //#endregion
734
752
  //#region src/components/spinner/Spinner.vue?vue&type=script&setup=true&lang.ts
735
- var _hoisted_1$108 = ["aria-label"];
753
+ var _hoisted_1$115 = ["aria-label"];
736
754
  //#endregion
737
755
  //#region src/components/spinner/Spinner.vue
738
756
  var Spinner_default = /* @__PURE__ */ defineComponent({
@@ -752,13 +770,13 @@ var Spinner_default = /* @__PURE__ */ defineComponent({
752
770
  "aria-label": props.label ?? unref(t).common.loading,
753
771
  class: unref(cn)(unref(spinner)({ size: props.size })),
754
772
  style: { animation: "hn-spin var(--hn-spin-duration) var(--hn-ease-linear) infinite" }
755
- }), null, 16, _hoisted_1$108);
773
+ }), null, 16, _hoisted_1$115);
756
774
  };
757
775
  }
758
776
  });
759
777
  //#endregion
760
778
  //#region src/components/button/IconSlot.vue?vue&type=script&setup=true&lang.ts
761
- var _hoisted_1$107 = {
779
+ var _hoisted_1$114 = {
762
780
  key: 0,
763
781
  "aria-hidden": "true",
764
782
  class: "absolute inset-0 inline-flex items-center justify-center"
@@ -782,7 +800,7 @@ var IconSlot_default$1 = /* @__PURE__ */ defineComponent({
782
800
  "leave-active-class": "hn-transition",
783
801
  "leave-to-class": "scale-90 opacity-0"
784
802
  }, {
785
- default: withCtx(() => [props.swapped ? (openBlock(), createElementBlock("span", _hoisted_1$107, [createVNode(Spinner_default, { size: props.spinnerSize }, null, 8, ["size"])])) : createCommentVNode("", true)]),
803
+ default: withCtx(() => [props.swapped ? (openBlock(), createElementBlock("span", _hoisted_1$114, [createVNode(Spinner_default, { size: props.spinnerSize }, null, 8, ["size"])])) : createCommentVNode("", true)]),
786
804
  _: 1
787
805
  })], 2);
788
806
  };
@@ -978,7 +996,7 @@ function useRipple(container, surface, isDisabled) {
978
996
  }
979
997
  //#endregion
980
998
  //#region src/components/ripple/Ripple.vue?vue&type=script&setup=true&lang.ts
981
- var _hoisted_1$106 = ["data-pressed"];
999
+ var _hoisted_1$113 = ["data-pressed"];
982
1000
  //#endregion
983
1001
  //#region src/components/ripple/Ripple.vue
984
1002
  var Ripple_default = /* @__PURE__ */ defineComponent({
@@ -1001,13 +1019,13 @@ var Ripple_default = /* @__PURE__ */ defineComponent({
1001
1019
  ref: surface,
1002
1020
  class: "hn-ripple-surface",
1003
1021
  "data-pressed": unref(pressed) ? "" : void 0
1004
- }, null, 8, _hoisted_1$106)], 512);
1022
+ }, null, 8, _hoisted_1$113)], 512);
1005
1023
  };
1006
1024
  }
1007
1025
  });
1008
1026
  //#endregion
1009
1027
  //#region src/components/button/Button.vue?vue&type=script&setup=true&lang.ts
1010
- var _hoisted_1$105 = {
1028
+ var _hoisted_1$112 = {
1011
1029
  key: 0,
1012
1030
  "aria-hidden": "true",
1013
1031
  class: "absolute inset-0 flex items-center justify-center"
@@ -1118,7 +1136,7 @@ var Button_default = /* @__PURE__ */ defineComponent({
1118
1136
  "leave-active-class": "hn-transition",
1119
1137
  "leave-to-class": "opacity-0"
1120
1138
  }, {
1121
- default: withCtx(() => [props.loading && spinnerAt.value === "center" ? (openBlock(), createElementBlock("span", _hoisted_1$105, [createVNode(Spinner_default, { size: spinnerSize.value }, null, 8, ["size"])])) : createCommentVNode("", true)]),
1139
+ default: withCtx(() => [props.loading && spinnerAt.value === "center" ? (openBlock(), createElementBlock("span", _hoisted_1$112, [createVNode(Spinner_default, { size: spinnerSize.value }, null, 8, ["size"])])) : createCommentVNode("", true)]),
1122
1140
  _: 1
1123
1141
  })
1124
1142
  ], 64))]),
@@ -1369,7 +1387,7 @@ function useCopy(text, onCopied, resetAfter = () => COPIED_RESET_MS) {
1369
1387
  }
1370
1388
  //#endregion
1371
1389
  //#region src/components/copy-button/CopyButton.vue?vue&type=script&setup=true&lang.ts
1372
- var _hoisted_1$104 = { class: "relative inline-flex size-[1em]" };
1390
+ var _hoisted_1$111 = { class: "relative inline-flex size-[1em]" };
1373
1391
  //#endregion
1374
1392
  //#region src/components/copy-button/CopyButton.vue
1375
1393
  var CopyButton_default = /* @__PURE__ */ defineComponent({
@@ -1401,7 +1419,7 @@ var CopyButton_default = /* @__PURE__ */ defineComponent({
1401
1419
  class: props.class,
1402
1420
  onClick: unref(copy)
1403
1421
  }), {
1404
- default: withCtx(() => [createElementVNode("span", _hoisted_1$104, [createVNode(Transition, {
1422
+ default: withCtx(() => [createElementVNode("span", _hoisted_1$111, [createVNode(Transition, {
1405
1423
  "enter-active-class": "hn-transition-base",
1406
1424
  "enter-from-class": "scale-90 opacity-0",
1407
1425
  "leave-active-class": "hn-transition",
@@ -1476,7 +1494,7 @@ var buttonGroup = tv({
1476
1494
  });
1477
1495
  //#endregion
1478
1496
  //#region src/components/button-group/ButtonGroup.vue?vue&type=script&setup=true&lang.ts
1479
- var _hoisted_1$103 = ["aria-label", "aria-orientation"];
1497
+ var _hoisted_1$110 = ["aria-label", "aria-orientation"];
1480
1498
  //#endregion
1481
1499
  //#region src/components/button-group/ButtonGroup.vue
1482
1500
  var ButtonGroup_default = /* @__PURE__ */ defineComponent({
@@ -1507,7 +1525,7 @@ var ButtonGroup_default = /* @__PURE__ */ defineComponent({
1507
1525
  block: props.block,
1508
1526
  divider: props.divider
1509
1527
  }), props.class))
1510
- }, [renderSlot(_ctx.$slots, "default")], 10, _hoisted_1$103);
1528
+ }, [renderSlot(_ctx.$slots, "default")], 10, _hoisted_1$110);
1511
1529
  };
1512
1530
  }
1513
1531
  });
@@ -1741,8 +1759,8 @@ var chipRemove = tv({
1741
1759
  });
1742
1760
  //#endregion
1743
1761
  //#region src/components/chip/IconSlot.vue?vue&type=script&setup=true&lang.ts
1744
- var _hoisted_1$102 = { class: "hn-collapse-body" };
1745
- var _hoisted_2$54 = {
1762
+ var _hoisted_1$109 = { class: "hn-collapse-body" };
1763
+ var _hoisted_2$59 = {
1746
1764
  key: 0,
1747
1765
  "aria-hidden": "true",
1748
1766
  class: "absolute inset-0 inline-flex items-center justify-center"
@@ -1763,7 +1781,7 @@ var IconSlot_default = /* @__PURE__ */ defineComponent({
1763
1781
  return openBlock(), createElementBlock("span", {
1764
1782
  "data-hn-icon": "",
1765
1783
  class: normalizeClass(["hn-collapse-x", props.icon || props.checked ? "hn-collapse-open" : "hn-collapse-closed"])
1766
- }, [createElementVNode("span", _hoisted_1$102, [createElementVNode("span", { class: normalizeClass(unref(chipIcon)({ size: props.size })) }, [props.icon ? (openBlock(), createElementBlock("span", {
1784
+ }, [createElementVNode("span", _hoisted_1$109, [createElementVNode("span", { class: normalizeClass(unref(chipIcon)({ size: props.size })) }, [props.icon ? (openBlock(), createElementBlock("span", {
1767
1785
  key: 0,
1768
1786
  class: normalizeClass(["hn-transition inline-flex items-center justify-center", props.checked ? "scale-90 opacity-0" : "scale-100 opacity-100"])
1769
1787
  }, [renderSlot(_ctx.$slots, "default")], 2)) : createCommentVNode("", true), createVNode(Transition, {
@@ -1772,7 +1790,7 @@ var IconSlot_default = /* @__PURE__ */ defineComponent({
1772
1790
  "leave-active-class": "hn-transition",
1773
1791
  "leave-to-class": "scale-90 opacity-0"
1774
1792
  }, {
1775
- default: withCtx(() => [props.checked ? (openBlock(), createElementBlock("span", _hoisted_2$54, [createVNode(unref(Check))])) : createCommentVNode("", true)]),
1793
+ default: withCtx(() => [props.checked ? (openBlock(), createElementBlock("span", _hoisted_2$59, [createVNode(unref(Check))])) : createCommentVNode("", true)]),
1776
1794
  _: 1
1777
1795
  })], 2)])], 2);
1778
1796
  };
@@ -1959,13 +1977,13 @@ var VisuallyHidden_default = /* @__PURE__ */ defineComponent({
1959
1977
  });
1960
1978
  //#endregion
1961
1979
  //#region src/components/lightbox/LightboxStrip.vue?vue&type=script&setup=true&lang.ts
1962
- var _hoisted_1$101 = [
1980
+ var _hoisted_1$108 = [
1963
1981
  "src",
1964
1982
  "alt",
1965
1983
  "onLoad"
1966
1984
  ];
1967
- var _hoisted_2$53 = ["src"];
1968
- var _hoisted_3$28 = [
1985
+ var _hoisted_2$58 = ["src"];
1986
+ var _hoisted_3$30 = [
1969
1987
  "src",
1970
1988
  "alt",
1971
1989
  "onLoad"
@@ -2026,7 +2044,7 @@ var LightboxStrip_default = /* @__PURE__ */ defineComponent({
2026
2044
  draggable: "false",
2027
2045
  class: "block size-full object-contain",
2028
2046
  onLoad: ($event) => emit("learn", slide.item.id, $event.target)
2029
- }, null, 40, _hoisted_1$101), createVNode(Transition, {
2047
+ }, null, 40, _hoisted_1$108), createVNode(Transition, {
2030
2048
  "enter-active-class": "hn-transition-base",
2031
2049
  "enter-from-class": "opacity-0",
2032
2050
  "leave-active-class": "hn-transition",
@@ -2039,7 +2057,7 @@ var LightboxStrip_default = /* @__PURE__ */ defineComponent({
2039
2057
  "aria-hidden": "true",
2040
2058
  draggable: "false",
2041
2059
  class: "absolute inset-0 size-full object-contain"
2042
- }, null, 8, _hoisted_2$53)) : createCommentVNode("", true)]),
2060
+ }, null, 8, _hoisted_2$58)) : createCommentVNode("", true)]),
2043
2061
  _: 1
2044
2062
  })]),
2045
2063
  _: 2
@@ -2061,7 +2079,7 @@ var LightboxStrip_default = /* @__PURE__ */ defineComponent({
2061
2079
  draggable: "false",
2062
2080
  class: "block size-full object-contain",
2063
2081
  onLoad: ($event) => emit("learn", slide.item.id, $event.target)
2064
- }, null, 40, _hoisted_3$28)]),
2082
+ }, null, 40, _hoisted_3$30)]),
2065
2083
  _: 2
2066
2084
  }, 1032, [
2067
2085
  "style",
@@ -2290,10 +2308,10 @@ function useScrollFocus(host, viewport, options) {
2290
2308
  }
2291
2309
  //#endregion
2292
2310
  //#region src/components/scroll-area/ScrollArea.vue?vue&type=script&setup=true&lang.ts
2293
- var _hoisted_1$100 = ["data-visible"];
2294
- var _hoisted_2$52 = ["data-visible"];
2295
- var _hoisted_3$27 = ["data-visible"];
2296
- var _hoisted_4$23 = ["data-visible"];
2311
+ var _hoisted_1$107 = ["data-visible"];
2312
+ var _hoisted_2$57 = ["data-visible"];
2313
+ var _hoisted_3$29 = ["data-visible"];
2314
+ var _hoisted_4$25 = ["data-visible"];
2297
2315
  //#endregion
2298
2316
  //#region src/components/scroll-area/ScrollArea.vue
2299
2317
  var ScrollArea_default = /* @__PURE__ */ defineComponent({
@@ -2396,28 +2414,28 @@ var ScrollArea_default = /* @__PURE__ */ defineComponent({
2396
2414
  "data-side": "x-start",
2397
2415
  "data-visible": unref(showXStart) ? "" : void 0,
2398
2416
  "aria-hidden": "true"
2399
- }, null, 8, _hoisted_1$100)) : createCommentVNode("", true),
2417
+ }, null, 8, _hoisted_1$107)) : createCommentVNode("", true),
2400
2418
  props.direction !== "vertical" ? (openBlock(), createElementBlock("div", {
2401
2419
  key: 1,
2402
2420
  class: "hn-scroll-shadow",
2403
2421
  "data-side": "x-end",
2404
2422
  "data-visible": unref(showXEnd) ? "" : void 0,
2405
2423
  "aria-hidden": "true"
2406
- }, null, 8, _hoisted_2$52)) : createCommentVNode("", true),
2424
+ }, null, 8, _hoisted_2$57)) : createCommentVNode("", true),
2407
2425
  props.direction !== "horizontal" ? (openBlock(), createElementBlock("div", {
2408
2426
  key: 2,
2409
2427
  class: "hn-scroll-shadow",
2410
2428
  "data-side": "y-start",
2411
2429
  "data-visible": unref(showYStart) ? "" : void 0,
2412
2430
  "aria-hidden": "true"
2413
- }, null, 8, _hoisted_3$27)) : createCommentVNode("", true),
2431
+ }, null, 8, _hoisted_3$29)) : createCommentVNode("", true),
2414
2432
  props.direction !== "horizontal" ? (openBlock(), createElementBlock("div", {
2415
2433
  key: 3,
2416
2434
  class: "hn-scroll-shadow",
2417
2435
  "data-side": "y-end",
2418
2436
  "data-visible": unref(showYEnd) ? "" : void 0,
2419
2437
  "aria-hidden": "true"
2420
- }, null, 8, _hoisted_4$23)) : createCommentVNode("", true)
2438
+ }, null, 8, _hoisted_4$25)) : createCommentVNode("", true)
2421
2439
  ], 64)) : createCommentVNode("", true)], 2);
2422
2440
  };
2423
2441
  }
@@ -2476,16 +2494,16 @@ var Highlight_default = /* @__PURE__ */ defineComponent({
2476
2494
  });
2477
2495
  //#endregion
2478
2496
  //#region src/components/lightbox/LightboxThumbs.vue?vue&type=script&setup=true&lang.ts
2479
- var _hoisted_1$99 = {
2497
+ var _hoisted_1$106 = {
2480
2498
  "data-hn-thumbs": "",
2481
2499
  class: "relative isolate flex w-max gap-2 px-4 py-3"
2482
2500
  };
2483
- var _hoisted_2$51 = [
2501
+ var _hoisted_2$56 = [
2484
2502
  "aria-label",
2485
2503
  "aria-current",
2486
2504
  "onClick"
2487
2505
  ];
2488
- var _hoisted_3$26 = ["src"];
2506
+ var _hoisted_3$28 = ["src"];
2489
2507
  //#endregion
2490
2508
  //#region src/components/lightbox/LightboxThumbs.vue
2491
2509
  var LightboxThumbs_default = /* @__PURE__ */ defineComponent({
@@ -2521,7 +2539,7 @@ var LightboxThumbs_default = /* @__PURE__ */ defineComponent({
2521
2539
  scrollbar: false,
2522
2540
  class: "max-w-full"
2523
2541
  }, {
2524
- default: withCtx(() => [createElementVNode("div", _hoisted_1$99, [(openBlock(true), createElementBlock(Fragment, null, renderList(props.items, (item, at) => {
2542
+ default: withCtx(() => [createElementVNode("div", _hoisted_1$106, [(openBlock(true), createElementBlock(Fragment, null, renderList(props.items, (item, at) => {
2525
2543
  return openBlock(), createElementBlock("button", {
2526
2544
  key: item.id,
2527
2545
  ref_for: true,
@@ -2538,14 +2556,14 @@ var LightboxThumbs_default = /* @__PURE__ */ defineComponent({
2538
2556
  alt: "",
2539
2557
  draggable: "false",
2540
2558
  class: "relative -z-10 size-full object-cover"
2541
- }, null, 8, _hoisted_3$26),
2559
+ }, null, 8, _hoisted_3$28),
2542
2560
  at === props.index ? (openBlock(), createBlock(Highlight_default, {
2543
2561
  key: 0,
2544
2562
  id: unref(highlightId),
2545
2563
  axis: "x",
2546
2564
  class: "ring-accent absolute inset-0 rounded-md ring-2 ring-inset"
2547
2565
  }, null, 8, ["id"])) : createCommentVNode("", true)
2548
- ], 10, _hoisted_2$51);
2566
+ ], 10, _hoisted_2$56);
2549
2567
  }), 128))])]),
2550
2568
  _: 1
2551
2569
  });
@@ -2554,8 +2572,8 @@ var LightboxThumbs_default = /* @__PURE__ */ defineComponent({
2554
2572
  });
2555
2573
  //#endregion
2556
2574
  //#region src/components/lightbox/LightboxToolbar.vue?vue&type=script&setup=true&lang.ts
2557
- var _hoisted_1$98 = { class: "flex flex-col items-center gap-1 pb-[max(--spacing(3),env(safe-area-inset-bottom))]" };
2558
- var _hoisted_2$50 = { class: "flex items-center gap-1" };
2575
+ var _hoisted_1$105 = { class: "flex flex-col items-center gap-1 pb-[max(--spacing(3),env(safe-area-inset-bottom))]" };
2576
+ var _hoisted_2$55 = { class: "flex items-center gap-1" };
2559
2577
  //#endregion
2560
2578
  //#region src/components/lightbox/LightboxToolbar.vue
2561
2579
  var LightboxToolbar_default = /* @__PURE__ */ defineComponent({
@@ -2582,12 +2600,12 @@ var LightboxToolbar_default = /* @__PURE__ */ defineComponent({
2582
2600
  const emit = __emit;
2583
2601
  const t = useUiLocale();
2584
2602
  return (_ctx, _cache) => {
2585
- return openBlock(), createElementBlock("div", _hoisted_1$98, [props.items.length > 1 ? (openBlock(), createBlock(LightboxThumbs_default, {
2603
+ return openBlock(), createElementBlock("div", _hoisted_1$105, [props.items.length > 1 ? (openBlock(), createBlock(LightboxThumbs_default, {
2586
2604
  key: 0,
2587
2605
  items: props.items,
2588
2606
  index: props.index,
2589
2607
  onSelect: _cache[0] || (_cache[0] = ($event) => emit("select", $event))
2590
- }, null, 8, ["items", "index"])) : createCommentVNode("", true), createElementVNode("div", _hoisted_2$50, [
2608
+ }, null, 8, ["items", "index"])) : createCommentVNode("", true), createElementVNode("div", _hoisted_2$55, [
2591
2609
  createVNode(IconButton_default, {
2592
2610
  label: unref(t).lightbox.zoomOut,
2593
2611
  disabled: !props.zoomed,
@@ -4192,8 +4210,8 @@ async function saveImage(url) {
4192
4210
  }
4193
4211
  //#endregion
4194
4212
  //#region src/components/lightbox/Lightbox.vue?vue&type=script&setup=true&lang.ts
4195
- var _hoisted_1$97 = ["data-hn-phase"];
4196
- var _hoisted_2$49 = {
4213
+ var _hoisted_1$104 = ["data-hn-phase"];
4214
+ var _hoisted_2$54 = {
4197
4215
  "aria-hidden": "true",
4198
4216
  class: "pointer-events-none absolute inset-0 isolate"
4199
4217
  };
@@ -4361,7 +4379,7 @@ var Lightbox_default = /* @__PURE__ */ defineComponent({
4361
4379
  onWheel: _cache[10] || (_cache[10] = (...args) => unref(gesture).onWheel && unref(gesture).onWheel(...args)),
4362
4380
  onKeydown
4363
4381
  }, [
4364
- createElementVNode("div", _hoisted_2$49, [createVNode(unref(Motion), {
4382
+ createElementVNode("div", _hoisted_2$54, [createVNode(unref(Motion), {
4365
4383
  class: "hn-scrim",
4366
4384
  style: normalizeStyle({ opacity: unref(motion).presence })
4367
4385
  }, null, 8, ["style"])]),
@@ -4431,7 +4449,7 @@ var Lightbox_default = /* @__PURE__ */ defineComponent({
4431
4449
  "hint",
4432
4450
  "presence"
4433
4451
  ])
4434
- ], 42, _hoisted_1$97)]),
4452
+ ], 42, _hoisted_1$104)]),
4435
4453
  _: 1
4436
4454
  })]),
4437
4455
  _: 1
@@ -4603,7 +4621,7 @@ function useImageGroup() {
4603
4621
  }
4604
4622
  //#endregion
4605
4623
  //#region src/components/image/Image.vue?vue&type=script&setup=true&lang.ts
4606
- var _hoisted_1$96 = [
4624
+ var _hoisted_1$103 = [
4607
4625
  "src",
4608
4626
  "alt",
4609
4627
  "decoding",
@@ -4713,7 +4731,7 @@ var Image_default = /* @__PURE__ */ defineComponent({
4713
4731
  fit: props.fit,
4714
4732
  lazy: props.lazy
4715
4733
  }), props.lazy && !unref(revealed) && "opacity-0", props.imageClass)
4716
- }), null, 16, _hoisted_1$96)) : unref(failed) ? renderSlot(_ctx.$slots, "error", {}, void 0, void 0, 1) : renderSlot(_ctx.$slots, "empty", {}, void 0, void 0, 2),
4734
+ }), null, 16, _hoisted_1$103)) : unref(failed) ? renderSlot(_ctx.$slots, "error", {}, void 0, void 0, 1) : renderSlot(_ctx.$slots, "empty", {}, void 0, void 0, 2),
4717
4735
  unref(showSkeleton) ? (openBlock(), createElementBlock("span", {
4718
4736
  key: 3,
4719
4737
  ref_key: "skeletonEl",
@@ -4994,7 +5012,7 @@ var indicator = tv({
4994
5012
  });
4995
5013
  //#endregion
4996
5014
  //#region src/components/indicator/Indicator.vue?vue&type=script&setup=true&lang.ts
4997
- var _hoisted_1$95 = {
5015
+ var _hoisted_1$102 = {
4998
5016
  key: 0,
4999
5017
  "aria-hidden": "true",
5000
5018
  class: "hn-ping absolute inset-0 rounded-full bg-inherit"
@@ -5025,7 +5043,7 @@ var Indicator_default = /* @__PURE__ */ defineComponent({
5025
5043
  size: props.size
5026
5044
  }), props.class))
5027
5045
  }, {
5028
- default: withCtx(() => [props.pulse ? (openBlock(), createElementBlock("span", _hoisted_1$95)) : createCommentVNode("", true), props.label ? (openBlock(), createBlock(VisuallyHidden_default, { key: 1 }, {
5046
+ default: withCtx(() => [props.pulse ? (openBlock(), createElementBlock("span", _hoisted_1$102)) : createCommentVNode("", true), props.label ? (openBlock(), createBlock(VisuallyHidden_default, { key: 1 }, {
5029
5047
  default: withCtx(() => [createTextVNode(toDisplayString(props.label), 1)]),
5030
5048
  _: 1
5031
5049
  })) : createCommentVNode("", true)]),
@@ -5077,8 +5095,8 @@ var calloutIcons = {
5077
5095
  };
5078
5096
  //#endregion
5079
5097
  //#region src/components/callout/Callout.vue?vue&type=script&setup=true&lang.ts
5080
- var _hoisted_1$94 = { class: "flex min-w-0 flex-1 flex-col gap-1" };
5081
- var _hoisted_2$48 = {
5098
+ var _hoisted_1$101 = { class: "flex min-w-0 flex-1 flex-col gap-1" };
5099
+ var _hoisted_2$53 = {
5082
5100
  key: 0,
5083
5101
  class: "text-fg font-medium"
5084
5102
  };
@@ -5106,7 +5124,7 @@ var Callout_default = /* @__PURE__ */ defineComponent({
5106
5124
  key: 0,
5107
5125
  class: normalizeClass(unref(calloutIcon)({ tone: props.tone })),
5108
5126
  "aria-hidden": "true"
5109
- }, null, 8, ["class"])) : createCommentVNode("", true)]), createElementVNode("div", _hoisted_1$94, [props.title ? (openBlock(), createElementBlock("p", _hoisted_2$48, toDisplayString(props.title), 1)) : createCommentVNode("", true), renderSlot(_ctx.$slots, "default")])], 2);
5127
+ }, null, 8, ["class"])) : createCommentVNode("", true)]), createElementVNode("div", _hoisted_1$101, [props.title ? (openBlock(), createElementBlock("p", _hoisted_2$53, toDisplayString(props.title), 1)) : createCommentVNode("", true), renderSlot(_ctx.$slots, "default")])], 2);
5110
5128
  };
5111
5129
  }
5112
5130
  });
@@ -5160,19 +5178,19 @@ function useCollapseGap() {
5160
5178
  }
5161
5179
  //#endregion
5162
5180
  //#region src/components/alert/Alert.vue?vue&type=script&setup=true&lang.ts
5163
- var _hoisted_1$93 = {
5181
+ var _hoisted_1$100 = {
5164
5182
  key: 0,
5165
5183
  "data-hn-alert": "",
5166
5184
  class: "hn-collapse"
5167
5185
  };
5168
- var _hoisted_2$47 = { class: "hn-collapse-body" };
5169
- var _hoisted_3$25 = ["role"];
5170
- var _hoisted_4$22 = { class: "flex min-w-0 flex-1 flex-col gap-1" };
5171
- var _hoisted_5$17 = {
5186
+ var _hoisted_2$52 = { class: "hn-collapse-body" };
5187
+ var _hoisted_3$27 = ["role"];
5188
+ var _hoisted_4$24 = { class: "flex min-w-0 flex-1 flex-col gap-1" };
5189
+ var _hoisted_5$18 = {
5172
5190
  key: 0,
5173
5191
  class: "text-fg font-medium"
5174
5192
  };
5175
- var _hoisted_6$11 = {
5193
+ var _hoisted_6$12 = {
5176
5194
  key: 0,
5177
5195
  class: "flex shrink-0 items-center gap-2 self-center"
5178
5196
  };
@@ -5216,7 +5234,7 @@ var Alert_default = /* @__PURE__ */ defineComponent({
5216
5234
  "leave-from-class": "hn-collapse-open",
5217
5235
  "leave-to-class": "hn-collapse-closed"
5218
5236
  }, toHandlers(unref(hooks))), {
5219
- default: withCtx(() => [open.value ? (openBlock(), createElementBlock("div", _hoisted_1$93, [createElementVNode("div", _hoisted_2$47, [createElementVNode("div", {
5237
+ default: withCtx(() => [open.value ? (openBlock(), createElementBlock("div", _hoisted_1$100, [createElementVNode("div", _hoisted_2$52, [createElementVNode("div", {
5220
5238
  role: role.value,
5221
5239
  class: normalizeClass(unref(cn)(unref(callout)({ tone: props.tone }), props.class))
5222
5240
  }, [
@@ -5225,15 +5243,15 @@ var Alert_default = /* @__PURE__ */ defineComponent({
5225
5243
  class: normalizeClass(unref(calloutIcon)({ tone: props.tone })),
5226
5244
  "aria-hidden": "true"
5227
5245
  }, null, 8, ["class"])) : createCommentVNode("", true)]),
5228
- createElementVNode("div", _hoisted_4$22, [props.title ? (openBlock(), createElementBlock("p", _hoisted_5$17, toDisplayString(props.title), 1)) : createCommentVNode("", true), renderSlot(_ctx.$slots, "default")]),
5229
- unref(slots).actions ? (openBlock(), createElementBlock("div", _hoisted_6$11, [renderSlot(_ctx.$slots, "actions")])) : createCommentVNode("", true),
5246
+ createElementVNode("div", _hoisted_4$24, [props.title ? (openBlock(), createElementBlock("p", _hoisted_5$18, toDisplayString(props.title), 1)) : createCommentVNode("", true), renderSlot(_ctx.$slots, "default")]),
5247
+ unref(slots).actions ? (openBlock(), createElementBlock("div", _hoisted_6$12, [renderSlot(_ctx.$slots, "actions")])) : createCommentVNode("", true),
5230
5248
  props.closable ? (openBlock(), createBlock(CloseButton_default, {
5231
5249
  key: 1,
5232
5250
  size: "sm",
5233
5251
  class: "-my-0.5 -me-1",
5234
5252
  onClick: close
5235
5253
  })) : createCommentVNode("", true)
5236
- ], 10, _hoisted_3$25)])])) : createCommentVNode("", true)]),
5254
+ ], 10, _hoisted_3$27)])])) : createCommentVNode("", true)]),
5237
5255
  _: 3
5238
5256
  }, 16);
5239
5257
  };
@@ -5457,10 +5475,10 @@ var LoadingOverlay_default = /* @__PURE__ */ defineComponent({
5457
5475
  });
5458
5476
  //#endregion
5459
5477
  //#region src/components/pagination/context.ts
5460
- var key = Symbol("HnPagination");
5461
- var providePagination = (context) => provide(key, context);
5478
+ var key$1 = Symbol("HnPagination");
5479
+ var providePagination = (context) => provide(key$1, context);
5462
5480
  function usePaginationContext() {
5463
- const context = inject(key);
5481
+ const context = inject(key$1);
5464
5482
  if (!context) throw new Error("Pagination parts require a Pagination parent");
5465
5483
  return context;
5466
5484
  }
@@ -5785,7 +5803,7 @@ var PaginationPage_default = /* @__PURE__ */ defineComponent({
5785
5803
  });
5786
5804
  //#endregion
5787
5805
  //#region src/components/pagination/PaginationEllipsis.vue?vue&type=script&setup=true&lang.ts
5788
- var _hoisted_1$92 = {
5806
+ var _hoisted_1$99 = {
5789
5807
  class: "grid",
5790
5808
  "aria-hidden": "true"
5791
5809
  };
@@ -5832,7 +5850,7 @@ var PaginationEllipsis_default = /* @__PURE__ */ defineComponent({
5832
5850
  default: withCtx(() => [renderSlot(_ctx.$slots, "default", {
5833
5851
  side: props.range.side,
5834
5852
  expanded: expanded.value
5835
- }, () => [createElementVNode("span", _hoisted_1$92, [createVNode(unref(MoreHorizontal), { class: normalizeClass(["hn-transition-base [grid-area:1/1]", expanded.value ? "scale-90 opacity-0" : "scale-100 opacity-100"]) }, null, 8, ["class"]), (openBlock(), createBlock(resolveDynamicComponent(props.range.side === "prev" ? unref(ChevronLeft) : unref(ChevronRight)), { class: normalizeClass([[unref(paginationArrow)({ dir: unref(direction) }), expanded.value ? "scale-100 opacity-100" : "scale-90 opacity-0"], "hn-transition-base [grid-area:1/1]"]) }, null, 8, ["class"]))])])]),
5853
+ }, () => [createElementVNode("span", _hoisted_1$99, [createVNode(unref(MoreHorizontal), { class: normalizeClass(["hn-transition-base [grid-area:1/1]", expanded.value ? "scale-90 opacity-0" : "scale-100 opacity-100"]) }, null, 8, ["class"]), (openBlock(), createBlock(resolveDynamicComponent(props.range.side === "prev" ? unref(ChevronLeft) : unref(ChevronRight)), { class: normalizeClass([[unref(paginationArrow)({ dir: unref(direction) }), expanded.value ? "scale-100 opacity-100" : "scale-90 opacity-0"], "hn-transition-base [grid-area:1/1]"]) }, null, 8, ["class"]))])])]),
5836
5854
  _: 3
5837
5855
  }, 8, [
5838
5856
  "size",
@@ -6425,8 +6443,8 @@ function usePaginationEllipsis(host, items) {
6425
6443
  }
6426
6444
  //#endregion
6427
6445
  //#region src/components/pagination/PaginationPages.vue?vue&type=script&setup=true&lang.ts
6428
- var _hoisted_1$91 = { key: 0 };
6429
- var _hoisted_2$46 = { key: 1 };
6446
+ var _hoisted_1$98 = { key: 0 };
6447
+ var _hoisted_2$51 = { key: 1 };
6430
6448
  //#endregion
6431
6449
  //#region src/components/pagination/PaginationPages.vue
6432
6450
  var PaginationPages_default = /* @__PURE__ */ defineComponent({
@@ -6442,7 +6460,7 @@ var PaginationPages_default = /* @__PURE__ */ defineComponent({
6442
6460
  const ellipsis = usePaginationEllipsis(toRef(props, "host"), () => props.items);
6443
6461
  return (_ctx, _cache) => {
6444
6462
  return openBlock(), createElementBlock(Fragment, null, [
6445
- unref(showFirstLast) ? (openBlock(), createElementBlock("li", _hoisted_1$91, [createVNode(PaginationControl_default, {
6463
+ unref(showFirstLast) ? (openBlock(), createElementBlock("li", _hoisted_1$98, [createVNode(PaginationControl_default, {
6446
6464
  action: "first",
6447
6465
  size: unref(size),
6448
6466
  dir: unref(direction)
@@ -6475,7 +6493,7 @@ var PaginationPages_default = /* @__PURE__ */ defineComponent({
6475
6493
  size: unref(size),
6476
6494
  dir: unref(direction)
6477
6495
  }, null, 8, ["size", "dir"])]),
6478
- unref(showFirstLast) ? (openBlock(), createElementBlock("li", _hoisted_2$46, [createVNode(PaginationControl_default, {
6496
+ unref(showFirstLast) ? (openBlock(), createElementBlock("li", _hoisted_2$51, [createVNode(PaginationControl_default, {
6479
6497
  action: "last",
6480
6498
  size: unref(size),
6481
6499
  dir: unref(direction)
@@ -6764,20 +6782,20 @@ function flattenOptions(items) {
6764
6782
  }
6765
6783
  //#endregion
6766
6784
  //#region src/components/select/SelectList.vue?vue&type=script&setup=true&lang.ts
6767
- var _hoisted_1$90 = { class: "min-w-0 flex-1" };
6768
- var _hoisted_2$45 = { class: "block truncate" };
6769
- var _hoisted_3$24 = {
6785
+ var _hoisted_1$97 = { class: "min-w-0 flex-1" };
6786
+ var _hoisted_2$50 = { class: "block truncate" };
6787
+ var _hoisted_3$26 = {
6770
6788
  key: 0,
6771
6789
  class: "text-muted block truncate text-xs"
6772
6790
  };
6773
- var _hoisted_4$21 = { class: "flex size-4 shrink-0 items-center justify-center" };
6774
- var _hoisted_5$16 = { class: "min-w-0 flex-1" };
6775
- var _hoisted_6$10 = { class: "block truncate" };
6776
- var _hoisted_7$7 = {
6791
+ var _hoisted_4$23 = { class: "flex size-4 shrink-0 items-center justify-center" };
6792
+ var _hoisted_5$17 = { class: "min-w-0 flex-1" };
6793
+ var _hoisted_6$11 = { class: "block truncate" };
6794
+ var _hoisted_7$8 = {
6777
6795
  key: 0,
6778
6796
  class: "text-muted block truncate text-xs"
6779
6797
  };
6780
- var _hoisted_8$4 = { class: "flex size-4 shrink-0 items-center justify-center" };
6798
+ var _hoisted_8$5 = { class: "flex size-4 shrink-0 items-center justify-center" };
6781
6799
  //#endregion
6782
6800
  //#region src/components/select/SelectList.vue
6783
6801
  var SelectList_default = /* @__PURE__ */ defineComponent({
@@ -6823,9 +6841,9 @@ var SelectList_default = /* @__PURE__ */ defineComponent({
6823
6841
  class: normalizeClass(unref(selectItem)())
6824
6842
  }, {
6825
6843
  default: withCtx(() => [createVNode(unref(SelectItemText), { "as-child": "" }, {
6826
- default: withCtx(() => [createElementVNode("span", _hoisted_1$90, [renderSlot(_ctx.$slots, "option", { option }, () => [createElementVNode("span", _hoisted_2$45, toDisplayString(option.label), 1), option.description ? (openBlock(), createElementBlock("span", _hoisted_3$24, toDisplayString(option.description), 1)) : createCommentVNode("", true)])])]),
6844
+ default: withCtx(() => [createElementVNode("span", _hoisted_1$97, [renderSlot(_ctx.$slots, "option", { option }, () => [createElementVNode("span", _hoisted_2$50, toDisplayString(option.label), 1), option.description ? (openBlock(), createElementBlock("span", _hoisted_3$26, toDisplayString(option.description), 1)) : createCommentVNode("", true)])])]),
6827
6845
  _: 2
6828
- }, 1024), createElementVNode("span", _hoisted_4$21, [createVNode(unref(SelectItemIndicator), null, {
6846
+ }, 1024), createElementVNode("span", _hoisted_4$23, [createVNode(unref(SelectItemIndicator), null, {
6829
6847
  default: withCtx(() => [createVNode(unref(Check))]),
6830
6848
  _: 1
6831
6849
  })])]),
@@ -6846,9 +6864,9 @@ var SelectList_default = /* @__PURE__ */ defineComponent({
6846
6864
  class: normalizeClass(unref(selectItem)())
6847
6865
  }, {
6848
6866
  default: withCtx(() => [createVNode(unref(SelectItemText), { "as-child": "" }, {
6849
- default: withCtx(() => [createElementVNode("span", _hoisted_5$16, [renderSlot(_ctx.$slots, "option", { option: item }, () => [createElementVNode("span", _hoisted_6$10, toDisplayString(item.label), 1), item.description ? (openBlock(), createElementBlock("span", _hoisted_7$7, toDisplayString(item.description), 1)) : createCommentVNode("", true)])])]),
6867
+ default: withCtx(() => [createElementVNode("span", _hoisted_5$17, [renderSlot(_ctx.$slots, "option", { option: item }, () => [createElementVNode("span", _hoisted_6$11, toDisplayString(item.label), 1), item.description ? (openBlock(), createElementBlock("span", _hoisted_7$8, toDisplayString(item.description), 1)) : createCommentVNode("", true)])])]),
6850
6868
  _: 2
6851
- }, 1024), createElementVNode("span", _hoisted_8$4, [createVNode(unref(SelectItemIndicator), null, {
6869
+ }, 1024), createElementVNode("span", _hoisted_8$5, [createVNode(unref(SelectItemIndicator), null, {
6852
6870
  default: withCtx(() => [createVNode(unref(Check))]),
6853
6871
  _: 1
6854
6872
  })])]),
@@ -6902,7 +6920,7 @@ function useClearTransition(visible) {
6902
6920
  }
6903
6921
  //#endregion
6904
6922
  //#region src/components/select/Select.vue?vue&type=script&setup=true&lang.ts
6905
- var _hoisted_1$89 = [
6923
+ var _hoisted_1$96 = [
6906
6924
  "dir",
6907
6925
  "data-invalid",
6908
6926
  "data-disabled"
@@ -7020,7 +7038,7 @@ var Select_default = /* @__PURE__ */ defineComponent({
7020
7038
  _: 1
7021
7039
  }, 8, ["label"])], 2)) : createCommentVNode("", true)]),
7022
7040
  _: 1
7023
- }, 16)], 10, _hoisted_1$89), createVNode(SelectList_default, {
7041
+ }, 16)], 10, _hoisted_1$96), createVNode(SelectList_default, {
7024
7042
  options: props.options,
7025
7043
  keyboard: keyboard.value
7026
7044
  }, {
@@ -7109,12 +7127,12 @@ function focusFieldFrom(root, target) {
7109
7127
  }
7110
7128
  //#endregion
7111
7129
  //#region src/components/input/InputBase.vue?vue&type=script&setup=true&lang.ts
7112
- var _hoisted_1$88 = [
7130
+ var _hoisted_1$95 = [
7113
7131
  "data-invalid",
7114
7132
  "data-disabled",
7115
7133
  "aria-busy"
7116
7134
  ];
7117
- var _hoisted_2$44 = [
7135
+ var _hoisted_2$49 = [
7118
7136
  "id",
7119
7137
  "disabled",
7120
7138
  "aria-invalid",
@@ -7201,7 +7219,7 @@ var InputBase_default = /* @__PURE__ */ defineComponent({
7201
7219
  leading: !!unref(slots).leading,
7202
7220
  trailing: clearing.value || trailingSpinner.value || !!unref(slots).trailing
7203
7221
  })
7204
- }), null, 16, _hoisted_2$44), [[vModelDynamic, model.value]]),
7222
+ }), null, 16, _hoisted_2$49), [[vModelDynamic, model.value]]),
7205
7223
  createVNode(Transition, {
7206
7224
  "enter-active-class": "hn-transition-base",
7207
7225
  "enter-from-class": "scale-90 opacity-0",
@@ -7237,7 +7255,7 @@ var InputBase_default = /* @__PURE__ */ defineComponent({
7237
7255
  key: 1,
7238
7256
  class: normalizeClass(unref(inputAdornment)())
7239
7257
  }, [renderSlot(_ctx.$slots, "trailing")], 2)) : createCommentVNode("", true)
7240
- ], 10, _hoisted_1$88);
7258
+ ], 10, _hoisted_1$95);
7241
7259
  };
7242
7260
  }
7243
7261
  });
@@ -7441,18 +7459,18 @@ function usePagination(props, model, sizeModel, change) {
7441
7459
  }
7442
7460
  //#endregion
7443
7461
  //#region src/components/pagination/Pagination.vue?vue&type=script&setup=true&lang.ts
7444
- var _hoisted_1$87 = ["dir", "aria-busy"];
7445
- var _hoisted_2$43 = {
7462
+ var _hoisted_1$94 = ["dir", "aria-busy"];
7463
+ var _hoisted_2$48 = {
7446
7464
  key: 0,
7447
7465
  class: "relative min-h-0 flex-auto"
7448
7466
  };
7449
- var _hoisted_3$23 = ["inert"];
7450
- var _hoisted_4$20 = [
7467
+ var _hoisted_3$25 = ["inert"];
7468
+ var _hoisted_4$22 = [
7451
7469
  "aria-label",
7452
7470
  "inert",
7453
7471
  "data-disabled"
7454
7472
  ];
7455
- var _hoisted_5$15 = {
7473
+ var _hoisted_5$16 = {
7456
7474
  key: 1,
7457
7475
  class: "flex max-w-full flex-wrap items-center gap-3"
7458
7476
  };
@@ -7520,7 +7538,7 @@ var Pagination_default = /* @__PURE__ */ defineComponent({
7520
7538
  dir: unref(rootDirection),
7521
7539
  "aria-busy": props.pending || void 0,
7522
7540
  class: unref(cn)("max-w-full", _ctx.$slots.list && "flex min-h-0 flex-col gap-3", props.class)
7523
- }), [_ctx.$slots.list ? (openBlock(), createElementBlock("div", _hoisted_2$43, [createElementVNode("div", { inert: props.pending || void 0 }, [renderSlot(_ctx.$slots, "list", normalizeProps(guardReactiveProps(unref(state))))], 8, _hoisted_3$23), createVNode(LoadingOverlay_default, { visible: props.pending }, null, 8, ["visible"])])) : createCommentVNode("", true), !props.hideSinglePage || unref(state).pageCount > 1 ? (openBlock(), createBlock(unref(PaginationRoot), {
7541
+ }), [_ctx.$slots.list ? (openBlock(), createElementBlock("div", _hoisted_2$48, [createElementVNode("div", { inert: props.pending || void 0 }, [renderSlot(_ctx.$slots, "list", normalizeProps(guardReactiveProps(unref(state))))], 8, _hoisted_3$25), createVNode(LoadingOverlay_default, { visible: props.pending }, null, 8, ["visible"])])) : createCommentVNode("", true), !props.hideSinglePage || unref(state).pageCount > 1 ? (openBlock(), createBlock(unref(PaginationRoot), {
7524
7542
  key: 1,
7525
7543
  page: unref(page),
7526
7544
  total: unref(total),
@@ -7547,8 +7565,8 @@ var Pagination_default = /* @__PURE__ */ defineComponent({
7547
7565
  fn: withCtx((slotProps) => [renderSlot(_ctx.$slots, "ellipsis", normalizeProps(guardReactiveProps(slotProps)))]),
7548
7566
  key: "1"
7549
7567
  } : void 0]), 1024),
7550
- props.pageSizeOptions?.length || props.showJump ? (openBlock(), createElementBlock("div", _hoisted_5$15, [props.pageSizeOptions?.length ? (openBlock(), createBlock(PaginationSize_default, { key: 0 })) : createCommentVNode("", true), props.showJump ? (openBlock(), createBlock(PaginationJump_default, { key: 1 })) : createCommentVNode("", true)])) : createCommentVNode("", true)
7551
- ])], 10, _hoisted_4$20)]),
7568
+ props.pageSizeOptions?.length || props.showJump ? (openBlock(), createElementBlock("div", _hoisted_5$16, [props.pageSizeOptions?.length ? (openBlock(), createBlock(PaginationSize_default, { key: 0 })) : createCommentVNode("", true), props.showJump ? (openBlock(), createBlock(PaginationJump_default, { key: 1 })) : createCommentVNode("", true)])) : createCommentVNode("", true)
7569
+ ])], 10, _hoisted_4$22)]),
7552
7570
  _: 3
7553
7571
  }, 8, [
7554
7572
  "page",
@@ -7558,13 +7576,13 @@ var Pagination_default = /* @__PURE__ */ defineComponent({
7558
7576
  "show-edges",
7559
7577
  "disabled",
7560
7578
  "onUpdate:page"
7561
- ])) : createCommentVNode("", true)], 16, _hoisted_1$87);
7579
+ ])) : createCommentVNode("", true)], 16, _hoisted_1$94);
7562
7580
  };
7563
7581
  }
7564
7582
  });
7565
7583
  //#endregion
7566
7584
  //#region src/components/prev-next/PrevNext.vue?vue&type=script&setup=true&lang.ts
7567
- var _hoisted_1$86 = ["aria-label"];
7585
+ var _hoisted_1$93 = ["aria-label"];
7568
7586
  //#endregion
7569
7587
  //#region src/components/prev-next/PrevNext.vue
7570
7588
  var PrevNext_default = /* @__PURE__ */ defineComponent({
@@ -7581,7 +7599,7 @@ var PrevNext_default = /* @__PURE__ */ defineComponent({
7581
7599
  return openBlock(), createElementBlock("nav", {
7582
7600
  "aria-label": props.label ?? unref(t).pagination.navLabel,
7583
7601
  class: normalizeClass(unref(cn)("grid gap-4 sm:grid-cols-2", props.class))
7584
- }, [renderSlot(_ctx.$slots, "default")], 10, _hoisted_1$86);
7602
+ }, [renderSlot(_ctx.$slots, "default")], 10, _hoisted_1$93);
7585
7603
  };
7586
7604
  }
7587
7605
  });
@@ -7605,7 +7623,7 @@ var prevNextEyebrow = tv({
7605
7623
  });
7606
7624
  //#endregion
7607
7625
  //#region src/components/prev-next/PrevNextLink.vue?vue&type=script&setup=true&lang.ts
7608
- var _hoisted_1$85 = { class: "text-fg font-medium" };
7626
+ var _hoisted_1$92 = { class: "text-fg font-medium" };
7609
7627
  //#endregion
7610
7628
  //#region src/components/prev-next/PrevNextLink.vue
7611
7629
  var PrevNextLink_default = /* @__PURE__ */ defineComponent({
@@ -7641,7 +7659,7 @@ var PrevNextLink_default = /* @__PURE__ */ defineComponent({
7641
7659
  class: "size-4",
7642
7660
  "aria-hidden": "true"
7643
7661
  })), createTextVNode(" " + toDisplayString(props.label ?? (props.direction === "prev" ? unref(t).pagination.prev : unref(t).pagination.next)), 1)], 2),
7644
- createElementVNode("span", _hoisted_1$85, [renderSlot(_ctx.$slots, "default")])
7662
+ createElementVNode("span", _hoisted_1$92, [renderSlot(_ctx.$slots, "default")])
7645
7663
  ]),
7646
7664
  _: 3
7647
7665
  }, 16, [
@@ -7660,7 +7678,6 @@ var tableWrapper = tv({
7660
7678
  base: [
7661
7679
  "max-w-full rounded-lg",
7662
7680
  "[&_th]:h-(--hn-row-h) [&_td]:h-(--hn-row-h)",
7663
- "[&_th]:py-0 [&_td]:py-0",
7664
7681
  "[&_caption>span]:sticky [&_caption>span]:start-[0.75em] [&_caption>span]:inline-block",
7665
7682
  "[&_tbody_tr:last-child_td]:border-b-0"
7666
7683
  ],
@@ -7685,7 +7702,7 @@ var tableWrapper = tv({
7685
7702
  }
7686
7703
  });
7687
7704
  var tableCell = tv({
7688
- base: "",
7705
+ base: "py-0",
7689
7706
  variants: {
7690
7707
  align: {
7691
7708
  start: "",
@@ -7718,8 +7735,8 @@ var tableCell = tv({
7718
7735
  });
7719
7736
  //#endregion
7720
7737
  //#region src/components/table/Table.vue?vue&type=script&setup=true&lang.ts
7721
- var _hoisted_1$84 = { class: "hn-table" };
7722
- var _hoisted_2$42 = { key: 0 };
7738
+ var _hoisted_1$91 = { class: "hn-table" };
7739
+ var _hoisted_2$47 = { key: 0 };
7723
7740
  //#endregion
7724
7741
  //#region src/components/table/Table.vue
7725
7742
  var Table_default = /* @__PURE__ */ defineComponent({
@@ -7749,7 +7766,7 @@ var Table_default = /* @__PURE__ */ defineComponent({
7749
7766
  stickyHeader: props.stickyHeader
7750
7767
  }), props.class))
7751
7768
  }, {
7752
- default: withCtx(() => [createElementVNode("table", _hoisted_1$84, [props.caption ? (openBlock(), createElementBlock("caption", _hoisted_2$42, [createElementVNode("span", null, toDisplayString(props.caption), 1)])) : createCommentVNode("", true), renderSlot(_ctx.$slots, "default")])]),
7769
+ default: withCtx(() => [createElementVNode("table", _hoisted_1$91, [props.caption ? (openBlock(), createElementBlock("caption", _hoisted_2$47, [createElementVNode("span", null, toDisplayString(props.caption), 1)])) : createCommentVNode("", true), renderSlot(_ctx.$slots, "default")])]),
7753
7770
  _: 3
7754
7771
  }, 8, ["direction", "class"]);
7755
7772
  };
@@ -7796,7 +7813,7 @@ var TableRow_default = /* @__PURE__ */ defineComponent({
7796
7813
  });
7797
7814
  //#endregion
7798
7815
  //#region src/components/table/TableHead.vue?vue&type=script&setup=true&lang.ts
7799
- var _hoisted_1$83 = ["scope"];
7816
+ var _hoisted_1$90 = ["scope"];
7800
7817
  //#endregion
7801
7818
  //#region src/components/table/TableHead.vue
7802
7819
  var TableHead_default = /* @__PURE__ */ defineComponent({
@@ -7821,7 +7838,7 @@ var TableHead_default = /* @__PURE__ */ defineComponent({
7821
7838
  sticky: props.sticky,
7822
7839
  head: true
7823
7840
  }), props.class))
7824
- }, [renderSlot(_ctx.$slots, "default")], 10, _hoisted_1$83);
7841
+ }, [renderSlot(_ctx.$slots, "default")], 10, _hoisted_1$90);
7825
7842
  };
7826
7843
  }
7827
7844
  });
@@ -8311,8 +8328,8 @@ var textareaField = tv({ base: [
8311
8328
  ] });
8312
8329
  //#endregion
8313
8330
  //#region src/components/textarea/Textarea.vue?vue&type=script&setup=true&lang.ts
8314
- var _hoisted_1$82 = ["data-invalid", "data-disabled"];
8315
- var _hoisted_2$41 = [
8331
+ var _hoisted_1$89 = ["data-invalid", "data-disabled"];
8332
+ var _hoisted_2$46 = [
8316
8333
  "id",
8317
8334
  "rows",
8318
8335
  "disabled",
@@ -8381,9 +8398,9 @@ var Textarea_default = /* @__PURE__ */ defineComponent({
8381
8398
  "aria-describedby": unref(describedBy),
8382
8399
  class: unref(textareaField)(),
8383
8400
  onInput: _cache[1] || (_cache[1] = (...args) => unref(fit) && unref(fit)(...args))
8384
- }), null, 16, _hoisted_2$41), [[vModelText, model.value]])]),
8401
+ }), null, 16, _hoisted_2$46), [[vModelText, model.value]])]),
8385
8402
  _: 1
8386
- }, 512)], 14, _hoisted_1$82);
8403
+ }, 512)], 14, _hoisted_1$89);
8387
8404
  };
8388
8405
  }
8389
8406
  });
@@ -8517,7 +8534,7 @@ var NumberInput_default = /* @__PURE__ */ defineComponent({
8517
8534
  });
8518
8535
  //#endregion
8519
8536
  //#region src/components/password-input/PasswordInput.vue?vue&type=script&setup=true&lang.ts
8520
- var _hoisted_1$81 = { class: "relative inline-flex" };
8537
+ var _hoisted_1$88 = { class: "relative inline-flex" };
8521
8538
  //#endregion
8522
8539
  //#region src/components/password-input/PasswordInput.vue
8523
8540
  var PasswordInput_default = /* @__PURE__ */ defineComponent({
@@ -8561,7 +8578,7 @@ var PasswordInput_default = /* @__PURE__ */ defineComponent({
8561
8578
  disabled: props.disabled,
8562
8579
  onClick: _cache[0] || (_cache[0] = ($event) => visible.value = !visible.value)
8563
8580
  }, {
8564
- default: withCtx(() => [createElementVNode("span", _hoisted_1$81, [createVNode(Transition, {
8581
+ default: withCtx(() => [createElementVNode("span", _hoisted_1$88, [createVNode(Transition, {
8565
8582
  "enter-active-class": "hn-transition-base",
8566
8583
  "enter-from-class": "scale-90 opacity-0",
8567
8584
  "leave-active-class": "hn-transition absolute",
@@ -8656,7 +8673,7 @@ var inputGroup = tv({
8656
8673
  var inputGroupAddon = tv({ base: "text-muted flex shrink-0 items-center gap-2 px-[var(--hn-input-px)] whitespace-nowrap [&>svg]:size-[var(--hn-input-icon)]" });
8657
8674
  //#endregion
8658
8675
  //#region src/components/input-group/InputGroup.vue?vue&type=script&setup=true&lang.ts
8659
- var _hoisted_1$80 = ["data-invalid", "data-disabled"];
8676
+ var _hoisted_1$87 = ["data-invalid", "data-disabled"];
8660
8677
  //#endregion
8661
8678
  //#region src/components/input-group/InputGroup.vue
8662
8679
  var InputGroup_default = /* @__PURE__ */ defineComponent({
@@ -8688,7 +8705,7 @@ var InputGroup_default = /* @__PURE__ */ defineComponent({
8688
8705
  size: props.size
8689
8706
  }), unref(inputGroup)({ divided: props.variant !== "bare" }), props.class)),
8690
8707
  onClick: _cache[0] || (_cache[0] = ($event) => unref(focusFieldFrom)($event.currentTarget, $event.target))
8691
- }, [renderSlot(_ctx.$slots, "default")], 10, _hoisted_1$80);
8708
+ }, [renderSlot(_ctx.$slots, "default")], 10, _hoisted_1$87);
8692
8709
  };
8693
8710
  }
8694
8711
  });
@@ -8718,18 +8735,18 @@ var multiSelectTrigger = tv({ base: [
8718
8735
  var multiSelectChips = tv({ base: "flex min-w-0 flex-1 items-center gap-1 overflow-hidden" });
8719
8736
  //#endregion
8720
8737
  //#region src/components/multi-select/MultiSelect.vue?vue&type=script&setup=true&lang.ts
8721
- var _hoisted_1$79 = { class: "min-w-0 truncate" };
8722
- var _hoisted_2$40 = {
8738
+ var _hoisted_1$86 = { class: "min-w-0 truncate" };
8739
+ var _hoisted_2$45 = {
8723
8740
  key: 1,
8724
8741
  class: "min-w-0 truncate"
8725
8742
  };
8726
- var _hoisted_3$22 = [
8743
+ var _hoisted_3$24 = [
8727
8744
  "name",
8728
8745
  "required",
8729
8746
  "autocomplete",
8730
8747
  "disabled"
8731
8748
  ];
8732
- var _hoisted_4$19 = ["value", "disabled"];
8749
+ var _hoisted_4$21 = ["value", "disabled"];
8733
8750
  //#endregion
8734
8751
  //#region src/components/multi-select/MultiSelect.vue
8735
8752
  var MultiSelect_default = /* @__PURE__ */ defineComponent({
@@ -8833,7 +8850,7 @@ var MultiSelect_default = /* @__PURE__ */ defineComponent({
8833
8850
  onClick: isolate,
8834
8851
  onRemove: ($event) => remove(option.value)
8835
8852
  }, {
8836
- default: withCtx(() => [createElementVNode("span", _hoisted_1$79, toDisplayString(option.label), 1)]),
8853
+ default: withCtx(() => [createElementVNode("span", _hoisted_1$86, toDisplayString(option.label), 1)]),
8837
8854
  _: 2
8838
8855
  }, 1032, [
8839
8856
  "size",
@@ -8848,7 +8865,7 @@ var MultiSelect_default = /* @__PURE__ */ defineComponent({
8848
8865
  }, {
8849
8866
  default: withCtx(() => [createTextVNode(" +" + toDisplayString(overflow.value), 1)]),
8850
8867
  _: 1
8851
- }, 8, ["size", "disabled"])) : createCommentVNode("", true)], 64)) : (openBlock(), createElementBlock("span", _hoisted_2$40, toDisplayString(props.placeholder ?? unref(t).select.placeholder), 1))], 2),
8868
+ }, 8, ["size", "disabled"])) : createCommentVNode("", true)], 64)) : (openBlock(), createElementBlock("span", _hoisted_2$45, toDisplayString(props.placeholder ?? unref(t).select.placeholder), 1))], 2),
8852
8869
  createVNode(Transition, {
8853
8870
  "enter-active-class": "hn-transition-base",
8854
8871
  "enter-from-class": "scale-90 opacity-0",
@@ -8900,8 +8917,8 @@ var MultiSelect_default = /* @__PURE__ */ defineComponent({
8900
8917
  key: option.value,
8901
8918
  value: option.value,
8902
8919
  disabled: option.disabled
8903
- }, toDisplayString(option.label), 9, _hoisted_4$19);
8904
- }), 128))], 8, _hoisted_3$22), [[vModelSelect, model.value]])]),
8920
+ }, toDisplayString(option.label), 9, _hoisted_4$21);
8921
+ }), 128))], 8, _hoisted_3$24), [[vModelSelect, model.value]])]),
8905
8922
  _: 1
8906
8923
  })) : createCommentVNode("", true),
8907
8924
  createVNode(SelectList_default, {
@@ -8990,20 +9007,20 @@ var comboboxContent = tv({ base: ["hn-anim-pop z-(--hn-z-overlay) flex w-[var(--
8990
9007
  var comboboxList = tv({ base: "max-h-[min(20rem,var(--reka-combobox-content-available-height))]" });
8991
9008
  //#endregion
8992
9009
  //#region src/components/combobox/ComboboxList.vue?vue&type=script&setup=true&lang.ts
8993
- var _hoisted_1$78 = { class: "min-w-0 flex-1" };
8994
- var _hoisted_2$39 = { class: "block truncate" };
8995
- var _hoisted_3$21 = {
9010
+ var _hoisted_1$85 = { class: "min-w-0 flex-1" };
9011
+ var _hoisted_2$44 = { class: "block truncate" };
9012
+ var _hoisted_3$23 = {
8996
9013
  key: 0,
8997
9014
  class: "text-muted block truncate text-xs"
8998
9015
  };
8999
- var _hoisted_4$18 = { class: "flex size-4 shrink-0 items-center justify-center" };
9000
- var _hoisted_5$14 = { class: "min-w-0 flex-1" };
9001
- var _hoisted_6$9 = { class: "block truncate" };
9002
- var _hoisted_7$6 = {
9016
+ var _hoisted_4$20 = { class: "flex size-4 shrink-0 items-center justify-center" };
9017
+ var _hoisted_5$15 = { class: "min-w-0 flex-1" };
9018
+ var _hoisted_6$10 = { class: "block truncate" };
9019
+ var _hoisted_7$7 = {
9003
9020
  key: 0,
9004
9021
  class: "text-muted block truncate text-xs"
9005
9022
  };
9006
- var _hoisted_8$3 = { class: "flex size-4 shrink-0 items-center justify-center" };
9023
+ var _hoisted_8$4 = { class: "flex size-4 shrink-0 items-center justify-center" };
9007
9024
  //#endregion
9008
9025
  //#region src/components/combobox/ComboboxList.vue
9009
9026
  var ComboboxList_default = /* @__PURE__ */ defineComponent({
@@ -9048,7 +9065,7 @@ var ComboboxList_default = /* @__PURE__ */ defineComponent({
9048
9065
  disabled: option.disabled,
9049
9066
  class: normalizeClass(unref(selectItem)())
9050
9067
  }, {
9051
- default: withCtx(() => [createElementVNode("span", _hoisted_1$78, [renderSlot(_ctx.$slots, "option", { option }, () => [createElementVNode("span", _hoisted_2$39, toDisplayString(option.label), 1), option.description ? (openBlock(), createElementBlock("span", _hoisted_3$21, toDisplayString(option.description), 1)) : createCommentVNode("", true)])]), createElementVNode("span", _hoisted_4$18, [createVNode(unref(ComboboxItemIndicator), null, {
9068
+ default: withCtx(() => [createElementVNode("span", _hoisted_1$85, [renderSlot(_ctx.$slots, "option", { option }, () => [createElementVNode("span", _hoisted_2$44, toDisplayString(option.label), 1), option.description ? (openBlock(), createElementBlock("span", _hoisted_3$23, toDisplayString(option.description), 1)) : createCommentVNode("", true)])]), createElementVNode("span", _hoisted_4$20, [createVNode(unref(ComboboxItemIndicator), null, {
9052
9069
  default: withCtx(() => [createVNode(unref(Check))]),
9053
9070
  _: 1
9054
9071
  })])]),
@@ -9068,7 +9085,7 @@ var ComboboxList_default = /* @__PURE__ */ defineComponent({
9068
9085
  disabled: item.disabled,
9069
9086
  class: normalizeClass(unref(selectItem)())
9070
9087
  }, {
9071
- default: withCtx(() => [createElementVNode("span", _hoisted_5$14, [renderSlot(_ctx.$slots, "option", { option: item }, () => [createElementVNode("span", _hoisted_6$9, toDisplayString(item.label), 1), item.description ? (openBlock(), createElementBlock("span", _hoisted_7$6, toDisplayString(item.description), 1)) : createCommentVNode("", true)])]), createElementVNode("span", _hoisted_8$3, [createVNode(unref(ComboboxItemIndicator), null, {
9088
+ default: withCtx(() => [createElementVNode("span", _hoisted_5$15, [renderSlot(_ctx.$slots, "option", { option: item }, () => [createElementVNode("span", _hoisted_6$10, toDisplayString(item.label), 1), item.description ? (openBlock(), createElementBlock("span", _hoisted_7$7, toDisplayString(item.description), 1)) : createCommentVNode("", true)])]), createElementVNode("span", _hoisted_8$4, [createVNode(unref(ComboboxItemIndicator), null, {
9072
9089
  default: withCtx(() => [createVNode(unref(Check))]),
9073
9090
  _: 1
9074
9091
  })])]),
@@ -9096,7 +9113,7 @@ var ComboboxList_default = /* @__PURE__ */ defineComponent({
9096
9113
  });
9097
9114
  //#endregion
9098
9115
  //#region src/components/combobox/Combobox.vue?vue&type=script&setup=true&lang.ts
9099
- var _hoisted_1$77 = [
9116
+ var _hoisted_1$84 = [
9100
9117
  "data-invalid",
9101
9118
  "data-disabled",
9102
9119
  "aria-busy"
@@ -9245,7 +9262,7 @@ var Combobox_default = /* @__PURE__ */ defineComponent({
9245
9262
  "disabled",
9246
9263
  "class"
9247
9264
  ])
9248
- ], 42, _hoisted_1$77)]),
9265
+ ], 42, _hoisted_1$84)]),
9249
9266
  _: 1
9250
9267
  }), createVNode(ComboboxList_default, {
9251
9268
  options: props.options,
@@ -9294,11 +9311,11 @@ var commandItemHint = tv({ base: "ms-auto flex shrink-0 items-center gap-1" });
9294
9311
  var commandEmpty = tv({ base: "text-muted px-4 py-8 text-center text-sm" });
9295
9312
  //#endregion
9296
9313
  //#region src/components/command-palette/CommandPaletteItem.vue?vue&type=script&setup=true&lang.ts
9297
- var _hoisted_1$76 = { class: "truncate" };
9298
- var _hoisted_2$38 = ["textContent"];
9299
- var _hoisted_3$20 = ["textContent"];
9300
- var _hoisted_4$17 = ["textContent"];
9301
- var _hoisted_5$13 = {
9314
+ var _hoisted_1$83 = { class: "truncate" };
9315
+ var _hoisted_2$43 = ["textContent"];
9316
+ var _hoisted_3$22 = ["textContent"];
9317
+ var _hoisted_4$19 = ["textContent"];
9318
+ var _hoisted_5$14 = {
9302
9319
  key: 0,
9303
9320
  class: "text-muted truncate text-xs"
9304
9321
  };
@@ -9339,18 +9356,18 @@ var CommandPaletteItem_default = /* @__PURE__ */ defineComponent({
9339
9356
  "aria-hidden": "true",
9340
9357
  class: "text-muted"
9341
9358
  })) : createCommentVNode("", true),
9342
- createElementVNode("span", { class: normalizeClass(unref(commandItemBody)()) }, [createElementVNode("span", _hoisted_1$76, [
9343
- createElementVNode("span", { textContent: toDisplayString(parts.value[0]) }, null, 8, _hoisted_2$38),
9359
+ createElementVNode("span", { class: normalizeClass(unref(commandItemBody)()) }, [createElementVNode("span", _hoisted_1$83, [
9360
+ createElementVNode("span", { textContent: toDisplayString(parts.value[0]) }, null, 8, _hoisted_2$43),
9344
9361
  parts.value[1] ? (openBlock(), createElementBlock("span", {
9345
9362
  key: 0,
9346
9363
  class: normalizeClass(unref(commandItemMatch)()),
9347
9364
  textContent: toDisplayString(parts.value[1])
9348
- }, null, 10, _hoisted_3$20)) : createCommentVNode("", true),
9365
+ }, null, 10, _hoisted_3$22)) : createCommentVNode("", true),
9349
9366
  parts.value[2] ? (openBlock(), createElementBlock("span", {
9350
9367
  key: 1,
9351
9368
  textContent: toDisplayString(parts.value[2])
9352
- }, null, 8, _hoisted_4$17)) : createCommentVNode("", true)
9353
- ]), props.match.item.description ? (openBlock(), createElementBlock("span", _hoisted_5$13, toDisplayString(props.match.item.description), 1)) : createCommentVNode("", true)], 2),
9369
+ }, null, 8, _hoisted_4$19)) : createCommentVNode("", true)
9370
+ ]), props.match.item.description ? (openBlock(), createElementBlock("span", _hoisted_5$14, toDisplayString(props.match.item.description), 1)) : createCommentVNode("", true)], 2),
9354
9371
  props.match.item.kbd?.length ? (openBlock(), createElementBlock("span", {
9355
9372
  key: 1,
9356
9373
  class: normalizeClass(unref(commandItemHint)())
@@ -9691,13 +9708,13 @@ var CommandPalette_default = /* @__PURE__ */ defineComponent({
9691
9708
  });
9692
9709
  //#endregion
9693
9710
  //#region src/components/listbox/ListboxOptionContent.vue?vue&type=script&setup=true&lang.ts
9694
- var _hoisted_1$75 = { class: "min-w-0 flex-1" };
9695
- var _hoisted_2$37 = { class: "block truncate" };
9696
- var _hoisted_3$19 = {
9711
+ var _hoisted_1$82 = { class: "min-w-0 flex-1" };
9712
+ var _hoisted_2$42 = { class: "block truncate" };
9713
+ var _hoisted_3$21 = {
9697
9714
  key: 0,
9698
9715
  class: "text-muted block truncate text-xs"
9699
9716
  };
9700
- var _hoisted_4$16 = {
9717
+ var _hoisted_4$18 = {
9701
9718
  key: 1,
9702
9719
  class: "flex size-4 shrink-0 items-center justify-center"
9703
9720
  };
@@ -9713,13 +9730,13 @@ var ListboxOptionContent_default = /* @__PURE__ */ defineComponent({
9713
9730
  const slots = useSlots();
9714
9731
  const { isSelected: selected } = injectListboxItemContext();
9715
9732
  return (_ctx, _cache) => {
9716
- return openBlock(), createElementBlock(Fragment, null, [createElementVNode("span", _hoisted_1$75, [renderSlot(_ctx.$slots, "option", {
9733
+ return openBlock(), createElementBlock(Fragment, null, [createElementVNode("span", _hoisted_1$82, [renderSlot(_ctx.$slots, "option", {
9717
9734
  option: props.option,
9718
9735
  selected: unref(selected)
9719
- }, () => [createElementVNode("span", _hoisted_2$37, toDisplayString(props.option.label), 1), props.option.description ? (openBlock(), createElementBlock("span", _hoisted_3$19, toDisplayString(props.option.description), 1)) : createCommentVNode("", true)])]), slots.trailing ? renderSlot(_ctx.$slots, "trailing", {
9736
+ }, () => [createElementVNode("span", _hoisted_2$42, toDisplayString(props.option.label), 1), props.option.description ? (openBlock(), createElementBlock("span", _hoisted_3$21, toDisplayString(props.option.description), 1)) : createCommentVNode("", true)])]), slots.trailing ? renderSlot(_ctx.$slots, "trailing", {
9720
9737
  option: props.option,
9721
9738
  selected: unref(selected)
9722
- }, void 0, void 0, 0) : (openBlock(), createElementBlock("span", _hoisted_4$16, [createVNode(unref(ListboxItemIndicator), null, {
9739
+ }, void 0, void 0, 0) : (openBlock(), createElementBlock("span", _hoisted_4$18, [createVNode(unref(ListboxItemIndicator), null, {
9723
9740
  default: withCtx(() => [createVNode(unref(Check))]),
9724
9741
  _: 1
9725
9742
  })]))], 64);
@@ -9949,7 +9966,7 @@ var checkboxDescription = tv({
9949
9966
  });
9950
9967
  //#endregion
9951
9968
  //#region src/components/tree/TreeCheck.vue?vue&type=script&setup=true&lang.ts
9952
- var _hoisted_1$74 = ["data-state"];
9969
+ var _hoisted_1$81 = ["data-state"];
9953
9970
  //#endregion
9954
9971
  //#region src/components/tree/TreeCheck.vue
9955
9972
  var TreeCheck_default = /* @__PURE__ */ defineComponent({
@@ -9982,7 +9999,7 @@ var TreeCheck_default = /* @__PURE__ */ defineComponent({
9982
9999
  }, {
9983
10000
  default: withCtx(() => [props.indeterminate ? (openBlock(), createBlock(unref(Minus), { key: 0 })) : createCommentVNode("", true)]),
9984
10001
  _: 1
9985
- })], 10, _hoisted_1$74);
10002
+ })], 10, _hoisted_1$81);
9986
10003
  };
9987
10004
  }
9988
10005
  });
@@ -10122,21 +10139,21 @@ var treeToggle = tv({ base: "text-muted flex size-5 shrink-0 cursor-pointer item
10122
10139
  var treeEmpty = tv({ base: "text-muted px-2.5 py-2 text-sm" });
10123
10140
  //#endregion
10124
10141
  //#region src/components/tree/Tree.vue?vue&type=script&setup=true&lang.ts
10125
- var _hoisted_1$73 = [
10142
+ var _hoisted_1$80 = [
10126
10143
  "id",
10127
10144
  "aria-labelledby",
10128
10145
  "aria-describedby"
10129
10146
  ];
10130
- var _hoisted_2$36 = ["aria-selected", "aria-checked"];
10131
- var _hoisted_3$18 = ["onClick"];
10132
- var _hoisted_4$15 = {
10147
+ var _hoisted_2$41 = ["aria-selected", "aria-checked"];
10148
+ var _hoisted_3$20 = ["onClick"];
10149
+ var _hoisted_4$17 = {
10133
10150
  key: 1,
10134
10151
  class: "size-5 shrink-0",
10135
10152
  "aria-hidden": "true"
10136
10153
  };
10137
- var _hoisted_5$12 = { class: "min-w-0 flex-1" };
10138
- var _hoisted_6$8 = { class: "block truncate" };
10139
- var _hoisted_7$5 = {
10154
+ var _hoisted_5$13 = { class: "min-w-0 flex-1" };
10155
+ var _hoisted_6$9 = { class: "block truncate" };
10156
+ var _hoisted_7$6 = {
10140
10157
  key: 0,
10141
10158
  class: "text-muted block truncate text-xs"
10142
10159
  };
@@ -10178,7 +10195,7 @@ var Tree_default = /* @__PURE__ */ defineComponent({
10178
10195
  "aria-describedby": unref(describedBy),
10179
10196
  "data-hn-tree": "",
10180
10197
  class: unref(cn)(unref(treeEmpty)(), props.class)
10181
- }), [renderSlot(_ctx.$slots, "empty", {}, () => [createTextVNode(toDisplayString(unref(t).tree.empty), 1)])], 16, _hoisted_1$73)) : (openBlock(), createBlock(unref(TreeRoot), mergeProps({ key: 1 }, _ctx.$attrs, {
10198
+ }), [renderSlot(_ctx.$slots, "empty", {}, () => [createTextVNode(toDisplayString(unref(t).tree.empty), 1)])], 16, _hoisted_1$80)) : (openBlock(), createBlock(unref(TreeRoot), mergeProps({ key: 1 }, _ctx.$attrs, {
10182
10199
  id: unref(id),
10183
10200
  expanded: unref(expanded),
10184
10201
  "onUpdate:expanded": _cache[0] || (_cache[0] = ($event) => isRef(expanded) ? expanded.value = $event : null),
@@ -10219,21 +10236,21 @@ var Tree_default = /* @__PURE__ */ defineComponent({
10219
10236
  }, [createVNode(DisclosureIcon_default, {
10220
10237
  direction: "end",
10221
10238
  open: isExpanded
10222
- }, null, 8, ["open"])], 10, _hoisted_3$18)) : (openBlock(), createElementBlock("span", _hoisted_4$15)),
10239
+ }, null, 8, ["open"])], 10, _hoisted_3$20)) : (openBlock(), createElementBlock("span", _hoisted_4$17)),
10223
10240
  props.multiple ? (openBlock(), createBlock(TreeCheck_default, {
10224
10241
  key: 2,
10225
10242
  selected: unref(state)(item.value).selected,
10226
10243
  indeterminate: unref(state)(item.value).indeterminate
10227
10244
  }, null, 8, ["selected", "indeterminate"])) : createCommentVNode("", true),
10228
- createElementVNode("span", _hoisted_5$12, [renderSlot(_ctx.$slots, "node", mergeProps({
10245
+ createElementVNode("span", _hoisted_5$13, [renderSlot(_ctx.$slots, "node", mergeProps({
10229
10246
  node: item.value,
10230
10247
  expanded: isExpanded
10231
- }, { ref_for: true }, unref(state)(item.value)), () => [createElementVNode("span", _hoisted_6$8, toDisplayString(item.value.label), 1), item.value.description ? (openBlock(), createElementBlock("span", _hoisted_7$5, toDisplayString(item.value.description), 1)) : createCommentVNode("", true)])]),
10248
+ }, { ref_for: true }, unref(state)(item.value)), () => [createElementVNode("span", _hoisted_6$9, toDisplayString(item.value.label), 1), item.value.description ? (openBlock(), createElementBlock("span", _hoisted_7$6, toDisplayString(item.value.description), 1)) : createCommentVNode("", true)])]),
10232
10249
  renderSlot(_ctx.$slots, "trailing", mergeProps({
10233
10250
  node: item.value,
10234
10251
  expanded: isExpanded
10235
10252
  }, { ref_for: true }, unref(state)(item.value)))
10236
- ], 14, _hoisted_2$36)]),
10253
+ ], 14, _hoisted_2$41)]),
10237
10254
  _: 2
10238
10255
  }, 1040, [
10239
10256
  "disabled",
@@ -10275,8 +10292,8 @@ var treeSelectRow = tv({ base: [
10275
10292
  var treeSelectToggle = tv({ base: ["text-muted flex size-5 shrink-0 cursor-pointer items-center justify-center rounded-sm", "[&>span>svg]:size-3.5"] });
10276
10293
  //#endregion
10277
10294
  //#region src/components/tree-select/TreeSelectSearch.vue?vue&type=script&setup=true&lang.ts
10278
- var _hoisted_1$72 = { class: "border-line shrink-0 border-b px-1" };
10279
- var _hoisted_2$35 = [
10295
+ var _hoisted_1$79 = { class: "border-line shrink-0 border-b px-1" };
10296
+ var _hoisted_2$40 = [
10280
10297
  "aria-label",
10281
10298
  "aria-controls",
10282
10299
  "placeholder"
@@ -10303,7 +10320,7 @@ var TreeSelectSearch_default = /* @__PURE__ */ defineComponent({
10303
10320
  const input = shallowRef(null);
10304
10321
  __expose({ focus: () => input.value?.focus() });
10305
10322
  return (_ctx, _cache) => {
10306
- return openBlock(), createElementBlock("div", _hoisted_1$72, [createElementVNode("div", { class: normalizeClass(unref(textInputHost)({
10323
+ return openBlock(), createElementBlock("div", _hoisted_1$79, [createElementVNode("div", { class: normalizeClass(unref(textInputHost)({
10307
10324
  variant: "bare",
10308
10325
  size: "sm"
10309
10326
  })) }, [
@@ -10324,7 +10341,7 @@ var TreeSelectSearch_default = /* @__PURE__ */ defineComponent({
10324
10341
  trailing: !!model.value
10325
10342
  })),
10326
10343
  onKeydown: _cache[1] || (_cache[1] = ($event) => emit("keydown", $event))
10327
- }, null, 42, _hoisted_2$35), [[vModelText, model.value]]),
10344
+ }, null, 42, _hoisted_2$40), [[vModelText, model.value]]),
10328
10345
  createVNode(Transition, {
10329
10346
  "enter-active-class": "hn-transition-base",
10330
10347
  "enter-from-class": "scale-90 opacity-0",
@@ -10477,7 +10494,7 @@ function useTreeSelect(props, model, open, search) {
10477
10494
  }
10478
10495
  //#endregion
10479
10496
  //#region src/components/tree-select/TreeSelect.vue?vue&type=script&setup=true&lang.ts
10480
- var _hoisted_1$71 = [
10497
+ var _hoisted_1$78 = [
10481
10498
  "id",
10482
10499
  "aria-describedby",
10483
10500
  "aria-expanded",
@@ -10487,20 +10504,20 @@ var _hoisted_1$71 = [
10487
10504
  "data-disabled",
10488
10505
  "aria-invalid"
10489
10506
  ];
10490
- var _hoisted_2$34 = { class: "min-w-0 flex-1 truncate" };
10491
- var _hoisted_3$17 = ["onClick"];
10492
- var _hoisted_4$14 = {
10507
+ var _hoisted_2$39 = { class: "min-w-0 flex-1 truncate" };
10508
+ var _hoisted_3$19 = ["onClick"];
10509
+ var _hoisted_4$16 = {
10493
10510
  key: 1,
10494
10511
  class: "size-5 shrink-0"
10495
10512
  };
10496
- var _hoisted_5$11 = { class: "min-w-0 flex-1" };
10497
- var _hoisted_6$7 = { class: "block truncate" };
10498
- var _hoisted_7$4 = {
10513
+ var _hoisted_5$12 = { class: "min-w-0 flex-1" };
10514
+ var _hoisted_6$8 = { class: "block truncate" };
10515
+ var _hoisted_7$5 = {
10499
10516
  key: 0,
10500
10517
  class: "text-muted block truncate text-xs"
10501
10518
  };
10502
- var _hoisted_8$2 = { class: "flex size-4 shrink-0 items-center justify-center" };
10503
- var _hoisted_9$1 = { role: "status" };
10519
+ var _hoisted_8$3 = { class: "flex size-4 shrink-0 items-center justify-center" };
10520
+ var _hoisted_9$2 = { role: "status" };
10504
10521
  //#endregion
10505
10522
  //#region src/components/tree-select/TreeSelect.vue
10506
10523
  var TreeSelect_default = /* @__PURE__ */ defineComponent({
@@ -10570,7 +10587,7 @@ var TreeSelect_default = /* @__PURE__ */ defineComponent({
10570
10587
  variant: props.variant,
10571
10588
  size: props.size
10572
10589
  }), unref(selectTrigger)(), props.class)
10573
- }), [createElementVNode("span", _hoisted_2$34, toDisplayString(unref(selected) ? unref(selected).label : props.placeholder ?? unref(t).select.placeholder), 1), createElementVNode("span", { class: normalizeClass(unref(inputAdornment)()) }, [createVNode(DisclosureIcon_default)], 2)], 16, _hoisted_1$71)]),
10590
+ }), [createElementVNode("span", _hoisted_2$39, toDisplayString(unref(selected) ? unref(selected).label : props.placeholder ?? unref(t).select.placeholder), 1), createElementVNode("span", { class: normalizeClass(unref(inputAdornment)()) }, [createVNode(DisclosureIcon_default)], 2)], 16, _hoisted_1$78)]),
10574
10591
  _: 1
10575
10592
  }), createVNode(unref(PopoverPortal), null, {
10576
10593
  default: withCtx(() => [createVNode(unref(PopoverContent), {
@@ -10637,9 +10654,9 @@ var TreeSelect_default = /* @__PURE__ */ defineComponent({
10637
10654
  }, [createVNode(DisclosureIcon_default, {
10638
10655
  direction: "end",
10639
10656
  open: isExpanded
10640
- }, null, 8, ["open"])], 10, _hoisted_3$17)) : (openBlock(), createElementBlock("span", _hoisted_4$14)),
10641
- createElementVNode("span", _hoisted_5$11, [renderSlot(_ctx.$slots, "node", { node: item.value }, () => [createElementVNode("span", _hoisted_6$7, toDisplayString(item.value.label), 1), item.value.description ? (openBlock(), createElementBlock("span", _hoisted_7$4, toDisplayString(item.value.description), 1)) : createCommentVNode("", true)])]),
10642
- createElementVNode("span", _hoisted_8$2, [isSelected ? (openBlock(), createBlock(unref(Check), { key: 0 })) : createCommentVNode("", true)])
10657
+ }, null, 8, ["open"])], 10, _hoisted_3$19)) : (openBlock(), createElementBlock("span", _hoisted_4$16)),
10658
+ createElementVNode("span", _hoisted_5$12, [renderSlot(_ctx.$slots, "node", { node: item.value }, () => [createElementVNode("span", _hoisted_6$8, toDisplayString(item.value.label), 1), item.value.description ? (openBlock(), createElementBlock("span", _hoisted_7$5, toDisplayString(item.value.description), 1)) : createCommentVNode("", true)])]),
10659
+ createElementVNode("span", _hoisted_8$3, [isSelected ? (openBlock(), createBlock(unref(Check), { key: 0 })) : createCommentVNode("", true)])
10643
10660
  ]),
10644
10661
  _: 2
10645
10662
  }, 1040, [
@@ -10654,7 +10671,7 @@ var TreeSelect_default = /* @__PURE__ */ defineComponent({
10654
10671
  key: 0,
10655
10672
  role: "none",
10656
10673
  class: normalizeClass(unref(selectEmpty)())
10657
- }, [createElementVNode("span", _hoisted_9$1, toDisplayString(unref(t).select.empty), 1)], 2)) : createCommentVNode("", true)]),
10674
+ }, [createElementVNode("span", _hoisted_9$2, toDisplayString(unref(t).select.empty), 1)], 2)) : createCommentVNode("", true)]),
10658
10675
  _: 3
10659
10676
  }, 8, [
10660
10677
  "id",
@@ -10687,7 +10704,7 @@ var TreeSelect_default = /* @__PURE__ */ defineComponent({
10687
10704
  });
10688
10705
  //#endregion
10689
10706
  //#region src/components/checkbox/Checkbox.vue?vue&type=script&setup=true&lang.ts
10690
- var _hoisted_1$70 = ["data-disabled"];
10707
+ var _hoisted_1$77 = ["data-disabled"];
10691
10708
  //#endregion
10692
10709
  //#region src/components/checkbox/Checkbox.vue
10693
10710
  var Checkbox_default = /* @__PURE__ */ defineComponent({
@@ -10784,7 +10801,7 @@ var Checkbox_default = /* @__PURE__ */ defineComponent({
10784
10801
  controlPlacement: props.controlPlacement
10785
10802
  }))
10786
10803
  }, toDisplayString(props.description), 3)) : createCommentVNode("", true)
10787
- ], 10, _hoisted_1$70);
10804
+ ], 10, _hoisted_1$77);
10788
10805
  };
10789
10806
  }
10790
10807
  });
@@ -10907,7 +10924,7 @@ var CheckboxGroup_default = /* @__PURE__ */ defineComponent({
10907
10924
  var radioDot = tv({ base: "block size-[calc(var(--hn-checkbox-size)/2)] bg-surface rounded-full" });
10908
10925
  //#endregion
10909
10926
  //#region src/components/radio-group/RadioGroup.vue?vue&type=script&setup=true&lang.ts
10910
- var _hoisted_1$69 = ["data-disabled"];
10927
+ var _hoisted_1$76 = ["data-disabled"];
10911
10928
  //#endregion
10912
10929
  //#region src/components/radio-group/RadioGroup.vue
10913
10930
  var RadioGroup_default = /* @__PURE__ */ defineComponent({
@@ -11001,7 +11018,7 @@ var RadioGroup_default = /* @__PURE__ */ defineComponent({
11001
11018
  controlPlacement: props.controlPlacement
11002
11019
  }))
11003
11020
  }, toDisplayString(option.description), 3)) : createCommentVNode("", true)
11004
- ], 10, _hoisted_1$69);
11021
+ ], 10, _hoisted_1$76);
11005
11022
  }), 128))]),
11006
11023
  _: 3
11007
11024
  }, 8, [
@@ -11042,7 +11059,7 @@ var switchThumb = tv({ base: [
11042
11059
  ] });
11043
11060
  //#endregion
11044
11061
  //#region src/components/switch/Switch.vue?vue&type=script&setup=true&lang.ts
11045
- var _hoisted_1$68 = ["data-disabled"];
11062
+ var _hoisted_1$75 = ["data-disabled"];
11046
11063
  //#endregion
11047
11064
  //#region src/components/switch/Switch.vue
11048
11065
  var Switch_default = /* @__PURE__ */ defineComponent({
@@ -11123,7 +11140,7 @@ var Switch_default = /* @__PURE__ */ defineComponent({
11123
11140
  controlPlacement: props.controlPlacement
11124
11141
  }))
11125
11142
  }, toDisplayString(props.description), 3)) : createCommentVNode("", true)
11126
- ], 10, _hoisted_1$68);
11143
+ ], 10, _hoisted_1$75);
11127
11144
  };
11128
11145
  }
11129
11146
  });
@@ -11273,7 +11290,7 @@ var SliderMarks_default = /* @__PURE__ */ defineComponent({
11273
11290
  });
11274
11291
  //#endregion
11275
11292
  //#region src/components/slider/Slider.vue?vue&type=script&setup=true&lang.ts
11276
- var _hoisted_1$67 = [
11293
+ var _hoisted_1$74 = [
11277
11294
  "dir",
11278
11295
  "data-disabled",
11279
11296
  "data-dragging"
@@ -11394,13 +11411,13 @@ var Slider_default = /* @__PURE__ */ defineComponent({
11394
11411
  "marks",
11395
11412
  "min",
11396
11413
  "max"
11397
- ])) : createCommentVNode("", true)], 16, _hoisted_1$67);
11414
+ ])) : createCommentVNode("", true)], 16, _hoisted_1$74);
11398
11415
  };
11399
11416
  }
11400
11417
  });
11401
11418
  //#endregion
11402
11419
  //#region src/components/range-slider/RangeSlider.vue?vue&type=script&setup=true&lang.ts
11403
- var _hoisted_1$66 = [
11420
+ var _hoisted_1$73 = [
11404
11421
  "aria-labelledby",
11405
11422
  "aria-describedby",
11406
11423
  "aria-invalid",
@@ -11547,7 +11564,7 @@ var RangeSlider_default = /* @__PURE__ */ defineComponent({
11547
11564
  "marks",
11548
11565
  "min",
11549
11566
  "max"
11550
- ])) : createCommentVNode("", true)], 16, _hoisted_1$66);
11567
+ ])) : createCommentVNode("", true)], 16, _hoisted_1$73);
11551
11568
  };
11552
11569
  }
11553
11570
  });
@@ -11564,15 +11581,15 @@ var toggle = tv({
11564
11581
  });
11565
11582
  //#endregion
11566
11583
  //#region src/components/toggle/Toggle.vue?vue&type=script&setup=true&lang.ts
11567
- var _hoisted_1$65 = {
11584
+ var _hoisted_1$72 = {
11568
11585
  key: "on",
11569
11586
  class: "inline-flex items-center justify-center"
11570
11587
  };
11571
- var _hoisted_2$33 = {
11588
+ var _hoisted_2$38 = {
11572
11589
  key: "off",
11573
11590
  class: "inline-flex items-center justify-center"
11574
11591
  };
11575
- var _hoisted_3$16 = {
11592
+ var _hoisted_3$18 = {
11576
11593
  key: 2,
11577
11594
  class: "inline-flex items-center"
11578
11595
  };
@@ -11649,10 +11666,10 @@ var Toggle_default = /* @__PURE__ */ defineComponent({
11649
11666
  "leave-active-class": "hn-transition absolute",
11650
11667
  "leave-to-class": "scale-90 opacity-0"
11651
11668
  }, {
11652
- default: withCtx(() => [swapped.value ? (openBlock(), createElementBlock("span", _hoisted_1$65, [renderSlot(_ctx.$slots, "pressed-icon")])) : (openBlock(), createElementBlock("span", _hoisted_2$33, [renderSlot(_ctx.$slots, "icon", { pressed: pressed.value })]))]),
11669
+ default: withCtx(() => [swapped.value ? (openBlock(), createElementBlock("span", _hoisted_1$72, [renderSlot(_ctx.$slots, "pressed-icon")])) : (openBlock(), createElementBlock("span", _hoisted_2$38, [renderSlot(_ctx.$slots, "icon", { pressed: pressed.value })]))]),
11653
11670
  _: 3
11654
11671
  })], 2)) : createCommentVNode("", true),
11655
- unref(slots).default ? (openBlock(), createElementBlock("span", _hoisted_3$16, [renderSlot(_ctx.$slots, "default")])) : createCommentVNode("", true)
11672
+ unref(slots).default ? (openBlock(), createElementBlock("span", _hoisted_3$18, [renderSlot(_ctx.$slots, "default")])) : createCommentVNode("", true)
11656
11673
  ]),
11657
11674
  _: 3
11658
11675
  }, 16, [
@@ -11673,6 +11690,879 @@ var Toggle_default = /* @__PURE__ */ defineComponent({
11673
11690
  }
11674
11691
  });
11675
11692
  //#endregion
11693
+ //#region src/components/toolbar/context.ts
11694
+ var toolbarKey = Symbol("hn-toolbar");
11695
+ var groupKey = Symbol("hn-toolbar-group");
11696
+ function provideToolbar(context) {
11697
+ provide(toolbarKey, context);
11698
+ }
11699
+ function useToolbar() {
11700
+ const context = inject(toolbarKey);
11701
+ if (!context) throw new Error("[Hina UI] Toolbar controls must be inside Toolbar.");
11702
+ return context;
11703
+ }
11704
+ function provideToolbarGroup(disabled) {
11705
+ provide(groupKey, disabled);
11706
+ }
11707
+ function useToolbarGroup() {
11708
+ return inject(groupKey, null);
11709
+ }
11710
+ //#endregion
11711
+ //#region src/components/toolbar/toolbar.variants.ts
11712
+ var toolbar = tv({
11713
+ base: "inline-flex max-w-full gap-(--hn-control-gap) rounded-lg",
11714
+ variants: {
11715
+ orientation: {
11716
+ horizontal: "flex-row flex-wrap items-center",
11717
+ vertical: "flex-col items-stretch"
11718
+ },
11719
+ variant: {
11720
+ primary: "border-line bg-surface border p-1",
11721
+ secondary: "bg-inset p-1",
11722
+ bare: ""
11723
+ }
11724
+ },
11725
+ defaultVariants: {
11726
+ orientation: "horizontal",
11727
+ variant: "primary"
11728
+ }
11729
+ });
11730
+ var toolbarGroup = tv({
11731
+ base: "inline-flex gap-(--hn-control-gap)",
11732
+ variants: { orientation: {
11733
+ horizontal: "flex-wrap items-center",
11734
+ vertical: "flex-col items-stretch"
11735
+ } }
11736
+ });
11737
+ var toolbarSeparator = tv({
11738
+ base: "bg-line shrink-0 self-stretch",
11739
+ variants: { orientation: {
11740
+ horizontal: "mx-1 my-1 w-px",
11741
+ vertical: "mx-1 my-1 h-px"
11742
+ } }
11743
+ });
11744
+ //#endregion
11745
+ //#region src/components/toolbar/Toolbar.vue?vue&type=script&setup=true&lang.ts
11746
+ var _hoisted_1$71 = ["dir"];
11747
+ //#endregion
11748
+ //#region src/components/toolbar/Toolbar.vue
11749
+ var Toolbar_default = /* @__PURE__ */ defineComponent({
11750
+ name: "HnToolbar",
11751
+ __name: "Toolbar",
11752
+ props: {
11753
+ label: {},
11754
+ orientation: { default: "horizontal" },
11755
+ dir: {},
11756
+ loop: {
11757
+ type: Boolean,
11758
+ default: true
11759
+ },
11760
+ disabled: {
11761
+ type: Boolean,
11762
+ default: false
11763
+ },
11764
+ size: { default: "md" },
11765
+ variant: { default: "primary" },
11766
+ class: {}
11767
+ },
11768
+ setup(__props) {
11769
+ const props = __props;
11770
+ const { root, direction, rootDirection } = useDirection$1(() => props.dir);
11771
+ provideToolbar({
11772
+ orientation: toRef(props, "orientation"),
11773
+ size: toRef(props, "size"),
11774
+ disabled: toRef(props, "disabled")
11775
+ });
11776
+ return (_ctx, _cache) => {
11777
+ return openBlock(), createBlock(unref(ToolbarRoot), {
11778
+ "as-child": "",
11779
+ orientation: props.orientation,
11780
+ dir: unref(direction),
11781
+ loop: props.loop,
11782
+ "aria-label": props.label,
11783
+ "aria-disabled": props.disabled || void 0,
11784
+ class: normalizeClass(unref(cn)(unref(toolbar)({
11785
+ orientation: props.orientation,
11786
+ variant: props.variant
11787
+ }), props.class))
11788
+ }, {
11789
+ default: withCtx(() => [createElementVNode("div", {
11790
+ ref_key: "root",
11791
+ ref: root,
11792
+ dir: unref(rootDirection),
11793
+ "data-hn-toolbar": ""
11794
+ }, [renderSlot(_ctx.$slots, "default")], 8, _hoisted_1$71)]),
11795
+ _: 3
11796
+ }, 8, [
11797
+ "orientation",
11798
+ "dir",
11799
+ "loop",
11800
+ "aria-label",
11801
+ "aria-disabled",
11802
+ "class"
11803
+ ]);
11804
+ };
11805
+ }
11806
+ });
11807
+ //#endregion
11808
+ //#region src/components/navigation-menu/context.ts
11809
+ var key = Symbol("hn-navigation-menu");
11810
+ function provideNavigationMenu(context) {
11811
+ provide(key, context);
11812
+ }
11813
+ function useNavigationMenu() {
11814
+ const context = inject(key);
11815
+ if (!context) throw new Error("NavigationMenu controls must be inside NavigationMenu.");
11816
+ return context;
11817
+ }
11818
+ //#endregion
11819
+ //#region src/components/navigation-menu/composables/useNavigationMenuKeyboard.ts
11820
+ function useNavigationMenuKeyboard(root, orientation, direction) {
11821
+ return (event) => {
11822
+ if (event.defaultPrevented || event.altKey || event.ctrlKey || event.metaKey) return;
11823
+ const items = Array.from(root.value?.querySelectorAll("[data-hn-navigation-list] > [data-menu-item] > [data-hn-navigation-control]") ?? []).filter((item) => !item.hasAttribute("data-disabled"));
11824
+ const index = items.indexOf(event.target);
11825
+ if (index < 0) return;
11826
+ const horizontal = orientation() === "horizontal";
11827
+ const next = horizontal ? direction() === "rtl" ? "ArrowLeft" : "ArrowRight" : "ArrowDown";
11828
+ const previous = horizontal ? direction() === "rtl" ? "ArrowRight" : "ArrowLeft" : "ArrowUp";
11829
+ let target;
11830
+ if (event.key === next) target = Math.min(index + 1, items.length - 1);
11831
+ else if (event.key === previous) target = Math.max(index - 1, 0);
11832
+ else if (event.key === "Home") target = 0;
11833
+ else if (event.key === "End") target = items.length - 1;
11834
+ else return;
11835
+ event.preventDefault();
11836
+ event.stopPropagation();
11837
+ items[target]?.focus();
11838
+ };
11839
+ }
11840
+ //#endregion
11841
+ //#region src/components/navigation-menu/composables/useNavigationMenuLayout.ts
11842
+ function useNavigationMenuLayout(root, orientation, direction) {
11843
+ const { left, right, update } = useElementBounding(root);
11844
+ const { width } = useWindowSize();
11845
+ const ancestors = shallowRef([]);
11846
+ const bounds = shallowRef({
11847
+ start: 16,
11848
+ end: width.value - 16
11849
+ });
11850
+ function measure() {
11851
+ let start = 16;
11852
+ let end = width.value - 16;
11853
+ for (const element of ancestors.value) {
11854
+ if (element.ownerDocument.defaultView?.getComputedStyle(element).overflowX === "visible") continue;
11855
+ const rect = element.getBoundingClientRect();
11856
+ start = Math.max(start, rect.left + element.clientLeft + 8);
11857
+ end = Math.min(end, rect.left + element.clientLeft + element.clientWidth - 8);
11858
+ }
11859
+ bounds.value = {
11860
+ start,
11861
+ end
11862
+ };
11863
+ }
11864
+ watch(root, (element) => {
11865
+ const parents = [];
11866
+ for (let parent = element?.parentElement; parent; parent = parent.parentElement) parents.push(parent);
11867
+ ancestors.value = parents;
11868
+ measure();
11869
+ }, { flush: "post" });
11870
+ watch([
11871
+ left,
11872
+ right,
11873
+ width
11874
+ ], measure, { flush: "post" });
11875
+ useResizeObserver(ancestors, () => {
11876
+ update();
11877
+ measure();
11878
+ });
11879
+ const available = computed(() => {
11880
+ const before = Math.max(0, left.value - bounds.value.start - 10);
11881
+ const after = Math.max(0, bounds.value.end - right.value - 10);
11882
+ return direction() === "rtl" ? {
11883
+ start: after,
11884
+ end: before
11885
+ } : {
11886
+ start: before,
11887
+ end: after
11888
+ };
11889
+ });
11890
+ const side = computed(() => orientation() === "vertical" && available.value.end < 320 && available.value.start > available.value.end ? "start" : "end");
11891
+ return {
11892
+ side,
11893
+ placement: computed(() => {
11894
+ if (orientation() === "horizontal") return "bottom";
11895
+ if (side.value === "end") return direction() === "rtl" ? "left" : "right";
11896
+ return direction() === "rtl" ? "right" : "left";
11897
+ }),
11898
+ style: computed(() => root.value ? {
11899
+ "--hn-navigation-max-width": `${orientation() === "vertical" ? available.value[side.value] : Math.max(0, bounds.value.end - bounds.value.start - 2)}px`,
11900
+ "--hn-navigation-min-x": `${bounds.value.start - left.value}px`,
11901
+ "--hn-navigation-bound-end": `${bounds.value.end - left.value}px`
11902
+ } : void 0)
11903
+ };
11904
+ }
11905
+ //#endregion
11906
+ //#region src/components/navigation-menu/navigation-menu.variants.ts
11907
+ var navigationMenu = tv({ base: "relative w-fit max-w-full" });
11908
+ var navigationMenuList = tv({
11909
+ base: "m-0 flex list-none gap-1 p-0",
11910
+ variants: { orientation: {
11911
+ horizontal: "flex-wrap items-center",
11912
+ vertical: "flex-col items-stretch"
11913
+ } }
11914
+ });
11915
+ var navigationMenuControl = tv({
11916
+ base: [
11917
+ "hn-interactive hn-state-layer hn-press-none relative isolate flex cursor-pointer items-center",
11918
+ "text-fg gap-(--hn-control-gap) rounded-md text-start font-medium no-underline outline-none select-none [&_svg]:shrink-0",
11919
+ "data-[state=open]:bg-inset data-active:text-accent-text data-active:bg-accent-soft",
11920
+ "data-disabled:pointer-events-none data-disabled:opacity-50"
11921
+ ],
11922
+ variants: {
11923
+ size: {
11924
+ sm: "min-h-(--hn-control-h-sm) px-(--hn-control-px-sm) text-xs [&_svg]:size-3.5",
11925
+ md: "min-h-(--hn-control-h-md) px-(--hn-control-px-md) text-sm [&_svg]:size-4",
11926
+ lg: "min-h-(--hn-control-h-lg) px-(--hn-control-px-lg) text-base [&_svg]:size-[1.125rem]"
11927
+ },
11928
+ orientation: {
11929
+ horizontal: "",
11930
+ vertical: "w-full"
11931
+ }
11932
+ },
11933
+ defaultVariants: { size: "md" }
11934
+ });
11935
+ var navigationMenuTrigger = tv({ base: "group/hn-disclosure" });
11936
+ var navigationMenuIcon = tv({ base: "inline-flex shrink-0 items-center justify-center gap-1" });
11937
+ var navigationMenuDisclosure = tv({
11938
+ base: "inline-flex shrink-0 text-muted",
11939
+ variants: { orientation: {
11940
+ horizontal: "",
11941
+ vertical: "rtl:-scale-x-100"
11942
+ } }
11943
+ });
11944
+ var navigationMenuLink = tv({ base: "py-2" });
11945
+ var navigationMenuContent = tv({
11946
+ base: "hn-anim-navigation-content absolute start-0 top-0 w-80 max-w-[min(calc(100vw-2rem),var(--hn-navigation-max-width,100vw))] outline-none rtl:start-auto rtl:end-0",
11947
+ variants: { padded: {
11948
+ true: "p-2",
11949
+ false: ""
11950
+ } },
11951
+ defaultVariants: { padded: true }
11952
+ });
11953
+ var navigationMenuViewport = tv({
11954
+ base: ["hn-navigation-viewport bg-surface border-line absolute z-(--hn-z-overlay) overflow-hidden rounded-lg border shadow-md", "h-(--reka-navigation-menu-viewport-height) w-(--reka-navigation-menu-viewport-width)"],
11955
+ variants: {
11956
+ orientation: {
11957
+ horizontal: "top-full mt-2 [left:clamp(var(--hn-navigation-min-x,0px),var(--reka-navigation-menu-viewport-left),calc(var(--hn-navigation-bound-end,100vw)-var(--reka-navigation-menu-viewport-width)-2px))]",
11958
+ vertical: "[top:var(--reka-navigation-menu-viewport-top)]"
11959
+ },
11960
+ side: {
11961
+ start: "",
11962
+ end: ""
11963
+ }
11964
+ },
11965
+ compoundVariants: [{
11966
+ orientation: "vertical",
11967
+ side: "end",
11968
+ class: "start-full ms-2"
11969
+ }, {
11970
+ orientation: "vertical",
11971
+ side: "start",
11972
+ class: "end-full me-2"
11973
+ }]
11974
+ });
11975
+ //#endregion
11976
+ //#region src/components/navigation-menu/NavigationMenu.vue?vue&type=script&setup=true&lang.ts
11977
+ var _hoisted_1$70 = ["dir"];
11978
+ //#endregion
11979
+ //#region src/components/navigation-menu/NavigationMenu.vue
11980
+ var NavigationMenu_default = /* @__PURE__ */ defineComponent({
11981
+ name: "HnNavigationMenu",
11982
+ __name: "NavigationMenu",
11983
+ props: /*@__PURE__*/ mergeModels({
11984
+ label: {},
11985
+ orientation: { default: "horizontal" },
11986
+ dir: {},
11987
+ size: { default: "md" },
11988
+ trigger: { default: "hover" },
11989
+ delayDuration: { default: 200 },
11990
+ skipDelayDuration: { default: 300 },
11991
+ align: { default: "center" },
11992
+ unmountOnHide: {
11993
+ type: Boolean,
11994
+ default: true
11995
+ },
11996
+ class: {},
11997
+ listClass: {},
11998
+ viewportClass: {}
11999
+ }, {
12000
+ "modelValue": { default: "" },
12001
+ "modelModifiers": {}
12002
+ }),
12003
+ emits: ["update:modelValue"],
12004
+ setup(__props) {
12005
+ const props = __props;
12006
+ const model = useModel(__props, "modelValue");
12007
+ const { root, direction, rootDirection } = useDirection$1(() => props.dir);
12008
+ const onKeydown = useNavigationMenuKeyboard(root, () => props.orientation, () => direction.value);
12009
+ const { side, placement, style } = useNavigationMenuLayout(root, () => props.orientation, () => direction.value);
12010
+ const align = computed(() => props.orientation === "horizontal" && direction.value === "rtl" && props.align !== "center" ? props.align === "start" ? "end" : "start" : props.align);
12011
+ provideNavigationMenu({
12012
+ size: toRef(props, "size"),
12013
+ orientation: toRef(props, "orientation")
12014
+ });
12015
+ return (_ctx, _cache) => {
12016
+ return openBlock(), createBlock(unref(NavigationMenuRoot), {
12017
+ key: props.orientation,
12018
+ modelValue: model.value,
12019
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => model.value = $event),
12020
+ "as-child": "",
12021
+ orientation: props.orientation,
12022
+ dir: unref(direction),
12023
+ "delay-duration": props.delayDuration,
12024
+ "skip-delay-duration": props.skipDelayDuration,
12025
+ "disable-hover-trigger": props.trigger === "click",
12026
+ "disable-pointer-leave-close": props.trigger === "click",
12027
+ "unmount-on-hide": props.unmountOnHide,
12028
+ "aria-label": props.label,
12029
+ class: normalizeClass(unref(cn)(unref(navigationMenu)(), props.class)),
12030
+ onKeydownCapture: unref(onKeydown)
12031
+ }, {
12032
+ default: withCtx(() => [createElementVNode("nav", {
12033
+ ref_key: "root",
12034
+ ref: root,
12035
+ dir: unref(rootDirection),
12036
+ style: normalizeStyle(unref(style)),
12037
+ "data-hn-navigation-menu": ""
12038
+ }, [createVNode(unref(NavigationMenuList), {
12039
+ "data-hn-navigation-list": "",
12040
+ class: normalizeClass(unref(cn)(unref(navigationMenuList)({ orientation: props.orientation }), props.listClass))
12041
+ }, {
12042
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default", { value: model.value })]),
12043
+ _: 3
12044
+ }, 8, ["class"]), createVNode(unref(NavigationMenuViewport), {
12045
+ "data-hn-navigation-viewport": "",
12046
+ align: align.value,
12047
+ "data-side": unref(placement),
12048
+ class: normalizeClass(unref(cn)(unref(navigationMenuViewport)({
12049
+ orientation: props.orientation,
12050
+ side: unref(side)
12051
+ }), props.viewportClass))
12052
+ }, null, 8, [
12053
+ "align",
12054
+ "data-side",
12055
+ "class"
12056
+ ])], 12, _hoisted_1$70)]),
12057
+ _: 3
12058
+ }, 8, [
12059
+ "modelValue",
12060
+ "orientation",
12061
+ "dir",
12062
+ "delay-duration",
12063
+ "skip-delay-duration",
12064
+ "disable-hover-trigger",
12065
+ "disable-pointer-leave-close",
12066
+ "unmount-on-hide",
12067
+ "aria-label",
12068
+ "class",
12069
+ "onKeydownCapture"
12070
+ ]);
12071
+ };
12072
+ }
12073
+ });
12074
+ //#endregion
12075
+ //#region src/components/navigation-menu/NavigationMenuItem.vue
12076
+ var NavigationMenuItem_default = /* @__PURE__ */ defineComponent({
12077
+ name: "HnNavigationMenuItem",
12078
+ __name: "NavigationMenuItem",
12079
+ props: { value: {} },
12080
+ setup(__props) {
12081
+ const props = __props;
12082
+ return (_ctx, _cache) => {
12083
+ return openBlock(), createBlock(unref(NavigationMenuItem), { value: props.value }, {
12084
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
12085
+ _: 3
12086
+ }, 8, ["value"]);
12087
+ };
12088
+ }
12089
+ });
12090
+ //#endregion
12091
+ //#region src/components/navigation-menu/NavigationMenuTrigger.vue?vue&type=script&setup=true&lang.ts
12092
+ var _hoisted_1$69 = { class: "min-w-0 flex-1" };
12093
+ //#endregion
12094
+ //#region src/components/navigation-menu/NavigationMenuTrigger.vue
12095
+ var NavigationMenuTrigger_default = /* @__PURE__ */ defineComponent({
12096
+ name: "HnNavigationMenuTrigger",
12097
+ __name: "NavigationMenuTrigger",
12098
+ props: {
12099
+ disabled: { type: Boolean },
12100
+ class: {}
12101
+ },
12102
+ setup(__props) {
12103
+ const props = __props;
12104
+ const menu = useNavigationMenu();
12105
+ return (_ctx, _cache) => {
12106
+ return openBlock(), createBlock(unref(NavigationMenuTrigger), {
12107
+ type: "button",
12108
+ "data-hn-navigation-control": "",
12109
+ disabled: props.disabled,
12110
+ class: normalizeClass(unref(cn)(unref(navigationMenuControl)({
12111
+ size: unref(menu).size.value,
12112
+ orientation: unref(menu).orientation.value
12113
+ }), unref(navigationMenuTrigger)(), props.class))
12114
+ }, {
12115
+ default: withCtx(() => [
12116
+ _ctx.$slots.icon ? (openBlock(), createElementBlock("span", {
12117
+ key: 0,
12118
+ class: normalizeClass(unref(navigationMenuIcon)()),
12119
+ "aria-hidden": "true"
12120
+ }, [renderSlot(_ctx.$slots, "icon")], 2)) : createCommentVNode("", true),
12121
+ createElementVNode("span", _hoisted_1$69, [renderSlot(_ctx.$slots, "default")]),
12122
+ createElementVNode("span", { class: normalizeClass(unref(navigationMenuIcon)()) }, [renderSlot(_ctx.$slots, "trailing", {}, () => [createElementVNode("span", { class: normalizeClass(unref(navigationMenuDisclosure)({ orientation: unref(menu).orientation.value })) }, [createVNode(DisclosureIcon_default, { direction: unref(menu).orientation.value === "vertical" ? "end" : "down" }, null, 8, ["direction"])], 2)])], 2)
12123
+ ]),
12124
+ _: 3
12125
+ }, 8, ["disabled", "class"]);
12126
+ };
12127
+ }
12128
+ });
12129
+ //#endregion
12130
+ //#region src/components/navigation-menu/NavigationMenuLink.vue?vue&type=script&setup=true&lang.ts
12131
+ var _hoisted_1$68 = { class: "flex min-w-0 flex-1 flex-col gap-1" };
12132
+ var _hoisted_2$37 = {
12133
+ key: 0,
12134
+ class: "text-muted text-xs leading-relaxed font-normal"
12135
+ };
12136
+ //#endregion
12137
+ //#region src/components/navigation-menu/NavigationMenuLink.vue
12138
+ var NavigationMenuLink_default = /* @__PURE__ */ defineComponent({
12139
+ name: "HnNavigationMenuLink",
12140
+ inheritAttrs: false,
12141
+ __name: "NavigationMenuLink",
12142
+ props: {
12143
+ asChild: { type: Boolean },
12144
+ as: { default: "a" },
12145
+ active: { type: Boolean },
12146
+ disabled: { type: Boolean },
12147
+ description: {},
12148
+ class: {}
12149
+ },
12150
+ emits: ["select"],
12151
+ setup(__props, { emit: __emit }) {
12152
+ const props = __props;
12153
+ const emit = __emit;
12154
+ const menu = useNavigationMenu();
12155
+ function guard(event) {
12156
+ if (!props.disabled) return;
12157
+ event.preventDefault();
12158
+ event.stopImmediatePropagation();
12159
+ }
12160
+ return (_ctx, _cache) => {
12161
+ return openBlock(), createBlock(unref(NavigationMenuLink), mergeProps(_ctx.$attrs, {
12162
+ as: props.as,
12163
+ "as-child": props.asChild,
12164
+ active: props.active,
12165
+ "aria-disabled": props.disabled || void 0,
12166
+ "data-disabled": props.disabled ? "" : void 0,
12167
+ tabindex: props.disabled ? -1 : void 0,
12168
+ "data-hn-navigation-control": "",
12169
+ class: unref(cn)(unref(navigationMenuControl)({
12170
+ size: unref(menu).size.value,
12171
+ orientation: unref(menu).orientation.value
12172
+ }), unref(navigationMenuLink)(), props.class),
12173
+ onClickCapture: guard,
12174
+ onSelect: _cache[0] || (_cache[0] = ($event) => emit("select", $event))
12175
+ }), {
12176
+ default: withCtx(() => [props.asChild ? renderSlot(_ctx.$slots, "default", {}, void 0, void 0, 0) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
12177
+ _ctx.$slots.icon ? (openBlock(), createElementBlock("span", {
12178
+ key: 0,
12179
+ class: normalizeClass(unref(navigationMenuIcon)()),
12180
+ "aria-hidden": "true"
12181
+ }, [renderSlot(_ctx.$slots, "icon")], 2)) : createCommentVNode("", true),
12182
+ createElementVNode("span", _hoisted_1$68, [createElementVNode("span", null, [renderSlot(_ctx.$slots, "default")]), props.description || _ctx.$slots.description ? (openBlock(), createElementBlock("span", _hoisted_2$37, [renderSlot(_ctx.$slots, "description", {}, () => [createTextVNode(toDisplayString(props.description), 1)])])) : createCommentVNode("", true)]),
12183
+ _ctx.$slots.trailing ? (openBlock(), createElementBlock("span", {
12184
+ key: 1,
12185
+ class: normalizeClass(unref(navigationMenuIcon)())
12186
+ }, [renderSlot(_ctx.$slots, "trailing")], 2)) : createCommentVNode("", true)
12187
+ ], 64))]),
12188
+ _: 3
12189
+ }, 16, [
12190
+ "as",
12191
+ "as-child",
12192
+ "active",
12193
+ "aria-disabled",
12194
+ "data-disabled",
12195
+ "tabindex",
12196
+ "class"
12197
+ ]);
12198
+ };
12199
+ }
12200
+ });
12201
+ //#endregion
12202
+ //#region src/components/navigation-menu/NavigationMenuContent.vue
12203
+ var NavigationMenuContent_default = /* @__PURE__ */ defineComponent({
12204
+ name: "HnNavigationMenuContent",
12205
+ inheritAttrs: false,
12206
+ __name: "NavigationMenuContent",
12207
+ props: {
12208
+ padded: {
12209
+ type: Boolean,
12210
+ default: true
12211
+ },
12212
+ class: {}
12213
+ },
12214
+ emits: [
12215
+ "escapeKeyDown",
12216
+ "pointerDownOutside",
12217
+ "focusOutside",
12218
+ "interactOutside"
12219
+ ],
12220
+ setup(__props, { emit: __emit }) {
12221
+ const props = __props;
12222
+ const events = useForwardPropsEmits({}, __emit);
12223
+ return (_ctx, _cache) => {
12224
+ return openBlock(), createBlock(unref(NavigationMenuContent), mergeProps({
12225
+ ..._ctx.$attrs,
12226
+ ...unref(events)
12227
+ }, {
12228
+ "data-hn-navigation-content": "",
12229
+ class: unref(cn)(unref(navigationMenuContent)({ padded: props.padded }), props.class)
12230
+ }), {
12231
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
12232
+ _: 3
12233
+ }, 16, ["class"]);
12234
+ };
12235
+ }
12236
+ });
12237
+ //#endregion
12238
+ //#region src/components/toolbar/ToolbarControl.vue
12239
+ var ToolbarControl_default = /* @__PURE__ */ defineComponent({
12240
+ inheritAttrs: false,
12241
+ __name: "ToolbarControl",
12242
+ props: {
12243
+ label: {},
12244
+ tooltip: {
12245
+ type: Boolean,
12246
+ default: true
12247
+ },
12248
+ side: { default: "top" },
12249
+ variant: { default: "ghost" },
12250
+ tone: { default: "neutral" },
12251
+ size: {},
12252
+ disabled: { type: Boolean },
12253
+ loading: { type: Boolean },
12254
+ ripple: {
12255
+ type: Boolean,
12256
+ default: true
12257
+ },
12258
+ class: {},
12259
+ asChild: { type: Boolean },
12260
+ as: { default: "button" }
12261
+ },
12262
+ setup(__props) {
12263
+ const props = __props;
12264
+ const Wrapper = injectTooltipProviderContext(null) ? Tooltip_default : Passthrough;
12265
+ return (_ctx, _cache) => {
12266
+ return openBlock(), createBlock(unref(Wrapper), {
12267
+ disabled: !props.tooltip || !props.label,
12268
+ content: props.label ?? "",
12269
+ side: props.side
12270
+ }, {
12271
+ default: withCtx(() => [createVNode(Button_default, mergeProps(_ctx.$attrs, {
12272
+ as: props.as,
12273
+ "as-child": props.asChild,
12274
+ "aria-label": props.label,
12275
+ "icon-only": !!props.label,
12276
+ size: props.size,
12277
+ variant: props.variant,
12278
+ tone: props.tone,
12279
+ disabled: props.disabled,
12280
+ loading: props.loading,
12281
+ ripple: props.ripple,
12282
+ class: props.class
12283
+ }), createSlots({ _: 2 }, [renderList(_ctx.$slots, (_, name) => {
12284
+ return {
12285
+ name,
12286
+ fn: withCtx(() => [renderSlot(_ctx.$slots, name)])
12287
+ };
12288
+ })]), 1040, [
12289
+ "as",
12290
+ "as-child",
12291
+ "aria-label",
12292
+ "icon-only",
12293
+ "size",
12294
+ "variant",
12295
+ "tone",
12296
+ "disabled",
12297
+ "loading",
12298
+ "ripple",
12299
+ "class"
12300
+ ])]),
12301
+ _: 3
12302
+ }, 8, [
12303
+ "disabled",
12304
+ "content",
12305
+ "side"
12306
+ ]);
12307
+ };
12308
+ }
12309
+ });
12310
+ //#endregion
12311
+ //#region src/components/toolbar/ToolbarButton.vue
12312
+ var ToolbarButton_default = /* @__PURE__ */ defineComponent({
12313
+ name: "HnToolbarButton",
12314
+ inheritAttrs: false,
12315
+ __name: "ToolbarButton",
12316
+ props: {
12317
+ label: {},
12318
+ tooltip: {
12319
+ type: Boolean,
12320
+ default: true
12321
+ },
12322
+ side: {},
12323
+ variant: {},
12324
+ tone: {},
12325
+ size: {},
12326
+ disabled: { type: Boolean },
12327
+ loading: { type: Boolean },
12328
+ ripple: {
12329
+ type: Boolean,
12330
+ default: true
12331
+ },
12332
+ class: {},
12333
+ asChild: { type: Boolean },
12334
+ as: {}
12335
+ },
12336
+ setup(__props) {
12337
+ const props = __props;
12338
+ const toolbar = useToolbar();
12339
+ const disabled = computed(() => toolbar.disabled.value || props.disabled || props.loading);
12340
+ return (_ctx, _cache) => {
12341
+ return openBlock(), createBlock(unref(ToolbarButton), {
12342
+ "as-child": "",
12343
+ as: props.as,
12344
+ disabled: disabled.value
12345
+ }, {
12346
+ default: withCtx(() => [createVNode(ToolbarControl_default, mergeProps({
12347
+ ..._ctx.$attrs,
12348
+ ...props
12349
+ }, {
12350
+ disabled: disabled.value,
12351
+ size: props.size ?? unref(toolbar).size.value
12352
+ }), createSlots({ _: 2 }, [renderList(_ctx.$slots, (_, name) => {
12353
+ return {
12354
+ name,
12355
+ fn: withCtx(() => [renderSlot(_ctx.$slots, name)])
12356
+ };
12357
+ })]), 1040, ["disabled", "size"])]),
12358
+ _: 3
12359
+ }, 8, ["as", "disabled"]);
12360
+ };
12361
+ }
12362
+ });
12363
+ //#endregion
12364
+ //#region src/components/toolbar/ToolbarLink.vue
12365
+ var ToolbarLink_default = /* @__PURE__ */ defineComponent({
12366
+ name: "HnToolbarLink",
12367
+ inheritAttrs: false,
12368
+ __name: "ToolbarLink",
12369
+ props: {
12370
+ label: {},
12371
+ tooltip: {
12372
+ type: Boolean,
12373
+ default: true
12374
+ },
12375
+ side: {},
12376
+ variant: {},
12377
+ tone: {},
12378
+ size: {},
12379
+ disabled: { type: Boolean },
12380
+ loading: { type: Boolean },
12381
+ ripple: {
12382
+ type: Boolean,
12383
+ default: true
12384
+ },
12385
+ class: {},
12386
+ asChild: { type: Boolean },
12387
+ as: { default: "a" },
12388
+ href: {},
12389
+ target: {},
12390
+ rel: {}
12391
+ },
12392
+ setup(__props) {
12393
+ const props = __props;
12394
+ const toolbar = useToolbar();
12395
+ const disabled = computed(() => toolbar.disabled.value || props.disabled || props.loading);
12396
+ function activate(event) {
12397
+ if (!disabled.value) event.currentTarget.click();
12398
+ }
12399
+ return (_ctx, _cache) => {
12400
+ return openBlock(), createBlock(unref(ToolbarButton), {
12401
+ "as-child": "",
12402
+ as: props.as,
12403
+ disabled: disabled.value
12404
+ }, {
12405
+ default: withCtx(() => [createVNode(ToolbarControl_default, mergeProps({
12406
+ ..._ctx.$attrs,
12407
+ ...props
12408
+ }, {
12409
+ disabled: disabled.value,
12410
+ size: props.size ?? unref(toolbar).size.value,
12411
+ onKeydown: withKeys(withModifiers(activate, ["prevent"]), ["space"])
12412
+ }), createSlots({ _: 2 }, [renderList(_ctx.$slots, (_, name) => {
12413
+ return {
12414
+ name,
12415
+ fn: withCtx(() => [renderSlot(_ctx.$slots, name)])
12416
+ };
12417
+ })]), 1040, [
12418
+ "disabled",
12419
+ "size",
12420
+ "onKeydown"
12421
+ ])]),
12422
+ _: 3
12423
+ }, 8, ["as", "disabled"]);
12424
+ };
12425
+ }
12426
+ });
12427
+ //#endregion
12428
+ //#region src/components/toolbar/ToolbarToggleGroup.vue
12429
+ var ToolbarToggleGroup_default = /* @__PURE__ */ defineComponent({
12430
+ name: "HnToolbarToggleGroup",
12431
+ __name: "ToolbarToggleGroup",
12432
+ props: /*@__PURE__*/ mergeModels({
12433
+ type: { default: "single" },
12434
+ defaultValue: {},
12435
+ label: {},
12436
+ disabled: { type: Boolean },
12437
+ class: {}
12438
+ }, {
12439
+ "modelValue": {},
12440
+ "modelModifiers": {}
12441
+ }),
12442
+ emits: ["update:modelValue"],
12443
+ setup(__props) {
12444
+ const props = __props;
12445
+ const model = useModel(__props, "modelValue");
12446
+ const toolbar = useToolbar();
12447
+ const disabled = computed(() => toolbar.disabled.value || !!props.disabled);
12448
+ provideToolbarGroup(disabled);
12449
+ function update(value) {
12450
+ model.value = value;
12451
+ }
12452
+ return (_ctx, _cache) => {
12453
+ return openBlock(), createBlock(unref(ToolbarToggleGroup), {
12454
+ "model-value": model.value,
12455
+ "default-value": props.defaultValue,
12456
+ type: props.type,
12457
+ disabled: disabled.value,
12458
+ orientation: unref(toolbar).orientation.value,
12459
+ "aria-label": props.label,
12460
+ class: normalizeClass(unref(cn)(unref(toolbarGroup)({ orientation: unref(toolbar).orientation.value }), props.class)),
12461
+ "onUpdate:modelValue": update
12462
+ }, {
12463
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
12464
+ _: 3
12465
+ }, 8, [
12466
+ "model-value",
12467
+ "default-value",
12468
+ "type",
12469
+ "disabled",
12470
+ "orientation",
12471
+ "aria-label",
12472
+ "class"
12473
+ ]);
12474
+ };
12475
+ }
12476
+ });
12477
+ //#endregion
12478
+ //#region src/components/toolbar/ToolbarToggleItem.vue
12479
+ var ToolbarToggleItem_default = /* @__PURE__ */ defineComponent({
12480
+ name: "HnToolbarToggleItem",
12481
+ inheritAttrs: false,
12482
+ __name: "ToolbarToggleItem",
12483
+ props: {
12484
+ label: {},
12485
+ tooltip: {
12486
+ type: Boolean,
12487
+ default: true
12488
+ },
12489
+ side: {},
12490
+ variant: {},
12491
+ tone: {},
12492
+ size: {},
12493
+ disabled: { type: Boolean },
12494
+ loading: { type: Boolean },
12495
+ ripple: {
12496
+ type: Boolean,
12497
+ default: true
12498
+ },
12499
+ class: {},
12500
+ asChild: { type: Boolean },
12501
+ as: {},
12502
+ value: {}
12503
+ },
12504
+ setup(__props) {
12505
+ const props = __props;
12506
+ const toolbar = useToolbar();
12507
+ const groupDisabled = useToolbarGroup();
12508
+ const disabled = computed(() => toolbar.disabled.value || groupDisabled?.value || props.disabled || props.loading);
12509
+ return (_ctx, _cache) => {
12510
+ return openBlock(), createBlock(unref(ToolbarToggleItem), {
12511
+ "as-child": "",
12512
+ value: props.value,
12513
+ disabled: disabled.value
12514
+ }, {
12515
+ default: withCtx(() => [createVNode(ToolbarControl_default, mergeProps({
12516
+ ..._ctx.$attrs,
12517
+ ...props
12518
+ }, {
12519
+ disabled: disabled.value,
12520
+ size: props.size ?? unref(toolbar).size.value,
12521
+ class: unref(cn)("aria-pressed:text-accent-text", props.class)
12522
+ }), createSlots({ _: 2 }, [renderList(_ctx.$slots, (_, name) => {
12523
+ return {
12524
+ name,
12525
+ fn: withCtx(() => [renderSlot(_ctx.$slots, name)])
12526
+ };
12527
+ })]), 1040, [
12528
+ "disabled",
12529
+ "size",
12530
+ "class"
12531
+ ])]),
12532
+ _: 3
12533
+ }, 8, ["value", "disabled"]);
12534
+ };
12535
+ }
12536
+ });
12537
+ //#endregion
12538
+ //#region src/components/toolbar/ToolbarSeparator.vue
12539
+ var ToolbarSeparator_default = /* @__PURE__ */ defineComponent({
12540
+ name: "HnToolbarSeparator",
12541
+ __name: "ToolbarSeparator",
12542
+ props: {
12543
+ decorative: {
12544
+ type: Boolean,
12545
+ default: true
12546
+ },
12547
+ class: {}
12548
+ },
12549
+ setup(__props) {
12550
+ const props = __props;
12551
+ const toolbar = useToolbar();
12552
+ return (_ctx, _cache) => {
12553
+ return openBlock(), createBlock(unref(Separator), {
12554
+ orientation: unref(toolbar).orientation.value === "horizontal" ? "vertical" : "horizontal",
12555
+ decorative: props.decorative,
12556
+ class: normalizeClass(unref(cn)(unref(toolbarSeparator)({ orientation: unref(toolbar).orientation.value }), props.class))
12557
+ }, null, 8, [
12558
+ "orientation",
12559
+ "decorative",
12560
+ "class"
12561
+ ]);
12562
+ };
12563
+ }
12564
+ });
12565
+ //#endregion
11676
12566
  //#region src/components/tags-input/tags-input.variants.ts
11677
12567
  var tagsInputHost = tv({
11678
12568
  base: "relative h-auto min-h-[var(--hn-input-h)] gap-1 ps-[var(--hn-input-px)]",
@@ -11708,7 +12598,7 @@ var tagsInputControl = tv({
11708
12598
  var tagsInputChip = tv({ base: "max-w-full min-w-0 shrink data-disabled:opacity-100" });
11709
12599
  //#endregion
11710
12600
  //#region src/components/tags-input/TagsInputChip.vue?vue&type=script&setup=true&lang.ts
11711
- var _hoisted_1$64 = { class: "min-w-0 truncate" };
12601
+ var _hoisted_1$67 = { class: "min-w-0 truncate" };
11712
12602
  //#endregion
11713
12603
  //#region src/components/tags-input/TagsInputChip.vue
11714
12604
  var TagsInputChip_default = /* @__PURE__ */ defineComponent({
@@ -11735,7 +12625,7 @@ var TagsInputChip_default = /* @__PURE__ */ defineComponent({
11735
12625
  onRemove: _cache[0] || (_cache[0] = ($event) => emit("remove"))
11736
12626
  }), {
11737
12627
  default: withCtx(() => [createVNode(unref(TagsInputItemText), { "as-child": "" }, {
11738
- default: withCtx(() => [createElementVNode("span", _hoisted_1$64, toDisplayString(props.tag), 1)]),
12628
+ default: withCtx(() => [createElementVNode("span", _hoisted_1$67, toDisplayString(props.tag), 1)]),
11739
12629
  _: 1
11740
12630
  })]),
11741
12631
  _: 1
@@ -11749,7 +12639,7 @@ var TagsInputChip_default = /* @__PURE__ */ defineComponent({
11749
12639
  });
11750
12640
  //#endregion
11751
12641
  //#region src/components/tags-input/TagsInput.vue?vue&type=script&setup=true&lang.ts
11752
- var _hoisted_1$63 = ["data-invalid", "data-disabled"];
12642
+ var _hoisted_1$66 = ["data-invalid", "data-disabled"];
11753
12643
  //#endregion
11754
12644
  //#region src/components/tags-input/TagsInput.vue
11755
12645
  var TagsInput_default = /* @__PURE__ */ defineComponent({
@@ -11900,7 +12790,7 @@ var TagsInput_default = /* @__PURE__ */ defineComponent({
11900
12790
  _: 1
11901
12791
  }, 8, ["label"])], 2)) : createCommentVNode("", true)]),
11902
12792
  _: 1
11903
- })], 10, _hoisted_1$63);
12793
+ })], 10, _hoisted_1$66);
11904
12794
  };
11905
12795
  }
11906
12796
  });
@@ -11955,12 +12845,12 @@ var multiComboboxHost = tv({
11955
12845
  var multiComboboxEnd = tv({ base: "absolute inset-y-0 end-0 flex items-stretch" });
11956
12846
  //#endregion
11957
12847
  //#region src/components/multi-combobox/MultiCombobox.vue?vue&type=script&setup=true&lang.ts
11958
- var _hoisted_1$62 = [
12848
+ var _hoisted_1$65 = [
11959
12849
  "data-invalid",
11960
12850
  "data-disabled",
11961
12851
  "aria-busy"
11962
12852
  ];
11963
- var _hoisted_2$32 = { class: "min-w-0 truncate" };
12853
+ var _hoisted_2$36 = { class: "min-w-0 truncate" };
11964
12854
  //#endregion
11965
12855
  //#region src/components/multi-combobox/MultiCombobox.vue
11966
12856
  var MultiCombobox_default = /* @__PURE__ */ defineComponent({
@@ -12055,7 +12945,7 @@ var MultiCombobox_default = /* @__PURE__ */ defineComponent({
12055
12945
  class: normalizeClass(unref(tagsInputChip)()),
12056
12946
  onRemove: ($event) => unref(remove)(option.value)
12057
12947
  }, {
12058
- default: withCtx(() => [createElementVNode("span", _hoisted_2$32, toDisplayString(option.label), 1)]),
12948
+ default: withCtx(() => [createElementVNode("span", _hoisted_2$36, toDisplayString(option.label), 1)]),
12059
12949
  _: 2
12060
12950
  }, 1032, [
12061
12951
  "size",
@@ -12122,7 +13012,7 @@ var MultiCombobox_default = /* @__PURE__ */ defineComponent({
12122
13012
  "aria-label",
12123
13013
  "disabled",
12124
13014
  "class"
12125
- ])], 2)], 10, _hoisted_1$62)]),
13015
+ ])], 2)], 10, _hoisted_1$65)]),
12126
13016
  _: 1
12127
13017
  }), createVNode(ComboboxList_default, {
12128
13018
  options: props.options,
@@ -12806,7 +13696,7 @@ var dateFieldSegment = tv({
12806
13696
  });
12807
13697
  //#endregion
12808
13698
  //#region src/components/date-field/DateField.vue?vue&type=script&setup=true&lang.ts
12809
- var _hoisted_1$61 = ["data-invalid", "data-disabled"];
13699
+ var _hoisted_1$64 = ["data-invalid", "data-disabled"];
12810
13700
  //#endregion
12811
13701
  //#region src/components/date-field/DateField.vue
12812
13702
  var DateField_default = /* @__PURE__ */ defineComponent({
@@ -12963,7 +13853,7 @@ var DateField_default = /* @__PURE__ */ defineComponent({
12963
13853
  key: 1,
12964
13854
  class: normalizeClass(unref(inputAdornment)())
12965
13855
  }, [renderSlot(_ctx.$slots, "trailing")], 2)) : createCommentVNode("", true)
12966
- ], 10, _hoisted_1$61);
13856
+ ], 10, _hoisted_1$64);
12967
13857
  };
12968
13858
  }
12969
13859
  });
@@ -12994,7 +13884,7 @@ var InputGroupScope_default = /* @__PURE__ */ defineComponent({
12994
13884
  var datePickerContent = tv({ base: "hn-anim-pop z-(--hn-z-overlay) p-2 shadow-md outline-none" });
12995
13885
  //#endregion
12996
13886
  //#region src/components/date-picker/DatePicker.vue?vue&type=script&setup=true&lang.ts
12997
- var _hoisted_1$60 = ["data-invalid", "data-disabled"];
13887
+ var _hoisted_1$63 = ["data-invalid", "data-disabled"];
12998
13888
  //#endregion
12999
13889
  //#region src/components/date-picker/DatePicker.vue
13000
13890
  var DatePicker_default = /* @__PURE__ */ defineComponent({
@@ -13111,7 +14001,7 @@ var DatePicker_default = /* @__PURE__ */ defineComponent({
13111
14001
  _: 1
13112
14002
  }, 8, ["label", "disabled"])]),
13113
14003
  _: 1
13114
- })], 10, _hoisted_1$60)]),
14004
+ })], 10, _hoisted_1$63)]),
13115
14005
  _: 3
13116
14006
  }), createVNode(unref(PopoverPortal), null, {
13117
14007
  default: withCtx(() => [createVNode(unref(PopoverContent), {
@@ -13176,7 +14066,7 @@ function isRangeInvalid({ start, end }, bounds) {
13176
14066
  }
13177
14067
  //#endregion
13178
14068
  //#region src/components/date-range-field/DateRangeField.vue?vue&type=script&setup=true&lang.ts
13179
- var _hoisted_1$59 = ["data-invalid", "data-disabled"];
14069
+ var _hoisted_1$62 = ["data-invalid", "data-disabled"];
13180
14070
  //#endregion
13181
14071
  //#region src/components/date-range-field/DateRangeField.vue
13182
14072
  var DateRangeField_default = /* @__PURE__ */ defineComponent({
@@ -13345,7 +14235,7 @@ var DateRangeField_default = /* @__PURE__ */ defineComponent({
13345
14235
  key: 1,
13346
14236
  class: normalizeClass(unref(inputAdornment)())
13347
14237
  }, [renderSlot(_ctx.$slots, "trailing")], 2)) : createCommentVNode("", true)
13348
- ], 10, _hoisted_1$59);
14238
+ ], 10, _hoisted_1$62);
13349
14239
  };
13350
14240
  }
13351
14241
  });
@@ -13593,7 +14483,7 @@ var RangeCalendar_default = /* @__PURE__ */ defineComponent({
13593
14483
  });
13594
14484
  //#endregion
13595
14485
  //#region src/components/date-range-picker/DateRangePicker.vue?vue&type=script&setup=true&lang.ts
13596
- var _hoisted_1$58 = ["data-invalid", "data-disabled"];
14486
+ var _hoisted_1$61 = ["data-invalid", "data-disabled"];
13597
14487
  //#endregion
13598
14488
  //#region src/components/date-range-picker/DateRangePicker.vue
13599
14489
  var DateRangePicker_default = /* @__PURE__ */ defineComponent({
@@ -13711,7 +14601,7 @@ var DateRangePicker_default = /* @__PURE__ */ defineComponent({
13711
14601
  _: 1
13712
14602
  }, 8, ["label", "disabled"])]),
13713
14603
  _: 1
13714
- })], 10, _hoisted_1$58)]),
14604
+ })], 10, _hoisted_1$61)]),
13715
14605
  _: 3
13716
14606
  }), createVNode(unref(PopoverPortal), null, {
13717
14607
  default: withCtx(() => [createVNode(unref(PopoverContent), {
@@ -13765,7 +14655,7 @@ var DateRangePicker_default = /* @__PURE__ */ defineComponent({
13765
14655
  });
13766
14656
  //#endregion
13767
14657
  //#region src/components/time-field/TimeField.vue?vue&type=script&setup=true&lang.ts
13768
- var _hoisted_1$57 = ["data-invalid", "data-disabled"];
14658
+ var _hoisted_1$60 = ["data-invalid", "data-disabled"];
13769
14659
  //#endregion
13770
14660
  //#region src/components/time-field/TimeField.vue
13771
14661
  var TimeField_default = /* @__PURE__ */ defineComponent({
@@ -13928,7 +14818,7 @@ var TimeField_default = /* @__PURE__ */ defineComponent({
13928
14818
  key: 1,
13929
14819
  class: normalizeClass(unref(inputAdornment)())
13930
14820
  }, [renderSlot(_ctx.$slots, "trailing")], 2)) : createCommentVNode("", true)
13931
- ], 10, _hoisted_1$57);
14821
+ ], 10, _hoisted_1$60);
13932
14822
  };
13933
14823
  }
13934
14824
  });
@@ -13937,7 +14827,7 @@ var TimeField_default = /* @__PURE__ */ defineComponent({
13937
14827
  var dateTimePickerFooter = tv({ base: "mt-2 flex items-center justify-between gap-2" });
13938
14828
  //#endregion
13939
14829
  //#region src/components/date-time-picker/DateTimePicker.vue?vue&type=script&setup=true&lang.ts
13940
- var _hoisted_1$56 = ["data-invalid", "data-disabled"];
14830
+ var _hoisted_1$59 = ["data-invalid", "data-disabled"];
13941
14831
  //#endregion
13942
14832
  //#region src/components/date-time-picker/DateTimePicker.vue
13943
14833
  var DateTimePicker_default = /* @__PURE__ */ defineComponent({
@@ -14070,7 +14960,7 @@ var DateTimePicker_default = /* @__PURE__ */ defineComponent({
14070
14960
  _: 1
14071
14961
  }, 8, ["label", "disabled"])]),
14072
14962
  _: 1
14073
- })], 10, _hoisted_1$56)]),
14963
+ })], 10, _hoisted_1$59)]),
14074
14964
  _: 3
14075
14965
  }), createVNode(unref(PopoverPortal), null, {
14076
14966
  default: withCtx(() => [createVNode(unref(PopoverContent), {
@@ -14178,8 +15068,34 @@ function starFill(value, index) {
14178
15068
  return `${Math.round(portion * 1e3) / 10}%`;
14179
15069
  }
14180
15070
  //#endregion
15071
+ //#region src/components/rating/composables/useRatingScale.ts
15072
+ function useRatingScale(model, max, stars) {
15073
+ const count = computed(() => stars() ?? max());
15074
+ const scaled = computed(() => count.value !== max());
15075
+ function toScore(value) {
15076
+ return scaled.value ? Number((value / count.value * max()).toPrecision(15)) : value;
15077
+ }
15078
+ return {
15079
+ count,
15080
+ scaled,
15081
+ value: computed({
15082
+ get: () => scaled.value ? Number((model.value / max() * count.value).toFixed(10)) : model.value,
15083
+ set: (value) => {
15084
+ model.value = toScore(value);
15085
+ }
15086
+ }),
15087
+ toScore
15088
+ };
15089
+ }
15090
+ //#endregion
14181
15091
  //#region src/components/rating/Rating.vue?vue&type=script&setup=true&lang.ts
14182
- var _hoisted_1$55 = ["aria-label"];
15092
+ var _hoisted_1$58 = ["aria-label"];
15093
+ var _hoisted_2$35 = [
15094
+ "name",
15095
+ "value",
15096
+ "disabled",
15097
+ "form"
15098
+ ];
14183
15099
  //#endregion
14184
15100
  //#region src/components/rating/Rating.vue
14185
15101
  var Rating_default = /* @__PURE__ */ defineComponent({
@@ -14188,6 +15104,7 @@ var Rating_default = /* @__PURE__ */ defineComponent({
14188
15104
  __name: "Rating",
14189
15105
  props: /*@__PURE__*/ mergeModels({
14190
15106
  max: { default: 5 },
15107
+ stars: {},
14191
15108
  step: { default: 1 },
14192
15109
  clearable: {
14193
15110
  type: Boolean,
@@ -14206,6 +15123,7 @@ var Rating_default = /* @__PURE__ */ defineComponent({
14206
15123
  setup(__props) {
14207
15124
  const props = __props;
14208
15125
  const model = useModel(__props, "modelValue");
15126
+ const { count, scaled, value, toScore } = useRatingScale(model, () => props.max, () => props.stars);
14209
15127
  const t = useUiLocale();
14210
15128
  const { labelledBy, invalid, disabled, describedBy } = useFieldControl({ disabled: () => props.disabled });
14211
15129
  return (_ctx, _cache) => {
@@ -14213,32 +15131,32 @@ var Rating_default = /* @__PURE__ */ defineComponent({
14213
15131
  "data-hn-rating": "",
14214
15132
  "data-readonly": "",
14215
15133
  role: "img",
14216
- "aria-label": unref(t).rating.label(model.value, props.max),
15134
+ "aria-label": unref(scaled) ? unref(t).rating.score(model.value, props.max) : unref(t).rating.label(model.value, props.max),
14217
15135
  class: unref(cn)(unref(ratingRoot)({ size: props.size }), props.class)
14218
- }), [(openBlock(true), createElementBlock(Fragment, null, renderList(props.max, (index) => {
15136
+ }), [(openBlock(true), createElementBlock(Fragment, null, renderList(unref(count), (index) => {
14219
15137
  return openBlock(), createElementBlock("span", {
14220
15138
  key: index,
14221
15139
  class: normalizeClass(unref(ratingItem)())
14222
15140
  }, [createVNode(unref(Star), { class: normalizeClass(unref(ratingStar)()) }, null, 8, ["class"]), createElementVNode("span", {
14223
15141
  class: normalizeClass(unref(ratingFill)()),
14224
- style: normalizeStyle({ width: unref(starFill)(model.value, index) })
15142
+ style: normalizeStyle({ width: unref(starFill)(unref(value), index) })
14225
15143
  }, [createVNode(unref(Star), { class: normalizeClass(unref(ratingStar)({ active: true })) }, null, 8, ["class"])], 6)], 2);
14226
- }), 128))], 16, _hoisted_1$55)) : (openBlock(), createBlock(unref(RatingRoot), mergeProps({ key: 1 }, _ctx.$attrs, {
15144
+ }), 128))], 16, _hoisted_1$58)) : (openBlock(), createBlock(unref(RatingRoot), mergeProps({ key: 1 }, _ctx.$attrs, {
14227
15145
  "data-hn-rating": "",
14228
15146
  "data-disabled": unref(disabled) ? "" : void 0,
14229
15147
  "data-invalid": unref(invalid) ? "" : void 0,
14230
15148
  "aria-labelledby": unref(labelledBy),
14231
15149
  "aria-describedby": unref(describedBy),
14232
15150
  "aria-invalid": unref(invalid) || void 0,
14233
- "model-value": model.value,
14234
- length: props.max,
15151
+ modelValue: unref(value),
15152
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(value) ? value.value = $event : null),
15153
+ length: unref(count),
14235
15154
  step: props.step,
14236
15155
  clearable: props.clearable,
14237
15156
  hoverable: "",
14238
15157
  disabled: unref(disabled),
14239
- name: props.name,
14240
- class: unref(cn)(unref(ratingRoot)({ size: props.size }), props.class),
14241
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => model.value = $event)
15158
+ name: unref(scaled) ? void 0 : props.name,
15159
+ class: unref(cn)(unref(ratingRoot)({ size: props.size }), props.class)
14242
15160
  }), {
14243
15161
  default: withCtx(({ items }) => [(openBlock(true), createElementBlock(Fragment, null, renderList(items, (item) => {
14244
15162
  return openBlock(), createBlock(unref(RatingItem), {
@@ -14250,7 +15168,7 @@ var Rating_default = /* @__PURE__ */ defineComponent({
14250
15168
  return openBlock(), createBlock(unref(RatingItemIndicator), {
14251
15169
  key: step,
14252
15170
  step,
14253
- "aria-label": unref(t).rating.star(step),
15171
+ "aria-label": unref(scaled) ? unref(t).rating.score(unref(toScore)(step), props.max) : unref(t).rating.star(step),
14254
15172
  class: normalizeClass(unref(ratingStep)())
14255
15173
  }, {
14256
15174
  default: withCtx(() => [createVNode(unref(Star), { class: normalizeClass(unref(ratingStar)()) }, null, 8, ["class"])]),
@@ -14263,7 +15181,14 @@ var Rating_default = /* @__PURE__ */ defineComponent({
14263
15181
  }), 128))]),
14264
15182
  _: 1
14265
15183
  }, 8, ["item", "class"]);
14266
- }), 128))]),
15184
+ }), 128)), unref(scaled) && props.name ? (openBlock(), createElementBlock("input", {
15185
+ key: 0,
15186
+ type: "hidden",
15187
+ name: props.name,
15188
+ value: model.value,
15189
+ disabled: unref(disabled),
15190
+ form: _ctx.$attrs.form
15191
+ }, null, 8, _hoisted_2$35)) : createCommentVNode("", true)]),
14267
15192
  _: 1
14268
15193
  }, 16, [
14269
15194
  "data-disabled",
@@ -14271,7 +15196,7 @@ var Rating_default = /* @__PURE__ */ defineComponent({
14271
15196
  "aria-labelledby",
14272
15197
  "aria-describedby",
14273
15198
  "aria-invalid",
14274
- "model-value",
15199
+ "modelValue",
14275
15200
  "length",
14276
15201
  "step",
14277
15202
  "clearable",
@@ -14438,13 +15363,13 @@ function formatSize(tag, bytes) {
14438
15363
  }
14439
15364
  //#endregion
14440
15365
  //#region src/components/file-upload/FileUpload.vue?vue&type=script&setup=true&lang.ts
14441
- var _hoisted_1$54 = [
15366
+ var _hoisted_1$57 = [
14442
15367
  "name",
14443
15368
  "accept",
14444
15369
  "multiple",
14445
15370
  "disabled"
14446
15371
  ];
14447
- var _hoisted_2$31 = [
15372
+ var _hoisted_2$34 = [
14448
15373
  "id",
14449
15374
  "aria-describedby",
14450
15375
  "aria-invalid",
@@ -14453,7 +15378,7 @@ var _hoisted_2$31 = [
14453
15378
  "aria-busy",
14454
15379
  "disabled"
14455
15380
  ];
14456
- var _hoisted_3$15 = ["src"];
15381
+ var _hoisted_3$17 = ["src"];
14457
15382
  //#endregion
14458
15383
  //#region src/components/file-upload/FileUpload.vue
14459
15384
  var FileUpload_default = /* @__PURE__ */ defineComponent({
@@ -14533,7 +15458,7 @@ var FileUpload_default = /* @__PURE__ */ defineComponent({
14533
15458
  multiple: props.multiple,
14534
15459
  disabled: unref(disabled),
14535
15460
  onChange: _cache[0] || (_cache[0] = (...args) => unref(onChange) && unref(onChange)(...args))
14536
- }, null, 40, _hoisted_1$54),
15461
+ }, null, 40, _hoisted_1$57),
14537
15462
  props.variant === "area" ? (openBlock(), createElementBlock("button", mergeProps({ key: 0 }, _ctx.$attrs, {
14538
15463
  type: "button",
14539
15464
  "data-hn-file-upload-area": "",
@@ -14557,7 +15482,7 @@ var FileUpload_default = /* @__PURE__ */ defineComponent({
14557
15482
  }, {
14558
15483
  default: withCtx(() => [renderSlot(_ctx.$slots, "icon", {}, () => [createVNode(unref(Upload), { "aria-hidden": "true" })])]),
14559
15484
  _: 3
14560
- }, 8, ["swapped"]), renderSlot(_ctx.$slots, "default", {}, () => [createTextVNode(toDisplayString(unref(t).upload.dropHint), 1)])], 16, _hoisted_2$31)) : (openBlock(), createBlock(Button_default, mergeProps({ key: 1 }, _ctx.$attrs, {
15485
+ }, 8, ["swapped"]), renderSlot(_ctx.$slots, "default", {}, () => [createTextVNode(toDisplayString(unref(t).upload.dropHint), 1)])], 16, _hoisted_2$34)) : (openBlock(), createBlock(Button_default, mergeProps({ key: 1 }, _ctx.$attrs, {
14561
15486
  id: unref(fieldId),
14562
15487
  "aria-describedby": unref(describedBy),
14563
15488
  "aria-invalid": unref(invalid) || void 0,
@@ -14589,7 +15514,7 @@ var FileUpload_default = /* @__PURE__ */ defineComponent({
14589
15514
  key: 0,
14590
15515
  src: unref(urls).get(file),
14591
15516
  alt: ""
14592
- }, null, 8, _hoisted_3$15)) : (openBlock(), createBlock(unref(File), {
15517
+ }, null, 8, _hoisted_3$17)) : (openBlock(), createBlock(unref(File), {
14593
15518
  key: 1,
14594
15519
  "aria-hidden": "true"
14595
15520
  }))], 2),
@@ -14952,8 +15877,8 @@ var AlertDialog_default = /* @__PURE__ */ defineComponent({
14952
15877
  });
14953
15878
  //#endregion
14954
15879
  //#region src/components/popconfirm/Popconfirm.vue?vue&type=script&setup=true&lang.ts
14955
- var _hoisted_1$53 = { class: "flex flex-col gap-0.5" };
14956
- var _hoisted_2$30 = { class: "flex justify-end gap-2" };
15880
+ var _hoisted_1$56 = { class: "flex flex-col gap-0.5" };
15881
+ var _hoisted_2$33 = { class: "flex justify-end gap-2" };
14957
15882
  //#endregion
14958
15883
  //#region src/components/popconfirm/Popconfirm.vue
14959
15884
  var Popconfirm_default = /* @__PURE__ */ defineComponent({
@@ -15039,7 +15964,7 @@ var Popconfirm_default = /* @__PURE__ */ defineComponent({
15039
15964
  class: normalizeClass(unref(cn)("hn-anim-pop z-(--hn-z-overlay) flex w-max max-w-xs min-w-56 flex-col gap-2.5 p-3 shadow-md outline-none", props.class))
15040
15965
  }, {
15041
15966
  default: withCtx(() => [
15042
- createElementVNode("div", _hoisted_1$53, [createVNode(Text_default, {
15967
+ createElementVNode("div", _hoisted_1$56, [createVNode(Text_default, {
15043
15968
  id: unref(titleId),
15044
15969
  weight: "medium"
15045
15970
  }, {
@@ -15055,7 +15980,7 @@ var Popconfirm_default = /* @__PURE__ */ defineComponent({
15055
15980
  _: 1
15056
15981
  }, 8, ["id"])) : createCommentVNode("", true)]),
15057
15982
  renderSlot(_ctx.$slots, "content"),
15058
- createElementVNode("div", _hoisted_2$30, [createVNode(Button_default, {
15983
+ createElementVNode("div", _hoisted_2$33, [createVNode(Button_default, {
15059
15984
  size: "sm",
15060
15985
  variant: "soft",
15061
15986
  tone: "neutral",
@@ -15461,7 +16386,7 @@ var dropdownItem = tv({
15461
16386
  });
15462
16387
  //#endregion
15463
16388
  //#region src/components/context-menu/ContextMenuItem.vue?vue&type=script&setup=true&lang.ts
15464
- var _hoisted_1$52 = { class: "min-w-0 flex-1" };
16389
+ var _hoisted_1$55 = { class: "min-w-0 flex-1" };
15465
16390
  //#endregion
15466
16391
  //#region src/components/context-menu/ContextMenuItem.vue
15467
16392
  var ContextMenuItem_default = /* @__PURE__ */ defineComponent({
@@ -15487,7 +16412,7 @@ var ContextMenuItem_default = /* @__PURE__ */ defineComponent({
15487
16412
  }), {
15488
16413
  default: withCtx(() => [
15489
16414
  renderSlot(_ctx.$slots, "icon"),
15490
- createElementVNode("span", _hoisted_1$52, [renderSlot(_ctx.$slots, "default")]),
16415
+ createElementVNode("span", _hoisted_1$55, [renderSlot(_ctx.$slots, "default")]),
15491
16416
  renderSlot(_ctx.$slots, "trailing")
15492
16417
  ]),
15493
16418
  _: 3
@@ -15501,8 +16426,8 @@ var ContextMenuItem_default = /* @__PURE__ */ defineComponent({
15501
16426
  });
15502
16427
  //#endregion
15503
16428
  //#region src/components/context-menu/ContextMenuCheckboxItem.vue?vue&type=script&setup=true&lang.ts
15504
- var _hoisted_1$51 = { class: "min-w-0 flex-1" };
15505
- var _hoisted_2$29 = { class: "flex size-4 shrink-0 items-center justify-center" };
16429
+ var _hoisted_1$54 = { class: "min-w-0 flex-1" };
16430
+ var _hoisted_2$32 = { class: "flex size-4 shrink-0 items-center justify-center" };
15506
16431
  //#endregion
15507
16432
  //#region src/components/context-menu/ContextMenuCheckboxItem.vue
15508
16433
  var ContextMenuCheckboxItem_default = /* @__PURE__ */ defineComponent({
@@ -15534,9 +16459,9 @@ var ContextMenuCheckboxItem_default = /* @__PURE__ */ defineComponent({
15534
16459
  onSelect: _cache[1] || (_cache[1] = (event) => event.preventDefault())
15535
16460
  }), {
15536
16461
  default: withCtx(() => [
15537
- createElementVNode("span", _hoisted_1$51, [renderSlot(_ctx.$slots, "default")]),
16462
+ createElementVNode("span", _hoisted_1$54, [renderSlot(_ctx.$slots, "default")]),
15538
16463
  renderSlot(_ctx.$slots, "trailing"),
15539
- createElementVNode("span", _hoisted_2$29, [createVNode(unref(ContextMenuItemIndicator), null, {
16464
+ createElementVNode("span", _hoisted_2$32, [createVNode(unref(ContextMenuItemIndicator), null, {
15540
16465
  default: withCtx(() => [createVNode(unref(Check))]),
15541
16466
  _: 1
15542
16467
  })])
@@ -15569,7 +16494,7 @@ var ContextMenuGroup_default = /* @__PURE__ */ defineComponent({
15569
16494
  });
15570
16495
  //#endregion
15571
16496
  //#region src/components/context-menu/ContextMenuSub.vue?vue&type=script&setup=true&lang.ts
15572
- var _hoisted_1$50 = { class: "min-w-0 flex-1" };
16497
+ var _hoisted_1$53 = { class: "min-w-0 flex-1" };
15573
16498
  //#endregion
15574
16499
  //#region src/components/context-menu/ContextMenuSub.vue
15575
16500
  var ContextMenuSub_default = /* @__PURE__ */ defineComponent({
@@ -15600,7 +16525,7 @@ var ContextMenuSub_default = /* @__PURE__ */ defineComponent({
15600
16525
  }, {
15601
16526
  default: withCtx(() => [
15602
16527
  renderSlot(_ctx.$slots, "icon"),
15603
- createElementVNode("span", _hoisted_1$50, [renderSlot(_ctx.$slots, "label", {}, () => [createTextVNode(toDisplayString(props.label), 1)])]),
16528
+ createElementVNode("span", _hoisted_1$53, [renderSlot(_ctx.$slots, "label", {}, () => [createTextVNode(toDisplayString(props.label), 1)])]),
15604
16529
  createVNode(unref(ChevronRight), { class: "text-muted" })
15605
16530
  ]),
15606
16531
  _: 3
@@ -15683,8 +16608,8 @@ var ContextMenuRadioGroup_default = /* @__PURE__ */ defineComponent({
15683
16608
  });
15684
16609
  //#endregion
15685
16610
  //#region src/components/context-menu/ContextMenuRadioItem.vue?vue&type=script&setup=true&lang.ts
15686
- var _hoisted_1$49 = { class: "min-w-0 flex-1" };
15687
- var _hoisted_2$28 = { class: "flex size-4 shrink-0 items-center justify-center" };
16611
+ var _hoisted_1$52 = { class: "min-w-0 flex-1" };
16612
+ var _hoisted_2$31 = { class: "flex size-4 shrink-0 items-center justify-center" };
15688
16613
  //#endregion
15689
16614
  //#region src/components/context-menu/ContextMenuRadioItem.vue
15690
16615
  var ContextMenuRadioItem_default = /* @__PURE__ */ defineComponent({
@@ -15706,7 +16631,7 @@ var ContextMenuRadioItem_default = /* @__PURE__ */ defineComponent({
15706
16631
  "text-value": props.textValue,
15707
16632
  class: unref(cn)(unref(dropdownItem)(), props.class)
15708
16633
  }), {
15709
- default: withCtx(() => [createElementVNode("span", _hoisted_1$49, [renderSlot(_ctx.$slots, "default")]), createElementVNode("span", _hoisted_2$28, [createVNode(unref(ContextMenuItemIndicator), null, {
16634
+ default: withCtx(() => [createElementVNode("span", _hoisted_1$52, [renderSlot(_ctx.$slots, "default")]), createElementVNode("span", _hoisted_2$31, [createVNode(unref(ContextMenuItemIndicator), null, {
15710
16635
  default: withCtx(() => [createVNode(unref(Check), { class: "size-4" })]),
15711
16636
  _: 1
15712
16637
  })])]),
@@ -15827,21 +16752,21 @@ var sheetHandle = tv({
15827
16752
  });
15828
16753
  //#endregion
15829
16754
  //#region src/components/sheet/Sheet.vue?vue&type=script&setup=true&lang.ts
15830
- var _hoisted_1$48 = ["data-dragging"];
15831
- var _hoisted_2$27 = ["data-disabled"];
15832
- var _hoisted_3$14 = {
16755
+ var _hoisted_1$51 = ["data-dragging"];
16756
+ var _hoisted_2$30 = ["data-disabled"];
16757
+ var _hoisted_3$16 = {
15833
16758
  key: 1,
15834
16759
  class: "flex items-start justify-between gap-4 px-(--hn-panel-p)"
15835
16760
  };
15836
- var _hoisted_4$13 = { class: "flex min-w-0 flex-col gap-1.5" };
15837
- var _hoisted_5$10 = { class: "flex min-w-0 items-center gap-2" };
15838
- var _hoisted_6$6 = {
16761
+ var _hoisted_4$15 = { class: "flex min-w-0 flex-col gap-1.5" };
16762
+ var _hoisted_5$11 = { class: "flex min-w-0 items-center gap-2" };
16763
+ var _hoisted_6$7 = {
15839
16764
  key: 0,
15840
16765
  class: "text-muted flex shrink-0 [&_svg]:size-5",
15841
16766
  "aria-hidden": "true"
15842
16767
  };
15843
- var _hoisted_7$3 = { class: "px-(--hn-panel-p) py-1" };
15844
- var _hoisted_8$1 = {
16768
+ var _hoisted_7$4 = { class: "px-(--hn-panel-p) py-1" };
16769
+ var _hoisted_8$2 = {
15845
16770
  key: 1,
15846
16771
  class: "flex shrink-0 justify-end gap-(--hn-inline-gap) px-(--hn-panel-p)"
15847
16772
  };
@@ -15955,7 +16880,7 @@ var Sheet_default = /* @__PURE__ */ defineComponent({
15955
16880
  "aria-hidden": "true",
15956
16881
  "data-disabled": props.locked ? "" : void 0,
15957
16882
  class: normalizeClass(unref(sheetHandle)({ header: props.header && !slots.body }))
15958
- }, null, 10, _hoisted_2$27)) : createCommentVNode("", true), props.header && !slots.body ? (openBlock(), createElementBlock("div", _hoisted_3$14, [createElementVNode("div", _hoisted_4$13, [createElementVNode("div", _hoisted_5$10, [slots.icon ? (openBlock(), createElementBlock("span", _hoisted_6$6, [renderSlot(_ctx.$slots, "icon")])) : createCommentVNode("", true), createVNode(unref(DialogTitle), { "as-child": "" }, {
16883
+ }, null, 10, _hoisted_2$30)) : createCommentVNode("", true), props.header && !slots.body ? (openBlock(), createElementBlock("div", _hoisted_3$16, [createElementVNode("div", _hoisted_4$15, [createElementVNode("div", _hoisted_5$11, [slots.icon ? (openBlock(), createElementBlock("span", _hoisted_6$7, [renderSlot(_ctx.$slots, "icon")])) : createCommentVNode("", true), createVNode(unref(DialogTitle), { "as-child": "" }, {
15959
16884
  default: withCtx(() => [createVNode(Heading_default, {
15960
16885
  level: 2,
15961
16886
  size: "lg",
@@ -15983,16 +16908,16 @@ var Sheet_default = /* @__PURE__ */ defineComponent({
15983
16908
  class: "-mt-1.5 -me-1.5 shrink-0"
15984
16909
  }, null, 8, ["disabled"])]),
15985
16910
  _: 1
15986
- })) : createCommentVNode("", true)])) : createCommentVNode("", true)], 42, _hoisted_1$48)) : createCommentVNode("", true),
16911
+ })) : createCommentVNode("", true)])) : createCommentVNode("", true)], 42, _hoisted_1$51)) : createCommentVNode("", true),
15987
16912
  slots.body ? renderSlot(_ctx.$slots, "body", { close }, void 0, void 0, 2) : (openBlock(), createElementBlock(Fragment, { key: 3 }, [_ctx.$slots.content ? (openBlock(), createBlock(ScrollArea_default, {
15988
16913
  key: 0,
15989
16914
  ref_key: "scrollArea",
15990
16915
  ref: scrollArea,
15991
16916
  class: "min-h-0 grow"
15992
16917
  }, {
15993
- default: withCtx(() => [createElementVNode("div", _hoisted_7$3, [renderSlot(_ctx.$slots, "content", { close })])]),
16918
+ default: withCtx(() => [createElementVNode("div", _hoisted_7$4, [renderSlot(_ctx.$slots, "content", { close })])]),
15994
16919
  _: 3
15995
- }, 512)) : createCommentVNode("", true), _ctx.$slots.footer ? (openBlock(), createElementBlock("div", _hoisted_8$1, [renderSlot(_ctx.$slots, "footer", { close })])) : createCommentVNode("", true)], 64))
16920
+ }, 512)) : createCommentVNode("", true), _ctx.$slots.footer ? (openBlock(), createElementBlock("div", _hoisted_8$2, [renderSlot(_ctx.$slots, "footer", { close })])) : createCommentVNode("", true)], 64))
15996
16921
  ]),
15997
16922
  _: 3
15998
16923
  }, 16, [
@@ -16022,7 +16947,7 @@ var panelBody = tv({
16022
16947
  });
16023
16948
  //#endregion
16024
16949
  //#region src/components/panel/Panel.vue?vue&type=script&setup=true&lang.ts
16025
- var _hoisted_1$47 = { class: "flex min-w-0 flex-col gap-1" };
16950
+ var _hoisted_1$50 = { class: "flex min-w-0 flex-col gap-1" };
16026
16951
  //#endregion
16027
16952
  //#region src/components/panel/Panel.vue
16028
16953
  var Panel_default = /* @__PURE__ */ defineComponent({
@@ -16048,7 +16973,7 @@ var Panel_default = /* @__PURE__ */ defineComponent({
16048
16973
  padded: false,
16049
16974
  class: normalizeClass(unref(cn)("flex flex-col", props.class))
16050
16975
  }, {
16051
- default: withCtx(() => [createElementVNode("div", { class: normalizeClass(unref(panelHeader)()) }, [createElementVNode("div", _hoisted_1$47, [createElementVNode("div", { class: normalizeClass(unref(panelTitle)()) }, [
16976
+ default: withCtx(() => [createElementVNode("div", { class: normalizeClass(unref(panelHeader)()) }, [createElementVNode("div", _hoisted_1$50, [createElementVNode("div", { class: normalizeClass(unref(panelTitle)()) }, [
16052
16977
  unref(slots).icon ? (openBlock(), createElementBlock("span", {
16053
16978
  key: 0,
16054
16979
  class: normalizeClass(unref(panelIcon)()),
@@ -16148,7 +17073,7 @@ var progressBar = tv({
16148
17073
  });
16149
17074
  //#endregion
16150
17075
  //#region src/components/progress/Progress.vue?vue&type=script&setup=true&lang.ts
16151
- var _hoisted_1$46 = { key: 0 };
17076
+ var _hoisted_1$49 = { key: 0 };
16152
17077
  //#endregion
16153
17078
  //#region src/components/progress/Progress.vue
16154
17079
  var Progress_default = /* @__PURE__ */ defineComponent({
@@ -16184,7 +17109,7 @@ var Progress_default = /* @__PURE__ */ defineComponent({
16184
17109
  }, [props.label || props.showValue && unref(text) ? (openBlock(), createElementBlock("div", {
16185
17110
  key: 0,
16186
17111
  class: normalizeClass(unref(progressHeader)())
16187
- }, [props.label ? (openBlock(), createElementBlock("span", _hoisted_1$46, toDisplayString(props.label), 1)) : createCommentVNode("", true), props.showValue && unref(text) ? (openBlock(), createElementBlock("span", {
17112
+ }, [props.label ? (openBlock(), createElementBlock("span", _hoisted_1$49, toDisplayString(props.label), 1)) : createCommentVNode("", true), props.showValue && unref(text) ? (openBlock(), createElementBlock("span", {
16188
17113
  key: 1,
16189
17114
  class: normalizeClass(unref(progressValue)())
16190
17115
  }, toDisplayString(unref(text)), 3)) : createCommentVNode("", true)], 2)) : createCommentVNode("", true), createVNode(unref(ProgressRoot), mergeProps(_ctx.$attrs, {
@@ -16236,7 +17161,7 @@ var ringProgressCenter = tv({ base: "text-fg absolute inset-0 flex items-center
16236
17161
  var ringProgressLabel = tv({ base: "text-muted text-sm" });
16237
17162
  //#endregion
16238
17163
  //#region src/components/ring-progress/RingProgress.vue?vue&type=script&setup=true&lang.ts
16239
- var _hoisted_1$45 = ["stroke-dashoffset", "stroke-linecap"];
17164
+ var _hoisted_1$48 = ["stroke-dashoffset", "stroke-linecap"];
16240
17165
  //#endregion
16241
17166
  //#region src/components/ring-progress/RingProgress.vue
16242
17167
  var RingProgress_default = /* @__PURE__ */ defineComponent({
@@ -16300,7 +17225,7 @@ var RingProgress_default = /* @__PURE__ */ defineComponent({
16300
17225
  "stroke-dashoffset": offset.value,
16301
17226
  "stroke-linecap": offset.value < 100 ? "round" : void 0,
16302
17227
  class: normalizeClass(unref(ringProgressArc)({ tone: props.tone }))
16303
- }, null, 10, _hoisted_1$45)], 2)), unref(slots).default || props.showValue && unref(text) ? (openBlock(), createElementBlock("div", {
17228
+ }, null, 10, _hoisted_1$48)], 2)), unref(slots).default || props.showValue && unref(text) ? (openBlock(), createElementBlock("div", {
16304
17229
  key: 0,
16305
17230
  class: normalizeClass(unref(ringProgressCenter)())
16306
17231
  }, [renderSlot(_ctx.$slots, "default", {}, () => [createTextVNode(toDisplayString(unref(text)), 1)])], 2)) : createCommentVNode("", true)]),
@@ -16352,8 +17277,8 @@ function toneAt(index) {
16352
17277
  }
16353
17278
  //#endregion
16354
17279
  //#region src/components/meter-group/MeterGroup.vue?vue&type=script&setup=true&lang.ts
16355
- var _hoisted_1$44 = ["aria-label"];
16356
- var _hoisted_2$26 = [
17280
+ var _hoisted_1$47 = ["aria-label"];
17281
+ var _hoisted_2$29 = [
16357
17282
  "aria-label",
16358
17283
  "aria-valuenow",
16359
17284
  "aria-valuemax",
@@ -16424,8 +17349,8 @@ var MeterGroup_default = /* @__PURE__ */ defineComponent({
16424
17349
  "aria-valuetext": props.format ? entry.text : void 0,
16425
17350
  class: normalizeClass(unref(meterSegment)({ tone: entry.tone })),
16426
17351
  style: normalizeStyle({ width: entry.width })
16427
- }, null, 14, _hoisted_2$26);
16428
- }), 128))], 16, _hoisted_1$44),
17352
+ }, null, 14, _hoisted_2$29);
17353
+ }), 128))], 16, _hoisted_1$47),
16429
17354
  props.legend ? (openBlock(), createElementBlock("div", {
16430
17355
  key: 1,
16431
17356
  class: normalizeClass(unref(meterLegend)())
@@ -16488,7 +17413,7 @@ var emptyDescription = tv({
16488
17413
  var emptyActions = tv({ base: "flex flex-wrap items-center justify-center gap-2" });
16489
17414
  //#endregion
16490
17415
  //#region src/components/empty/Empty.vue?vue&type=script&setup=true&lang.ts
16491
- var _hoisted_1$43 = {
17416
+ var _hoisted_1$46 = {
16492
17417
  key: 0,
16493
17418
  "aria-hidden": "true",
16494
17419
  class: "flex shrink-0 justify-center"
@@ -16516,7 +17441,7 @@ var Empty_default = /* @__PURE__ */ defineComponent({
16516
17441
  "data-hn-empty": "",
16517
17442
  class: normalizeClass(unref(cn)(unref(empty)({ size: props.size }), props.class))
16518
17443
  }, [
16519
- unref(slots).icon ? (openBlock(), createElementBlock("span", _hoisted_1$43, [renderSlot(_ctx.$slots, "icon")])) : props.icon ? (openBlock(), createElementBlock("span", {
17444
+ unref(slots).icon ? (openBlock(), createElementBlock("span", _hoisted_1$46, [renderSlot(_ctx.$slots, "icon")])) : props.icon ? (openBlock(), createElementBlock("span", {
16520
17445
  key: 1,
16521
17446
  "aria-hidden": "true",
16522
17447
  class: normalizeClass(unref(emptyIcon)({ size: props.size }))
@@ -16614,7 +17539,7 @@ var Result_default = /* @__PURE__ */ defineComponent({
16614
17539
  });
16615
17540
  //#endregion
16616
17541
  //#region src/components/number-format/NumberFormat.vue?vue&type=script&setup=true&lang.ts
16617
- var _hoisted_1$42 = ["title"];
17542
+ var _hoisted_1$45 = ["title"];
16618
17543
  //#endregion
16619
17544
  //#region src/components/number-format/NumberFormat.vue
16620
17545
  var NumberFormat_default = /* @__PURE__ */ defineComponent({
@@ -16650,7 +17575,7 @@ var NumberFormat_default = /* @__PURE__ */ defineComponent({
16650
17575
  return openBlock(), createElementBlock("span", {
16651
17576
  title: full.value,
16652
17577
  class: normalizeClass(unref(cn)(props.class))
16653
- }, toDisplayString(text.value), 11, _hoisted_1$42);
17578
+ }, toDisplayString(text.value), 11, _hoisted_1$45);
16654
17579
  };
16655
17580
  }
16656
17581
  });
@@ -16681,8 +17606,8 @@ var statisticDelta = tv({
16681
17606
  var statisticIcon = tv({ base: "bg-subtle text-muted flex size-10 shrink-0 items-center justify-center rounded-md [&_svg]:size-5" });
16682
17607
  //#endregion
16683
17608
  //#region src/components/statistic/Statistic.vue?vue&type=script&setup=true&lang.ts
16684
- var _hoisted_1$41 = { key: 2 };
16685
- var _hoisted_2$25 = {
17609
+ var _hoisted_1$44 = { key: 2 };
17610
+ var _hoisted_2$28 = {
16686
17611
  key: 2,
16687
17612
  class: "text-muted"
16688
17613
  };
@@ -16753,7 +17678,7 @@ var Statistic_default = /* @__PURE__ */ defineComponent({
16753
17678
  "format",
16754
17679
  "currency",
16755
17680
  "precision"
16756
- ])) : (openBlock(), createElementBlock("span", _hoisted_1$41, toDisplayString(props.value ?? "—"), 1)),
17681
+ ])) : (openBlock(), createElementBlock("span", _hoisted_1$44, toDisplayString(props.value ?? "—"), 1)),
16757
17682
  props.suffix ? (openBlock(), createElementBlock("span", {
16758
17683
  key: 3,
16759
17684
  class: normalizeClass(unref(statisticAffix)())
@@ -16774,7 +17699,7 @@ var Statistic_default = /* @__PURE__ */ defineComponent({
16774
17699
  "aria-hidden": "true"
16775
17700
  })) : createCommentVNode("", true),
16776
17701
  createElementVNode("span", null, toDisplayString(deltaText.value), 1),
16777
- props.deltaLabel ? (openBlock(), createElementBlock("span", _hoisted_2$25, toDisplayString(props.deltaLabel), 1)) : createCommentVNode("", true)
17702
+ props.deltaLabel ? (openBlock(), createElementBlock("span", _hoisted_2$28, toDisplayString(props.deltaLabel), 1)) : createCommentVNode("", true)
16778
17703
  ], 64))], 2)) : createCommentVNode("", true),
16779
17704
  renderSlot(_ctx.$slots, "default")
16780
17705
  ], 2), unref(slots).icon ? (openBlock(), createElementBlock("span", {
@@ -16852,14 +17777,14 @@ function stepBetween(previous, next, count) {
16852
17777
  }
16853
17778
  //#endregion
16854
17779
  //#region src/components/banner/Banner.vue?vue&type=script&setup=true&lang.ts
16855
- var _hoisted_1$40 = {
17780
+ var _hoisted_1$43 = {
16856
17781
  key: 0,
16857
17782
  "data-hn-banner": "",
16858
17783
  class: "hn-collapse w-full"
16859
17784
  };
16860
- var _hoisted_2$24 = { class: "hn-collapse-body" };
16861
- var _hoisted_3$13 = ["data-tone"];
16862
- var _hoisted_4$12 = ["aria-live"];
17785
+ var _hoisted_2$27 = { class: "hn-collapse-body" };
17786
+ var _hoisted_3$15 = ["data-tone"];
17787
+ var _hoisted_4$14 = ["aria-live"];
16863
17788
  //#endregion
16864
17789
  //#region src/components/banner/Banner.vue
16865
17790
  var Banner_default = /* @__PURE__ */ defineComponent({
@@ -16923,7 +17848,7 @@ var Banner_default = /* @__PURE__ */ defineComponent({
16923
17848
  "leave-from-class": "hn-collapse-open",
16924
17849
  "leave-to-class": "hn-collapse-closed"
16925
17850
  }, toHandlers(unref(hooks))), {
16926
- default: withCtx(() => [open.value ? (openBlock(), createElementBlock("div", _hoisted_1$40, [createElementVNode("div", _hoisted_2$24, [createElementVNode("div", {
17851
+ default: withCtx(() => [open.value ? (openBlock(), createElementBlock("div", _hoisted_1$43, [createElementVNode("div", _hoisted_2$27, [createElementVNode("div", {
16927
17852
  "data-tone": tone.value,
16928
17853
  class: normalizeClass(unref(cn)(unref(banner)({ tone: tone.value }), props.class)),
16929
17854
  onPointerenter: _cache[2] || (_cache[2] = ($event) => unref(autoplay).hovered.value = true),
@@ -16953,7 +17878,7 @@ var Banner_default = /* @__PURE__ */ defineComponent({
16953
17878
  index: at.value
16954
17879
  })], 2))]),
16955
17880
  _: 3
16956
- }, 8, ["enter-from-class", "leave-to-class"])], 8, _hoisted_4$12)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [renderSlot(_ctx.$slots, "icon", {}, () => [props.icon ? (openBlock(), createBlock(resolveDynamicComponent(icon.value), {
17881
+ }, 8, ["enter-from-class", "leave-to-class"])], 8, _hoisted_4$14)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [renderSlot(_ctx.$slots, "icon", {}, () => [props.icon ? (openBlock(), createBlock(resolveDynamicComponent(icon.value), {
16957
17882
  key: 0,
16958
17883
  class: normalizeClass(unref(bannerIcon)()),
16959
17884
  "aria-hidden": "true"
@@ -16996,7 +17921,7 @@ var Banner_default = /* @__PURE__ */ defineComponent({
16996
17921
  size: "sm",
16997
17922
  class: "text-current",
16998
17923
  onClick: close
16999
- })) : createCommentVNode("", true)], 2)) : createCommentVNode("", true)], 42, _hoisted_3$13)])])) : createCommentVNode("", true)]),
17924
+ })) : createCommentVNode("", true)], 2)) : createCommentVNode("", true)], 42, _hoisted_3$15)])])) : createCommentVNode("", true)]),
17000
17925
  _: 3
17001
17926
  }, 16);
17002
17927
  };
@@ -17103,7 +18028,7 @@ var MenubarMenu_default = /* @__PURE__ */ defineComponent({
17103
18028
  });
17104
18029
  //#endregion
17105
18030
  //#region src/components/menubar/MenubarItem.vue?vue&type=script&setup=true&lang.ts
17106
- var _hoisted_1$39 = { class: "min-w-0 flex-1" };
18031
+ var _hoisted_1$42 = { class: "min-w-0 flex-1" };
17107
18032
  //#endregion
17108
18033
  //#region src/components/menubar/MenubarItem.vue
17109
18034
  var MenubarItem_default = /* @__PURE__ */ defineComponent({
@@ -17129,7 +18054,7 @@ var MenubarItem_default = /* @__PURE__ */ defineComponent({
17129
18054
  }), {
17130
18055
  default: withCtx(() => [
17131
18056
  renderSlot(_ctx.$slots, "icon"),
17132
- createElementVNode("span", _hoisted_1$39, [renderSlot(_ctx.$slots, "default")]),
18057
+ createElementVNode("span", _hoisted_1$42, [renderSlot(_ctx.$slots, "default")]),
17133
18058
  renderSlot(_ctx.$slots, "trailing")
17134
18059
  ]),
17135
18060
  _: 3
@@ -17143,8 +18068,8 @@ var MenubarItem_default = /* @__PURE__ */ defineComponent({
17143
18068
  });
17144
18069
  //#endregion
17145
18070
  //#region src/components/menubar/MenubarCheckboxItem.vue?vue&type=script&setup=true&lang.ts
17146
- var _hoisted_1$38 = { class: "min-w-0 flex-1" };
17147
- var _hoisted_2$23 = { class: "flex size-4 shrink-0 items-center justify-center" };
18071
+ var _hoisted_1$41 = { class: "min-w-0 flex-1" };
18072
+ var _hoisted_2$26 = { class: "flex size-4 shrink-0 items-center justify-center" };
17148
18073
  //#endregion
17149
18074
  //#region src/components/menubar/MenubarCheckboxItem.vue
17150
18075
  var MenubarCheckboxItem_default = /* @__PURE__ */ defineComponent({
@@ -17176,9 +18101,9 @@ var MenubarCheckboxItem_default = /* @__PURE__ */ defineComponent({
17176
18101
  onSelect: _cache[1] || (_cache[1] = (event) => event.preventDefault())
17177
18102
  }), {
17178
18103
  default: withCtx(() => [
17179
- createElementVNode("span", _hoisted_1$38, [renderSlot(_ctx.$slots, "default")]),
18104
+ createElementVNode("span", _hoisted_1$41, [renderSlot(_ctx.$slots, "default")]),
17180
18105
  renderSlot(_ctx.$slots, "trailing"),
17181
- createElementVNode("span", _hoisted_2$23, [createVNode(unref(MenubarItemIndicator), null, {
18106
+ createElementVNode("span", _hoisted_2$26, [createVNode(unref(MenubarItemIndicator), null, {
17182
18107
  default: withCtx(() => [createVNode(unref(Check))]),
17183
18108
  _: 1
17184
18109
  })])
@@ -17211,7 +18136,7 @@ var MenubarGroup_default = /* @__PURE__ */ defineComponent({
17211
18136
  });
17212
18137
  //#endregion
17213
18138
  //#region src/components/menubar/MenubarSub.vue?vue&type=script&setup=true&lang.ts
17214
- var _hoisted_1$37 = { class: "min-w-0 flex-1" };
18139
+ var _hoisted_1$40 = { class: "min-w-0 flex-1" };
17215
18140
  //#endregion
17216
18141
  //#region src/components/menubar/MenubarSub.vue
17217
18142
  var MenubarSub_default = /* @__PURE__ */ defineComponent({
@@ -17242,7 +18167,7 @@ var MenubarSub_default = /* @__PURE__ */ defineComponent({
17242
18167
  }, {
17243
18168
  default: withCtx(() => [
17244
18169
  renderSlot(_ctx.$slots, "icon"),
17245
- createElementVNode("span", _hoisted_1$37, [renderSlot(_ctx.$slots, "label", {}, () => [createTextVNode(toDisplayString(props.label), 1)])]),
18170
+ createElementVNode("span", _hoisted_1$40, [renderSlot(_ctx.$slots, "label", {}, () => [createTextVNode(toDisplayString(props.label), 1)])]),
17246
18171
  createVNode(unref(ChevronRight), { class: "text-muted" })
17247
18172
  ]),
17248
18173
  _: 3
@@ -17325,8 +18250,8 @@ var MenubarRadioGroup_default = /* @__PURE__ */ defineComponent({
17325
18250
  });
17326
18251
  //#endregion
17327
18252
  //#region src/components/menubar/MenubarRadioItem.vue?vue&type=script&setup=true&lang.ts
17328
- var _hoisted_1$36 = { class: "min-w-0 flex-1" };
17329
- var _hoisted_2$22 = { class: "flex size-4 shrink-0 items-center justify-center" };
18253
+ var _hoisted_1$39 = { class: "min-w-0 flex-1" };
18254
+ var _hoisted_2$25 = { class: "flex size-4 shrink-0 items-center justify-center" };
17330
18255
  //#endregion
17331
18256
  //#region src/components/menubar/MenubarRadioItem.vue
17332
18257
  var MenubarRadioItem_default = /* @__PURE__ */ defineComponent({
@@ -17348,7 +18273,7 @@ var MenubarRadioItem_default = /* @__PURE__ */ defineComponent({
17348
18273
  "text-value": props.textValue,
17349
18274
  class: unref(cn)(unref(dropdownItem)(), props.class)
17350
18275
  }), {
17351
- default: withCtx(() => [createElementVNode("span", _hoisted_1$36, [renderSlot(_ctx.$slots, "default")]), createElementVNode("span", _hoisted_2$22, [createVNode(unref(MenubarItemIndicator), null, {
18276
+ default: withCtx(() => [createElementVNode("span", _hoisted_1$39, [renderSlot(_ctx.$slots, "default")]), createElementVNode("span", _hoisted_2$25, [createVNode(unref(MenubarItemIndicator), null, {
17352
18277
  default: withCtx(() => [createVNode(unref(Check), { class: "size-4" })]),
17353
18278
  _: 1
17354
18279
  })])]),
@@ -17540,7 +18465,7 @@ function focusFirstInvalid(root) {
17540
18465
  }
17541
18466
  //#endregion
17542
18467
  //#region src/components/form/Form.vue?vue&type=script&setup=true&lang.ts
17543
- var _hoisted_1$35 = ["aria-busy"];
18468
+ var _hoisted_1$38 = ["aria-busy"];
17544
18469
  //#endregion
17545
18470
  //#region src/components/form/Form.vue
17546
18471
  var Form_default = /* @__PURE__ */ defineComponent({
@@ -17596,7 +18521,7 @@ var Form_default = /* @__PURE__ */ defineComponent({
17596
18521
  invalid: unref(form).invalid.value,
17597
18522
  submitting: unref(form).submitting.value,
17598
18523
  submitted: unref(form).submitted.value
17599
- })], 42, _hoisted_1$35);
18524
+ })], 42, _hoisted_1$38);
17600
18525
  };
17601
18526
  }
17602
18527
  });
@@ -17657,21 +18582,21 @@ var formFieldDescription = tv({ base: "text-muted text-sm" });
17657
18582
  var formFieldMessage = tv({ base: "text-danger-text text-sm" });
17658
18583
  //#endregion
17659
18584
  //#region src/components/form-field/FormField.vue?vue&type=script&setup=true&lang.ts
17660
- var _hoisted_1$34 = [
18585
+ var _hoisted_1$37 = [
17661
18586
  "data-invalid",
17662
18587
  "data-disabled",
17663
18588
  "data-orientation"
17664
18589
  ];
17665
- var _hoisted_2$21 = ["id", "for"];
17666
- var _hoisted_3$12 = ["id"];
17667
- var _hoisted_4$11 = ["id"];
17668
- var _hoisted_5$9 = {
18590
+ var _hoisted_2$24 = ["id", "for"];
18591
+ var _hoisted_3$14 = ["id"];
18592
+ var _hoisted_4$13 = ["id"];
18593
+ var _hoisted_5$10 = {
17669
18594
  key: 0,
17670
18595
  "data-hn-form-field-message": "",
17671
18596
  class: "hn-collapse [--hn-collapse-out:var(--hn-duration-fast)]"
17672
18597
  };
17673
- var _hoisted_6$5 = { class: "hn-collapse-body" };
17674
- var _hoisted_7$2 = ["id"];
18598
+ var _hoisted_6$6 = { class: "hn-collapse-body" };
18599
+ var _hoisted_7$3 = ["id"];
17675
18600
  //#endregion
17676
18601
  //#region src/components/form-field/FormField.vue
17677
18602
  var FormField_default = /* @__PURE__ */ defineComponent({
@@ -17765,11 +18690,11 @@ var FormField_default = /* @__PURE__ */ defineComponent({
17765
18690
  default: withCtx(() => [createTextVNode(toDisplayString(unref(t).form.required), 1)]),
17766
18691
  _: 1
17767
18692
  })) : createCommentVNode("", true)
17768
- ], 10, _hoisted_2$21)) : createCommentVNode("", true), descriptionWithLabel.value ? (openBlock(), createElementBlock("p", {
18693
+ ], 10, _hoisted_2$24)) : createCommentVNode("", true), descriptionWithLabel.value ? (openBlock(), createElementBlock("p", {
17769
18694
  key: 1,
17770
18695
  id: unref(descriptionId),
17771
18696
  class: normalizeClass(unref(formFieldDescription)())
17772
- }, [renderSlot(_ctx.$slots, "description", {}, () => [createTextVNode(toDisplayString(props.description), 1)])], 10, _hoisted_3$12)) : createCommentVNode("", true)], 2)) : createCommentVNode("", true), createElementVNode("div", {
18697
+ }, [renderSlot(_ctx.$slots, "description", {}, () => [createTextVNode(toDisplayString(props.description), 1)])], 10, _hoisted_3$14)) : createCommentVNode("", true)], 2)) : createCommentVNode("", true), createElementVNode("div", {
17773
18698
  "data-hn-form-field-body": "",
17774
18699
  class: normalizeClass(unref(formFieldContent)())
17775
18700
  }, [
@@ -17781,21 +18706,21 @@ var FormField_default = /* @__PURE__ */ defineComponent({
17781
18706
  key: 0,
17782
18707
  id: unref(descriptionId),
17783
18708
  class: normalizeClass(unref(formFieldDescription)())
17784
- }, [renderSlot(_ctx.$slots, "description", {}, () => [createTextVNode(toDisplayString(props.description), 1)])], 10, _hoisted_4$11)) : createCommentVNode("", true),
18709
+ }, [renderSlot(_ctx.$slots, "description", {}, () => [createTextVNode(toDisplayString(props.description), 1)])], 10, _hoisted_4$13)) : createCommentVNode("", true),
17785
18710
  createVNode(Transition, mergeProps({
17786
18711
  "enter-from-class": "hn-collapse-closed",
17787
18712
  "enter-to-class": "hn-collapse-open",
17788
18713
  "leave-from-class": "hn-collapse-open",
17789
18714
  "leave-to-class": "hn-collapse-closed"
17790
18715
  }, toHandlers(unref(hooks))), {
17791
- default: withCtx(() => [message.value ? (openBlock(), createElementBlock("div", _hoisted_5$9, [createElementVNode("div", _hoisted_6$5, [createElementVNode("p", {
18716
+ default: withCtx(() => [message.value ? (openBlock(), createElementBlock("div", _hoisted_5$10, [createElementVNode("div", _hoisted_6$6, [createElementVNode("p", {
17792
18717
  id: unref(messageId),
17793
18718
  class: normalizeClass(unref(formFieldMessage)()),
17794
18719
  "aria-live": "polite"
17795
- }, toDisplayString(message.value), 11, _hoisted_7$2)])])) : createCommentVNode("", true)]),
18720
+ }, toDisplayString(message.value), 11, _hoisted_7$3)])])) : createCommentVNode("", true)]),
17796
18721
  _: 1
17797
18722
  }, 16)
17798
- ], 2)], 2)], 46, _hoisted_1$34);
18723
+ ], 2)], 2)], 46, _hoisted_1$37);
17799
18724
  };
17800
18725
  }
17801
18726
  });
@@ -17819,8 +18744,8 @@ var formLayoutGrid = tv({
17819
18744
  });
17820
18745
  //#endregion
17821
18746
  //#region src/components/form-layout/FormLayout.vue?vue&type=script&setup=true&lang.ts
17822
- var _hoisted_1$33 = ["disabled", "aria-describedby"];
17823
- var _hoisted_2$20 = ["id"];
18747
+ var _hoisted_1$36 = ["disabled", "aria-describedby"];
18748
+ var _hoisted_2$23 = ["id"];
17824
18749
  //#endregion
17825
18750
  //#region src/components/form-layout/FormLayout.vue
17826
18751
  var FormLayout_default = /* @__PURE__ */ defineComponent({
@@ -17865,12 +18790,12 @@ var FormLayout_default = /* @__PURE__ */ defineComponent({
17865
18790
  key: 1,
17866
18791
  id: unref(descriptionId),
17867
18792
  class: normalizeClass(unref(formLayoutDescription)())
17868
- }, [renderSlot(_ctx.$slots, "description", {}, () => [createTextVNode(toDisplayString(props.description), 1)])], 10, _hoisted_2$20)) : createCommentVNode("", true),
18793
+ }, [renderSlot(_ctx.$slots, "description", {}, () => [createTextVNode(toDisplayString(props.description), 1)])], 10, _hoisted_2$23)) : createCommentVNode("", true),
17869
18794
  createElementVNode("div", { class: normalizeClass(unref(formLayoutGrid)({
17870
18795
  columns: props.columns,
17871
18796
  headed: headed.value || described.value
17872
18797
  })) }, [renderSlot(_ctx.$slots, "default")], 2)
17873
- ], 10, _hoisted_1$33);
18798
+ ], 10, _hoisted_1$36);
17874
18799
  };
17875
18800
  }
17876
18801
  });
@@ -18203,7 +19128,7 @@ var Code_default = /* @__PURE__ */ defineComponent({
18203
19128
  });
18204
19129
  //#endregion
18205
19130
  //#region src/components/blockquote/Blockquote.vue?vue&type=script&setup=true&lang.ts
18206
- var _hoisted_1$32 = {
19131
+ var _hoisted_1$35 = {
18207
19132
  key: 0,
18208
19133
  class: "text-faint mt-2 text-sm"
18209
19134
  };
@@ -18219,7 +19144,7 @@ var Blockquote_default = /* @__PURE__ */ defineComponent({
18219
19144
  setup(__props) {
18220
19145
  const props = __props;
18221
19146
  return (_ctx, _cache) => {
18222
- return openBlock(), createElementBlock("blockquote", { class: normalizeClass(unref(cn)("hn-blockquote", props.class)) }, [renderSlot(_ctx.$slots, "default"), props.cite ? (openBlock(), createElementBlock("footer", _hoisted_1$32, "—— " + toDisplayString(props.cite), 1)) : createCommentVNode("", true)], 2);
19147
+ return openBlock(), createElementBlock("blockquote", { class: normalizeClass(unref(cn)("hn-blockquote", props.class)) }, [renderSlot(_ctx.$slots, "default"), props.cite ? (openBlock(), createElementBlock("footer", _hoisted_1$35, "—— " + toDisplayString(props.cite), 1)) : createCommentVNode("", true)], 2);
18223
19148
  };
18224
19149
  }
18225
19150
  });
@@ -18344,10 +19269,10 @@ var codeBlockActions = tv({ base: "absolute top-2 end-2 flex items-center gap-2"
18344
19269
  var codeBlockLabel = tv({ base: "text-faint font-mono text-xs select-none" });
18345
19270
  //#endregion
18346
19271
  //#region src/components/code-block/CodeBlock.vue?vue&type=script&setup=true&lang.ts
18347
- var _hoisted_1$31 = ["data-lang"];
18348
- var _hoisted_2$19 = ["innerHTML"];
18349
- var _hoisted_3$11 = { key: 1 };
18350
- var _hoisted_4$10 = { key: 2 };
19272
+ var _hoisted_1$34 = ["data-lang"];
19273
+ var _hoisted_2$22 = ["innerHTML"];
19274
+ var _hoisted_3$13 = { key: 1 };
19275
+ var _hoisted_4$12 = { key: 2 };
18351
19276
  //#endregion
18352
19277
  //#region src/components/code-block/CodeBlock.vue
18353
19278
  var CodeBlock_default = /* @__PURE__ */ defineComponent({
@@ -18382,14 +19307,14 @@ var CodeBlock_default = /* @__PURE__ */ defineComponent({
18382
19307
  default: withCtx(() => [createElementVNode("pre", { class: normalizeClass(unref(codeBlockContent)()) }, [props.html ? (openBlock(), createElementBlock("code", {
18383
19308
  key: 0,
18384
19309
  innerHTML: props.html
18385
- }, null, 8, _hoisted_2$19)) : unref(tokens) ? (openBlock(), createElementBlock("code", _hoisted_3$11, [(openBlock(true), createElementBlock(Fragment, null, renderList(unref(tokens), (line, i) => {
19310
+ }, null, 8, _hoisted_2$22)) : unref(tokens) ? (openBlock(), createElementBlock("code", _hoisted_3$13, [(openBlock(true), createElementBlock(Fragment, null, renderList(unref(tokens), (line, i) => {
18386
19311
  return openBlock(), createElementBlock(Fragment, { key: i }, [createTextVNode(toDisplayString(i ? "\n" : ""), 1), (openBlock(true), createElementBlock(Fragment, null, renderList(line, (tk, j) => {
18387
19312
  return openBlock(), createElementBlock("span", {
18388
19313
  key: j,
18389
19314
  style: normalizeStyle(tk.htmlStyle)
18390
19315
  }, toDisplayString(tk.content), 5);
18391
19316
  }), 128))], 64);
18392
- }), 128))])) : (openBlock(), createElementBlock("code", _hoisted_4$10, toDisplayString(__props.code), 1))], 2)]),
19317
+ }), 128))])) : (openBlock(), createElementBlock("code", _hoisted_4$12, toDisplayString(__props.code), 1))], 2)]),
18393
19318
  _: 1
18394
19319
  }, 8, ["label", "class"]), createElementVNode("div", { class: normalizeClass(unref(codeBlockActions)()) }, [tag.value ? (openBlock(), createElementBlock("span", {
18395
19320
  key: 0,
@@ -18398,7 +19323,7 @@ var CodeBlock_default = /* @__PURE__ */ defineComponent({
18398
19323
  key: 1,
18399
19324
  text: props.code,
18400
19325
  label: unref(t).codeblock.copy
18401
- }, null, 8, ["text", "label"])) : createCommentVNode("", true)], 2)], 10, _hoisted_1$31);
19326
+ }, null, 8, ["text", "label"])) : createCommentVNode("", true)], 2)], 10, _hoisted_1$34);
18402
19327
  };
18403
19328
  }
18404
19329
  });
@@ -18516,7 +19441,7 @@ function useNow(active, intervalMs = 3e4) {
18516
19441
  }
18517
19442
  //#endregion
18518
19443
  //#region src/components/time/Time.vue?vue&type=script&setup=true&lang.ts
18519
- var _hoisted_1$30 = ["datetime", "title"];
19444
+ var _hoisted_1$33 = ["datetime", "title"];
18520
19445
  //#endregion
18521
19446
  //#region src/components/time/Time.vue
18522
19447
  var Time_default = /* @__PURE__ */ defineComponent({
@@ -18560,7 +19485,7 @@ var Time_default = /* @__PURE__ */ defineComponent({
18560
19485
  datetime: date.value.toISOString(),
18561
19486
  title: __props.format === "relative" ? absolute.value : void 0,
18562
19487
  class: normalizeClass(unref(cn)(props.class))
18563
- }, toDisplayString(text.value), 11, _hoisted_1$30)) : (openBlock(), createElementBlock("span", {
19488
+ }, toDisplayString(text.value), 11, _hoisted_1$33)) : (openBlock(), createElementBlock("span", {
18564
19489
  key: 1,
18565
19490
  class: normalizeClass(unref(cn)(props.class))
18566
19491
  }, toDisplayString(text.value), 3));
@@ -18993,7 +19918,7 @@ var AspectRatio_default = /* @__PURE__ */ defineComponent({
18993
19918
  });
18994
19919
  //#endregion
18995
19920
  //#region src/components/divider/Divider.vue?vue&type=script&setup=true&lang.ts
18996
- var _hoisted_1$29 = { class: "text-faint shrink-0 text-sm" };
19921
+ var _hoisted_1$32 = { class: "text-faint shrink-0 text-sm" };
18997
19922
  //#endregion
18998
19923
  //#region src/components/divider/Divider.vue
18999
19924
  var Divider_default = /* @__PURE__ */ defineComponent({
@@ -19019,7 +19944,7 @@ var Divider_default = /* @__PURE__ */ defineComponent({
19019
19944
  decorative: "",
19020
19945
  class: "bg-line h-px flex-1"
19021
19946
  }),
19022
- createElementVNode("span", _hoisted_1$29, [renderSlot(_ctx.$slots, "default")]),
19947
+ createElementVNode("span", _hoisted_1$32, [renderSlot(_ctx.$slots, "default")]),
19023
19948
  createVNode(unref(Separator), {
19024
19949
  decorative: "",
19025
19950
  class: "bg-line h-px flex-1"
@@ -19279,7 +20204,7 @@ var AccordionItem_default = /* @__PURE__ */ defineComponent({
19279
20204
  });
19280
20205
  //#endregion
19281
20206
  //#region src/components/accordion/AccordionTrigger.vue?vue&type=script&setup=true&lang.ts
19282
- var _hoisted_1$28 = { class: "min-w-0 flex-1" };
20207
+ var _hoisted_1$31 = { class: "min-w-0 flex-1" };
19283
20208
  //#endregion
19284
20209
  //#region src/components/accordion/AccordionTrigger.vue
19285
20210
  var AccordionTrigger_default = /* @__PURE__ */ defineComponent({
@@ -19304,7 +20229,7 @@ var AccordionTrigger_default = /* @__PURE__ */ defineComponent({
19304
20229
  default: withCtx(() => [createVNode(unref(AccordionTrigger), { class: normalizeClass(unref(cn)(unref(accordionTrigger)(), props.class)) }, {
19305
20230
  default: withCtx(() => [
19306
20231
  createVNode(Ripple_default),
19307
- createElementVNode("span", _hoisted_1$28, [renderSlot(_ctx.$slots, "default")]),
20232
+ createElementVNode("span", _hoisted_1$31, [renderSlot(_ctx.$slots, "default")]),
19308
20233
  props.icon ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [!slots.icon ? (openBlock(), createBlock(DisclosureIcon_default, { key: 0 })) : (openBlock(), createBlock(DisclosureIcon_default, { key: 1 }, {
19309
20234
  default: withCtx(() => [renderSlot(_ctx.$slots, "icon")]),
19310
20235
  _: 3
@@ -19319,7 +20244,7 @@ var AccordionTrigger_default = /* @__PURE__ */ defineComponent({
19319
20244
  });
19320
20245
  //#endregion
19321
20246
  //#region src/components/accordion/AccordionContent.vue?vue&type=script&setup=true&lang.ts
19322
- var _hoisted_1$27 = { class: "pb-4" };
20247
+ var _hoisted_1$30 = { class: "pb-4" };
19323
20248
  //#endregion
19324
20249
  //#region src/components/accordion/AccordionContent.vue
19325
20250
  var AccordionContent_default = /* @__PURE__ */ defineComponent({
@@ -19335,7 +20260,7 @@ var AccordionContent_default = /* @__PURE__ */ defineComponent({
19335
20260
  ref: content,
19336
20261
  class: normalizeClass(unref(cn)(unref(accordionContent)(), props.class))
19337
20262
  }, {
19338
- default: withCtx(() => [createElementVNode("div", _hoisted_1$27, [renderSlot(_ctx.$slots, "default")])]),
20263
+ default: withCtx(() => [createElementVNode("div", _hoisted_1$30, [renderSlot(_ctx.$slots, "default")])]),
19339
20264
  _: 3
19340
20265
  }, 8, ["class"]);
19341
20266
  };
@@ -19368,7 +20293,7 @@ var navLink = tv({
19368
20293
  var navLinkLabel = tv({ base: "hn-sidebar-label shrink-0 whitespace-nowrap" });
19369
20294
  //#endregion
19370
20295
  //#region src/components/nav-link/NavLink.vue?vue&type=script&setup=true&lang.ts
19371
- var _hoisted_1$26 = [
20296
+ var _hoisted_1$29 = [
19372
20297
  "aria-hidden",
19373
20298
  "inert",
19374
20299
  "data-collapsed"
@@ -19421,7 +20346,7 @@ var NavLink_default = /* @__PURE__ */ defineComponent({
19421
20346
  "data-collapsed": rail.value ? "" : void 0,
19422
20347
  "data-hn-label": "",
19423
20348
  class: normalizeClass(unref(navLinkLabel)())
19424
- }, [renderSlot(_ctx.$slots, "default")], 10, _hoisted_1$26)]),
20349
+ }, [renderSlot(_ctx.$slots, "default")], 10, _hoisted_1$29)]),
19425
20350
  _: 3
19426
20351
  }, 16, [
19427
20352
  "as",
@@ -19495,11 +20420,11 @@ var SidebarLabel_default = /* @__PURE__ */ defineComponent({
19495
20420
  });
19496
20421
  //#endregion
19497
20422
  //#region src/components/sidebar/Sidebar.vue?vue&type=script&setup=true&lang.ts
19498
- var _hoisted_1$25 = ["data-state", "inert"];
19499
- var _hoisted_2$18 = { class: "min-w-0 flex-1" };
19500
- var _hoisted_3$10 = ["data-state", "inert"];
19501
- var _hoisted_4$9 = { class: "hn-collapse-body" };
19502
- var _hoisted_5$8 = ["aria-label"];
20423
+ var _hoisted_1$28 = ["data-state", "inert"];
20424
+ var _hoisted_2$21 = { class: "min-w-0 flex-1" };
20425
+ var _hoisted_3$12 = ["data-state", "inert"];
20426
+ var _hoisted_4$11 = { class: "hn-collapse-body" };
20427
+ var _hoisted_5$9 = ["aria-label"];
19503
20428
  //#endregion
19504
20429
  //#region src/components/sidebar/Sidebar.vue
19505
20430
  var Sidebar_default = /* @__PURE__ */ defineComponent({
@@ -19529,7 +20454,7 @@ var Sidebar_default = /* @__PURE__ */ defineComponent({
19529
20454
  _ctx.$slots.header ? (openBlock(), createElementBlock("div", {
19530
20455
  key: 0,
19531
20456
  class: normalizeClass(unref(cn)(unref(sidebarRegion)({ inDrawer: inDrawer.value }), "flex items-center gap-2"))
19532
- }, [createElementVNode("div", _hoisted_2$18, [renderSlot(_ctx.$slots, "header", { state: state.value })]), inDrawer.value && props.closable ? (openBlock(), createBlock(CloseButton_default, {
20457
+ }, [createElementVNode("div", _hoisted_2$21, [renderSlot(_ctx.$slots, "header", { state: state.value })]), inDrawer.value && props.closable ? (openBlock(), createBlock(CloseButton_default, {
19533
20458
  key: 0,
19534
20459
  class: "shrink-0",
19535
20460
  onClick: _cache[0] || (_cache[0] = ($event) => unref(sidebar)?.toggle())
@@ -19538,7 +20463,7 @@ var Sidebar_default = /* @__PURE__ */ defineComponent({
19538
20463
  class: "hn-collapse shrink-0",
19539
20464
  "data-state": state.value === "rail" && !_ctx.$slots.icon ? "closed" : "open",
19540
20465
  inert: state.value === "rail" && !_ctx.$slots.icon
19541
- }, [createElementVNode("div", _hoisted_4$9, [createElementVNode("div", { class: normalizeClass(unref(sidebarRegion)({ inDrawer: inDrawer.value })) }, [createElementVNode("div", { class: normalizeClass(unref(sidebarBrand)()) }, [
20466
+ }, [createElementVNode("div", _hoisted_4$11, [createElementVNode("div", { class: normalizeClass(unref(sidebarRegion)({ inDrawer: inDrawer.value })) }, [createElementVNode("div", { class: normalizeClass(unref(sidebarBrand)()) }, [
19542
20467
  _ctx.$slots.icon ? (openBlock(), createElementBlock("div", {
19543
20468
  key: 0,
19544
20469
  class: normalizeClass(unref(sidebarIcon)())
@@ -19556,7 +20481,7 @@ var Sidebar_default = /* @__PURE__ */ defineComponent({
19556
20481
  class: "ms-auto shrink-0",
19557
20482
  onClick: _cache[1] || (_cache[1] = ($event) => unref(sidebar)?.toggle())
19558
20483
  })) : createCommentVNode("", true)
19559
- ], 2)], 2)])], 8, _hoisted_3$10)) : inDrawer.value && props.closable ? (openBlock(), createElementBlock("div", {
20484
+ ], 2)], 2)])], 8, _hoisted_3$12)) : inDrawer.value && props.closable ? (openBlock(), createElementBlock("div", {
19560
20485
  key: 2,
19561
20486
  class: normalizeClass(unref(cn)(unref(sidebarRegion)({ inDrawer: inDrawer.value }), "flex justify-end"))
19562
20487
  }, [createVNode(CloseButton_default, { onClick: _cache[2] || (_cache[2] = ($event) => unref(sidebar)?.toggle()) })], 2)) : createCommentVNode("", true),
@@ -19566,8 +20491,8 @@ var Sidebar_default = /* @__PURE__ */ defineComponent({
19566
20491
  }, {
19567
20492
  default: withCtx(() => [createElementVNode("nav", {
19568
20493
  "aria-label": props.label ?? unref(t).sidebar.navLabel,
19569
- class: normalizeClass(unref(cn)("flex flex-col gap-1 py-2", !inDrawer.value && "px-2.5"))
19570
- }, [renderSlot(_ctx.$slots, "default")], 10, _hoisted_5$8)]),
20494
+ class: normalizeClass(unref(cn)("flex flex-col gap-1", inDrawer.value ? "py-2" : "px-2.5 py-2.5"))
20495
+ }, [renderSlot(_ctx.$slots, "default")], 10, _hoisted_5$9)]),
19571
20496
  _: 3
19572
20497
  }),
19573
20498
  _ctx.$slots.footer ? (openBlock(), createElementBlock("div", {
@@ -19577,20 +20502,20 @@ var Sidebar_default = /* @__PURE__ */ defineComponent({
19577
20502
  footer: true
19578
20503
  }))
19579
20504
  }, [renderSlot(_ctx.$slots, "footer", { state: state.value })], 2)) : createCommentVNode("", true)
19580
- ], 42, _hoisted_1$25);
20505
+ ], 42, _hoisted_1$28);
19581
20506
  };
19582
20507
  }
19583
20508
  });
19584
20509
  //#endregion
19585
20510
  //#region src/components/sidebar/SidebarGroup.vue?vue&type=script&setup=true&lang.ts
19586
- var _hoisted_1$24 = { class: "relative h-(--hn-control-h-sm)" };
19587
- var _hoisted_2$17 = [
20511
+ var _hoisted_1$27 = { class: "relative h-(--hn-control-h-sm)" };
20512
+ var _hoisted_2$20 = [
19588
20513
  "data-collapsed",
19589
20514
  "aria-hidden",
19590
20515
  "inert"
19591
20516
  ];
19592
- var _hoisted_3$9 = ["data-collapsed"];
19593
- var _hoisted_4$8 = { class: "flex flex-col gap-0.5 pt-1" };
20517
+ var _hoisted_3$11 = ["data-collapsed"];
20518
+ var _hoisted_4$10 = { class: "flex flex-col gap-0.5 pt-1" };
19594
20519
  //#endregion
19595
20520
  //#region src/components/sidebar/SidebarGroup.vue
19596
20521
  var SidebarGroup_default = /* @__PURE__ */ defineComponent({
@@ -19615,7 +20540,7 @@ var SidebarGroup_default = /* @__PURE__ */ defineComponent({
19615
20540
  class: normalizeClass(unref(cn)(props.class)),
19616
20541
  "onUpdate:open": _cache[0] || (_cache[0] = (v) => rail.value ? void 0 : open.value = v)
19617
20542
  }, {
19618
- default: withCtx(() => [createElementVNode("div", _hoisted_1$24, [createElementVNode("div", {
20543
+ default: withCtx(() => [createElementVNode("div", _hoisted_1$27, [createElementVNode("div", {
19619
20544
  class: "hn-sidebar-label",
19620
20545
  "data-collapsed": rail.value ? "" : void 0,
19621
20546
  "aria-hidden": rail.value ? "true" : void 0,
@@ -19634,12 +20559,12 @@ var SidebarGroup_default = /* @__PURE__ */ defineComponent({
19634
20559
  _: 1
19635
20560
  }, 8, ["tabindex"])]),
19636
20561
  _: 1
19637
- })], 8, _hoisted_2$17), createElementVNode("div", {
20562
+ })], 8, _hoisted_2$20), createElementVNode("div", {
19638
20563
  "aria-hidden": "true",
19639
20564
  class: "hn-sidebar-label border-line pointer-events-none absolute inset-x-2 top-1/2 border-t",
19640
20565
  "data-collapsed": rail.value ? void 0 : ""
19641
- }, null, 8, _hoisted_3$9)]), createVNode(CollapsibleContent_default, null, {
19642
- default: withCtx(() => [createElementVNode("div", _hoisted_4$8, [renderSlot(_ctx.$slots, "default")])]),
20566
+ }, null, 8, _hoisted_3$11)]), createVNode(CollapsibleContent_default, null, {
20567
+ default: withCtx(() => [createElementVNode("div", _hoisted_4$10, [renderSlot(_ctx.$slots, "default")])]),
19643
20568
  _: 3
19644
20569
  })]),
19645
20570
  _: 3
@@ -19693,19 +20618,19 @@ var drawerCard = tv({
19693
20618
  });
19694
20619
  //#endregion
19695
20620
  //#region src/components/drawer/Drawer.vue?vue&type=script&setup=true&lang.ts
19696
- var _hoisted_1$23 = {
20621
+ var _hoisted_1$26 = {
19697
20622
  key: 0,
19698
20623
  class: "flex shrink-0 items-start justify-between gap-4 px-(--hn-panel-p)"
19699
20624
  };
19700
- var _hoisted_2$16 = { class: "flex min-w-0 flex-col gap-1.5" };
19701
- var _hoisted_3$8 = { class: "flex min-w-0 items-center gap-2" };
19702
- var _hoisted_4$7 = {
20625
+ var _hoisted_2$19 = { class: "flex min-w-0 flex-col gap-1.5" };
20626
+ var _hoisted_3$10 = { class: "flex min-w-0 items-center gap-2" };
20627
+ var _hoisted_4$9 = {
19703
20628
  key: 0,
19704
20629
  class: "text-muted flex shrink-0 [&_svg]:size-5",
19705
20630
  "aria-hidden": "true"
19706
20631
  };
19707
- var _hoisted_5$7 = { class: "px-(--hn-panel-p) py-1" };
19708
- var _hoisted_6$4 = {
20632
+ var _hoisted_5$8 = { class: "px-(--hn-panel-p) py-1" };
20633
+ var _hoisted_6$5 = {
19709
20634
  key: 2,
19710
20635
  class: "flex shrink-0 justify-end gap-(--hn-inline-gap) px-(--hn-panel-p)"
19711
20636
  };
@@ -19795,7 +20720,7 @@ var Drawer_default = /* @__PURE__ */ defineComponent({
19795
20720
  default: withCtx(() => [createTextVNode(toDisplayString(props.description), 1)]),
19796
20721
  _: 1
19797
20722
  })) : createCommentVNode("", true)], 64)) : createCommentVNode("", true), slots.body ? renderSlot(_ctx.$slots, "body", { close }, void 0, void 0, 1) : (openBlock(), createElementBlock(Fragment, { key: 2 }, [
19798
- props.header ? (openBlock(), createElementBlock("div", _hoisted_1$23, [createElementVNode("div", _hoisted_2$16, [createElementVNode("div", _hoisted_3$8, [slots.icon ? (openBlock(), createElementBlock("span", _hoisted_4$7, [renderSlot(_ctx.$slots, "icon")])) : createCommentVNode("", true), createVNode(unref(DialogTitle), { "as-child": "" }, {
20723
+ props.header ? (openBlock(), createElementBlock("div", _hoisted_1$26, [createElementVNode("div", _hoisted_2$19, [createElementVNode("div", _hoisted_3$10, [slots.icon ? (openBlock(), createElementBlock("span", _hoisted_4$9, [renderSlot(_ctx.$slots, "icon")])) : createCommentVNode("", true), createVNode(unref(DialogTitle), { "as-child": "" }, {
19799
20724
  default: withCtx(() => [createVNode(Heading_default, {
19800
20725
  level: 2,
19801
20726
  size: "lg",
@@ -19830,10 +20755,10 @@ var Drawer_default = /* @__PURE__ */ defineComponent({
19830
20755
  ref: scrollArea,
19831
20756
  class: "min-h-0 grow"
19832
20757
  }, {
19833
- default: withCtx(() => [createElementVNode("div", _hoisted_5$7, [renderSlot(_ctx.$slots, "content", { close })])]),
20758
+ default: withCtx(() => [createElementVNode("div", _hoisted_5$8, [renderSlot(_ctx.$slots, "content", { close })])]),
19834
20759
  _: 3
19835
20760
  }, 512)) : createCommentVNode("", true),
19836
- _ctx.$slots.footer ? (openBlock(), createElementBlock("div", _hoisted_6$4, [renderSlot(_ctx.$slots, "footer", { close })])) : createCommentVNode("", true)
20761
+ _ctx.$slots.footer ? (openBlock(), createElementBlock("div", _hoisted_6$5, [renderSlot(_ctx.$slots, "footer", { close })])) : createCommentVNode("", true)
19837
20762
  ], 64))]),
19838
20763
  _: 3
19839
20764
  }, 16, ["data-hn-side", "class"])]),
@@ -19917,22 +20842,22 @@ function useSidebarScrollUpdates(area) {
19917
20842
  }
19918
20843
  //#endregion
19919
20844
  //#region src/components/app-shell/AppShell.vue?vue&type=script&setup=true&lang.ts
19920
- var _hoisted_1$22 = {
20845
+ var _hoisted_1$25 = {
19921
20846
  key: 0,
19922
20847
  class: "shrink-0"
19923
20848
  };
19924
- var _hoisted_2$15 = { class: "flex min-h-0 flex-1" };
19925
- var _hoisted_3$7 = {
20849
+ var _hoisted_2$18 = { class: "flex min-h-0 flex-1" };
20850
+ var _hoisted_3$9 = {
19926
20851
  key: 0,
19927
20852
  class: "hidden h-full shrink-0 lg:block"
19928
20853
  };
19929
- var _hoisted_4$6 = { class: "flex min-h-0 min-w-0 flex-1 flex-col" };
19930
- var _hoisted_5$6 = {
20854
+ var _hoisted_4$8 = { class: "flex min-h-0 min-w-0 flex-1 flex-col" };
20855
+ var _hoisted_5$7 = {
19931
20856
  key: 0,
19932
20857
  class: "border-line bg-canvas shrink-0 border-b"
19933
20858
  };
19934
- var _hoisted_6$3 = { class: "flex h-14 items-center gap-3 px-4 sm:px-6" };
19935
- var _hoisted_7$1 = { class: "min-h-0 min-w-0 flex-1" };
20859
+ var _hoisted_6$4 = { class: "flex h-14 items-center gap-3 px-4 sm:px-6" };
20860
+ var _hoisted_7$2 = { class: "min-h-0 min-w-0 flex-1" };
19936
20861
  //#endregion
19937
20862
  //#region src/components/app-shell/AppShell.vue
19938
20863
  var AppShell_default = /* @__PURE__ */ defineComponent({
@@ -19989,8 +20914,8 @@ var AppShell_default = /* @__PURE__ */ defineComponent({
19989
20914
  return (_ctx, _cache) => {
19990
20915
  return openBlock(), createBlock(TooltipProvider_default, null, {
19991
20916
  default: withCtx(() => [createElementVNode("div", { class: normalizeClass(unref(cn)("bg-canvas text-fg flex h-screen flex-col overflow-hidden", props.class)) }, [
19992
- _ctx.$slots.banner ? (openBlock(), createElementBlock("div", _hoisted_1$22, [renderSlot(_ctx.$slots, "banner")])) : createCommentVNode("", true),
19993
- createElementVNode("div", _hoisted_2$15, [_ctx.$slots.sidebar ? (openBlock(), createElementBlock("div", _hoisted_3$7, [renderSlot(_ctx.$slots, "sidebar")])) : createCommentVNode("", true), createElementVNode("div", _hoisted_4$6, [_ctx.$slots.header ? (openBlock(), createElementBlock("header", _hoisted_5$6, [createElementVNode("div", _hoisted_6$3, [renderSlot(_ctx.$slots, "header")])])) : createCommentVNode("", true), createElementVNode("main", _hoisted_7$1, [createVNode(ScrollArea_default, {
20917
+ _ctx.$slots.banner ? (openBlock(), createElementBlock("div", _hoisted_1$25, [renderSlot(_ctx.$slots, "banner")])) : createCommentVNode("", true),
20918
+ createElementVNode("div", _hoisted_2$18, [_ctx.$slots.sidebar ? (openBlock(), createElementBlock("div", _hoisted_3$9, [renderSlot(_ctx.$slots, "sidebar")])) : createCommentVNode("", true), createElementVNode("div", _hoisted_4$8, [_ctx.$slots.header ? (openBlock(), createElementBlock("header", _hoisted_5$7, [createElementVNode("div", _hoisted_6$4, [renderSlot(_ctx.$slots, "header")])])) : createCommentVNode("", true), createElementVNode("main", _hoisted_7$2, [createVNode(ScrollArea_default, {
19994
20919
  ref_key: "main",
19995
20920
  ref: main,
19996
20921
  "data-scroll-restore": props.restoreKey,
@@ -20022,8 +20947,8 @@ var AppShell_default = /* @__PURE__ */ defineComponent({
20022
20947
  });
20023
20948
  //#endregion
20024
20949
  //#region src/components/page/Page.vue?vue&type=script&setup=true&lang.ts
20025
- var _hoisted_1$21 = { class: "flex gap-10" };
20026
- var _hoisted_2$14 = { class: "flex min-w-0 flex-1 flex-col gap-8" };
20950
+ var _hoisted_1$24 = { class: "flex gap-10" };
20951
+ var _hoisted_2$17 = { class: "flex min-w-0 flex-1 flex-col gap-8" };
20027
20952
  //#endregion
20028
20953
  //#region src/components/page/Page.vue
20029
20954
  var Page_default = /* @__PURE__ */ defineComponent({
@@ -20040,7 +20965,7 @@ var Page_default = /* @__PURE__ */ defineComponent({
20040
20965
  size: props.size,
20041
20966
  class: normalizeClass(unref(cn)("py-8", props.class))
20042
20967
  }, {
20043
- default: withCtx(() => [createElementVNode("div", _hoisted_1$21, [createElementVNode("div", _hoisted_2$14, [renderSlot(_ctx.$slots, "default")]), renderSlot(_ctx.$slots, "aside")])]),
20968
+ default: withCtx(() => [createElementVNode("div", _hoisted_1$24, [createElementVNode("div", _hoisted_2$17, [renderSlot(_ctx.$slots, "default")]), renderSlot(_ctx.$slots, "aside")])]),
20044
20969
  _: 3
20045
20970
  }, 8, ["size", "class"]);
20046
20971
  };
@@ -20048,9 +20973,9 @@ var Page_default = /* @__PURE__ */ defineComponent({
20048
20973
  });
20049
20974
  //#endregion
20050
20975
  //#region src/components/page/PageHeader.vue?vue&type=script&setup=true&lang.ts
20051
- var _hoisted_1$20 = { class: "flex flex-col items-start gap-3 md:flex-row" };
20052
- var _hoisted_2$13 = { class: "flex min-w-0 flex-1 flex-col gap-2" };
20053
- var _hoisted_3$6 = {
20976
+ var _hoisted_1$23 = { class: "flex flex-col items-start gap-3 md:flex-row" };
20977
+ var _hoisted_2$16 = { class: "flex min-w-0 flex-1 flex-col gap-2" };
20978
+ var _hoisted_3$8 = {
20054
20979
  key: 0,
20055
20980
  class: "flex w-full flex-wrap items-center gap-2 md:w-auto md:shrink-0"
20056
20981
  };
@@ -20068,7 +20993,7 @@ var PageHeader_default = /* @__PURE__ */ defineComponent({
20068
20993
  setup(__props) {
20069
20994
  const props = __props;
20070
20995
  return (_ctx, _cache) => {
20071
- return openBlock(), createElementBlock("header", { class: normalizeClass(unref(cn)("flex flex-col gap-2", props.class)) }, [createElementVNode("div", _hoisted_1$20, [createElementVNode("div", _hoisted_2$13, [
20996
+ return openBlock(), createElementBlock("header", { class: normalizeClass(unref(cn)("flex flex-col gap-2", props.class)) }, [createElementVNode("div", _hoisted_1$23, [createElementVNode("div", _hoisted_2$16, [
20072
20997
  props.eyebrow ? (openBlock(), createBlock(Text_default, {
20073
20998
  key: 0,
20074
20999
  as: "span",
@@ -20093,7 +21018,7 @@ var PageHeader_default = /* @__PURE__ */ defineComponent({
20093
21018
  default: withCtx(() => [createTextVNode(toDisplayString(props.description), 1)]),
20094
21019
  _: 1
20095
21020
  })) : createCommentVNode("", true)
20096
- ]), _ctx.$slots.actions ? (openBlock(), createElementBlock("div", _hoisted_3$6, [renderSlot(_ctx.$slots, "actions")])) : createCommentVNode("", true)]), renderSlot(_ctx.$slots, "default")], 2);
21021
+ ]), _ctx.$slots.actions ? (openBlock(), createElementBlock("div", _hoisted_3$8, [renderSlot(_ctx.$slots, "actions")])) : createCommentVNode("", true)]), renderSlot(_ctx.$slots, "default")], 2);
20097
21022
  };
20098
21023
  }
20099
21024
  });
@@ -20112,8 +21037,8 @@ var PageBody_default = /* @__PURE__ */ defineComponent({
20112
21037
  });
20113
21038
  //#endregion
20114
21039
  //#region src/components/page/PageAside.vue?vue&type=script&setup=true&lang.ts
20115
- var _hoisted_1$19 = ["aria-labelledby"];
20116
- var _hoisted_2$12 = { class: "sticky top-8 flex flex-col gap-3" };
21040
+ var _hoisted_1$22 = ["aria-labelledby"];
21041
+ var _hoisted_2$15 = { class: "sticky top-8 flex flex-col gap-3" };
20117
21042
  //#endregion
20118
21043
  //#region src/components/page/PageAside.vue
20119
21044
  var PageAside_default = /* @__PURE__ */ defineComponent({
@@ -20130,7 +21055,7 @@ var PageAside_default = /* @__PURE__ */ defineComponent({
20130
21055
  return openBlock(), createElementBlock("aside", {
20131
21056
  "aria-labelledby": props.label ? unref(titleId) : void 0,
20132
21057
  class: normalizeClass(unref(cn)("hidden w-56 shrink-0 xl:block", props.class))
20133
- }, [createElementVNode("div", _hoisted_2$12, [props.label ? (openBlock(), createBlock(Text_default, {
21058
+ }, [createElementVNode("div", _hoisted_2$15, [props.label ? (openBlock(), createBlock(Text_default, {
20134
21059
  key: 0,
20135
21060
  id: unref(titleId),
20136
21061
  as: "h2",
@@ -20140,13 +21065,13 @@ var PageAside_default = /* @__PURE__ */ defineComponent({
20140
21065
  }, {
20141
21066
  default: withCtx(() => [createTextVNode(toDisplayString(props.label), 1)]),
20142
21067
  _: 1
20143
- }, 8, ["id"])) : createCommentVNode("", true), renderSlot(_ctx.$slots, "default")])], 10, _hoisted_1$19);
21068
+ }, 8, ["id"])) : createCommentVNode("", true), renderSlot(_ctx.$slots, "default")])], 10, _hoisted_1$22);
20144
21069
  };
20145
21070
  }
20146
21071
  });
20147
21072
  //#endregion
20148
21073
  //#region src/components/section/Section.vue?vue&type=script&setup=true&lang.ts
20149
- var _hoisted_1$18 = ["id"];
21074
+ var _hoisted_1$21 = ["id"];
20150
21075
  //#endregion
20151
21076
  //#region src/components/section/Section.vue
20152
21077
  var Section_default = /* @__PURE__ */ defineComponent({
@@ -20169,7 +21094,7 @@ var Section_default = /* @__PURE__ */ defineComponent({
20169
21094
  }, {
20170
21095
  default: withCtx(() => [createTextVNode(toDisplayString(props.title), 1)]),
20171
21096
  _: 1
20172
- })) : createCommentVNode("", true), renderSlot(_ctx.$slots, "default")], 10, _hoisted_1$18);
21097
+ })) : createCommentVNode("", true), renderSlot(_ctx.$slots, "default")], 10, _hoisted_1$21);
20173
21098
  };
20174
21099
  }
20175
21100
  });
@@ -20178,7 +21103,7 @@ var Section_default = /* @__PURE__ */ defineComponent({
20178
21103
  function useScrollSpy(entries) {
20179
21104
  const visible = shallowRef(/* @__PURE__ */ new Set());
20180
21105
  const targets = shallowRef([]);
20181
- const seen = /* @__PURE__ */ new Set();
21106
+ const intersecting = /* @__PURE__ */ new Set();
20182
21107
  const covered = computed(() => entries().filter((entry) => visible.value.has(entry.id)));
20183
21108
  const current = computed(() => covered.value[0]?.id);
20184
21109
  const span = computed(() => {
@@ -20186,18 +21111,18 @@ function useScrollSpy(entries) {
20186
21111
  return rows.length ? `${rows[0] + 1} / ${rows.at(-1) + 2}` : void 0;
20187
21112
  });
20188
21113
  useIntersectionObserver(targets, (observed) => {
20189
- const next = new Set(visible.value);
20190
- for (const entry of observed) if (entry.isIntersecting) {
20191
- seen.add(entry.target.id);
20192
- next.add(entry.target.id);
20193
- } else if (seen.has(entry.target.id)) next.delete(entry.target.id);
20194
- if (next.size) visible.value = next;
20195
- }, { rootMargin: "0px 0px -15% 0px" });
21114
+ for (const entry of observed) if (entry.isIntersecting && entry.intersectionRatio > 0) intersecting.add(entry.target.id);
21115
+ else intersecting.delete(entry.target.id);
21116
+ visible.value = intersecting.size ? new Set(intersecting) : new Set(current.value ? [current.value] : []);
21117
+ }, {
21118
+ rootMargin: "0px 0px -15% 0px",
21119
+ threshold: [0, Number.EPSILON]
21120
+ });
20196
21121
  function targetOf(id) {
20197
21122
  return document.getElementById(id);
20198
21123
  }
20199
21124
  function locate() {
20200
- seen.clear();
21125
+ intersecting.clear();
20201
21126
  targets.value = entries().map(({ id }) => targetOf(id));
20202
21127
  }
20203
21128
  onMounted(() => {
@@ -20250,15 +21175,15 @@ function useAnchor(items) {
20250
21175
  }
20251
21176
  //#endregion
20252
21177
  //#region src/components/anchor/Anchor.vue?vue&type=script&setup=true&lang.ts
20253
- var _hoisted_1$17 = ["aria-label"];
20254
- var _hoisted_2$11 = { class: "border-line relative grid grid-cols-1 border-s" };
20255
- var _hoisted_3$5 = [
21178
+ var _hoisted_1$20 = ["aria-label"];
21179
+ var _hoisted_2$14 = { class: "border-line relative grid grid-cols-1 border-s" };
21180
+ var _hoisted_3$7 = [
20256
21181
  "href",
20257
21182
  "aria-current",
20258
21183
  "onClick"
20259
21184
  ];
20260
- var _hoisted_4$5 = { class: "min-w-0 flex-1 wrap-break-word" };
20261
- var _hoisted_5$5 = {
21185
+ var _hoisted_4$7 = { class: "min-w-0 flex-1 wrap-break-word" };
21186
+ var _hoisted_5$6 = {
20262
21187
  key: 0,
20263
21188
  class: "flex shrink-0 items-center empty:hidden"
20264
21189
  };
@@ -20280,7 +21205,7 @@ var Anchor_default = /* @__PURE__ */ defineComponent({
20280
21205
  return openBlock(), createElementBlock("nav", {
20281
21206
  "aria-label": props.label ?? unref(t).anchor.navLabel,
20282
21207
  class: normalizeClass(unref(cn)(props.class))
20283
- }, [createElementVNode("ul", _hoisted_2$11, [createVNode(Transition, {
21208
+ }, [createElementVNode("ul", _hoisted_2$14, [createVNode(Transition, {
20284
21209
  "enter-active-class": "hn-transition-base",
20285
21210
  "enter-from-class": "opacity-0",
20286
21211
  "leave-active-class": "hn-transition",
@@ -20305,18 +21230,18 @@ var Anchor_default = /* @__PURE__ */ defineComponent({
20305
21230
  "aria-current": unref(current) === entry.id ? "location" : void 0,
20306
21231
  class: normalizeClass(unref(cn)("hn-link flex items-center gap-(--hn-control-gap) py-1 text-sm", entry.depth === 0 ? "ps-3" : "ps-6", unref(visible).has(entry.id) ? "font-medium [--hn-link-color:var(--hn-fg-default)]" : "[--hn-link-color:var(--hn-fg-muted)]")),
20307
21232
  onClick: ($event) => unref(jump)($event, entry.id)
20308
- }, [createElementVNode("span", _hoisted_4$5, toDisplayString(entry.label), 1), _ctx.$slots.trailing ? (openBlock(), createElementBlock("span", _hoisted_5$5, [renderSlot(_ctx.$slots, "trailing", {
21233
+ }, [createElementVNode("span", _hoisted_4$7, toDisplayString(entry.label), 1), _ctx.$slots.trailing ? (openBlock(), createElementBlock("span", _hoisted_5$6, [renderSlot(_ctx.$slots, "trailing", {
20309
21234
  item: entry.item,
20310
21235
  active: unref(current) === entry.id
20311
- })])) : createCommentVNode("", true)], 10, _hoisted_3$5)], 4);
20312
- }), 128))])], 10, _hoisted_1$17);
21236
+ })])) : createCommentVNode("", true)], 10, _hoisted_3$7)], 4);
21237
+ }), 128))])], 10, _hoisted_1$20);
20313
21238
  };
20314
21239
  }
20315
21240
  });
20316
21241
  //#endregion
20317
21242
  //#region src/components/breadcrumb/Breadcrumb.vue?vue&type=script&setup=true&lang.ts
20318
- var _hoisted_1$16 = ["aria-label"];
20319
- var _hoisted_2$10 = { class: "flex flex-wrap items-center gap-1.5 text-sm" };
21243
+ var _hoisted_1$19 = ["aria-label"];
21244
+ var _hoisted_2$13 = { class: "flex flex-wrap items-center gap-1.5 text-sm" };
20320
21245
  //#endregion
20321
21246
  //#region src/components/breadcrumb/Breadcrumb.vue
20322
21247
  var Breadcrumb_default = /* @__PURE__ */ defineComponent({
@@ -20333,13 +21258,13 @@ var Breadcrumb_default = /* @__PURE__ */ defineComponent({
20333
21258
  return openBlock(), createElementBlock("nav", {
20334
21259
  "aria-label": props.label ?? unref(t).breadcrumb.navLabel,
20335
21260
  class: normalizeClass(unref(cn)(props.class))
20336
- }, [createElementVNode("ol", _hoisted_2$10, [renderSlot(_ctx.$slots, "default")])], 10, _hoisted_1$16);
21261
+ }, [createElementVNode("ol", _hoisted_2$13, [renderSlot(_ctx.$slots, "default")])], 10, _hoisted_1$19);
20337
21262
  };
20338
21263
  }
20339
21264
  });
20340
21265
  //#endregion
20341
21266
  //#region src/components/breadcrumb/BreadcrumbItem.vue?vue&type=script&setup=true&lang.ts
20342
- var _hoisted_1$15 = { class: "flex items-center" };
21267
+ var _hoisted_1$18 = { class: "flex items-center" };
20343
21268
  //#endregion
20344
21269
  //#region src/components/breadcrumb/BreadcrumbItem.vue
20345
21270
  var BreadcrumbItem_default = /* @__PURE__ */ defineComponent({
@@ -20358,7 +21283,7 @@ var BreadcrumbItem_default = /* @__PURE__ */ defineComponent({
20358
21283
  setup(__props) {
20359
21284
  const props = __props;
20360
21285
  return (_ctx, _cache) => {
20361
- return openBlock(), createElementBlock("li", _hoisted_1$15, [props.current ? (openBlock(), createElementBlock("span", mergeProps({ key: 0 }, _ctx.$attrs, {
21286
+ return openBlock(), createElementBlock("li", _hoisted_1$18, [props.current ? (openBlock(), createElementBlock("span", mergeProps({ key: 0 }, _ctx.$attrs, {
20362
21287
  "aria-current": "page",
20363
21288
  class: unref(cn)("text-fg font-medium", props.class)
20364
21289
  }), [renderSlot(_ctx.$slots, "default")], 16)) : (openBlock(), createBlock(unref(Primitive), mergeProps({ key: 1 }, _ctx.$attrs, {
@@ -20651,7 +21576,7 @@ var DropdownMenu_default = /* @__PURE__ */ defineComponent({
20651
21576
  });
20652
21577
  //#endregion
20653
21578
  //#region src/components/dropdown-menu/DropdownMenuItem.vue?vue&type=script&setup=true&lang.ts
20654
- var _hoisted_1$14 = { class: "min-w-0 flex-1" };
21579
+ var _hoisted_1$17 = { class: "min-w-0 flex-1" };
20655
21580
  //#endregion
20656
21581
  //#region src/components/dropdown-menu/DropdownMenuItem.vue
20657
21582
  var DropdownMenuItem_default = /* @__PURE__ */ defineComponent({
@@ -20677,7 +21602,7 @@ var DropdownMenuItem_default = /* @__PURE__ */ defineComponent({
20677
21602
  }), {
20678
21603
  default: withCtx(() => [
20679
21604
  renderSlot(_ctx.$slots, "icon"),
20680
- createElementVNode("span", _hoisted_1$14, [renderSlot(_ctx.$slots, "default")]),
21605
+ createElementVNode("span", _hoisted_1$17, [renderSlot(_ctx.$slots, "default")]),
20681
21606
  renderSlot(_ctx.$slots, "trailing")
20682
21607
  ]),
20683
21608
  _: 3
@@ -20691,8 +21616,8 @@ var DropdownMenuItem_default = /* @__PURE__ */ defineComponent({
20691
21616
  });
20692
21617
  //#endregion
20693
21618
  //#region src/components/dropdown-menu/DropdownMenuCheckboxItem.vue?vue&type=script&setup=true&lang.ts
20694
- var _hoisted_1$13 = { class: "min-w-0 flex-1" };
20695
- var _hoisted_2$9 = { class: "flex size-4 shrink-0 items-center justify-center" };
21619
+ var _hoisted_1$16 = { class: "min-w-0 flex-1" };
21620
+ var _hoisted_2$12 = { class: "flex size-4 shrink-0 items-center justify-center" };
20696
21621
  //#endregion
20697
21622
  //#region src/components/dropdown-menu/DropdownMenuCheckboxItem.vue
20698
21623
  var DropdownMenuCheckboxItem_default = /* @__PURE__ */ defineComponent({
@@ -20724,9 +21649,9 @@ var DropdownMenuCheckboxItem_default = /* @__PURE__ */ defineComponent({
20724
21649
  onSelect: _cache[1] || (_cache[1] = (event) => event.preventDefault())
20725
21650
  }), {
20726
21651
  default: withCtx(() => [
20727
- createElementVNode("span", _hoisted_1$13, [renderSlot(_ctx.$slots, "default")]),
21652
+ createElementVNode("span", _hoisted_1$16, [renderSlot(_ctx.$slots, "default")]),
20728
21653
  renderSlot(_ctx.$slots, "trailing"),
20729
- createElementVNode("span", _hoisted_2$9, [createVNode(unref(DropdownMenuItemIndicator), null, {
21654
+ createElementVNode("span", _hoisted_2$12, [createVNode(unref(DropdownMenuItemIndicator), null, {
20730
21655
  default: withCtx(() => [createVNode(unref(Check))]),
20731
21656
  _: 1
20732
21657
  })])
@@ -20759,7 +21684,7 @@ var DropdownMenuGroup_default = /* @__PURE__ */ defineComponent({
20759
21684
  });
20760
21685
  //#endregion
20761
21686
  //#region src/components/dropdown-menu/DropdownMenuSub.vue?vue&type=script&setup=true&lang.ts
20762
- var _hoisted_1$12 = { class: "min-w-0 flex-1" };
21687
+ var _hoisted_1$15 = { class: "min-w-0 flex-1" };
20763
21688
  //#endregion
20764
21689
  //#region src/components/dropdown-menu/DropdownMenuSub.vue
20765
21690
  var DropdownMenuSub_default = /* @__PURE__ */ defineComponent({
@@ -20790,7 +21715,7 @@ var DropdownMenuSub_default = /* @__PURE__ */ defineComponent({
20790
21715
  }, {
20791
21716
  default: withCtx(() => [
20792
21717
  renderSlot(_ctx.$slots, "icon"),
20793
- createElementVNode("span", _hoisted_1$12, [renderSlot(_ctx.$slots, "label", {}, () => [createTextVNode(toDisplayString(props.label), 1)])]),
21718
+ createElementVNode("span", _hoisted_1$15, [renderSlot(_ctx.$slots, "label", {}, () => [createTextVNode(toDisplayString(props.label), 1)])]),
20794
21719
  createVNode(unref(ChevronRight), { class: "text-muted" })
20795
21720
  ]),
20796
21721
  _: 3
@@ -20873,8 +21798,8 @@ var DropdownMenuRadioGroup_default = /* @__PURE__ */ defineComponent({
20873
21798
  });
20874
21799
  //#endregion
20875
21800
  //#region src/components/dropdown-menu/DropdownMenuRadioItem.vue?vue&type=script&setup=true&lang.ts
20876
- var _hoisted_1$11 = { class: "min-w-0 flex-1" };
20877
- var _hoisted_2$8 = { class: "flex size-4 shrink-0 items-center justify-center" };
21801
+ var _hoisted_1$14 = { class: "min-w-0 flex-1" };
21802
+ var _hoisted_2$11 = { class: "flex size-4 shrink-0 items-center justify-center" };
20878
21803
  //#endregion
20879
21804
  //#region src/components/dropdown-menu/DropdownMenuRadioItem.vue
20880
21805
  var DropdownMenuRadioItem_default = /* @__PURE__ */ defineComponent({
@@ -20896,7 +21821,7 @@ var DropdownMenuRadioItem_default = /* @__PURE__ */ defineComponent({
20896
21821
  "text-value": props.textValue,
20897
21822
  class: unref(cn)(unref(dropdownItem)(), props.class)
20898
21823
  }), {
20899
- default: withCtx(() => [createElementVNode("span", _hoisted_1$11, [renderSlot(_ctx.$slots, "default")]), createElementVNode("span", _hoisted_2$8, [createVNode(unref(DropdownMenuItemIndicator), null, {
21824
+ default: withCtx(() => [createElementVNode("span", _hoisted_1$14, [renderSlot(_ctx.$slots, "default")]), createElementVNode("span", _hoisted_2$11, [createVNode(unref(DropdownMenuItemIndicator), null, {
20900
21825
  default: withCtx(() => [createVNode(unref(Check), { class: "size-4" })]),
20901
21826
  _: 1
20902
21827
  })])]),
@@ -20912,19 +21837,19 @@ var DropdownMenuRadioItem_default = /* @__PURE__ */ defineComponent({
20912
21837
  });
20913
21838
  //#endregion
20914
21839
  //#region src/components/dialog/Dialog.vue?vue&type=script&setup=true&lang.ts
20915
- var _hoisted_1$10 = {
21840
+ var _hoisted_1$13 = {
20916
21841
  key: 0,
20917
21842
  class: "flex shrink-0 items-start justify-between gap-4 px-(--hn-panel-p)"
20918
21843
  };
20919
- var _hoisted_2$7 = { class: "flex min-w-0 flex-col gap-1.5" };
20920
- var _hoisted_3$4 = { class: "flex min-w-0 items-center gap-2" };
20921
- var _hoisted_4$4 = {
21844
+ var _hoisted_2$10 = { class: "flex min-w-0 flex-col gap-1.5" };
21845
+ var _hoisted_3$6 = { class: "flex min-w-0 items-center gap-2" };
21846
+ var _hoisted_4$6 = {
20922
21847
  key: 0,
20923
21848
  class: "text-muted flex shrink-0 [&_svg]:size-5",
20924
21849
  "aria-hidden": "true"
20925
21850
  };
20926
- var _hoisted_5$4 = { class: "px-(--hn-panel-p) py-1" };
20927
- var _hoisted_6$2 = {
21851
+ var _hoisted_5$5 = { class: "px-(--hn-panel-p) py-1" };
21852
+ var _hoisted_6$3 = {
20928
21853
  key: 2,
20929
21854
  class: "flex shrink-0 justify-end gap-(--hn-inline-gap) px-(--hn-panel-p)"
20930
21855
  };
@@ -21014,7 +21939,7 @@ var Dialog_default = /* @__PURE__ */ defineComponent({
21014
21939
  default: withCtx(() => [createTextVNode(toDisplayString(props.description), 1)]),
21015
21940
  _: 1
21016
21941
  })) : createCommentVNode("", true)], 64)) : createCommentVNode("", true), slots.body ? renderSlot(_ctx.$slots, "body", { close }, void 0, void 0, 1) : (openBlock(), createElementBlock(Fragment, { key: 2 }, [
21017
- props.header ? (openBlock(), createElementBlock("div", _hoisted_1$10, [createElementVNode("div", _hoisted_2$7, [createElementVNode("div", _hoisted_3$4, [slots.icon ? (openBlock(), createElementBlock("span", _hoisted_4$4, [renderSlot(_ctx.$slots, "icon")])) : createCommentVNode("", true), createVNode(unref(DialogTitle), { "as-child": "" }, {
21942
+ props.header ? (openBlock(), createElementBlock("div", _hoisted_1$13, [createElementVNode("div", _hoisted_2$10, [createElementVNode("div", _hoisted_3$6, [slots.icon ? (openBlock(), createElementBlock("span", _hoisted_4$6, [renderSlot(_ctx.$slots, "icon")])) : createCommentVNode("", true), createVNode(unref(DialogTitle), { "as-child": "" }, {
21018
21943
  default: withCtx(() => [createVNode(Heading_default, {
21019
21944
  level: 2,
21020
21945
  size: "lg",
@@ -21049,10 +21974,10 @@ var Dialog_default = /* @__PURE__ */ defineComponent({
21049
21974
  ref: scrollArea,
21050
21975
  class: "min-h-0"
21051
21976
  }, {
21052
- default: withCtx(() => [createElementVNode("div", _hoisted_5$4, [renderSlot(_ctx.$slots, "content", { close })])]),
21977
+ default: withCtx(() => [createElementVNode("div", _hoisted_5$5, [renderSlot(_ctx.$slots, "content", { close })])]),
21053
21978
  _: 3
21054
21979
  }, 512)) : createCommentVNode("", true),
21055
- _ctx.$slots.footer ? (openBlock(), createElementBlock("div", _hoisted_6$2, [renderSlot(_ctx.$slots, "footer", { close })])) : createCommentVNode("", true)
21980
+ _ctx.$slots.footer ? (openBlock(), createElementBlock("div", _hoisted_6$3, [renderSlot(_ctx.$slots, "footer", { close })])) : createCommentVNode("", true)
21056
21981
  ], 64))]),
21057
21982
  _: 3
21058
21983
  }, 16, ["class"])]),
@@ -21370,17 +22295,17 @@ function useToastExpand() {
21370
22295
  }
21371
22296
  //#endregion
21372
22297
  //#region src/components/toast/Toaster.vue?vue&type=script&setup=true&lang.ts
21373
- var _hoisted_1$9 = { class: "hn-toast-card bg-surface border-line relative rounded-lg border p-4 shadow-md" };
21374
- var _hoisted_2$6 = {
22298
+ var _hoisted_1$12 = { class: "hn-toast-card bg-surface border-line relative rounded-lg border p-4 shadow-md" };
22299
+ var _hoisted_2$9 = {
21375
22300
  key: 0,
21376
22301
  class: "relative mt-0.5 size-5 shrink-0"
21377
22302
  };
21378
- var _hoisted_3$3 = {
22303
+ var _hoisted_3$5 = {
21379
22304
  key: 0,
21380
22305
  class: "absolute inset-0 inline-flex items-center justify-center"
21381
22306
  };
21382
- var _hoisted_4$3 = { class: "flex min-w-0 flex-1 flex-col gap-1 pe-6" };
21383
- var _hoisted_5$3 = {
22307
+ var _hoisted_4$5 = { class: "flex min-w-0 flex-1 flex-col gap-1 pe-6" };
22308
+ var _hoisted_5$4 = {
21384
22309
  key: 1,
21385
22310
  class: "mt-1.5 flex gap-(--hn-inline-gap)"
21386
22311
  };
@@ -21439,7 +22364,7 @@ var Toaster_default = /* @__PURE__ */ defineComponent({
21439
22364
  tabindex: unref(slotOf)(item).index === 0 ? 0 : -1,
21440
22365
  "onUpdate:open": (v) => !v && unref(dismiss)(item.id)
21441
22366
  }, {
21442
- default: withCtx(() => [createElementVNode("div", _hoisted_1$9, [item.component ? (openBlock(), createElementBlock("div", {
22367
+ default: withCtx(() => [createElementVNode("div", _hoisted_1$12, [item.component ? (openBlock(), createElementBlock("div", {
21443
22368
  key: 0,
21444
22369
  ref_for: true,
21445
22370
  ref: (refValue) => unref(setItemRef)(item.id, refValue),
@@ -21449,13 +22374,13 @@ var Toaster_default = /* @__PURE__ */ defineComponent({
21449
22374
  ref_for: true,
21450
22375
  ref: (refValue) => unref(setItemRef)(item.id, refValue),
21451
22376
  class: "hn-toast-body flex w-full items-start gap-3"
21452
- }, [item.tone !== "neutral" ? (openBlock(), createElementBlock("div", _hoisted_2$6, [createVNode(Transition, {
22377
+ }, [item.tone !== "neutral" ? (openBlock(), createElementBlock("div", _hoisted_2$9, [createVNode(Transition, {
21453
22378
  "enter-active-class": "hn-transition-base",
21454
22379
  "enter-from-class": "scale-90 opacity-0",
21455
22380
  "leave-active-class": "hn-transition",
21456
22381
  "leave-to-class": "scale-90 opacity-0"
21457
22382
  }, {
21458
- default: withCtx(() => [item.tone === "loading" ? (openBlock(), createElementBlock("span", _hoisted_3$3, [createVNode(Spinner_default, {
22383
+ default: withCtx(() => [item.tone === "loading" ? (openBlock(), createElementBlock("span", _hoisted_3$5, [createVNode(Spinner_default, {
21459
22384
  size: "md",
21460
22385
  class: "text-muted"
21461
22386
  })])) : (openBlock(), createBlock(resolveDynamicComponent(icons[item.tone]), {
@@ -21464,7 +22389,7 @@ var Toaster_default = /* @__PURE__ */ defineComponent({
21464
22389
  "aria-hidden": "true"
21465
22390
  }, null, 8, ["class"]))]),
21466
22391
  _: 2
21467
- }, 1024)])) : createCommentVNode("", true), createElementVNode("div", _hoisted_4$3, [
22392
+ }, 1024)])) : createCommentVNode("", true), createElementVNode("div", _hoisted_4$5, [
21468
22393
  createVNode(unref(ToastTitle), { class: "text-fg font-medium" }, {
21469
22394
  default: withCtx(() => [createTextVNode(toDisplayString(item.message), 1)]),
21470
22395
  _: 2
@@ -21476,7 +22401,7 @@ var Toaster_default = /* @__PURE__ */ defineComponent({
21476
22401
  default: withCtx(() => [createTextVNode(toDisplayString(item.description), 1)]),
21477
22402
  _: 2
21478
22403
  }, 1024)) : createCommentVNode("", true),
21479
- item.action || item.cancel ? (openBlock(), createElementBlock("div", _hoisted_5$3, [item.cancel ? (openBlock(), createBlock(Button_default, {
22404
+ item.action || item.cancel ? (openBlock(), createElementBlock("div", _hoisted_5$4, [item.cancel ? (openBlock(), createBlock(Button_default, {
21480
22405
  key: 0,
21481
22406
  size: "sm",
21482
22407
  variant: "ghost",
@@ -21930,13 +22855,13 @@ function useReveal(host, hidden, revealOn) {
21930
22855
  }
21931
22856
  //#endregion
21932
22857
  //#region src/components/spoiler/Spoiler.vue?vue&type=script&setup=true&lang.ts
21933
- var _hoisted_1$8 = [
22858
+ var _hoisted_1$11 = [
21934
22859
  "data-hidden",
21935
22860
  "role",
21936
22861
  "aria-label",
21937
22862
  "aria-expanded"
21938
22863
  ];
21939
- var _hoisted_2$5 = { class: "hn-spoiler-inner" };
22864
+ var _hoisted_2$8 = { class: "hn-spoiler-inner" };
21940
22865
  //#endregion
21941
22866
  //#region src/components/spoiler/Spoiler.vue
21942
22867
  var Spoiler_default = /* @__PURE__ */ defineComponent({
@@ -21972,7 +22897,7 @@ var Spoiler_default = /* @__PURE__ */ defineComponent({
21972
22897
  tabindex: "0",
21973
22898
  "aria-label": label.value,
21974
22899
  "aria-expanded": !hidden.value
21975
- }, toHandlers(unref(handlers), true)), [createElementVNode("span", _hoisted_2$5, [renderSlot(_ctx.$slots, "default")])], 16, _hoisted_1$8);
22900
+ }, toHandlers(unref(handlers), true)), [createElementVNode("span", _hoisted_2$8, [renderSlot(_ctx.$slots, "default")])], 16, _hoisted_1$11);
21976
22901
  };
21977
22902
  }
21978
22903
  });
@@ -22156,20 +23081,20 @@ function DataTableSlot(props, { slots }) {
22156
23081
  }
22157
23082
  //#endregion
22158
23083
  //#region src/components/data-table/DataTableHead.vue?vue&type=script&setup=true&lang.ts
22159
- var _hoisted_1$7 = {
23084
+ var _hoisted_1$10 = {
22160
23085
  key: 1,
22161
23086
  class: "sr-only"
22162
23087
  };
22163
- var _hoisted_2$4 = {
23088
+ var _hoisted_2$7 = {
22164
23089
  key: 0,
22165
23090
  class: "hn-table-sort",
22166
23091
  "aria-hidden": "true"
22167
23092
  };
22168
- var _hoisted_3$2 = {
23093
+ var _hoisted_3$4 = {
22169
23094
  key: 3,
22170
23095
  class: "text-xs"
22171
23096
  };
22172
- var _hoisted_4$2 = [
23097
+ var _hoisted_4$4 = [
22173
23098
  "tabindex",
22174
23099
  "aria-label",
22175
23100
  "aria-valuenow",
@@ -22181,7 +23106,7 @@ var _hoisted_4$2 = [
22181
23106
  "onPointerdown",
22182
23107
  "onKeydown"
22183
23108
  ];
22184
- var _hoisted_5$2 = { class: "sr-only" };
23109
+ var _hoisted_5$3 = { class: "sr-only" };
22185
23110
  //#endregion
22186
23111
  //#region src/components/data-table/DataTableHead.vue
22187
23112
  var DataTableHead_default = /* @__PURE__ */ defineComponent({
@@ -22222,7 +23147,7 @@ var DataTableHead_default = /* @__PURE__ */ defineComponent({
22222
23147
  "disabled",
22223
23148
  "aria-label",
22224
23149
  "onUpdate:modelValue"
22225
- ])) : (openBlock(), createElementBlock("span", _hoisted_1$7, toDisplayString(control === "select" ? unref(t).table.selectRow : control === "drag" ? unref(t).table.moveRow : unref(t).table.expand), 1))]),
23150
+ ])) : (openBlock(), createElementBlock("span", _hoisted_1$10, toDisplayString(control === "select" ? unref(t).table.selectRow : control === "drag" ? unref(t).table.moveRow : unref(t).table.expand), 1))]),
22226
23151
  _: 2
22227
23152
  }, 1032, ["rowspan", "style"]);
22228
23153
  }), 128)) : createCommentVNode("", true),
@@ -22236,7 +23161,7 @@ var DataTableHead_default = /* @__PURE__ */ defineComponent({
22236
23161
  align: header.column.align,
22237
23162
  "aria-sort": header.ariaSort,
22238
23163
  style: normalizeStyle(header.style),
22239
- class: normalizeClass(unref(cn)("hn-table-header relative", header.column.headerClass, __props.drag.kind.value === "column" && __props.drag.key.value === header.column.key && "opacity-40")),
23164
+ class: normalizeClass(unref(cn)("hn-table-header relative p-0", header.column.headerClass, __props.drag.kind.value === "column" && __props.drag.key.value === header.column.key && "opacity-40")),
22240
23165
  "data-reorderable": header.leaf && __props.config.reorderColumns && header.column.reorderable !== false && !__props.ctl.blocked.value ? "" : void 0,
22241
23166
  "data-align": header.column.align,
22242
23167
  onPointerdown: ($event) => header.leaf && __props.drag.start("column", header.column.key, header.column.label, $event)
@@ -22257,7 +23182,7 @@ var DataTableHead_default = /* @__PURE__ */ defineComponent({
22257
23182
  onClick: ($event) => header.leaf && header.column.sortable && header.toggleSort($event.shiftKey),
22258
23183
  onKeydown: ($event) => header.leaf && __props.config.reorderColumns && header.column.reorderable !== false && __props.drag.columnKeydown(header.column.key, $event)
22259
23184
  }, {
22260
- default: withCtx(() => [createElementVNode("span", { class: normalizeClass(["min-w-0", (header.column.truncate || __props.config.resizable) && "truncate"]) }, toDisplayString(header.column.label), 3), header.leaf && header.column.sortable ? (openBlock(), createElementBlock("span", _hoisted_2$4, [header.sorting === "asc" ? (openBlock(), createBlock(unref(ArrowUp), { key: 0 })) : header.sorting === "desc" ? (openBlock(), createBlock(unref(ArrowDown), { key: 1 })) : (openBlock(), createBlock(unref(ChevronsUpDown), { key: 2 })), __props.config.multiSort && __props.models.sorting.value.length > 1 && header.sortIndex >= 0 ? (openBlock(), createElementBlock("span", _hoisted_3$2, toDisplayString(header.sortIndex + 1), 1)) : createCommentVNode("", true)])) : createCommentVNode("", true)]),
23185
+ default: withCtx(() => [createElementVNode("span", { class: normalizeClass(["min-w-0", (header.column.truncate || __props.config.resizable) && "truncate"]) }, toDisplayString(header.column.label), 3), header.leaf && header.column.sortable ? (openBlock(), createElementBlock("span", _hoisted_2$7, [header.sorting === "asc" ? (openBlock(), createBlock(unref(ArrowUp), { key: 0 })) : header.sorting === "desc" ? (openBlock(), createBlock(unref(ArrowDown), { key: 1 })) : (openBlock(), createBlock(unref(ChevronsUpDown), { key: 2 })), __props.config.multiSort && __props.models.sorting.value.length > 1 && header.sortIndex >= 0 ? (openBlock(), createElementBlock("span", _hoisted_3$4, toDisplayString(header.sortIndex + 1), 1)) : createCommentVNode("", true)])) : createCommentVNode("", true)]),
22261
23186
  _: 2
22262
23187
  }, 1064, [
22263
23188
  "type",
@@ -22287,7 +23212,7 @@ var DataTableHead_default = /* @__PURE__ */ defineComponent({
22287
23212
  onClick: _cache[0] || (_cache[0] = withModifiers(() => {}, ["stop"])),
22288
23213
  onPointerdown: ($event) => __props.layout.resize(header.column, $event),
22289
23214
  onKeydown: ($event) => __props.layout.resizeKey(header.column, $event)
22290
- }, null, 44, _hoisted_4$2)), [[unref(vTooltip), !__props.layout.resizing.value && __props.layout.handleVisible(header.column) ? `${unref(t).table.resizeColumn}: ${__props.layout.resizeLabel(header.column)}` : false]]) : createCommentVNode("", true)]),
23215
+ }, null, 44, _hoisted_4$4)), [[unref(vTooltip), !__props.layout.resizing.value && __props.layout.handleVisible(header.column) ? `${unref(t).table.resizeColumn}: ${__props.layout.resizeLabel(header.column)}` : false]]) : createCommentVNode("", true)]),
22291
23216
  _: 2
22292
23217
  }, 1032, [
22293
23218
  "data-hn-column",
@@ -22311,7 +23236,7 @@ var DataTableHead_default = /* @__PURE__ */ defineComponent({
22311
23236
  top: 0
22312
23237
  })
22313
23238
  }, {
22314
- default: withCtx(() => [createElementVNode("span", _hoisted_5$2, toDisplayString(unref(t).table.edit), 1)]),
23239
+ default: withCtx(() => [createElementVNode("span", _hoisted_5$3, toDisplayString(unref(t).table.edit), 1)]),
22315
23240
  _: 1
22316
23241
  }, 8, ["rowspan", "style"])) : createCommentVNode("", true)
22317
23242
  ]);
@@ -22321,7 +23246,7 @@ var DataTableHead_default = /* @__PURE__ */ defineComponent({
22321
23246
  });
22322
23247
  //#endregion
22323
23248
  //#region src/components/data-table/DataTableAction.vue?vue&type=script&setup=true&lang.ts
22324
- var _hoisted_1$6 = ["disabled", "aria-busy"];
23249
+ var _hoisted_1$9 = ["disabled", "aria-busy"];
22325
23250
  //#endregion
22326
23251
  //#region src/components/data-table/DataTableAction.vue
22327
23252
  var DataTableAction_default = /* @__PURE__ */ defineComponent({
@@ -22340,19 +23265,19 @@ var DataTableAction_default = /* @__PURE__ */ defineComponent({
22340
23265
  }, [__props.loading ? (openBlock(), createBlock(Spinner_default, {
22341
23266
  key: 0,
22342
23267
  size: "sm"
22343
- })) : renderSlot(_ctx.$slots, "default", {}, void 0, void 0, 1)], 8, _hoisted_1$6);
23268
+ })) : renderSlot(_ctx.$slots, "default", {}, void 0, void 0, 1)], 8, _hoisted_1$9);
22344
23269
  };
22345
23270
  }
22346
23271
  });
22347
23272
  //#endregion
22348
23273
  //#region src/components/data-table/DataTableSelection.vue?vue&type=script&setup=true&lang.ts
22349
- var _hoisted_1$5 = [
23274
+ var _hoisted_1$8 = [
22350
23275
  "name",
22351
23276
  "checked",
22352
23277
  "disabled",
22353
23278
  "aria-label"
22354
23279
  ];
22355
- var _hoisted_2$3 = ["data-state"];
23280
+ var _hoisted_2$6 = ["data-state"];
22356
23281
  //#endregion
22357
23282
  //#region src/components/data-table/DataTableSelection.vue
22358
23283
  var DataTableSelection_default = /* @__PURE__ */ defineComponent({
@@ -22378,7 +23303,7 @@ var DataTableSelection_default = /* @__PURE__ */ defineComponent({
22378
23303
  "aria-label": __props.label,
22379
23304
  class: "peer absolute inset-0 z-10 size-full cursor-pointer opacity-0",
22380
23305
  onChange: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("change", true))
22381
- }, null, 40, _hoisted_1$5), createElementVNode("span", {
23306
+ }, null, 40, _hoisted_1$8), createElementVNode("span", {
22382
23307
  "aria-hidden": "true",
22383
23308
  class: normalizeClass([unref(checkboxBox)({ shape: "round" }), "peer-focus-visible:outline-(--hn-focus-ring) peer-focus-visible:outline-2 peer-focus-visible:outline-offset-2"]),
22384
23309
  "data-state": __props.checked === true ? "checked" : "unchecked"
@@ -22393,7 +23318,7 @@ var DataTableSelection_default = /* @__PURE__ */ defineComponent({
22393
23318
  class: normalizeClass(unref(radioDot)())
22394
23319
  }, null, 2)) : createCommentVNode("", true)]),
22395
23320
  _: 1
22396
- })], 10, _hoisted_2$3)], 2)) : (openBlock(), createBlock(Checkbox_default, {
23321
+ })], 10, _hoisted_2$6)], 2)) : (openBlock(), createBlock(Checkbox_default, {
22397
23322
  key: 1,
22398
23323
  class: "mx-auto",
22399
23324
  "model-value": __props.checked,
@@ -22410,8 +23335,8 @@ var DataTableSelection_default = /* @__PURE__ */ defineComponent({
22410
23335
  });
22411
23336
  //#endregion
22412
23337
  //#region src/components/data-table/DataTableEditor.vue?vue&type=script&setup=true&lang.ts
22413
- var _hoisted_1$4 = { class: "hn-table-editor-control" };
22414
- var _hoisted_2$2 = ["id"];
23338
+ var _hoisted_1$7 = { class: "hn-table-editor-control" };
23339
+ var _hoisted_2$5 = ["id"];
22415
23340
  //#endregion
22416
23341
  //#region src/components/data-table/DataTableEditor.vue
22417
23342
  var DataTableEditor_default = /* @__PURE__ */ defineComponent({
@@ -22429,7 +23354,7 @@ var DataTableEditor_default = /* @__PURE__ */ defineComponent({
22429
23354
  class: "hn-table-editor",
22430
23355
  onClick: _cache[0] || (_cache[0] = withModifiers(() => {}, ["stop"])),
22431
23356
  onKeydown: _cache[1] || (_cache[1] = withModifiers(() => {}, ["stop"]))
22432
- }, [createElementVNode("div", _hoisted_1$4, [createVNode(InputGroup_default, {
23357
+ }, [createElementVNode("div", _hoisted_1$7, [createVNode(InputGroup_default, {
22433
23358
  variant: "bare",
22434
23359
  size: "sm",
22435
23360
  disabled: __props.context.pending,
@@ -22491,7 +23416,7 @@ var DataTableEditor_default = /* @__PURE__ */ defineComponent({
22491
23416
  id: unref(errorId),
22492
23417
  role: "alert",
22493
23418
  class: "hn-table-field-error"
22494
- }, toDisplayString(__props.context.error), 9, _hoisted_2$2)) : createCommentVNode("", true)], 32);
23419
+ }, toDisplayString(__props.context.error), 9, _hoisted_2$5)) : createCommentVNode("", true)], 32);
22495
23420
  };
22496
23421
  }
22497
23422
  });
@@ -22512,7 +23437,7 @@ function useTableText(element, value) {
22512
23437
  }
22513
23438
  //#endregion
22514
23439
  //#region src/components/data-table/DataTableText.vue?vue&type=script&setup=true&lang.ts
22515
- var _hoisted_1$3 = ["tabindex"];
23440
+ var _hoisted_1$6 = ["tabindex"];
22516
23441
  //#endregion
22517
23442
  //#region src/components/data-table/DataTableText.vue
22518
23443
  var DataTableText_default = /* @__PURE__ */ defineComponent({
@@ -22532,7 +23457,7 @@ var DataTableText_default = /* @__PURE__ */ defineComponent({
22532
23457
  ref: element,
22533
23458
  class: "block truncate",
22534
23459
  tabindex: unref(overflow) ? 0 : void 0
22535
- }, [createTextVNode(toDisplayString(__props.value), 1)], 8, _hoisted_1$3)), [[unref(vTooltip), unref(tooltip)]]) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [createTextVNode(toDisplayString(__props.value), 1)], 64));
23460
+ }, [createTextVNode(toDisplayString(__props.value), 1)], 8, _hoisted_1$6)), [[unref(vTooltip), unref(tooltip)]]) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [createTextVNode(toDisplayString(__props.value), 1)], 64));
22536
23461
  };
22537
23462
  }
22538
23463
  });
@@ -22586,7 +23511,7 @@ function aggregate(rows, column, valueOf) {
22586
23511
  }
22587
23512
  //#endregion
22588
23513
  //#region src/components/data-table/DataTableRow.vue?vue&type=script&setup=true&lang.ts
22589
- var _hoisted_1$2 = [
23514
+ var _hoisted_1$5 = [
22590
23515
  "data-index",
22591
23516
  "data-editing",
22592
23517
  "data-edit-error",
@@ -22596,14 +23521,14 @@ var _hoisted_1$2 = [
22596
23521
  "data-hn-state-group",
22597
23522
  "tabindex"
22598
23523
  ];
22599
- var _hoisted_2$1 = ["id"];
22600
- var _hoisted_3$1 = {
23524
+ var _hoisted_2$4 = ["id"];
23525
+ var _hoisted_3$3 = {
22601
23526
  key: 1,
22602
23527
  class: "p-3"
22603
23528
  };
22604
- var _hoisted_4$1 = ["disabled", "aria-expanded"];
22605
- var _hoisted_5$1 = { class: "text-muted" };
22606
- var _hoisted_6$1 = {
23529
+ var _hoisted_4$3 = ["disabled", "aria-expanded"];
23530
+ var _hoisted_5$2 = { class: "text-muted" };
23531
+ var _hoisted_6$2 = {
22607
23532
  key: 0,
22608
23533
  class: "hn-table-editor-control justify-center"
22609
23534
  };
@@ -22658,7 +23583,7 @@ var DataTableRow_default = /* @__PURE__ */ defineComponent({
22658
23583
  id: __props.editing.errorId,
22659
23584
  role: "alert",
22660
23585
  class: "hn-table-edit-message"
22661
- }, [createVNode(unref(CircleAlert), { "aria-hidden": "true" }), createTextVNode(" " + toDisplayString(__props.item.error), 1)], 8, _hoisted_2$1)) : (openBlock(), createElementBlock("div", _hoisted_3$1, [createVNode(unref(DataTableSlot), {
23586
+ }, [createVNode(unref(CircleAlert), { "aria-hidden": "true" }), createTextVNode(" " + toDisplayString(__props.item.error), 1)], 8, _hoisted_2$4)) : (openBlock(), createElementBlock("div", _hoisted_3$3, [createVNode(unref(DataTableSlot), {
22662
23587
  render: __props.slots.expansion,
22663
23588
  context: entry.value
22664
23589
  }, null, 8, ["render", "context"])]))]),
@@ -22702,8 +23627,8 @@ var DataTableRow_default = /* @__PURE__ */ defineComponent({
22702
23627
  class: normalizeClass(["hn-transition-transform rtl:rotate-180", entry.value.group.expanded && "rotate-90 rtl:rotate-90"])
22703
23628
  }, null, 8, ["class"]),
22704
23629
  createTextVNode(" " + toDisplayString(entry.value.group.column.label) + ": " + toDisplayString(entry.value.group.value) + " ", 1),
22705
- createElementVNode("span", _hoisted_5$1, "(" + toDisplayString(entry.value.group.rows.length) + ")", 1)
22706
- ], 12, _hoisted_4$1)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [createTextVNode(toDisplayString(entry.value.group.aggregate(column.key) ?? "—"), 1)], 64))]),
23630
+ createElementVNode("span", _hoisted_5$2, "(" + toDisplayString(entry.value.group.rows.length) + ")", 1)
23631
+ ], 12, _hoisted_4$3)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [createTextVNode(toDisplayString(entry.value.group.aggregate(column.key) ?? "—"), 1)], 64))]),
22707
23632
  _: 2
22708
23633
  }, 1032, [
22709
23634
  "data-state",
@@ -22831,7 +23756,7 @@ var DataTableRow_default = /* @__PURE__ */ defineComponent({
22831
23756
  class: "hn-table-edit-actions",
22832
23757
  style: normalizeStyle(__props.layout.controlStyle("end", 0))
22833
23758
  }, {
22834
- default: withCtx(() => [__props.editing.isEditing(entry.value.key) ? (openBlock(), createElementBlock("div", _hoisted_6$1, [createVNode(DataTableAction_default, {
23759
+ default: withCtx(() => [__props.editing.isEditing(entry.value.key) ? (openBlock(), createElementBlock("div", _hoisted_6$2, [createVNode(DataTableAction_default, {
22835
23760
  loading: __props.editing.pending.value,
22836
23761
  "aria-describedby": __props.editing.rowError(entry.value.key) ? __props.editing.errorId : void 0,
22837
23762
  "aria-label": unref(t).table.save,
@@ -22868,13 +23793,13 @@ var DataTableRow_default = /* @__PURE__ */ defineComponent({
22868
23793
  }, 8, ["disabled", "aria-label"]))]),
22869
23794
  _: 1
22870
23795
  }, 8, ["data-state", "style"])) : createCommentVNode("", true)
22871
- ], 64))], 42, _hoisted_1$2);
23796
+ ], 64))], 42, _hoisted_1$5);
22872
23797
  };
22873
23798
  }
22874
23799
  });
22875
23800
  //#endregion
22876
23801
  //#region src/components/data-table/DataTableDragPreview.vue?vue&type=script&setup=true&lang.ts
22877
- var _hoisted_1$1 = { class: "hn-table-drag-label" };
23802
+ var _hoisted_1$4 = { class: "hn-table-drag-label" };
22878
23803
  //#endregion
22879
23804
  //#region src/components/data-table/DataTableDragPreview.vue
22880
23805
  var DataTableDragPreview_default = /* @__PURE__ */ defineComponent({
@@ -22932,7 +23857,7 @@ var DataTableDragPreview_default = /* @__PURE__ */ defineComponent({
22932
23857
  top: `${__props.drag.dragging.value.y - __props.drag.dragging.value.offsetY}px`,
22933
23858
  width: __props.drag.dragging.value.kind === "column" ? `${__props.drag.dragging.value.width}px` : void 0
22934
23859
  })
22935
- }, [createElementVNode("div", _hoisted_1$1, toDisplayString(__props.drag.dragging.value.label), 1), (openBlock(true), createElementBlock(Fragment, null, renderList(__props.drag.dragging.value.samples, (sample, index) => {
23860
+ }, [createElementVNode("div", _hoisted_1$4, toDisplayString(__props.drag.dragging.value.label), 1), (openBlock(true), createElementBlock(Fragment, null, renderList(__props.drag.dragging.value.samples, (sample, index) => {
22936
23861
  return openBlock(), createElementBlock("div", {
22937
23862
  key: index,
22938
23863
  class: "hn-table-drag-cell"
@@ -23338,6 +24263,26 @@ function resizeWidths(column, neighbor, widths, value, minimumTotalWidth = 0, ma
23338
24263
  };
23339
24264
  }
23340
24265
  //#endregion
24266
+ //#region src/components/data-table/column-sizing-styles.ts
24267
+ function columnSizingStyles(columns, overrides, controls) {
24268
+ const initial = allocateWidths(columns, overrides, 0);
24269
+ const total = Object.values(initial).reduce((sum, width) => sum + width, controls);
24270
+ const flexible = columns.filter((column) => !column.pin && overrides[column.key] === void 0 && initial[column.key] < columnBounds(column).max);
24271
+ const capacities = flexible.map((column) => columnBounds(column).max - initial[column.key]).sort((a, b) => a - b);
24272
+ let consumed = 0;
24273
+ const shares = capacities.map((capacity, index) => {
24274
+ const share = `calc((100cqi - ${total + consumed}px) / ${capacities.length - index})`;
24275
+ consumed += capacity;
24276
+ return share;
24277
+ });
24278
+ const keys = new Set(flexible.map((column) => column.key));
24279
+ return {
24280
+ width: shares.length ? `clamp(${total}px, 100%, ${total + consumed}px)` : `${total}px`,
24281
+ "--hn-table-column-grow": shares.length ? `max(0px, ${shares.join(", ")})` : "0px",
24282
+ ...Object.fromEntries(columns.map((column, index) => [`--hn-table-column-${index}`, keys.has(column.key) ? `min(${columnBounds(column).max}px, calc(${initial[column.key]}px + var(--hn-table-column-grow)))` : `${initial[column.key]}px`]))
24283
+ };
24284
+ }
24285
+ //#endregion
23341
24286
  //#region src/components/data-table/composables/useTableResize.ts
23342
24287
  function useTableResize(props, models, ctl, element, viewport, widths, active, available) {
23343
24288
  const resizing = shallowRef();
@@ -23753,10 +24698,7 @@ function useTableColumns(props, models, ctl, element, viewport, leading, trailin
23753
24698
  const tableStyle = computed(() => ({
23754
24699
  "--hn-table-viewport-width": available.value ? `${available.value}px` : void 0,
23755
24700
  tableLayout: constrained.value ? "fixed" : "auto",
23756
- ...constrained.value ? {
23757
- ...Object.fromEntries(ctl.visibleColumns.value.map((column, index) => [`--hn-table-column-${index}`, `${widths.value[column.key]}px`])),
23758
- width: `${ctl.visibleColumns.value.reduce((sum, column) => sum + width(column), leading.value * 48 + trailing.value * 72)}px`
23759
- } : {}
24701
+ ...constrained.value ? columnSizingStyles(ctl.visibleColumns.value, active.value ?? models.columnWidths.value, leading.value * 48 + trailing.value * 72) : {}
23760
24702
  }));
23761
24703
  function moveColumn(key, target) {
23762
24704
  if (ctl.blocked.value || key === target) return;
@@ -23779,6 +24721,7 @@ function useTableColumns(props, models, ctl, element, viewport, leading, trailin
23779
24721
  observer?.disconnect();
23780
24722
  });
23781
24723
  return {
24724
+ constrained,
23782
24725
  headerRows,
23783
24726
  tableStyle,
23784
24727
  cellStyle,
@@ -24312,25 +25255,25 @@ function useTableVirtual(props, ctl, element, viewport, hasExpansion, rowError)
24312
25255
  }
24313
25256
  //#endregion
24314
25257
  //#region src/components/data-table/DataTable.vue?vue&type=script&setup=true&lang.ts
24315
- var _hoisted_1 = ["aria-busy"];
24316
- var _hoisted_2 = [
25258
+ var _hoisted_1$3 = ["aria-busy"];
25259
+ var _hoisted_2$3 = [
24317
25260
  "aria-label",
24318
25261
  "aria-rowcount",
24319
25262
  "inert"
24320
25263
  ];
24321
- var _hoisted_3 = { key: 0 };
24322
- var _hoisted_4 = {
25264
+ var _hoisted_3$2 = { key: 0 };
25265
+ var _hoisted_4$2 = {
24323
25266
  key: 0,
24324
25267
  style: { "width": "72px" }
24325
25268
  };
24326
- var _hoisted_5 = { key: 0 };
24327
- var _hoisted_6 = { class: "text-muted flex min-h-32 items-center justify-center px-3 py-6 text-sm" };
24328
- var _hoisted_7 = {
25269
+ var _hoisted_5$1 = { key: 0 };
25270
+ var _hoisted_6$1 = { class: "text-muted flex min-h-32 items-center justify-center px-3 py-6 text-sm" };
25271
+ var _hoisted_7$1 = {
24329
25272
  key: 0,
24330
25273
  "aria-hidden": "true"
24331
25274
  };
24332
- var _hoisted_8 = ["colspan"];
24333
- var _hoisted_9 = {
25275
+ var _hoisted_8$1 = ["colspan"];
25276
+ var _hoisted_9$1 = {
24334
25277
  key: 1,
24335
25278
  "aria-hidden": "true"
24336
25279
  };
@@ -24509,7 +25452,7 @@ var DataTable_default = /* @__PURE__ */ defineComponent({
24509
25452
  class: normalizeClass(unref(cn)(unref(tableWrapper)({
24510
25453
  variant: props.variant,
24511
25454
  hover: false
24512
- }), (props.fill || props.height) && "h-full", props.stickyHeader && "[&_thead_th]:sticky [&_thead_th]:z-[3]", props.stickyFooter && "[&_tfoot_td]:sticky [&_tfoot_td]:bottom-0 [&_tfoot_td]:z-[2] [&_tfoot_td]:bg-(--hn-table-head-bg)", props.tableClass))
25455
+ }), unref(layout).constrained.value && "@container", (props.fill || props.height) && "h-full", props.stickyHeader && "[&_thead_th]:sticky [&_thead_th]:z-[3]", props.stickyFooter && "[&_tfoot_td]:sticky [&_tfoot_td]:bottom-0 [&_tfoot_td]:z-[2] [&_tfoot_td]:bg-(--hn-table-head-bg)", props.tableClass))
24513
25456
  }, {
24514
25457
  default: withCtx(() => [createElementVNode("table", {
24515
25458
  ref_key: "element",
@@ -24520,7 +25463,7 @@ var DataTable_default = /* @__PURE__ */ defineComponent({
24520
25463
  "aria-rowcount": props.virtualize ? unref(virtual).entries.value.length + unref(layout).headerRows.value.length + (hasSummary.value ? 1 : 0) : void 0,
24521
25464
  inert: unref(ctl).blocked.value || void 0
24522
25465
  }, [
24523
- props.caption ? (openBlock(), createElementBlock("caption", _hoisted_3, [createElementVNode("span", null, toDisplayString(props.caption), 1)])) : createCommentVNode("", true),
25466
+ props.caption ? (openBlock(), createElementBlock("caption", _hoisted_3$2, [createElementVNode("span", null, toDisplayString(props.caption), 1)])) : createCommentVNode("", true),
24524
25467
  createElementVNode("colgroup", null, [
24525
25468
  (openBlock(true), createElementBlock(Fragment, null, renderList(controls.value, (control) => {
24526
25469
  return openBlock(), createElementBlock("col", {
@@ -24534,7 +25477,7 @@ var DataTable_default = /* @__PURE__ */ defineComponent({
24534
25477
  style: normalizeStyle({ width: unref(layout).cellStyle(column).width })
24535
25478
  }, null, 4);
24536
25479
  }), 128)),
24537
- trailing.value ? (openBlock(), createElementBlock("col", _hoisted_4)) : createCommentVNode("", true)
25480
+ trailing.value ? (openBlock(), createElementBlock("col", _hoisted_4$2)) : createCommentVNode("", true)
24538
25481
  ]),
24539
25482
  createVNode(DataTableHead_default, {
24540
25483
  config: props,
@@ -24552,18 +25495,18 @@ var DataTable_default = /* @__PURE__ */ defineComponent({
24552
25495
  "controls",
24553
25496
  "trailing"
24554
25497
  ]),
24555
- createElementVNode("tbody", null, [!unref(ctl).rows.value.length || !unref(ctl).visibleColumns.value.length && !controls.value.length ? (openBlock(), createElementBlock("tr", _hoisted_5, [createVNode(TableCell_default, { colspan: colspan.value }, {
24556
- default: withCtx(() => [createElementVNode("div", _hoisted_6, [props.loading ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [createTextVNode(toDisplayString(unref(t).table.loading), 1)], 64)) : !unref(ctl).visibleColumns.value.length && !controls.value.length ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [createTextVNode(toDisplayString(unref(t).table.noColumns), 1)], 64)) : renderSlot(_ctx.$slots, "empty", {}, () => [createTextVNode(toDisplayString(props.emptyText ?? unref(t).table.empty), 1)], void 0, 2)])]),
25498
+ createElementVNode("tbody", null, [!unref(ctl).rows.value.length || !unref(ctl).visibleColumns.value.length && !controls.value.length ? (openBlock(), createElementBlock("tr", _hoisted_5$1, [createVNode(TableCell_default, { colspan: colspan.value }, {
25499
+ default: withCtx(() => [createElementVNode("div", _hoisted_6$1, [props.loading ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [createTextVNode(toDisplayString(unref(t).table.loading), 1)], 64)) : !unref(ctl).visibleColumns.value.length && !controls.value.length ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [createTextVNode(toDisplayString(unref(t).table.noColumns), 1)], 64)) : renderSlot(_ctx.$slots, "empty", {}, () => [createTextVNode(toDisplayString(props.emptyText ?? unref(t).table.empty), 1)], void 0, 2)])]),
24557
25500
  _: 3
24558
25501
  }, 8, ["colspan"])])) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
24559
- unref(virtual).before.value ? (openBlock(), createElementBlock("tr", _hoisted_7, [createElementVNode("td", {
25502
+ unref(virtual).before.value ? (openBlock(), createElementBlock("tr", _hoisted_7$1, [createElementVNode("td", {
24560
25503
  colspan: colspan.value,
24561
25504
  style: normalizeStyle({
24562
25505
  height: `${unref(virtual).before.value}px`,
24563
25506
  padding: 0,
24564
25507
  border: 0
24565
25508
  })
24566
- }, null, 12, _hoisted_8)])) : createCommentVNode("", true),
25509
+ }, null, 12, _hoisted_8$1)])) : createCommentVNode("", true),
24567
25510
  (openBlock(true), createElementBlock(Fragment, null, renderList(unref(virtual).visible.value, (item) => {
24568
25511
  return openBlock(), createBlock(DataTableRow_default, {
24569
25512
  key: item.id,
@@ -24591,7 +25534,7 @@ var DataTable_default = /* @__PURE__ */ defineComponent({
24591
25534
  "measure"
24592
25535
  ]);
24593
25536
  }), 128)),
24594
- unref(virtual).after.value ? (openBlock(), createElementBlock("tr", _hoisted_9, [createElementVNode("td", {
25537
+ unref(virtual).after.value ? (openBlock(), createElementBlock("tr", _hoisted_9$1, [createElementVNode("td", {
24595
25538
  colspan: colspan.value,
24596
25539
  style: normalizeStyle({
24597
25540
  height: `${unref(virtual).after.value}px`,
@@ -24638,7 +25581,7 @@ var DataTable_default = /* @__PURE__ */ defineComponent({
24638
25581
  ])]),
24639
25582
  _: 1
24640
25583
  }, 8, ["render", "context"])])) : createCommentVNode("", true)
24641
- ], 12, _hoisted_2)]),
25584
+ ], 12, _hoisted_2$3)]),
24642
25585
  _: 3
24643
25586
  }, 8, [
24644
25587
  "direction",
@@ -24703,11 +25646,491 @@ var DataTable_default = /* @__PURE__ */ defineComponent({
24703
25646
  drag: unref(drag),
24704
25647
  layout: unref(layout)
24705
25648
  }, null, 8, ["drag", "layout"])
24706
- ], 14, _hoisted_1);
25649
+ ], 14, _hoisted_1$3);
25650
+ };
25651
+ }
25652
+ });
25653
+ //#endregion
25654
+ //#region src/components/timeline/timeline.variants.ts
25655
+ var timeline = tv({
25656
+ base: "hn-timeline text-fg m-0 grid w-full min-w-0 list-none p-0",
25657
+ variants: { size: {
25658
+ sm: "text-xs [--hn-timeline-gap:var(--hn-stack-gap)]",
25659
+ md: "text-sm [--hn-timeline-gap:calc(var(--hn-stack-gap)*1.5)]",
25660
+ lg: "text-base [--hn-timeline-gap:calc(var(--hn-stack-gap)*2)]"
25661
+ } },
25662
+ defaultVariants: { size: "md" }
25663
+ });
25664
+ var timelineMarker = tv({
25665
+ base: "hn-timeline-marker flex shrink-0 items-center justify-center [&_svg]:size-[1em]",
25666
+ variants: { tone: {
25667
+ accent: "text-accent-text",
25668
+ neutral: "text-muted",
25669
+ success: "text-success-text",
25670
+ warning: "text-warning-text",
25671
+ danger: "text-danger-text",
25672
+ info: "text-info-text"
25673
+ } },
25674
+ defaultVariants: { tone: "accent" }
25675
+ });
25676
+ //#endregion
25677
+ //#region src/components/timeline/Timeline.vue?vue&type=script&setup=true&lang.ts
25678
+ var _hoisted_1$2 = [
25679
+ "data-orientation",
25680
+ "data-align",
25681
+ "data-opposite"
25682
+ ];
25683
+ var _hoisted_2$2 = ["data-side"];
25684
+ var _hoisted_3$1 = {
25685
+ key: 0,
25686
+ class: "hn-timeline-opposite text-muted min-w-0 wrap-anywhere"
25687
+ };
25688
+ var _hoisted_4$1 = {
25689
+ class: "hn-timeline-separator",
25690
+ "aria-hidden": "true"
25691
+ };
25692
+ var _hoisted_5 = {
25693
+ key: 0,
25694
+ class: "hn-timeline-connector bg-line"
25695
+ };
25696
+ var _hoisted_6 = { class: "hn-timeline-content min-w-0 wrap-anywhere" };
25697
+ var _hoisted_7 = {
25698
+ key: 0,
25699
+ class: "text-muted mb-1 text-xs tabular-nums"
25700
+ };
25701
+ var _hoisted_8 = {
25702
+ key: 1,
25703
+ class: "font-medium"
25704
+ };
25705
+ var _hoisted_9 = {
25706
+ key: 2,
25707
+ class: "text-muted mt-1"
25708
+ };
25709
+ //#endregion
25710
+ //#region src/components/timeline/Timeline.vue
25711
+ var Timeline_default = /* @__PURE__ */ defineComponent({
25712
+ name: "HnTimeline",
25713
+ __name: "Timeline",
25714
+ props: {
25715
+ items: {},
25716
+ orientation: { default: "vertical" },
25717
+ align: { default: "start" },
25718
+ size: {},
25719
+ tone: {},
25720
+ timePosition: { default: "content" },
25721
+ reverse: {
25722
+ type: Boolean,
25723
+ default: false
25724
+ },
25725
+ class: {}
25726
+ },
25727
+ setup(__props) {
25728
+ const props = __props;
25729
+ const slots = useSlots();
25730
+ const entries = computed(() => props.reverse ? [...props.items].reverse() : props.items);
25731
+ function hasOpposite() {
25732
+ return !!slots.opposite || props.timePosition === "opposite" && (!!slots.time || props.items.some((item) => item.time));
25733
+ }
25734
+ return (_ctx, _cache) => {
25735
+ return openBlock(), createElementBlock("ol", {
25736
+ "data-hn-timeline": "",
25737
+ role: "list",
25738
+ "data-orientation": props.orientation,
25739
+ "data-align": props.align,
25740
+ "data-opposite": hasOpposite() || void 0,
25741
+ class: normalizeClass(unref(cn)(unref(timeline)({ size: props.size }), props.class))
25742
+ }, [(openBlock(true), createElementBlock(Fragment, null, renderList(entries.value, (item, index) => {
25743
+ return openBlock(), createElementBlock("li", {
25744
+ key: item.id ?? index,
25745
+ class: "hn-timeline-item min-w-0",
25746
+ "data-side": props.align === "end" || props.align === "alternate" && index % 2 === 1 ? "end" : "start"
25747
+ }, [
25748
+ hasOpposite() ? (openBlock(), createElementBlock("div", _hoisted_3$1, [renderSlot(_ctx.$slots, "opposite", {
25749
+ item,
25750
+ index
25751
+ }, () => [props.timePosition === "opposite" ? renderSlot(_ctx.$slots, "time", {
25752
+ item,
25753
+ index
25754
+ }, () => [item.time ? (openBlock(), createBlock(resolveDynamicComponent(item.dateTime ? "time" : "span"), {
25755
+ key: 0,
25756
+ datetime: item.dateTime,
25757
+ class: "text-xs tabular-nums"
25758
+ }, {
25759
+ default: withCtx(() => [createTextVNode(toDisplayString(item.time), 1)]),
25760
+ _: 2
25761
+ }, 1032, ["datetime"])) : createCommentVNode("", true)], void 0, 0) : createCommentVNode("", true)])])) : createCommentVNode("", true),
25762
+ createElementVNode("div", _hoisted_4$1, [createElementVNode("span", { class: normalizeClass(unref(timelineMarker)({ tone: item.tone ?? props.tone })) }, [renderSlot(_ctx.$slots, "marker", {
25763
+ item,
25764
+ index
25765
+ }, () => [_cache[0] || (_cache[0] = createElementVNode("span", { class: "bg-surface size-2.5 rounded-full border-2 border-current" }, null, -1))])], 2), index < entries.value.length - 1 ? (openBlock(), createElementBlock("span", _hoisted_5)) : createCommentVNode("", true)]),
25766
+ createElementVNode("div", _hoisted_6, [renderSlot(_ctx.$slots, "content", {
25767
+ item,
25768
+ index
25769
+ }, () => [
25770
+ props.timePosition === "content" && (item.time || slots.time) ? (openBlock(), createElementBlock("div", _hoisted_7, [renderSlot(_ctx.$slots, "time", {
25771
+ item,
25772
+ index
25773
+ }, () => [(openBlock(), createBlock(resolveDynamicComponent(item.dateTime ? "time" : "span"), { datetime: item.dateTime }, {
25774
+ default: withCtx(() => [createTextVNode(toDisplayString(item.time), 1)]),
25775
+ _: 2
25776
+ }, 1032, ["datetime"]))])])) : createCommentVNode("", true),
25777
+ item.title || slots.title ? (openBlock(), createElementBlock("div", _hoisted_8, [renderSlot(_ctx.$slots, "title", {
25778
+ item,
25779
+ index
25780
+ }, () => [createTextVNode(toDisplayString(item.title), 1)])])) : createCommentVNode("", true),
25781
+ item.description || slots.description ? (openBlock(), createElementBlock("div", _hoisted_9, [renderSlot(_ctx.$slots, "description", {
25782
+ item,
25783
+ index
25784
+ }, () => [createTextVNode(toDisplayString(item.description), 1)])])) : createCommentVNode("", true)
25785
+ ])])
25786
+ ], 8, _hoisted_2$2);
25787
+ }), 128))], 10, _hoisted_1$2);
25788
+ };
25789
+ }
25790
+ });
25791
+ //#endregion
25792
+ //#region src/components/stepper/stepper.variants.ts
25793
+ var stepper = tv({
25794
+ base: "flex w-full min-w-0 flex-col gap-(--hn-stack-gap)",
25795
+ variants: { size: {
25796
+ sm: "text-sm [--hn-stepper-indicator:var(--hn-control-h-sm)]",
25797
+ md: "text-sm [--hn-stepper-indicator:var(--hn-control-h-md)]",
25798
+ lg: "text-base [--hn-stepper-indicator:var(--hn-control-h-lg)]"
25799
+ } },
25800
+ defaultVariants: { size: "md" }
25801
+ });
25802
+ var stepperTrigger = tv({
25803
+ base: ["hn-focus-ring cursor-pointer text-fg relative flex min-w-0 gap-(--hn-inline-gap) rounded-md p-1", "disabled:cursor-not-allowed disabled:opacity-50 data-disabled:cursor-not-allowed"],
25804
+ variants: { orientation: {
25805
+ horizontal: "w-full flex-col items-center text-center",
25806
+ vertical: "items-start text-start"
25807
+ } }
25808
+ });
25809
+ var stepperIndicator = tv({
25810
+ base: "hn-transition-base flex size-(--hn-stepper-indicator) shrink-0 items-center justify-center rounded-full border text-sm font-medium tabular-nums [&_svg]:size-[1em]",
25811
+ variants: { state: {
25812
+ inactive: "border-line text-muted bg-surface",
25813
+ active: "border-accent bg-accent text-accent-on",
25814
+ completed: "border-transparent bg-accent-soft text-accent-text",
25815
+ error: "border-danger bg-danger-soft text-danger-text"
25816
+ } },
25817
+ defaultVariants: { state: "inactive" }
25818
+ });
25819
+ //#endregion
25820
+ //#region src/components/stepper/StepperStep.vue?vue&type=script&setup=true&lang.ts
25821
+ var _hoisted_1$1 = { class: "flex min-w-0 flex-1 flex-col justify-center gap-1 self-stretch wrap-anywhere" };
25822
+ var _hoisted_2$1 = ["id"];
25823
+ //#endregion
25824
+ //#region src/components/stepper/StepperStep.vue
25825
+ var StepperStep_default = /* @__PURE__ */ defineComponent({
25826
+ __name: "StepperStep",
25827
+ props: {
25828
+ entry: {},
25829
+ id: {},
25830
+ panelId: {},
25831
+ pending: { type: Boolean },
25832
+ last: { type: Boolean },
25833
+ orientation: {}
25834
+ },
25835
+ emits: ["select"],
25836
+ setup(__props, { emit: __emit }) {
25837
+ const props = __props;
25838
+ const emit = __emit;
25839
+ const slots = useSlots();
25840
+ const t = useUiLocale();
25841
+ return (_ctx, _cache) => {
25842
+ return openBlock(), createBlock(unref(StepperItem), {
25843
+ as: "li",
25844
+ step: __props.entry.step,
25845
+ disabled: __props.entry.disabled,
25846
+ completed: __props.entry.state === "completed",
25847
+ "aria-current": void 0,
25848
+ "data-hn-state": __props.entry.state,
25849
+ class: "hn-stepper-item min-w-0"
25850
+ }, {
25851
+ default: withCtx(() => [createVNode(unref(StepperTrigger), {
25852
+ id: `${__props.id}-trigger`,
25853
+ "aria-labelledby": `${__props.id}-title`,
25854
+ "aria-describedby": [__props.entry.item.description || slots.description ? `${__props.id}-description` : void 0, __props.entry.state === "error" || __props.entry.state === "completed" ? `${__props.id}-status` : void 0].filter(Boolean).join(" ") || void 0,
25855
+ "aria-controls": __props.panelId,
25856
+ "aria-current": __props.entry.active ? "step" : void 0,
25857
+ "aria-disabled": props.pending || void 0,
25858
+ "data-disabled": __props.entry.disabled || props.pending ? "" : void 0,
25859
+ class: normalizeClass(unref(stepperTrigger)({ orientation: props.orientation })),
25860
+ onMousedownCapture: _cache[0] || (_cache[0] = withModifiers(() => {}, ["stop"])),
25861
+ onClick: _cache[1] || (_cache[1] = ($event) => emit("select", __props.entry.step))
25862
+ }, {
25863
+ default: withCtx(() => [createVNode(unref(StepperIndicator), {
25864
+ class: normalizeClass(unref(stepperIndicator)({ state: __props.entry.state })),
25865
+ "aria-hidden": "true"
25866
+ }, {
25867
+ default: withCtx(() => [renderSlot(_ctx.$slots, "indicator", normalizeProps(guardReactiveProps(__props.entry)), () => [props.pending && __props.entry.active ? (openBlock(), createBlock(Spinner_default, {
25868
+ key: 0,
25869
+ size: "sm"
25870
+ })) : __props.entry.state === "error" ? (openBlock(), createBlock(unref(CircleAlert), { key: 1 })) : __props.entry.state === "completed" ? (openBlock(), createBlock(unref(Check), { key: 2 })) : (openBlock(), createElementBlock(Fragment, { key: 3 }, [createTextVNode(toDisplayString(__props.entry.step), 1)], 64))])]),
25871
+ _: 3
25872
+ }, 8, ["class"]), createElementVNode("span", _hoisted_1$1, [
25873
+ createVNode(unref(StepperTitle), {
25874
+ as: "span",
25875
+ id: `${__props.id}-title`,
25876
+ class: normalizeClass(["font-medium", __props.entry.state === "error" ? "text-danger-text" : void 0])
25877
+ }, {
25878
+ default: withCtx(() => [renderSlot(_ctx.$slots, "title", normalizeProps(guardReactiveProps(__props.entry)), () => [createTextVNode(toDisplayString(__props.entry.item.title), 1)])]),
25879
+ _: 3
25880
+ }, 8, ["id", "class"]),
25881
+ __props.entry.item.description || slots.description ? (openBlock(), createBlock(unref(StepperDescription), {
25882
+ key: 0,
25883
+ as: "span",
25884
+ id: `${__props.id}-description`,
25885
+ class: "text-muted text-xs"
25886
+ }, {
25887
+ default: withCtx(() => [renderSlot(_ctx.$slots, "description", normalizeProps(guardReactiveProps(__props.entry)), () => [createTextVNode(toDisplayString(__props.entry.item.description), 1)])]),
25888
+ _: 3
25889
+ }, 8, ["id"])) : createCommentVNode("", true),
25890
+ __props.entry.state === "error" || __props.entry.state === "completed" ? (openBlock(), createElementBlock("span", {
25891
+ key: 1,
25892
+ id: `${__props.id}-status`,
25893
+ class: "sr-only"
25894
+ }, toDisplayString(__props.entry.state === "error" ? unref(t).stepper.error : unref(t).stepper.completed), 9, _hoisted_2$1)) : createCommentVNode("", true)
25895
+ ])]),
25896
+ _: 3
25897
+ }, 8, [
25898
+ "id",
25899
+ "aria-labelledby",
25900
+ "aria-describedby",
25901
+ "aria-controls",
25902
+ "aria-current",
25903
+ "aria-disabled",
25904
+ "data-disabled",
25905
+ "class"
25906
+ ]), !props.last ? (openBlock(), createBlock(unref(StepperSeparator), {
25907
+ key: 0,
25908
+ class: normalizeClass(["hn-stepper-separator hn-transition-base", __props.entry.state === "completed" ? "bg-accent" : "bg-line"])
25909
+ }, null, 8, ["class"])) : createCommentVNode("", true)]),
25910
+ _: 3
25911
+ }, 8, [
25912
+ "step",
25913
+ "disabled",
25914
+ "completed",
25915
+ "data-hn-state"
25916
+ ]);
25917
+ };
25918
+ }
25919
+ });
25920
+ //#endregion
25921
+ //#region src/components/stepper/composables/useStepper.ts
25922
+ function useStepper(props, update, onError) {
25923
+ const model = useVModel(props, "modelValue", (_, value) => update(value), {
25924
+ defaultValue: props.defaultValue ?? 1,
25925
+ passive: props.modelValue === void 0
25926
+ });
25927
+ const pending = ref(false);
25928
+ const total = computed(() => props.items.length);
25929
+ const step = computed(() => total.value ? Math.min(total.value, Math.max(1, Math.floor(Number.isFinite(model.value) ? model.value : 1))) : 0);
25930
+ let version = 0;
25931
+ function invalidate() {
25932
+ version++;
25933
+ pending.value = false;
25934
+ }
25935
+ watch([
25936
+ model,
25937
+ () => JSON.stringify(props.items.map((item) => [item.title, !!item.disabled])),
25938
+ () => props.disabled,
25939
+ () => props.linear,
25940
+ () => props.beforeChange
25941
+ ], invalidate, { flush: "sync" });
25942
+ onScopeDispose(invalidate);
25943
+ function available(target) {
25944
+ return Number.isInteger(target) && target >= 1 && target <= total.value && !props.disabled && !props.items[target - 1]?.disabled && (props.linear === false || target <= step.value + 1);
25945
+ }
25946
+ const canNext = computed(() => !pending.value && step.value > 0 && available(step.value + 1));
25947
+ const canPrev = computed(() => !pending.value && available(step.value - 1));
25948
+ async function goTo(target) {
25949
+ if (pending.value || !available(target) || target === step.value) return false;
25950
+ const ticket = ++version;
25951
+ const from = step.value;
25952
+ try {
25953
+ if (props.beforeChange) {
25954
+ pending.value = true;
25955
+ if (await props.beforeChange(target, from) === false) return false;
25956
+ }
25957
+ if (ticket !== version || from !== step.value || !available(target)) return false;
25958
+ pending.value = false;
25959
+ model.value = target;
25960
+ return true;
25961
+ } catch (error) {
25962
+ if (ticket === version) onError(error);
25963
+ return false;
25964
+ } finally {
25965
+ if (ticket === version) pending.value = false;
25966
+ }
25967
+ }
25968
+ const next = () => goTo(step.value + 1);
25969
+ const prev = () => goTo(step.value - 1);
25970
+ return {
25971
+ step,
25972
+ pending,
25973
+ entries: computed(() => props.items.map((item, index) => ({
25974
+ item,
25975
+ index,
25976
+ step: index + 1,
25977
+ active: step.value === index + 1,
25978
+ pending: pending.value && step.value === index + 1,
25979
+ disabled: !available(index + 1),
25980
+ state: item.error ? "error" : item.completed || index + 1 < step.value ? "completed" : index + 1 === step.value ? "active" : "inactive"
25981
+ }))),
25982
+ navigation: computed(() => ({
25983
+ step: step.value,
25984
+ item: props.items[step.value - 1],
25985
+ total: total.value,
25986
+ pending: pending.value,
25987
+ canNext: canNext.value,
25988
+ canPrev: canPrev.value,
25989
+ next,
25990
+ prev,
25991
+ goTo
25992
+ })),
25993
+ next,
25994
+ prev,
25995
+ goTo,
25996
+ canNext,
25997
+ canPrev
25998
+ };
25999
+ }
26000
+ //#endregion
26001
+ //#region src/components/stepper/Stepper.vue?vue&type=script&setup=true&lang.ts
26002
+ var _hoisted_1 = ["dir", "aria-busy"];
26003
+ var _hoisted_2 = ["data-orientation"];
26004
+ var _hoisted_3 = [
26005
+ "id",
26006
+ "role",
26007
+ "aria-labelledby"
26008
+ ];
26009
+ var _hoisted_4 = {
26010
+ key: 1,
26011
+ class: "sr-only",
26012
+ role: "status",
26013
+ "aria-live": "polite",
26014
+ "aria-atomic": "true"
26015
+ };
26016
+ //#endregion
26017
+ //#region src/components/stepper/Stepper.vue
26018
+ var Stepper_default = /* @__PURE__ */ defineComponent({
26019
+ name: "HnStepper",
26020
+ __name: "Stepper",
26021
+ props: {
26022
+ items: {},
26023
+ modelValue: {},
26024
+ defaultValue: { default: 1 },
26025
+ orientation: { default: "horizontal" },
26026
+ size: {},
26027
+ linear: {
26028
+ type: Boolean,
26029
+ default: true
26030
+ },
26031
+ disabled: { type: Boolean },
26032
+ beforeChange: {},
26033
+ label: {},
26034
+ dir: {},
26035
+ class: {}
26036
+ },
26037
+ emits: ["update:modelValue", "error"],
26038
+ setup(__props, { expose: __expose, emit: __emit }) {
26039
+ const props = __props;
26040
+ const emit = __emit;
26041
+ const slots = useSlots();
26042
+ const t = useUiLocale();
26043
+ const id = useId();
26044
+ const { root, direction, rootDirection } = useDirection$1(() => props.dir);
26045
+ const { step, pending, entries, navigation, next, prev, goTo, canNext, canPrev } = useStepper(props, (value) => emit("update:modelValue", value), (error) => emit("error", error));
26046
+ __expose({
26047
+ step,
26048
+ pending,
26049
+ next,
26050
+ prev,
26051
+ goTo,
26052
+ canNext,
26053
+ canPrev
26054
+ });
26055
+ return (_ctx, _cache) => {
26056
+ return openBlock(), createElementBlock("div", {
26057
+ ref_key: "root",
26058
+ ref: root,
26059
+ "data-hn-stepper": "",
26060
+ dir: unref(rootDirection),
26061
+ class: normalizeClass(unref(cn)(unref(stepper)({ size: props.size }), props.class)),
26062
+ "aria-busy": unref(pending) || void 0
26063
+ }, [
26064
+ createVNode(unref(StepperRoot), {
26065
+ "model-value": unref(step),
26066
+ orientation: props.orientation,
26067
+ dir: unref(direction),
26068
+ linear: props.linear,
26069
+ "aria-label": props.label ?? unref(t).stepper.label,
26070
+ class: "min-w-0 [&>[role=status]]:hidden",
26071
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = (value) => value !== void 0 && unref(goTo)(value))
26072
+ }, {
26073
+ default: withCtx(() => [createElementVNode("ol", {
26074
+ role: "list",
26075
+ class: "hn-stepper-list m-0 grid min-w-0 list-none p-0",
26076
+ "data-orientation": props.orientation
26077
+ }, [(openBlock(true), createElementBlock(Fragment, null, renderList(unref(entries), (entry) => {
26078
+ return openBlock(), createBlock(StepperStep_default, {
26079
+ id: `${unref(id)}-${entry.step}`,
26080
+ key: entry.step,
26081
+ entry,
26082
+ orientation: props.orientation,
26083
+ pending: unref(pending),
26084
+ last: entry.step === unref(entries).length,
26085
+ "panel-id": slots.default ? `${unref(id)}-panel` : void 0,
26086
+ onSelect: unref(goTo)
26087
+ }, createSlots({ _: 2 }, [
26088
+ slots.indicator ? {
26089
+ name: "indicator",
26090
+ fn: withCtx((scope) => [renderSlot(_ctx.$slots, "indicator", mergeProps({ ref_for: true }, scope))]),
26091
+ key: "0"
26092
+ } : void 0,
26093
+ slots.title ? {
26094
+ name: "title",
26095
+ fn: withCtx((scope) => [renderSlot(_ctx.$slots, "title", mergeProps({ ref_for: true }, scope))]),
26096
+ key: "1"
26097
+ } : void 0,
26098
+ slots.description ? {
26099
+ name: "description",
26100
+ fn: withCtx((scope) => [renderSlot(_ctx.$slots, "description", mergeProps({ ref_for: true }, scope))]),
26101
+ key: "2"
26102
+ } : void 0
26103
+ ]), 1032, [
26104
+ "id",
26105
+ "entry",
26106
+ "orientation",
26107
+ "pending",
26108
+ "last",
26109
+ "panel-id",
26110
+ "onSelect"
26111
+ ]);
26112
+ }), 128))], 8, _hoisted_2)]),
26113
+ _: 3
26114
+ }, 8, [
26115
+ "model-value",
26116
+ "orientation",
26117
+ "dir",
26118
+ "linear",
26119
+ "aria-label"
26120
+ ]),
26121
+ slots.default ? (openBlock(), createElementBlock("div", {
26122
+ key: 0,
26123
+ id: `${unref(id)}-panel`,
26124
+ role: unref(step) ? "region" : void 0,
26125
+ "aria-labelledby": unref(step) ? `${unref(id)}-${unref(step)}-title` : void 0,
26126
+ class: "min-w-0"
26127
+ }, [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(unref(navigation))))], 8, _hoisted_3)) : createCommentVNode("", true),
26128
+ unref(entries).length ? (openBlock(), createElementBlock("span", _hoisted_4, toDisplayString(unref(t).stepper.progress(unref(step), unref(entries).length)), 1)) : createCommentVNode("", true)
26129
+ ], 10, _hoisted_1);
24707
26130
  };
24708
26131
  }
24709
26132
  });
24710
26133
  //#endregion
24711
- export { Accordion_default as Accordion, AccordionContent_default as AccordionContent, AccordionItem_default as AccordionItem, AccordionTrigger_default as AccordionTrigger, Alert_default as Alert, AlertDialog_default as AlertDialog, Anchor_default as Anchor, AppShell_default as AppShell, AspectRatio_default as AspectRatio, Avatar_default as Avatar, AvatarGroup_default as AvatarGroup, Badge_default as Badge, Banner_default as Banner, Blockquote_default as Blockquote, Breadcrumb_default as Breadcrumb, BreadcrumbItem_default as BreadcrumbItem, BreadcrumbSeparator_default as BreadcrumbSeparator, Button_default as Button, ButtonGroup_default as ButtonGroup, Calendar_default as Calendar, Callout_default as Callout, Card_default as Card, Center_default as Center, Checkbox_default as Checkbox, CheckboxGroup_default as CheckboxGroup, Chip_default as Chip, CloseButton_default as CloseButton, Code_default as Code, CodeBlock_default as CodeBlock, Collapsible_default as Collapsible, CollapsibleContent_default as CollapsibleContent, CollapsibleTrigger_default as CollapsibleTrigger, Combobox_default as Combobox, CommandPalette_default as CommandPalette, Container_default as Container, ContextMenu_default as ContextMenu, ContextMenuCheckboxItem_default as ContextMenuCheckboxItem, ContextMenuGroup_default as ContextMenuGroup, ContextMenuItem_default as ContextMenuItem, ContextMenuLabel_default as ContextMenuLabel, ContextMenuRadioGroup_default as ContextMenuRadioGroup, ContextMenuRadioItem_default as ContextMenuRadioItem, ContextMenuSeparator_default as ContextMenuSeparator, ContextMenuSub_default as ContextMenuSub, CopyButton_default as CopyButton, DURATION, DataTable_default as DataTable, DateField_default as DateField, DatePicker_default as DatePicker, DateRangeField_default as DateRangeField, DateRangePicker_default as DateRangePicker, DateTimePicker_default as DateTimePicker, DescriptionDetails_default as DescriptionDetails, DescriptionList_default as DescriptionList, DescriptionTerm_default as DescriptionTerm, Dialog_default as Dialog, DisclosureIcon_default as DisclosureIcon, Divider_default as Divider, Drawer_default as Drawer, DropdownMenu_default as DropdownMenu, DropdownMenuCheckboxItem_default as DropdownMenuCheckboxItem, DropdownMenuGroup_default as DropdownMenuGroup, DropdownMenuItem_default as DropdownMenuItem, DropdownMenuLabel_default as DropdownMenuLabel, DropdownMenuRadioGroup_default as DropdownMenuRadioGroup, DropdownMenuRadioItem_default as DropdownMenuRadioItem, DropdownMenuSeparator_default as DropdownMenuSeparator, DropdownMenuSub_default as DropdownMenuSub, EASE, Empty_default as Empty, FileUpload_default as FileUpload, Flex_default as Flex, Form_default as Form, FormField_default as FormField, FormLayout_default as FormLayout, Grid_default as Grid, Heading_default as Heading, Highlight_default as Highlight, HoverCard_default as HoverCard, IconButton_default as IconButton, Image_default as Image, ImageGroup_default as ImageGroup, Indicator_default as Indicator, Inline_default as Inline, Input_default as Input, InputGroup_default as InputGroup, InputGroupAddon_default as InputGroupAddon, Kbd_default as Kbd, Lightbox_default as Lightbox, Link_default as Link, List_default as List, ListItem_default as ListItem, Listbox_default as Listbox, LoadingOverlay_default as LoadingOverlay, Mark_default as Mark, Menubar_default as Menubar, MenubarCheckboxItem_default as MenubarCheckboxItem, MenubarGroup_default as MenubarGroup, MenubarItem_default as MenubarItem, MenubarLabel_default as MenubarLabel, MenubarMenu_default as MenubarMenu, MenubarRadioGroup_default as MenubarRadioGroup, MenubarRadioItem_default as MenubarRadioItem, MenubarSeparator_default as MenubarSeparator, MenubarSub_default as MenubarSub, MeterGroup_default as MeterGroup, MultiCombobox_default as MultiCombobox, MultiSelect_default as MultiSelect, NavLink_default as NavLink, NumberFormat_default as NumberFormat, NumberInput_default as NumberInput, Page_default as Page, PageAside_default as PageAside, PageBody_default as PageBody, PageHeader_default as PageHeader, Pagination_default as Pagination, PaginationContent_default as PaginationContent, PaginationInfo_default as PaginationInfo, PaginationJump_default as PaginationJump, PaginationSize_default as PaginationSize, Panel_default as Panel, PasswordInput_default as PasswordInput, PinInput_default as PinInput, Popconfirm_default as Popconfirm, Popover_default as Popover, PrevNext_default as PrevNext, PrevNextLink_default as PrevNextLink, Progress_default as Progress, Prose_default as Prose, REQUIRED_SINGLETONS, RESTORE_DEADLINE_MS, RadioGroup_default as RadioGroup, RangeCalendar_default as RangeCalendar, RangeSlider_default as RangeSlider, Rating_default as Rating, Result_default as Result, RingProgress_default as RingProgress, Ripple_default as Ripple, SAVE_THROTTLE_MS, SCROLL_ATOP_ATTR, SCROLL_ATOP_HIDE_PX, SCROLL_AT_ATTR, SCROLL_RESTORE_ATTR, SCROLL_STATE_FIELD, STAGGER, ScrollArea_default as ScrollArea, SearchInput_default as SearchInput, Section_default as Section, SegmentedControl_default as SegmentedControl, Select_default as Select, Sheet_default as Sheet, Sidebar_default as Sidebar, SidebarGroup_default as SidebarGroup, SidebarLabel_default as SidebarLabel, SidebarTrigger_default as SidebarTrigger, SimpleGrid_default as SimpleGrid, Skeleton_default as Skeleton, Slider_default as Slider, Space_default as Space, Spinner_default as Spinner, Splitter_default as Splitter, SplitterHandle_default as SplitterHandle, SplitterPanel_default as SplitterPanel, Spoiler_default as Spoiler, Stack_default as Stack, Statistic_default as Statistic, Switch_default as Switch, TRANSITION, TRAVEL, Table_default as Table, TableBody_default as TableBody, TableCell_default as TableCell, TableHead_default as TableHead, TableHeader_default as TableHeader, TableRow_default as TableRow, Tabs_default as Tabs, TabsContent_default as TabsContent, TabsList_default as TabsList, TabsTrigger_default as TabsTrigger, Tag_default as Tag, TagsInput_default as TagsInput, Text_default as Text, Textarea_default as Textarea, Time_default as Time, TimeField_default as TimeField, Toaster_default as Toaster, Toggle_default as Toggle, Tooltip_default as Tooltip, TooltipProvider_default as TooltipProvider, Tree_default as Tree, TreeSelect_default as TreeSelect, VisuallyHidden_default as VisuallyHidden, atopOff, cn, createScrollRestorer, cssEase, enUS, firstPaintRestoreScript, provideImageResolver, provideUiLocale, readScrollRecord, toast, tokenize, tokensToHtml, tv, useImageResolver, useUiLocale, vTooltip, writeScrollRecord, zhCN };
26134
+ export { Accordion_default as Accordion, AccordionContent_default as AccordionContent, AccordionItem_default as AccordionItem, AccordionTrigger_default as AccordionTrigger, Alert_default as Alert, AlertDialog_default as AlertDialog, Anchor_default as Anchor, AppShell_default as AppShell, AspectRatio_default as AspectRatio, Avatar_default as Avatar, AvatarGroup_default as AvatarGroup, Badge_default as Badge, Banner_default as Banner, Blockquote_default as Blockquote, Breadcrumb_default as Breadcrumb, BreadcrumbItem_default as BreadcrumbItem, BreadcrumbSeparator_default as BreadcrumbSeparator, Button_default as Button, ButtonGroup_default as ButtonGroup, Calendar_default as Calendar, Callout_default as Callout, Card_default as Card, Center_default as Center, Checkbox_default as Checkbox, CheckboxGroup_default as CheckboxGroup, Chip_default as Chip, CloseButton_default as CloseButton, Code_default as Code, CodeBlock_default as CodeBlock, Collapsible_default as Collapsible, CollapsibleContent_default as CollapsibleContent, CollapsibleTrigger_default as CollapsibleTrigger, Combobox_default as Combobox, CommandPalette_default as CommandPalette, Container_default as Container, ContextMenu_default as ContextMenu, ContextMenuCheckboxItem_default as ContextMenuCheckboxItem, ContextMenuGroup_default as ContextMenuGroup, ContextMenuItem_default as ContextMenuItem, ContextMenuLabel_default as ContextMenuLabel, ContextMenuRadioGroup_default as ContextMenuRadioGroup, ContextMenuRadioItem_default as ContextMenuRadioItem, ContextMenuSeparator_default as ContextMenuSeparator, ContextMenuSub_default as ContextMenuSub, CopyButton_default as CopyButton, DURATION, DataTable_default as DataTable, DateField_default as DateField, DatePicker_default as DatePicker, DateRangeField_default as DateRangeField, DateRangePicker_default as DateRangePicker, DateTimePicker_default as DateTimePicker, DescriptionDetails_default as DescriptionDetails, DescriptionList_default as DescriptionList, DescriptionTerm_default as DescriptionTerm, Dialog_default as Dialog, DisclosureIcon_default as DisclosureIcon, Divider_default as Divider, Drawer_default as Drawer, DropdownMenu_default as DropdownMenu, DropdownMenuCheckboxItem_default as DropdownMenuCheckboxItem, DropdownMenuGroup_default as DropdownMenuGroup, DropdownMenuItem_default as DropdownMenuItem, DropdownMenuLabel_default as DropdownMenuLabel, DropdownMenuRadioGroup_default as DropdownMenuRadioGroup, DropdownMenuRadioItem_default as DropdownMenuRadioItem, DropdownMenuSeparator_default as DropdownMenuSeparator, DropdownMenuSub_default as DropdownMenuSub, EASE, Empty_default as Empty, FileUpload_default as FileUpload, Flex_default as Flex, Form_default as Form, FormField_default as FormField, FormLayout_default as FormLayout, Grid_default as Grid, Heading_default as Heading, Highlight_default as Highlight, HoverCard_default as HoverCard, IconButton_default as IconButton, Image_default as Image, ImageGroup_default as ImageGroup, Indicator_default as Indicator, Inline_default as Inline, Input_default as Input, InputGroup_default as InputGroup, InputGroupAddon_default as InputGroupAddon, Kbd_default as Kbd, Lightbox_default as Lightbox, Link_default as Link, List_default as List, ListItem_default as ListItem, Listbox_default as Listbox, LoadingOverlay_default as LoadingOverlay, Mark_default as Mark, Menubar_default as Menubar, MenubarCheckboxItem_default as MenubarCheckboxItem, MenubarGroup_default as MenubarGroup, MenubarItem_default as MenubarItem, MenubarLabel_default as MenubarLabel, MenubarMenu_default as MenubarMenu, MenubarRadioGroup_default as MenubarRadioGroup, MenubarRadioItem_default as MenubarRadioItem, MenubarSeparator_default as MenubarSeparator, MenubarSub_default as MenubarSub, MeterGroup_default as MeterGroup, MultiCombobox_default as MultiCombobox, MultiSelect_default as MultiSelect, NavLink_default as NavLink, NavigationMenu_default as NavigationMenu, NavigationMenuContent_default as NavigationMenuContent, NavigationMenuItem_default as NavigationMenuItem, NavigationMenuLink_default as NavigationMenuLink, NavigationMenuTrigger_default as NavigationMenuTrigger, NumberFormat_default as NumberFormat, NumberInput_default as NumberInput, Page_default as Page, PageAside_default as PageAside, PageBody_default as PageBody, PageHeader_default as PageHeader, Pagination_default as Pagination, PaginationContent_default as PaginationContent, PaginationInfo_default as PaginationInfo, PaginationJump_default as PaginationJump, PaginationSize_default as PaginationSize, Panel_default as Panel, PasswordInput_default as PasswordInput, PinInput_default as PinInput, Popconfirm_default as Popconfirm, Popover_default as Popover, PrevNext_default as PrevNext, PrevNextLink_default as PrevNextLink, Progress_default as Progress, Prose_default as Prose, REQUIRED_SINGLETONS, RESTORE_DEADLINE_MS, RadioGroup_default as RadioGroup, RangeCalendar_default as RangeCalendar, RangeSlider_default as RangeSlider, Rating_default as Rating, Result_default as Result, RingProgress_default as RingProgress, Ripple_default as Ripple, SAVE_THROTTLE_MS, SCROLL_ATOP_ATTR, SCROLL_ATOP_HIDE_PX, SCROLL_AT_ATTR, SCROLL_RESTORE_ATTR, SCROLL_STATE_FIELD, STAGGER, ScrollArea_default as ScrollArea, SearchInput_default as SearchInput, Section_default as Section, SegmentedControl_default as SegmentedControl, Select_default as Select, Sheet_default as Sheet, Sidebar_default as Sidebar, SidebarGroup_default as SidebarGroup, SidebarLabel_default as SidebarLabel, SidebarTrigger_default as SidebarTrigger, SimpleGrid_default as SimpleGrid, Skeleton_default as Skeleton, Slider_default as Slider, Space_default as Space, Spinner_default as Spinner, Splitter_default as Splitter, SplitterHandle_default as SplitterHandle, SplitterPanel_default as SplitterPanel, Spoiler_default as Spoiler, Stack_default as Stack, Statistic_default as Statistic, Stepper_default as Stepper, Switch_default as Switch, TRANSITION, TRAVEL, Table_default as Table, TableBody_default as TableBody, TableCell_default as TableCell, TableHead_default as TableHead, TableHeader_default as TableHeader, TableRow_default as TableRow, Tabs_default as Tabs, TabsContent_default as TabsContent, TabsList_default as TabsList, TabsTrigger_default as TabsTrigger, Tag_default as Tag, TagsInput_default as TagsInput, Text_default as Text, Textarea_default as Textarea, Time_default as Time, TimeField_default as TimeField, Timeline_default as Timeline, Toaster_default as Toaster, Toggle_default as Toggle, Toolbar_default as Toolbar, ToolbarButton_default as ToolbarButton, ToolbarLink_default as ToolbarLink, ToolbarSeparator_default as ToolbarSeparator, ToolbarToggleGroup_default as ToolbarToggleGroup, ToolbarToggleItem_default as ToolbarToggleItem, Tooltip_default as Tooltip, TooltipProvider_default as TooltipProvider, Tree_default as Tree, TreeSelect_default as TreeSelect, VisuallyHidden_default as VisuallyHidden, atopOff, cn, createScrollRestorer, cssEase, enUS, firstPaintRestoreScript, provideImageResolver, provideUiLocale, readScrollRecord, toast, tokenize, tokensToHtml, tv, useImageResolver, useUiLocale, vTooltip, writeScrollRecord, zhCN };
24712
26135
 
24713
26136
  //# sourceMappingURL=index.js.map