@hina-ui/vue 1.7.2 → 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 (111) hide show
  1. package/dist/index.js +1899 -493
  2. package/dist/index.js.map +1 -1
  3. package/dist/types/components/navigation-menu/NavigationMenu.vue.d.ts +33 -0
  4. package/dist/types/components/navigation-menu/NavigationMenu.vue.d.ts.map +1 -0
  5. package/dist/types/components/navigation-menu/NavigationMenuContent.vue.d.ts +29 -0
  6. package/dist/types/components/navigation-menu/NavigationMenuContent.vue.d.ts.map +1 -0
  7. package/dist/types/components/navigation-menu/NavigationMenuItem.vue.d.ts +16 -0
  8. package/dist/types/components/navigation-menu/NavigationMenuItem.vue.d.ts.map +1 -0
  9. package/dist/types/components/navigation-menu/NavigationMenuLink.vue.d.ts +33 -0
  10. package/dist/types/components/navigation-menu/NavigationMenuLink.vue.d.ts.map +1 -0
  11. package/dist/types/components/navigation-menu/NavigationMenuTrigger.vue.d.ts +19 -0
  12. package/dist/types/components/navigation-menu/NavigationMenuTrigger.vue.d.ts.map +1 -0
  13. package/dist/types/components/navigation-menu/composables/useNavigationMenuKeyboard.d.ts +4 -0
  14. package/dist/types/components/navigation-menu/composables/useNavigationMenuKeyboard.d.ts.map +1 -0
  15. package/dist/types/components/navigation-menu/composables/useNavigationMenuLayout.d.ts +12 -0
  16. package/dist/types/components/navigation-menu/composables/useNavigationMenuLayout.d.ts.map +1 -0
  17. package/dist/types/components/navigation-menu/context.d.ts +10 -0
  18. package/dist/types/components/navigation-menu/context.d.ts.map +1 -0
  19. package/dist/types/components/navigation-menu/navigation-menu.variants.d.ts +112 -0
  20. package/dist/types/components/navigation-menu/navigation-menu.variants.d.ts.map +1 -0
  21. package/dist/types/components/navigation-menu/types.d.ts +17 -0
  22. package/dist/types/components/navigation-menu/types.d.ts.map +1 -0
  23. package/dist/types/components/rating/Rating.vue.d.ts +1 -0
  24. package/dist/types/components/rating/Rating.vue.d.ts.map +1 -1
  25. package/dist/types/components/rating/composables/useRatingScale.d.ts +8 -0
  26. package/dist/types/components/rating/composables/useRatingScale.d.ts.map +1 -0
  27. package/dist/types/components/stepper/Stepper.vue.d.ts +36 -0
  28. package/dist/types/components/stepper/Stepper.vue.d.ts.map +1 -0
  29. package/dist/types/components/stepper/StepperStep.vue.d.ts +33 -0
  30. package/dist/types/components/stepper/StepperStep.vue.d.ts.map +1 -0
  31. package/dist/types/components/stepper/composables/useStepper.d.ts +13 -0
  32. package/dist/types/components/stepper/composables/useStepper.d.ts.map +1 -0
  33. package/dist/types/components/stepper/stepper.variants.d.ts +58 -0
  34. package/dist/types/components/stepper/stepper.variants.d.ts.map +1 -0
  35. package/dist/types/components/stepper/types.d.ts +45 -0
  36. package/dist/types/components/stepper/types.d.ts.map +1 -0
  37. package/dist/types/components/timeline/Timeline.vue.d.ts +36 -0
  38. package/dist/types/components/timeline/Timeline.vue.d.ts.map +1 -0
  39. package/dist/types/components/timeline/timeline.variants.d.ts +51 -0
  40. package/dist/types/components/timeline/timeline.variants.d.ts.map +1 -0
  41. package/dist/types/components/timeline/types.d.ts +18 -0
  42. package/dist/types/components/timeline/types.d.ts.map +1 -0
  43. package/dist/types/components/toolbar/Toolbar.vue.d.ts +20 -0
  44. package/dist/types/components/toolbar/Toolbar.vue.d.ts.map +1 -0
  45. package/dist/types/components/toolbar/ToolbarButton.vue.d.ts +18 -0
  46. package/dist/types/components/toolbar/ToolbarButton.vue.d.ts.map +1 -0
  47. package/dist/types/components/toolbar/ToolbarControl.vue.d.ts +22 -0
  48. package/dist/types/components/toolbar/ToolbarControl.vue.d.ts.map +1 -0
  49. package/dist/types/components/toolbar/ToolbarLink.vue.d.ts +24 -0
  50. package/dist/types/components/toolbar/ToolbarLink.vue.d.ts.map +1 -0
  51. package/dist/types/components/toolbar/ToolbarSeparator.vue.d.ts +10 -0
  52. package/dist/types/components/toolbar/ToolbarSeparator.vue.d.ts.map +1 -0
  53. package/dist/types/components/toolbar/ToolbarToggleGroup.vue.d.ts +31 -0
  54. package/dist/types/components/toolbar/ToolbarToggleGroup.vue.d.ts.map +1 -0
  55. package/dist/types/components/toolbar/ToolbarToggleItem.vue.d.ts +21 -0
  56. package/dist/types/components/toolbar/ToolbarToggleItem.vue.d.ts.map +1 -0
  57. package/dist/types/components/toolbar/context.d.ts +13 -0
  58. package/dist/types/components/toolbar/context.d.ts.map +1 -0
  59. package/dist/types/components/toolbar/toolbar.variants.d.ts +64 -0
  60. package/dist/types/components/toolbar/toolbar.variants.d.ts.map +1 -0
  61. package/dist/types/components/toolbar/types.d.ts +28 -0
  62. package/dist/types/components/toolbar/types.d.ts.map +1 -0
  63. package/dist/types/index.d.ts +17 -0
  64. package/dist/types/index.d.ts.map +1 -1
  65. package/dist/types/locale/en-US.d.ts.map +1 -1
  66. package/dist/types/locale/index.d.ts.map +1 -1
  67. package/dist/types/locale/types.d.ts +7 -0
  68. package/dist/types/locale/types.d.ts.map +1 -1
  69. package/dist/types/locale/zh-CN.d.ts.map +1 -1
  70. package/package.json +1 -1
  71. package/src/components/navigation-menu/NavigationMenu.vue +84 -0
  72. package/src/components/navigation-menu/NavigationMenuContent.vue +25 -0
  73. package/src/components/navigation-menu/NavigationMenuItem.vue +13 -0
  74. package/src/components/navigation-menu/NavigationMenuLink.vue +82 -0
  75. package/src/components/navigation-menu/NavigationMenuTrigger.vue +44 -0
  76. package/src/components/navigation-menu/composables/useNavigationMenuKeyboard.ts +33 -0
  77. package/src/components/navigation-menu/composables/useNavigationMenuLayout.ts +72 -0
  78. package/src/components/navigation-menu/context.ts +19 -0
  79. package/src/components/navigation-menu/navigation-menu.variants.ts +82 -0
  80. package/src/components/navigation-menu/types.ts +17 -0
  81. package/src/components/rating/Rating.vue +22 -8
  82. package/src/components/rating/composables/useRatingScale.ts +24 -0
  83. package/src/components/sidebar/Sidebar.vue +1 -1
  84. package/src/components/stepper/Stepper.vue +95 -0
  85. package/src/components/stepper/StepperStep.vue +102 -0
  86. package/src/components/stepper/composables/useStepper.ts +112 -0
  87. package/src/components/stepper/stepper.variants.ts +39 -0
  88. package/src/components/stepper/types.ts +51 -0
  89. package/src/components/timeline/Timeline.vue +109 -0
  90. package/src/components/timeline/timeline.variants.ts +31 -0
  91. package/src/components/timeline/types.ts +20 -0
  92. package/src/components/toolbar/Toolbar.vue +45 -0
  93. package/src/components/toolbar/ToolbarButton.vue +26 -0
  94. package/src/components/toolbar/ToolbarControl.vue +46 -0
  95. package/src/components/toolbar/ToolbarLink.vue +40 -0
  96. package/src/components/toolbar/ToolbarSeparator.vue +20 -0
  97. package/src/components/toolbar/ToolbarToggleGroup.vue +42 -0
  98. package/src/components/toolbar/ToolbarToggleItem.vue +34 -0
  99. package/src/components/toolbar/context.ts +29 -0
  100. package/src/components/toolbar/toolbar.variants.ts +37 -0
  101. package/src/components/toolbar/types.ts +30 -0
  102. package/src/index.ts +45 -0
  103. package/src/locale/en-US.ts +7 -0
  104. package/src/locale/index.ts +1 -0
  105. package/src/locale/types.ts +7 -0
  106. package/src/locale/zh-CN.ts +7 -0
  107. package/src/styles/interaction.css +1 -0
  108. package/src/styles/motion.css +66 -0
  109. package/src/styles/stepper.css +41 -0
  110. package/src/styles/timeline.css +144 -0
  111. package/src/styles/tokens.css +2 -0
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, [
@@ -7717,8 +7735,8 @@ var tableCell = tv({
7717
7735
  });
7718
7736
  //#endregion
7719
7737
  //#region src/components/table/Table.vue?vue&type=script&setup=true&lang.ts
7720
- var _hoisted_1$84 = { class: "hn-table" };
7721
- var _hoisted_2$42 = { key: 0 };
7738
+ var _hoisted_1$91 = { class: "hn-table" };
7739
+ var _hoisted_2$47 = { key: 0 };
7722
7740
  //#endregion
7723
7741
  //#region src/components/table/Table.vue
7724
7742
  var Table_default = /* @__PURE__ */ defineComponent({
@@ -7748,7 +7766,7 @@ var Table_default = /* @__PURE__ */ defineComponent({
7748
7766
  stickyHeader: props.stickyHeader
7749
7767
  }), props.class))
7750
7768
  }, {
7751
- 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")])]),
7752
7770
  _: 3
7753
7771
  }, 8, ["direction", "class"]);
7754
7772
  };
@@ -7795,7 +7813,7 @@ var TableRow_default = /* @__PURE__ */ defineComponent({
7795
7813
  });
7796
7814
  //#endregion
7797
7815
  //#region src/components/table/TableHead.vue?vue&type=script&setup=true&lang.ts
7798
- var _hoisted_1$83 = ["scope"];
7816
+ var _hoisted_1$90 = ["scope"];
7799
7817
  //#endregion
7800
7818
  //#region src/components/table/TableHead.vue
7801
7819
  var TableHead_default = /* @__PURE__ */ defineComponent({
@@ -7820,7 +7838,7 @@ var TableHead_default = /* @__PURE__ */ defineComponent({
7820
7838
  sticky: props.sticky,
7821
7839
  head: true
7822
7840
  }), props.class))
7823
- }, [renderSlot(_ctx.$slots, "default")], 10, _hoisted_1$83);
7841
+ }, [renderSlot(_ctx.$slots, "default")], 10, _hoisted_1$90);
7824
7842
  };
7825
7843
  }
7826
7844
  });
@@ -8310,8 +8328,8 @@ var textareaField = tv({ base: [
8310
8328
  ] });
8311
8329
  //#endregion
8312
8330
  //#region src/components/textarea/Textarea.vue?vue&type=script&setup=true&lang.ts
8313
- var _hoisted_1$82 = ["data-invalid", "data-disabled"];
8314
- var _hoisted_2$41 = [
8331
+ var _hoisted_1$89 = ["data-invalid", "data-disabled"];
8332
+ var _hoisted_2$46 = [
8315
8333
  "id",
8316
8334
  "rows",
8317
8335
  "disabled",
@@ -8380,9 +8398,9 @@ var Textarea_default = /* @__PURE__ */ defineComponent({
8380
8398
  "aria-describedby": unref(describedBy),
8381
8399
  class: unref(textareaField)(),
8382
8400
  onInput: _cache[1] || (_cache[1] = (...args) => unref(fit) && unref(fit)(...args))
8383
- }), null, 16, _hoisted_2$41), [[vModelText, model.value]])]),
8401
+ }), null, 16, _hoisted_2$46), [[vModelText, model.value]])]),
8384
8402
  _: 1
8385
- }, 512)], 14, _hoisted_1$82);
8403
+ }, 512)], 14, _hoisted_1$89);
8386
8404
  };
8387
8405
  }
8388
8406
  });
@@ -8516,7 +8534,7 @@ var NumberInput_default = /* @__PURE__ */ defineComponent({
8516
8534
  });
8517
8535
  //#endregion
8518
8536
  //#region src/components/password-input/PasswordInput.vue?vue&type=script&setup=true&lang.ts
8519
- var _hoisted_1$81 = { class: "relative inline-flex" };
8537
+ var _hoisted_1$88 = { class: "relative inline-flex" };
8520
8538
  //#endregion
8521
8539
  //#region src/components/password-input/PasswordInput.vue
8522
8540
  var PasswordInput_default = /* @__PURE__ */ defineComponent({
@@ -8560,7 +8578,7 @@ var PasswordInput_default = /* @__PURE__ */ defineComponent({
8560
8578
  disabled: props.disabled,
8561
8579
  onClick: _cache[0] || (_cache[0] = ($event) => visible.value = !visible.value)
8562
8580
  }, {
8563
- default: withCtx(() => [createElementVNode("span", _hoisted_1$81, [createVNode(Transition, {
8581
+ default: withCtx(() => [createElementVNode("span", _hoisted_1$88, [createVNode(Transition, {
8564
8582
  "enter-active-class": "hn-transition-base",
8565
8583
  "enter-from-class": "scale-90 opacity-0",
8566
8584
  "leave-active-class": "hn-transition absolute",
@@ -8655,7 +8673,7 @@ var inputGroup = tv({
8655
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)]" });
8656
8674
  //#endregion
8657
8675
  //#region src/components/input-group/InputGroup.vue?vue&type=script&setup=true&lang.ts
8658
- var _hoisted_1$80 = ["data-invalid", "data-disabled"];
8676
+ var _hoisted_1$87 = ["data-invalid", "data-disabled"];
8659
8677
  //#endregion
8660
8678
  //#region src/components/input-group/InputGroup.vue
8661
8679
  var InputGroup_default = /* @__PURE__ */ defineComponent({
@@ -8687,7 +8705,7 @@ var InputGroup_default = /* @__PURE__ */ defineComponent({
8687
8705
  size: props.size
8688
8706
  }), unref(inputGroup)({ divided: props.variant !== "bare" }), props.class)),
8689
8707
  onClick: _cache[0] || (_cache[0] = ($event) => unref(focusFieldFrom)($event.currentTarget, $event.target))
8690
- }, [renderSlot(_ctx.$slots, "default")], 10, _hoisted_1$80);
8708
+ }, [renderSlot(_ctx.$slots, "default")], 10, _hoisted_1$87);
8691
8709
  };
8692
8710
  }
8693
8711
  });
@@ -8717,18 +8735,18 @@ var multiSelectTrigger = tv({ base: [
8717
8735
  var multiSelectChips = tv({ base: "flex min-w-0 flex-1 items-center gap-1 overflow-hidden" });
8718
8736
  //#endregion
8719
8737
  //#region src/components/multi-select/MultiSelect.vue?vue&type=script&setup=true&lang.ts
8720
- var _hoisted_1$79 = { class: "min-w-0 truncate" };
8721
- var _hoisted_2$40 = {
8738
+ var _hoisted_1$86 = { class: "min-w-0 truncate" };
8739
+ var _hoisted_2$45 = {
8722
8740
  key: 1,
8723
8741
  class: "min-w-0 truncate"
8724
8742
  };
8725
- var _hoisted_3$22 = [
8743
+ var _hoisted_3$24 = [
8726
8744
  "name",
8727
8745
  "required",
8728
8746
  "autocomplete",
8729
8747
  "disabled"
8730
8748
  ];
8731
- var _hoisted_4$19 = ["value", "disabled"];
8749
+ var _hoisted_4$21 = ["value", "disabled"];
8732
8750
  //#endregion
8733
8751
  //#region src/components/multi-select/MultiSelect.vue
8734
8752
  var MultiSelect_default = /* @__PURE__ */ defineComponent({
@@ -8832,7 +8850,7 @@ var MultiSelect_default = /* @__PURE__ */ defineComponent({
8832
8850
  onClick: isolate,
8833
8851
  onRemove: ($event) => remove(option.value)
8834
8852
  }, {
8835
- default: withCtx(() => [createElementVNode("span", _hoisted_1$79, toDisplayString(option.label), 1)]),
8853
+ default: withCtx(() => [createElementVNode("span", _hoisted_1$86, toDisplayString(option.label), 1)]),
8836
8854
  _: 2
8837
8855
  }, 1032, [
8838
8856
  "size",
@@ -8847,7 +8865,7 @@ var MultiSelect_default = /* @__PURE__ */ defineComponent({
8847
8865
  }, {
8848
8866
  default: withCtx(() => [createTextVNode(" +" + toDisplayString(overflow.value), 1)]),
8849
8867
  _: 1
8850
- }, 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),
8851
8869
  createVNode(Transition, {
8852
8870
  "enter-active-class": "hn-transition-base",
8853
8871
  "enter-from-class": "scale-90 opacity-0",
@@ -8899,8 +8917,8 @@ var MultiSelect_default = /* @__PURE__ */ defineComponent({
8899
8917
  key: option.value,
8900
8918
  value: option.value,
8901
8919
  disabled: option.disabled
8902
- }, toDisplayString(option.label), 9, _hoisted_4$19);
8903
- }), 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]])]),
8904
8922
  _: 1
8905
8923
  })) : createCommentVNode("", true),
8906
8924
  createVNode(SelectList_default, {
@@ -8989,20 +9007,20 @@ var comboboxContent = tv({ base: ["hn-anim-pop z-(--hn-z-overlay) flex w-[var(--
8989
9007
  var comboboxList = tv({ base: "max-h-[min(20rem,var(--reka-combobox-content-available-height))]" });
8990
9008
  //#endregion
8991
9009
  //#region src/components/combobox/ComboboxList.vue?vue&type=script&setup=true&lang.ts
8992
- var _hoisted_1$78 = { class: "min-w-0 flex-1" };
8993
- var _hoisted_2$39 = { class: "block truncate" };
8994
- 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 = {
8995
9013
  key: 0,
8996
9014
  class: "text-muted block truncate text-xs"
8997
9015
  };
8998
- var _hoisted_4$18 = { class: "flex size-4 shrink-0 items-center justify-center" };
8999
- var _hoisted_5$14 = { class: "min-w-0 flex-1" };
9000
- var _hoisted_6$9 = { class: "block truncate" };
9001
- 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 = {
9002
9020
  key: 0,
9003
9021
  class: "text-muted block truncate text-xs"
9004
9022
  };
9005
- 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" };
9006
9024
  //#endregion
9007
9025
  //#region src/components/combobox/ComboboxList.vue
9008
9026
  var ComboboxList_default = /* @__PURE__ */ defineComponent({
@@ -9047,7 +9065,7 @@ var ComboboxList_default = /* @__PURE__ */ defineComponent({
9047
9065
  disabled: option.disabled,
9048
9066
  class: normalizeClass(unref(selectItem)())
9049
9067
  }, {
9050
- 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, {
9051
9069
  default: withCtx(() => [createVNode(unref(Check))]),
9052
9070
  _: 1
9053
9071
  })])]),
@@ -9067,7 +9085,7 @@ var ComboboxList_default = /* @__PURE__ */ defineComponent({
9067
9085
  disabled: item.disabled,
9068
9086
  class: normalizeClass(unref(selectItem)())
9069
9087
  }, {
9070
- 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, {
9071
9089
  default: withCtx(() => [createVNode(unref(Check))]),
9072
9090
  _: 1
9073
9091
  })])]),
@@ -9095,7 +9113,7 @@ var ComboboxList_default = /* @__PURE__ */ defineComponent({
9095
9113
  });
9096
9114
  //#endregion
9097
9115
  //#region src/components/combobox/Combobox.vue?vue&type=script&setup=true&lang.ts
9098
- var _hoisted_1$77 = [
9116
+ var _hoisted_1$84 = [
9099
9117
  "data-invalid",
9100
9118
  "data-disabled",
9101
9119
  "aria-busy"
@@ -9244,7 +9262,7 @@ var Combobox_default = /* @__PURE__ */ defineComponent({
9244
9262
  "disabled",
9245
9263
  "class"
9246
9264
  ])
9247
- ], 42, _hoisted_1$77)]),
9265
+ ], 42, _hoisted_1$84)]),
9248
9266
  _: 1
9249
9267
  }), createVNode(ComboboxList_default, {
9250
9268
  options: props.options,
@@ -9293,11 +9311,11 @@ var commandItemHint = tv({ base: "ms-auto flex shrink-0 items-center gap-1" });
9293
9311
  var commandEmpty = tv({ base: "text-muted px-4 py-8 text-center text-sm" });
9294
9312
  //#endregion
9295
9313
  //#region src/components/command-palette/CommandPaletteItem.vue?vue&type=script&setup=true&lang.ts
9296
- var _hoisted_1$76 = { class: "truncate" };
9297
- var _hoisted_2$38 = ["textContent"];
9298
- var _hoisted_3$20 = ["textContent"];
9299
- var _hoisted_4$17 = ["textContent"];
9300
- 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 = {
9301
9319
  key: 0,
9302
9320
  class: "text-muted truncate text-xs"
9303
9321
  };
@@ -9338,18 +9356,18 @@ var CommandPaletteItem_default = /* @__PURE__ */ defineComponent({
9338
9356
  "aria-hidden": "true",
9339
9357
  class: "text-muted"
9340
9358
  })) : createCommentVNode("", true),
9341
- createElementVNode("span", { class: normalizeClass(unref(commandItemBody)()) }, [createElementVNode("span", _hoisted_1$76, [
9342
- 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),
9343
9361
  parts.value[1] ? (openBlock(), createElementBlock("span", {
9344
9362
  key: 0,
9345
9363
  class: normalizeClass(unref(commandItemMatch)()),
9346
9364
  textContent: toDisplayString(parts.value[1])
9347
- }, null, 10, _hoisted_3$20)) : createCommentVNode("", true),
9365
+ }, null, 10, _hoisted_3$22)) : createCommentVNode("", true),
9348
9366
  parts.value[2] ? (openBlock(), createElementBlock("span", {
9349
9367
  key: 1,
9350
9368
  textContent: toDisplayString(parts.value[2])
9351
- }, null, 8, _hoisted_4$17)) : createCommentVNode("", true)
9352
- ]), 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),
9353
9371
  props.match.item.kbd?.length ? (openBlock(), createElementBlock("span", {
9354
9372
  key: 1,
9355
9373
  class: normalizeClass(unref(commandItemHint)())
@@ -9690,13 +9708,13 @@ var CommandPalette_default = /* @__PURE__ */ defineComponent({
9690
9708
  });
9691
9709
  //#endregion
9692
9710
  //#region src/components/listbox/ListboxOptionContent.vue?vue&type=script&setup=true&lang.ts
9693
- var _hoisted_1$75 = { class: "min-w-0 flex-1" };
9694
- var _hoisted_2$37 = { class: "block truncate" };
9695
- 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 = {
9696
9714
  key: 0,
9697
9715
  class: "text-muted block truncate text-xs"
9698
9716
  };
9699
- var _hoisted_4$16 = {
9717
+ var _hoisted_4$18 = {
9700
9718
  key: 1,
9701
9719
  class: "flex size-4 shrink-0 items-center justify-center"
9702
9720
  };
@@ -9712,13 +9730,13 @@ var ListboxOptionContent_default = /* @__PURE__ */ defineComponent({
9712
9730
  const slots = useSlots();
9713
9731
  const { isSelected: selected } = injectListboxItemContext();
9714
9732
  return (_ctx, _cache) => {
9715
- 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", {
9716
9734
  option: props.option,
9717
9735
  selected: unref(selected)
9718
- }, () => [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", {
9719
9737
  option: props.option,
9720
9738
  selected: unref(selected)
9721
- }, 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, {
9722
9740
  default: withCtx(() => [createVNode(unref(Check))]),
9723
9741
  _: 1
9724
9742
  })]))], 64);
@@ -9948,7 +9966,7 @@ var checkboxDescription = tv({
9948
9966
  });
9949
9967
  //#endregion
9950
9968
  //#region src/components/tree/TreeCheck.vue?vue&type=script&setup=true&lang.ts
9951
- var _hoisted_1$74 = ["data-state"];
9969
+ var _hoisted_1$81 = ["data-state"];
9952
9970
  //#endregion
9953
9971
  //#region src/components/tree/TreeCheck.vue
9954
9972
  var TreeCheck_default = /* @__PURE__ */ defineComponent({
@@ -9981,7 +9999,7 @@ var TreeCheck_default = /* @__PURE__ */ defineComponent({
9981
9999
  }, {
9982
10000
  default: withCtx(() => [props.indeterminate ? (openBlock(), createBlock(unref(Minus), { key: 0 })) : createCommentVNode("", true)]),
9983
10001
  _: 1
9984
- })], 10, _hoisted_1$74);
10002
+ })], 10, _hoisted_1$81);
9985
10003
  };
9986
10004
  }
9987
10005
  });
@@ -10121,21 +10139,21 @@ var treeToggle = tv({ base: "text-muted flex size-5 shrink-0 cursor-pointer item
10121
10139
  var treeEmpty = tv({ base: "text-muted px-2.5 py-2 text-sm" });
10122
10140
  //#endregion
10123
10141
  //#region src/components/tree/Tree.vue?vue&type=script&setup=true&lang.ts
10124
- var _hoisted_1$73 = [
10142
+ var _hoisted_1$80 = [
10125
10143
  "id",
10126
10144
  "aria-labelledby",
10127
10145
  "aria-describedby"
10128
10146
  ];
10129
- var _hoisted_2$36 = ["aria-selected", "aria-checked"];
10130
- var _hoisted_3$18 = ["onClick"];
10131
- var _hoisted_4$15 = {
10147
+ var _hoisted_2$41 = ["aria-selected", "aria-checked"];
10148
+ var _hoisted_3$20 = ["onClick"];
10149
+ var _hoisted_4$17 = {
10132
10150
  key: 1,
10133
10151
  class: "size-5 shrink-0",
10134
10152
  "aria-hidden": "true"
10135
10153
  };
10136
- var _hoisted_5$12 = { class: "min-w-0 flex-1" };
10137
- var _hoisted_6$8 = { class: "block truncate" };
10138
- 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 = {
10139
10157
  key: 0,
10140
10158
  class: "text-muted block truncate text-xs"
10141
10159
  };
@@ -10177,7 +10195,7 @@ var Tree_default = /* @__PURE__ */ defineComponent({
10177
10195
  "aria-describedby": unref(describedBy),
10178
10196
  "data-hn-tree": "",
10179
10197
  class: unref(cn)(unref(treeEmpty)(), props.class)
10180
- }), [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, {
10181
10199
  id: unref(id),
10182
10200
  expanded: unref(expanded),
10183
10201
  "onUpdate:expanded": _cache[0] || (_cache[0] = ($event) => isRef(expanded) ? expanded.value = $event : null),
@@ -10218,21 +10236,21 @@ var Tree_default = /* @__PURE__ */ defineComponent({
10218
10236
  }, [createVNode(DisclosureIcon_default, {
10219
10237
  direction: "end",
10220
10238
  open: isExpanded
10221
- }, 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)),
10222
10240
  props.multiple ? (openBlock(), createBlock(TreeCheck_default, {
10223
10241
  key: 2,
10224
10242
  selected: unref(state)(item.value).selected,
10225
10243
  indeterminate: unref(state)(item.value).indeterminate
10226
10244
  }, null, 8, ["selected", "indeterminate"])) : createCommentVNode("", true),
10227
- createElementVNode("span", _hoisted_5$12, [renderSlot(_ctx.$slots, "node", mergeProps({
10245
+ createElementVNode("span", _hoisted_5$13, [renderSlot(_ctx.$slots, "node", mergeProps({
10228
10246
  node: item.value,
10229
10247
  expanded: isExpanded
10230
- }, { 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)])]),
10231
10249
  renderSlot(_ctx.$slots, "trailing", mergeProps({
10232
10250
  node: item.value,
10233
10251
  expanded: isExpanded
10234
10252
  }, { ref_for: true }, unref(state)(item.value)))
10235
- ], 14, _hoisted_2$36)]),
10253
+ ], 14, _hoisted_2$41)]),
10236
10254
  _: 2
10237
10255
  }, 1040, [
10238
10256
  "disabled",
@@ -10274,8 +10292,8 @@ var treeSelectRow = tv({ base: [
10274
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"] });
10275
10293
  //#endregion
10276
10294
  //#region src/components/tree-select/TreeSelectSearch.vue?vue&type=script&setup=true&lang.ts
10277
- var _hoisted_1$72 = { class: "border-line shrink-0 border-b px-1" };
10278
- var _hoisted_2$35 = [
10295
+ var _hoisted_1$79 = { class: "border-line shrink-0 border-b px-1" };
10296
+ var _hoisted_2$40 = [
10279
10297
  "aria-label",
10280
10298
  "aria-controls",
10281
10299
  "placeholder"
@@ -10302,7 +10320,7 @@ var TreeSelectSearch_default = /* @__PURE__ */ defineComponent({
10302
10320
  const input = shallowRef(null);
10303
10321
  __expose({ focus: () => input.value?.focus() });
10304
10322
  return (_ctx, _cache) => {
10305
- 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)({
10306
10324
  variant: "bare",
10307
10325
  size: "sm"
10308
10326
  })) }, [
@@ -10323,7 +10341,7 @@ var TreeSelectSearch_default = /* @__PURE__ */ defineComponent({
10323
10341
  trailing: !!model.value
10324
10342
  })),
10325
10343
  onKeydown: _cache[1] || (_cache[1] = ($event) => emit("keydown", $event))
10326
- }, null, 42, _hoisted_2$35), [[vModelText, model.value]]),
10344
+ }, null, 42, _hoisted_2$40), [[vModelText, model.value]]),
10327
10345
  createVNode(Transition, {
10328
10346
  "enter-active-class": "hn-transition-base",
10329
10347
  "enter-from-class": "scale-90 opacity-0",
@@ -10476,7 +10494,7 @@ function useTreeSelect(props, model, open, search) {
10476
10494
  }
10477
10495
  //#endregion
10478
10496
  //#region src/components/tree-select/TreeSelect.vue?vue&type=script&setup=true&lang.ts
10479
- var _hoisted_1$71 = [
10497
+ var _hoisted_1$78 = [
10480
10498
  "id",
10481
10499
  "aria-describedby",
10482
10500
  "aria-expanded",
@@ -10486,20 +10504,20 @@ var _hoisted_1$71 = [
10486
10504
  "data-disabled",
10487
10505
  "aria-invalid"
10488
10506
  ];
10489
- var _hoisted_2$34 = { class: "min-w-0 flex-1 truncate" };
10490
- var _hoisted_3$17 = ["onClick"];
10491
- 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 = {
10492
10510
  key: 1,
10493
10511
  class: "size-5 shrink-0"
10494
10512
  };
10495
- var _hoisted_5$11 = { class: "min-w-0 flex-1" };
10496
- var _hoisted_6$7 = { class: "block truncate" };
10497
- 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 = {
10498
10516
  key: 0,
10499
10517
  class: "text-muted block truncate text-xs"
10500
10518
  };
10501
- var _hoisted_8$2 = { class: "flex size-4 shrink-0 items-center justify-center" };
10502
- 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" };
10503
10521
  //#endregion
10504
10522
  //#region src/components/tree-select/TreeSelect.vue
10505
10523
  var TreeSelect_default = /* @__PURE__ */ defineComponent({
@@ -10569,7 +10587,7 @@ var TreeSelect_default = /* @__PURE__ */ defineComponent({
10569
10587
  variant: props.variant,
10570
10588
  size: props.size
10571
10589
  }), unref(selectTrigger)(), props.class)
10572
- }), [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)]),
10573
10591
  _: 1
10574
10592
  }), createVNode(unref(PopoverPortal), null, {
10575
10593
  default: withCtx(() => [createVNode(unref(PopoverContent), {
@@ -10636,9 +10654,9 @@ var TreeSelect_default = /* @__PURE__ */ defineComponent({
10636
10654
  }, [createVNode(DisclosureIcon_default, {
10637
10655
  direction: "end",
10638
10656
  open: isExpanded
10639
- }, null, 8, ["open"])], 10, _hoisted_3$17)) : (openBlock(), createElementBlock("span", _hoisted_4$14)),
10640
- 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)])]),
10641
- 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)])
10642
10660
  ]),
10643
10661
  _: 2
10644
10662
  }, 1040, [
@@ -10653,7 +10671,7 @@ var TreeSelect_default = /* @__PURE__ */ defineComponent({
10653
10671
  key: 0,
10654
10672
  role: "none",
10655
10673
  class: normalizeClass(unref(selectEmpty)())
10656
- }, [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)]),
10657
10675
  _: 3
10658
10676
  }, 8, [
10659
10677
  "id",
@@ -10686,7 +10704,7 @@ var TreeSelect_default = /* @__PURE__ */ defineComponent({
10686
10704
  });
10687
10705
  //#endregion
10688
10706
  //#region src/components/checkbox/Checkbox.vue?vue&type=script&setup=true&lang.ts
10689
- var _hoisted_1$70 = ["data-disabled"];
10707
+ var _hoisted_1$77 = ["data-disabled"];
10690
10708
  //#endregion
10691
10709
  //#region src/components/checkbox/Checkbox.vue
10692
10710
  var Checkbox_default = /* @__PURE__ */ defineComponent({
@@ -10783,7 +10801,7 @@ var Checkbox_default = /* @__PURE__ */ defineComponent({
10783
10801
  controlPlacement: props.controlPlacement
10784
10802
  }))
10785
10803
  }, toDisplayString(props.description), 3)) : createCommentVNode("", true)
10786
- ], 10, _hoisted_1$70);
10804
+ ], 10, _hoisted_1$77);
10787
10805
  };
10788
10806
  }
10789
10807
  });
@@ -10906,7 +10924,7 @@ var CheckboxGroup_default = /* @__PURE__ */ defineComponent({
10906
10924
  var radioDot = tv({ base: "block size-[calc(var(--hn-checkbox-size)/2)] bg-surface rounded-full" });
10907
10925
  //#endregion
10908
10926
  //#region src/components/radio-group/RadioGroup.vue?vue&type=script&setup=true&lang.ts
10909
- var _hoisted_1$69 = ["data-disabled"];
10927
+ var _hoisted_1$76 = ["data-disabled"];
10910
10928
  //#endregion
10911
10929
  //#region src/components/radio-group/RadioGroup.vue
10912
10930
  var RadioGroup_default = /* @__PURE__ */ defineComponent({
@@ -11000,7 +11018,7 @@ var RadioGroup_default = /* @__PURE__ */ defineComponent({
11000
11018
  controlPlacement: props.controlPlacement
11001
11019
  }))
11002
11020
  }, toDisplayString(option.description), 3)) : createCommentVNode("", true)
11003
- ], 10, _hoisted_1$69);
11021
+ ], 10, _hoisted_1$76);
11004
11022
  }), 128))]),
11005
11023
  _: 3
11006
11024
  }, 8, [
@@ -11041,7 +11059,7 @@ var switchThumb = tv({ base: [
11041
11059
  ] });
11042
11060
  //#endregion
11043
11061
  //#region src/components/switch/Switch.vue?vue&type=script&setup=true&lang.ts
11044
- var _hoisted_1$68 = ["data-disabled"];
11062
+ var _hoisted_1$75 = ["data-disabled"];
11045
11063
  //#endregion
11046
11064
  //#region src/components/switch/Switch.vue
11047
11065
  var Switch_default = /* @__PURE__ */ defineComponent({
@@ -11122,7 +11140,7 @@ var Switch_default = /* @__PURE__ */ defineComponent({
11122
11140
  controlPlacement: props.controlPlacement
11123
11141
  }))
11124
11142
  }, toDisplayString(props.description), 3)) : createCommentVNode("", true)
11125
- ], 10, _hoisted_1$68);
11143
+ ], 10, _hoisted_1$75);
11126
11144
  };
11127
11145
  }
11128
11146
  });
@@ -11272,7 +11290,7 @@ var SliderMarks_default = /* @__PURE__ */ defineComponent({
11272
11290
  });
11273
11291
  //#endregion
11274
11292
  //#region src/components/slider/Slider.vue?vue&type=script&setup=true&lang.ts
11275
- var _hoisted_1$67 = [
11293
+ var _hoisted_1$74 = [
11276
11294
  "dir",
11277
11295
  "data-disabled",
11278
11296
  "data-dragging"
@@ -11393,13 +11411,13 @@ var Slider_default = /* @__PURE__ */ defineComponent({
11393
11411
  "marks",
11394
11412
  "min",
11395
11413
  "max"
11396
- ])) : createCommentVNode("", true)], 16, _hoisted_1$67);
11414
+ ])) : createCommentVNode("", true)], 16, _hoisted_1$74);
11397
11415
  };
11398
11416
  }
11399
11417
  });
11400
11418
  //#endregion
11401
11419
  //#region src/components/range-slider/RangeSlider.vue?vue&type=script&setup=true&lang.ts
11402
- var _hoisted_1$66 = [
11420
+ var _hoisted_1$73 = [
11403
11421
  "aria-labelledby",
11404
11422
  "aria-describedby",
11405
11423
  "aria-invalid",
@@ -11546,7 +11564,7 @@ var RangeSlider_default = /* @__PURE__ */ defineComponent({
11546
11564
  "marks",
11547
11565
  "min",
11548
11566
  "max"
11549
- ])) : createCommentVNode("", true)], 16, _hoisted_1$66);
11567
+ ])) : createCommentVNode("", true)], 16, _hoisted_1$73);
11550
11568
  };
11551
11569
  }
11552
11570
  });
@@ -11563,15 +11581,15 @@ var toggle = tv({
11563
11581
  });
11564
11582
  //#endregion
11565
11583
  //#region src/components/toggle/Toggle.vue?vue&type=script&setup=true&lang.ts
11566
- var _hoisted_1$65 = {
11584
+ var _hoisted_1$72 = {
11567
11585
  key: "on",
11568
11586
  class: "inline-flex items-center justify-center"
11569
11587
  };
11570
- var _hoisted_2$33 = {
11588
+ var _hoisted_2$38 = {
11571
11589
  key: "off",
11572
11590
  class: "inline-flex items-center justify-center"
11573
11591
  };
11574
- var _hoisted_3$16 = {
11592
+ var _hoisted_3$18 = {
11575
11593
  key: 2,
11576
11594
  class: "inline-flex items-center"
11577
11595
  };
@@ -11648,10 +11666,10 @@ var Toggle_default = /* @__PURE__ */ defineComponent({
11648
11666
  "leave-active-class": "hn-transition absolute",
11649
11667
  "leave-to-class": "scale-90 opacity-0"
11650
11668
  }, {
11651
- 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 })]))]),
11652
11670
  _: 3
11653
11671
  })], 2)) : createCommentVNode("", true),
11654
- 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)
11655
11673
  ]),
11656
11674
  _: 3
11657
11675
  }, 16, [
@@ -11672,6 +11690,879 @@ var Toggle_default = /* @__PURE__ */ defineComponent({
11672
11690
  }
11673
11691
  });
11674
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
11675
12566
  //#region src/components/tags-input/tags-input.variants.ts
11676
12567
  var tagsInputHost = tv({
11677
12568
  base: "relative h-auto min-h-[var(--hn-input-h)] gap-1 ps-[var(--hn-input-px)]",
@@ -11707,7 +12598,7 @@ var tagsInputControl = tv({
11707
12598
  var tagsInputChip = tv({ base: "max-w-full min-w-0 shrink data-disabled:opacity-100" });
11708
12599
  //#endregion
11709
12600
  //#region src/components/tags-input/TagsInputChip.vue?vue&type=script&setup=true&lang.ts
11710
- var _hoisted_1$64 = { class: "min-w-0 truncate" };
12601
+ var _hoisted_1$67 = { class: "min-w-0 truncate" };
11711
12602
  //#endregion
11712
12603
  //#region src/components/tags-input/TagsInputChip.vue
11713
12604
  var TagsInputChip_default = /* @__PURE__ */ defineComponent({
@@ -11734,7 +12625,7 @@ var TagsInputChip_default = /* @__PURE__ */ defineComponent({
11734
12625
  onRemove: _cache[0] || (_cache[0] = ($event) => emit("remove"))
11735
12626
  }), {
11736
12627
  default: withCtx(() => [createVNode(unref(TagsInputItemText), { "as-child": "" }, {
11737
- default: withCtx(() => [createElementVNode("span", _hoisted_1$64, toDisplayString(props.tag), 1)]),
12628
+ default: withCtx(() => [createElementVNode("span", _hoisted_1$67, toDisplayString(props.tag), 1)]),
11738
12629
  _: 1
11739
12630
  })]),
11740
12631
  _: 1
@@ -11748,7 +12639,7 @@ var TagsInputChip_default = /* @__PURE__ */ defineComponent({
11748
12639
  });
11749
12640
  //#endregion
11750
12641
  //#region src/components/tags-input/TagsInput.vue?vue&type=script&setup=true&lang.ts
11751
- var _hoisted_1$63 = ["data-invalid", "data-disabled"];
12642
+ var _hoisted_1$66 = ["data-invalid", "data-disabled"];
11752
12643
  //#endregion
11753
12644
  //#region src/components/tags-input/TagsInput.vue
11754
12645
  var TagsInput_default = /* @__PURE__ */ defineComponent({
@@ -11899,7 +12790,7 @@ var TagsInput_default = /* @__PURE__ */ defineComponent({
11899
12790
  _: 1
11900
12791
  }, 8, ["label"])], 2)) : createCommentVNode("", true)]),
11901
12792
  _: 1
11902
- })], 10, _hoisted_1$63);
12793
+ })], 10, _hoisted_1$66);
11903
12794
  };
11904
12795
  }
11905
12796
  });
@@ -11954,12 +12845,12 @@ var multiComboboxHost = tv({
11954
12845
  var multiComboboxEnd = tv({ base: "absolute inset-y-0 end-0 flex items-stretch" });
11955
12846
  //#endregion
11956
12847
  //#region src/components/multi-combobox/MultiCombobox.vue?vue&type=script&setup=true&lang.ts
11957
- var _hoisted_1$62 = [
12848
+ var _hoisted_1$65 = [
11958
12849
  "data-invalid",
11959
12850
  "data-disabled",
11960
12851
  "aria-busy"
11961
12852
  ];
11962
- var _hoisted_2$32 = { class: "min-w-0 truncate" };
12853
+ var _hoisted_2$36 = { class: "min-w-0 truncate" };
11963
12854
  //#endregion
11964
12855
  //#region src/components/multi-combobox/MultiCombobox.vue
11965
12856
  var MultiCombobox_default = /* @__PURE__ */ defineComponent({
@@ -12054,7 +12945,7 @@ var MultiCombobox_default = /* @__PURE__ */ defineComponent({
12054
12945
  class: normalizeClass(unref(tagsInputChip)()),
12055
12946
  onRemove: ($event) => unref(remove)(option.value)
12056
12947
  }, {
12057
- default: withCtx(() => [createElementVNode("span", _hoisted_2$32, toDisplayString(option.label), 1)]),
12948
+ default: withCtx(() => [createElementVNode("span", _hoisted_2$36, toDisplayString(option.label), 1)]),
12058
12949
  _: 2
12059
12950
  }, 1032, [
12060
12951
  "size",
@@ -12121,7 +13012,7 @@ var MultiCombobox_default = /* @__PURE__ */ defineComponent({
12121
13012
  "aria-label",
12122
13013
  "disabled",
12123
13014
  "class"
12124
- ])], 2)], 10, _hoisted_1$62)]),
13015
+ ])], 2)], 10, _hoisted_1$65)]),
12125
13016
  _: 1
12126
13017
  }), createVNode(ComboboxList_default, {
12127
13018
  options: props.options,
@@ -12805,7 +13696,7 @@ var dateFieldSegment = tv({
12805
13696
  });
12806
13697
  //#endregion
12807
13698
  //#region src/components/date-field/DateField.vue?vue&type=script&setup=true&lang.ts
12808
- var _hoisted_1$61 = ["data-invalid", "data-disabled"];
13699
+ var _hoisted_1$64 = ["data-invalid", "data-disabled"];
12809
13700
  //#endregion
12810
13701
  //#region src/components/date-field/DateField.vue
12811
13702
  var DateField_default = /* @__PURE__ */ defineComponent({
@@ -12962,7 +13853,7 @@ var DateField_default = /* @__PURE__ */ defineComponent({
12962
13853
  key: 1,
12963
13854
  class: normalizeClass(unref(inputAdornment)())
12964
13855
  }, [renderSlot(_ctx.$slots, "trailing")], 2)) : createCommentVNode("", true)
12965
- ], 10, _hoisted_1$61);
13856
+ ], 10, _hoisted_1$64);
12966
13857
  };
12967
13858
  }
12968
13859
  });
@@ -12993,7 +13884,7 @@ var InputGroupScope_default = /* @__PURE__ */ defineComponent({
12993
13884
  var datePickerContent = tv({ base: "hn-anim-pop z-(--hn-z-overlay) p-2 shadow-md outline-none" });
12994
13885
  //#endregion
12995
13886
  //#region src/components/date-picker/DatePicker.vue?vue&type=script&setup=true&lang.ts
12996
- var _hoisted_1$60 = ["data-invalid", "data-disabled"];
13887
+ var _hoisted_1$63 = ["data-invalid", "data-disabled"];
12997
13888
  //#endregion
12998
13889
  //#region src/components/date-picker/DatePicker.vue
12999
13890
  var DatePicker_default = /* @__PURE__ */ defineComponent({
@@ -13110,7 +14001,7 @@ var DatePicker_default = /* @__PURE__ */ defineComponent({
13110
14001
  _: 1
13111
14002
  }, 8, ["label", "disabled"])]),
13112
14003
  _: 1
13113
- })], 10, _hoisted_1$60)]),
14004
+ })], 10, _hoisted_1$63)]),
13114
14005
  _: 3
13115
14006
  }), createVNode(unref(PopoverPortal), null, {
13116
14007
  default: withCtx(() => [createVNode(unref(PopoverContent), {
@@ -13175,7 +14066,7 @@ function isRangeInvalid({ start, end }, bounds) {
13175
14066
  }
13176
14067
  //#endregion
13177
14068
  //#region src/components/date-range-field/DateRangeField.vue?vue&type=script&setup=true&lang.ts
13178
- var _hoisted_1$59 = ["data-invalid", "data-disabled"];
14069
+ var _hoisted_1$62 = ["data-invalid", "data-disabled"];
13179
14070
  //#endregion
13180
14071
  //#region src/components/date-range-field/DateRangeField.vue
13181
14072
  var DateRangeField_default = /* @__PURE__ */ defineComponent({
@@ -13344,7 +14235,7 @@ var DateRangeField_default = /* @__PURE__ */ defineComponent({
13344
14235
  key: 1,
13345
14236
  class: normalizeClass(unref(inputAdornment)())
13346
14237
  }, [renderSlot(_ctx.$slots, "trailing")], 2)) : createCommentVNode("", true)
13347
- ], 10, _hoisted_1$59);
14238
+ ], 10, _hoisted_1$62);
13348
14239
  };
13349
14240
  }
13350
14241
  });
@@ -13592,7 +14483,7 @@ var RangeCalendar_default = /* @__PURE__ */ defineComponent({
13592
14483
  });
13593
14484
  //#endregion
13594
14485
  //#region src/components/date-range-picker/DateRangePicker.vue?vue&type=script&setup=true&lang.ts
13595
- var _hoisted_1$58 = ["data-invalid", "data-disabled"];
14486
+ var _hoisted_1$61 = ["data-invalid", "data-disabled"];
13596
14487
  //#endregion
13597
14488
  //#region src/components/date-range-picker/DateRangePicker.vue
13598
14489
  var DateRangePicker_default = /* @__PURE__ */ defineComponent({
@@ -13710,7 +14601,7 @@ var DateRangePicker_default = /* @__PURE__ */ defineComponent({
13710
14601
  _: 1
13711
14602
  }, 8, ["label", "disabled"])]),
13712
14603
  _: 1
13713
- })], 10, _hoisted_1$58)]),
14604
+ })], 10, _hoisted_1$61)]),
13714
14605
  _: 3
13715
14606
  }), createVNode(unref(PopoverPortal), null, {
13716
14607
  default: withCtx(() => [createVNode(unref(PopoverContent), {
@@ -13764,7 +14655,7 @@ var DateRangePicker_default = /* @__PURE__ */ defineComponent({
13764
14655
  });
13765
14656
  //#endregion
13766
14657
  //#region src/components/time-field/TimeField.vue?vue&type=script&setup=true&lang.ts
13767
- var _hoisted_1$57 = ["data-invalid", "data-disabled"];
14658
+ var _hoisted_1$60 = ["data-invalid", "data-disabled"];
13768
14659
  //#endregion
13769
14660
  //#region src/components/time-field/TimeField.vue
13770
14661
  var TimeField_default = /* @__PURE__ */ defineComponent({
@@ -13927,7 +14818,7 @@ var TimeField_default = /* @__PURE__ */ defineComponent({
13927
14818
  key: 1,
13928
14819
  class: normalizeClass(unref(inputAdornment)())
13929
14820
  }, [renderSlot(_ctx.$slots, "trailing")], 2)) : createCommentVNode("", true)
13930
- ], 10, _hoisted_1$57);
14821
+ ], 10, _hoisted_1$60);
13931
14822
  };
13932
14823
  }
13933
14824
  });
@@ -13936,7 +14827,7 @@ var TimeField_default = /* @__PURE__ */ defineComponent({
13936
14827
  var dateTimePickerFooter = tv({ base: "mt-2 flex items-center justify-between gap-2" });
13937
14828
  //#endregion
13938
14829
  //#region src/components/date-time-picker/DateTimePicker.vue?vue&type=script&setup=true&lang.ts
13939
- var _hoisted_1$56 = ["data-invalid", "data-disabled"];
14830
+ var _hoisted_1$59 = ["data-invalid", "data-disabled"];
13940
14831
  //#endregion
13941
14832
  //#region src/components/date-time-picker/DateTimePicker.vue
13942
14833
  var DateTimePicker_default = /* @__PURE__ */ defineComponent({
@@ -14069,7 +14960,7 @@ var DateTimePicker_default = /* @__PURE__ */ defineComponent({
14069
14960
  _: 1
14070
14961
  }, 8, ["label", "disabled"])]),
14071
14962
  _: 1
14072
- })], 10, _hoisted_1$56)]),
14963
+ })], 10, _hoisted_1$59)]),
14073
14964
  _: 3
14074
14965
  }), createVNode(unref(PopoverPortal), null, {
14075
14966
  default: withCtx(() => [createVNode(unref(PopoverContent), {
@@ -14177,8 +15068,34 @@ function starFill(value, index) {
14177
15068
  return `${Math.round(portion * 1e3) / 10}%`;
14178
15069
  }
14179
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
14180
15091
  //#region src/components/rating/Rating.vue?vue&type=script&setup=true&lang.ts
14181
- 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
+ ];
14182
15099
  //#endregion
14183
15100
  //#region src/components/rating/Rating.vue
14184
15101
  var Rating_default = /* @__PURE__ */ defineComponent({
@@ -14187,6 +15104,7 @@ var Rating_default = /* @__PURE__ */ defineComponent({
14187
15104
  __name: "Rating",
14188
15105
  props: /*@__PURE__*/ mergeModels({
14189
15106
  max: { default: 5 },
15107
+ stars: {},
14190
15108
  step: { default: 1 },
14191
15109
  clearable: {
14192
15110
  type: Boolean,
@@ -14205,6 +15123,7 @@ var Rating_default = /* @__PURE__ */ defineComponent({
14205
15123
  setup(__props) {
14206
15124
  const props = __props;
14207
15125
  const model = useModel(__props, "modelValue");
15126
+ const { count, scaled, value, toScore } = useRatingScale(model, () => props.max, () => props.stars);
14208
15127
  const t = useUiLocale();
14209
15128
  const { labelledBy, invalid, disabled, describedBy } = useFieldControl({ disabled: () => props.disabled });
14210
15129
  return (_ctx, _cache) => {
@@ -14212,32 +15131,32 @@ var Rating_default = /* @__PURE__ */ defineComponent({
14212
15131
  "data-hn-rating": "",
14213
15132
  "data-readonly": "",
14214
15133
  role: "img",
14215
- "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),
14216
15135
  class: unref(cn)(unref(ratingRoot)({ size: props.size }), props.class)
14217
- }), [(openBlock(true), createElementBlock(Fragment, null, renderList(props.max, (index) => {
15136
+ }), [(openBlock(true), createElementBlock(Fragment, null, renderList(unref(count), (index) => {
14218
15137
  return openBlock(), createElementBlock("span", {
14219
15138
  key: index,
14220
15139
  class: normalizeClass(unref(ratingItem)())
14221
15140
  }, [createVNode(unref(Star), { class: normalizeClass(unref(ratingStar)()) }, null, 8, ["class"]), createElementVNode("span", {
14222
15141
  class: normalizeClass(unref(ratingFill)()),
14223
- style: normalizeStyle({ width: unref(starFill)(model.value, index) })
15142
+ style: normalizeStyle({ width: unref(starFill)(unref(value), index) })
14224
15143
  }, [createVNode(unref(Star), { class: normalizeClass(unref(ratingStar)({ active: true })) }, null, 8, ["class"])], 6)], 2);
14225
- }), 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, {
14226
15145
  "data-hn-rating": "",
14227
15146
  "data-disabled": unref(disabled) ? "" : void 0,
14228
15147
  "data-invalid": unref(invalid) ? "" : void 0,
14229
15148
  "aria-labelledby": unref(labelledBy),
14230
15149
  "aria-describedby": unref(describedBy),
14231
15150
  "aria-invalid": unref(invalid) || void 0,
14232
- "model-value": model.value,
14233
- 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),
14234
15154
  step: props.step,
14235
15155
  clearable: props.clearable,
14236
15156
  hoverable: "",
14237
15157
  disabled: unref(disabled),
14238
- name: props.name,
14239
- class: unref(cn)(unref(ratingRoot)({ size: props.size }), props.class),
14240
- "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)
14241
15160
  }), {
14242
15161
  default: withCtx(({ items }) => [(openBlock(true), createElementBlock(Fragment, null, renderList(items, (item) => {
14243
15162
  return openBlock(), createBlock(unref(RatingItem), {
@@ -14249,7 +15168,7 @@ var Rating_default = /* @__PURE__ */ defineComponent({
14249
15168
  return openBlock(), createBlock(unref(RatingItemIndicator), {
14250
15169
  key: step,
14251
15170
  step,
14252
- "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),
14253
15172
  class: normalizeClass(unref(ratingStep)())
14254
15173
  }, {
14255
15174
  default: withCtx(() => [createVNode(unref(Star), { class: normalizeClass(unref(ratingStar)()) }, null, 8, ["class"])]),
@@ -14262,7 +15181,14 @@ var Rating_default = /* @__PURE__ */ defineComponent({
14262
15181
  }), 128))]),
14263
15182
  _: 1
14264
15183
  }, 8, ["item", "class"]);
14265
- }), 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)]),
14266
15192
  _: 1
14267
15193
  }, 16, [
14268
15194
  "data-disabled",
@@ -14270,7 +15196,7 @@ var Rating_default = /* @__PURE__ */ defineComponent({
14270
15196
  "aria-labelledby",
14271
15197
  "aria-describedby",
14272
15198
  "aria-invalid",
14273
- "model-value",
15199
+ "modelValue",
14274
15200
  "length",
14275
15201
  "step",
14276
15202
  "clearable",
@@ -14437,13 +15363,13 @@ function formatSize(tag, bytes) {
14437
15363
  }
14438
15364
  //#endregion
14439
15365
  //#region src/components/file-upload/FileUpload.vue?vue&type=script&setup=true&lang.ts
14440
- var _hoisted_1$54 = [
15366
+ var _hoisted_1$57 = [
14441
15367
  "name",
14442
15368
  "accept",
14443
15369
  "multiple",
14444
15370
  "disabled"
14445
15371
  ];
14446
- var _hoisted_2$31 = [
15372
+ var _hoisted_2$34 = [
14447
15373
  "id",
14448
15374
  "aria-describedby",
14449
15375
  "aria-invalid",
@@ -14452,7 +15378,7 @@ var _hoisted_2$31 = [
14452
15378
  "aria-busy",
14453
15379
  "disabled"
14454
15380
  ];
14455
- var _hoisted_3$15 = ["src"];
15381
+ var _hoisted_3$17 = ["src"];
14456
15382
  //#endregion
14457
15383
  //#region src/components/file-upload/FileUpload.vue
14458
15384
  var FileUpload_default = /* @__PURE__ */ defineComponent({
@@ -14532,7 +15458,7 @@ var FileUpload_default = /* @__PURE__ */ defineComponent({
14532
15458
  multiple: props.multiple,
14533
15459
  disabled: unref(disabled),
14534
15460
  onChange: _cache[0] || (_cache[0] = (...args) => unref(onChange) && unref(onChange)(...args))
14535
- }, null, 40, _hoisted_1$54),
15461
+ }, null, 40, _hoisted_1$57),
14536
15462
  props.variant === "area" ? (openBlock(), createElementBlock("button", mergeProps({ key: 0 }, _ctx.$attrs, {
14537
15463
  type: "button",
14538
15464
  "data-hn-file-upload-area": "",
@@ -14556,7 +15482,7 @@ var FileUpload_default = /* @__PURE__ */ defineComponent({
14556
15482
  }, {
14557
15483
  default: withCtx(() => [renderSlot(_ctx.$slots, "icon", {}, () => [createVNode(unref(Upload), { "aria-hidden": "true" })])]),
14558
15484
  _: 3
14559
- }, 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, {
14560
15486
  id: unref(fieldId),
14561
15487
  "aria-describedby": unref(describedBy),
14562
15488
  "aria-invalid": unref(invalid) || void 0,
@@ -14588,7 +15514,7 @@ var FileUpload_default = /* @__PURE__ */ defineComponent({
14588
15514
  key: 0,
14589
15515
  src: unref(urls).get(file),
14590
15516
  alt: ""
14591
- }, null, 8, _hoisted_3$15)) : (openBlock(), createBlock(unref(File), {
15517
+ }, null, 8, _hoisted_3$17)) : (openBlock(), createBlock(unref(File), {
14592
15518
  key: 1,
14593
15519
  "aria-hidden": "true"
14594
15520
  }))], 2),
@@ -14951,8 +15877,8 @@ var AlertDialog_default = /* @__PURE__ */ defineComponent({
14951
15877
  });
14952
15878
  //#endregion
14953
15879
  //#region src/components/popconfirm/Popconfirm.vue?vue&type=script&setup=true&lang.ts
14954
- var _hoisted_1$53 = { class: "flex flex-col gap-0.5" };
14955
- 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" };
14956
15882
  //#endregion
14957
15883
  //#region src/components/popconfirm/Popconfirm.vue
14958
15884
  var Popconfirm_default = /* @__PURE__ */ defineComponent({
@@ -15038,7 +15964,7 @@ var Popconfirm_default = /* @__PURE__ */ defineComponent({
15038
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))
15039
15965
  }, {
15040
15966
  default: withCtx(() => [
15041
- createElementVNode("div", _hoisted_1$53, [createVNode(Text_default, {
15967
+ createElementVNode("div", _hoisted_1$56, [createVNode(Text_default, {
15042
15968
  id: unref(titleId),
15043
15969
  weight: "medium"
15044
15970
  }, {
@@ -15054,7 +15980,7 @@ var Popconfirm_default = /* @__PURE__ */ defineComponent({
15054
15980
  _: 1
15055
15981
  }, 8, ["id"])) : createCommentVNode("", true)]),
15056
15982
  renderSlot(_ctx.$slots, "content"),
15057
- createElementVNode("div", _hoisted_2$30, [createVNode(Button_default, {
15983
+ createElementVNode("div", _hoisted_2$33, [createVNode(Button_default, {
15058
15984
  size: "sm",
15059
15985
  variant: "soft",
15060
15986
  tone: "neutral",
@@ -15460,7 +16386,7 @@ var dropdownItem = tv({
15460
16386
  });
15461
16387
  //#endregion
15462
16388
  //#region src/components/context-menu/ContextMenuItem.vue?vue&type=script&setup=true&lang.ts
15463
- var _hoisted_1$52 = { class: "min-w-0 flex-1" };
16389
+ var _hoisted_1$55 = { class: "min-w-0 flex-1" };
15464
16390
  //#endregion
15465
16391
  //#region src/components/context-menu/ContextMenuItem.vue
15466
16392
  var ContextMenuItem_default = /* @__PURE__ */ defineComponent({
@@ -15486,7 +16412,7 @@ var ContextMenuItem_default = /* @__PURE__ */ defineComponent({
15486
16412
  }), {
15487
16413
  default: withCtx(() => [
15488
16414
  renderSlot(_ctx.$slots, "icon"),
15489
- createElementVNode("span", _hoisted_1$52, [renderSlot(_ctx.$slots, "default")]),
16415
+ createElementVNode("span", _hoisted_1$55, [renderSlot(_ctx.$slots, "default")]),
15490
16416
  renderSlot(_ctx.$slots, "trailing")
15491
16417
  ]),
15492
16418
  _: 3
@@ -15500,8 +16426,8 @@ var ContextMenuItem_default = /* @__PURE__ */ defineComponent({
15500
16426
  });
15501
16427
  //#endregion
15502
16428
  //#region src/components/context-menu/ContextMenuCheckboxItem.vue?vue&type=script&setup=true&lang.ts
15503
- var _hoisted_1$51 = { class: "min-w-0 flex-1" };
15504
- 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" };
15505
16431
  //#endregion
15506
16432
  //#region src/components/context-menu/ContextMenuCheckboxItem.vue
15507
16433
  var ContextMenuCheckboxItem_default = /* @__PURE__ */ defineComponent({
@@ -15533,9 +16459,9 @@ var ContextMenuCheckboxItem_default = /* @__PURE__ */ defineComponent({
15533
16459
  onSelect: _cache[1] || (_cache[1] = (event) => event.preventDefault())
15534
16460
  }), {
15535
16461
  default: withCtx(() => [
15536
- createElementVNode("span", _hoisted_1$51, [renderSlot(_ctx.$slots, "default")]),
16462
+ createElementVNode("span", _hoisted_1$54, [renderSlot(_ctx.$slots, "default")]),
15537
16463
  renderSlot(_ctx.$slots, "trailing"),
15538
- createElementVNode("span", _hoisted_2$29, [createVNode(unref(ContextMenuItemIndicator), null, {
16464
+ createElementVNode("span", _hoisted_2$32, [createVNode(unref(ContextMenuItemIndicator), null, {
15539
16465
  default: withCtx(() => [createVNode(unref(Check))]),
15540
16466
  _: 1
15541
16467
  })])
@@ -15568,7 +16494,7 @@ var ContextMenuGroup_default = /* @__PURE__ */ defineComponent({
15568
16494
  });
15569
16495
  //#endregion
15570
16496
  //#region src/components/context-menu/ContextMenuSub.vue?vue&type=script&setup=true&lang.ts
15571
- var _hoisted_1$50 = { class: "min-w-0 flex-1" };
16497
+ var _hoisted_1$53 = { class: "min-w-0 flex-1" };
15572
16498
  //#endregion
15573
16499
  //#region src/components/context-menu/ContextMenuSub.vue
15574
16500
  var ContextMenuSub_default = /* @__PURE__ */ defineComponent({
@@ -15599,7 +16525,7 @@ var ContextMenuSub_default = /* @__PURE__ */ defineComponent({
15599
16525
  }, {
15600
16526
  default: withCtx(() => [
15601
16527
  renderSlot(_ctx.$slots, "icon"),
15602
- 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)])]),
15603
16529
  createVNode(unref(ChevronRight), { class: "text-muted" })
15604
16530
  ]),
15605
16531
  _: 3
@@ -15682,8 +16608,8 @@ var ContextMenuRadioGroup_default = /* @__PURE__ */ defineComponent({
15682
16608
  });
15683
16609
  //#endregion
15684
16610
  //#region src/components/context-menu/ContextMenuRadioItem.vue?vue&type=script&setup=true&lang.ts
15685
- var _hoisted_1$49 = { class: "min-w-0 flex-1" };
15686
- 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" };
15687
16613
  //#endregion
15688
16614
  //#region src/components/context-menu/ContextMenuRadioItem.vue
15689
16615
  var ContextMenuRadioItem_default = /* @__PURE__ */ defineComponent({
@@ -15705,7 +16631,7 @@ var ContextMenuRadioItem_default = /* @__PURE__ */ defineComponent({
15705
16631
  "text-value": props.textValue,
15706
16632
  class: unref(cn)(unref(dropdownItem)(), props.class)
15707
16633
  }), {
15708
- 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, {
15709
16635
  default: withCtx(() => [createVNode(unref(Check), { class: "size-4" })]),
15710
16636
  _: 1
15711
16637
  })])]),
@@ -15826,21 +16752,21 @@ var sheetHandle = tv({
15826
16752
  });
15827
16753
  //#endregion
15828
16754
  //#region src/components/sheet/Sheet.vue?vue&type=script&setup=true&lang.ts
15829
- var _hoisted_1$48 = ["data-dragging"];
15830
- var _hoisted_2$27 = ["data-disabled"];
15831
- var _hoisted_3$14 = {
16755
+ var _hoisted_1$51 = ["data-dragging"];
16756
+ var _hoisted_2$30 = ["data-disabled"];
16757
+ var _hoisted_3$16 = {
15832
16758
  key: 1,
15833
16759
  class: "flex items-start justify-between gap-4 px-(--hn-panel-p)"
15834
16760
  };
15835
- var _hoisted_4$13 = { class: "flex min-w-0 flex-col gap-1.5" };
15836
- var _hoisted_5$10 = { class: "flex min-w-0 items-center gap-2" };
15837
- 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 = {
15838
16764
  key: 0,
15839
16765
  class: "text-muted flex shrink-0 [&_svg]:size-5",
15840
16766
  "aria-hidden": "true"
15841
16767
  };
15842
- var _hoisted_7$3 = { class: "px-(--hn-panel-p) py-1" };
15843
- var _hoisted_8$1 = {
16768
+ var _hoisted_7$4 = { class: "px-(--hn-panel-p) py-1" };
16769
+ var _hoisted_8$2 = {
15844
16770
  key: 1,
15845
16771
  class: "flex shrink-0 justify-end gap-(--hn-inline-gap) px-(--hn-panel-p)"
15846
16772
  };
@@ -15954,7 +16880,7 @@ var Sheet_default = /* @__PURE__ */ defineComponent({
15954
16880
  "aria-hidden": "true",
15955
16881
  "data-disabled": props.locked ? "" : void 0,
15956
16882
  class: normalizeClass(unref(sheetHandle)({ header: props.header && !slots.body }))
15957
- }, 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": "" }, {
15958
16884
  default: withCtx(() => [createVNode(Heading_default, {
15959
16885
  level: 2,
15960
16886
  size: "lg",
@@ -15982,16 +16908,16 @@ var Sheet_default = /* @__PURE__ */ defineComponent({
15982
16908
  class: "-mt-1.5 -me-1.5 shrink-0"
15983
16909
  }, null, 8, ["disabled"])]),
15984
16910
  _: 1
15985
- })) : createCommentVNode("", true)])) : createCommentVNode("", true)], 42, _hoisted_1$48)) : createCommentVNode("", true),
16911
+ })) : createCommentVNode("", true)])) : createCommentVNode("", true)], 42, _hoisted_1$51)) : createCommentVNode("", true),
15986
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, {
15987
16913
  key: 0,
15988
16914
  ref_key: "scrollArea",
15989
16915
  ref: scrollArea,
15990
16916
  class: "min-h-0 grow"
15991
16917
  }, {
15992
- 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 })])]),
15993
16919
  _: 3
15994
- }, 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))
15995
16921
  ]),
15996
16922
  _: 3
15997
16923
  }, 16, [
@@ -16021,7 +16947,7 @@ var panelBody = tv({
16021
16947
  });
16022
16948
  //#endregion
16023
16949
  //#region src/components/panel/Panel.vue?vue&type=script&setup=true&lang.ts
16024
- 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" };
16025
16951
  //#endregion
16026
16952
  //#region src/components/panel/Panel.vue
16027
16953
  var Panel_default = /* @__PURE__ */ defineComponent({
@@ -16047,7 +16973,7 @@ var Panel_default = /* @__PURE__ */ defineComponent({
16047
16973
  padded: false,
16048
16974
  class: normalizeClass(unref(cn)("flex flex-col", props.class))
16049
16975
  }, {
16050
- 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)()) }, [
16051
16977
  unref(slots).icon ? (openBlock(), createElementBlock("span", {
16052
16978
  key: 0,
16053
16979
  class: normalizeClass(unref(panelIcon)()),
@@ -16147,7 +17073,7 @@ var progressBar = tv({
16147
17073
  });
16148
17074
  //#endregion
16149
17075
  //#region src/components/progress/Progress.vue?vue&type=script&setup=true&lang.ts
16150
- var _hoisted_1$46 = { key: 0 };
17076
+ var _hoisted_1$49 = { key: 0 };
16151
17077
  //#endregion
16152
17078
  //#region src/components/progress/Progress.vue
16153
17079
  var Progress_default = /* @__PURE__ */ defineComponent({
@@ -16183,7 +17109,7 @@ var Progress_default = /* @__PURE__ */ defineComponent({
16183
17109
  }, [props.label || props.showValue && unref(text) ? (openBlock(), createElementBlock("div", {
16184
17110
  key: 0,
16185
17111
  class: normalizeClass(unref(progressHeader)())
16186
- }, [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", {
16187
17113
  key: 1,
16188
17114
  class: normalizeClass(unref(progressValue)())
16189
17115
  }, toDisplayString(unref(text)), 3)) : createCommentVNode("", true)], 2)) : createCommentVNode("", true), createVNode(unref(ProgressRoot), mergeProps(_ctx.$attrs, {
@@ -16235,7 +17161,7 @@ var ringProgressCenter = tv({ base: "text-fg absolute inset-0 flex items-center
16235
17161
  var ringProgressLabel = tv({ base: "text-muted text-sm" });
16236
17162
  //#endregion
16237
17163
  //#region src/components/ring-progress/RingProgress.vue?vue&type=script&setup=true&lang.ts
16238
- var _hoisted_1$45 = ["stroke-dashoffset", "stroke-linecap"];
17164
+ var _hoisted_1$48 = ["stroke-dashoffset", "stroke-linecap"];
16239
17165
  //#endregion
16240
17166
  //#region src/components/ring-progress/RingProgress.vue
16241
17167
  var RingProgress_default = /* @__PURE__ */ defineComponent({
@@ -16299,7 +17225,7 @@ var RingProgress_default = /* @__PURE__ */ defineComponent({
16299
17225
  "stroke-dashoffset": offset.value,
16300
17226
  "stroke-linecap": offset.value < 100 ? "round" : void 0,
16301
17227
  class: normalizeClass(unref(ringProgressArc)({ tone: props.tone }))
16302
- }, 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", {
16303
17229
  key: 0,
16304
17230
  class: normalizeClass(unref(ringProgressCenter)())
16305
17231
  }, [renderSlot(_ctx.$slots, "default", {}, () => [createTextVNode(toDisplayString(unref(text)), 1)])], 2)) : createCommentVNode("", true)]),
@@ -16351,8 +17277,8 @@ function toneAt(index) {
16351
17277
  }
16352
17278
  //#endregion
16353
17279
  //#region src/components/meter-group/MeterGroup.vue?vue&type=script&setup=true&lang.ts
16354
- var _hoisted_1$44 = ["aria-label"];
16355
- var _hoisted_2$26 = [
17280
+ var _hoisted_1$47 = ["aria-label"];
17281
+ var _hoisted_2$29 = [
16356
17282
  "aria-label",
16357
17283
  "aria-valuenow",
16358
17284
  "aria-valuemax",
@@ -16423,8 +17349,8 @@ var MeterGroup_default = /* @__PURE__ */ defineComponent({
16423
17349
  "aria-valuetext": props.format ? entry.text : void 0,
16424
17350
  class: normalizeClass(unref(meterSegment)({ tone: entry.tone })),
16425
17351
  style: normalizeStyle({ width: entry.width })
16426
- }, null, 14, _hoisted_2$26);
16427
- }), 128))], 16, _hoisted_1$44),
17352
+ }, null, 14, _hoisted_2$29);
17353
+ }), 128))], 16, _hoisted_1$47),
16428
17354
  props.legend ? (openBlock(), createElementBlock("div", {
16429
17355
  key: 1,
16430
17356
  class: normalizeClass(unref(meterLegend)())
@@ -16487,7 +17413,7 @@ var emptyDescription = tv({
16487
17413
  var emptyActions = tv({ base: "flex flex-wrap items-center justify-center gap-2" });
16488
17414
  //#endregion
16489
17415
  //#region src/components/empty/Empty.vue?vue&type=script&setup=true&lang.ts
16490
- var _hoisted_1$43 = {
17416
+ var _hoisted_1$46 = {
16491
17417
  key: 0,
16492
17418
  "aria-hidden": "true",
16493
17419
  class: "flex shrink-0 justify-center"
@@ -16515,7 +17441,7 @@ var Empty_default = /* @__PURE__ */ defineComponent({
16515
17441
  "data-hn-empty": "",
16516
17442
  class: normalizeClass(unref(cn)(unref(empty)({ size: props.size }), props.class))
16517
17443
  }, [
16518
- 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", {
16519
17445
  key: 1,
16520
17446
  "aria-hidden": "true",
16521
17447
  class: normalizeClass(unref(emptyIcon)({ size: props.size }))
@@ -16613,7 +17539,7 @@ var Result_default = /* @__PURE__ */ defineComponent({
16613
17539
  });
16614
17540
  //#endregion
16615
17541
  //#region src/components/number-format/NumberFormat.vue?vue&type=script&setup=true&lang.ts
16616
- var _hoisted_1$42 = ["title"];
17542
+ var _hoisted_1$45 = ["title"];
16617
17543
  //#endregion
16618
17544
  //#region src/components/number-format/NumberFormat.vue
16619
17545
  var NumberFormat_default = /* @__PURE__ */ defineComponent({
@@ -16649,7 +17575,7 @@ var NumberFormat_default = /* @__PURE__ */ defineComponent({
16649
17575
  return openBlock(), createElementBlock("span", {
16650
17576
  title: full.value,
16651
17577
  class: normalizeClass(unref(cn)(props.class))
16652
- }, toDisplayString(text.value), 11, _hoisted_1$42);
17578
+ }, toDisplayString(text.value), 11, _hoisted_1$45);
16653
17579
  };
16654
17580
  }
16655
17581
  });
@@ -16680,8 +17606,8 @@ var statisticDelta = tv({
16680
17606
  var statisticIcon = tv({ base: "bg-subtle text-muted flex size-10 shrink-0 items-center justify-center rounded-md [&_svg]:size-5" });
16681
17607
  //#endregion
16682
17608
  //#region src/components/statistic/Statistic.vue?vue&type=script&setup=true&lang.ts
16683
- var _hoisted_1$41 = { key: 2 };
16684
- var _hoisted_2$25 = {
17609
+ var _hoisted_1$44 = { key: 2 };
17610
+ var _hoisted_2$28 = {
16685
17611
  key: 2,
16686
17612
  class: "text-muted"
16687
17613
  };
@@ -16752,7 +17678,7 @@ var Statistic_default = /* @__PURE__ */ defineComponent({
16752
17678
  "format",
16753
17679
  "currency",
16754
17680
  "precision"
16755
- ])) : (openBlock(), createElementBlock("span", _hoisted_1$41, toDisplayString(props.value ?? "—"), 1)),
17681
+ ])) : (openBlock(), createElementBlock("span", _hoisted_1$44, toDisplayString(props.value ?? "—"), 1)),
16756
17682
  props.suffix ? (openBlock(), createElementBlock("span", {
16757
17683
  key: 3,
16758
17684
  class: normalizeClass(unref(statisticAffix)())
@@ -16773,7 +17699,7 @@ var Statistic_default = /* @__PURE__ */ defineComponent({
16773
17699
  "aria-hidden": "true"
16774
17700
  })) : createCommentVNode("", true),
16775
17701
  createElementVNode("span", null, toDisplayString(deltaText.value), 1),
16776
- 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)
16777
17703
  ], 64))], 2)) : createCommentVNode("", true),
16778
17704
  renderSlot(_ctx.$slots, "default")
16779
17705
  ], 2), unref(slots).icon ? (openBlock(), createElementBlock("span", {
@@ -16851,14 +17777,14 @@ function stepBetween(previous, next, count) {
16851
17777
  }
16852
17778
  //#endregion
16853
17779
  //#region src/components/banner/Banner.vue?vue&type=script&setup=true&lang.ts
16854
- var _hoisted_1$40 = {
17780
+ var _hoisted_1$43 = {
16855
17781
  key: 0,
16856
17782
  "data-hn-banner": "",
16857
17783
  class: "hn-collapse w-full"
16858
17784
  };
16859
- var _hoisted_2$24 = { class: "hn-collapse-body" };
16860
- var _hoisted_3$13 = ["data-tone"];
16861
- 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"];
16862
17788
  //#endregion
16863
17789
  //#region src/components/banner/Banner.vue
16864
17790
  var Banner_default = /* @__PURE__ */ defineComponent({
@@ -16922,7 +17848,7 @@ var Banner_default = /* @__PURE__ */ defineComponent({
16922
17848
  "leave-from-class": "hn-collapse-open",
16923
17849
  "leave-to-class": "hn-collapse-closed"
16924
17850
  }, toHandlers(unref(hooks))), {
16925
- 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", {
16926
17852
  "data-tone": tone.value,
16927
17853
  class: normalizeClass(unref(cn)(unref(banner)({ tone: tone.value }), props.class)),
16928
17854
  onPointerenter: _cache[2] || (_cache[2] = ($event) => unref(autoplay).hovered.value = true),
@@ -16952,7 +17878,7 @@ var Banner_default = /* @__PURE__ */ defineComponent({
16952
17878
  index: at.value
16953
17879
  })], 2))]),
16954
17880
  _: 3
16955
- }, 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), {
16956
17882
  key: 0,
16957
17883
  class: normalizeClass(unref(bannerIcon)()),
16958
17884
  "aria-hidden": "true"
@@ -16995,7 +17921,7 @@ var Banner_default = /* @__PURE__ */ defineComponent({
16995
17921
  size: "sm",
16996
17922
  class: "text-current",
16997
17923
  onClick: close
16998
- })) : createCommentVNode("", true)], 2)) : createCommentVNode("", true)], 42, _hoisted_3$13)])])) : createCommentVNode("", true)]),
17924
+ })) : createCommentVNode("", true)], 2)) : createCommentVNode("", true)], 42, _hoisted_3$15)])])) : createCommentVNode("", true)]),
16999
17925
  _: 3
17000
17926
  }, 16);
17001
17927
  };
@@ -17102,7 +18028,7 @@ var MenubarMenu_default = /* @__PURE__ */ defineComponent({
17102
18028
  });
17103
18029
  //#endregion
17104
18030
  //#region src/components/menubar/MenubarItem.vue?vue&type=script&setup=true&lang.ts
17105
- var _hoisted_1$39 = { class: "min-w-0 flex-1" };
18031
+ var _hoisted_1$42 = { class: "min-w-0 flex-1" };
17106
18032
  //#endregion
17107
18033
  //#region src/components/menubar/MenubarItem.vue
17108
18034
  var MenubarItem_default = /* @__PURE__ */ defineComponent({
@@ -17128,7 +18054,7 @@ var MenubarItem_default = /* @__PURE__ */ defineComponent({
17128
18054
  }), {
17129
18055
  default: withCtx(() => [
17130
18056
  renderSlot(_ctx.$slots, "icon"),
17131
- createElementVNode("span", _hoisted_1$39, [renderSlot(_ctx.$slots, "default")]),
18057
+ createElementVNode("span", _hoisted_1$42, [renderSlot(_ctx.$slots, "default")]),
17132
18058
  renderSlot(_ctx.$slots, "trailing")
17133
18059
  ]),
17134
18060
  _: 3
@@ -17142,8 +18068,8 @@ var MenubarItem_default = /* @__PURE__ */ defineComponent({
17142
18068
  });
17143
18069
  //#endregion
17144
18070
  //#region src/components/menubar/MenubarCheckboxItem.vue?vue&type=script&setup=true&lang.ts
17145
- var _hoisted_1$38 = { class: "min-w-0 flex-1" };
17146
- 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" };
17147
18073
  //#endregion
17148
18074
  //#region src/components/menubar/MenubarCheckboxItem.vue
17149
18075
  var MenubarCheckboxItem_default = /* @__PURE__ */ defineComponent({
@@ -17175,9 +18101,9 @@ var MenubarCheckboxItem_default = /* @__PURE__ */ defineComponent({
17175
18101
  onSelect: _cache[1] || (_cache[1] = (event) => event.preventDefault())
17176
18102
  }), {
17177
18103
  default: withCtx(() => [
17178
- createElementVNode("span", _hoisted_1$38, [renderSlot(_ctx.$slots, "default")]),
18104
+ createElementVNode("span", _hoisted_1$41, [renderSlot(_ctx.$slots, "default")]),
17179
18105
  renderSlot(_ctx.$slots, "trailing"),
17180
- createElementVNode("span", _hoisted_2$23, [createVNode(unref(MenubarItemIndicator), null, {
18106
+ createElementVNode("span", _hoisted_2$26, [createVNode(unref(MenubarItemIndicator), null, {
17181
18107
  default: withCtx(() => [createVNode(unref(Check))]),
17182
18108
  _: 1
17183
18109
  })])
@@ -17210,7 +18136,7 @@ var MenubarGroup_default = /* @__PURE__ */ defineComponent({
17210
18136
  });
17211
18137
  //#endregion
17212
18138
  //#region src/components/menubar/MenubarSub.vue?vue&type=script&setup=true&lang.ts
17213
- var _hoisted_1$37 = { class: "min-w-0 flex-1" };
18139
+ var _hoisted_1$40 = { class: "min-w-0 flex-1" };
17214
18140
  //#endregion
17215
18141
  //#region src/components/menubar/MenubarSub.vue
17216
18142
  var MenubarSub_default = /* @__PURE__ */ defineComponent({
@@ -17241,7 +18167,7 @@ var MenubarSub_default = /* @__PURE__ */ defineComponent({
17241
18167
  }, {
17242
18168
  default: withCtx(() => [
17243
18169
  renderSlot(_ctx.$slots, "icon"),
17244
- 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)])]),
17245
18171
  createVNode(unref(ChevronRight), { class: "text-muted" })
17246
18172
  ]),
17247
18173
  _: 3
@@ -17324,8 +18250,8 @@ var MenubarRadioGroup_default = /* @__PURE__ */ defineComponent({
17324
18250
  });
17325
18251
  //#endregion
17326
18252
  //#region src/components/menubar/MenubarRadioItem.vue?vue&type=script&setup=true&lang.ts
17327
- var _hoisted_1$36 = { class: "min-w-0 flex-1" };
17328
- 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" };
17329
18255
  //#endregion
17330
18256
  //#region src/components/menubar/MenubarRadioItem.vue
17331
18257
  var MenubarRadioItem_default = /* @__PURE__ */ defineComponent({
@@ -17347,7 +18273,7 @@ var MenubarRadioItem_default = /* @__PURE__ */ defineComponent({
17347
18273
  "text-value": props.textValue,
17348
18274
  class: unref(cn)(unref(dropdownItem)(), props.class)
17349
18275
  }), {
17350
- 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, {
17351
18277
  default: withCtx(() => [createVNode(unref(Check), { class: "size-4" })]),
17352
18278
  _: 1
17353
18279
  })])]),
@@ -17539,7 +18465,7 @@ function focusFirstInvalid(root) {
17539
18465
  }
17540
18466
  //#endregion
17541
18467
  //#region src/components/form/Form.vue?vue&type=script&setup=true&lang.ts
17542
- var _hoisted_1$35 = ["aria-busy"];
18468
+ var _hoisted_1$38 = ["aria-busy"];
17543
18469
  //#endregion
17544
18470
  //#region src/components/form/Form.vue
17545
18471
  var Form_default = /* @__PURE__ */ defineComponent({
@@ -17595,7 +18521,7 @@ var Form_default = /* @__PURE__ */ defineComponent({
17595
18521
  invalid: unref(form).invalid.value,
17596
18522
  submitting: unref(form).submitting.value,
17597
18523
  submitted: unref(form).submitted.value
17598
- })], 42, _hoisted_1$35);
18524
+ })], 42, _hoisted_1$38);
17599
18525
  };
17600
18526
  }
17601
18527
  });
@@ -17656,21 +18582,21 @@ var formFieldDescription = tv({ base: "text-muted text-sm" });
17656
18582
  var formFieldMessage = tv({ base: "text-danger-text text-sm" });
17657
18583
  //#endregion
17658
18584
  //#region src/components/form-field/FormField.vue?vue&type=script&setup=true&lang.ts
17659
- var _hoisted_1$34 = [
18585
+ var _hoisted_1$37 = [
17660
18586
  "data-invalid",
17661
18587
  "data-disabled",
17662
18588
  "data-orientation"
17663
18589
  ];
17664
- var _hoisted_2$21 = ["id", "for"];
17665
- var _hoisted_3$12 = ["id"];
17666
- var _hoisted_4$11 = ["id"];
17667
- 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 = {
17668
18594
  key: 0,
17669
18595
  "data-hn-form-field-message": "",
17670
18596
  class: "hn-collapse [--hn-collapse-out:var(--hn-duration-fast)]"
17671
18597
  };
17672
- var _hoisted_6$5 = { class: "hn-collapse-body" };
17673
- var _hoisted_7$2 = ["id"];
18598
+ var _hoisted_6$6 = { class: "hn-collapse-body" };
18599
+ var _hoisted_7$3 = ["id"];
17674
18600
  //#endregion
17675
18601
  //#region src/components/form-field/FormField.vue
17676
18602
  var FormField_default = /* @__PURE__ */ defineComponent({
@@ -17764,11 +18690,11 @@ var FormField_default = /* @__PURE__ */ defineComponent({
17764
18690
  default: withCtx(() => [createTextVNode(toDisplayString(unref(t).form.required), 1)]),
17765
18691
  _: 1
17766
18692
  })) : createCommentVNode("", true)
17767
- ], 10, _hoisted_2$21)) : createCommentVNode("", true), descriptionWithLabel.value ? (openBlock(), createElementBlock("p", {
18693
+ ], 10, _hoisted_2$24)) : createCommentVNode("", true), descriptionWithLabel.value ? (openBlock(), createElementBlock("p", {
17768
18694
  key: 1,
17769
18695
  id: unref(descriptionId),
17770
18696
  class: normalizeClass(unref(formFieldDescription)())
17771
- }, [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", {
17772
18698
  "data-hn-form-field-body": "",
17773
18699
  class: normalizeClass(unref(formFieldContent)())
17774
18700
  }, [
@@ -17780,21 +18706,21 @@ var FormField_default = /* @__PURE__ */ defineComponent({
17780
18706
  key: 0,
17781
18707
  id: unref(descriptionId),
17782
18708
  class: normalizeClass(unref(formFieldDescription)())
17783
- }, [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),
17784
18710
  createVNode(Transition, mergeProps({
17785
18711
  "enter-from-class": "hn-collapse-closed",
17786
18712
  "enter-to-class": "hn-collapse-open",
17787
18713
  "leave-from-class": "hn-collapse-open",
17788
18714
  "leave-to-class": "hn-collapse-closed"
17789
18715
  }, toHandlers(unref(hooks))), {
17790
- 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", {
17791
18717
  id: unref(messageId),
17792
18718
  class: normalizeClass(unref(formFieldMessage)()),
17793
18719
  "aria-live": "polite"
17794
- }, toDisplayString(message.value), 11, _hoisted_7$2)])])) : createCommentVNode("", true)]),
18720
+ }, toDisplayString(message.value), 11, _hoisted_7$3)])])) : createCommentVNode("", true)]),
17795
18721
  _: 1
17796
18722
  }, 16)
17797
- ], 2)], 2)], 46, _hoisted_1$34);
18723
+ ], 2)], 2)], 46, _hoisted_1$37);
17798
18724
  };
17799
18725
  }
17800
18726
  });
@@ -17818,8 +18744,8 @@ var formLayoutGrid = tv({
17818
18744
  });
17819
18745
  //#endregion
17820
18746
  //#region src/components/form-layout/FormLayout.vue?vue&type=script&setup=true&lang.ts
17821
- var _hoisted_1$33 = ["disabled", "aria-describedby"];
17822
- var _hoisted_2$20 = ["id"];
18747
+ var _hoisted_1$36 = ["disabled", "aria-describedby"];
18748
+ var _hoisted_2$23 = ["id"];
17823
18749
  //#endregion
17824
18750
  //#region src/components/form-layout/FormLayout.vue
17825
18751
  var FormLayout_default = /* @__PURE__ */ defineComponent({
@@ -17864,12 +18790,12 @@ var FormLayout_default = /* @__PURE__ */ defineComponent({
17864
18790
  key: 1,
17865
18791
  id: unref(descriptionId),
17866
18792
  class: normalizeClass(unref(formLayoutDescription)())
17867
- }, [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),
17868
18794
  createElementVNode("div", { class: normalizeClass(unref(formLayoutGrid)({
17869
18795
  columns: props.columns,
17870
18796
  headed: headed.value || described.value
17871
18797
  })) }, [renderSlot(_ctx.$slots, "default")], 2)
17872
- ], 10, _hoisted_1$33);
18798
+ ], 10, _hoisted_1$36);
17873
18799
  };
17874
18800
  }
17875
18801
  });
@@ -18202,7 +19128,7 @@ var Code_default = /* @__PURE__ */ defineComponent({
18202
19128
  });
18203
19129
  //#endregion
18204
19130
  //#region src/components/blockquote/Blockquote.vue?vue&type=script&setup=true&lang.ts
18205
- var _hoisted_1$32 = {
19131
+ var _hoisted_1$35 = {
18206
19132
  key: 0,
18207
19133
  class: "text-faint mt-2 text-sm"
18208
19134
  };
@@ -18218,7 +19144,7 @@ var Blockquote_default = /* @__PURE__ */ defineComponent({
18218
19144
  setup(__props) {
18219
19145
  const props = __props;
18220
19146
  return (_ctx, _cache) => {
18221
- 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);
18222
19148
  };
18223
19149
  }
18224
19150
  });
@@ -18343,10 +19269,10 @@ var codeBlockActions = tv({ base: "absolute top-2 end-2 flex items-center gap-2"
18343
19269
  var codeBlockLabel = tv({ base: "text-faint font-mono text-xs select-none" });
18344
19270
  //#endregion
18345
19271
  //#region src/components/code-block/CodeBlock.vue?vue&type=script&setup=true&lang.ts
18346
- var _hoisted_1$31 = ["data-lang"];
18347
- var _hoisted_2$19 = ["innerHTML"];
18348
- var _hoisted_3$11 = { key: 1 };
18349
- 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 };
18350
19276
  //#endregion
18351
19277
  //#region src/components/code-block/CodeBlock.vue
18352
19278
  var CodeBlock_default = /* @__PURE__ */ defineComponent({
@@ -18381,14 +19307,14 @@ var CodeBlock_default = /* @__PURE__ */ defineComponent({
18381
19307
  default: withCtx(() => [createElementVNode("pre", { class: normalizeClass(unref(codeBlockContent)()) }, [props.html ? (openBlock(), createElementBlock("code", {
18382
19308
  key: 0,
18383
19309
  innerHTML: props.html
18384
- }, 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) => {
18385
19311
  return openBlock(), createElementBlock(Fragment, { key: i }, [createTextVNode(toDisplayString(i ? "\n" : ""), 1), (openBlock(true), createElementBlock(Fragment, null, renderList(line, (tk, j) => {
18386
19312
  return openBlock(), createElementBlock("span", {
18387
19313
  key: j,
18388
19314
  style: normalizeStyle(tk.htmlStyle)
18389
19315
  }, toDisplayString(tk.content), 5);
18390
19316
  }), 128))], 64);
18391
- }), 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)]),
18392
19318
  _: 1
18393
19319
  }, 8, ["label", "class"]), createElementVNode("div", { class: normalizeClass(unref(codeBlockActions)()) }, [tag.value ? (openBlock(), createElementBlock("span", {
18394
19320
  key: 0,
@@ -18397,7 +19323,7 @@ var CodeBlock_default = /* @__PURE__ */ defineComponent({
18397
19323
  key: 1,
18398
19324
  text: props.code,
18399
19325
  label: unref(t).codeblock.copy
18400
- }, null, 8, ["text", "label"])) : createCommentVNode("", true)], 2)], 10, _hoisted_1$31);
19326
+ }, null, 8, ["text", "label"])) : createCommentVNode("", true)], 2)], 10, _hoisted_1$34);
18401
19327
  };
18402
19328
  }
18403
19329
  });
@@ -18515,7 +19441,7 @@ function useNow(active, intervalMs = 3e4) {
18515
19441
  }
18516
19442
  //#endregion
18517
19443
  //#region src/components/time/Time.vue?vue&type=script&setup=true&lang.ts
18518
- var _hoisted_1$30 = ["datetime", "title"];
19444
+ var _hoisted_1$33 = ["datetime", "title"];
18519
19445
  //#endregion
18520
19446
  //#region src/components/time/Time.vue
18521
19447
  var Time_default = /* @__PURE__ */ defineComponent({
@@ -18559,7 +19485,7 @@ var Time_default = /* @__PURE__ */ defineComponent({
18559
19485
  datetime: date.value.toISOString(),
18560
19486
  title: __props.format === "relative" ? absolute.value : void 0,
18561
19487
  class: normalizeClass(unref(cn)(props.class))
18562
- }, toDisplayString(text.value), 11, _hoisted_1$30)) : (openBlock(), createElementBlock("span", {
19488
+ }, toDisplayString(text.value), 11, _hoisted_1$33)) : (openBlock(), createElementBlock("span", {
18563
19489
  key: 1,
18564
19490
  class: normalizeClass(unref(cn)(props.class))
18565
19491
  }, toDisplayString(text.value), 3));
@@ -18992,7 +19918,7 @@ var AspectRatio_default = /* @__PURE__ */ defineComponent({
18992
19918
  });
18993
19919
  //#endregion
18994
19920
  //#region src/components/divider/Divider.vue?vue&type=script&setup=true&lang.ts
18995
- var _hoisted_1$29 = { class: "text-faint shrink-0 text-sm" };
19921
+ var _hoisted_1$32 = { class: "text-faint shrink-0 text-sm" };
18996
19922
  //#endregion
18997
19923
  //#region src/components/divider/Divider.vue
18998
19924
  var Divider_default = /* @__PURE__ */ defineComponent({
@@ -19018,7 +19944,7 @@ var Divider_default = /* @__PURE__ */ defineComponent({
19018
19944
  decorative: "",
19019
19945
  class: "bg-line h-px flex-1"
19020
19946
  }),
19021
- createElementVNode("span", _hoisted_1$29, [renderSlot(_ctx.$slots, "default")]),
19947
+ createElementVNode("span", _hoisted_1$32, [renderSlot(_ctx.$slots, "default")]),
19022
19948
  createVNode(unref(Separator), {
19023
19949
  decorative: "",
19024
19950
  class: "bg-line h-px flex-1"
@@ -19278,7 +20204,7 @@ var AccordionItem_default = /* @__PURE__ */ defineComponent({
19278
20204
  });
19279
20205
  //#endregion
19280
20206
  //#region src/components/accordion/AccordionTrigger.vue?vue&type=script&setup=true&lang.ts
19281
- var _hoisted_1$28 = { class: "min-w-0 flex-1" };
20207
+ var _hoisted_1$31 = { class: "min-w-0 flex-1" };
19282
20208
  //#endregion
19283
20209
  //#region src/components/accordion/AccordionTrigger.vue
19284
20210
  var AccordionTrigger_default = /* @__PURE__ */ defineComponent({
@@ -19303,7 +20229,7 @@ var AccordionTrigger_default = /* @__PURE__ */ defineComponent({
19303
20229
  default: withCtx(() => [createVNode(unref(AccordionTrigger), { class: normalizeClass(unref(cn)(unref(accordionTrigger)(), props.class)) }, {
19304
20230
  default: withCtx(() => [
19305
20231
  createVNode(Ripple_default),
19306
- createElementVNode("span", _hoisted_1$28, [renderSlot(_ctx.$slots, "default")]),
20232
+ createElementVNode("span", _hoisted_1$31, [renderSlot(_ctx.$slots, "default")]),
19307
20233
  props.icon ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [!slots.icon ? (openBlock(), createBlock(DisclosureIcon_default, { key: 0 })) : (openBlock(), createBlock(DisclosureIcon_default, { key: 1 }, {
19308
20234
  default: withCtx(() => [renderSlot(_ctx.$slots, "icon")]),
19309
20235
  _: 3
@@ -19318,7 +20244,7 @@ var AccordionTrigger_default = /* @__PURE__ */ defineComponent({
19318
20244
  });
19319
20245
  //#endregion
19320
20246
  //#region src/components/accordion/AccordionContent.vue?vue&type=script&setup=true&lang.ts
19321
- var _hoisted_1$27 = { class: "pb-4" };
20247
+ var _hoisted_1$30 = { class: "pb-4" };
19322
20248
  //#endregion
19323
20249
  //#region src/components/accordion/AccordionContent.vue
19324
20250
  var AccordionContent_default = /* @__PURE__ */ defineComponent({
@@ -19334,7 +20260,7 @@ var AccordionContent_default = /* @__PURE__ */ defineComponent({
19334
20260
  ref: content,
19335
20261
  class: normalizeClass(unref(cn)(unref(accordionContent)(), props.class))
19336
20262
  }, {
19337
- default: withCtx(() => [createElementVNode("div", _hoisted_1$27, [renderSlot(_ctx.$slots, "default")])]),
20263
+ default: withCtx(() => [createElementVNode("div", _hoisted_1$30, [renderSlot(_ctx.$slots, "default")])]),
19338
20264
  _: 3
19339
20265
  }, 8, ["class"]);
19340
20266
  };
@@ -19367,7 +20293,7 @@ var navLink = tv({
19367
20293
  var navLinkLabel = tv({ base: "hn-sidebar-label shrink-0 whitespace-nowrap" });
19368
20294
  //#endregion
19369
20295
  //#region src/components/nav-link/NavLink.vue?vue&type=script&setup=true&lang.ts
19370
- var _hoisted_1$26 = [
20296
+ var _hoisted_1$29 = [
19371
20297
  "aria-hidden",
19372
20298
  "inert",
19373
20299
  "data-collapsed"
@@ -19420,7 +20346,7 @@ var NavLink_default = /* @__PURE__ */ defineComponent({
19420
20346
  "data-collapsed": rail.value ? "" : void 0,
19421
20347
  "data-hn-label": "",
19422
20348
  class: normalizeClass(unref(navLinkLabel)())
19423
- }, [renderSlot(_ctx.$slots, "default")], 10, _hoisted_1$26)]),
20349
+ }, [renderSlot(_ctx.$slots, "default")], 10, _hoisted_1$29)]),
19424
20350
  _: 3
19425
20351
  }, 16, [
19426
20352
  "as",
@@ -19494,11 +20420,11 @@ var SidebarLabel_default = /* @__PURE__ */ defineComponent({
19494
20420
  });
19495
20421
  //#endregion
19496
20422
  //#region src/components/sidebar/Sidebar.vue?vue&type=script&setup=true&lang.ts
19497
- var _hoisted_1$25 = ["data-state", "inert"];
19498
- var _hoisted_2$18 = { class: "min-w-0 flex-1" };
19499
- var _hoisted_3$10 = ["data-state", "inert"];
19500
- var _hoisted_4$9 = { class: "hn-collapse-body" };
19501
- 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"];
19502
20428
  //#endregion
19503
20429
  //#region src/components/sidebar/Sidebar.vue
19504
20430
  var Sidebar_default = /* @__PURE__ */ defineComponent({
@@ -19528,7 +20454,7 @@ var Sidebar_default = /* @__PURE__ */ defineComponent({
19528
20454
  _ctx.$slots.header ? (openBlock(), createElementBlock("div", {
19529
20455
  key: 0,
19530
20456
  class: normalizeClass(unref(cn)(unref(sidebarRegion)({ inDrawer: inDrawer.value }), "flex items-center gap-2"))
19531
- }, [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, {
19532
20458
  key: 0,
19533
20459
  class: "shrink-0",
19534
20460
  onClick: _cache[0] || (_cache[0] = ($event) => unref(sidebar)?.toggle())
@@ -19537,7 +20463,7 @@ var Sidebar_default = /* @__PURE__ */ defineComponent({
19537
20463
  class: "hn-collapse shrink-0",
19538
20464
  "data-state": state.value === "rail" && !_ctx.$slots.icon ? "closed" : "open",
19539
20465
  inert: state.value === "rail" && !_ctx.$slots.icon
19540
- }, [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)()) }, [
19541
20467
  _ctx.$slots.icon ? (openBlock(), createElementBlock("div", {
19542
20468
  key: 0,
19543
20469
  class: normalizeClass(unref(sidebarIcon)())
@@ -19555,7 +20481,7 @@ var Sidebar_default = /* @__PURE__ */ defineComponent({
19555
20481
  class: "ms-auto shrink-0",
19556
20482
  onClick: _cache[1] || (_cache[1] = ($event) => unref(sidebar)?.toggle())
19557
20483
  })) : createCommentVNode("", true)
19558
- ], 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", {
19559
20485
  key: 2,
19560
20486
  class: normalizeClass(unref(cn)(unref(sidebarRegion)({ inDrawer: inDrawer.value }), "flex justify-end"))
19561
20487
  }, [createVNode(CloseButton_default, { onClick: _cache[2] || (_cache[2] = ($event) => unref(sidebar)?.toggle()) })], 2)) : createCommentVNode("", true),
@@ -19565,8 +20491,8 @@ var Sidebar_default = /* @__PURE__ */ defineComponent({
19565
20491
  }, {
19566
20492
  default: withCtx(() => [createElementVNode("nav", {
19567
20493
  "aria-label": props.label ?? unref(t).sidebar.navLabel,
19568
- class: normalizeClass(unref(cn)("flex flex-col gap-1 py-2", !inDrawer.value && "px-2.5"))
19569
- }, [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)]),
19570
20496
  _: 3
19571
20497
  }),
19572
20498
  _ctx.$slots.footer ? (openBlock(), createElementBlock("div", {
@@ -19576,20 +20502,20 @@ var Sidebar_default = /* @__PURE__ */ defineComponent({
19576
20502
  footer: true
19577
20503
  }))
19578
20504
  }, [renderSlot(_ctx.$slots, "footer", { state: state.value })], 2)) : createCommentVNode("", true)
19579
- ], 42, _hoisted_1$25);
20505
+ ], 42, _hoisted_1$28);
19580
20506
  };
19581
20507
  }
19582
20508
  });
19583
20509
  //#endregion
19584
20510
  //#region src/components/sidebar/SidebarGroup.vue?vue&type=script&setup=true&lang.ts
19585
- var _hoisted_1$24 = { class: "relative h-(--hn-control-h-sm)" };
19586
- var _hoisted_2$17 = [
20511
+ var _hoisted_1$27 = { class: "relative h-(--hn-control-h-sm)" };
20512
+ var _hoisted_2$20 = [
19587
20513
  "data-collapsed",
19588
20514
  "aria-hidden",
19589
20515
  "inert"
19590
20516
  ];
19591
- var _hoisted_3$9 = ["data-collapsed"];
19592
- 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" };
19593
20519
  //#endregion
19594
20520
  //#region src/components/sidebar/SidebarGroup.vue
19595
20521
  var SidebarGroup_default = /* @__PURE__ */ defineComponent({
@@ -19614,7 +20540,7 @@ var SidebarGroup_default = /* @__PURE__ */ defineComponent({
19614
20540
  class: normalizeClass(unref(cn)(props.class)),
19615
20541
  "onUpdate:open": _cache[0] || (_cache[0] = (v) => rail.value ? void 0 : open.value = v)
19616
20542
  }, {
19617
- default: withCtx(() => [createElementVNode("div", _hoisted_1$24, [createElementVNode("div", {
20543
+ default: withCtx(() => [createElementVNode("div", _hoisted_1$27, [createElementVNode("div", {
19618
20544
  class: "hn-sidebar-label",
19619
20545
  "data-collapsed": rail.value ? "" : void 0,
19620
20546
  "aria-hidden": rail.value ? "true" : void 0,
@@ -19633,12 +20559,12 @@ var SidebarGroup_default = /* @__PURE__ */ defineComponent({
19633
20559
  _: 1
19634
20560
  }, 8, ["tabindex"])]),
19635
20561
  _: 1
19636
- })], 8, _hoisted_2$17), createElementVNode("div", {
20562
+ })], 8, _hoisted_2$20), createElementVNode("div", {
19637
20563
  "aria-hidden": "true",
19638
20564
  class: "hn-sidebar-label border-line pointer-events-none absolute inset-x-2 top-1/2 border-t",
19639
20565
  "data-collapsed": rail.value ? void 0 : ""
19640
- }, null, 8, _hoisted_3$9)]), createVNode(CollapsibleContent_default, null, {
19641
- 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")])]),
19642
20568
  _: 3
19643
20569
  })]),
19644
20570
  _: 3
@@ -19692,19 +20618,19 @@ var drawerCard = tv({
19692
20618
  });
19693
20619
  //#endregion
19694
20620
  //#region src/components/drawer/Drawer.vue?vue&type=script&setup=true&lang.ts
19695
- var _hoisted_1$23 = {
20621
+ var _hoisted_1$26 = {
19696
20622
  key: 0,
19697
20623
  class: "flex shrink-0 items-start justify-between gap-4 px-(--hn-panel-p)"
19698
20624
  };
19699
- var _hoisted_2$16 = { class: "flex min-w-0 flex-col gap-1.5" };
19700
- var _hoisted_3$8 = { class: "flex min-w-0 items-center gap-2" };
19701
- 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 = {
19702
20628
  key: 0,
19703
20629
  class: "text-muted flex shrink-0 [&_svg]:size-5",
19704
20630
  "aria-hidden": "true"
19705
20631
  };
19706
- var _hoisted_5$7 = { class: "px-(--hn-panel-p) py-1" };
19707
- var _hoisted_6$4 = {
20632
+ var _hoisted_5$8 = { class: "px-(--hn-panel-p) py-1" };
20633
+ var _hoisted_6$5 = {
19708
20634
  key: 2,
19709
20635
  class: "flex shrink-0 justify-end gap-(--hn-inline-gap) px-(--hn-panel-p)"
19710
20636
  };
@@ -19794,7 +20720,7 @@ var Drawer_default = /* @__PURE__ */ defineComponent({
19794
20720
  default: withCtx(() => [createTextVNode(toDisplayString(props.description), 1)]),
19795
20721
  _: 1
19796
20722
  })) : createCommentVNode("", true)], 64)) : createCommentVNode("", true), slots.body ? renderSlot(_ctx.$slots, "body", { close }, void 0, void 0, 1) : (openBlock(), createElementBlock(Fragment, { key: 2 }, [
19797
- 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": "" }, {
19798
20724
  default: withCtx(() => [createVNode(Heading_default, {
19799
20725
  level: 2,
19800
20726
  size: "lg",
@@ -19829,10 +20755,10 @@ var Drawer_default = /* @__PURE__ */ defineComponent({
19829
20755
  ref: scrollArea,
19830
20756
  class: "min-h-0 grow"
19831
20757
  }, {
19832
- 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 })])]),
19833
20759
  _: 3
19834
20760
  }, 512)) : createCommentVNode("", true),
19835
- _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)
19836
20762
  ], 64))]),
19837
20763
  _: 3
19838
20764
  }, 16, ["data-hn-side", "class"])]),
@@ -19916,22 +20842,22 @@ function useSidebarScrollUpdates(area) {
19916
20842
  }
19917
20843
  //#endregion
19918
20844
  //#region src/components/app-shell/AppShell.vue?vue&type=script&setup=true&lang.ts
19919
- var _hoisted_1$22 = {
20845
+ var _hoisted_1$25 = {
19920
20846
  key: 0,
19921
20847
  class: "shrink-0"
19922
20848
  };
19923
- var _hoisted_2$15 = { class: "flex min-h-0 flex-1" };
19924
- var _hoisted_3$7 = {
20849
+ var _hoisted_2$18 = { class: "flex min-h-0 flex-1" };
20850
+ var _hoisted_3$9 = {
19925
20851
  key: 0,
19926
20852
  class: "hidden h-full shrink-0 lg:block"
19927
20853
  };
19928
- var _hoisted_4$6 = { class: "flex min-h-0 min-w-0 flex-1 flex-col" };
19929
- 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 = {
19930
20856
  key: 0,
19931
20857
  class: "border-line bg-canvas shrink-0 border-b"
19932
20858
  };
19933
- var _hoisted_6$3 = { class: "flex h-14 items-center gap-3 px-4 sm:px-6" };
19934
- 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" };
19935
20861
  //#endregion
19936
20862
  //#region src/components/app-shell/AppShell.vue
19937
20863
  var AppShell_default = /* @__PURE__ */ defineComponent({
@@ -19988,8 +20914,8 @@ var AppShell_default = /* @__PURE__ */ defineComponent({
19988
20914
  return (_ctx, _cache) => {
19989
20915
  return openBlock(), createBlock(TooltipProvider_default, null, {
19990
20916
  default: withCtx(() => [createElementVNode("div", { class: normalizeClass(unref(cn)("bg-canvas text-fg flex h-screen flex-col overflow-hidden", props.class)) }, [
19991
- _ctx.$slots.banner ? (openBlock(), createElementBlock("div", _hoisted_1$22, [renderSlot(_ctx.$slots, "banner")])) : createCommentVNode("", true),
19992
- 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, {
19993
20919
  ref_key: "main",
19994
20920
  ref: main,
19995
20921
  "data-scroll-restore": props.restoreKey,
@@ -20021,8 +20947,8 @@ var AppShell_default = /* @__PURE__ */ defineComponent({
20021
20947
  });
20022
20948
  //#endregion
20023
20949
  //#region src/components/page/Page.vue?vue&type=script&setup=true&lang.ts
20024
- var _hoisted_1$21 = { class: "flex gap-10" };
20025
- 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" };
20026
20952
  //#endregion
20027
20953
  //#region src/components/page/Page.vue
20028
20954
  var Page_default = /* @__PURE__ */ defineComponent({
@@ -20039,7 +20965,7 @@ var Page_default = /* @__PURE__ */ defineComponent({
20039
20965
  size: props.size,
20040
20966
  class: normalizeClass(unref(cn)("py-8", props.class))
20041
20967
  }, {
20042
- 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")])]),
20043
20969
  _: 3
20044
20970
  }, 8, ["size", "class"]);
20045
20971
  };
@@ -20047,9 +20973,9 @@ var Page_default = /* @__PURE__ */ defineComponent({
20047
20973
  });
20048
20974
  //#endregion
20049
20975
  //#region src/components/page/PageHeader.vue?vue&type=script&setup=true&lang.ts
20050
- var _hoisted_1$20 = { class: "flex flex-col items-start gap-3 md:flex-row" };
20051
- var _hoisted_2$13 = { class: "flex min-w-0 flex-1 flex-col gap-2" };
20052
- 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 = {
20053
20979
  key: 0,
20054
20980
  class: "flex w-full flex-wrap items-center gap-2 md:w-auto md:shrink-0"
20055
20981
  };
@@ -20067,7 +20993,7 @@ var PageHeader_default = /* @__PURE__ */ defineComponent({
20067
20993
  setup(__props) {
20068
20994
  const props = __props;
20069
20995
  return (_ctx, _cache) => {
20070
- 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, [
20071
20997
  props.eyebrow ? (openBlock(), createBlock(Text_default, {
20072
20998
  key: 0,
20073
20999
  as: "span",
@@ -20092,7 +21018,7 @@ var PageHeader_default = /* @__PURE__ */ defineComponent({
20092
21018
  default: withCtx(() => [createTextVNode(toDisplayString(props.description), 1)]),
20093
21019
  _: 1
20094
21020
  })) : createCommentVNode("", true)
20095
- ]), _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);
20096
21022
  };
20097
21023
  }
20098
21024
  });
@@ -20111,8 +21037,8 @@ var PageBody_default = /* @__PURE__ */ defineComponent({
20111
21037
  });
20112
21038
  //#endregion
20113
21039
  //#region src/components/page/PageAside.vue?vue&type=script&setup=true&lang.ts
20114
- var _hoisted_1$19 = ["aria-labelledby"];
20115
- 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" };
20116
21042
  //#endregion
20117
21043
  //#region src/components/page/PageAside.vue
20118
21044
  var PageAside_default = /* @__PURE__ */ defineComponent({
@@ -20129,7 +21055,7 @@ var PageAside_default = /* @__PURE__ */ defineComponent({
20129
21055
  return openBlock(), createElementBlock("aside", {
20130
21056
  "aria-labelledby": props.label ? unref(titleId) : void 0,
20131
21057
  class: normalizeClass(unref(cn)("hidden w-56 shrink-0 xl:block", props.class))
20132
- }, [createElementVNode("div", _hoisted_2$12, [props.label ? (openBlock(), createBlock(Text_default, {
21058
+ }, [createElementVNode("div", _hoisted_2$15, [props.label ? (openBlock(), createBlock(Text_default, {
20133
21059
  key: 0,
20134
21060
  id: unref(titleId),
20135
21061
  as: "h2",
@@ -20139,13 +21065,13 @@ var PageAside_default = /* @__PURE__ */ defineComponent({
20139
21065
  }, {
20140
21066
  default: withCtx(() => [createTextVNode(toDisplayString(props.label), 1)]),
20141
21067
  _: 1
20142
- }, 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);
20143
21069
  };
20144
21070
  }
20145
21071
  });
20146
21072
  //#endregion
20147
21073
  //#region src/components/section/Section.vue?vue&type=script&setup=true&lang.ts
20148
- var _hoisted_1$18 = ["id"];
21074
+ var _hoisted_1$21 = ["id"];
20149
21075
  //#endregion
20150
21076
  //#region src/components/section/Section.vue
20151
21077
  var Section_default = /* @__PURE__ */ defineComponent({
@@ -20168,7 +21094,7 @@ var Section_default = /* @__PURE__ */ defineComponent({
20168
21094
  }, {
20169
21095
  default: withCtx(() => [createTextVNode(toDisplayString(props.title), 1)]),
20170
21096
  _: 1
20171
- })) : createCommentVNode("", true), renderSlot(_ctx.$slots, "default")], 10, _hoisted_1$18);
21097
+ })) : createCommentVNode("", true), renderSlot(_ctx.$slots, "default")], 10, _hoisted_1$21);
20172
21098
  };
20173
21099
  }
20174
21100
  });
@@ -20249,15 +21175,15 @@ function useAnchor(items) {
20249
21175
  }
20250
21176
  //#endregion
20251
21177
  //#region src/components/anchor/Anchor.vue?vue&type=script&setup=true&lang.ts
20252
- var _hoisted_1$17 = ["aria-label"];
20253
- var _hoisted_2$11 = { class: "border-line relative grid grid-cols-1 border-s" };
20254
- 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 = [
20255
21181
  "href",
20256
21182
  "aria-current",
20257
21183
  "onClick"
20258
21184
  ];
20259
- var _hoisted_4$5 = { class: "min-w-0 flex-1 wrap-break-word" };
20260
- var _hoisted_5$5 = {
21185
+ var _hoisted_4$7 = { class: "min-w-0 flex-1 wrap-break-word" };
21186
+ var _hoisted_5$6 = {
20261
21187
  key: 0,
20262
21188
  class: "flex shrink-0 items-center empty:hidden"
20263
21189
  };
@@ -20279,7 +21205,7 @@ var Anchor_default = /* @__PURE__ */ defineComponent({
20279
21205
  return openBlock(), createElementBlock("nav", {
20280
21206
  "aria-label": props.label ?? unref(t).anchor.navLabel,
20281
21207
  class: normalizeClass(unref(cn)(props.class))
20282
- }, [createElementVNode("ul", _hoisted_2$11, [createVNode(Transition, {
21208
+ }, [createElementVNode("ul", _hoisted_2$14, [createVNode(Transition, {
20283
21209
  "enter-active-class": "hn-transition-base",
20284
21210
  "enter-from-class": "opacity-0",
20285
21211
  "leave-active-class": "hn-transition",
@@ -20304,18 +21230,18 @@ var Anchor_default = /* @__PURE__ */ defineComponent({
20304
21230
  "aria-current": unref(current) === entry.id ? "location" : void 0,
20305
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)]")),
20306
21232
  onClick: ($event) => unref(jump)($event, entry.id)
20307
- }, [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", {
20308
21234
  item: entry.item,
20309
21235
  active: unref(current) === entry.id
20310
- })])) : createCommentVNode("", true)], 10, _hoisted_3$5)], 4);
20311
- }), 128))])], 10, _hoisted_1$17);
21236
+ })])) : createCommentVNode("", true)], 10, _hoisted_3$7)], 4);
21237
+ }), 128))])], 10, _hoisted_1$20);
20312
21238
  };
20313
21239
  }
20314
21240
  });
20315
21241
  //#endregion
20316
21242
  //#region src/components/breadcrumb/Breadcrumb.vue?vue&type=script&setup=true&lang.ts
20317
- var _hoisted_1$16 = ["aria-label"];
20318
- 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" };
20319
21245
  //#endregion
20320
21246
  //#region src/components/breadcrumb/Breadcrumb.vue
20321
21247
  var Breadcrumb_default = /* @__PURE__ */ defineComponent({
@@ -20332,13 +21258,13 @@ var Breadcrumb_default = /* @__PURE__ */ defineComponent({
20332
21258
  return openBlock(), createElementBlock("nav", {
20333
21259
  "aria-label": props.label ?? unref(t).breadcrumb.navLabel,
20334
21260
  class: normalizeClass(unref(cn)(props.class))
20335
- }, [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);
20336
21262
  };
20337
21263
  }
20338
21264
  });
20339
21265
  //#endregion
20340
21266
  //#region src/components/breadcrumb/BreadcrumbItem.vue?vue&type=script&setup=true&lang.ts
20341
- var _hoisted_1$15 = { class: "flex items-center" };
21267
+ var _hoisted_1$18 = { class: "flex items-center" };
20342
21268
  //#endregion
20343
21269
  //#region src/components/breadcrumb/BreadcrumbItem.vue
20344
21270
  var BreadcrumbItem_default = /* @__PURE__ */ defineComponent({
@@ -20357,7 +21283,7 @@ var BreadcrumbItem_default = /* @__PURE__ */ defineComponent({
20357
21283
  setup(__props) {
20358
21284
  const props = __props;
20359
21285
  return (_ctx, _cache) => {
20360
- 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, {
20361
21287
  "aria-current": "page",
20362
21288
  class: unref(cn)("text-fg font-medium", props.class)
20363
21289
  }), [renderSlot(_ctx.$slots, "default")], 16)) : (openBlock(), createBlock(unref(Primitive), mergeProps({ key: 1 }, _ctx.$attrs, {
@@ -20650,7 +21576,7 @@ var DropdownMenu_default = /* @__PURE__ */ defineComponent({
20650
21576
  });
20651
21577
  //#endregion
20652
21578
  //#region src/components/dropdown-menu/DropdownMenuItem.vue?vue&type=script&setup=true&lang.ts
20653
- var _hoisted_1$14 = { class: "min-w-0 flex-1" };
21579
+ var _hoisted_1$17 = { class: "min-w-0 flex-1" };
20654
21580
  //#endregion
20655
21581
  //#region src/components/dropdown-menu/DropdownMenuItem.vue
20656
21582
  var DropdownMenuItem_default = /* @__PURE__ */ defineComponent({
@@ -20676,7 +21602,7 @@ var DropdownMenuItem_default = /* @__PURE__ */ defineComponent({
20676
21602
  }), {
20677
21603
  default: withCtx(() => [
20678
21604
  renderSlot(_ctx.$slots, "icon"),
20679
- createElementVNode("span", _hoisted_1$14, [renderSlot(_ctx.$slots, "default")]),
21605
+ createElementVNode("span", _hoisted_1$17, [renderSlot(_ctx.$slots, "default")]),
20680
21606
  renderSlot(_ctx.$slots, "trailing")
20681
21607
  ]),
20682
21608
  _: 3
@@ -20690,8 +21616,8 @@ var DropdownMenuItem_default = /* @__PURE__ */ defineComponent({
20690
21616
  });
20691
21617
  //#endregion
20692
21618
  //#region src/components/dropdown-menu/DropdownMenuCheckboxItem.vue?vue&type=script&setup=true&lang.ts
20693
- var _hoisted_1$13 = { class: "min-w-0 flex-1" };
20694
- 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" };
20695
21621
  //#endregion
20696
21622
  //#region src/components/dropdown-menu/DropdownMenuCheckboxItem.vue
20697
21623
  var DropdownMenuCheckboxItem_default = /* @__PURE__ */ defineComponent({
@@ -20723,9 +21649,9 @@ var DropdownMenuCheckboxItem_default = /* @__PURE__ */ defineComponent({
20723
21649
  onSelect: _cache[1] || (_cache[1] = (event) => event.preventDefault())
20724
21650
  }), {
20725
21651
  default: withCtx(() => [
20726
- createElementVNode("span", _hoisted_1$13, [renderSlot(_ctx.$slots, "default")]),
21652
+ createElementVNode("span", _hoisted_1$16, [renderSlot(_ctx.$slots, "default")]),
20727
21653
  renderSlot(_ctx.$slots, "trailing"),
20728
- createElementVNode("span", _hoisted_2$9, [createVNode(unref(DropdownMenuItemIndicator), null, {
21654
+ createElementVNode("span", _hoisted_2$12, [createVNode(unref(DropdownMenuItemIndicator), null, {
20729
21655
  default: withCtx(() => [createVNode(unref(Check))]),
20730
21656
  _: 1
20731
21657
  })])
@@ -20758,7 +21684,7 @@ var DropdownMenuGroup_default = /* @__PURE__ */ defineComponent({
20758
21684
  });
20759
21685
  //#endregion
20760
21686
  //#region src/components/dropdown-menu/DropdownMenuSub.vue?vue&type=script&setup=true&lang.ts
20761
- var _hoisted_1$12 = { class: "min-w-0 flex-1" };
21687
+ var _hoisted_1$15 = { class: "min-w-0 flex-1" };
20762
21688
  //#endregion
20763
21689
  //#region src/components/dropdown-menu/DropdownMenuSub.vue
20764
21690
  var DropdownMenuSub_default = /* @__PURE__ */ defineComponent({
@@ -20789,7 +21715,7 @@ var DropdownMenuSub_default = /* @__PURE__ */ defineComponent({
20789
21715
  }, {
20790
21716
  default: withCtx(() => [
20791
21717
  renderSlot(_ctx.$slots, "icon"),
20792
- 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)])]),
20793
21719
  createVNode(unref(ChevronRight), { class: "text-muted" })
20794
21720
  ]),
20795
21721
  _: 3
@@ -20872,8 +21798,8 @@ var DropdownMenuRadioGroup_default = /* @__PURE__ */ defineComponent({
20872
21798
  });
20873
21799
  //#endregion
20874
21800
  //#region src/components/dropdown-menu/DropdownMenuRadioItem.vue?vue&type=script&setup=true&lang.ts
20875
- var _hoisted_1$11 = { class: "min-w-0 flex-1" };
20876
- 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" };
20877
21803
  //#endregion
20878
21804
  //#region src/components/dropdown-menu/DropdownMenuRadioItem.vue
20879
21805
  var DropdownMenuRadioItem_default = /* @__PURE__ */ defineComponent({
@@ -20895,7 +21821,7 @@ var DropdownMenuRadioItem_default = /* @__PURE__ */ defineComponent({
20895
21821
  "text-value": props.textValue,
20896
21822
  class: unref(cn)(unref(dropdownItem)(), props.class)
20897
21823
  }), {
20898
- 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, {
20899
21825
  default: withCtx(() => [createVNode(unref(Check), { class: "size-4" })]),
20900
21826
  _: 1
20901
21827
  })])]),
@@ -20911,19 +21837,19 @@ var DropdownMenuRadioItem_default = /* @__PURE__ */ defineComponent({
20911
21837
  });
20912
21838
  //#endregion
20913
21839
  //#region src/components/dialog/Dialog.vue?vue&type=script&setup=true&lang.ts
20914
- var _hoisted_1$10 = {
21840
+ var _hoisted_1$13 = {
20915
21841
  key: 0,
20916
21842
  class: "flex shrink-0 items-start justify-between gap-4 px-(--hn-panel-p)"
20917
21843
  };
20918
- var _hoisted_2$7 = { class: "flex min-w-0 flex-col gap-1.5" };
20919
- var _hoisted_3$4 = { class: "flex min-w-0 items-center gap-2" };
20920
- 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 = {
20921
21847
  key: 0,
20922
21848
  class: "text-muted flex shrink-0 [&_svg]:size-5",
20923
21849
  "aria-hidden": "true"
20924
21850
  };
20925
- var _hoisted_5$4 = { class: "px-(--hn-panel-p) py-1" };
20926
- var _hoisted_6$2 = {
21851
+ var _hoisted_5$5 = { class: "px-(--hn-panel-p) py-1" };
21852
+ var _hoisted_6$3 = {
20927
21853
  key: 2,
20928
21854
  class: "flex shrink-0 justify-end gap-(--hn-inline-gap) px-(--hn-panel-p)"
20929
21855
  };
@@ -21013,7 +21939,7 @@ var Dialog_default = /* @__PURE__ */ defineComponent({
21013
21939
  default: withCtx(() => [createTextVNode(toDisplayString(props.description), 1)]),
21014
21940
  _: 1
21015
21941
  })) : createCommentVNode("", true)], 64)) : createCommentVNode("", true), slots.body ? renderSlot(_ctx.$slots, "body", { close }, void 0, void 0, 1) : (openBlock(), createElementBlock(Fragment, { key: 2 }, [
21016
- 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": "" }, {
21017
21943
  default: withCtx(() => [createVNode(Heading_default, {
21018
21944
  level: 2,
21019
21945
  size: "lg",
@@ -21048,10 +21974,10 @@ var Dialog_default = /* @__PURE__ */ defineComponent({
21048
21974
  ref: scrollArea,
21049
21975
  class: "min-h-0"
21050
21976
  }, {
21051
- 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 })])]),
21052
21978
  _: 3
21053
21979
  }, 512)) : createCommentVNode("", true),
21054
- _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)
21055
21981
  ], 64))]),
21056
21982
  _: 3
21057
21983
  }, 16, ["class"])]),
@@ -21369,17 +22295,17 @@ function useToastExpand() {
21369
22295
  }
21370
22296
  //#endregion
21371
22297
  //#region src/components/toast/Toaster.vue?vue&type=script&setup=true&lang.ts
21372
- var _hoisted_1$9 = { class: "hn-toast-card bg-surface border-line relative rounded-lg border p-4 shadow-md" };
21373
- 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 = {
21374
22300
  key: 0,
21375
22301
  class: "relative mt-0.5 size-5 shrink-0"
21376
22302
  };
21377
- var _hoisted_3$3 = {
22303
+ var _hoisted_3$5 = {
21378
22304
  key: 0,
21379
22305
  class: "absolute inset-0 inline-flex items-center justify-center"
21380
22306
  };
21381
- var _hoisted_4$3 = { class: "flex min-w-0 flex-1 flex-col gap-1 pe-6" };
21382
- 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 = {
21383
22309
  key: 1,
21384
22310
  class: "mt-1.5 flex gap-(--hn-inline-gap)"
21385
22311
  };
@@ -21438,7 +22364,7 @@ var Toaster_default = /* @__PURE__ */ defineComponent({
21438
22364
  tabindex: unref(slotOf)(item).index === 0 ? 0 : -1,
21439
22365
  "onUpdate:open": (v) => !v && unref(dismiss)(item.id)
21440
22366
  }, {
21441
- 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", {
21442
22368
  key: 0,
21443
22369
  ref_for: true,
21444
22370
  ref: (refValue) => unref(setItemRef)(item.id, refValue),
@@ -21448,13 +22374,13 @@ var Toaster_default = /* @__PURE__ */ defineComponent({
21448
22374
  ref_for: true,
21449
22375
  ref: (refValue) => unref(setItemRef)(item.id, refValue),
21450
22376
  class: "hn-toast-body flex w-full items-start gap-3"
21451
- }, [item.tone !== "neutral" ? (openBlock(), createElementBlock("div", _hoisted_2$6, [createVNode(Transition, {
22377
+ }, [item.tone !== "neutral" ? (openBlock(), createElementBlock("div", _hoisted_2$9, [createVNode(Transition, {
21452
22378
  "enter-active-class": "hn-transition-base",
21453
22379
  "enter-from-class": "scale-90 opacity-0",
21454
22380
  "leave-active-class": "hn-transition",
21455
22381
  "leave-to-class": "scale-90 opacity-0"
21456
22382
  }, {
21457
- 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, {
21458
22384
  size: "md",
21459
22385
  class: "text-muted"
21460
22386
  })])) : (openBlock(), createBlock(resolveDynamicComponent(icons[item.tone]), {
@@ -21463,7 +22389,7 @@ var Toaster_default = /* @__PURE__ */ defineComponent({
21463
22389
  "aria-hidden": "true"
21464
22390
  }, null, 8, ["class"]))]),
21465
22391
  _: 2
21466
- }, 1024)])) : createCommentVNode("", true), createElementVNode("div", _hoisted_4$3, [
22392
+ }, 1024)])) : createCommentVNode("", true), createElementVNode("div", _hoisted_4$5, [
21467
22393
  createVNode(unref(ToastTitle), { class: "text-fg font-medium" }, {
21468
22394
  default: withCtx(() => [createTextVNode(toDisplayString(item.message), 1)]),
21469
22395
  _: 2
@@ -21475,7 +22401,7 @@ var Toaster_default = /* @__PURE__ */ defineComponent({
21475
22401
  default: withCtx(() => [createTextVNode(toDisplayString(item.description), 1)]),
21476
22402
  _: 2
21477
22403
  }, 1024)) : createCommentVNode("", true),
21478
- 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, {
21479
22405
  key: 0,
21480
22406
  size: "sm",
21481
22407
  variant: "ghost",
@@ -21929,13 +22855,13 @@ function useReveal(host, hidden, revealOn) {
21929
22855
  }
21930
22856
  //#endregion
21931
22857
  //#region src/components/spoiler/Spoiler.vue?vue&type=script&setup=true&lang.ts
21932
- var _hoisted_1$8 = [
22858
+ var _hoisted_1$11 = [
21933
22859
  "data-hidden",
21934
22860
  "role",
21935
22861
  "aria-label",
21936
22862
  "aria-expanded"
21937
22863
  ];
21938
- var _hoisted_2$5 = { class: "hn-spoiler-inner" };
22864
+ var _hoisted_2$8 = { class: "hn-spoiler-inner" };
21939
22865
  //#endregion
21940
22866
  //#region src/components/spoiler/Spoiler.vue
21941
22867
  var Spoiler_default = /* @__PURE__ */ defineComponent({
@@ -21971,7 +22897,7 @@ var Spoiler_default = /* @__PURE__ */ defineComponent({
21971
22897
  tabindex: "0",
21972
22898
  "aria-label": label.value,
21973
22899
  "aria-expanded": !hidden.value
21974
- }, 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);
21975
22901
  };
21976
22902
  }
21977
22903
  });
@@ -22155,20 +23081,20 @@ function DataTableSlot(props, { slots }) {
22155
23081
  }
22156
23082
  //#endregion
22157
23083
  //#region src/components/data-table/DataTableHead.vue?vue&type=script&setup=true&lang.ts
22158
- var _hoisted_1$7 = {
23084
+ var _hoisted_1$10 = {
22159
23085
  key: 1,
22160
23086
  class: "sr-only"
22161
23087
  };
22162
- var _hoisted_2$4 = {
23088
+ var _hoisted_2$7 = {
22163
23089
  key: 0,
22164
23090
  class: "hn-table-sort",
22165
23091
  "aria-hidden": "true"
22166
23092
  };
22167
- var _hoisted_3$2 = {
23093
+ var _hoisted_3$4 = {
22168
23094
  key: 3,
22169
23095
  class: "text-xs"
22170
23096
  };
22171
- var _hoisted_4$2 = [
23097
+ var _hoisted_4$4 = [
22172
23098
  "tabindex",
22173
23099
  "aria-label",
22174
23100
  "aria-valuenow",
@@ -22180,7 +23106,7 @@ var _hoisted_4$2 = [
22180
23106
  "onPointerdown",
22181
23107
  "onKeydown"
22182
23108
  ];
22183
- var _hoisted_5$2 = { class: "sr-only" };
23109
+ var _hoisted_5$3 = { class: "sr-only" };
22184
23110
  //#endregion
22185
23111
  //#region src/components/data-table/DataTableHead.vue
22186
23112
  var DataTableHead_default = /* @__PURE__ */ defineComponent({
@@ -22221,7 +23147,7 @@ var DataTableHead_default = /* @__PURE__ */ defineComponent({
22221
23147
  "disabled",
22222
23148
  "aria-label",
22223
23149
  "onUpdate:modelValue"
22224
- ])) : (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))]),
22225
23151
  _: 2
22226
23152
  }, 1032, ["rowspan", "style"]);
22227
23153
  }), 128)) : createCommentVNode("", true),
@@ -22256,7 +23182,7 @@ var DataTableHead_default = /* @__PURE__ */ defineComponent({
22256
23182
  onClick: ($event) => header.leaf && header.column.sortable && header.toggleSort($event.shiftKey),
22257
23183
  onKeydown: ($event) => header.leaf && __props.config.reorderColumns && header.column.reorderable !== false && __props.drag.columnKeydown(header.column.key, $event)
22258
23184
  }, {
22259
- 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)]),
22260
23186
  _: 2
22261
23187
  }, 1064, [
22262
23188
  "type",
@@ -22286,7 +23212,7 @@ var DataTableHead_default = /* @__PURE__ */ defineComponent({
22286
23212
  onClick: _cache[0] || (_cache[0] = withModifiers(() => {}, ["stop"])),
22287
23213
  onPointerdown: ($event) => __props.layout.resize(header.column, $event),
22288
23214
  onKeydown: ($event) => __props.layout.resizeKey(header.column, $event)
22289
- }, 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)]),
22290
23216
  _: 2
22291
23217
  }, 1032, [
22292
23218
  "data-hn-column",
@@ -22310,7 +23236,7 @@ var DataTableHead_default = /* @__PURE__ */ defineComponent({
22310
23236
  top: 0
22311
23237
  })
22312
23238
  }, {
22313
- 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)]),
22314
23240
  _: 1
22315
23241
  }, 8, ["rowspan", "style"])) : createCommentVNode("", true)
22316
23242
  ]);
@@ -22320,7 +23246,7 @@ var DataTableHead_default = /* @__PURE__ */ defineComponent({
22320
23246
  });
22321
23247
  //#endregion
22322
23248
  //#region src/components/data-table/DataTableAction.vue?vue&type=script&setup=true&lang.ts
22323
- var _hoisted_1$6 = ["disabled", "aria-busy"];
23249
+ var _hoisted_1$9 = ["disabled", "aria-busy"];
22324
23250
  //#endregion
22325
23251
  //#region src/components/data-table/DataTableAction.vue
22326
23252
  var DataTableAction_default = /* @__PURE__ */ defineComponent({
@@ -22339,19 +23265,19 @@ var DataTableAction_default = /* @__PURE__ */ defineComponent({
22339
23265
  }, [__props.loading ? (openBlock(), createBlock(Spinner_default, {
22340
23266
  key: 0,
22341
23267
  size: "sm"
22342
- })) : 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);
22343
23269
  };
22344
23270
  }
22345
23271
  });
22346
23272
  //#endregion
22347
23273
  //#region src/components/data-table/DataTableSelection.vue?vue&type=script&setup=true&lang.ts
22348
- var _hoisted_1$5 = [
23274
+ var _hoisted_1$8 = [
22349
23275
  "name",
22350
23276
  "checked",
22351
23277
  "disabled",
22352
23278
  "aria-label"
22353
23279
  ];
22354
- var _hoisted_2$3 = ["data-state"];
23280
+ var _hoisted_2$6 = ["data-state"];
22355
23281
  //#endregion
22356
23282
  //#region src/components/data-table/DataTableSelection.vue
22357
23283
  var DataTableSelection_default = /* @__PURE__ */ defineComponent({
@@ -22377,7 +23303,7 @@ var DataTableSelection_default = /* @__PURE__ */ defineComponent({
22377
23303
  "aria-label": __props.label,
22378
23304
  class: "peer absolute inset-0 z-10 size-full cursor-pointer opacity-0",
22379
23305
  onChange: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("change", true))
22380
- }, null, 40, _hoisted_1$5), createElementVNode("span", {
23306
+ }, null, 40, _hoisted_1$8), createElementVNode("span", {
22381
23307
  "aria-hidden": "true",
22382
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"]),
22383
23309
  "data-state": __props.checked === true ? "checked" : "unchecked"
@@ -22392,7 +23318,7 @@ var DataTableSelection_default = /* @__PURE__ */ defineComponent({
22392
23318
  class: normalizeClass(unref(radioDot)())
22393
23319
  }, null, 2)) : createCommentVNode("", true)]),
22394
23320
  _: 1
22395
- })], 10, _hoisted_2$3)], 2)) : (openBlock(), createBlock(Checkbox_default, {
23321
+ })], 10, _hoisted_2$6)], 2)) : (openBlock(), createBlock(Checkbox_default, {
22396
23322
  key: 1,
22397
23323
  class: "mx-auto",
22398
23324
  "model-value": __props.checked,
@@ -22409,8 +23335,8 @@ var DataTableSelection_default = /* @__PURE__ */ defineComponent({
22409
23335
  });
22410
23336
  //#endregion
22411
23337
  //#region src/components/data-table/DataTableEditor.vue?vue&type=script&setup=true&lang.ts
22412
- var _hoisted_1$4 = { class: "hn-table-editor-control" };
22413
- var _hoisted_2$2 = ["id"];
23338
+ var _hoisted_1$7 = { class: "hn-table-editor-control" };
23339
+ var _hoisted_2$5 = ["id"];
22414
23340
  //#endregion
22415
23341
  //#region src/components/data-table/DataTableEditor.vue
22416
23342
  var DataTableEditor_default = /* @__PURE__ */ defineComponent({
@@ -22428,7 +23354,7 @@ var DataTableEditor_default = /* @__PURE__ */ defineComponent({
22428
23354
  class: "hn-table-editor",
22429
23355
  onClick: _cache[0] || (_cache[0] = withModifiers(() => {}, ["stop"])),
22430
23356
  onKeydown: _cache[1] || (_cache[1] = withModifiers(() => {}, ["stop"]))
22431
- }, [createElementVNode("div", _hoisted_1$4, [createVNode(InputGroup_default, {
23357
+ }, [createElementVNode("div", _hoisted_1$7, [createVNode(InputGroup_default, {
22432
23358
  variant: "bare",
22433
23359
  size: "sm",
22434
23360
  disabled: __props.context.pending,
@@ -22490,7 +23416,7 @@ var DataTableEditor_default = /* @__PURE__ */ defineComponent({
22490
23416
  id: unref(errorId),
22491
23417
  role: "alert",
22492
23418
  class: "hn-table-field-error"
22493
- }, toDisplayString(__props.context.error), 9, _hoisted_2$2)) : createCommentVNode("", true)], 32);
23419
+ }, toDisplayString(__props.context.error), 9, _hoisted_2$5)) : createCommentVNode("", true)], 32);
22494
23420
  };
22495
23421
  }
22496
23422
  });
@@ -22511,7 +23437,7 @@ function useTableText(element, value) {
22511
23437
  }
22512
23438
  //#endregion
22513
23439
  //#region src/components/data-table/DataTableText.vue?vue&type=script&setup=true&lang.ts
22514
- var _hoisted_1$3 = ["tabindex"];
23440
+ var _hoisted_1$6 = ["tabindex"];
22515
23441
  //#endregion
22516
23442
  //#region src/components/data-table/DataTableText.vue
22517
23443
  var DataTableText_default = /* @__PURE__ */ defineComponent({
@@ -22531,7 +23457,7 @@ var DataTableText_default = /* @__PURE__ */ defineComponent({
22531
23457
  ref: element,
22532
23458
  class: "block truncate",
22533
23459
  tabindex: unref(overflow) ? 0 : void 0
22534
- }, [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));
22535
23461
  };
22536
23462
  }
22537
23463
  });
@@ -22585,7 +23511,7 @@ function aggregate(rows, column, valueOf) {
22585
23511
  }
22586
23512
  //#endregion
22587
23513
  //#region src/components/data-table/DataTableRow.vue?vue&type=script&setup=true&lang.ts
22588
- var _hoisted_1$2 = [
23514
+ var _hoisted_1$5 = [
22589
23515
  "data-index",
22590
23516
  "data-editing",
22591
23517
  "data-edit-error",
@@ -22595,14 +23521,14 @@ var _hoisted_1$2 = [
22595
23521
  "data-hn-state-group",
22596
23522
  "tabindex"
22597
23523
  ];
22598
- var _hoisted_2$1 = ["id"];
22599
- var _hoisted_3$1 = {
23524
+ var _hoisted_2$4 = ["id"];
23525
+ var _hoisted_3$3 = {
22600
23526
  key: 1,
22601
23527
  class: "p-3"
22602
23528
  };
22603
- var _hoisted_4$1 = ["disabled", "aria-expanded"];
22604
- var _hoisted_5$1 = { class: "text-muted" };
22605
- 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 = {
22606
23532
  key: 0,
22607
23533
  class: "hn-table-editor-control justify-center"
22608
23534
  };
@@ -22657,7 +23583,7 @@ var DataTableRow_default = /* @__PURE__ */ defineComponent({
22657
23583
  id: __props.editing.errorId,
22658
23584
  role: "alert",
22659
23585
  class: "hn-table-edit-message"
22660
- }, [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), {
22661
23587
  render: __props.slots.expansion,
22662
23588
  context: entry.value
22663
23589
  }, null, 8, ["render", "context"])]))]),
@@ -22701,8 +23627,8 @@ var DataTableRow_default = /* @__PURE__ */ defineComponent({
22701
23627
  class: normalizeClass(["hn-transition-transform rtl:rotate-180", entry.value.group.expanded && "rotate-90 rtl:rotate-90"])
22702
23628
  }, null, 8, ["class"]),
22703
23629
  createTextVNode(" " + toDisplayString(entry.value.group.column.label) + ": " + toDisplayString(entry.value.group.value) + " ", 1),
22704
- createElementVNode("span", _hoisted_5$1, "(" + toDisplayString(entry.value.group.rows.length) + ")", 1)
22705
- ], 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))]),
22706
23632
  _: 2
22707
23633
  }, 1032, [
22708
23634
  "data-state",
@@ -22830,7 +23756,7 @@ var DataTableRow_default = /* @__PURE__ */ defineComponent({
22830
23756
  class: "hn-table-edit-actions",
22831
23757
  style: normalizeStyle(__props.layout.controlStyle("end", 0))
22832
23758
  }, {
22833
- 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, {
22834
23760
  loading: __props.editing.pending.value,
22835
23761
  "aria-describedby": __props.editing.rowError(entry.value.key) ? __props.editing.errorId : void 0,
22836
23762
  "aria-label": unref(t).table.save,
@@ -22867,13 +23793,13 @@ var DataTableRow_default = /* @__PURE__ */ defineComponent({
22867
23793
  }, 8, ["disabled", "aria-label"]))]),
22868
23794
  _: 1
22869
23795
  }, 8, ["data-state", "style"])) : createCommentVNode("", true)
22870
- ], 64))], 42, _hoisted_1$2);
23796
+ ], 64))], 42, _hoisted_1$5);
22871
23797
  };
22872
23798
  }
22873
23799
  });
22874
23800
  //#endregion
22875
23801
  //#region src/components/data-table/DataTableDragPreview.vue?vue&type=script&setup=true&lang.ts
22876
- var _hoisted_1$1 = { class: "hn-table-drag-label" };
23802
+ var _hoisted_1$4 = { class: "hn-table-drag-label" };
22877
23803
  //#endregion
22878
23804
  //#region src/components/data-table/DataTableDragPreview.vue
22879
23805
  var DataTableDragPreview_default = /* @__PURE__ */ defineComponent({
@@ -22931,7 +23857,7 @@ var DataTableDragPreview_default = /* @__PURE__ */ defineComponent({
22931
23857
  top: `${__props.drag.dragging.value.y - __props.drag.dragging.value.offsetY}px`,
22932
23858
  width: __props.drag.dragging.value.kind === "column" ? `${__props.drag.dragging.value.width}px` : void 0
22933
23859
  })
22934
- }, [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) => {
22935
23861
  return openBlock(), createElementBlock("div", {
22936
23862
  key: index,
22937
23863
  class: "hn-table-drag-cell"
@@ -24329,25 +25255,25 @@ function useTableVirtual(props, ctl, element, viewport, hasExpansion, rowError)
24329
25255
  }
24330
25256
  //#endregion
24331
25257
  //#region src/components/data-table/DataTable.vue?vue&type=script&setup=true&lang.ts
24332
- var _hoisted_1 = ["aria-busy"];
24333
- var _hoisted_2 = [
25258
+ var _hoisted_1$3 = ["aria-busy"];
25259
+ var _hoisted_2$3 = [
24334
25260
  "aria-label",
24335
25261
  "aria-rowcount",
24336
25262
  "inert"
24337
25263
  ];
24338
- var _hoisted_3 = { key: 0 };
24339
- var _hoisted_4 = {
25264
+ var _hoisted_3$2 = { key: 0 };
25265
+ var _hoisted_4$2 = {
24340
25266
  key: 0,
24341
25267
  style: { "width": "72px" }
24342
25268
  };
24343
- var _hoisted_5 = { key: 0 };
24344
- var _hoisted_6 = { class: "text-muted flex min-h-32 items-center justify-center px-3 py-6 text-sm" };
24345
- 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 = {
24346
25272
  key: 0,
24347
25273
  "aria-hidden": "true"
24348
25274
  };
24349
- var _hoisted_8 = ["colspan"];
24350
- var _hoisted_9 = {
25275
+ var _hoisted_8$1 = ["colspan"];
25276
+ var _hoisted_9$1 = {
24351
25277
  key: 1,
24352
25278
  "aria-hidden": "true"
24353
25279
  };
@@ -24537,7 +25463,7 @@ var DataTable_default = /* @__PURE__ */ defineComponent({
24537
25463
  "aria-rowcount": props.virtualize ? unref(virtual).entries.value.length + unref(layout).headerRows.value.length + (hasSummary.value ? 1 : 0) : void 0,
24538
25464
  inert: unref(ctl).blocked.value || void 0
24539
25465
  }, [
24540
- 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),
24541
25467
  createElementVNode("colgroup", null, [
24542
25468
  (openBlock(true), createElementBlock(Fragment, null, renderList(controls.value, (control) => {
24543
25469
  return openBlock(), createElementBlock("col", {
@@ -24551,7 +25477,7 @@ var DataTable_default = /* @__PURE__ */ defineComponent({
24551
25477
  style: normalizeStyle({ width: unref(layout).cellStyle(column).width })
24552
25478
  }, null, 4);
24553
25479
  }), 128)),
24554
- trailing.value ? (openBlock(), createElementBlock("col", _hoisted_4)) : createCommentVNode("", true)
25480
+ trailing.value ? (openBlock(), createElementBlock("col", _hoisted_4$2)) : createCommentVNode("", true)
24555
25481
  ]),
24556
25482
  createVNode(DataTableHead_default, {
24557
25483
  config: props,
@@ -24569,18 +25495,18 @@ var DataTable_default = /* @__PURE__ */ defineComponent({
24569
25495
  "controls",
24570
25496
  "trailing"
24571
25497
  ]),
24572
- 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 }, {
24573
- 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)])]),
24574
25500
  _: 3
24575
25501
  }, 8, ["colspan"])])) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
24576
- unref(virtual).before.value ? (openBlock(), createElementBlock("tr", _hoisted_7, [createElementVNode("td", {
25502
+ unref(virtual).before.value ? (openBlock(), createElementBlock("tr", _hoisted_7$1, [createElementVNode("td", {
24577
25503
  colspan: colspan.value,
24578
25504
  style: normalizeStyle({
24579
25505
  height: `${unref(virtual).before.value}px`,
24580
25506
  padding: 0,
24581
25507
  border: 0
24582
25508
  })
24583
- }, null, 12, _hoisted_8)])) : createCommentVNode("", true),
25509
+ }, null, 12, _hoisted_8$1)])) : createCommentVNode("", true),
24584
25510
  (openBlock(true), createElementBlock(Fragment, null, renderList(unref(virtual).visible.value, (item) => {
24585
25511
  return openBlock(), createBlock(DataTableRow_default, {
24586
25512
  key: item.id,
@@ -24608,7 +25534,7 @@ var DataTable_default = /* @__PURE__ */ defineComponent({
24608
25534
  "measure"
24609
25535
  ]);
24610
25536
  }), 128)),
24611
- unref(virtual).after.value ? (openBlock(), createElementBlock("tr", _hoisted_9, [createElementVNode("td", {
25537
+ unref(virtual).after.value ? (openBlock(), createElementBlock("tr", _hoisted_9$1, [createElementVNode("td", {
24612
25538
  colspan: colspan.value,
24613
25539
  style: normalizeStyle({
24614
25540
  height: `${unref(virtual).after.value}px`,
@@ -24655,7 +25581,7 @@ var DataTable_default = /* @__PURE__ */ defineComponent({
24655
25581
  ])]),
24656
25582
  _: 1
24657
25583
  }, 8, ["render", "context"])])) : createCommentVNode("", true)
24658
- ], 12, _hoisted_2)]),
25584
+ ], 12, _hoisted_2$3)]),
24659
25585
  _: 3
24660
25586
  }, 8, [
24661
25587
  "direction",
@@ -24720,11 +25646,491 @@ var DataTable_default = /* @__PURE__ */ defineComponent({
24720
25646
  drag: unref(drag),
24721
25647
  layout: unref(layout)
24722
25648
  }, null, 8, ["drag", "layout"])
24723
- ], 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);
24724
26130
  };
24725
26131
  }
24726
26132
  });
24727
26133
  //#endregion
24728
- 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 };
24729
26135
 
24730
26136
  //# sourceMappingURL=index.js.map