@hina-ui/vue 1.2.0 → 1.3.1
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.
- package/dist/index.js +880 -347
- package/dist/index.js.map +1 -1
- package/dist/types/components/alert-dialog/AlertDialog.vue.d.ts +6 -2
- package/dist/types/components/alert-dialog/AlertDialog.vue.d.ts.map +1 -1
- package/dist/types/components/alert-dialog/alert-dialog.variants.d.ts +5 -0
- package/dist/types/components/alert-dialog/alert-dialog.variants.d.ts.map +1 -0
- package/dist/types/components/alert-dialog/composables/useAlertDialogConfirm.d.ts +9 -0
- package/dist/types/components/alert-dialog/composables/useAlertDialogConfirm.d.ts.map +1 -0
- package/dist/types/components/alert-dialog/composables/useConfirmDelay.d.ts +3 -0
- package/dist/types/components/alert-dialog/composables/useConfirmDelay.d.ts.map +1 -0
- package/dist/types/components/anchor/Anchor.vue.d.ts.map +1 -1
- package/dist/types/components/code-block/CodeBlock.vue.d.ts.map +1 -1
- package/dist/types/components/code-block/code-block.variants.d.ts +6 -0
- package/dist/types/components/code-block/code-block.variants.d.ts.map +1 -0
- package/dist/types/components/code-block/composables/useCodeHighlight.d.ts +7 -0
- package/dist/types/components/code-block/composables/useCodeHighlight.d.ts.map +1 -0
- package/dist/types/components/dialog/Dialog.vue.d.ts.map +1 -1
- package/dist/types/components/dialog/ModalContent.vue.d.ts +21 -0
- package/dist/types/components/dialog/ModalContent.vue.d.ts.map +1 -0
- package/dist/types/components/dropdown-menu/DropdownMenu.vue.d.ts +18 -6
- package/dist/types/components/dropdown-menu/DropdownMenu.vue.d.ts.map +1 -1
- package/dist/types/components/file-upload/FileUpload.vue.d.ts +1 -1
- package/dist/types/components/file-upload/FileUpload.vue.d.ts.map +1 -1
- package/dist/types/components/highlight/Highlight.vue.d.ts +2 -0
- package/dist/types/components/highlight/Highlight.vue.d.ts.map +1 -1
- package/dist/types/components/highlight/composables/useHighlightMotion.d.ts +10 -0
- package/dist/types/components/highlight/composables/useHighlightMotion.d.ts.map +1 -0
- package/dist/types/components/image/Image.vue.d.ts +5 -2
- package/dist/types/components/image/Image.vue.d.ts.map +1 -1
- package/dist/types/components/image/composables/useImage.d.ts.map +1 -1
- package/dist/types/components/image/image.variants.d.ts +23 -1
- package/dist/types/components/image/image.variants.d.ts.map +1 -1
- package/dist/types/components/lightbox/LightboxThumbs.vue.d.ts.map +1 -1
- package/dist/types/components/lightbox/composables/useLightboxMotion.d.ts.map +1 -1
- package/dist/types/components/lightbox/composables/useLightboxPose.d.ts.map +1 -1
- package/dist/types/components/lightbox/utils/clip.d.ts +16 -0
- package/dist/types/components/lightbox/utils/clip.d.ts.map +1 -0
- package/dist/types/components/lightbox/utils/pose.d.ts +2 -2
- package/dist/types/components/lightbox/utils/pose.d.ts.map +1 -1
- package/dist/types/components/popover/Popover.vue.d.ts +19 -6
- package/dist/types/components/popover/Popover.vue.d.ts.map +1 -1
- package/dist/types/components/popover/PopoverContent.vue.d.ts +29 -0
- package/dist/types/components/popover/PopoverContent.vue.d.ts.map +1 -0
- package/dist/types/components/popover/composables/usePopoverCloseFocus.d.ts +2 -0
- package/dist/types/components/popover/composables/usePopoverCloseFocus.d.ts.map +1 -0
- package/dist/types/components/scroll-area/ScrollArea.vue.d.ts.map +1 -1
- package/dist/types/components/scroll-area/composables/useLayerLock.d.ts.map +1 -1
- package/dist/types/components/scroll-area/composables/useScrollFocus.d.ts +17 -0
- package/dist/types/components/scroll-area/composables/useScrollFocus.d.ts.map +1 -0
- package/dist/types/components/segmented-control/SegmentedControl.vue.d.ts.map +1 -1
- package/dist/types/components/tabs/TabsTrigger.vue.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/lib/anchored-overlay.d.ts +19 -0
- package/dist/types/lib/anchored-overlay.d.ts.map +1 -0
- package/dist/types/lib/dialog-focus.d.ts +2 -0
- package/dist/types/lib/dialog-focus.d.ts.map +1 -0
- package/dist/types/lib/overlay-portal.d.ts +6 -0
- package/dist/types/lib/overlay-portal.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/components/alert-dialog/AlertDialog.vue +31 -40
- package/src/components/alert-dialog/alert-dialog.variants.ts +17 -0
- package/src/components/alert-dialog/composables/useAlertDialogConfirm.ts +29 -0
- package/src/components/alert-dialog/composables/useConfirmDelay.ts +37 -0
- package/src/components/anchor/Anchor.vue +1 -0
- package/src/components/code-block/CodeBlock.vue +15 -30
- package/src/components/code-block/code-block.variants.ts +21 -0
- package/src/components/code-block/composables/useCodeHighlight.ts +30 -0
- package/src/components/dialog/Dialog.vue +7 -4
- package/src/components/dialog/ModalContent.vue +19 -0
- package/src/components/dropdown-menu/DropdownMenu.vue +16 -4
- package/src/components/highlight/Highlight.vue +5 -4
- package/src/components/highlight/composables/useHighlightMotion.ts +22 -0
- package/src/components/image/Image.vue +9 -12
- package/src/components/image/composables/useImage.ts +6 -3
- package/src/components/image/image.variants.ts +13 -1
- package/src/components/lightbox/LightboxThumbs.vue +1 -0
- package/src/components/lightbox/composables/useLightboxMotion.ts +3 -1
- package/src/components/lightbox/composables/useLightboxPose.ts +5 -2
- package/src/components/lightbox/utils/clip.ts +117 -0
- package/src/components/lightbox/utils/pose.ts +23 -13
- package/src/components/popover/Popover.vue +26 -6
- package/src/components/popover/PopoverContent.vue +25 -0
- package/src/components/popover/composables/usePopoverCloseFocus.ts +17 -0
- package/src/components/scroll-area/ScrollArea.vue +7 -5
- package/src/components/scroll-area/composables/useLayerLock.ts +8 -9
- package/src/components/scroll-area/composables/useScrollFocus.ts +39 -0
- package/src/components/scroll-area/composables/useWheelRedirect.ts +1 -1
- package/src/components/segmented-control/SegmentedControl.vue +6 -1
- package/src/components/skeleton/LICENSE +24 -0
- package/src/components/tabs/TabsTrigger.vue +6 -1
- package/src/index.ts +2 -0
- package/src/lib/anchored-overlay.ts +107 -0
- package/src/lib/dialog-focus.ts +13 -0
- package/src/lib/overlay-portal.ts +8 -0
- package/src/styles/interaction.css +26 -3
- package/src/styles/motion.css +14 -2
- package/src/styles/semantic.css +5 -1
- package/src/styles/typography.css +9 -4
package/dist/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { clsx } from "clsx";
|
|
2
2
|
import { extendTailwindMerge } from "tailwind-merge";
|
|
3
3
|
import { createTV } from "tailwind-variants";
|
|
4
|
-
import { Fragment, Transition, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createSlots, createTextVNode, createVNode, defineComponent, getCurrentInstance, guardReactiveProps, h, inject, isRef, markRaw, mergeModels, mergeProps, nextTick, normalizeClass, normalizeProps, normalizeStyle, onBeforeUnmount, onBeforeUpdate, onMounted, openBlock, provide, reactive, ref, renderList, renderSlot, resolveDynamicComponent, shallowRef, toDisplayString, toHandlers, toRef, toValue, unref, useAttrs, useId, useModel, useSlots, vModelDynamic, vModelSelect, vModelText, watch, watchEffect, 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, 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, injectListboxItemContext, injectTabsRootContext, injectTooltipProviderContext, useBodyScrollLock, useDirection, useForwardPropsEmits } from "reka-ui";
|
|
4
|
+
import { Fragment, Transition, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createSlots, createTextVNode, createVNode, defineComponent, getCurrentInstance, guardReactiveProps, h, inject, isRef, markRaw, mergeModels, mergeProps, nextTick, normalizeClass, normalizeProps, normalizeStyle, onBeforeUnmount, onBeforeUpdate, onMounted, onScopeDispose, openBlock, provide, reactive, ref, renderList, renderSlot, resolveDynamicComponent, shallowRef, toDisplayString, toHandlers, toRef, toValue, unref, useAttrs, useId, useModel, useSlots, vModelDynamic, vModelSelect, vModelText, watch, watchEffect, 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, 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, injectDialogRootContext, injectListboxItemContext, injectPopoverRootContext, injectTabsRootContext, injectTooltipProviderContext, useBodyScrollLock, useDirection, useForwardExpose, useForwardPropsEmits } from "reka-ui";
|
|
6
6
|
import { ArrowLeft, ArrowRight, CalendarClock, CalendarDays, CalendarRange, Check, ChevronDown, ChevronLeft, ChevronRight, ChevronUp, CircleCheck, CircleX, Copy, Download, Eye, EyeOff, File, Inbox, Info, Lightbulb, Megaphone, Minus, PanelLeft, RotateCw, 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 { createSharedComposable, useDocumentVisibility, useEventListener, useIntersectionObserver, useIntervalFn, useMediaQuery, useMutationObserver } from "@vueuse/core";
|
|
@@ -674,7 +674,7 @@ var spinner = tv({
|
|
|
674
674
|
});
|
|
675
675
|
//#endregion
|
|
676
676
|
//#region src/components/spinner/Spinner.vue?vue&type=script&setup=true&lang.ts
|
|
677
|
-
var _hoisted_1$
|
|
677
|
+
var _hoisted_1$94 = ["aria-label"];
|
|
678
678
|
//#endregion
|
|
679
679
|
//#region src/components/spinner/Spinner.vue
|
|
680
680
|
var Spinner_default = /* @__PURE__ */ defineComponent({
|
|
@@ -694,13 +694,13 @@ var Spinner_default = /* @__PURE__ */ defineComponent({
|
|
|
694
694
|
"aria-label": props.label ?? unref(t).common.loading,
|
|
695
695
|
class: unref(cn)(unref(spinner)({ size: props.size })),
|
|
696
696
|
style: { animation: "hn-spin var(--hn-spin-duration) var(--hn-ease-linear) infinite" }
|
|
697
|
-
}), null, 16, _hoisted_1$
|
|
697
|
+
}), null, 16, _hoisted_1$94);
|
|
698
698
|
};
|
|
699
699
|
}
|
|
700
700
|
});
|
|
701
701
|
//#endregion
|
|
702
702
|
//#region src/components/button/IconSlot.vue?vue&type=script&setup=true&lang.ts
|
|
703
|
-
var _hoisted_1$
|
|
703
|
+
var _hoisted_1$93 = {
|
|
704
704
|
key: 0,
|
|
705
705
|
"aria-hidden": "true",
|
|
706
706
|
class: "absolute inset-0 inline-flex items-center justify-center"
|
|
@@ -724,7 +724,7 @@ var IconSlot_default$1 = /* @__PURE__ */ defineComponent({
|
|
|
724
724
|
"leave-active-class": "hn-transition",
|
|
725
725
|
"leave-to-class": "scale-90 opacity-0"
|
|
726
726
|
}, {
|
|
727
|
-
default: withCtx(() => [props.swapped ? (openBlock(), createElementBlock("span", _hoisted_1$
|
|
727
|
+
default: withCtx(() => [props.swapped ? (openBlock(), createElementBlock("span", _hoisted_1$93, [createVNode(Spinner_default, { size: props.spinnerSize }, null, 8, ["size"])])) : createCommentVNode("", true)]),
|
|
728
728
|
_: 1
|
|
729
729
|
})], 2);
|
|
730
730
|
};
|
|
@@ -920,7 +920,7 @@ function useRipple(container, surface, isDisabled) {
|
|
|
920
920
|
}
|
|
921
921
|
//#endregion
|
|
922
922
|
//#region src/components/ripple/Ripple.vue?vue&type=script&setup=true&lang.ts
|
|
923
|
-
var _hoisted_1$
|
|
923
|
+
var _hoisted_1$92 = ["data-pressed"];
|
|
924
924
|
//#endregion
|
|
925
925
|
//#region src/components/ripple/Ripple.vue
|
|
926
926
|
var Ripple_default = /* @__PURE__ */ defineComponent({
|
|
@@ -943,13 +943,13 @@ var Ripple_default = /* @__PURE__ */ defineComponent({
|
|
|
943
943
|
ref: surface,
|
|
944
944
|
class: "hn-ripple-surface",
|
|
945
945
|
"data-pressed": unref(pressed) ? "" : void 0
|
|
946
|
-
}, null, 8, _hoisted_1$
|
|
946
|
+
}, null, 8, _hoisted_1$92)], 512);
|
|
947
947
|
};
|
|
948
948
|
}
|
|
949
949
|
});
|
|
950
950
|
//#endregion
|
|
951
951
|
//#region src/components/button/Button.vue?vue&type=script&setup=true&lang.ts
|
|
952
|
-
var _hoisted_1$
|
|
952
|
+
var _hoisted_1$91 = {
|
|
953
953
|
key: 0,
|
|
954
954
|
"aria-hidden": "true",
|
|
955
955
|
class: "absolute inset-0 flex items-center justify-center"
|
|
@@ -1060,7 +1060,7 @@ var Button_default = /* @__PURE__ */ defineComponent({
|
|
|
1060
1060
|
"leave-active-class": "hn-transition",
|
|
1061
1061
|
"leave-to-class": "opacity-0"
|
|
1062
1062
|
}, {
|
|
1063
|
-
default: withCtx(() => [props.loading && spinnerAt.value === "center" ? (openBlock(), createElementBlock("span", _hoisted_1$
|
|
1063
|
+
default: withCtx(() => [props.loading && spinnerAt.value === "center" ? (openBlock(), createElementBlock("span", _hoisted_1$91, [createVNode(Spinner_default, { size: spinnerSize.value }, null, 8, ["size"])])) : createCommentVNode("", true)]),
|
|
1064
1064
|
_: 1
|
|
1065
1065
|
})
|
|
1066
1066
|
], 64))]),
|
|
@@ -1284,7 +1284,7 @@ function useCopy(text, onCopied, resetAfter = () => COPIED_RESET_MS) {
|
|
|
1284
1284
|
}
|
|
1285
1285
|
//#endregion
|
|
1286
1286
|
//#region src/components/copy-button/CopyButton.vue?vue&type=script&setup=true&lang.ts
|
|
1287
|
-
var _hoisted_1$
|
|
1287
|
+
var _hoisted_1$90 = { class: "relative inline-flex size-[1em]" };
|
|
1288
1288
|
//#endregion
|
|
1289
1289
|
//#region src/components/copy-button/CopyButton.vue
|
|
1290
1290
|
var CopyButton_default = /* @__PURE__ */ defineComponent({
|
|
@@ -1316,7 +1316,7 @@ var CopyButton_default = /* @__PURE__ */ defineComponent({
|
|
|
1316
1316
|
class: props.class,
|
|
1317
1317
|
onClick: unref(copy)
|
|
1318
1318
|
}), {
|
|
1319
|
-
default: withCtx(() => [createElementVNode("span", _hoisted_1$
|
|
1319
|
+
default: withCtx(() => [createElementVNode("span", _hoisted_1$90, [createVNode(Transition, {
|
|
1320
1320
|
"enter-active-class": "hn-transition-base",
|
|
1321
1321
|
"enter-from-class": "scale-90 opacity-0",
|
|
1322
1322
|
"leave-active-class": "hn-transition",
|
|
@@ -1391,7 +1391,7 @@ var buttonGroup = tv({
|
|
|
1391
1391
|
});
|
|
1392
1392
|
//#endregion
|
|
1393
1393
|
//#region src/components/button-group/ButtonGroup.vue?vue&type=script&setup=true&lang.ts
|
|
1394
|
-
var _hoisted_1$
|
|
1394
|
+
var _hoisted_1$89 = ["aria-label", "aria-orientation"];
|
|
1395
1395
|
//#endregion
|
|
1396
1396
|
//#region src/components/button-group/ButtonGroup.vue
|
|
1397
1397
|
var ButtonGroup_default = /* @__PURE__ */ defineComponent({
|
|
@@ -1422,7 +1422,7 @@ var ButtonGroup_default = /* @__PURE__ */ defineComponent({
|
|
|
1422
1422
|
block: props.block,
|
|
1423
1423
|
divider: props.divider
|
|
1424
1424
|
}), props.class))
|
|
1425
|
-
}, [renderSlot(_ctx.$slots, "default")], 10, _hoisted_1$
|
|
1425
|
+
}, [renderSlot(_ctx.$slots, "default")], 10, _hoisted_1$89);
|
|
1426
1426
|
};
|
|
1427
1427
|
}
|
|
1428
1428
|
});
|
|
@@ -1656,8 +1656,8 @@ var chipRemove = tv({
|
|
|
1656
1656
|
});
|
|
1657
1657
|
//#endregion
|
|
1658
1658
|
//#region src/components/chip/IconSlot.vue?vue&type=script&setup=true&lang.ts
|
|
1659
|
-
var _hoisted_1$
|
|
1660
|
-
var _hoisted_2$
|
|
1659
|
+
var _hoisted_1$88 = { class: "hn-collapse-body" };
|
|
1660
|
+
var _hoisted_2$44 = {
|
|
1661
1661
|
key: 0,
|
|
1662
1662
|
"aria-hidden": "true",
|
|
1663
1663
|
class: "absolute inset-0 inline-flex items-center justify-center"
|
|
@@ -1678,7 +1678,7 @@ var IconSlot_default = /* @__PURE__ */ defineComponent({
|
|
|
1678
1678
|
return openBlock(), createElementBlock("span", {
|
|
1679
1679
|
"data-hn-icon": "",
|
|
1680
1680
|
class: normalizeClass(["hn-collapse-x", props.icon || props.checked ? "hn-collapse-open" : "hn-collapse-closed"])
|
|
1681
|
-
}, [createElementVNode("span", _hoisted_1$
|
|
1681
|
+
}, [createElementVNode("span", _hoisted_1$88, [createElementVNode("span", { class: normalizeClass(unref(chipIcon)({ size: props.size })) }, [props.icon ? (openBlock(), createElementBlock("span", {
|
|
1682
1682
|
key: 0,
|
|
1683
1683
|
class: normalizeClass(["hn-transition inline-flex items-center justify-center", props.checked ? "scale-90 opacity-0" : "scale-100 opacity-100"])
|
|
1684
1684
|
}, [renderSlot(_ctx.$slots, "default")], 2)) : createCommentVNode("", true), createVNode(Transition, {
|
|
@@ -1687,7 +1687,7 @@ var IconSlot_default = /* @__PURE__ */ defineComponent({
|
|
|
1687
1687
|
"leave-active-class": "hn-transition",
|
|
1688
1688
|
"leave-to-class": "scale-90 opacity-0"
|
|
1689
1689
|
}, {
|
|
1690
|
-
default: withCtx(() => [props.checked ? (openBlock(), createElementBlock("span", _hoisted_2$
|
|
1690
|
+
default: withCtx(() => [props.checked ? (openBlock(), createElementBlock("span", _hoisted_2$44, [createVNode(unref(Check))])) : createCommentVNode("", true)]),
|
|
1691
1691
|
_: 1
|
|
1692
1692
|
})], 2)])], 2);
|
|
1693
1693
|
};
|
|
@@ -1874,13 +1874,13 @@ var VisuallyHidden_default = /* @__PURE__ */ defineComponent({
|
|
|
1874
1874
|
});
|
|
1875
1875
|
//#endregion
|
|
1876
1876
|
//#region src/components/lightbox/LightboxStrip.vue?vue&type=script&setup=true&lang.ts
|
|
1877
|
-
var _hoisted_1$
|
|
1877
|
+
var _hoisted_1$87 = [
|
|
1878
1878
|
"src",
|
|
1879
1879
|
"alt",
|
|
1880
1880
|
"onLoad"
|
|
1881
1881
|
];
|
|
1882
|
-
var _hoisted_2$
|
|
1883
|
-
var _hoisted_3$
|
|
1882
|
+
var _hoisted_2$43 = ["src"];
|
|
1883
|
+
var _hoisted_3$21 = [
|
|
1884
1884
|
"src",
|
|
1885
1885
|
"alt",
|
|
1886
1886
|
"onLoad"
|
|
@@ -1941,7 +1941,7 @@ var LightboxStrip_default = /* @__PURE__ */ defineComponent({
|
|
|
1941
1941
|
draggable: "false",
|
|
1942
1942
|
class: "block size-full object-contain",
|
|
1943
1943
|
onLoad: ($event) => emit("learn", slide.item.id, $event.target)
|
|
1944
|
-
}, null, 40, _hoisted_1$
|
|
1944
|
+
}, null, 40, _hoisted_1$87), createVNode(Transition, {
|
|
1945
1945
|
"enter-active-class": "hn-transition-base",
|
|
1946
1946
|
"enter-from-class": "opacity-0",
|
|
1947
1947
|
"leave-active-class": "hn-transition",
|
|
@@ -1954,7 +1954,7 @@ var LightboxStrip_default = /* @__PURE__ */ defineComponent({
|
|
|
1954
1954
|
"aria-hidden": "true",
|
|
1955
1955
|
draggable: "false",
|
|
1956
1956
|
class: "absolute inset-0 size-full object-contain"
|
|
1957
|
-
}, null, 8, _hoisted_2$
|
|
1957
|
+
}, null, 8, _hoisted_2$43)) : createCommentVNode("", true)]),
|
|
1958
1958
|
_: 1
|
|
1959
1959
|
})]),
|
|
1960
1960
|
_: 2
|
|
@@ -1976,7 +1976,7 @@ var LightboxStrip_default = /* @__PURE__ */ defineComponent({
|
|
|
1976
1976
|
draggable: "false",
|
|
1977
1977
|
class: "block size-full object-contain",
|
|
1978
1978
|
onLoad: ($event) => emit("learn", slide.item.id, $event.target)
|
|
1979
|
-
}, null, 40, _hoisted_3$
|
|
1979
|
+
}, null, 40, _hoisted_3$21)]),
|
|
1980
1980
|
_: 2
|
|
1981
1981
|
}, 1032, [
|
|
1982
1982
|
"style",
|
|
@@ -2116,7 +2116,7 @@ function useEdgeShadow(viewport, opts) {
|
|
|
2116
2116
|
//#region src/components/scroll-area/composables/useWheelRedirect.ts
|
|
2117
2117
|
function useWheelRedirect(viewport, enabled) {
|
|
2118
2118
|
function onWheel(event) {
|
|
2119
|
-
if (!enabled()) return;
|
|
2119
|
+
if (event.defaultPrevented || !enabled()) return;
|
|
2120
2120
|
const el = viewport.value;
|
|
2121
2121
|
if (!el) return;
|
|
2122
2122
|
if (Math.abs(event.deltaY) <= Math.abs(event.deltaX)) return;
|
|
@@ -2150,9 +2150,6 @@ var useBodyPointerLock = createSharedComposable(() => {
|
|
|
2150
2150
|
}
|
|
2151
2151
|
return locked;
|
|
2152
2152
|
});
|
|
2153
|
-
function block(event) {
|
|
2154
|
-
event.preventDefault();
|
|
2155
|
-
}
|
|
2156
2153
|
function useLayerLock(viewport) {
|
|
2157
2154
|
const locked = useBodyPointerLock();
|
|
2158
2155
|
let release;
|
|
@@ -2160,28 +2157,58 @@ function useLayerLock(viewport) {
|
|
|
2160
2157
|
release?.();
|
|
2161
2158
|
release = void 0;
|
|
2162
2159
|
const el = viewport.value;
|
|
2163
|
-
if (!el || !locked.value
|
|
2164
|
-
|
|
2165
|
-
|
|
2160
|
+
if (!el || !locked.value) return;
|
|
2161
|
+
const block = (event) => {
|
|
2162
|
+
if (getComputedStyle(el).pointerEvents === "none") event.preventDefault();
|
|
2163
|
+
};
|
|
2164
|
+
el.addEventListener("wheel", block, {
|
|
2165
|
+
passive: false,
|
|
2166
|
+
capture: true
|
|
2167
|
+
});
|
|
2168
|
+
el.addEventListener("touchmove", block, {
|
|
2169
|
+
passive: false,
|
|
2170
|
+
capture: true
|
|
2171
|
+
});
|
|
2166
2172
|
release = () => {
|
|
2167
|
-
el.removeEventListener("wheel", block);
|
|
2168
|
-
el.removeEventListener("touchmove", block);
|
|
2173
|
+
el.removeEventListener("wheel", block, true);
|
|
2174
|
+
el.removeEventListener("touchmove", block, true);
|
|
2169
2175
|
};
|
|
2170
2176
|
}
|
|
2171
2177
|
watch([locked, viewport], apply, { flush: "post" });
|
|
2172
2178
|
onBeforeUnmount(() => release?.());
|
|
2173
2179
|
}
|
|
2174
2180
|
//#endregion
|
|
2181
|
+
//#region src/components/scroll-area/composables/useScrollFocus.ts
|
|
2182
|
+
function useScrollFocus(host, viewport, options) {
|
|
2183
|
+
function attributes(enabled) {
|
|
2184
|
+
const { focusable, label } = options();
|
|
2185
|
+
return {
|
|
2186
|
+
tabindex: enabled && focusable ? 0 : void 0,
|
|
2187
|
+
role: enabled && focusable ? "region" : void 0,
|
|
2188
|
+
"aria-label": enabled && focusable ? label : void 0
|
|
2189
|
+
};
|
|
2190
|
+
}
|
|
2191
|
+
const hostFocus = computed(() => attributes(!viewport.value));
|
|
2192
|
+
const viewportFocus = computed(() => attributes(!!viewport.value));
|
|
2193
|
+
watch(viewport, async (element) => {
|
|
2194
|
+
const target = host.value;
|
|
2195
|
+
if (!element || !target || !options().focusable) return;
|
|
2196
|
+
if (target.ownerDocument.activeElement !== target) return;
|
|
2197
|
+
await nextTick();
|
|
2198
|
+
const active = target.ownerDocument.activeElement;
|
|
2199
|
+
if (options().focusable && element.isConnected && (active === target || active === target.ownerDocument.body)) element.focus({ preventScroll: true });
|
|
2200
|
+
}, { flush: "sync" });
|
|
2201
|
+
return {
|
|
2202
|
+
hostFocus,
|
|
2203
|
+
viewportFocus
|
|
2204
|
+
};
|
|
2205
|
+
}
|
|
2206
|
+
//#endregion
|
|
2175
2207
|
//#region src/components/scroll-area/ScrollArea.vue?vue&type=script&setup=true&lang.ts
|
|
2176
|
-
var _hoisted_1$
|
|
2177
|
-
|
|
2178
|
-
|
|
2179
|
-
"aria-label"
|
|
2180
|
-
];
|
|
2181
|
-
var _hoisted_2$43 = ["data-visible"];
|
|
2182
|
-
var _hoisted_3$21 = ["data-visible"];
|
|
2208
|
+
var _hoisted_1$86 = ["data-visible"];
|
|
2209
|
+
var _hoisted_2$42 = ["data-visible"];
|
|
2210
|
+
var _hoisted_3$20 = ["data-visible"];
|
|
2183
2211
|
var _hoisted_4$15 = ["data-visible"];
|
|
2184
|
-
var _hoisted_5$11 = ["data-visible"];
|
|
2185
2212
|
//#endregion
|
|
2186
2213
|
//#region src/components/scroll-area/ScrollArea.vue
|
|
2187
2214
|
var ScrollArea_default = /* @__PURE__ */ defineComponent({
|
|
@@ -2242,6 +2269,10 @@ var ScrollArea_default = /* @__PURE__ */ defineComponent({
|
|
|
2242
2269
|
};
|
|
2243
2270
|
}
|
|
2244
2271
|
const { viewport, instance, onEvent } = useOverlayScrollbars(host, content, options);
|
|
2272
|
+
const { hostFocus, viewportFocus } = useScrollFocus(host, viewport, () => ({
|
|
2273
|
+
focusable: props.focusable,
|
|
2274
|
+
label: props.label ?? t.value.scroll.regionLabel
|
|
2275
|
+
}));
|
|
2245
2276
|
const { showXStart, showXEnd, showYStart, showYEnd, updateEdges } = useEdgeShadow(viewport, () => ({
|
|
2246
2277
|
direction: props.direction,
|
|
2247
2278
|
shadow: props.shadow
|
|
@@ -2264,62 +2295,80 @@ var ScrollArea_default = /* @__PURE__ */ defineComponent({
|
|
|
2264
2295
|
return openBlock(), createElementBlock("div", { class: normalizeClass(unref(cn)("hn-scroll-area relative flex flex-col overflow-hidden", props.class)) }, [createElementVNode("div", mergeProps({
|
|
2265
2296
|
ref_key: "host",
|
|
2266
2297
|
ref: host
|
|
2267
|
-
},
|
|
2298
|
+
}, {
|
|
2299
|
+
..._ctx.$attrs,
|
|
2300
|
+
...unref(hostFocus)
|
|
2301
|
+
}, {
|
|
2268
2302
|
"data-overlayscrollbars-initialize": "",
|
|
2269
|
-
tabindex: props.focusable ? 0 : void 0,
|
|
2270
|
-
role: props.focusable ? "region" : void 0,
|
|
2271
|
-
"aria-label": props.focusable ? props.label ?? unref(t).scroll.regionLabel : void 0,
|
|
2272
2303
|
class: "w-full min-h-0 grow"
|
|
2273
|
-
}), [createElementVNode("div", {
|
|
2304
|
+
}), [createElementVNode("div", mergeProps({
|
|
2274
2305
|
ref_key: "content",
|
|
2275
|
-
ref: content
|
|
2276
|
-
|
|
2277
|
-
}, [renderSlot(_ctx.$slots, "default")], 512)], 16, _hoisted_1$87), props.shadow ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
|
|
2306
|
+
ref: content
|
|
2307
|
+
}, unref(viewportFocus), { "data-overlayscrollbars-contents": "" }), [renderSlot(_ctx.$slots, "default")], 16)], 16), props.shadow ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
|
|
2278
2308
|
props.direction !== "vertical" ? (openBlock(), createElementBlock("div", {
|
|
2279
2309
|
key: 0,
|
|
2280
2310
|
class: "hn-scroll-shadow",
|
|
2281
2311
|
"data-side": "x-start",
|
|
2282
2312
|
"data-visible": unref(showXStart) ? "" : void 0,
|
|
2283
2313
|
"aria-hidden": "true"
|
|
2284
|
-
}, null, 8,
|
|
2314
|
+
}, null, 8, _hoisted_1$86)) : createCommentVNode("", true),
|
|
2285
2315
|
props.direction !== "vertical" ? (openBlock(), createElementBlock("div", {
|
|
2286
2316
|
key: 1,
|
|
2287
2317
|
class: "hn-scroll-shadow",
|
|
2288
2318
|
"data-side": "x-end",
|
|
2289
2319
|
"data-visible": unref(showXEnd) ? "" : void 0,
|
|
2290
2320
|
"aria-hidden": "true"
|
|
2291
|
-
}, null, 8,
|
|
2321
|
+
}, null, 8, _hoisted_2$42)) : createCommentVNode("", true),
|
|
2292
2322
|
props.direction !== "horizontal" ? (openBlock(), createElementBlock("div", {
|
|
2293
2323
|
key: 2,
|
|
2294
2324
|
class: "hn-scroll-shadow",
|
|
2295
2325
|
"data-side": "y-start",
|
|
2296
2326
|
"data-visible": unref(showYStart) ? "" : void 0,
|
|
2297
2327
|
"aria-hidden": "true"
|
|
2298
|
-
}, null, 8,
|
|
2328
|
+
}, null, 8, _hoisted_3$20)) : createCommentVNode("", true),
|
|
2299
2329
|
props.direction !== "horizontal" ? (openBlock(), createElementBlock("div", {
|
|
2300
2330
|
key: 3,
|
|
2301
2331
|
class: "hn-scroll-shadow",
|
|
2302
2332
|
"data-side": "y-end",
|
|
2303
2333
|
"data-visible": unref(showYEnd) ? "" : void 0,
|
|
2304
2334
|
"aria-hidden": "true"
|
|
2305
|
-
}, null, 8,
|
|
2335
|
+
}, null, 8, _hoisted_4$15)) : createCommentVNode("", true)
|
|
2306
2336
|
], 64)) : createCommentVNode("", true)], 2);
|
|
2307
2337
|
};
|
|
2308
2338
|
}
|
|
2309
2339
|
});
|
|
2310
2340
|
//#endregion
|
|
2341
|
+
//#region src/components/highlight/composables/useHighlightMotion.ts
|
|
2342
|
+
function useHighlightMotion(axis) {
|
|
2343
|
+
return {
|
|
2344
|
+
transition: computed(() => prefersReducedMotion() ? { duration: 0 } : TRANSITION.layout),
|
|
2345
|
+
transformTemplate: computed(() => {
|
|
2346
|
+
const direction = axis();
|
|
2347
|
+
if (direction === "both") return void 0;
|
|
2348
|
+
return (_, generated) => {
|
|
2349
|
+
if (!generated || generated === "none" || typeof DOMMatrix === "undefined") return generated;
|
|
2350
|
+
const matrix = new DOMMatrix(generated);
|
|
2351
|
+
if (direction === "x") matrix.m42 = 0;
|
|
2352
|
+
else matrix.m41 = 0;
|
|
2353
|
+
return matrix.toString();
|
|
2354
|
+
};
|
|
2355
|
+
})
|
|
2356
|
+
};
|
|
2357
|
+
}
|
|
2358
|
+
//#endregion
|
|
2311
2359
|
//#region src/components/highlight/Highlight.vue
|
|
2312
2360
|
var Highlight_default = /* @__PURE__ */ defineComponent({
|
|
2313
2361
|
name: "HnHighlight",
|
|
2314
2362
|
__name: "Highlight",
|
|
2315
2363
|
props: {
|
|
2316
2364
|
id: { default: void 0 },
|
|
2365
|
+
axis: { default: "both" },
|
|
2317
2366
|
as: { default: "div" },
|
|
2318
2367
|
class: {}
|
|
2319
2368
|
},
|
|
2320
2369
|
setup(__props) {
|
|
2321
2370
|
const props = __props;
|
|
2322
|
-
const transition =
|
|
2371
|
+
const { transition, transformTemplate } = useHighlightMotion(() => props.axis);
|
|
2323
2372
|
return (_ctx, _cache) => {
|
|
2324
2373
|
return openBlock(), createBlock(unref(Motion), {
|
|
2325
2374
|
as: props.as,
|
|
@@ -2327,12 +2376,14 @@ var Highlight_default = /* @__PURE__ */ defineComponent({
|
|
|
2327
2376
|
"layout-id": props.id,
|
|
2328
2377
|
"aria-hidden": "true",
|
|
2329
2378
|
"data-hn-highlight": "",
|
|
2330
|
-
transition: transition
|
|
2379
|
+
transition: unref(transition),
|
|
2380
|
+
"transform-template": unref(transformTemplate),
|
|
2331
2381
|
class: normalizeClass(unref(cn)("pointer-events-none", props.class))
|
|
2332
2382
|
}, null, 8, [
|
|
2333
2383
|
"as",
|
|
2334
2384
|
"layout-id",
|
|
2335
2385
|
"transition",
|
|
2386
|
+
"transform-template",
|
|
2336
2387
|
"class"
|
|
2337
2388
|
]);
|
|
2338
2389
|
};
|
|
@@ -2340,16 +2391,16 @@ var Highlight_default = /* @__PURE__ */ defineComponent({
|
|
|
2340
2391
|
});
|
|
2341
2392
|
//#endregion
|
|
2342
2393
|
//#region src/components/lightbox/LightboxThumbs.vue?vue&type=script&setup=true&lang.ts
|
|
2343
|
-
var _hoisted_1$
|
|
2394
|
+
var _hoisted_1$85 = {
|
|
2344
2395
|
"data-hn-thumbs": "",
|
|
2345
2396
|
class: "relative isolate flex w-max gap-2 px-4 py-3"
|
|
2346
2397
|
};
|
|
2347
|
-
var _hoisted_2$
|
|
2398
|
+
var _hoisted_2$41 = [
|
|
2348
2399
|
"aria-label",
|
|
2349
2400
|
"aria-current",
|
|
2350
2401
|
"onClick"
|
|
2351
2402
|
];
|
|
2352
|
-
var _hoisted_3$
|
|
2403
|
+
var _hoisted_3$19 = ["src"];
|
|
2353
2404
|
//#endregion
|
|
2354
2405
|
//#region src/components/lightbox/LightboxThumbs.vue
|
|
2355
2406
|
var LightboxThumbs_default = /* @__PURE__ */ defineComponent({
|
|
@@ -2385,7 +2436,7 @@ var LightboxThumbs_default = /* @__PURE__ */ defineComponent({
|
|
|
2385
2436
|
scrollbar: false,
|
|
2386
2437
|
class: "max-w-full"
|
|
2387
2438
|
}, {
|
|
2388
|
-
default: withCtx(() => [createElementVNode("div", _hoisted_1$
|
|
2439
|
+
default: withCtx(() => [createElementVNode("div", _hoisted_1$85, [(openBlock(true), createElementBlock(Fragment, null, renderList(props.items, (item, at) => {
|
|
2389
2440
|
return openBlock(), createElementBlock("button", {
|
|
2390
2441
|
key: item.id,
|
|
2391
2442
|
ref_for: true,
|
|
@@ -2402,13 +2453,14 @@ var LightboxThumbs_default = /* @__PURE__ */ defineComponent({
|
|
|
2402
2453
|
alt: "",
|
|
2403
2454
|
draggable: "false",
|
|
2404
2455
|
class: "relative -z-10 size-full object-cover"
|
|
2405
|
-
}, null, 8, _hoisted_3$
|
|
2456
|
+
}, null, 8, _hoisted_3$19),
|
|
2406
2457
|
at === props.index ? (openBlock(), createBlock(Highlight_default, {
|
|
2407
2458
|
key: 0,
|
|
2408
2459
|
id: unref(highlightId),
|
|
2460
|
+
axis: "x",
|
|
2409
2461
|
class: "ring-accent absolute inset-0 rounded-md ring-2 ring-inset"
|
|
2410
2462
|
}, null, 8, ["id"])) : createCommentVNode("", true)
|
|
2411
|
-
], 10, _hoisted_2$
|
|
2463
|
+
], 10, _hoisted_2$41);
|
|
2412
2464
|
}), 128))])]),
|
|
2413
2465
|
_: 1
|
|
2414
2466
|
});
|
|
@@ -2417,8 +2469,8 @@ var LightboxThumbs_default = /* @__PURE__ */ defineComponent({
|
|
|
2417
2469
|
});
|
|
2418
2470
|
//#endregion
|
|
2419
2471
|
//#region src/components/lightbox/LightboxToolbar.vue?vue&type=script&setup=true&lang.ts
|
|
2420
|
-
var _hoisted_1$
|
|
2421
|
-
var _hoisted_2$
|
|
2472
|
+
var _hoisted_1$84 = { class: "flex flex-col items-center gap-1 pb-3" };
|
|
2473
|
+
var _hoisted_2$40 = { class: "flex items-center gap-1" };
|
|
2422
2474
|
//#endregion
|
|
2423
2475
|
//#region src/components/lightbox/LightboxToolbar.vue
|
|
2424
2476
|
var LightboxToolbar_default = /* @__PURE__ */ defineComponent({
|
|
@@ -2442,12 +2494,12 @@ var LightboxToolbar_default = /* @__PURE__ */ defineComponent({
|
|
|
2442
2494
|
const emit = __emit;
|
|
2443
2495
|
const t = useUiLocale();
|
|
2444
2496
|
return (_ctx, _cache) => {
|
|
2445
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
2497
|
+
return openBlock(), createElementBlock("div", _hoisted_1$84, [props.items.length > 1 ? (openBlock(), createBlock(LightboxThumbs_default, {
|
|
2446
2498
|
key: 0,
|
|
2447
2499
|
items: props.items,
|
|
2448
2500
|
index: props.index,
|
|
2449
2501
|
onSelect: _cache[0] || (_cache[0] = ($event) => emit("select", $event))
|
|
2450
|
-
}, null, 8, ["items", "index"])) : createCommentVNode("", true), createElementVNode("div", _hoisted_2$
|
|
2502
|
+
}, null, 8, ["items", "index"])) : createCommentVNode("", true), createElementVNode("div", _hoisted_2$40, [
|
|
2451
2503
|
createVNode(IconButton_default, {
|
|
2452
2504
|
label: unref(t).lightbox.zoomOut,
|
|
2453
2505
|
variant: "soft",
|
|
@@ -2719,7 +2771,7 @@ var REST_POSE = {
|
|
|
2719
2771
|
y: 0,
|
|
2720
2772
|
scale: 1,
|
|
2721
2773
|
rotate: 0,
|
|
2722
|
-
clipPath: "inset(0px 0px 0px 0px round 0px)"
|
|
2774
|
+
clipPath: "inset(0px 0px 0px 0px round 0px 0px 0px 0px / 0px 0px 0px 0px)"
|
|
2723
2775
|
};
|
|
2724
2776
|
var TRAVEL_SPRING = {
|
|
2725
2777
|
type: "spring",
|
|
@@ -2770,22 +2822,41 @@ function intersect(a, b) {
|
|
|
2770
2822
|
height: Math.max(0, bottom - y)
|
|
2771
2823
|
};
|
|
2772
2824
|
}
|
|
2773
|
-
function openPose(frame, box, natural, fit, radius = 0) {
|
|
2825
|
+
function openPose(frame, box, natural, fit, radius = 0, clipBox = box) {
|
|
2774
2826
|
const rendered = renderedRect(box, natural, fit);
|
|
2775
2827
|
if (frame.width <= 0 || frame.height <= 0 || rendered.width <= 0) return REST_POSE;
|
|
2776
2828
|
const scale = rendered.width / frame.width;
|
|
2777
|
-
const visible = intersect(box, rendered);
|
|
2829
|
+
const visible = intersect(intersect(box, clipBox), rendered);
|
|
2778
2830
|
const top = (visible.y - rendered.y) / scale;
|
|
2779
2831
|
const left = (visible.x - rendered.x) / scale;
|
|
2780
2832
|
const right = (rendered.x + rendered.width - visible.x - visible.width) / scale;
|
|
2781
2833
|
const bottom = (rendered.y + rendered.height - visible.y - visible.height) / scale;
|
|
2782
|
-
const
|
|
2834
|
+
const corners = typeof radius === "number" ? Array.from({ length: 4 }, () => ({
|
|
2835
|
+
x: radius,
|
|
2836
|
+
y: radius
|
|
2837
|
+
})) : radius;
|
|
2838
|
+
const leftEdge = Math.abs(visible.x - clipBox.x) <= .5;
|
|
2839
|
+
const topEdge = Math.abs(visible.y - clipBox.y) <= .5;
|
|
2840
|
+
const rightEdge = Math.abs(visible.x + visible.width - clipBox.x - clipBox.width) <= .5;
|
|
2841
|
+
const bottomEdge = Math.abs(visible.y + visible.height - clipBox.y - clipBox.height) <= .5;
|
|
2842
|
+
const touches = [
|
|
2843
|
+
leftEdge && topEdge,
|
|
2844
|
+
rightEdge && topEdge,
|
|
2845
|
+
rightEdge && bottomEdge,
|
|
2846
|
+
leftEdge && bottomEdge
|
|
2847
|
+
];
|
|
2848
|
+
const clipped = corners.map((corner, index) => touches[index] ? corner : {
|
|
2849
|
+
x: 0,
|
|
2850
|
+
y: 0
|
|
2851
|
+
});
|
|
2852
|
+
const horizontal = clipped.map((corner) => px(Math.max(0, corner.x) / scale)).join(" ");
|
|
2853
|
+
const vertical = clipped.map((corner) => px(Math.max(0, corner.y) / scale)).join(" ");
|
|
2783
2854
|
return {
|
|
2784
2855
|
x: rendered.x + rendered.width / 2 - (frame.x + frame.width / 2),
|
|
2785
2856
|
y: rendered.y + rendered.height / 2 - (frame.y + frame.height / 2),
|
|
2786
2857
|
scale,
|
|
2787
2858
|
rotate: 0,
|
|
2788
|
-
clipPath: `inset(${px(top)} ${px(right)} ${px(bottom)} ${px(left)} round ${
|
|
2859
|
+
clipPath: `inset(${px(top)} ${px(right)} ${px(bottom)} ${px(left)} round ${horizontal} / ${vertical})`
|
|
2789
2860
|
};
|
|
2790
2861
|
}
|
|
2791
2862
|
function baseScale(frame, stage, rotation) {
|
|
@@ -2794,13 +2865,6 @@ function baseScale(frame, stage, rotation) {
|
|
|
2794
2865
|
if (rotation % 180 === 0) return 1;
|
|
2795
2866
|
return Math.min(stage.width / visual.width, stage.height / visual.height);
|
|
2796
2867
|
}
|
|
2797
|
-
function radiusOf(el) {
|
|
2798
|
-
for (let node = el, depth = 0; node && depth < 2; node = node.parentElement, depth += 1) {
|
|
2799
|
-
const value = Number.parseFloat(getComputedStyle(node).borderTopLeftRadius);
|
|
2800
|
-
if (value > 0) return value;
|
|
2801
|
-
}
|
|
2802
|
-
return 0;
|
|
2803
|
-
}
|
|
2804
2868
|
function dismissProgress(offsetY, stageHeight) {
|
|
2805
2869
|
if (stageHeight <= 0) return 0;
|
|
2806
2870
|
return Math.min(1, Math.max(0, offsetY) / (stageHeight * DISMISS_TRAVEL));
|
|
@@ -2885,7 +2949,7 @@ function useLightboxMotion(stageHeight, restScale) {
|
|
|
2885
2949
|
function leave(to) {
|
|
2886
2950
|
stop();
|
|
2887
2951
|
const t = to ? timing(RETURN_SPRING) : transition("exit");
|
|
2888
|
-
return settle([...to ? poseTo(to, t) : [animate(scale, FADE_POSE.scale, t), animate(opacity, 0, t)], animate(presence, 0, t)]);
|
|
2952
|
+
return settle([...to ? poseTo(to, t) : [animate(scale, Math.min(scale.get(), FADE_POSE.scale), t), animate(opacity, 0, t)], animate(presence, 0, t)]);
|
|
2889
2953
|
}
|
|
2890
2954
|
function dismissMove(offsetY) {
|
|
2891
2955
|
y.set(offsetY < 0 ? rubberBand(offsetY, 0, Infinity, stageHeight()) : offsetY);
|
|
@@ -3531,6 +3595,131 @@ function useLightboxLarge(item, active) {
|
|
|
3531
3595
|
};
|
|
3532
3596
|
}
|
|
3533
3597
|
//#endregion
|
|
3598
|
+
//#region src/components/lightbox/utils/clip.ts
|
|
3599
|
+
function emptyCorners() {
|
|
3600
|
+
return [
|
|
3601
|
+
{
|
|
3602
|
+
x: 0,
|
|
3603
|
+
y: 0
|
|
3604
|
+
},
|
|
3605
|
+
{
|
|
3606
|
+
x: 0,
|
|
3607
|
+
y: 0
|
|
3608
|
+
},
|
|
3609
|
+
{
|
|
3610
|
+
x: 0,
|
|
3611
|
+
y: 0
|
|
3612
|
+
},
|
|
3613
|
+
{
|
|
3614
|
+
x: 0,
|
|
3615
|
+
y: 0
|
|
3616
|
+
}
|
|
3617
|
+
];
|
|
3618
|
+
}
|
|
3619
|
+
function length(value, size) {
|
|
3620
|
+
const number = Number.parseFloat(value) || 0;
|
|
3621
|
+
return value.endsWith("%") ? number * size / 100 : number;
|
|
3622
|
+
}
|
|
3623
|
+
function cornersOf(style, width, height) {
|
|
3624
|
+
const corners = [
|
|
3625
|
+
style.borderTopLeftRadius,
|
|
3626
|
+
style.borderTopRightRadius,
|
|
3627
|
+
style.borderBottomRightRadius,
|
|
3628
|
+
style.borderBottomLeftRadius
|
|
3629
|
+
].map((value) => {
|
|
3630
|
+
const [x = "0", y = x] = value.split(/\s+/);
|
|
3631
|
+
return {
|
|
3632
|
+
x: length(x, width),
|
|
3633
|
+
y: length(y, height)
|
|
3634
|
+
};
|
|
3635
|
+
});
|
|
3636
|
+
const [tl, tr, br, bl] = corners;
|
|
3637
|
+
const factor = Math.min(1, width / (tl.x + tr.x || 1), width / (bl.x + br.x || 1), height / (tl.y + bl.y || 1), height / (tr.y + br.y || 1));
|
|
3638
|
+
return corners.map((corner) => ({
|
|
3639
|
+
x: corner.x * factor,
|
|
3640
|
+
y: corner.y * factor
|
|
3641
|
+
}));
|
|
3642
|
+
}
|
|
3643
|
+
function paddingBox(node, style) {
|
|
3644
|
+
const box = node.getBoundingClientRect();
|
|
3645
|
+
const width = node instanceof HTMLElement ? node.offsetWidth : box.width;
|
|
3646
|
+
const height = node instanceof HTMLElement ? node.offsetHeight : box.height;
|
|
3647
|
+
const sx = width ? box.width / width : 1;
|
|
3648
|
+
const sy = height ? box.height / height : 1;
|
|
3649
|
+
const left = Number.parseFloat(style.borderLeftWidth) || 0;
|
|
3650
|
+
const right = Number.parseFloat(style.borderRightWidth) || 0;
|
|
3651
|
+
const top = Number.parseFloat(style.borderTopWidth) || 0;
|
|
3652
|
+
const bottom = Number.parseFloat(style.borderBottomWidth) || 0;
|
|
3653
|
+
const corners = cornersOf(style, width, height);
|
|
3654
|
+
const borders = [
|
|
3655
|
+
[left, top],
|
|
3656
|
+
[right, top],
|
|
3657
|
+
[right, bottom],
|
|
3658
|
+
[left, bottom]
|
|
3659
|
+
];
|
|
3660
|
+
return {
|
|
3661
|
+
rect: {
|
|
3662
|
+
x: box.x + left * sx,
|
|
3663
|
+
y: box.y + top * sy,
|
|
3664
|
+
width: Math.max(0, box.width - (left + right) * sx),
|
|
3665
|
+
height: Math.max(0, box.height - (top + bottom) * sy)
|
|
3666
|
+
},
|
|
3667
|
+
corners: corners.map((corner, index) => ({
|
|
3668
|
+
x: Math.max(0, corner.x - borders[index][0]) * sx,
|
|
3669
|
+
y: Math.max(0, corner.y - borders[index][1]) * sy
|
|
3670
|
+
}))
|
|
3671
|
+
};
|
|
3672
|
+
}
|
|
3673
|
+
function points(rect) {
|
|
3674
|
+
return [
|
|
3675
|
+
[rect.x, rect.y],
|
|
3676
|
+
[rect.x + rect.width, rect.y],
|
|
3677
|
+
[rect.x + rect.width, rect.y + rect.height],
|
|
3678
|
+
[rect.x, rect.y + rect.height]
|
|
3679
|
+
];
|
|
3680
|
+
}
|
|
3681
|
+
function clipOf(el, box) {
|
|
3682
|
+
let rect = {
|
|
3683
|
+
x: box.x,
|
|
3684
|
+
y: box.y,
|
|
3685
|
+
width: box.width,
|
|
3686
|
+
height: box.height
|
|
3687
|
+
};
|
|
3688
|
+
const clips = [];
|
|
3689
|
+
for (let node = el; node; node = node.parentElement) {
|
|
3690
|
+
const style = getComputedStyle(node);
|
|
3691
|
+
const clipX = node === el || /^(hidden|clip|scroll|auto)$/.test(style.overflowX);
|
|
3692
|
+
const clipY = node === el || /^(hidden|clip|scroll|auto)$/.test(style.overflowY);
|
|
3693
|
+
if (!clipX && !clipY) continue;
|
|
3694
|
+
const clip = paddingBox(node, style);
|
|
3695
|
+
const x = clipX ? Math.max(rect.x, clip.rect.x) : rect.x;
|
|
3696
|
+
const y = clipY ? Math.max(rect.y, clip.rect.y) : rect.y;
|
|
3697
|
+
const right = clipX ? Math.min(rect.x + rect.width, clip.rect.x + clip.rect.width) : rect.x + rect.width;
|
|
3698
|
+
const bottom = clipY ? Math.min(rect.y + rect.height, clip.rect.y + clip.rect.height) : rect.y + rect.height;
|
|
3699
|
+
rect = {
|
|
3700
|
+
x,
|
|
3701
|
+
y,
|
|
3702
|
+
width: Math.max(0, right - x),
|
|
3703
|
+
height: Math.max(0, bottom - y)
|
|
3704
|
+
};
|
|
3705
|
+
if (clipX && clipY) clips.push(clip);
|
|
3706
|
+
}
|
|
3707
|
+
const corners = emptyCorners();
|
|
3708
|
+
const visible = points(rect);
|
|
3709
|
+
for (const clip of clips) {
|
|
3710
|
+
const edges = points(clip.rect);
|
|
3711
|
+
for (let index = 0; index < 4; index += 1) {
|
|
3712
|
+
if (visible[index].some((value, axis) => Math.abs(value - edges[index][axis]) > .5)) continue;
|
|
3713
|
+
corners[index].x = Math.max(corners[index].x, clip.corners[index].x);
|
|
3714
|
+
corners[index].y = Math.max(corners[index].y, clip.corners[index].y);
|
|
3715
|
+
}
|
|
3716
|
+
}
|
|
3717
|
+
return {
|
|
3718
|
+
rect,
|
|
3719
|
+
corners
|
|
3720
|
+
};
|
|
3721
|
+
}
|
|
3722
|
+
//#endregion
|
|
3534
3723
|
//#region src/components/lightbox/composables/useLightboxPose.ts
|
|
3535
3724
|
function useLightboxPose(frames, current) {
|
|
3536
3725
|
function sourceBox() {
|
|
@@ -3552,7 +3741,9 @@ function useLightboxPose(frames, current) {
|
|
|
3552
3741
|
const box = sourceBox();
|
|
3553
3742
|
const natural = frames.naturalOf(item);
|
|
3554
3743
|
if (!box || !natural) return null;
|
|
3555
|
-
|
|
3744
|
+
const clip = clipOf(item?.source?.(), box);
|
|
3745
|
+
if (clip.rect.width <= 0 || clip.rect.height <= 0) return null;
|
|
3746
|
+
return openPose(frames.frameOf(item), box, natural, item?.fit, clip.corners, clip.rect);
|
|
3556
3747
|
}
|
|
3557
3748
|
return { fromSource };
|
|
3558
3749
|
}
|
|
@@ -3725,8 +3916,8 @@ async function saveImage(url) {
|
|
|
3725
3916
|
}
|
|
3726
3917
|
//#endregion
|
|
3727
3918
|
//#region src/components/lightbox/Lightbox.vue?vue&type=script&setup=true&lang.ts
|
|
3728
|
-
var _hoisted_1$
|
|
3729
|
-
var _hoisted_2$
|
|
3919
|
+
var _hoisted_1$83 = ["data-hn-phase"];
|
|
3920
|
+
var _hoisted_2$39 = {
|
|
3730
3921
|
"aria-hidden": "true",
|
|
3731
3922
|
class: "pointer-events-none absolute inset-0 isolate"
|
|
3732
3923
|
};
|
|
@@ -3887,7 +4078,7 @@ var Lightbox_default = /* @__PURE__ */ defineComponent({
|
|
|
3887
4078
|
onWheel: _cache[9] || (_cache[9] = (...args) => unref(gesture).onWheel && unref(gesture).onWheel(...args)),
|
|
3888
4079
|
onKeydown
|
|
3889
4080
|
}, [
|
|
3890
|
-
createElementVNode("div", _hoisted_2$
|
|
4081
|
+
createElementVNode("div", _hoisted_2$39, [createVNode(unref(Motion), {
|
|
3891
4082
|
class: "hn-scrim",
|
|
3892
4083
|
style: normalizeStyle({ opacity: unref(motion).presence })
|
|
3893
4084
|
}, null, 8, ["style"])]),
|
|
@@ -3952,7 +4143,7 @@ var Lightbox_default = /* @__PURE__ */ defineComponent({
|
|
|
3952
4143
|
"hint",
|
|
3953
4144
|
"presence"
|
|
3954
4145
|
])
|
|
3955
|
-
], 42, _hoisted_1$
|
|
4146
|
+
], 42, _hoisted_1$83)]),
|
|
3956
4147
|
_: 1
|
|
3957
4148
|
})]),
|
|
3958
4149
|
_: 1
|
|
@@ -3964,15 +4155,22 @@ var Lightbox_default = /* @__PURE__ */ defineComponent({
|
|
|
3964
4155
|
});
|
|
3965
4156
|
//#endregion
|
|
3966
4157
|
//#region src/components/image/image.variants.ts
|
|
4158
|
+
var imageRoot = tv({
|
|
4159
|
+
base: "relative block w-full overflow-hidden",
|
|
4160
|
+
variants: { preview: { true: "hn-focus-ring cursor-zoom-in" } }
|
|
4161
|
+
});
|
|
3967
4162
|
var image = tv({
|
|
3968
|
-
base: "block size-full",
|
|
3969
|
-
variants: {
|
|
3970
|
-
|
|
3971
|
-
|
|
3972
|
-
|
|
3973
|
-
|
|
3974
|
-
|
|
3975
|
-
|
|
4163
|
+
base: "relative z-10 block size-full",
|
|
4164
|
+
variants: {
|
|
4165
|
+
lazy: { true: "transition-opacity duration-(--hn-duration-base) ease-enter motion-reduce:transition-none" },
|
|
4166
|
+
fit: {
|
|
4167
|
+
cover: "object-cover",
|
|
4168
|
+
contain: "object-contain",
|
|
4169
|
+
fill: "object-fill",
|
|
4170
|
+
none: "object-none",
|
|
4171
|
+
"scale-down": "object-scale-down"
|
|
4172
|
+
}
|
|
4173
|
+
},
|
|
3976
4174
|
defaultVariants: { fit: "cover" }
|
|
3977
4175
|
});
|
|
3978
4176
|
//#endregion
|
|
@@ -4033,7 +4231,7 @@ function useImage(props, emit) {
|
|
|
4033
4231
|
const style = getComputedStyle(el);
|
|
4034
4232
|
try {
|
|
4035
4233
|
return el.animate(frames, {
|
|
4036
|
-
duration: Number.parseFloat(style.getPropertyValue("--hn-duration-
|
|
4234
|
+
duration: Number.parseFloat(style.getPropertyValue("--hn-duration-fast")) || 0,
|
|
4037
4235
|
easing: style.getPropertyValue("--hn-ease-enter").trim() || "linear",
|
|
4038
4236
|
fill: "forwards"
|
|
4039
4237
|
});
|
|
@@ -4045,13 +4243,17 @@ function useImage(props, emit) {
|
|
|
4045
4243
|
return new Promise((res) => requestAnimationFrame(() => requestAnimationFrame(() => res())));
|
|
4046
4244
|
}
|
|
4047
4245
|
async function reveal() {
|
|
4048
|
-
revealed.value = true;
|
|
4049
4246
|
if (!props.lazy) {
|
|
4247
|
+
revealed.value = true;
|
|
4050
4248
|
skeletonMounted.value = false;
|
|
4051
4249
|
return;
|
|
4052
4250
|
}
|
|
4251
|
+
const img = imageEl.value;
|
|
4252
|
+
const at = src.value;
|
|
4053
4253
|
await nextTick();
|
|
4054
4254
|
await afterPaint();
|
|
4255
|
+
if (imageEl.value !== img || src.value !== at) return;
|
|
4256
|
+
revealed.value = true;
|
|
4055
4257
|
const layer = skeletonEl.value;
|
|
4056
4258
|
const anim = layer && play(layer, [{ opacity: 1 }, { opacity: 0 }]);
|
|
4057
4259
|
if (!anim) {
|
|
@@ -4113,7 +4315,7 @@ function useImageGroup() {
|
|
|
4113
4315
|
}
|
|
4114
4316
|
//#endregion
|
|
4115
4317
|
//#region src/components/image/Image.vue?vue&type=script&setup=true&lang.ts
|
|
4116
|
-
var _hoisted_1$
|
|
4318
|
+
var _hoisted_1$82 = [
|
|
4117
4319
|
"src",
|
|
4118
4320
|
"alt",
|
|
4119
4321
|
"decoding",
|
|
@@ -4151,7 +4353,21 @@ var Image_default = /* @__PURE__ */ defineComponent({
|
|
|
4151
4353
|
},
|
|
4152
4354
|
draggable: { type: Boolean },
|
|
4153
4355
|
class: {},
|
|
4154
|
-
|
|
4356
|
+
style: { type: [
|
|
4357
|
+
Boolean,
|
|
4358
|
+
null,
|
|
4359
|
+
String,
|
|
4360
|
+
Object,
|
|
4361
|
+
Array
|
|
4362
|
+
] },
|
|
4363
|
+
imageClass: {},
|
|
4364
|
+
imageStyle: { type: [
|
|
4365
|
+
Boolean,
|
|
4366
|
+
null,
|
|
4367
|
+
String,
|
|
4368
|
+
Object,
|
|
4369
|
+
Array
|
|
4370
|
+
] }
|
|
4155
4371
|
},
|
|
4156
4372
|
emits: ["load", "error"],
|
|
4157
4373
|
setup(__props, { emit: __emit }) {
|
|
@@ -4187,8 +4403,8 @@ var Image_default = /* @__PURE__ */ defineComponent({
|
|
|
4187
4403
|
ref: rootEl,
|
|
4188
4404
|
as: props.preview ? "button" : "span",
|
|
4189
4405
|
type: props.preview ? "button" : void 0,
|
|
4190
|
-
class: normalizeClass(unref(cn)(
|
|
4191
|
-
style: normalizeStyle(props.ratio ? { aspectRatio: String(props.ratio) } : void 0),
|
|
4406
|
+
class: normalizeClass(unref(cn)(unref(imageRoot)({ preview: !!props.preview }), props.class)),
|
|
4407
|
+
style: normalizeStyle([props.ratio ? { aspectRatio: String(props.ratio) } : void 0, props.style]),
|
|
4192
4408
|
onClick: openPreview
|
|
4193
4409
|
}, {
|
|
4194
4410
|
default: withCtx(() => [
|
|
@@ -4197,13 +4413,17 @@ var Image_default = /* @__PURE__ */ defineComponent({
|
|
|
4197
4413
|
ref_key: "imageEl",
|
|
4198
4414
|
ref: imageEl
|
|
4199
4415
|
}, _ctx.$attrs, {
|
|
4416
|
+
style: props.imageStyle,
|
|
4200
4417
|
src: unref(src),
|
|
4201
4418
|
alt: props.alt,
|
|
4202
4419
|
decoding: props.eager ? "sync" : "async",
|
|
4203
4420
|
fetchpriority: props.eager ? "high" : void 0,
|
|
4204
4421
|
draggable: props.draggable,
|
|
4205
|
-
class: unref(cn)(unref(image)({
|
|
4206
|
-
|
|
4422
|
+
class: unref(cn)(unref(image)({
|
|
4423
|
+
fit: props.fit,
|
|
4424
|
+
lazy: props.lazy
|
|
4425
|
+
}), props.lazy && !unref(revealed) && "opacity-0", props.imageClass)
|
|
4426
|
+
}), null, 16, _hoisted_1$82)) : unref(failed) ? renderSlot(_ctx.$slots, "error", {}, void 0, void 0, 1) : renderSlot(_ctx.$slots, "empty", {}, void 0, void 0, 2),
|
|
4207
4427
|
unref(showSkeleton) ? (openBlock(), createElementBlock("span", {
|
|
4208
4428
|
key: 3,
|
|
4209
4429
|
ref_key: "skeletonEl",
|
|
@@ -4484,7 +4704,7 @@ var indicator = tv({
|
|
|
4484
4704
|
});
|
|
4485
4705
|
//#endregion
|
|
4486
4706
|
//#region src/components/indicator/Indicator.vue?vue&type=script&setup=true&lang.ts
|
|
4487
|
-
var _hoisted_1$
|
|
4707
|
+
var _hoisted_1$81 = {
|
|
4488
4708
|
key: 0,
|
|
4489
4709
|
"aria-hidden": "true",
|
|
4490
4710
|
class: "hn-ping absolute inset-0 rounded-full bg-inherit"
|
|
@@ -4515,7 +4735,7 @@ var Indicator_default = /* @__PURE__ */ defineComponent({
|
|
|
4515
4735
|
size: props.size
|
|
4516
4736
|
}), props.class))
|
|
4517
4737
|
}, {
|
|
4518
|
-
default: withCtx(() => [props.pulse ? (openBlock(), createElementBlock("span", _hoisted_1$
|
|
4738
|
+
default: withCtx(() => [props.pulse ? (openBlock(), createElementBlock("span", _hoisted_1$81)) : createCommentVNode("", true), props.label ? (openBlock(), createBlock(VisuallyHidden_default, { key: 1 }, {
|
|
4519
4739
|
default: withCtx(() => [createTextVNode(toDisplayString(props.label), 1)]),
|
|
4520
4740
|
_: 1
|
|
4521
4741
|
})) : createCommentVNode("", true)]),
|
|
@@ -4567,8 +4787,8 @@ var calloutIcons = {
|
|
|
4567
4787
|
};
|
|
4568
4788
|
//#endregion
|
|
4569
4789
|
//#region src/components/callout/Callout.vue?vue&type=script&setup=true&lang.ts
|
|
4570
|
-
var _hoisted_1$
|
|
4571
|
-
var _hoisted_2$
|
|
4790
|
+
var _hoisted_1$80 = { class: "flex min-w-0 flex-1 flex-col gap-1" };
|
|
4791
|
+
var _hoisted_2$38 = {
|
|
4572
4792
|
key: 0,
|
|
4573
4793
|
class: "text-fg font-medium"
|
|
4574
4794
|
};
|
|
@@ -4596,7 +4816,7 @@ var Callout_default = /* @__PURE__ */ defineComponent({
|
|
|
4596
4816
|
key: 0,
|
|
4597
4817
|
class: normalizeClass(unref(calloutIcon)({ tone: props.tone })),
|
|
4598
4818
|
"aria-hidden": "true"
|
|
4599
|
-
}, null, 8, ["class"])) : createCommentVNode("", true)]), createElementVNode("div", _hoisted_1$
|
|
4819
|
+
}, null, 8, ["class"])) : createCommentVNode("", true)]), createElementVNode("div", _hoisted_1$80, [props.title ? (openBlock(), createElementBlock("p", _hoisted_2$38, toDisplayString(props.title), 1)) : createCommentVNode("", true), renderSlot(_ctx.$slots, "default")])], 2);
|
|
4600
4820
|
};
|
|
4601
4821
|
}
|
|
4602
4822
|
});
|
|
@@ -4650,19 +4870,19 @@ function useCollapseGap() {
|
|
|
4650
4870
|
}
|
|
4651
4871
|
//#endregion
|
|
4652
4872
|
//#region src/components/alert/Alert.vue?vue&type=script&setup=true&lang.ts
|
|
4653
|
-
var _hoisted_1$
|
|
4873
|
+
var _hoisted_1$79 = {
|
|
4654
4874
|
key: 0,
|
|
4655
4875
|
"data-hn-alert": "",
|
|
4656
4876
|
class: "hn-collapse"
|
|
4657
4877
|
};
|
|
4658
|
-
var _hoisted_2$
|
|
4659
|
-
var _hoisted_3$
|
|
4878
|
+
var _hoisted_2$37 = { class: "hn-collapse-body" };
|
|
4879
|
+
var _hoisted_3$18 = ["role"];
|
|
4660
4880
|
var _hoisted_4$14 = { class: "flex min-w-0 flex-1 flex-col gap-1" };
|
|
4661
|
-
var _hoisted_5$
|
|
4881
|
+
var _hoisted_5$9 = {
|
|
4662
4882
|
key: 0,
|
|
4663
4883
|
class: "text-fg font-medium"
|
|
4664
4884
|
};
|
|
4665
|
-
var _hoisted_6$
|
|
4885
|
+
var _hoisted_6$7 = {
|
|
4666
4886
|
key: 0,
|
|
4667
4887
|
class: "flex shrink-0 items-center gap-2 self-center"
|
|
4668
4888
|
};
|
|
@@ -4706,7 +4926,7 @@ var Alert_default = /* @__PURE__ */ defineComponent({
|
|
|
4706
4926
|
"leave-from-class": "hn-collapse-open",
|
|
4707
4927
|
"leave-to-class": "hn-collapse-closed"
|
|
4708
4928
|
}, toHandlers(unref(hooks))), {
|
|
4709
|
-
default: withCtx(() => [open.value ? (openBlock(), createElementBlock("div", _hoisted_1$
|
|
4929
|
+
default: withCtx(() => [open.value ? (openBlock(), createElementBlock("div", _hoisted_1$79, [createElementVNode("div", _hoisted_2$37, [createElementVNode("div", {
|
|
4710
4930
|
role: role.value,
|
|
4711
4931
|
class: normalizeClass(unref(cn)(unref(callout)({ tone: props.tone }), props.class))
|
|
4712
4932
|
}, [
|
|
@@ -4715,15 +4935,15 @@ var Alert_default = /* @__PURE__ */ defineComponent({
|
|
|
4715
4935
|
class: normalizeClass(unref(calloutIcon)({ tone: props.tone })),
|
|
4716
4936
|
"aria-hidden": "true"
|
|
4717
4937
|
}, null, 8, ["class"])) : createCommentVNode("", true)]),
|
|
4718
|
-
createElementVNode("div", _hoisted_4$14, [props.title ? (openBlock(), createElementBlock("p", _hoisted_5$
|
|
4719
|
-
unref(slots).actions ? (openBlock(), createElementBlock("div", _hoisted_6$
|
|
4938
|
+
createElementVNode("div", _hoisted_4$14, [props.title ? (openBlock(), createElementBlock("p", _hoisted_5$9, toDisplayString(props.title), 1)) : createCommentVNode("", true), renderSlot(_ctx.$slots, "default")]),
|
|
4939
|
+
unref(slots).actions ? (openBlock(), createElementBlock("div", _hoisted_6$7, [renderSlot(_ctx.$slots, "actions")])) : createCommentVNode("", true),
|
|
4720
4940
|
props.closable ? (openBlock(), createBlock(CloseButton_default, {
|
|
4721
4941
|
key: 1,
|
|
4722
4942
|
size: "sm",
|
|
4723
4943
|
class: "-my-0.5 -me-1",
|
|
4724
4944
|
onClick: close
|
|
4725
4945
|
})) : createCommentVNode("", true)
|
|
4726
|
-
], 10, _hoisted_3$
|
|
4946
|
+
], 10, _hoisted_3$18)])])) : createCommentVNode("", true)]),
|
|
4727
4947
|
_: 3
|
|
4728
4948
|
}, 16);
|
|
4729
4949
|
};
|
|
@@ -4731,7 +4951,7 @@ var Alert_default = /* @__PURE__ */ defineComponent({
|
|
|
4731
4951
|
});
|
|
4732
4952
|
//#endregion
|
|
4733
4953
|
//#region src/components/prev-next/PrevNext.vue?vue&type=script&setup=true&lang.ts
|
|
4734
|
-
var _hoisted_1$
|
|
4954
|
+
var _hoisted_1$78 = ["aria-label"];
|
|
4735
4955
|
//#endregion
|
|
4736
4956
|
//#region src/components/prev-next/PrevNext.vue
|
|
4737
4957
|
var PrevNext_default = /* @__PURE__ */ defineComponent({
|
|
@@ -4748,7 +4968,7 @@ var PrevNext_default = /* @__PURE__ */ defineComponent({
|
|
|
4748
4968
|
return openBlock(), createElementBlock("nav", {
|
|
4749
4969
|
"aria-label": props.label ?? unref(t).pagination.navLabel,
|
|
4750
4970
|
class: normalizeClass(unref(cn)("grid gap-4 sm:grid-cols-2", props.class))
|
|
4751
|
-
}, [renderSlot(_ctx.$slots, "default")], 10, _hoisted_1$
|
|
4971
|
+
}, [renderSlot(_ctx.$slots, "default")], 10, _hoisted_1$78);
|
|
4752
4972
|
};
|
|
4753
4973
|
}
|
|
4754
4974
|
});
|
|
@@ -4772,7 +4992,7 @@ var prevNextEyebrow = tv({
|
|
|
4772
4992
|
});
|
|
4773
4993
|
//#endregion
|
|
4774
4994
|
//#region src/components/prev-next/PrevNextLink.vue?vue&type=script&setup=true&lang.ts
|
|
4775
|
-
var _hoisted_1$
|
|
4995
|
+
var _hoisted_1$77 = { class: "text-fg font-medium" };
|
|
4776
4996
|
//#endregion
|
|
4777
4997
|
//#region src/components/prev-next/PrevNextLink.vue
|
|
4778
4998
|
var PrevNextLink_default = /* @__PURE__ */ defineComponent({
|
|
@@ -4808,7 +5028,7 @@ var PrevNextLink_default = /* @__PURE__ */ defineComponent({
|
|
|
4808
5028
|
class: "size-4",
|
|
4809
5029
|
"aria-hidden": "true"
|
|
4810
5030
|
})), createTextVNode(" " + toDisplayString(props.label ?? (props.direction === "prev" ? unref(t).pagination.prev : unref(t).pagination.next)), 1)], 2),
|
|
4811
|
-
createElementVNode("span", _hoisted_1$
|
|
5031
|
+
createElementVNode("span", _hoisted_1$77, [renderSlot(_ctx.$slots, "default")])
|
|
4812
5032
|
]),
|
|
4813
5033
|
_: 3
|
|
4814
5034
|
}, 16, [
|
|
@@ -4885,8 +5105,8 @@ var tableCell = tv({
|
|
|
4885
5105
|
});
|
|
4886
5106
|
//#endregion
|
|
4887
5107
|
//#region src/components/table/Table.vue?vue&type=script&setup=true&lang.ts
|
|
4888
|
-
var _hoisted_1$
|
|
4889
|
-
var _hoisted_2$
|
|
5108
|
+
var _hoisted_1$76 = { class: "hn-table" };
|
|
5109
|
+
var _hoisted_2$36 = { key: 0 };
|
|
4890
5110
|
//#endregion
|
|
4891
5111
|
//#region src/components/table/Table.vue
|
|
4892
5112
|
var Table_default = /* @__PURE__ */ defineComponent({
|
|
@@ -4916,7 +5136,7 @@ var Table_default = /* @__PURE__ */ defineComponent({
|
|
|
4916
5136
|
stickyHeader: props.stickyHeader
|
|
4917
5137
|
}), props.class))
|
|
4918
5138
|
}, {
|
|
4919
|
-
default: withCtx(() => [createElementVNode("table", _hoisted_1$
|
|
5139
|
+
default: withCtx(() => [createElementVNode("table", _hoisted_1$76, [props.caption ? (openBlock(), createElementBlock("caption", _hoisted_2$36, [createElementVNode("span", null, toDisplayString(props.caption), 1)])) : createCommentVNode("", true), renderSlot(_ctx.$slots, "default")])]),
|
|
4920
5140
|
_: 3
|
|
4921
5141
|
}, 8, ["direction", "class"]);
|
|
4922
5142
|
};
|
|
@@ -4963,7 +5183,7 @@ var TableRow_default = /* @__PURE__ */ defineComponent({
|
|
|
4963
5183
|
});
|
|
4964
5184
|
//#endregion
|
|
4965
5185
|
//#region src/components/table/TableHead.vue?vue&type=script&setup=true&lang.ts
|
|
4966
|
-
var _hoisted_1$
|
|
5186
|
+
var _hoisted_1$75 = ["scope"];
|
|
4967
5187
|
//#endregion
|
|
4968
5188
|
//#region src/components/table/TableHead.vue
|
|
4969
5189
|
var TableHead_default = /* @__PURE__ */ defineComponent({
|
|
@@ -4988,7 +5208,7 @@ var TableHead_default = /* @__PURE__ */ defineComponent({
|
|
|
4988
5208
|
sticky: props.sticky,
|
|
4989
5209
|
head: true
|
|
4990
5210
|
}), props.class))
|
|
4991
|
-
}, [renderSlot(_ctx.$slots, "default")], 10, _hoisted_1$
|
|
5211
|
+
}, [renderSlot(_ctx.$slots, "default")], 10, _hoisted_1$75);
|
|
4992
5212
|
};
|
|
4993
5213
|
}
|
|
4994
5214
|
});
|
|
@@ -5298,11 +5518,16 @@ var TabsTrigger_default = /* @__PURE__ */ defineComponent({
|
|
|
5298
5518
|
active.value ? (openBlock(), createBlock(Highlight_default, {
|
|
5299
5519
|
key: 0,
|
|
5300
5520
|
id: unref(highlightId),
|
|
5521
|
+
axis: unref(orientation) === "vertical" ? "y" : "x",
|
|
5301
5522
|
class: normalizeClass(unref(tabsHighlight)({
|
|
5302
5523
|
variant: unref(variant),
|
|
5303
5524
|
orientation: unref(orientation)
|
|
5304
5525
|
}))
|
|
5305
|
-
}, null, 8, [
|
|
5526
|
+
}, null, 8, [
|
|
5527
|
+
"id",
|
|
5528
|
+
"axis",
|
|
5529
|
+
"class"
|
|
5530
|
+
])) : createCommentVNode("", true),
|
|
5306
5531
|
createVNode(Ripple_default),
|
|
5307
5532
|
renderSlot(_ctx.$slots, "default")
|
|
5308
5533
|
]),
|
|
@@ -5487,12 +5712,12 @@ function injectInputGroup() {
|
|
|
5487
5712
|
}
|
|
5488
5713
|
//#endregion
|
|
5489
5714
|
//#region src/components/input/InputBase.vue?vue&type=script&setup=true&lang.ts
|
|
5490
|
-
var _hoisted_1$
|
|
5715
|
+
var _hoisted_1$74 = [
|
|
5491
5716
|
"data-invalid",
|
|
5492
5717
|
"data-disabled",
|
|
5493
5718
|
"aria-busy"
|
|
5494
5719
|
];
|
|
5495
|
-
var _hoisted_2$
|
|
5720
|
+
var _hoisted_2$35 = [
|
|
5496
5721
|
"id",
|
|
5497
5722
|
"disabled",
|
|
5498
5723
|
"aria-invalid",
|
|
@@ -5579,7 +5804,7 @@ var InputBase_default = /* @__PURE__ */ defineComponent({
|
|
|
5579
5804
|
leading: !!unref(slots).leading,
|
|
5580
5805
|
trailing: clearing.value || trailingSpinner.value || !!unref(slots).trailing
|
|
5581
5806
|
})
|
|
5582
|
-
}), null, 16, _hoisted_2$
|
|
5807
|
+
}), null, 16, _hoisted_2$35), [[vModelDynamic, model.value]]),
|
|
5583
5808
|
createVNode(Transition, {
|
|
5584
5809
|
"enter-active-class": "hn-transition-base",
|
|
5585
5810
|
"enter-from-class": "scale-90 opacity-0",
|
|
@@ -5615,7 +5840,7 @@ var InputBase_default = /* @__PURE__ */ defineComponent({
|
|
|
5615
5840
|
key: 1,
|
|
5616
5841
|
class: normalizeClass(unref(inputAdornment)())
|
|
5617
5842
|
}, [renderSlot(_ctx.$slots, "trailing")], 2)) : createCommentVNode("", true)
|
|
5618
|
-
], 10, _hoisted_1$
|
|
5843
|
+
], 10, _hoisted_1$74);
|
|
5619
5844
|
};
|
|
5620
5845
|
}
|
|
5621
5846
|
});
|
|
@@ -5819,8 +6044,8 @@ var textareaField = tv({ base: [
|
|
|
5819
6044
|
] });
|
|
5820
6045
|
//#endregion
|
|
5821
6046
|
//#region src/components/textarea/Textarea.vue?vue&type=script&setup=true&lang.ts
|
|
5822
|
-
var _hoisted_1$
|
|
5823
|
-
var _hoisted_2$
|
|
6047
|
+
var _hoisted_1$73 = ["data-invalid", "data-disabled"];
|
|
6048
|
+
var _hoisted_2$34 = [
|
|
5824
6049
|
"id",
|
|
5825
6050
|
"rows",
|
|
5826
6051
|
"disabled",
|
|
@@ -5889,9 +6114,9 @@ var Textarea_default = /* @__PURE__ */ defineComponent({
|
|
|
5889
6114
|
"aria-describedby": unref(describedBy),
|
|
5890
6115
|
class: unref(textareaField)(),
|
|
5891
6116
|
onInput: _cache[1] || (_cache[1] = (...args) => unref(fit) && unref(fit)(...args))
|
|
5892
|
-
}), null, 16, _hoisted_2$
|
|
6117
|
+
}), null, 16, _hoisted_2$34), [[vModelText, model.value]])]),
|
|
5893
6118
|
_: 1
|
|
5894
|
-
}, 512)], 14, _hoisted_1$
|
|
6119
|
+
}, 512)], 14, _hoisted_1$73);
|
|
5895
6120
|
};
|
|
5896
6121
|
}
|
|
5897
6122
|
});
|
|
@@ -6025,7 +6250,7 @@ var NumberInput_default = /* @__PURE__ */ defineComponent({
|
|
|
6025
6250
|
});
|
|
6026
6251
|
//#endregion
|
|
6027
6252
|
//#region src/components/password-input/PasswordInput.vue?vue&type=script&setup=true&lang.ts
|
|
6028
|
-
var _hoisted_1$
|
|
6253
|
+
var _hoisted_1$72 = { class: "relative inline-flex" };
|
|
6029
6254
|
//#endregion
|
|
6030
6255
|
//#region src/components/password-input/PasswordInput.vue
|
|
6031
6256
|
var PasswordInput_default = /* @__PURE__ */ defineComponent({
|
|
@@ -6069,7 +6294,7 @@ var PasswordInput_default = /* @__PURE__ */ defineComponent({
|
|
|
6069
6294
|
disabled: props.disabled,
|
|
6070
6295
|
onClick: _cache[0] || (_cache[0] = ($event) => visible.value = !visible.value)
|
|
6071
6296
|
}, {
|
|
6072
|
-
default: withCtx(() => [createElementVNode("span", _hoisted_1$
|
|
6297
|
+
default: withCtx(() => [createElementVNode("span", _hoisted_1$72, [createVNode(Transition, {
|
|
6073
6298
|
"enter-active-class": "hn-transition-base",
|
|
6074
6299
|
"enter-from-class": "scale-90 opacity-0",
|
|
6075
6300
|
"leave-active-class": "hn-transition absolute",
|
|
@@ -6164,7 +6389,7 @@ var inputGroup = tv({
|
|
|
6164
6389
|
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)]" });
|
|
6165
6390
|
//#endregion
|
|
6166
6391
|
//#region src/components/input-group/InputGroup.vue?vue&type=script&setup=true&lang.ts
|
|
6167
|
-
var _hoisted_1$
|
|
6392
|
+
var _hoisted_1$71 = ["data-invalid", "data-disabled"];
|
|
6168
6393
|
//#endregion
|
|
6169
6394
|
//#region src/components/input-group/InputGroup.vue
|
|
6170
6395
|
var InputGroup_default = /* @__PURE__ */ defineComponent({
|
|
@@ -6196,7 +6421,7 @@ var InputGroup_default = /* @__PURE__ */ defineComponent({
|
|
|
6196
6421
|
size: props.size
|
|
6197
6422
|
}), unref(inputGroup)({ divided: props.variant !== "bare" }), props.class)),
|
|
6198
6423
|
onClick: _cache[0] || (_cache[0] = ($event) => unref(focusFieldFrom)($event.currentTarget, $event.target))
|
|
6199
|
-
}, [renderSlot(_ctx.$slots, "default")], 10, _hoisted_1$
|
|
6424
|
+
}, [renderSlot(_ctx.$slots, "default")], 10, _hoisted_1$71);
|
|
6200
6425
|
};
|
|
6201
6426
|
}
|
|
6202
6427
|
});
|
|
@@ -6367,16 +6592,16 @@ function flattenOptions(items) {
|
|
|
6367
6592
|
}
|
|
6368
6593
|
//#endregion
|
|
6369
6594
|
//#region src/components/select/SelectList.vue?vue&type=script&setup=true&lang.ts
|
|
6370
|
-
var _hoisted_1$
|
|
6371
|
-
var _hoisted_2$
|
|
6372
|
-
var _hoisted_3$
|
|
6595
|
+
var _hoisted_1$70 = { class: "min-w-0 flex-1" };
|
|
6596
|
+
var _hoisted_2$33 = { class: "block truncate" };
|
|
6597
|
+
var _hoisted_3$17 = {
|
|
6373
6598
|
key: 0,
|
|
6374
6599
|
class: "text-muted block truncate text-xs"
|
|
6375
6600
|
};
|
|
6376
6601
|
var _hoisted_4$13 = { class: "flex size-4 shrink-0 items-center justify-center" };
|
|
6377
|
-
var _hoisted_5$
|
|
6378
|
-
var _hoisted_6$
|
|
6379
|
-
var _hoisted_7$
|
|
6602
|
+
var _hoisted_5$8 = { class: "min-w-0 flex-1" };
|
|
6603
|
+
var _hoisted_6$6 = { class: "block truncate" };
|
|
6604
|
+
var _hoisted_7$4 = {
|
|
6380
6605
|
key: 0,
|
|
6381
6606
|
class: "text-muted block truncate text-xs"
|
|
6382
6607
|
};
|
|
@@ -6426,7 +6651,7 @@ var SelectList_default = /* @__PURE__ */ defineComponent({
|
|
|
6426
6651
|
class: normalizeClass(unref(selectItem)())
|
|
6427
6652
|
}, {
|
|
6428
6653
|
default: withCtx(() => [createVNode(unref(SelectItemText), { "as-child": "" }, {
|
|
6429
|
-
default: withCtx(() => [createElementVNode("span", _hoisted_1$
|
|
6654
|
+
default: withCtx(() => [createElementVNode("span", _hoisted_1$70, [renderSlot(_ctx.$slots, "option", { option }, () => [createElementVNode("span", _hoisted_2$33, toDisplayString(option.label), 1), option.description ? (openBlock(), createElementBlock("span", _hoisted_3$17, toDisplayString(option.description), 1)) : createCommentVNode("", true)])])]),
|
|
6430
6655
|
_: 2
|
|
6431
6656
|
}, 1024), createElementVNode("span", _hoisted_4$13, [createVNode(unref(SelectItemIndicator), null, {
|
|
6432
6657
|
default: withCtx(() => [createVNode(unref(Check))]),
|
|
@@ -6449,7 +6674,7 @@ var SelectList_default = /* @__PURE__ */ defineComponent({
|
|
|
6449
6674
|
class: normalizeClass(unref(selectItem)())
|
|
6450
6675
|
}, {
|
|
6451
6676
|
default: withCtx(() => [createVNode(unref(SelectItemText), { "as-child": "" }, {
|
|
6452
|
-
default: withCtx(() => [createElementVNode("span", _hoisted_5$
|
|
6677
|
+
default: withCtx(() => [createElementVNode("span", _hoisted_5$8, [renderSlot(_ctx.$slots, "option", { option: item }, () => [createElementVNode("span", _hoisted_6$6, toDisplayString(item.label), 1), item.description ? (openBlock(), createElementBlock("span", _hoisted_7$4, toDisplayString(item.description), 1)) : createCommentVNode("", true)])])]),
|
|
6453
6678
|
_: 2
|
|
6454
6679
|
}, 1024), createElementVNode("span", _hoisted_8$1, [createVNode(unref(SelectItemIndicator), null, {
|
|
6455
6680
|
default: withCtx(() => [createVNode(unref(Check))]),
|
|
@@ -6505,7 +6730,7 @@ function useClearTransition(visible) {
|
|
|
6505
6730
|
}
|
|
6506
6731
|
//#endregion
|
|
6507
6732
|
//#region src/components/select/Select.vue?vue&type=script&setup=true&lang.ts
|
|
6508
|
-
var _hoisted_1$
|
|
6733
|
+
var _hoisted_1$69 = [
|
|
6509
6734
|
"dir",
|
|
6510
6735
|
"data-invalid",
|
|
6511
6736
|
"data-disabled"
|
|
@@ -6623,7 +6848,7 @@ var Select_default = /* @__PURE__ */ defineComponent({
|
|
|
6623
6848
|
_: 1
|
|
6624
6849
|
}, 8, ["label"])], 2)) : createCommentVNode("", true)]),
|
|
6625
6850
|
_: 1
|
|
6626
|
-
}, 16)], 10, _hoisted_1$
|
|
6851
|
+
}, 16)], 10, _hoisted_1$69), createVNode(SelectList_default, {
|
|
6627
6852
|
options: props.options,
|
|
6628
6853
|
keyboard: keyboard.value
|
|
6629
6854
|
}, {
|
|
@@ -6652,12 +6877,12 @@ var multiSelectTrigger = tv({ base: [
|
|
|
6652
6877
|
var multiSelectChips = tv({ base: "flex min-w-0 flex-1 items-center gap-1 overflow-hidden" });
|
|
6653
6878
|
//#endregion
|
|
6654
6879
|
//#region src/components/multi-select/MultiSelect.vue?vue&type=script&setup=true&lang.ts
|
|
6655
|
-
var _hoisted_1$
|
|
6656
|
-
var _hoisted_2$
|
|
6880
|
+
var _hoisted_1$68 = { class: "min-w-0 truncate" };
|
|
6881
|
+
var _hoisted_2$32 = {
|
|
6657
6882
|
key: 1,
|
|
6658
6883
|
class: "min-w-0 truncate"
|
|
6659
6884
|
};
|
|
6660
|
-
var _hoisted_3$
|
|
6885
|
+
var _hoisted_3$16 = [
|
|
6661
6886
|
"name",
|
|
6662
6887
|
"required",
|
|
6663
6888
|
"autocomplete",
|
|
@@ -6767,7 +6992,7 @@ var MultiSelect_default = /* @__PURE__ */ defineComponent({
|
|
|
6767
6992
|
onClick: isolate,
|
|
6768
6993
|
onRemove: ($event) => remove(option.value)
|
|
6769
6994
|
}, {
|
|
6770
|
-
default: withCtx(() => [createElementVNode("span", _hoisted_1$
|
|
6995
|
+
default: withCtx(() => [createElementVNode("span", _hoisted_1$68, toDisplayString(option.label), 1)]),
|
|
6771
6996
|
_: 2
|
|
6772
6997
|
}, 1032, [
|
|
6773
6998
|
"size",
|
|
@@ -6782,7 +7007,7 @@ var MultiSelect_default = /* @__PURE__ */ defineComponent({
|
|
|
6782
7007
|
}, {
|
|
6783
7008
|
default: withCtx(() => [createTextVNode(" +" + toDisplayString(overflow.value), 1)]),
|
|
6784
7009
|
_: 1
|
|
6785
|
-
}, 8, ["size", "disabled"])) : createCommentVNode("", true)], 64)) : (openBlock(), createElementBlock("span", _hoisted_2$
|
|
7010
|
+
}, 8, ["size", "disabled"])) : createCommentVNode("", true)], 64)) : (openBlock(), createElementBlock("span", _hoisted_2$32, toDisplayString(props.placeholder ?? unref(t).select.placeholder), 1))], 2),
|
|
6786
7011
|
createVNode(Transition, {
|
|
6787
7012
|
"enter-active-class": "hn-transition-base",
|
|
6788
7013
|
"enter-from-class": "scale-90 opacity-0",
|
|
@@ -6835,7 +7060,7 @@ var MultiSelect_default = /* @__PURE__ */ defineComponent({
|
|
|
6835
7060
|
value: option.value,
|
|
6836
7061
|
disabled: option.disabled
|
|
6837
7062
|
}, toDisplayString(option.label), 9, _hoisted_4$12);
|
|
6838
|
-
}), 128))], 8, _hoisted_3$
|
|
7063
|
+
}), 128))], 8, _hoisted_3$16), [[vModelSelect, model.value]])]),
|
|
6839
7064
|
_: 1
|
|
6840
7065
|
})) : createCommentVNode("", true),
|
|
6841
7066
|
createVNode(SelectList_default, {
|
|
@@ -6862,16 +7087,16 @@ var comboboxContent = tv({ base: ["hn-anim-pop z-(--hn-z-overlay) flex w-[var(--
|
|
|
6862
7087
|
var comboboxList = tv({ base: "max-h-[min(20rem,var(--reka-combobox-content-available-height))]" });
|
|
6863
7088
|
//#endregion
|
|
6864
7089
|
//#region src/components/combobox/ComboboxList.vue?vue&type=script&setup=true&lang.ts
|
|
6865
|
-
var _hoisted_1$
|
|
6866
|
-
var _hoisted_2$
|
|
6867
|
-
var _hoisted_3$
|
|
7090
|
+
var _hoisted_1$67 = { class: "min-w-0 flex-1" };
|
|
7091
|
+
var _hoisted_2$31 = { class: "block truncate" };
|
|
7092
|
+
var _hoisted_3$15 = {
|
|
6868
7093
|
key: 0,
|
|
6869
7094
|
class: "text-muted block truncate text-xs"
|
|
6870
7095
|
};
|
|
6871
7096
|
var _hoisted_4$11 = { class: "flex size-4 shrink-0 items-center justify-center" };
|
|
6872
|
-
var _hoisted_5$
|
|
6873
|
-
var _hoisted_6$
|
|
6874
|
-
var _hoisted_7$
|
|
7097
|
+
var _hoisted_5$7 = { class: "min-w-0 flex-1" };
|
|
7098
|
+
var _hoisted_6$5 = { class: "block truncate" };
|
|
7099
|
+
var _hoisted_7$3 = {
|
|
6875
7100
|
key: 0,
|
|
6876
7101
|
class: "text-muted block truncate text-xs"
|
|
6877
7102
|
};
|
|
@@ -6920,7 +7145,7 @@ var ComboboxList_default = /* @__PURE__ */ defineComponent({
|
|
|
6920
7145
|
disabled: option.disabled,
|
|
6921
7146
|
class: normalizeClass(unref(selectItem)())
|
|
6922
7147
|
}, {
|
|
6923
|
-
default: withCtx(() => [createElementVNode("span", _hoisted_1$
|
|
7148
|
+
default: withCtx(() => [createElementVNode("span", _hoisted_1$67, [renderSlot(_ctx.$slots, "option", { option }, () => [createElementVNode("span", _hoisted_2$31, toDisplayString(option.label), 1), option.description ? (openBlock(), createElementBlock("span", _hoisted_3$15, toDisplayString(option.description), 1)) : createCommentVNode("", true)])]), createElementVNode("span", _hoisted_4$11, [createVNode(unref(ComboboxItemIndicator), null, {
|
|
6924
7149
|
default: withCtx(() => [createVNode(unref(Check))]),
|
|
6925
7150
|
_: 1
|
|
6926
7151
|
})])]),
|
|
@@ -6940,7 +7165,7 @@ var ComboboxList_default = /* @__PURE__ */ defineComponent({
|
|
|
6940
7165
|
disabled: item.disabled,
|
|
6941
7166
|
class: normalizeClass(unref(selectItem)())
|
|
6942
7167
|
}, {
|
|
6943
|
-
default: withCtx(() => [createElementVNode("span", _hoisted_5$
|
|
7168
|
+
default: withCtx(() => [createElementVNode("span", _hoisted_5$7, [renderSlot(_ctx.$slots, "option", { option: item }, () => [createElementVNode("span", _hoisted_6$5, toDisplayString(item.label), 1), item.description ? (openBlock(), createElementBlock("span", _hoisted_7$3, toDisplayString(item.description), 1)) : createCommentVNode("", true)])]), createElementVNode("span", _hoisted_8, [createVNode(unref(ComboboxItemIndicator), null, {
|
|
6944
7169
|
default: withCtx(() => [createVNode(unref(Check))]),
|
|
6945
7170
|
_: 1
|
|
6946
7171
|
})])]),
|
|
@@ -6968,7 +7193,7 @@ var ComboboxList_default = /* @__PURE__ */ defineComponent({
|
|
|
6968
7193
|
});
|
|
6969
7194
|
//#endregion
|
|
6970
7195
|
//#region src/components/combobox/Combobox.vue?vue&type=script&setup=true&lang.ts
|
|
6971
|
-
var _hoisted_1$
|
|
7196
|
+
var _hoisted_1$66 = ["data-invalid", "data-disabled"];
|
|
6972
7197
|
//#endregion
|
|
6973
7198
|
//#region src/components/combobox/Combobox.vue
|
|
6974
7199
|
var Combobox_default = /* @__PURE__ */ defineComponent({
|
|
@@ -7108,7 +7333,7 @@ var Combobox_default = /* @__PURE__ */ defineComponent({
|
|
|
7108
7333
|
"disabled",
|
|
7109
7334
|
"class"
|
|
7110
7335
|
])
|
|
7111
|
-
], 42, _hoisted_1$
|
|
7336
|
+
], 42, _hoisted_1$66)]),
|
|
7112
7337
|
_: 1
|
|
7113
7338
|
}), createVNode(ComboboxList_default, {
|
|
7114
7339
|
options: props.options,
|
|
@@ -7157,11 +7382,11 @@ var commandItemHint = tv({ base: "ms-auto flex shrink-0 items-center gap-1" });
|
|
|
7157
7382
|
var commandEmpty = tv({ base: "text-muted px-4 py-8 text-center text-sm" });
|
|
7158
7383
|
//#endregion
|
|
7159
7384
|
//#region src/components/command-palette/CommandPaletteItem.vue?vue&type=script&setup=true&lang.ts
|
|
7160
|
-
var _hoisted_1$
|
|
7161
|
-
var _hoisted_2$
|
|
7162
|
-
var _hoisted_3$
|
|
7385
|
+
var _hoisted_1$65 = { class: "truncate" };
|
|
7386
|
+
var _hoisted_2$30 = ["textContent"];
|
|
7387
|
+
var _hoisted_3$14 = ["textContent"];
|
|
7163
7388
|
var _hoisted_4$10 = ["textContent"];
|
|
7164
|
-
var _hoisted_5$
|
|
7389
|
+
var _hoisted_5$6 = {
|
|
7165
7390
|
key: 0,
|
|
7166
7391
|
class: "text-muted truncate text-xs"
|
|
7167
7392
|
};
|
|
@@ -7202,18 +7427,18 @@ var CommandPaletteItem_default = /* @__PURE__ */ defineComponent({
|
|
|
7202
7427
|
"aria-hidden": "true",
|
|
7203
7428
|
class: "text-muted"
|
|
7204
7429
|
})) : createCommentVNode("", true),
|
|
7205
|
-
createElementVNode("span", { class: normalizeClass(unref(commandItemBody)()) }, [createElementVNode("span", _hoisted_1$
|
|
7206
|
-
createElementVNode("span", { textContent: toDisplayString(parts.value[0]) }, null, 8, _hoisted_2$
|
|
7430
|
+
createElementVNode("span", { class: normalizeClass(unref(commandItemBody)()) }, [createElementVNode("span", _hoisted_1$65, [
|
|
7431
|
+
createElementVNode("span", { textContent: toDisplayString(parts.value[0]) }, null, 8, _hoisted_2$30),
|
|
7207
7432
|
parts.value[1] ? (openBlock(), createElementBlock("span", {
|
|
7208
7433
|
key: 0,
|
|
7209
7434
|
class: normalizeClass(unref(commandItemMatch)()),
|
|
7210
7435
|
textContent: toDisplayString(parts.value[1])
|
|
7211
|
-
}, null, 10, _hoisted_3$
|
|
7436
|
+
}, null, 10, _hoisted_3$14)) : createCommentVNode("", true),
|
|
7212
7437
|
parts.value[2] ? (openBlock(), createElementBlock("span", {
|
|
7213
7438
|
key: 1,
|
|
7214
7439
|
textContent: toDisplayString(parts.value[2])
|
|
7215
7440
|
}, null, 8, _hoisted_4$10)) : createCommentVNode("", true)
|
|
7216
|
-
]), props.match.item.description ? (openBlock(), createElementBlock("span", _hoisted_5$
|
|
7441
|
+
]), props.match.item.description ? (openBlock(), createElementBlock("span", _hoisted_5$6, toDisplayString(props.match.item.description), 1)) : createCommentVNode("", true)], 2),
|
|
7217
7442
|
props.match.item.kbd?.length ? (openBlock(), createElementBlock("span", {
|
|
7218
7443
|
key: 1,
|
|
7219
7444
|
class: normalizeClass(unref(commandItemHint)())
|
|
@@ -7554,9 +7779,9 @@ var CommandPalette_default = /* @__PURE__ */ defineComponent({
|
|
|
7554
7779
|
});
|
|
7555
7780
|
//#endregion
|
|
7556
7781
|
//#region src/components/listbox/ListboxOptionContent.vue?vue&type=script&setup=true&lang.ts
|
|
7557
|
-
var _hoisted_1$
|
|
7558
|
-
var _hoisted_2$
|
|
7559
|
-
var _hoisted_3$
|
|
7782
|
+
var _hoisted_1$64 = { class: "min-w-0 flex-1" };
|
|
7783
|
+
var _hoisted_2$29 = { class: "block truncate" };
|
|
7784
|
+
var _hoisted_3$13 = {
|
|
7560
7785
|
key: 0,
|
|
7561
7786
|
class: "text-muted block truncate text-xs"
|
|
7562
7787
|
};
|
|
@@ -7576,10 +7801,10 @@ var ListboxOptionContent_default = /* @__PURE__ */ defineComponent({
|
|
|
7576
7801
|
const slots = useSlots();
|
|
7577
7802
|
const { isSelected: selected } = injectListboxItemContext();
|
|
7578
7803
|
return (_ctx, _cache) => {
|
|
7579
|
-
return openBlock(), createElementBlock(Fragment, null, [createElementVNode("span", _hoisted_1$
|
|
7804
|
+
return openBlock(), createElementBlock(Fragment, null, [createElementVNode("span", _hoisted_1$64, [renderSlot(_ctx.$slots, "option", {
|
|
7580
7805
|
option: props.option,
|
|
7581
7806
|
selected: unref(selected)
|
|
7582
|
-
}, () => [createElementVNode("span", _hoisted_2$
|
|
7807
|
+
}, () => [createElementVNode("span", _hoisted_2$29, toDisplayString(props.option.label), 1), props.option.description ? (openBlock(), createElementBlock("span", _hoisted_3$13, toDisplayString(props.option.description), 1)) : createCommentVNode("", true)])]), slots.trailing ? renderSlot(_ctx.$slots, "trailing", {
|
|
7583
7808
|
option: props.option,
|
|
7584
7809
|
selected: unref(selected)
|
|
7585
7810
|
}, void 0, void 0, 0) : (openBlock(), createElementBlock("span", _hoisted_4$9, [createVNode(unref(ListboxItemIndicator), null, {
|
|
@@ -7757,19 +7982,19 @@ function pathTo(nodes, value, trail = []) {
|
|
|
7757
7982
|
}
|
|
7758
7983
|
//#endregion
|
|
7759
7984
|
//#region src/components/tree-select/TreeSelect.vue?vue&type=script&setup=true&lang.ts
|
|
7760
|
-
var _hoisted_1$
|
|
7761
|
-
var _hoisted_2$
|
|
7762
|
-
var _hoisted_3$
|
|
7985
|
+
var _hoisted_1$63 = { class: "min-w-0 flex-1 truncate" };
|
|
7986
|
+
var _hoisted_2$28 = ["onClick"];
|
|
7987
|
+
var _hoisted_3$12 = {
|
|
7763
7988
|
key: 1,
|
|
7764
7989
|
class: "size-5 shrink-0"
|
|
7765
7990
|
};
|
|
7766
7991
|
var _hoisted_4$8 = { class: "min-w-0 flex-1" };
|
|
7767
|
-
var _hoisted_5$
|
|
7768
|
-
var _hoisted_6$
|
|
7992
|
+
var _hoisted_5$5 = { class: "block truncate" };
|
|
7993
|
+
var _hoisted_6$4 = {
|
|
7769
7994
|
key: 0,
|
|
7770
7995
|
class: "text-muted block truncate text-xs"
|
|
7771
7996
|
};
|
|
7772
|
-
var _hoisted_7$
|
|
7997
|
+
var _hoisted_7$2 = { class: "flex size-4 shrink-0 items-center justify-center" };
|
|
7773
7998
|
//#endregion
|
|
7774
7999
|
//#region src/components/tree-select/TreeSelect.vue
|
|
7775
8000
|
var TreeSelect_default = /* @__PURE__ */ defineComponent({
|
|
@@ -7845,7 +8070,7 @@ var TreeSelect_default = /* @__PURE__ */ defineComponent({
|
|
|
7845
8070
|
size: props.size
|
|
7846
8071
|
}), unref(selectTrigger)(), props.class)
|
|
7847
8072
|
}), {
|
|
7848
|
-
default: withCtx(() => [createElementVNode("span", _hoisted_1$
|
|
8073
|
+
default: withCtx(() => [createElementVNode("span", _hoisted_1$63, toDisplayString(selected.value ? selected.value.label : props.placeholder ?? unref(t).select.placeholder), 1), createElementVNode("span", { class: normalizeClass(unref(inputAdornment)()) }, [createVNode(DisclosureIcon_default)], 2)]),
|
|
7849
8074
|
_: 1
|
|
7850
8075
|
}, 16, [
|
|
7851
8076
|
"id",
|
|
@@ -7896,9 +8121,9 @@ var TreeSelect_default = /* @__PURE__ */ defineComponent({
|
|
|
7896
8121
|
}, [createVNode(DisclosureIcon_default, {
|
|
7897
8122
|
direction: "end",
|
|
7898
8123
|
open: isExpanded
|
|
7899
|
-
}, null, 8, ["open"])], 10, _hoisted_2$
|
|
7900
|
-
createElementVNode("span", _hoisted_4$8, [renderSlot(_ctx.$slots, "node", { node: item.value }, () => [createElementVNode("span", _hoisted_5$
|
|
7901
|
-
createElementVNode("span", _hoisted_7$
|
|
8124
|
+
}, null, 8, ["open"])], 10, _hoisted_2$28)) : (openBlock(), createElementBlock("span", _hoisted_3$12)),
|
|
8125
|
+
createElementVNode("span", _hoisted_4$8, [renderSlot(_ctx.$slots, "node", { node: item.value }, () => [createElementVNode("span", _hoisted_5$5, toDisplayString(item.value.label), 1), item.value.description ? (openBlock(), createElementBlock("span", _hoisted_6$4, toDisplayString(item.value.description), 1)) : createCommentVNode("", true)])]),
|
|
8126
|
+
createElementVNode("span", _hoisted_7$2, [isSelected ? (openBlock(), createBlock(unref(Check), { key: 0 })) : createCommentVNode("", true)])
|
|
7902
8127
|
]),
|
|
7903
8128
|
_: 2
|
|
7904
8129
|
}, 1040, [
|
|
@@ -8019,7 +8244,7 @@ var checkboxDescription = tv({
|
|
|
8019
8244
|
});
|
|
8020
8245
|
//#endregion
|
|
8021
8246
|
//#region src/components/checkbox/Checkbox.vue?vue&type=script&setup=true&lang.ts
|
|
8022
|
-
var _hoisted_1$
|
|
8247
|
+
var _hoisted_1$62 = ["data-disabled"];
|
|
8023
8248
|
//#endregion
|
|
8024
8249
|
//#region src/components/checkbox/Checkbox.vue
|
|
8025
8250
|
var Checkbox_default = /* @__PURE__ */ defineComponent({
|
|
@@ -8116,7 +8341,7 @@ var Checkbox_default = /* @__PURE__ */ defineComponent({
|
|
|
8116
8341
|
controlPlacement: props.controlPlacement
|
|
8117
8342
|
}))
|
|
8118
8343
|
}, toDisplayString(props.description), 3)) : createCommentVNode("", true)
|
|
8119
|
-
], 10, _hoisted_1$
|
|
8344
|
+
], 10, _hoisted_1$62);
|
|
8120
8345
|
};
|
|
8121
8346
|
}
|
|
8122
8347
|
});
|
|
@@ -8239,7 +8464,7 @@ var CheckboxGroup_default = /* @__PURE__ */ defineComponent({
|
|
|
8239
8464
|
var radioDot = tv({ base: "block size-[calc(var(--hn-checkbox-size)/2)] bg-surface rounded-full" });
|
|
8240
8465
|
//#endregion
|
|
8241
8466
|
//#region src/components/radio-group/RadioGroup.vue?vue&type=script&setup=true&lang.ts
|
|
8242
|
-
var _hoisted_1$
|
|
8467
|
+
var _hoisted_1$61 = ["data-disabled"];
|
|
8243
8468
|
//#endregion
|
|
8244
8469
|
//#region src/components/radio-group/RadioGroup.vue
|
|
8245
8470
|
var RadioGroup_default = /* @__PURE__ */ defineComponent({
|
|
@@ -8333,7 +8558,7 @@ var RadioGroup_default = /* @__PURE__ */ defineComponent({
|
|
|
8333
8558
|
controlPlacement: props.controlPlacement
|
|
8334
8559
|
}))
|
|
8335
8560
|
}, toDisplayString(option.description), 3)) : createCommentVNode("", true)
|
|
8336
|
-
], 10, _hoisted_1$
|
|
8561
|
+
], 10, _hoisted_1$61);
|
|
8337
8562
|
}), 128))]),
|
|
8338
8563
|
_: 3
|
|
8339
8564
|
}, 8, [
|
|
@@ -8374,7 +8599,7 @@ var switchThumb = tv({ base: [
|
|
|
8374
8599
|
] });
|
|
8375
8600
|
//#endregion
|
|
8376
8601
|
//#region src/components/switch/Switch.vue?vue&type=script&setup=true&lang.ts
|
|
8377
|
-
var _hoisted_1$
|
|
8602
|
+
var _hoisted_1$60 = ["data-disabled"];
|
|
8378
8603
|
//#endregion
|
|
8379
8604
|
//#region src/components/switch/Switch.vue
|
|
8380
8605
|
var Switch_default = /* @__PURE__ */ defineComponent({
|
|
@@ -8455,7 +8680,7 @@ var Switch_default = /* @__PURE__ */ defineComponent({
|
|
|
8455
8680
|
controlPlacement: props.controlPlacement
|
|
8456
8681
|
}))
|
|
8457
8682
|
}, toDisplayString(props.description), 3)) : createCommentVNode("", true)
|
|
8458
|
-
], 10, _hoisted_1$
|
|
8683
|
+
], 10, _hoisted_1$60);
|
|
8459
8684
|
};
|
|
8460
8685
|
}
|
|
8461
8686
|
});
|
|
@@ -8601,7 +8826,7 @@ var SliderMarks_default = /* @__PURE__ */ defineComponent({
|
|
|
8601
8826
|
});
|
|
8602
8827
|
//#endregion
|
|
8603
8828
|
//#region src/components/slider/Slider.vue?vue&type=script&setup=true&lang.ts
|
|
8604
|
-
var _hoisted_1$
|
|
8829
|
+
var _hoisted_1$59 = ["data-disabled", "data-dragging"];
|
|
8605
8830
|
//#endregion
|
|
8606
8831
|
//#region src/components/slider/Slider.vue
|
|
8607
8832
|
var Slider_default = /* @__PURE__ */ defineComponent({
|
|
@@ -8711,13 +8936,13 @@ var Slider_default = /* @__PURE__ */ defineComponent({
|
|
|
8711
8936
|
"marks",
|
|
8712
8937
|
"min",
|
|
8713
8938
|
"max"
|
|
8714
|
-
])) : createCommentVNode("", true)], 16, _hoisted_1$
|
|
8939
|
+
])) : createCommentVNode("", true)], 16, _hoisted_1$59);
|
|
8715
8940
|
};
|
|
8716
8941
|
}
|
|
8717
8942
|
});
|
|
8718
8943
|
//#endregion
|
|
8719
8944
|
//#region src/components/range-slider/RangeSlider.vue?vue&type=script&setup=true&lang.ts
|
|
8720
|
-
var _hoisted_1$
|
|
8945
|
+
var _hoisted_1$58 = [
|
|
8721
8946
|
"aria-labelledby",
|
|
8722
8947
|
"aria-describedby",
|
|
8723
8948
|
"aria-invalid",
|
|
@@ -8856,7 +9081,7 @@ var RangeSlider_default = /* @__PURE__ */ defineComponent({
|
|
|
8856
9081
|
"marks",
|
|
8857
9082
|
"min",
|
|
8858
9083
|
"max"
|
|
8859
|
-
])) : createCommentVNode("", true)], 16, _hoisted_1$
|
|
9084
|
+
])) : createCommentVNode("", true)], 16, _hoisted_1$58);
|
|
8860
9085
|
};
|
|
8861
9086
|
}
|
|
8862
9087
|
});
|
|
@@ -8873,15 +9098,15 @@ var toggle = tv({
|
|
|
8873
9098
|
});
|
|
8874
9099
|
//#endregion
|
|
8875
9100
|
//#region src/components/toggle/Toggle.vue?vue&type=script&setup=true&lang.ts
|
|
8876
|
-
var _hoisted_1$
|
|
9101
|
+
var _hoisted_1$57 = {
|
|
8877
9102
|
key: "on",
|
|
8878
9103
|
class: "inline-flex items-center justify-center"
|
|
8879
9104
|
};
|
|
8880
|
-
var _hoisted_2$
|
|
9105
|
+
var _hoisted_2$27 = {
|
|
8881
9106
|
key: "off",
|
|
8882
9107
|
class: "inline-flex items-center justify-center"
|
|
8883
9108
|
};
|
|
8884
|
-
var _hoisted_3$
|
|
9109
|
+
var _hoisted_3$11 = {
|
|
8885
9110
|
key: 2,
|
|
8886
9111
|
class: "inline-flex items-center"
|
|
8887
9112
|
};
|
|
@@ -8958,10 +9183,10 @@ var Toggle_default = /* @__PURE__ */ defineComponent({
|
|
|
8958
9183
|
"leave-active-class": "hn-transition absolute",
|
|
8959
9184
|
"leave-to-class": "scale-90 opacity-0"
|
|
8960
9185
|
}, {
|
|
8961
|
-
default: withCtx(() => [swapped.value ? (openBlock(), createElementBlock("span", _hoisted_1$
|
|
9186
|
+
default: withCtx(() => [swapped.value ? (openBlock(), createElementBlock("span", _hoisted_1$57, [renderSlot(_ctx.$slots, "pressed-icon")])) : (openBlock(), createElementBlock("span", _hoisted_2$27, [renderSlot(_ctx.$slots, "icon", { pressed: pressed.value })]))]),
|
|
8962
9187
|
_: 3
|
|
8963
9188
|
})], 2)) : createCommentVNode("", true),
|
|
8964
|
-
unref(slots).default ? (openBlock(), createElementBlock("span", _hoisted_3$
|
|
9189
|
+
unref(slots).default ? (openBlock(), createElementBlock("span", _hoisted_3$11, [renderSlot(_ctx.$slots, "default")])) : createCommentVNode("", true)
|
|
8965
9190
|
]),
|
|
8966
9191
|
_: 3
|
|
8967
9192
|
}, 16, [
|
|
@@ -9017,7 +9242,7 @@ var tagsInputControl = tv({
|
|
|
9017
9242
|
var tagsInputChip = tv({ base: "max-w-full min-w-0 shrink data-disabled:opacity-100" });
|
|
9018
9243
|
//#endregion
|
|
9019
9244
|
//#region src/components/tags-input/TagsInputChip.vue?vue&type=script&setup=true&lang.ts
|
|
9020
|
-
var _hoisted_1$
|
|
9245
|
+
var _hoisted_1$56 = { class: "min-w-0 truncate" };
|
|
9021
9246
|
//#endregion
|
|
9022
9247
|
//#region src/components/tags-input/TagsInputChip.vue
|
|
9023
9248
|
var TagsInputChip_default = /* @__PURE__ */ defineComponent({
|
|
@@ -9044,7 +9269,7 @@ var TagsInputChip_default = /* @__PURE__ */ defineComponent({
|
|
|
9044
9269
|
onRemove: _cache[0] || (_cache[0] = ($event) => emit("remove"))
|
|
9045
9270
|
}), {
|
|
9046
9271
|
default: withCtx(() => [createVNode(unref(TagsInputItemText), { "as-child": "" }, {
|
|
9047
|
-
default: withCtx(() => [createElementVNode("span", _hoisted_1$
|
|
9272
|
+
default: withCtx(() => [createElementVNode("span", _hoisted_1$56, toDisplayString(props.tag), 1)]),
|
|
9048
9273
|
_: 1
|
|
9049
9274
|
})]),
|
|
9050
9275
|
_: 1
|
|
@@ -9058,7 +9283,7 @@ var TagsInputChip_default = /* @__PURE__ */ defineComponent({
|
|
|
9058
9283
|
});
|
|
9059
9284
|
//#endregion
|
|
9060
9285
|
//#region src/components/tags-input/TagsInput.vue?vue&type=script&setup=true&lang.ts
|
|
9061
|
-
var _hoisted_1$
|
|
9286
|
+
var _hoisted_1$55 = ["data-invalid", "data-disabled"];
|
|
9062
9287
|
//#endregion
|
|
9063
9288
|
//#region src/components/tags-input/TagsInput.vue
|
|
9064
9289
|
var TagsInput_default = /* @__PURE__ */ defineComponent({
|
|
@@ -9209,7 +9434,7 @@ var TagsInput_default = /* @__PURE__ */ defineComponent({
|
|
|
9209
9434
|
_: 1
|
|
9210
9435
|
}, 8, ["label"])], 2)) : createCommentVNode("", true)]),
|
|
9211
9436
|
_: 1
|
|
9212
|
-
})], 10, _hoisted_1$
|
|
9437
|
+
})], 10, _hoisted_1$55);
|
|
9213
9438
|
};
|
|
9214
9439
|
}
|
|
9215
9440
|
});
|
|
@@ -9270,12 +9495,12 @@ var multiComboboxHost = tv({
|
|
|
9270
9495
|
var multiComboboxEnd = tv({ base: "absolute inset-y-0 end-0 flex items-stretch" });
|
|
9271
9496
|
//#endregion
|
|
9272
9497
|
//#region src/components/multi-combobox/MultiCombobox.vue?vue&type=script&setup=true&lang.ts
|
|
9273
|
-
var _hoisted_1$
|
|
9498
|
+
var _hoisted_1$54 = [
|
|
9274
9499
|
"data-invalid",
|
|
9275
9500
|
"data-disabled",
|
|
9276
9501
|
"aria-busy"
|
|
9277
9502
|
];
|
|
9278
|
-
var _hoisted_2$
|
|
9503
|
+
var _hoisted_2$26 = { class: "min-w-0 truncate" };
|
|
9279
9504
|
//#endregion
|
|
9280
9505
|
//#region src/components/multi-combobox/MultiCombobox.vue
|
|
9281
9506
|
var MultiCombobox_default = /* @__PURE__ */ defineComponent({
|
|
@@ -9368,7 +9593,7 @@ var MultiCombobox_default = /* @__PURE__ */ defineComponent({
|
|
|
9368
9593
|
class: normalizeClass(unref(tagsInputChip)()),
|
|
9369
9594
|
onRemove: ($event) => unref(remove)(option.value)
|
|
9370
9595
|
}, {
|
|
9371
|
-
default: withCtx(() => [createElementVNode("span", _hoisted_2$
|
|
9596
|
+
default: withCtx(() => [createElementVNode("span", _hoisted_2$26, toDisplayString(option.label), 1)]),
|
|
9372
9597
|
_: 2
|
|
9373
9598
|
}, 1032, [
|
|
9374
9599
|
"size",
|
|
@@ -9435,7 +9660,7 @@ var MultiCombobox_default = /* @__PURE__ */ defineComponent({
|
|
|
9435
9660
|
"aria-label",
|
|
9436
9661
|
"disabled",
|
|
9437
9662
|
"class"
|
|
9438
|
-
])], 2)], 10, _hoisted_1$
|
|
9663
|
+
])], 2)], 10, _hoisted_1$54)]),
|
|
9439
9664
|
_: 1
|
|
9440
9665
|
}), createVNode(ComboboxList_default, {
|
|
9441
9666
|
options: props.options,
|
|
@@ -10119,7 +10344,7 @@ var dateFieldSegment = tv({
|
|
|
10119
10344
|
});
|
|
10120
10345
|
//#endregion
|
|
10121
10346
|
//#region src/components/date-field/DateField.vue?vue&type=script&setup=true&lang.ts
|
|
10122
|
-
var _hoisted_1$
|
|
10347
|
+
var _hoisted_1$53 = ["data-invalid", "data-disabled"];
|
|
10123
10348
|
//#endregion
|
|
10124
10349
|
//#region src/components/date-field/DateField.vue
|
|
10125
10350
|
var DateField_default = /* @__PURE__ */ defineComponent({
|
|
@@ -10276,7 +10501,7 @@ var DateField_default = /* @__PURE__ */ defineComponent({
|
|
|
10276
10501
|
key: 1,
|
|
10277
10502
|
class: normalizeClass(unref(inputAdornment)())
|
|
10278
10503
|
}, [renderSlot(_ctx.$slots, "trailing")], 2)) : createCommentVNode("", true)
|
|
10279
|
-
], 10, _hoisted_1$
|
|
10504
|
+
], 10, _hoisted_1$53);
|
|
10280
10505
|
};
|
|
10281
10506
|
}
|
|
10282
10507
|
});
|
|
@@ -10307,7 +10532,7 @@ var InputGroupScope_default = /* @__PURE__ */ defineComponent({
|
|
|
10307
10532
|
var datePickerContent = tv({ base: "hn-anim-pop z-(--hn-z-overlay) p-2 shadow-md outline-none" });
|
|
10308
10533
|
//#endregion
|
|
10309
10534
|
//#region src/components/date-picker/DatePicker.vue?vue&type=script&setup=true&lang.ts
|
|
10310
|
-
var _hoisted_1$
|
|
10535
|
+
var _hoisted_1$52 = ["data-invalid", "data-disabled"];
|
|
10311
10536
|
//#endregion
|
|
10312
10537
|
//#region src/components/date-picker/DatePicker.vue
|
|
10313
10538
|
var DatePicker_default = /* @__PURE__ */ defineComponent({
|
|
@@ -10424,7 +10649,7 @@ var DatePicker_default = /* @__PURE__ */ defineComponent({
|
|
|
10424
10649
|
_: 1
|
|
10425
10650
|
}, 8, ["label", "disabled"])]),
|
|
10426
10651
|
_: 1
|
|
10427
|
-
})], 10, _hoisted_1$
|
|
10652
|
+
})], 10, _hoisted_1$52)]),
|
|
10428
10653
|
_: 3
|
|
10429
10654
|
}), createVNode(unref(PopoverPortal), null, {
|
|
10430
10655
|
default: withCtx(() => [createVNode(unref(PopoverContent), {
|
|
@@ -10489,7 +10714,7 @@ function isRangeInvalid({ start, end }, bounds) {
|
|
|
10489
10714
|
}
|
|
10490
10715
|
//#endregion
|
|
10491
10716
|
//#region src/components/date-range-field/DateRangeField.vue?vue&type=script&setup=true&lang.ts
|
|
10492
|
-
var _hoisted_1$
|
|
10717
|
+
var _hoisted_1$51 = ["data-invalid", "data-disabled"];
|
|
10493
10718
|
//#endregion
|
|
10494
10719
|
//#region src/components/date-range-field/DateRangeField.vue
|
|
10495
10720
|
var DateRangeField_default = /* @__PURE__ */ defineComponent({
|
|
@@ -10658,7 +10883,7 @@ var DateRangeField_default = /* @__PURE__ */ defineComponent({
|
|
|
10658
10883
|
key: 1,
|
|
10659
10884
|
class: normalizeClass(unref(inputAdornment)())
|
|
10660
10885
|
}, [renderSlot(_ctx.$slots, "trailing")], 2)) : createCommentVNode("", true)
|
|
10661
|
-
], 10, _hoisted_1$
|
|
10886
|
+
], 10, _hoisted_1$51);
|
|
10662
10887
|
};
|
|
10663
10888
|
}
|
|
10664
10889
|
});
|
|
@@ -10906,7 +11131,7 @@ var RangeCalendar_default = /* @__PURE__ */ defineComponent({
|
|
|
10906
11131
|
});
|
|
10907
11132
|
//#endregion
|
|
10908
11133
|
//#region src/components/date-range-picker/DateRangePicker.vue?vue&type=script&setup=true&lang.ts
|
|
10909
|
-
var _hoisted_1$
|
|
11134
|
+
var _hoisted_1$50 = ["data-invalid", "data-disabled"];
|
|
10910
11135
|
//#endregion
|
|
10911
11136
|
//#region src/components/date-range-picker/DateRangePicker.vue
|
|
10912
11137
|
var DateRangePicker_default = /* @__PURE__ */ defineComponent({
|
|
@@ -11024,7 +11249,7 @@ var DateRangePicker_default = /* @__PURE__ */ defineComponent({
|
|
|
11024
11249
|
_: 1
|
|
11025
11250
|
}, 8, ["label", "disabled"])]),
|
|
11026
11251
|
_: 1
|
|
11027
|
-
})], 10, _hoisted_1$
|
|
11252
|
+
})], 10, _hoisted_1$50)]),
|
|
11028
11253
|
_: 3
|
|
11029
11254
|
}), createVNode(unref(PopoverPortal), null, {
|
|
11030
11255
|
default: withCtx(() => [createVNode(unref(PopoverContent), {
|
|
@@ -11078,7 +11303,7 @@ var DateRangePicker_default = /* @__PURE__ */ defineComponent({
|
|
|
11078
11303
|
});
|
|
11079
11304
|
//#endregion
|
|
11080
11305
|
//#region src/components/time-field/TimeField.vue?vue&type=script&setup=true&lang.ts
|
|
11081
|
-
var _hoisted_1$
|
|
11306
|
+
var _hoisted_1$49 = ["data-invalid", "data-disabled"];
|
|
11082
11307
|
//#endregion
|
|
11083
11308
|
//#region src/components/time-field/TimeField.vue
|
|
11084
11309
|
var TimeField_default = /* @__PURE__ */ defineComponent({
|
|
@@ -11241,7 +11466,7 @@ var TimeField_default = /* @__PURE__ */ defineComponent({
|
|
|
11241
11466
|
key: 1,
|
|
11242
11467
|
class: normalizeClass(unref(inputAdornment)())
|
|
11243
11468
|
}, [renderSlot(_ctx.$slots, "trailing")], 2)) : createCommentVNode("", true)
|
|
11244
|
-
], 10, _hoisted_1$
|
|
11469
|
+
], 10, _hoisted_1$49);
|
|
11245
11470
|
};
|
|
11246
11471
|
}
|
|
11247
11472
|
});
|
|
@@ -11250,7 +11475,7 @@ var TimeField_default = /* @__PURE__ */ defineComponent({
|
|
|
11250
11475
|
var dateTimePickerFooter = tv({ base: "mt-2 flex items-center justify-between gap-2" });
|
|
11251
11476
|
//#endregion
|
|
11252
11477
|
//#region src/components/date-time-picker/DateTimePicker.vue?vue&type=script&setup=true&lang.ts
|
|
11253
|
-
var _hoisted_1$
|
|
11478
|
+
var _hoisted_1$48 = ["data-invalid", "data-disabled"];
|
|
11254
11479
|
//#endregion
|
|
11255
11480
|
//#region src/components/date-time-picker/DateTimePicker.vue
|
|
11256
11481
|
var DateTimePicker_default = /* @__PURE__ */ defineComponent({
|
|
@@ -11383,7 +11608,7 @@ var DateTimePicker_default = /* @__PURE__ */ defineComponent({
|
|
|
11383
11608
|
_: 1
|
|
11384
11609
|
}, 8, ["label", "disabled"])]),
|
|
11385
11610
|
_: 1
|
|
11386
|
-
})], 10, _hoisted_1$
|
|
11611
|
+
})], 10, _hoisted_1$48)]),
|
|
11387
11612
|
_: 3
|
|
11388
11613
|
}), createVNode(unref(PopoverPortal), null, {
|
|
11389
11614
|
default: withCtx(() => [createVNode(unref(PopoverContent), {
|
|
@@ -11492,7 +11717,7 @@ function starFill(value, index) {
|
|
|
11492
11717
|
}
|
|
11493
11718
|
//#endregion
|
|
11494
11719
|
//#region src/components/rating/Rating.vue?vue&type=script&setup=true&lang.ts
|
|
11495
|
-
var _hoisted_1$
|
|
11720
|
+
var _hoisted_1$47 = ["aria-label"];
|
|
11496
11721
|
//#endregion
|
|
11497
11722
|
//#region src/components/rating/Rating.vue
|
|
11498
11723
|
var Rating_default = /* @__PURE__ */ defineComponent({
|
|
@@ -11536,7 +11761,7 @@ var Rating_default = /* @__PURE__ */ defineComponent({
|
|
|
11536
11761
|
class: normalizeClass(unref(ratingFill)()),
|
|
11537
11762
|
style: normalizeStyle({ width: unref(starFill)(model.value, index) })
|
|
11538
11763
|
}, [createVNode(unref(Star), { class: normalizeClass(unref(ratingStar)({ active: true })) }, null, 8, ["class"])], 6)], 2);
|
|
11539
|
-
}), 128))], 16, _hoisted_1$
|
|
11764
|
+
}), 128))], 16, _hoisted_1$47)) : (openBlock(), createBlock(unref(RatingRoot), mergeProps({ key: 1 }, _ctx.$attrs, {
|
|
11540
11765
|
"data-hn-rating": "",
|
|
11541
11766
|
"data-disabled": unref(disabled) ? "" : void 0,
|
|
11542
11767
|
"data-invalid": unref(invalid) ? "" : void 0,
|
|
@@ -11825,13 +12050,13 @@ function formatSize(tag, bytes) {
|
|
|
11825
12050
|
}
|
|
11826
12051
|
//#endregion
|
|
11827
12052
|
//#region src/components/file-upload/FileUpload.vue?vue&type=script&setup=true&lang.ts
|
|
11828
|
-
var _hoisted_1$
|
|
12053
|
+
var _hoisted_1$46 = [
|
|
11829
12054
|
"name",
|
|
11830
12055
|
"accept",
|
|
11831
12056
|
"multiple",
|
|
11832
12057
|
"disabled"
|
|
11833
12058
|
];
|
|
11834
|
-
var _hoisted_2$
|
|
12059
|
+
var _hoisted_2$25 = [
|
|
11835
12060
|
"id",
|
|
11836
12061
|
"aria-describedby",
|
|
11837
12062
|
"aria-invalid",
|
|
@@ -11840,7 +12065,7 @@ var _hoisted_2$26 = [
|
|
|
11840
12065
|
"aria-busy",
|
|
11841
12066
|
"disabled"
|
|
11842
12067
|
];
|
|
11843
|
-
var _hoisted_3$
|
|
12068
|
+
var _hoisted_3$10 = ["src"];
|
|
11844
12069
|
//#endregion
|
|
11845
12070
|
//#region src/components/file-upload/FileUpload.vue
|
|
11846
12071
|
var FileUpload_default = /* @__PURE__ */ defineComponent({
|
|
@@ -11920,7 +12145,7 @@ var FileUpload_default = /* @__PURE__ */ defineComponent({
|
|
|
11920
12145
|
multiple: props.multiple,
|
|
11921
12146
|
disabled: unref(disabled),
|
|
11922
12147
|
onChange: _cache[0] || (_cache[0] = (...args) => unref(onChange) && unref(onChange)(...args))
|
|
11923
|
-
}, null, 40, _hoisted_1$
|
|
12148
|
+
}, null, 40, _hoisted_1$46),
|
|
11924
12149
|
props.variant === "area" ? (openBlock(), createElementBlock("button", mergeProps({ key: 0 }, _ctx.$attrs, {
|
|
11925
12150
|
type: "button",
|
|
11926
12151
|
"data-hn-file-upload-area": "",
|
|
@@ -11944,7 +12169,7 @@ var FileUpload_default = /* @__PURE__ */ defineComponent({
|
|
|
11944
12169
|
}, {
|
|
11945
12170
|
default: withCtx(() => [renderSlot(_ctx.$slots, "icon", {}, () => [createVNode(unref(Upload), { "aria-hidden": "true" })])]),
|
|
11946
12171
|
_: 3
|
|
11947
|
-
}, 8, ["swapped"]), renderSlot(_ctx.$slots, "default", {}, () => [createTextVNode(toDisplayString(unref(t).upload.dropHint), 1)])], 16, _hoisted_2$
|
|
12172
|
+
}, 8, ["swapped"]), renderSlot(_ctx.$slots, "default", {}, () => [createTextVNode(toDisplayString(unref(t).upload.dropHint), 1)])], 16, _hoisted_2$25)) : (openBlock(), createBlock(Button_default, mergeProps({ key: 1 }, _ctx.$attrs, {
|
|
11948
12173
|
id: unref(fieldId),
|
|
11949
12174
|
"aria-describedby": unref(describedBy),
|
|
11950
12175
|
"aria-invalid": unref(invalid) || void 0,
|
|
@@ -11976,7 +12201,7 @@ var FileUpload_default = /* @__PURE__ */ defineComponent({
|
|
|
11976
12201
|
key: 0,
|
|
11977
12202
|
src: unref(urls).get(file),
|
|
11978
12203
|
alt: ""
|
|
11979
|
-
}, null, 8, _hoisted_3$
|
|
12204
|
+
}, null, 8, _hoisted_3$10)) : (openBlock(), createBlock(unref(File), {
|
|
11980
12205
|
key: 1,
|
|
11981
12206
|
"aria-hidden": "true"
|
|
11982
12207
|
}))], 2),
|
|
@@ -12017,6 +12242,46 @@ var FileUpload_default = /* @__PURE__ */ defineComponent({
|
|
|
12017
12242
|
}
|
|
12018
12243
|
});
|
|
12019
12244
|
//#endregion
|
|
12245
|
+
//#region src/lib/overlay-portal.ts
|
|
12246
|
+
function useOverlayPortal(open) {
|
|
12247
|
+
const content = shallowRef(null);
|
|
12248
|
+
return {
|
|
12249
|
+
content,
|
|
12250
|
+
present: computed(() => !!open.value || !!content.value)
|
|
12251
|
+
};
|
|
12252
|
+
}
|
|
12253
|
+
//#endregion
|
|
12254
|
+
//#region src/lib/dialog-focus.ts
|
|
12255
|
+
function useDialogCloseFocus(onCloseAutoFocus) {
|
|
12256
|
+
const context = injectDialogRootContext();
|
|
12257
|
+
return (event) => {
|
|
12258
|
+
onCloseAutoFocus(event);
|
|
12259
|
+
if (event.defaultPrevented) return;
|
|
12260
|
+
event.preventDefault();
|
|
12261
|
+
const target = context.triggerElement.value;
|
|
12262
|
+
if (target?.isConnected) target.focus({ preventScroll: true });
|
|
12263
|
+
};
|
|
12264
|
+
}
|
|
12265
|
+
//#endregion
|
|
12266
|
+
//#region src/components/dialog/ModalContent.vue
|
|
12267
|
+
var ModalContent_default = /* @__PURE__ */ defineComponent({
|
|
12268
|
+
name: "HnModalContent",
|
|
12269
|
+
__name: "ModalContent",
|
|
12270
|
+
props: { alert: { type: Boolean } },
|
|
12271
|
+
emits: ["closeAutoFocus"],
|
|
12272
|
+
setup(__props, { emit: __emit }) {
|
|
12273
|
+
const props = __props;
|
|
12274
|
+
const emit = __emit;
|
|
12275
|
+
const closeAutoFocus = useDialogCloseFocus((event) => emit("closeAutoFocus", event));
|
|
12276
|
+
return (_ctx, _cache) => {
|
|
12277
|
+
return openBlock(), createBlock(resolveDynamicComponent(props.alert ? unref(AlertDialogContent) : unref(DialogContent)), { onCloseAutoFocus: unref(closeAutoFocus) }, {
|
|
12278
|
+
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
|
|
12279
|
+
_: 3
|
|
12280
|
+
}, 40, ["onCloseAutoFocus"]);
|
|
12281
|
+
};
|
|
12282
|
+
}
|
|
12283
|
+
});
|
|
12284
|
+
//#endregion
|
|
12020
12285
|
//#region src/components/dialog/dialog.variants.ts
|
|
12021
12286
|
var dialogWrapper = tv({
|
|
12022
12287
|
base: "pointer-events-none fixed inset-0 z-(--hn-z-overlay) grid",
|
|
@@ -12120,13 +12385,71 @@ var Heading_default = /* @__PURE__ */ defineComponent({
|
|
|
12120
12385
|
}
|
|
12121
12386
|
});
|
|
12122
12387
|
//#endregion
|
|
12123
|
-
//#region src/components/alert-dialog/
|
|
12124
|
-
|
|
12125
|
-
|
|
12126
|
-
|
|
12127
|
-
|
|
12128
|
-
}
|
|
12129
|
-
|
|
12388
|
+
//#region src/components/alert-dialog/composables/useAlertDialogConfirm.ts
|
|
12389
|
+
function useAlertDialogConfirm(props, open, onError, blocked = () => false) {
|
|
12390
|
+
const busy = ref(false);
|
|
12391
|
+
function guard(event) {
|
|
12392
|
+
if (busy.value) event.preventDefault();
|
|
12393
|
+
}
|
|
12394
|
+
async function confirm() {
|
|
12395
|
+
if (!open.value || busy.value || blocked()) return;
|
|
12396
|
+
busy.value = true;
|
|
12397
|
+
try {
|
|
12398
|
+
await props.onConfirm?.();
|
|
12399
|
+
open.value = false;
|
|
12400
|
+
} catch (error) {
|
|
12401
|
+
onError(error);
|
|
12402
|
+
} finally {
|
|
12403
|
+
busy.value = false;
|
|
12404
|
+
}
|
|
12405
|
+
}
|
|
12406
|
+
return {
|
|
12407
|
+
busy,
|
|
12408
|
+
guard,
|
|
12409
|
+
confirm
|
|
12410
|
+
};
|
|
12411
|
+
}
|
|
12412
|
+
//#endregion
|
|
12413
|
+
//#region src/components/alert-dialog/composables/useConfirmDelay.ts
|
|
12414
|
+
function useConfirmDelay(open, delay) {
|
|
12415
|
+
const remaining = ref(0);
|
|
12416
|
+
let mounted = false;
|
|
12417
|
+
let timer;
|
|
12418
|
+
function stop() {
|
|
12419
|
+
clearTimeout(timer);
|
|
12420
|
+
timer = void 0;
|
|
12421
|
+
}
|
|
12422
|
+
function restart() {
|
|
12423
|
+
stop();
|
|
12424
|
+
if (!open.value) return;
|
|
12425
|
+
const seconds = Math.ceil(delay());
|
|
12426
|
+
remaining.value = Number.isFinite(seconds) && seconds > 0 ? seconds : 0;
|
|
12427
|
+
if (!mounted || !remaining.value) return;
|
|
12428
|
+
const deadline = performance.now() + remaining.value * 1e3;
|
|
12429
|
+
function tick() {
|
|
12430
|
+
const milliseconds = deadline - performance.now();
|
|
12431
|
+
remaining.value = Math.max(0, Math.ceil(milliseconds / 1e3));
|
|
12432
|
+
timer = remaining.value > 0 ? setTimeout(tick, Math.min(1e3, milliseconds)) : void 0;
|
|
12433
|
+
}
|
|
12434
|
+
tick();
|
|
12435
|
+
}
|
|
12436
|
+
watch([open, delay], restart, {
|
|
12437
|
+
immediate: true,
|
|
12438
|
+
flush: "sync"
|
|
12439
|
+
});
|
|
12440
|
+
onMounted(() => {
|
|
12441
|
+
mounted = true;
|
|
12442
|
+
restart();
|
|
12443
|
+
});
|
|
12444
|
+
onScopeDispose(stop);
|
|
12445
|
+
return remaining;
|
|
12446
|
+
}
|
|
12447
|
+
//#endregion
|
|
12448
|
+
//#region src/components/alert-dialog/alert-dialog.variants.ts
|
|
12449
|
+
var alertDialogHeader = tv({ base: "flex min-w-0 flex-col gap-1.5 px-(--hn-panel-p)" });
|
|
12450
|
+
var alertDialogContent = tv({ base: "px-(--hn-panel-p)" });
|
|
12451
|
+
var alertDialogActions = tv({ base: "flex justify-end gap-(--hn-inline-gap) px-(--hn-panel-p)" });
|
|
12452
|
+
var alertDialogCountdown = tv({ base: "tabular-nums" });
|
|
12130
12453
|
//#endregion
|
|
12131
12454
|
//#region src/components/alert-dialog/AlertDialog.vue
|
|
12132
12455
|
var AlertDialog_default = /* @__PURE__ */ defineComponent({
|
|
@@ -12136,6 +12459,7 @@ var AlertDialog_default = /* @__PURE__ */ defineComponent({
|
|
|
12136
12459
|
title: {},
|
|
12137
12460
|
description: {},
|
|
12138
12461
|
confirmText: {},
|
|
12462
|
+
confirmDelay: { default: 0 },
|
|
12139
12463
|
cancelText: {},
|
|
12140
12464
|
tone: { default: "accent" },
|
|
12141
12465
|
size: { default: "sm" },
|
|
@@ -12146,29 +12470,15 @@ var AlertDialog_default = /* @__PURE__ */ defineComponent({
|
|
|
12146
12470
|
"open": { type: Boolean },
|
|
12147
12471
|
"openModifiers": {}
|
|
12148
12472
|
}),
|
|
12149
|
-
emits: /*@__PURE__*/ mergeModels(["cancel"], ["update:open"]),
|
|
12473
|
+
emits: /*@__PURE__*/ mergeModels(["cancel", "error"], ["update:open"]),
|
|
12150
12474
|
setup(__props, { emit: __emit }) {
|
|
12151
12475
|
const props = __props;
|
|
12152
12476
|
const emit = __emit;
|
|
12153
12477
|
const open = useModel(__props, "open");
|
|
12154
|
-
const
|
|
12478
|
+
const { content, present } = useOverlayPortal(open);
|
|
12155
12479
|
const t = useUiLocale();
|
|
12156
|
-
|
|
12157
|
-
|
|
12158
|
-
}
|
|
12159
|
-
async function confirm() {
|
|
12160
|
-
if (busy.value) return;
|
|
12161
|
-
const result = props.onConfirm?.();
|
|
12162
|
-
if (result instanceof Promise) {
|
|
12163
|
-
busy.value = true;
|
|
12164
|
-
try {
|
|
12165
|
-
await result;
|
|
12166
|
-
} finally {
|
|
12167
|
-
busy.value = false;
|
|
12168
|
-
}
|
|
12169
|
-
}
|
|
12170
|
-
open.value = false;
|
|
12171
|
-
}
|
|
12480
|
+
const remaining = useConfirmDelay(open, () => props.confirmDelay);
|
|
12481
|
+
const { busy, guard, confirm } = useAlertDialogConfirm(props, open, (error) => emit("error", error), () => remaining.value > 0);
|
|
12172
12482
|
return (_ctx, _cache) => {
|
|
12173
12483
|
return openBlock(), createBlock(unref(AlertDialogRoot), {
|
|
12174
12484
|
open: open.value,
|
|
@@ -12180,22 +12490,25 @@ var AlertDialog_default = /* @__PURE__ */ defineComponent({
|
|
|
12180
12490
|
}, {
|
|
12181
12491
|
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
|
|
12182
12492
|
_: 3
|
|
12183
|
-
})) : createCommentVNode("", true),
|
|
12184
|
-
default: withCtx(() => [createVNode(unref(AlertDialogOverlay), { class: "hn-scrim" }), createElementVNode("div", { class: normalizeClass(unref(
|
|
12493
|
+
})) : createCommentVNode("", true), unref(present) ? (openBlock(), createBlock(unref(AlertDialogPortal), { key: 1 }, {
|
|
12494
|
+
default: withCtx(() => [createVNode(unref(AlertDialogOverlay), { class: "hn-scrim" }), createElementVNode("div", { class: normalizeClass(unref(dialogWrapper)({ placement: props.placement ?? "auto" })) }, [createVNode(ModalContent_default, {
|
|
12495
|
+
alert: "",
|
|
12185
12496
|
"as-child": "",
|
|
12186
|
-
onEscapeKeyDown: guard
|
|
12497
|
+
onEscapeKeyDown: unref(guard)
|
|
12187
12498
|
}, {
|
|
12188
12499
|
default: withCtx(() => [createVNode(Card_default, {
|
|
12500
|
+
ref_key: "content",
|
|
12501
|
+
ref: content,
|
|
12189
12502
|
padded: false,
|
|
12190
12503
|
"data-hn-alert-dialog": "",
|
|
12191
|
-
"aria-busy": busy
|
|
12192
|
-
class: normalizeClass(unref(cn)(
|
|
12504
|
+
"aria-busy": unref(busy) || void 0,
|
|
12505
|
+
class: normalizeClass(unref(cn)(unref(dialogCard)({
|
|
12193
12506
|
placement: props.placement ?? "auto",
|
|
12194
12507
|
size: props.size
|
|
12195
12508
|
}), props.class))
|
|
12196
12509
|
}, {
|
|
12197
12510
|
default: withCtx(() => [
|
|
12198
|
-
createElementVNode("div",
|
|
12511
|
+
createElementVNode("div", { class: normalizeClass(unref(alertDialogHeader)()) }, [createVNode(unref(AlertDialogTitle), { "as-child": "" }, {
|
|
12199
12512
|
default: withCtx(() => [createVNode(Heading_default, {
|
|
12200
12513
|
level: 2,
|
|
12201
12514
|
size: "lg"
|
|
@@ -12213,13 +12526,16 @@ var AlertDialog_default = /* @__PURE__ */ defineComponent({
|
|
|
12213
12526
|
_: 1
|
|
12214
12527
|
})]),
|
|
12215
12528
|
_: 1
|
|
12216
|
-
})) : createCommentVNode("", true)]),
|
|
12217
|
-
_ctx.$slots.content ? (openBlock(), createElementBlock("div",
|
|
12218
|
-
|
|
12529
|
+
})) : createCommentVNode("", true)], 2),
|
|
12530
|
+
_ctx.$slots.content ? (openBlock(), createElementBlock("div", {
|
|
12531
|
+
key: 0,
|
|
12532
|
+
class: normalizeClass(unref(alertDialogContent)())
|
|
12533
|
+
}, [renderSlot(_ctx.$slots, "content")], 2)) : createCommentVNode("", true),
|
|
12534
|
+
createElementVNode("div", { class: normalizeClass(unref(alertDialogActions)()) }, [createVNode(unref(AlertDialogCancel), { "as-child": "" }, {
|
|
12219
12535
|
default: withCtx(() => [createVNode(Button_default, {
|
|
12220
12536
|
variant: "soft",
|
|
12221
12537
|
tone: "neutral",
|
|
12222
|
-
disabled: busy
|
|
12538
|
+
disabled: unref(busy),
|
|
12223
12539
|
onClick: _cache[0] || (_cache[0] = ($event) => emit("cancel"))
|
|
12224
12540
|
}, {
|
|
12225
12541
|
default: withCtx(() => [createTextVNode(toDisplayString(props.cancelText ?? unref(t).common.cancel), 1)]),
|
|
@@ -12228,19 +12544,28 @@ var AlertDialog_default = /* @__PURE__ */ defineComponent({
|
|
|
12228
12544
|
_: 1
|
|
12229
12545
|
}), createVNode(Button_default, {
|
|
12230
12546
|
tone: props.tone,
|
|
12231
|
-
loading: busy
|
|
12232
|
-
|
|
12547
|
+
loading: unref(busy),
|
|
12548
|
+
disabled: unref(remaining) > 0,
|
|
12549
|
+
onClick: unref(confirm)
|
|
12233
12550
|
}, {
|
|
12234
|
-
default: withCtx(() => [createTextVNode(toDisplayString(props.confirmText ?? unref(t).common.confirm), 1)
|
|
12551
|
+
default: withCtx(() => [createTextVNode(toDisplayString(props.confirmText ?? unref(t).common.confirm) + " ", 1), unref(remaining) > 0 ? (openBlock(), createElementBlock("span", {
|
|
12552
|
+
key: 0,
|
|
12553
|
+
class: normalizeClass(unref(alertDialogCountdown)())
|
|
12554
|
+
}, "(" + toDisplayString(unref(remaining)) + ")", 3)) : createCommentVNode("", true)]),
|
|
12235
12555
|
_: 1
|
|
12236
|
-
}, 8, [
|
|
12556
|
+
}, 8, [
|
|
12557
|
+
"tone",
|
|
12558
|
+
"loading",
|
|
12559
|
+
"disabled",
|
|
12560
|
+
"onClick"
|
|
12561
|
+
])], 2)
|
|
12237
12562
|
]),
|
|
12238
12563
|
_: 3
|
|
12239
12564
|
}, 8, ["aria-busy", "class"])]),
|
|
12240
12565
|
_: 3
|
|
12241
|
-
})], 2)]),
|
|
12566
|
+
}, 8, ["onEscapeKeyDown"])], 2)]),
|
|
12242
12567
|
_: 3
|
|
12243
|
-
})]),
|
|
12568
|
+
})) : createCommentVNode("", true)]),
|
|
12244
12569
|
_: 3
|
|
12245
12570
|
}, 8, ["open"]);
|
|
12246
12571
|
};
|
|
@@ -12849,8 +13174,8 @@ var _hoisted_1$40 = ["data-dragging"];
|
|
|
12849
13174
|
var _hoisted_2$21 = ["data-disabled"];
|
|
12850
13175
|
var _hoisted_3$9 = { class: "flex items-start justify-between gap-4 px-(--hn-panel-p)" };
|
|
12851
13176
|
var _hoisted_4$7 = { class: "flex min-w-0 flex-col gap-1.5" };
|
|
12852
|
-
var _hoisted_5$
|
|
12853
|
-
var _hoisted_6$
|
|
13177
|
+
var _hoisted_5$4 = { class: "px-(--hn-panel-p) py-1" };
|
|
13178
|
+
var _hoisted_6$3 = {
|
|
12854
13179
|
key: 1,
|
|
12855
13180
|
class: "flex shrink-0 justify-end gap-(--hn-inline-gap) px-(--hn-panel-p)"
|
|
12856
13181
|
};
|
|
@@ -12965,10 +13290,10 @@ var Sheet_default = /* @__PURE__ */ defineComponent({
|
|
|
12965
13290
|
key: 0,
|
|
12966
13291
|
class: "min-h-0 grow"
|
|
12967
13292
|
}, {
|
|
12968
|
-
default: withCtx(() => [createElementVNode("div", _hoisted_5$
|
|
13293
|
+
default: withCtx(() => [createElementVNode("div", _hoisted_5$4, [renderSlot(_ctx.$slots, "content", { close })])]),
|
|
12969
13294
|
_: 3
|
|
12970
13295
|
})) : createCommentVNode("", true),
|
|
12971
|
-
_ctx.$slots.footer ? (openBlock(), createElementBlock("div", _hoisted_6$
|
|
13296
|
+
_ctx.$slots.footer ? (openBlock(), createElementBlock("div", _hoisted_6$3, [renderSlot(_ctx.$slots, "footer", { close })])) : createCommentVNode("", true)
|
|
12972
13297
|
]),
|
|
12973
13298
|
_: 3
|
|
12974
13299
|
}, 8, [
|
|
@@ -14726,13 +15051,13 @@ var _hoisted_1$26 = [
|
|
|
14726
15051
|
var _hoisted_2$15 = ["id", "for"];
|
|
14727
15052
|
var _hoisted_3$7 = ["id"];
|
|
14728
15053
|
var _hoisted_4$5 = ["id"];
|
|
14729
|
-
var _hoisted_5$
|
|
15054
|
+
var _hoisted_5$3 = {
|
|
14730
15055
|
key: 0,
|
|
14731
15056
|
"data-hn-form-field-message": "",
|
|
14732
15057
|
class: "hn-collapse [--hn-collapse-out:var(--hn-duration-fast)]"
|
|
14733
15058
|
};
|
|
14734
|
-
var _hoisted_6$
|
|
14735
|
-
var _hoisted_7$
|
|
15059
|
+
var _hoisted_6$2 = { class: "hn-collapse-body" };
|
|
15060
|
+
var _hoisted_7$1 = ["id"];
|
|
14736
15061
|
//#endregion
|
|
14737
15062
|
//#region src/components/form-field/FormField.vue
|
|
14738
15063
|
var FormField_default = /* @__PURE__ */ defineComponent({
|
|
@@ -14849,11 +15174,11 @@ var FormField_default = /* @__PURE__ */ defineComponent({
|
|
|
14849
15174
|
"leave-from-class": "hn-collapse-open",
|
|
14850
15175
|
"leave-to-class": "hn-collapse-closed"
|
|
14851
15176
|
}, toHandlers(unref(hooks))), {
|
|
14852
|
-
default: withCtx(() => [message.value ? (openBlock(), createElementBlock("div", _hoisted_5$
|
|
15177
|
+
default: withCtx(() => [message.value ? (openBlock(), createElementBlock("div", _hoisted_5$3, [createElementVNode("div", _hoisted_6$2, [createElementVNode("p", {
|
|
14853
15178
|
id: unref(messageId),
|
|
14854
15179
|
class: normalizeClass(unref(formFieldMessage)()),
|
|
14855
15180
|
"aria-live": "polite"
|
|
14856
|
-
}, toDisplayString(message.value), 11, _hoisted_7$
|
|
15181
|
+
}, toDisplayString(message.value), 11, _hoisted_7$1)])])) : createCommentVNode("", true)]),
|
|
14857
15182
|
_: 1
|
|
14858
15183
|
}, 16)
|
|
14859
15184
|
], 2)], 2)], 46, _hoisted_1$26);
|
|
@@ -15148,8 +15473,13 @@ var SegmentedControl_default = /* @__PURE__ */ defineComponent({
|
|
|
15148
15473
|
option.value === current.value ? (openBlock(), createBlock(Highlight_default, {
|
|
15149
15474
|
key: 0,
|
|
15150
15475
|
id: unref(highlightId),
|
|
15476
|
+
axis: props.orientation === "vertical" ? "y" : "x",
|
|
15151
15477
|
class: normalizeClass(unref(segmentedThumb)())
|
|
15152
|
-
}, null, 8, [
|
|
15478
|
+
}, null, 8, [
|
|
15479
|
+
"id",
|
|
15480
|
+
"axis",
|
|
15481
|
+
"class"
|
|
15482
|
+
])) : createCommentVNode("", true),
|
|
15153
15483
|
createVNode(Ripple_default),
|
|
15154
15484
|
renderSlot(_ctx.$slots, "option", { option }, () => [createTextVNode(toDisplayString(option.label), 1)])
|
|
15155
15485
|
]),
|
|
@@ -15367,17 +15697,43 @@ async function tokenize(code, lang) {
|
|
|
15367
15697
|
}).tokens;
|
|
15368
15698
|
}
|
|
15369
15699
|
//#endregion
|
|
15700
|
+
//#region src/components/code-block/composables/useCodeHighlight.ts
|
|
15701
|
+
function useCodeHighlight(props) {
|
|
15702
|
+
const tokens = shallowRef(null);
|
|
15703
|
+
onMounted(() => {
|
|
15704
|
+
watch(() => [
|
|
15705
|
+
props.code,
|
|
15706
|
+
props.lang,
|
|
15707
|
+
props.html
|
|
15708
|
+
], async ([code, lang, html]) => {
|
|
15709
|
+
if (html || !lang) {
|
|
15710
|
+
tokens.value = null;
|
|
15711
|
+
return;
|
|
15712
|
+
}
|
|
15713
|
+
try {
|
|
15714
|
+
const result = await tokenize(code, lang);
|
|
15715
|
+
if (code === props.code && lang === props.lang) tokens.value = result;
|
|
15716
|
+
} catch (error) {
|
|
15717
|
+
tokens.value = null;
|
|
15718
|
+
`${lang}${String(error)}`;
|
|
15719
|
+
}
|
|
15720
|
+
}, { immediate: true });
|
|
15721
|
+
});
|
|
15722
|
+
return tokens;
|
|
15723
|
+
}
|
|
15724
|
+
//#endregion
|
|
15725
|
+
//#region src/components/code-block/code-block.variants.ts
|
|
15726
|
+
var codeBlock = tv({ base: "relative flex min-h-0 min-w-0 flex-col" });
|
|
15727
|
+
var codeBlockArea = tv({ base: "hn-pre min-h-0 grow p-0" });
|
|
15728
|
+
var codeBlockContent = tv({ base: "hn-pre-content m-0 w-max min-w-full" });
|
|
15729
|
+
var codeBlockActions = tv({ base: "absolute top-2 end-2 flex items-center gap-2" });
|
|
15730
|
+
var codeBlockLabel = tv({ base: "text-faint font-mono text-xs select-none" });
|
|
15731
|
+
//#endregion
|
|
15370
15732
|
//#region src/components/code-block/CodeBlock.vue?vue&type=script&setup=true&lang.ts
|
|
15371
15733
|
var _hoisted_1$23 = ["data-lang"];
|
|
15372
|
-
var _hoisted_2$13 =
|
|
15373
|
-
var _hoisted_3$6 =
|
|
15374
|
-
var _hoisted_4$4 = { key:
|
|
15375
|
-
var _hoisted_5$3 = { key: 2 };
|
|
15376
|
-
var _hoisted_6$2 = { class: "absolute top-2 end-2 flex items-center gap-2" };
|
|
15377
|
-
var _hoisted_7$1 = {
|
|
15378
|
-
key: 0,
|
|
15379
|
-
class: "text-faint font-mono text-xs select-none"
|
|
15380
|
-
};
|
|
15734
|
+
var _hoisted_2$13 = ["innerHTML"];
|
|
15735
|
+
var _hoisted_3$6 = { key: 1 };
|
|
15736
|
+
var _hoisted_4$4 = { key: 2 };
|
|
15381
15737
|
//#endregion
|
|
15382
15738
|
//#region src/components/code-block/CodeBlock.vue
|
|
15383
15739
|
var CodeBlock_default = /* @__PURE__ */ defineComponent({
|
|
@@ -15398,53 +15754,37 @@ var CodeBlock_default = /* @__PURE__ */ defineComponent({
|
|
|
15398
15754
|
const props = __props;
|
|
15399
15755
|
const t = useUiLocale();
|
|
15400
15756
|
const tag = computed(() => props.label ?? props.lang);
|
|
15401
|
-
const tokens =
|
|
15402
|
-
onMounted(() => {
|
|
15403
|
-
watch(() => [
|
|
15404
|
-
props.code,
|
|
15405
|
-
props.lang,
|
|
15406
|
-
props.html
|
|
15407
|
-
], async ([code, lang, html]) => {
|
|
15408
|
-
if (html || !lang) {
|
|
15409
|
-
tokens.value = null;
|
|
15410
|
-
return;
|
|
15411
|
-
}
|
|
15412
|
-
try {
|
|
15413
|
-
const result = await tokenize(code, lang);
|
|
15414
|
-
if (code === props.code && lang === props.lang) tokens.value = result;
|
|
15415
|
-
} catch (error) {
|
|
15416
|
-
tokens.value = null;
|
|
15417
|
-
`${lang}${String(error)}`;
|
|
15418
|
-
}
|
|
15419
|
-
}, { immediate: true });
|
|
15420
|
-
});
|
|
15757
|
+
const tokens = useCodeHighlight(props);
|
|
15421
15758
|
return (_ctx, _cache) => {
|
|
15422
15759
|
return openBlock(), createElementBlock("div", {
|
|
15423
15760
|
"data-lang": props.lang,
|
|
15424
|
-
class: normalizeClass(unref(cn)(
|
|
15761
|
+
class: normalizeClass(unref(cn)(unref(codeBlock)(), props.class))
|
|
15425
15762
|
}, [createVNode(ScrollArea_default, {
|
|
15426
|
-
direction: "
|
|
15763
|
+
direction: "both",
|
|
15427
15764
|
focusable: "",
|
|
15428
15765
|
label: tag.value,
|
|
15429
|
-
class:
|
|
15766
|
+
class: normalizeClass(unref(codeBlockArea)())
|
|
15430
15767
|
}, {
|
|
15431
|
-
default: withCtx(() => [createElementVNode("pre",
|
|
15768
|
+
default: withCtx(() => [createElementVNode("pre", { class: normalizeClass(unref(codeBlockContent)()) }, [props.html ? (openBlock(), createElementBlock("code", {
|
|
15432
15769
|
key: 0,
|
|
15433
15770
|
innerHTML: props.html
|
|
15434
|
-
}, null, 8,
|
|
15771
|
+
}, null, 8, _hoisted_2$13)) : unref(tokens) ? (openBlock(), createElementBlock("code", _hoisted_3$6, [(openBlock(true), createElementBlock(Fragment, null, renderList(unref(tokens), (line, i) => {
|
|
15435
15772
|
return openBlock(), createElementBlock(Fragment, { key: i }, [createTextVNode(toDisplayString(i ? "\n" : ""), 1), (openBlock(true), createElementBlock(Fragment, null, renderList(line, (tk, j) => {
|
|
15436
15773
|
return openBlock(), createElementBlock("span", {
|
|
15437
15774
|
key: j,
|
|
15438
15775
|
style: normalizeStyle(tk.htmlStyle)
|
|
15439
15776
|
}, toDisplayString(tk.content), 5);
|
|
15440
15777
|
}), 128))], 64);
|
|
15441
|
-
}), 128))])) : (openBlock(), createElementBlock("code",
|
|
15778
|
+
}), 128))])) : (openBlock(), createElementBlock("code", _hoisted_4$4, toDisplayString(__props.code), 1))], 2)]),
|
|
15442
15779
|
_: 1
|
|
15443
|
-
}, 8, ["label"]), createElementVNode("div",
|
|
15780
|
+
}, 8, ["label", "class"]), createElementVNode("div", { class: normalizeClass(unref(codeBlockActions)()) }, [tag.value ? (openBlock(), createElementBlock("span", {
|
|
15781
|
+
key: 0,
|
|
15782
|
+
class: normalizeClass(unref(codeBlockLabel)())
|
|
15783
|
+
}, toDisplayString(tag.value), 3)) : createCommentVNode("", true), __props.copyable ? (openBlock(), createBlock(CopyButton_default, {
|
|
15444
15784
|
key: 1,
|
|
15445
15785
|
text: props.code,
|
|
15446
15786
|
label: unref(t).codeblock.copy
|
|
15447
|
-
}, null, 8, ["text", "label"])) : createCommentVNode("", true)])], 10, _hoisted_1$23);
|
|
15787
|
+
}, null, 8, ["text", "label"])) : createCommentVNode("", true)], 2)], 10, _hoisted_1$23);
|
|
15448
15788
|
};
|
|
15449
15789
|
}
|
|
15450
15790
|
});
|
|
@@ -17141,6 +17481,7 @@ var Anchor_default = /* @__PURE__ */ defineComponent({
|
|
|
17141
17481
|
default: withCtx(() => [unref(span) ? (openBlock(), createBlock(Highlight_default, {
|
|
17142
17482
|
key: 0,
|
|
17143
17483
|
as: "li",
|
|
17484
|
+
axis: "y",
|
|
17144
17485
|
role: "presentation",
|
|
17145
17486
|
style: normalizeStyle({ gridRow: unref(span) }),
|
|
17146
17487
|
class: "bg-accent col-start-1 -ms-px w-0.5 self-stretch justify-self-start rounded-full"
|
|
@@ -17241,11 +17582,156 @@ var BreadcrumbSeparator_default = /* @__PURE__ */ defineComponent({
|
|
|
17241
17582
|
}
|
|
17242
17583
|
});
|
|
17243
17584
|
//#endregion
|
|
17585
|
+
//#region src/components/popover/composables/usePopoverCloseFocus.ts
|
|
17586
|
+
function usePopoverCloseFocus(emit) {
|
|
17587
|
+
const root = injectPopoverRootContext();
|
|
17588
|
+
return (event) => {
|
|
17589
|
+
emit("closeAutoFocus", event);
|
|
17590
|
+
if (!event.defaultPrevented || !root.triggerElement.value) return;
|
|
17591
|
+
const trigger = root.triggerElement.value;
|
|
17592
|
+
root.triggerElement.value = void 0;
|
|
17593
|
+
nextTick(() => {
|
|
17594
|
+
root.triggerElement.value ??= trigger;
|
|
17595
|
+
});
|
|
17596
|
+
};
|
|
17597
|
+
}
|
|
17598
|
+
//#endregion
|
|
17599
|
+
//#region src/components/popover/PopoverContent.vue
|
|
17600
|
+
var PopoverContent_default = /* @__PURE__ */ defineComponent({
|
|
17601
|
+
name: "HnPopoverContent",
|
|
17602
|
+
__name: "PopoverContent",
|
|
17603
|
+
props: {
|
|
17604
|
+
forceMount: { type: Boolean },
|
|
17605
|
+
memoDependencies: {},
|
|
17606
|
+
side: {},
|
|
17607
|
+
sideOffset: {},
|
|
17608
|
+
sideFlip: { type: Boolean },
|
|
17609
|
+
align: {},
|
|
17610
|
+
alignOffset: {},
|
|
17611
|
+
alignFlip: { type: Boolean },
|
|
17612
|
+
avoidCollisions: { type: Boolean },
|
|
17613
|
+
collisionBoundary: {},
|
|
17614
|
+
collisionPadding: {},
|
|
17615
|
+
arrowPadding: {},
|
|
17616
|
+
hideShiftedArrow: { type: Boolean },
|
|
17617
|
+
sticky: {},
|
|
17618
|
+
hideWhenDetached: { type: Boolean },
|
|
17619
|
+
positionStrategy: {},
|
|
17620
|
+
updatePositionStrategy: {},
|
|
17621
|
+
disableUpdateOnLayoutShift: { type: Boolean },
|
|
17622
|
+
prioritizePosition: { type: Boolean },
|
|
17623
|
+
reference: {},
|
|
17624
|
+
dir: {},
|
|
17625
|
+
asChild: { type: Boolean },
|
|
17626
|
+
as: {},
|
|
17627
|
+
disableOutsidePointerEvents: { type: Boolean }
|
|
17628
|
+
},
|
|
17629
|
+
emits: [
|
|
17630
|
+
"escapeKeyDown",
|
|
17631
|
+
"pointerDownOutside",
|
|
17632
|
+
"focusOutside",
|
|
17633
|
+
"interactOutside",
|
|
17634
|
+
"openAutoFocus",
|
|
17635
|
+
"closeAutoFocus"
|
|
17636
|
+
],
|
|
17637
|
+
setup(__props, { emit: __emit }) {
|
|
17638
|
+
const props = __props;
|
|
17639
|
+
const emit = __emit;
|
|
17640
|
+
const forwarded = useForwardPropsEmits(props, emit);
|
|
17641
|
+
const closeAutoFocus = usePopoverCloseFocus(emit);
|
|
17642
|
+
return (_ctx, _cache) => {
|
|
17643
|
+
return openBlock(), createBlock(unref(PopoverContent), mergeProps({
|
|
17644
|
+
...unref(forwarded),
|
|
17645
|
+
onCloseAutoFocus: unref(closeAutoFocus)
|
|
17646
|
+
}, { reference: props.reference }), {
|
|
17647
|
+
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
|
|
17648
|
+
_: 3
|
|
17649
|
+
}, 16, ["reference"]);
|
|
17650
|
+
};
|
|
17651
|
+
}
|
|
17652
|
+
});
|
|
17653
|
+
//#endregion
|
|
17654
|
+
//#region src/lib/anchored-overlay.ts
|
|
17655
|
+
function useAnchoredOverlay(props, open, emit, openAutoFocus) {
|
|
17656
|
+
const { forwardRef: trigger, currentElement: triggerElement } = useForwardExpose();
|
|
17657
|
+
const retainedAnchor = shallowRef();
|
|
17658
|
+
const reference = computed(() => props.anchor ?? (open.value ? triggerElement.value ?? retainedAnchor.value : retainedAnchor.value ?? triggerElement.value));
|
|
17659
|
+
const visible = computed({
|
|
17660
|
+
get: () => !!open.value && !!(props.anchor || triggerElement.value),
|
|
17661
|
+
set: (value) => {
|
|
17662
|
+
open.value = value;
|
|
17663
|
+
}
|
|
17664
|
+
});
|
|
17665
|
+
watch(() => props.anchor, (anchor) => {
|
|
17666
|
+
if (anchor) retainedAnchor.value = anchor;
|
|
17667
|
+
}, {
|
|
17668
|
+
immediate: true,
|
|
17669
|
+
flush: "sync"
|
|
17670
|
+
});
|
|
17671
|
+
let previousFocus = null;
|
|
17672
|
+
let interactedOutside = false;
|
|
17673
|
+
function once(handler) {
|
|
17674
|
+
const handled = /* @__PURE__ */ new WeakSet();
|
|
17675
|
+
return (event) => {
|
|
17676
|
+
if (handled.has(event)) return;
|
|
17677
|
+
handled.add(event);
|
|
17678
|
+
handler(event);
|
|
17679
|
+
};
|
|
17680
|
+
}
|
|
17681
|
+
watch(visible, (active) => {
|
|
17682
|
+
if (!active) return;
|
|
17683
|
+
previousFocus = (props.anchor?.ownerDocument ?? triggerElement.value?.ownerDocument)?.activeElement;
|
|
17684
|
+
interactedOutside = false;
|
|
17685
|
+
}, {
|
|
17686
|
+
immediate: true,
|
|
17687
|
+
flush: "sync"
|
|
17688
|
+
});
|
|
17689
|
+
const onCloseAutoFocus = once((event) => {
|
|
17690
|
+
emit("closeAutoFocus", event);
|
|
17691
|
+
const cancelled = event.defaultPrevented;
|
|
17692
|
+
event.preventDefault();
|
|
17693
|
+
const panel = event.target;
|
|
17694
|
+
const target = triggerElement.value ?? previousFocus;
|
|
17695
|
+
const restore = !cancelled && !interactedOutside;
|
|
17696
|
+
nextTick(() => {
|
|
17697
|
+
const active = panel.ownerDocument.activeElement;
|
|
17698
|
+
if (restore && !visible.value && target?.isConnected && (active === panel.ownerDocument.body || panel.contains(active))) target.focus({ preventScroll: true });
|
|
17699
|
+
if (!visible.value) retainedAnchor.value = void 0;
|
|
17700
|
+
});
|
|
17701
|
+
});
|
|
17702
|
+
const onInteractOutside = once((event) => {
|
|
17703
|
+
if (!triggerElement.value && props.anchor?.contains(event.target)) event.preventDefault();
|
|
17704
|
+
emit("interactOutside", event);
|
|
17705
|
+
const original = event.detail.originalEvent;
|
|
17706
|
+
const rightClick = "button" in original && (original.button === 2 || original.button === 0 && original.ctrlKey);
|
|
17707
|
+
if (!event.defaultPrevented && (!props.modal || rightClick)) interactedOutside = true;
|
|
17708
|
+
});
|
|
17709
|
+
return {
|
|
17710
|
+
trigger,
|
|
17711
|
+
reference,
|
|
17712
|
+
visible,
|
|
17713
|
+
events: {
|
|
17714
|
+
...openAutoFocus ? { onOpenAutoFocus: once(openAutoFocus) } : {},
|
|
17715
|
+
onCloseAutoFocus,
|
|
17716
|
+
onInteractOutside,
|
|
17717
|
+
onPointerDownOutside: once((event) => emit("pointerDownOutside", event)),
|
|
17718
|
+
onFocusOutside: once((event) => emit("focusOutside", event)),
|
|
17719
|
+
onEscapeKeyDown: once((event) => emit("escapeKeyDown", event))
|
|
17720
|
+
}
|
|
17721
|
+
};
|
|
17722
|
+
}
|
|
17723
|
+
//#endregion
|
|
17244
17724
|
//#region src/components/popover/Popover.vue
|
|
17245
17725
|
var Popover_default = /* @__PURE__ */ defineComponent({
|
|
17246
17726
|
name: "HnPopover",
|
|
17727
|
+
inheritAttrs: false,
|
|
17247
17728
|
__name: "Popover",
|
|
17248
17729
|
props: /*@__PURE__*/ mergeModels({
|
|
17730
|
+
anchor: {},
|
|
17731
|
+
modal: {
|
|
17732
|
+
type: Boolean,
|
|
17733
|
+
default: true
|
|
17734
|
+
},
|
|
17249
17735
|
side: { default: "bottom" },
|
|
17250
17736
|
align: { default: "center" },
|
|
17251
17737
|
sideOffset: { default: 8 },
|
|
@@ -17258,10 +17744,20 @@ var Popover_default = /* @__PURE__ */ defineComponent({
|
|
|
17258
17744
|
"open": { type: Boolean },
|
|
17259
17745
|
"openModifiers": {}
|
|
17260
17746
|
}),
|
|
17261
|
-
emits: [
|
|
17262
|
-
|
|
17747
|
+
emits: /*@__PURE__*/ mergeModels([
|
|
17748
|
+
"escapeKeyDown",
|
|
17749
|
+
"pointerDownOutside",
|
|
17750
|
+
"focusOutside",
|
|
17751
|
+
"interactOutside",
|
|
17752
|
+
"openAutoFocus",
|
|
17753
|
+
"closeAutoFocus"
|
|
17754
|
+
], ["update:open"]),
|
|
17755
|
+
setup(__props, { emit: __emit }) {
|
|
17263
17756
|
const props = __props;
|
|
17264
17757
|
const open = useModel(__props, "open");
|
|
17758
|
+
const emit = __emit;
|
|
17759
|
+
const { trigger, reference, visible, events } = useAnchoredOverlay(props, open, emit, (event) => emit("openAutoFocus", event));
|
|
17760
|
+
const { content, present } = useOverlayPortal(visible);
|
|
17265
17761
|
const pressOrigin = computed(() => {
|
|
17266
17762
|
if (props.side === "left") return "right";
|
|
17267
17763
|
if (props.side === "right") return "left";
|
|
@@ -17271,24 +17767,32 @@ var Popover_default = /* @__PURE__ */ defineComponent({
|
|
|
17271
17767
|
});
|
|
17272
17768
|
return (_ctx, _cache) => {
|
|
17273
17769
|
return openBlock(), createBlock(unref(PopoverRoot), {
|
|
17274
|
-
open:
|
|
17275
|
-
"onUpdate:open": _cache[0] || (_cache[0] = ($event) =>
|
|
17276
|
-
modal:
|
|
17770
|
+
open: unref(visible),
|
|
17771
|
+
"onUpdate:open": _cache[0] || (_cache[0] = ($event) => isRef(visible) ? visible.value = $event : null),
|
|
17772
|
+
modal: props.modal
|
|
17277
17773
|
}, {
|
|
17278
|
-
default: withCtx(() => [
|
|
17774
|
+
default: withCtx(() => [_ctx.$slots.default ? (openBlock(), createBlock(unref(PopoverTrigger), {
|
|
17775
|
+
key: 0,
|
|
17776
|
+
ref: unref(trigger),
|
|
17279
17777
|
"as-child": "",
|
|
17280
17778
|
style: normalizeStyle({ transformOrigin: pressOrigin.value })
|
|
17281
17779
|
}, {
|
|
17282
17780
|
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
|
|
17283
17781
|
_: 3
|
|
17284
|
-
}, 8, ["style"]),
|
|
17285
|
-
default: withCtx(() => [createVNode(
|
|
17782
|
+
}, 8, ["style"])) : createCommentVNode("", true), unref(present) ? (openBlock(), createBlock(unref(PopoverPortal), { key: 1 }, {
|
|
17783
|
+
default: withCtx(() => [createVNode(PopoverContent_default, mergeProps({
|
|
17784
|
+
..._ctx.$attrs,
|
|
17785
|
+
...unref(events)
|
|
17786
|
+
}, {
|
|
17787
|
+
reference: unref(reference),
|
|
17286
17788
|
"as-child": "",
|
|
17287
17789
|
side: props.side,
|
|
17288
17790
|
align: props.align,
|
|
17289
17791
|
"side-offset": props.sideOffset
|
|
17290
|
-
}, {
|
|
17792
|
+
}), {
|
|
17291
17793
|
default: withCtx(() => [createVNode(Card_default, {
|
|
17794
|
+
ref_key: "content",
|
|
17795
|
+
ref: content,
|
|
17292
17796
|
padded: props.padded,
|
|
17293
17797
|
class: normalizeClass(unref(cn)("hn-anim-pop z-(--hn-z-overlay) max-w-sm shadow-md outline-none", props.class))
|
|
17294
17798
|
}, {
|
|
@@ -17296,15 +17800,16 @@ var Popover_default = /* @__PURE__ */ defineComponent({
|
|
|
17296
17800
|
_: 3
|
|
17297
17801
|
}, 8, ["padded", "class"])]),
|
|
17298
17802
|
_: 3
|
|
17299
|
-
},
|
|
17803
|
+
}, 16, [
|
|
17804
|
+
"reference",
|
|
17300
17805
|
"side",
|
|
17301
17806
|
"align",
|
|
17302
17807
|
"side-offset"
|
|
17303
17808
|
])]),
|
|
17304
17809
|
_: 3
|
|
17305
|
-
})]),
|
|
17810
|
+
})) : createCommentVNode("", true)]),
|
|
17306
17811
|
_: 3
|
|
17307
|
-
}, 8, ["open"]);
|
|
17812
|
+
}, 8, ["open", "modal"]);
|
|
17308
17813
|
};
|
|
17309
17814
|
}
|
|
17310
17815
|
});
|
|
@@ -17312,9 +17817,16 @@ var Popover_default = /* @__PURE__ */ defineComponent({
|
|
|
17312
17817
|
//#region src/components/dropdown-menu/DropdownMenu.vue
|
|
17313
17818
|
var DropdownMenu_default = /* @__PURE__ */ defineComponent({
|
|
17314
17819
|
name: "HnDropdownMenu",
|
|
17820
|
+
inheritAttrs: false,
|
|
17315
17821
|
__name: "DropdownMenu",
|
|
17316
17822
|
props: /*@__PURE__*/ mergeModels({
|
|
17317
17823
|
label: {},
|
|
17824
|
+
anchor: {},
|
|
17825
|
+
modal: {
|
|
17826
|
+
type: Boolean,
|
|
17827
|
+
default: true
|
|
17828
|
+
},
|
|
17829
|
+
dir: {},
|
|
17318
17830
|
side: { default: "bottom" },
|
|
17319
17831
|
align: { default: "center" },
|
|
17320
17832
|
sideOffset: { default: 8 },
|
|
@@ -17323,10 +17835,16 @@ var DropdownMenu_default = /* @__PURE__ */ defineComponent({
|
|
|
17323
17835
|
"open": { type: Boolean },
|
|
17324
17836
|
"openModifiers": {}
|
|
17325
17837
|
}),
|
|
17326
|
-
emits: [
|
|
17327
|
-
|
|
17838
|
+
emits: /*@__PURE__*/ mergeModels([
|
|
17839
|
+
"escapeKeyDown",
|
|
17840
|
+
"pointerDownOutside",
|
|
17841
|
+
"focusOutside",
|
|
17842
|
+
"interactOutside",
|
|
17843
|
+
"closeAutoFocus"
|
|
17844
|
+
], ["update:open"]),
|
|
17845
|
+
setup(__props, { emit: __emit }) {
|
|
17328
17846
|
const props = __props;
|
|
17329
|
-
const
|
|
17847
|
+
const { trigger, reference, visible, events } = useAnchoredOverlay(props, useModel(__props, "open"), __emit);
|
|
17330
17848
|
const pressOrigin = computed(() => {
|
|
17331
17849
|
if (props.side === "left") return "right";
|
|
17332
17850
|
if (props.side === "right") return "left";
|
|
@@ -17336,25 +17854,32 @@ var DropdownMenu_default = /* @__PURE__ */ defineComponent({
|
|
|
17336
17854
|
});
|
|
17337
17855
|
return (_ctx, _cache) => {
|
|
17338
17856
|
return openBlock(), createBlock(unref(DropdownMenuRoot), {
|
|
17339
|
-
open:
|
|
17340
|
-
"onUpdate:open": _cache[0] || (_cache[0] = ($event) =>
|
|
17341
|
-
modal:
|
|
17857
|
+
open: unref(visible),
|
|
17858
|
+
"onUpdate:open": _cache[0] || (_cache[0] = ($event) => isRef(visible) ? visible.value = $event : null),
|
|
17859
|
+
modal: props.modal,
|
|
17860
|
+
dir: props.dir
|
|
17342
17861
|
}, {
|
|
17343
|
-
default: withCtx(() => [
|
|
17862
|
+
default: withCtx(() => [_ctx.$slots.default ? (openBlock(), createBlock(unref(DropdownMenuTrigger), {
|
|
17863
|
+
key: 0,
|
|
17864
|
+
ref: unref(trigger),
|
|
17344
17865
|
"as-child": "",
|
|
17345
17866
|
class: "group/hn-disclosure",
|
|
17346
17867
|
style: normalizeStyle({ transformOrigin: pressOrigin.value })
|
|
17347
17868
|
}, {
|
|
17348
17869
|
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
|
|
17349
17870
|
_: 3
|
|
17350
|
-
}, 8, ["style"]), createVNode(unref(DropdownMenuPortal), null, {
|
|
17351
|
-
default: withCtx(() => [
|
|
17352
|
-
"as-child": "",
|
|
17871
|
+
}, 8, ["style"])) : createCommentVNode("", true), createVNode(unref(DropdownMenuPortal), null, {
|
|
17872
|
+
default: withCtx(() => [unref(reference) ? (openBlock(), createBlock(unref(DropdownMenuContent), mergeProps({ key: 0 }, {
|
|
17353
17873
|
"aria-label": props.label,
|
|
17874
|
+
..._ctx.$attrs,
|
|
17875
|
+
...unref(events)
|
|
17876
|
+
}, {
|
|
17877
|
+
reference: unref(reference),
|
|
17878
|
+
"as-child": "",
|
|
17354
17879
|
side: props.side,
|
|
17355
17880
|
align: props.align,
|
|
17356
17881
|
"side-offset": props.sideOffset
|
|
17357
|
-
}, {
|
|
17882
|
+
}), {
|
|
17358
17883
|
default: withCtx(() => [createVNode(Card_default, {
|
|
17359
17884
|
padded: false,
|
|
17360
17885
|
class: normalizeClass(unref(cn)("hn-anim-pop z-(--hn-z-overlay) flex min-w-40 flex-col gap-0.5 p-1 shadow-md outline-none", props.class))
|
|
@@ -17363,16 +17888,20 @@ var DropdownMenu_default = /* @__PURE__ */ defineComponent({
|
|
|
17363
17888
|
_: 3
|
|
17364
17889
|
}, 8, ["class"])]),
|
|
17365
17890
|
_: 3
|
|
17366
|
-
},
|
|
17367
|
-
"
|
|
17891
|
+
}, 16, [
|
|
17892
|
+
"reference",
|
|
17368
17893
|
"side",
|
|
17369
17894
|
"align",
|
|
17370
17895
|
"side-offset"
|
|
17371
|
-
])]),
|
|
17896
|
+
])) : createCommentVNode("", true)]),
|
|
17372
17897
|
_: 3
|
|
17373
17898
|
})]),
|
|
17374
17899
|
_: 3
|
|
17375
|
-
}, 8, [
|
|
17900
|
+
}, 8, [
|
|
17901
|
+
"open",
|
|
17902
|
+
"modal",
|
|
17903
|
+
"dir"
|
|
17904
|
+
]);
|
|
17376
17905
|
};
|
|
17377
17906
|
}
|
|
17378
17907
|
});
|
|
@@ -17690,6 +18219,7 @@ var Dialog_default = /* @__PURE__ */ defineComponent({
|
|
|
17690
18219
|
if (props.locked) e.preventDefault();
|
|
17691
18220
|
}
|
|
17692
18221
|
const open = useModel(__props, "open");
|
|
18222
|
+
const { content, present } = useOverlayPortal(open);
|
|
17693
18223
|
function close() {
|
|
17694
18224
|
open.value = false;
|
|
17695
18225
|
}
|
|
@@ -17704,13 +18234,16 @@ var Dialog_default = /* @__PURE__ */ defineComponent({
|
|
|
17704
18234
|
}, {
|
|
17705
18235
|
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
|
|
17706
18236
|
_: 3
|
|
17707
|
-
})) : createCommentVNode("", true),
|
|
17708
|
-
default: withCtx(() => [createVNode(unref(DialogOverlay), { class: "hn-scrim" }), createElementVNode("div", { class: normalizeClass(unref(dialogWrapper)({ placement: props.placement ?? "auto" })) }, [createVNode(
|
|
18237
|
+
})) : createCommentVNode("", true), unref(present) ? (openBlock(), createBlock(unref(DialogPortal), { key: 1 }, {
|
|
18238
|
+
default: withCtx(() => [createVNode(unref(DialogOverlay), { class: "hn-scrim" }), createElementVNode("div", { class: normalizeClass(unref(dialogWrapper)({ placement: props.placement ?? "auto" })) }, [createVNode(ModalContent_default, {
|
|
17709
18239
|
"as-child": "",
|
|
17710
18240
|
onEscapeKeyDown: guard,
|
|
17711
18241
|
onInteractOutside: guard
|
|
17712
18242
|
}, {
|
|
17713
|
-
default: withCtx(() => [createVNode(Card_default, mergeProps(
|
|
18243
|
+
default: withCtx(() => [createVNode(Card_default, mergeProps({
|
|
18244
|
+
ref_key: "content",
|
|
18245
|
+
ref: content
|
|
18246
|
+
}, props.description ? {} : { "aria-describedby": void 0 }, {
|
|
17714
18247
|
padded: false,
|
|
17715
18248
|
class: unref(cn)(unref(dialogCard)({
|
|
17716
18249
|
placement: props.placement ?? "auto",
|
|
@@ -17778,7 +18311,7 @@ var Dialog_default = /* @__PURE__ */ defineComponent({
|
|
|
17778
18311
|
_: 3
|
|
17779
18312
|
})], 2)]),
|
|
17780
18313
|
_: 3
|
|
17781
|
-
})]),
|
|
18314
|
+
})) : createCommentVNode("", true)]),
|
|
17782
18315
|
_: 3
|
|
17783
18316
|
}, 8, ["open"]);
|
|
17784
18317
|
};
|
|
@@ -18869,6 +19402,6 @@ function createScrollRestorer(key, ports) {
|
|
|
18869
19402
|
};
|
|
18870
19403
|
}
|
|
18871
19404
|
//#endregion
|
|
18872
|
-
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, 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, 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, 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, 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, TreeSelect_default as TreeSelect, VisuallyHidden_default as VisuallyHidden, atopOff, cn, createScrollRestorer, cssEase, enUS, firstPaintRestoreScript, provideImageResolver, provideUiLocale, readScrollRecord, toast, tokenize, tokensToHtml, tv, useImageResolver, useUiLocale, writeScrollRecord, zhCN };
|
|
19405
|
+
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, 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, 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, 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, TreeSelect_default as TreeSelect, VisuallyHidden_default as VisuallyHidden, atopOff, cn, createScrollRestorer, cssEase, enUS, firstPaintRestoreScript, provideImageResolver, provideUiLocale, readScrollRecord, toast, tokenize, tokensToHtml, tv, useImageResolver, useUiLocale, writeScrollRecord, zhCN };
|
|
18873
19406
|
|
|
18874
19407
|
//# sourceMappingURL=index.js.map
|