@vygruppen/spor-react 12.22.1 → 12.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -1,15 +1,15 @@
1
- import { useSlotRecipe, Accordion as Accordion$1, Stack, Box, HStack, Progress, defineRecipe, chakra, Text, useRecipe, Circle, Skeleton as Skeleton$1, Button as Button$1, Group, Badge as Badge$1, Code as Code$1, Clipboard as Clipboard$1, IconButton as IconButton$1, useDisclosure, Alert as Alert$1, Span, Flex, Breadcrumb as Breadcrumb$1, RadioCard as RadioCard$1, Separator as Separator$1, ClientOnly, Field, defineStyle, PopoverAnchor, useFieldContext, Popover as Popover$1, Portal, Dialog, createContext as createContext$1, useDialogContext, Drawer as Drawer$1, InputElement, Input as Input$1, Combobox, useComboboxContext, usePopoverContext, Checkbox as Checkbox$1, CheckboxCard, Fieldset as Fieldset$1, NativeSelect as NativeSelect$1, useControllableState, createListCollection, RadioGroup as RadioGroup$1, Select as Select$1, useSelectContext, Switch as Switch$1, Textarea as Textarea$1, Link, List as List$1, Center, PopoverCloseTrigger, Pagination as Pagination$1, usePaginationContext, createToaster, Tabs as Tabs$1, Table as Table$1, defineSemanticTokens, defineSlotRecipe, defineTokens, defineAnimationStyles, defineGlobalStyles, defineTextStyles, createSystem, defaultBaseConfig, Tooltip as Tooltip$1, VisuallyHidden, defineConfig, useFilter, useListCollection, CheckboxGroup as CheckboxGroup$1, ListItem, ChakraProvider, Toaster as Toaster$1, Toast } from '@chakra-ui/react';
2
- export { AspectRatio, Box, BreadcrumbCurrentLink, BreadcrumbEllipsis, BreadcrumbLink, Center, ClientOnly, Collapsible, Container, Em, Flex, For, FormatByte, FormatNumber, Grid, GridItem, HStack, Icon, Image, Kbd, LocaleProvider, Portal, Show, SimpleGrid, Spacer, Span, Stack, TableBody, TableCaption, TableCell, TableColumn, TableColumnGroup, TableColumnHeader, TableFooter, TableHeader, TableRoot, TableRow, VStack, VisuallyHidden, Wrap, createIcon, createListCollection, createSystem, defineConfig, defineRecipe, defineStyle, chakra as spor, useBreakpointValue, useCheckbox, useClipboard, useControllableProp, useDisclosure, useMediaQuery, useRecipe, useSlotRecipe, useToken } from '@chakra-ui/react';
1
+ import { useSlotRecipe, Accordion as Accordion$1, Stack, Box, HStack, Progress, defineRecipe, chakra, Text, useRecipe, Circle, Skeleton as Skeleton$1, Button as Button$1, Group, Badge as Badge$1, Code as Code$1, Clipboard as Clipboard$1, IconButton as IconButton$1, useDisclosure, Alert as Alert$1, Span, Flex, Breadcrumb as Breadcrumb$1, RadioCard as RadioCard$1, Separator as Separator$1, ClientOnly, Field, defineStyle, PopoverAnchor, useFieldContext, Popover as Popover$1, Portal, Dialog, createContext as createContext$1, useDialogContext, Drawer as Drawer$1, InputElement, Input as Input$1, Combobox, useComboboxContext, usePopoverContext, Checkbox as Checkbox$1, CheckboxCard, Fieldset as Fieldset$1, NativeSelect as NativeSelect$1, useControllableState, createListCollection, RadioGroup as RadioGroup$1, Select as Select$1, useSelectContext, Switch as Switch$1, Textarea as Textarea$1, Link, List as List$1, Center, PopoverCloseTrigger, Pagination as Pagination$1, usePaginationContext, createToaster, Tabs as Tabs$1, Table as Table$1, defineSemanticTokens, defineSlotRecipe, defineTokens, defineAnimationStyles, defineGlobalStyles, defineTextStyles, createSystem, defaultBaseConfig, Tooltip as Tooltip$1, VisuallyHidden as VisuallyHidden$1, defineConfig, useFilter, useListCollection, useCombobox, CheckboxGroup as CheckboxGroup$1, ListItem, ChakraProvider, Toaster as Toaster$1, Toast } from '@chakra-ui/react';
2
+ export { AspectRatio, Box, BreadcrumbCurrentLink, BreadcrumbEllipsis, BreadcrumbLink, Center, ClientOnly, Collapsible, Container, Em, Flex, For, FormatByte, FormatNumber, Grid, GridItem, HStack, Icon, Image, Kbd, LocaleProvider, Portal, Show, SimpleGrid, Spacer, Span, Stack, TableCaption, TableCell, TableColumn, TableColumnGroup, TableFooter, TableHeader, TableRoot, VStack, VisuallyHidden, Wrap, createIcon, createListCollection, createSystem, defineConfig, defineRecipe, defineStyle, chakra as spor, useBreakpointValue, useCheckbox, useClipboard, useControllableProp, useDisclosure, useMediaQuery, useRecipe, useSlotRecipe, useToken } from '@chakra-ui/react';
3
3
  import * as spor_icon_react_star from '@vygruppen/spor-icon-react';
4
- import { DropdownDownFill24Icon, CopyOutline18Icon, CheckmarkFill18Icon, CloseFill18Icon, CloseFill30Icon, CloseFill24Icon, InformationFill24Icon, ServiceFill24Icon, QuestionFill24Icon, ErrorOutline24Icon, ErrorFill24Icon, AltTransportFill24Icon, WarningFill24Icon, SuccessFill24Icon, DropdownDownFill18Icon, DropdownRightFill18Icon, CalendarOutline24Icon, ArrowLeftFill24Icon, ChangeDirectionOutline24Icon, CloseOutline24Icon, SearchOutline24Icon, Forward15MediaControllerFill30Icon, Backward15MediaControllerFill30Icon, PauseMediaControllerFill24Icon, PlayMediaControllerFill24Icon, NextMediaControllerFill30Icon, PreviousMediaControllerFill30Icon, ArrowRightFill18Icon, DropdownLeftOutline18Icon, DropdownRightOutline18Icon, WalkFill30Icon, WalkFill24Icon, WalkFill18Icon, AltTransportFill30Icon, AltTransportFill18Icon, TramFill30Icon, TramFill24Icon, TramFill18Icon, SubwayFill30Icon, SubwayFill24Icon, SubwayFill18Icon, FerryFill30Icon, FerryFill24Icon, FerryFill18Icon, BusFill30Icon, BusFill24Icon, BusFill18Icon, ExpressBusFill30Icon, ExpressBusFill24Icon, ExpressBusFill18Icon, TrainFill30Icon, TrainFill24Icon, TrainFill18Icon, InformationFill18Icon, WarningFill18Icon, ErrorFill18Icon, LinkOutOutline24Icon, LinkOutOutline18Icon, ArrowLeftOutline24Icon, ArrowRightOutline24Icon, DropdownLeftFill18Icon } from '@vygruppen/spor-icon-react';
4
+ import { DropdownDownFill24Icon, CopyOutline18Icon, CheckmarkFill18Icon, CloseFill18Icon, CloseFill30Icon, CloseFill24Icon, InformationFill24Icon, ServiceFill24Icon, QuestionFill24Icon, ErrorOutline24Icon, ErrorFill24Icon, AltTransportFill24Icon, WarningFill24Icon, SuccessFill24Icon, DropdownDownFill18Icon, DropdownRightFill18Icon, CalendarOutline24Icon, ArrowLeftFill24Icon, ChangeDirectionOutline24Icon, CloseOutline24Icon, SearchOutline24Icon, Forward15MediaControllerFill30Icon, Backward15MediaControllerFill30Icon, PauseMediaControllerFill24Icon, PlayMediaControllerFill24Icon, NextMediaControllerFill30Icon, PreviousMediaControllerFill30Icon, ArrowRightFill18Icon, DropdownLeftOutline18Icon, DropdownRightOutline18Icon, DropdownUpFill18Icon, WalkFill30Icon, WalkFill24Icon, WalkFill18Icon, AltTransportFill30Icon, AltTransportFill18Icon, TramFill30Icon, TramFill24Icon, TramFill18Icon, SubwayFill30Icon, SubwayFill24Icon, SubwayFill18Icon, FerryFill30Icon, FerryFill24Icon, FerryFill18Icon, BusFill30Icon, BusFill24Icon, BusFill18Icon, ExpressBusFill30Icon, ExpressBusFill24Icon, ExpressBusFill18Icon, TrainFill30Icon, TrainFill24Icon, TrainFill18Icon, InformationFill18Icon, WarningFill18Icon, ErrorFill18Icon, LinkOutOutline24Icon, LinkOutOutline18Icon, ArrowLeftOutline24Icon, ArrowRightOutline24Icon, DropdownLeftFill18Icon } from '@vygruppen/spor-icon-react';
5
5
  import * as React20 from 'react';
6
- import React20__default, { forwardRef, createContext, useId, cloneElement, useRef, useImperativeHandle, useMemo, isValidElement, useState, useEffect, useLayoutEffect, useContext } from 'react';
6
+ import React20__default, { forwardRef, createContext, useId, cloneElement, useRef, useImperativeHandle, useMemo, isValidElement, useState, useEffect, useContext, Children, useLayoutEffect } from 'react';
7
7
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
8
8
  import { spinnerColorData, inlineLoaderColorData, contentLoaderData, fullScreenLoaderWhiteData, inlineLoaderDarkData, spinnerLightData, spinnerDarkData, fullScreenLoaderBlackData, inlineLoaderLightData } from '@vygruppen/spor-loader';
9
9
  import ReactLottie from 'lottie-react';
10
10
  import { useInterval } from 'usehooks-ts';
11
11
  export { useIsClient, useMap, useOnClickOutside } from 'usehooks-ts';
12
- import { useProgressBar, useDateSegment, useDateField, useDatePicker, I18nProvider, usePopover, DismissButton, Overlay, useCalendar as useCalendar$1, useCalendarGrid, useCalendarCell, useButton, useRangeCalendar, useFocusRing, mergeProps, useDateFormatter, VisuallyHidden as VisuallyHidden$1, useId as useId$1, useDateRangePicker, useFilter as useFilter$1, useComboBox, useListBox, useOption, useListBoxSection, useTimeField } from 'react-aria';
12
+ import { useProgressBar, VisuallyHidden, useDateSegment, useDateField, useDatePicker, I18nProvider, usePopover, DismissButton, Overlay, useCalendar as useCalendar$1, useCalendarGrid, useCalendarCell, useButton, useRangeCalendar, useFocusRing, mergeProps, useDateFormatter, useId as useId$1, useDateRangePicker, useFilter as useFilter$1, useComboBox, useListBox, useOption, useListBoxSection, useTimeField } from 'react-aria';
13
13
  import { GregorianCalendar, createCalendar, getLocalTimeZone, endOfMonth, getWeeksInMonth, isSameMonth, isToday, toCalendarDate, isSameDay, parseTime } from '@internationalized/date';
14
14
  export { Time } from '@internationalized/date';
15
15
  import { useDateFieldState, useDatePickerState, useCalendarState, useRangeCalendarState, useDateRangePickerState, useTimeFieldState, useComboBoxState } from 'react-stately';
@@ -194,7 +194,7 @@ var ColorInlineLoader = ({
194
194
  }) => {
195
195
  return /* @__PURE__ */ jsxs(Center, { role: "status", "aria-live": "polite", ...props, children: [
196
196
  /* @__PURE__ */ jsx(Box, { width, maxWidth, children: /* @__PURE__ */ jsx(ClientOnly, { children: /* @__PURE__ */ jsx(Lottie, { animationData: inlineLoaderColorData }) }) }),
197
- /* @__PURE__ */ jsx(VisuallyHidden, { children: "Loading..." })
197
+ /* @__PURE__ */ jsx(VisuallyHidden$1, { children: "Loading..." })
198
198
  ] });
199
199
  };
200
200
  var ColorSpinner = ({
@@ -205,14 +205,14 @@ var ColorSpinner = ({
205
205
  }) => {
206
206
  return /* @__PURE__ */ jsxs(Center, { flexDirection: "column", role: "status", "aria-live": "polite", ...props, children: [
207
207
  /* @__PURE__ */ jsx(Box, { width, maxWidth, children: /* @__PURE__ */ jsx(ClientOnly, { children: /* @__PURE__ */ jsx(Lottie, { animationData: spinnerColorData }) }) }),
208
- /* @__PURE__ */ jsx(VisuallyHidden, { children: "Loading..." }),
208
+ /* @__PURE__ */ jsx(VisuallyHidden$1, { children: "Loading..." }),
209
209
  children && /* @__PURE__ */ jsx(Box, { marginTop: 3, fontWeight: "bold", children })
210
210
  ] });
211
211
  };
212
212
  var ContentLoader = ({ children, ...props }) => {
213
213
  return /* @__PURE__ */ jsxs(Box, { role: "status", "aria-live": "polite", ...props, children: [
214
214
  /* @__PURE__ */ jsx(Box, { maxWidth: "140px", marginX: "auto", children: /* @__PURE__ */ jsx(ClientOnly, { children: /* @__PURE__ */ jsx(Lottie, { animationData: contentLoaderData }) }) }),
215
- /* @__PURE__ */ jsx(VisuallyHidden, { children: "Loading..." }),
215
+ /* @__PURE__ */ jsx(VisuallyHidden$1, { children: "Loading..." }),
216
216
  children && /* @__PURE__ */ jsx(Box, { textAlign: "center", fontWeight: "bold", children })
217
217
  ] });
218
218
  };
@@ -232,7 +232,7 @@ var DarkFullScreenLoader = ({
232
232
  ...props,
233
233
  children: [
234
234
  /* @__PURE__ */ jsx(Box, { width, maxWidth, children: /* @__PURE__ */ jsx(ClientOnly, { children: /* @__PURE__ */ jsx(Lottie, { animationData: fullScreenLoaderWhiteData }) }) }),
235
- /* @__PURE__ */ jsx(VisuallyHidden, { children: "Loading..." })
235
+ /* @__PURE__ */ jsx(VisuallyHidden$1, { children: "Loading..." })
236
236
  ]
237
237
  }
238
238
  );
@@ -244,7 +244,7 @@ var DarkInlineLoader = ({
244
244
  }) => {
245
245
  return /* @__PURE__ */ jsxs(Center, { role: "status", "aria-live": "polite", ...props, children: [
246
246
  /* @__PURE__ */ jsx(Box, { width, maxWidth, children: /* @__PURE__ */ jsx(ClientOnly, { children: /* @__PURE__ */ jsx(Lottie, { animationData: inlineLoaderDarkData }) }) }),
247
- /* @__PURE__ */ jsx(VisuallyHidden, { children: "Loading..." })
247
+ /* @__PURE__ */ jsx(VisuallyHidden$1, { children: "Loading..." })
248
248
  ] });
249
249
  };
250
250
  var DarkSpinner = ({
@@ -257,7 +257,7 @@ var DarkSpinner = ({
257
257
  const spinnerData = colorMode === "dark" ? spinnerLightData : spinnerDarkData;
258
258
  return /* @__PURE__ */ jsxs(Center, { flexDirection: "column", role: "status", "aria-live": "polite", ...props, children: [
259
259
  /* @__PURE__ */ jsx(Box, { width, maxWidth, children: /* @__PURE__ */ jsx(ClientOnly, { children: /* @__PURE__ */ jsx(Lottie, { animationData: spinnerData }) }) }),
260
- /* @__PURE__ */ jsx(VisuallyHidden, { children: "Loading..." }),
260
+ /* @__PURE__ */ jsx(VisuallyHidden$1, { children: "Loading..." }),
261
261
  children && /* @__PURE__ */ jsx(Box, { marginTop: 3, fontWeight: "bold", children })
262
262
  ] });
263
263
  };
@@ -268,7 +268,7 @@ var LightFullScreenLoader = ({
268
268
  }) => {
269
269
  return /* @__PURE__ */ jsxs(Center, { height: "100%", role: "status", "aria-live": "polite", ...props, children: [
270
270
  /* @__PURE__ */ jsx(Box, { width, maxWidth, children: /* @__PURE__ */ jsx(ClientOnly, { children: /* @__PURE__ */ jsx(Lottie, { animationData: fullScreenLoaderBlackData }) }) }),
271
- /* @__PURE__ */ jsx(VisuallyHidden, { children: "Loading..." })
271
+ /* @__PURE__ */ jsx(VisuallyHidden$1, { children: "Loading..." })
272
272
  ] });
273
273
  };
274
274
  var LightInlineLoader = ({
@@ -278,7 +278,7 @@ var LightInlineLoader = ({
278
278
  }) => {
279
279
  return /* @__PURE__ */ jsxs(Center, { height: "100%", role: "status", "aria-live": "polite", ...props, children: [
280
280
  /* @__PURE__ */ jsx(Box, { width, maxWidth, children: /* @__PURE__ */ jsx(ClientOnly, { children: /* @__PURE__ */ jsx(Lottie, { animationData: inlineLoaderLightData }) }) }),
281
- /* @__PURE__ */ jsx(VisuallyHidden, { children: "Loading..." })
281
+ /* @__PURE__ */ jsx(VisuallyHidden$1, { children: "Loading..." })
282
282
  ] });
283
283
  };
284
284
  var LightSpinner = ({
@@ -289,7 +289,7 @@ var LightSpinner = ({
289
289
  }) => {
290
290
  return /* @__PURE__ */ jsxs(Center, { flexDirection: "column", role: "status", "aria-live": "polite", ...props, children: [
291
291
  /* @__PURE__ */ jsx(Box, { width, maxWidth, children: /* @__PURE__ */ jsx(ClientOnly, { children: /* @__PURE__ */ jsx(Lottie, { animationData: spinnerLightData }) }) }),
292
- /* @__PURE__ */ jsx(VisuallyHidden, { children: "Loading..." }),
292
+ /* @__PURE__ */ jsx(VisuallyHidden$1, { children: "Loading..." }),
293
293
  children && /* @__PURE__ */ jsx(Box, { marginTop: 3, fontWeight: "bold", children })
294
294
  ] });
295
295
  };
@@ -1023,7 +1023,10 @@ var useScrollDirection = () => {
1023
1023
  var AlertIcon = forwardRef(
1024
1024
  ({ variant, customIcon: CustomAlertIcon }, ref) => {
1025
1025
  const { t } = useTranslation();
1026
- return /* @__PURE__ */ jsx(Box, { ref, "aria-label": t(texts5[variant]), children: CustomAlertIcon ? /* @__PURE__ */ jsx(CustomAlertIcon, { color: `alert.${variant}.icon` }) : /* @__PURE__ */ jsx(BaseAlertIcon, { variant }) });
1026
+ return /* @__PURE__ */ jsxs(Box, { ref, children: [
1027
+ /* @__PURE__ */ jsx(VisuallyHidden, { children: t(texts5[variant]) }),
1028
+ CustomAlertIcon ? /* @__PURE__ */ jsx(CustomAlertIcon, { color: `alert.${variant}.icon` }) : /* @__PURE__ */ jsx(BaseAlertIcon, { variant })
1029
+ ] });
1027
1030
  }
1028
1031
  );
1029
1032
  AlertIcon.displayName = "AlertIcon";
@@ -1694,7 +1697,7 @@ function CalendarHeader({ dualView }) {
1694
1697
  state.focusNextPage();
1695
1698
  }
1696
1699
  return /* @__PURE__ */ jsxs(Flex, { flex: 1, alignItems: "center", paddingBottom: 4, children: [
1697
- /* @__PURE__ */ jsx(VisuallyHidden$1, { children: /* @__PURE__ */ jsx("h2", { children: calendarProps["aria-label"] }) }),
1700
+ /* @__PURE__ */ jsx(VisuallyHidden, { children: /* @__PURE__ */ jsx("h2", { children: calendarProps["aria-label"] }) }),
1698
1701
  /* @__PURE__ */ jsx(
1699
1702
  IconButton,
1700
1703
  {
@@ -1899,12 +1902,12 @@ var floatingLabelStyles = defineStyle({
1899
1902
  opacity: 0.4
1900
1903
  },
1901
1904
  pos: "absolute",
1902
- transition: "position",
1905
+ transition: "top 160ms ease, font-size 160ms ease",
1903
1906
  top: "0.9rem",
1904
1907
  color: "text",
1905
1908
  fontSize: ["mobile.sm", "desktop.sm"],
1906
1909
  "&[data-float]": {
1907
- fontSize: ["mobile.xs", "desktop.xs"],
1910
+ fontSize: ["mobile.2xs", "desktop.2xs"],
1908
1911
  color: "text",
1909
1912
  top: "0.3rem"
1910
1913
  }
@@ -1978,7 +1981,7 @@ var Field3 = React20.forwardRef(
1978
1981
  children: renderLabelWithIndicator(label, labelAsChild)
1979
1982
  }
1980
1983
  ),
1981
- errorText && /* @__PURE__ */ jsx(Field.ErrorText, { children: errorText })
1984
+ errorText && /* @__PURE__ */ jsx(Field.ErrorText, { "aria-live": "polite", children: errorText })
1982
1985
  ]
1983
1986
  }
1984
1987
  ),
@@ -3103,7 +3106,7 @@ var SwitchButton = chakra(
3103
3106
  defineRecipe({
3104
3107
  base: {
3105
3108
  position: "absolute !important",
3106
- zIndex: "docked !important",
3109
+ zIndex: "101 !important",
3107
3110
  // eslint-disable-next-line spor/use-semantic-tokens
3108
3111
  bg: "bg !important",
3109
3112
  outlineWidth: "1px !important",
@@ -3119,7 +3122,7 @@ var SwitchButton = chakra(
3119
3122
  },
3120
3123
  vertical: {
3121
3124
  top: "calc(50% - 15px)",
3122
- right: "12px",
3125
+ right: "3rem",
3123
3126
  transform: "rotate(90deg)"
3124
3127
  }
3125
3128
  }
@@ -3214,6 +3217,7 @@ var Input = forwardRef(
3214
3217
  const recipe = useRecipe({ key: "input" });
3215
3218
  const [recipeProps, restProps] = recipe.splitVariantProps(props);
3216
3219
  const styles = recipe(recipeProps);
3220
+ const labelId = useId();
3217
3221
  const inputRef = useRef(null);
3218
3222
  useImperativeHandle(ref, () => inputRef.current, []);
3219
3223
  const { shouldFloat, handleFocus, handleBlur, handleChange, isControlled } = useFloatingInputState({
@@ -3234,7 +3238,7 @@ var Input = forwardRef(
3234
3238
  errorText,
3235
3239
  id: props.id,
3236
3240
  labelAsChild,
3237
- label: /* @__PURE__ */ jsxs(Flex, { fontSize: fontSize ?? "mobile.md", children: [
3241
+ label: /* @__PURE__ */ jsxs(Flex, { id: labelId, children: [
3238
3242
  /* @__PURE__ */ jsx(Box, { visibility: "hidden", children: startElement }),
3239
3243
  label
3240
3244
  ] }),
@@ -3246,6 +3250,7 @@ var Input = forwardRef(
3246
3250
  {
3247
3251
  pointerEvents: "none",
3248
3252
  paddingX: 2,
3253
+ "aria-hidden": "true",
3249
3254
  fontSize: fontSize ?? "mobile.md",
3250
3255
  children: startElement
3251
3256
  }
@@ -3267,7 +3272,8 @@ var Input = forwardRef(
3267
3272
  onChange: handleChange,
3268
3273
  placeholder: "",
3269
3274
  css: styles,
3270
- fontSize: fontSize ?? "mobile.md"
3275
+ fontSize: fontSize ?? "mobile.md",
3276
+ "aria-labelledby": labelId
3271
3277
  }
3272
3278
  ),
3273
3279
  endElement && /* @__PURE__ */ jsx(
@@ -3298,6 +3304,9 @@ var Autocomplete = ({
3298
3304
  filteredExternally,
3299
3305
  loading,
3300
3306
  disabled,
3307
+ emptyLabel,
3308
+ openOnClick = true,
3309
+ openOnFocus = true,
3301
3310
  ...rest
3302
3311
  }) => {
3303
3312
  const { contains } = useFilter({ sensitivity: "base" });
@@ -3318,50 +3327,52 @@ var Autocomplete = ({
3318
3327
  () => filterChildren(children, collection.items),
3319
3328
  [children, collection.items]
3320
3329
  );
3321
- return /* @__PURE__ */ jsxs(
3322
- Combobox.Root,
3323
- {
3324
- ...rest,
3325
- collection,
3326
- onInputValueChange: (event) => {
3327
- if (!filteredExternally) {
3328
- filter(event.inputValue);
3329
- }
3330
- onInputValueChange == null ? void 0 : onInputValueChange(event);
3331
- },
3332
- positioning: {
3333
- placement: "bottom",
3334
- offset: {
3335
- mainAxis: 3,
3336
- crossAxis: -1
3337
- },
3338
- flip: false
3330
+ const combobox = useCombobox({
3331
+ collection,
3332
+ openOnClick,
3333
+ onInputValueChange: (event) => {
3334
+ if (!filteredExternally) {
3335
+ filter(event.inputValue);
3336
+ }
3337
+ onInputValueChange == null ? void 0 : onInputValueChange(event);
3338
+ },
3339
+ positioning: {
3340
+ placement: "bottom",
3341
+ offset: {
3342
+ mainAxis: 3,
3343
+ crossAxis: -1
3339
3344
  },
3340
- disabled,
3341
- children: [
3342
- /* @__PURE__ */ jsxs(Combobox.Control, { children: [
3343
- /* @__PURE__ */ jsx(Combobox.Input, { asChild: true, children: /* @__PURE__ */ jsx(
3344
- Input,
3345
- {
3346
- label: /* @__PURE__ */ jsx(Combobox.Label, { children: label }),
3347
- variant,
3348
- labelAsChild: true,
3349
- startElement: leftIcon,
3350
- invalid,
3351
- helperText,
3352
- errorText,
3353
- required
3354
- }
3355
- ) }),
3356
- /* @__PURE__ */ jsx(Combobox.IndicatorGroup, { children: /* @__PURE__ */ jsx(Combobox.ClearTrigger, { asChild: true, children: /* @__PURE__ */ jsx(CloseButton, { size: "xs" }) }) })
3357
- ] }),
3358
- /* @__PURE__ */ jsx(Combobox.Positioner, { children: /* @__PURE__ */ jsxs(Combobox.Content, { children: [
3359
- /* @__PURE__ */ jsx(Combobox.Empty, { children: !loading && t(texts14.noItemsFound) }),
3360
- loading ? /* @__PURE__ */ jsx(ColorSpinner, { width: "1.5rem", p: "2" }) : /* @__PURE__ */ jsx(Fragment, { children: filteredChildren })
3361
- ] }) })
3362
- ]
3363
- }
3364
- );
3345
+ flip: false
3346
+ },
3347
+ disabled,
3348
+ ...rest
3349
+ });
3350
+ return /* @__PURE__ */ jsxs(Combobox.RootProvider, { value: combobox, children: [
3351
+ /* @__PURE__ */ jsxs(Combobox.Control, { children: [
3352
+ /* @__PURE__ */ jsx(Combobox.Input, { asChild: true, children: /* @__PURE__ */ jsx(
3353
+ Input,
3354
+ {
3355
+ label: /* @__PURE__ */ jsx(Combobox.Label, { children: label }),
3356
+ variant,
3357
+ labelAsChild: true,
3358
+ startElement: leftIcon,
3359
+ invalid,
3360
+ helperText,
3361
+ errorText,
3362
+ required,
3363
+ onFocus: () => {
3364
+ if (openOnFocus)
3365
+ combobox.setOpen(true);
3366
+ }
3367
+ }
3368
+ ) }),
3369
+ /* @__PURE__ */ jsx(Combobox.IndicatorGroup, { children: /* @__PURE__ */ jsx(Combobox.ClearTrigger, { asChild: true, "aria-label": t(texts14.clearValue), children: /* @__PURE__ */ jsx(CloseButton, { size: "xs" }) }) })
3370
+ ] }),
3371
+ /* @__PURE__ */ jsx(Combobox.Positioner, { children: /* @__PURE__ */ jsxs(Combobox.Content, { children: [
3372
+ /* @__PURE__ */ jsx(Combobox.Empty, { children: !loading && (emptyLabel ?? t(texts14.noItemsFound)) }),
3373
+ loading ? /* @__PURE__ */ jsx(ColorSpinner, { width: "1.5rem", p: "2" }) : /* @__PURE__ */ jsx(Fragment, { children: filteredChildren })
3374
+ ] }) })
3375
+ ] });
3365
3376
  };
3366
3377
  var AutocompleteItemGroup = Combobox.ItemGroup;
3367
3378
  var AutocompleteItemGroupLabel = Combobox.ItemGroupLabel;
@@ -3431,6 +3442,12 @@ var texts14 = createTexts({
3431
3442
  nn: "Ingen resultat",
3432
3443
  sv: "Inga resultat",
3433
3444
  en: "No results found"
3445
+ },
3446
+ clearValue: {
3447
+ nb: "T\xF8m verdi",
3448
+ nn: "T\xF8m verdi",
3449
+ sv: "Rensa v\xE4rde",
3450
+ en: "Clear value"
3434
3451
  }
3435
3452
  });
3436
3453
  var CardSelect = ({ size = "md", ...props }) => {
@@ -3996,7 +4013,6 @@ var NumericStepper = React20__default.forwardRef((props, ref) => {
3996
4013
  {
3997
4014
  css: styles.root,
3998
4015
  width: "auto",
3999
- id: idProperty,
4000
4016
  ref,
4001
4017
  label,
4002
4018
  helperText,
@@ -4021,8 +4037,7 @@ var NumericStepper = React20__default.forwardRef((props, ref) => {
4021
4037
  focusOnAddButton();
4022
4038
  }
4023
4039
  },
4024
- disabled: disabled || value <= minValue,
4025
- id: value <= minValue ? void 0 : idProperty
4040
+ disabled: disabled || value <= minValue
4026
4041
  }
4027
4042
  ),
4028
4043
  withInput ? /* @__PURE__ */ jsx(
@@ -4033,7 +4048,7 @@ var NumericStepper = React20__default.forwardRef((props, ref) => {
4033
4048
  name: nameProperty,
4034
4049
  value,
4035
4050
  disabled,
4036
- id: value === 0 ? void 0 : idProperty,
4051
+ id: idProperty,
4037
4052
  css: styles.input,
4038
4053
  width: `${Math.max(value.toString().length + 1, 3)}ch`,
4039
4054
  "aria-live": "assertive",
@@ -4071,8 +4086,7 @@ var NumericStepper = React20__default.forwardRef((props, ref) => {
4071
4086
  )
4072
4087
  ),
4073
4088
  onClick: () => onChange(Math.min(value + clampedStepSize, maxValue)),
4074
- disabled: disabled || value >= maxValue,
4075
- id: value >= maxValue ? void 0 : idProperty
4089
+ disabled: disabled || value >= maxValue
4076
4090
  }
4077
4091
  )
4078
4092
  ]
@@ -4277,6 +4291,7 @@ var CountryCodeSelect = forwardRef((props, ref) => {
4277
4291
  lazyMount: true,
4278
4292
  "aria-label": t(texts17.countryCode),
4279
4293
  sideRadiusVariant: "rightSideSquare",
4294
+ role: "combobox",
4280
4295
  children: filteredCallingCodes.items.map((code) => /* @__PURE__ */ jsx(SelectItem, { item: code, children: code.label }, code.label))
4281
4296
  }
4282
4297
  );
@@ -4631,7 +4646,7 @@ var Textarea = forwardRef(
4631
4646
  errorText,
4632
4647
  readOnly,
4633
4648
  helperText,
4634
- floatingLabel,
4649
+ floatingLabel = true,
4635
4650
  ...restProps
4636
4651
  } = props;
4637
4652
  const recipe = useRecipe({ key: "textarea" });
@@ -4647,7 +4662,8 @@ var Textarea = forwardRef(
4647
4662
  onChange: props.onChange,
4648
4663
  inputRef
4649
4664
  });
4650
- return /* @__PURE__ */ jsxs(
4665
+ const labelId = useId();
4666
+ return /* @__PURE__ */ jsx(
4651
4667
  Field3,
4652
4668
  {
4653
4669
  errorText,
@@ -4658,31 +4674,24 @@ var Textarea = forwardRef(
4658
4674
  floatingLabel,
4659
4675
  shouldFloat,
4660
4676
  position: "relative",
4661
- children: [
4662
- /* @__PURE__ */ jsx(
4663
- Textarea$1,
4664
- {
4665
- ...restProps,
4666
- css: styles,
4667
- className: "peer",
4668
- ref: inputRef,
4669
- value: isControlled ? props.value : void 0,
4670
- onFocus: handleFocus,
4671
- onBlur: handleBlur,
4672
- onChange: handleChange,
4673
- style: { "--label-height": `${labelHeight}px` },
4674
- placeholder: " "
4675
- }
4676
- ),
4677
- /* @__PURE__ */ jsx(
4678
- FloatingLabel,
4679
- {
4680
- ref: labelRef,
4681
- "data-float": shouldFloat ? true : void 0,
4682
- children: label
4683
- }
4684
- )
4685
- ]
4677
+ label: /* @__PURE__ */ jsx(Box, { id: labelId, "aria-hidden": true, children: /* @__PURE__ */ jsx("label", { ref: labelRef, children: label }) }),
4678
+ id: restProps.id,
4679
+ children: /* @__PURE__ */ jsx(
4680
+ Textarea$1,
4681
+ {
4682
+ ...restProps,
4683
+ css: styles,
4684
+ className: "peer",
4685
+ ref: inputRef,
4686
+ value: isControlled ? props.value : void 0,
4687
+ onFocus: handleFocus,
4688
+ onBlur: handleBlur,
4689
+ onChange: handleChange,
4690
+ style: { "--label-height": `${labelHeight}px` },
4691
+ placeholder: " ",
4692
+ "aria-labelledby": labelId
4693
+ }
4694
+ )
4686
4695
  }
4687
4696
  );
4688
4697
  }
@@ -4918,7 +4927,7 @@ var ExternalIcon = ({
4918
4927
  size
4919
4928
  }) => /* @__PURE__ */ jsxs(Fragment, { children: [
4920
4929
  size === "lg" || size === "md" ? /* @__PURE__ */ jsx(LinkOutOutline24Icon, { "aria-hidden": true, display: "inline" }) : /* @__PURE__ */ jsx(LinkOutOutline18Icon, { "aria-hidden": true, display: "inline" }),
4921
- /* @__PURE__ */ jsx(VisuallyHidden, { children: label })
4930
+ /* @__PURE__ */ jsx(VisuallyHidden$1, { children: label })
4922
4931
  ] });
4923
4932
  var TextLink = forwardRef(
4924
4933
  ({ children, external, href, ...props }, ref) => {
@@ -6252,24 +6261,121 @@ var TabsList = Tabs$1.List;
6252
6261
  var TabsTrigger = Tabs$1.Trigger;
6253
6262
  var TabsIndicator = Tabs$1.Indicator;
6254
6263
  var TabsContent = Tabs$1.Content;
6255
- var Table = forwardRef((props, ref) => {
6256
- const { variant = "ghost", size, colorPalette = "green", children } = props;
6257
- const recipe = useSlotRecipe({ key: "table" });
6258
- const styles = recipe({ variant, size });
6264
+ var getNextSortState = (current, key, columnIndex) => ({
6265
+ key,
6266
+ columnIndex,
6267
+ direction: current.key === key && current.direction === "asc" ? "desc" : "asc"
6268
+ });
6269
+ var getSortKey = (children) => typeof children === "string" ? children.trim() : null;
6270
+ var getColumnIndex = (element) => {
6271
+ var _a5;
6272
+ return Array.prototype.indexOf.call((_a5 = element.parentElement) == null ? void 0 : _a5.children, element);
6273
+ };
6274
+ var getCellText = (row, columnIndex) => {
6275
+ const cell = Children.toArray(
6276
+ row.props.children
6277
+ )[columnIndex];
6278
+ if (!isValidElement(cell))
6279
+ return "";
6280
+ const props = cell.props;
6281
+ return typeof props["data-sort"] === "string" && props["data-sort"] || typeof props.children === "string" && props.children.trim() || "";
6282
+ };
6283
+ var sortRows = (children, columnIndex, direction) => Children.toArray(children).toSorted((a, b) => {
6284
+ if (!isValidElement(a) || !isValidElement(b))
6285
+ return 0;
6286
+ const cmp = getCellText(a, columnIndex).localeCompare(
6287
+ getCellText(b, columnIndex)
6288
+ );
6289
+ return direction === "asc" ? cmp : -cmp;
6290
+ });
6291
+ var SortContext = createContext({
6292
+ enabled: false,
6293
+ sortState: { key: null, direction: "asc", columnIndex: null },
6294
+ onSort: () => {
6295
+ }
6296
+ });
6297
+ var useTableSort = () => useContext(SortContext);
6298
+ var Table = forwardRef(
6299
+ ({
6300
+ variant = "ghost",
6301
+ size,
6302
+ colorPalette = "green",
6303
+ children,
6304
+ sortable = false,
6305
+ ...rest
6306
+ }, ref) => {
6307
+ const [sortState, setSortState] = useState({
6308
+ key: null,
6309
+ direction: "asc",
6310
+ columnIndex: null
6311
+ });
6312
+ const handleSort = (key, columnIndex) => {
6313
+ if (!sortable)
6314
+ return;
6315
+ setSortState(getNextSortState(sortState, key, columnIndex));
6316
+ };
6317
+ const recipe = useSlotRecipe({ key: "table" });
6318
+ const styles = recipe({ variant, size });
6319
+ return /* @__PURE__ */ jsx(
6320
+ Table$1.Root,
6321
+ {
6322
+ variant,
6323
+ size,
6324
+ colorPalette,
6325
+ css: styles,
6326
+ ref,
6327
+ ...rest,
6328
+ children: /* @__PURE__ */ jsx(
6329
+ SortContext.Provider,
6330
+ {
6331
+ value: { enabled: sortable, sortState, onSort: handleSort },
6332
+ children
6333
+ }
6334
+ )
6335
+ }
6336
+ );
6337
+ }
6338
+ );
6339
+ Table.displayName = "Table";
6340
+ var TableColumnHeader = forwardRef(({ children, onClick, ...rest }, ref) => {
6341
+ const { enabled, sortState, onSort } = useTableSort();
6342
+ const key = getSortKey(children);
6343
+ const isActive = enabled && key != null && key === sortState.key;
6259
6344
  return /* @__PURE__ */ jsx(
6260
- Table$1.Root,
6345
+ Table$1.ColumnHeader,
6261
6346
  {
6262
- variant,
6263
- size,
6264
- colorPalette,
6265
- css: styles,
6266
6347
  ref,
6267
- ...props,
6268
- children
6348
+ onClick: (event) => {
6349
+ if (enabled && key) {
6350
+ onSort(key, getColumnIndex(event.currentTarget));
6351
+ }
6352
+ onClick == null ? void 0 : onClick(event);
6353
+ },
6354
+ cursor: enabled && key ? "pointer" : void 0,
6355
+ ...rest,
6356
+ children: /* @__PURE__ */ jsxs(HStack, { children: [
6357
+ children,
6358
+ isActive && (sortState.direction === "asc" ? /* @__PURE__ */ jsx(DropdownUpFill18Icon, {}) : /* @__PURE__ */ jsx(DropdownDownFill18Icon, {}))
6359
+ ] })
6269
6360
  }
6270
6361
  );
6271
6362
  });
6272
- Table.displayName = "Table";
6363
+ TableColumnHeader.displayName = "ColumnHeader";
6364
+ var TableRow = forwardRef(
6365
+ (props, ref) => /* @__PURE__ */ jsx(Table$1.Row, { ref, ...props })
6366
+ );
6367
+ TableRow.displayName = "TableRow";
6368
+ var TableBody = forwardRef(
6369
+ ({ children, ...rest }, ref) => {
6370
+ const { sortState } = useTableSort();
6371
+ const sorted = useMemo(
6372
+ () => sortState.columnIndex == null ? children : sortRows(children, sortState.columnIndex, sortState.direction),
6373
+ [children, sortState]
6374
+ );
6375
+ return /* @__PURE__ */ jsx(Table$1.Body, { ref, ...rest, children: sorted });
6376
+ }
6377
+ );
6378
+ TableBody.displayName = "TableBody";
6273
6379
  var attachedInputsRecipe = defineRecipe({
6274
6380
  base: {
6275
6381
  display: "flex",
@@ -6280,10 +6386,10 @@ var attachedInputsRecipe = defineRecipe({
6280
6386
  },
6281
6387
  "& > *": {
6282
6388
  position: "relative",
6283
- zIndex: 0
6389
+ zIndex: 100
6284
6390
  },
6285
6391
  "& > *:focus-within": {
6286
- zIndex: 1
6392
+ zIndex: 101
6287
6393
  }
6288
6394
  },
6289
6395
  variants: {
@@ -7675,8 +7781,7 @@ var comboboxSlotRecipe = defineSlotRecipe({
7675
7781
  },
7676
7782
  label: {
7677
7783
  fontWeight: "medium",
7678
- userSelect: "none",
7679
- textStyle: "sm"
7784
+ userSelect: "none"
7680
7785
  },
7681
7786
  input: {
7682
7787
  transition: "border-radius",
@@ -11596,8 +11701,6 @@ var textStyles = defineTextStyles({
11596
11701
  value: {
11597
11702
  fontSize: [
11598
11703
  tokens23__default.font.style.xxl["font-size"].mobile,
11599
- null,
11600
- null,
11601
11704
  tokens23__default.font.style.xxl["font-size"].desktop
11602
11705
  ],
11603
11706
  fontFamily: tokens23__default.font.style.xxl["font-family"],
@@ -11608,8 +11711,6 @@ var textStyles = defineTextStyles({
11608
11711
  value: {
11609
11712
  fontSize: [
11610
11713
  tokens23__default.font.style["xl-display"]["font-size"].mobile,
11611
- null,
11612
- null,
11613
11714
  tokens23__default.font.style["xl-display"]["font-size"].desktop
11614
11715
  ],
11615
11716
  fontFamily: tokens23__default.font.style["xl-display"]["font-family"],
@@ -11620,8 +11721,6 @@ var textStyles = defineTextStyles({
11620
11721
  value: {
11621
11722
  fontSize: [
11622
11723
  tokens23__default.font.style["xl-sans"]["font-size"].mobile,
11623
- null,
11624
- null,
11625
11724
  tokens23__default.font.style["xl-sans"]["font-size"].desktop
11626
11725
  ],
11627
11726
  fontFamily: tokens23__default.font.style["xl-sans"]["font-family"],
@@ -11632,8 +11731,6 @@ var textStyles = defineTextStyles({
11632
11731
  value: {
11633
11732
  fontSize: [
11634
11733
  tokens23__default.font.style.lg["font-size"].mobile,
11635
- null,
11636
- null,
11637
11734
  tokens23__default.font.style.lg["font-size"].desktop
11638
11735
  ],
11639
11736
  fontFamily: tokens23__default.font.style.lg["font-family"],
@@ -11644,8 +11741,6 @@ var textStyles = defineTextStyles({
11644
11741
  value: {
11645
11742
  fontSize: [
11646
11743
  tokens23__default.font.style["md-lg"]["font-size"].mobile,
11647
- null,
11648
- null,
11649
11744
  tokens23__default.font.style["md-lg"]["font-size"].desktop
11650
11745
  ],
11651
11746
  fontFamily: tokens23__default.font.style["md-lg"]["font-family"],
@@ -11656,8 +11751,6 @@ var textStyles = defineTextStyles({
11656
11751
  value: {
11657
11752
  fontSize: [
11658
11753
  tokens23__default.font.style.md["font-size"].mobile,
11659
- null,
11660
- null,
11661
11754
  tokens23__default.font.style.md["font-size"].desktop
11662
11755
  ],
11663
11756
  fontFamily: tokens23__default.font.style.md["font-family"],
@@ -11668,8 +11761,6 @@ var textStyles = defineTextStyles({
11668
11761
  value: {
11669
11762
  fontSize: [
11670
11763
  tokens23__default.font.style.sm["font-size"].mobile,
11671
- null,
11672
- null,
11673
11764
  tokens23__default.font.style.sm["font-size"].desktop
11674
11765
  ],
11675
11766
  fontFamily: tokens23__default.font.style.sm["font-family"],
@@ -11680,8 +11771,6 @@ var textStyles = defineTextStyles({
11680
11771
  value: {
11681
11772
  fontSize: [
11682
11773
  tokens23__default.font.style.xs["font-size"].mobile,
11683
- null,
11684
- null,
11685
11774
  tokens23__default.font.style.xs["font-size"].desktop
11686
11775
  ],
11687
11776
  fontFamily: tokens23__default.font.style.xs["font-family"],
@@ -11692,8 +11781,6 @@ var textStyles = defineTextStyles({
11692
11781
  value: {
11693
11782
  fontSize: [
11694
11783
  tokens23__default.font.style["2xs"]["font-size"].mobile,
11695
- null,
11696
- null,
11697
11784
  tokens23__default.font.style["2xs"]["font-size"].desktop
11698
11785
  ],
11699
11786
  fontFamily: tokens23__default.font.style["2xs"]["font-family"],
@@ -11748,6 +11835,6 @@ var TooltipContent = forwardRef(
11748
11835
  );
11749
11836
  TooltipContent.displayName = "TooltipContent";
11750
11837
 
11751
- export { Accordion, AccordionItem, AccordionItemContent, AccordionItemTrigger, Alert, AttachedInputs, Autocomplete, AutocompleteItem, AutocompleteItemGroup, AutocompleteItemGroupLabel, Badge, Brand, Breadcrumb, Button, ButtonGroup, Calendar, CalendarCell, CalendarGrid, CalendarHeader, CalendarProvider, CardSelect, CardSelectContent, CardSelectTrigger, CargonetLogo, Checkbox, CheckboxGroup, ChoiceChip, Clipboard, ClipboardButton, CloseButton, CloseDrawerLine, Code, ColorInlineLoader, ColorModeButton, ColorModeIcon, ColorModeProvider, ColorSpinner, Combobox2 as Combobox, ContentLoader, DarkFullScreenLoader, DarkInlineLoader, DarkSpinner, DatePicker, DateRangePicker, DialogActionTrigger, DialogBackdrop, DialogBody, DialogCloseTrigger, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogRoot, DialogTitle, DialogTrigger, Drawer, DrawerActionTrigger, DrawerBackTrigger, DrawerBackdrop, DrawerBody, DrawerCloseTrigger, DrawerContent, DrawerFooter, DrawerFullScreenHeader, DrawerHeader, DrawerTitle, DrawerTrigger, Expandable, ExpandableAlert, ExpandableItem, Field3 as Field, FieldErrorText, FieldLabel, Fieldset, FieldsetContent, FieldsetErrorText, FieldsetHelperText, FieldsetLegend, FloatingActionButton, Heading, IconButton, InfoTag, Input, ItemDescription, ItemLabel, JumpButton, Language, LanguageProvider, LightFullScreenLoader, LightInlineLoader, LightSpinner, LineIcon, List, ListBox, ListIndicator, ListItem2 as ListItem, NativeSelect, Nudge, NudgeActions, NudgeCloseTrigger, NudgeContent, NudgeTrigger, NudgeWizardStep, NumericStepper, Pagination, PaginationEllipsis, PaginationItem, PaginationItems, PaginationNextTrigger, PaginationPrevTrigger, PasswordInput, PhoneNumberInput, PlayPauseButton, Popover2 as Popover, PopoverContent, PopoverTrigger, PressableCard, ProgressBar, ProgressIndicator, ProgressLoader, Radio, RadioCard, RadioCardGroup, RadioCardLabel, RadioGroup, RangeCalendar, ScrollCalendar, SearchInput, Select, SelectContent, SelectItem, SelectItemGroup, SelectItemText, SelectLabel, SelectRoot, SelectTrigger, SelectValueText, Separator, ServiceAlert, Skeleton, SkeletonCircle, SkeletonText, SkipButton, SporProvider, StaticCard, Stepper, StepperStep, SvgBox, Switch, Table, Tabs, TabsContent, TabsIndicator, TabsList, TabsTrigger, Text3 as Text, TextLink, Textarea, TimePicker, Tooltip, TooltipContent, TooltipTrigger, TravelTag, VyLogo, VyLogoPride, createTexts, createToast, fontFaces, slugify, system, themes, useCalendar, useColorMode, useColorModeValue, useTranslation };
11838
+ export { Accordion, AccordionItem, AccordionItemContent, AccordionItemTrigger, Alert, AttachedInputs, Autocomplete, AutocompleteItem, AutocompleteItemGroup, AutocompleteItemGroupLabel, Badge, Brand, Breadcrumb, Button, ButtonGroup, Calendar, CalendarCell, CalendarGrid, CalendarHeader, CalendarProvider, CardSelect, CardSelectContent, CardSelectTrigger, CargonetLogo, Checkbox, CheckboxGroup, ChoiceChip, Clipboard, ClipboardButton, CloseButton, CloseDrawerLine, Code, ColorInlineLoader, ColorModeButton, ColorModeIcon, ColorModeProvider, ColorSpinner, Combobox2 as Combobox, ContentLoader, DarkFullScreenLoader, DarkInlineLoader, DarkSpinner, DatePicker, DateRangePicker, DialogActionTrigger, DialogBackdrop, DialogBody, DialogCloseTrigger, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogRoot, DialogTitle, DialogTrigger, Drawer, DrawerActionTrigger, DrawerBackTrigger, DrawerBackdrop, DrawerBody, DrawerCloseTrigger, DrawerContent, DrawerFooter, DrawerFullScreenHeader, DrawerHeader, DrawerTitle, DrawerTrigger, Expandable, ExpandableAlert, ExpandableItem, Field3 as Field, FieldErrorText, FieldLabel, Fieldset, FieldsetContent, FieldsetErrorText, FieldsetHelperText, FieldsetLegend, FloatingActionButton, Heading, IconButton, InfoTag, Input, ItemDescription, ItemLabel, JumpButton, Language, LanguageProvider, LightFullScreenLoader, LightInlineLoader, LightSpinner, LineIcon, List, ListBox, ListIndicator, ListItem2 as ListItem, NativeSelect, Nudge, NudgeActions, NudgeCloseTrigger, NudgeContent, NudgeTrigger, NudgeWizardStep, NumericStepper, Pagination, PaginationEllipsis, PaginationItem, PaginationItems, PaginationNextTrigger, PaginationPrevTrigger, PasswordInput, PhoneNumberInput, PlayPauseButton, Popover2 as Popover, PopoverContent, PopoverTrigger, PressableCard, ProgressBar, ProgressIndicator, ProgressLoader, Radio, RadioCard, RadioCardGroup, RadioCardLabel, RadioGroup, RangeCalendar, ScrollCalendar, SearchInput, Select, SelectContent, SelectItem, SelectItemGroup, SelectItemText, SelectLabel, SelectRoot, SelectTrigger, SelectValueText, Separator, ServiceAlert, Skeleton, SkeletonCircle, SkeletonText, SkipButton, SporProvider, StaticCard, Stepper, StepperStep, SvgBox, Switch, Table, TableBody, TableColumnHeader, TableRow, Tabs, TabsContent, TabsIndicator, TabsList, TabsTrigger, Text3 as Text, TextLink, Textarea, TimePicker, Tooltip, TooltipContent, TooltipTrigger, TravelTag, VyLogo, VyLogoPride, createTexts, createToast, fontFaces, slugify, system, themes, useCalendar, useColorMode, useColorModeValue, useTableSort, useTranslation };
11752
11839
  //# sourceMappingURL=out.js.map
11753
11840
  //# sourceMappingURL=index.mjs.map