@vygruppen/spor-react 9.11.4 → 9.12.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/.turbo/turbo-build.log +10 -10
- package/CHANGELOG.md +6 -0
- package/dist/{CountryCodeSelect-5Z5ATLWK.mjs → CountryCodeSelect-Q33DXFQF.mjs} +1 -1
- package/dist/{chunk-WCPDJEIZ.mjs → chunk-D4Z4Q4GJ.mjs} +423 -383
- package/dist/index.d.mts +80 -118
- package/dist/index.d.ts +80 -118
- package/dist/index.js +914 -875
- package/dist/index.mjs +1 -1
- package/package.json +1 -1
- package/src/layout/RadioCard.tsx +64 -60
- package/src/layout/RadioCardGroup.tsx +59 -103
- package/src/theme/components/radio-card.ts +21 -10
@@ -1,16 +1,16 @@
|
|
1
1
|
import tokens11__default from '@vygruppen/spor-design-tokens';
|
2
2
|
import * as tokens11 from '@vygruppen/spor-design-tokens';
|
3
3
|
export { tokens11 as tokens };
|
4
|
-
import { forwardRef, Divider as Divider$1, Stack as Stack$1,
|
4
|
+
import { forwardRef, Divider as Divider$1, Stack as Stack$1, Box, useMultiStyleConfig, chakra, Flex, Checkbox as Checkbox$1, useCheckbox, FormControl as FormControl$1, FormLabel as FormLabel$1, useFormControlContext, InputGroup, InputLeftElement, Input as Input$1, InputRightElement, Select, useDisclosure, Button, useControllableState, Radio as Radio$1, RadioGroup as RadioGroup$1, IconButton as IconButton$1, Switch as Switch$1, Textarea as Textarea$1, useStyleConfig, Accordion as Accordion$1, Skeleton as Skeleton$1, useButtonGroup, Center, ButtonGroup as ButtonGroup$1, Badge as Badge$1, Code as Code$1, Text, PopoverAnchor, PopoverContent, PopoverArrow, PopoverBody, FocusLock, Popover as Popover$1, PopoverTrigger, Portal, Link, ModalHeader as ModalHeader$1, useModalContext, DrawerContent as DrawerContent$1, Tabs as Tabs$1, Table as Table$1, defineStyleConfig as defineStyleConfig$1, createMultiStyleConfigHelpers as createMultiStyleConfigHelpers$1, Heading, CheckboxGroup as CheckboxGroup$1, List, ListItem, useColorModeValue, useFormControlProps, useFormControl, AccordionItem, AccordionButton, AccordionIcon, AccordionPanel, useColorMode, SkeletonCircle as SkeletonCircle$1, SkeletonText as SkeletonText$1, Breadcrumb as Breadcrumb$1, BreadcrumbItem as BreadcrumbItem$1, BreadcrumbLink as BreadcrumbLink$1, Drawer as Drawer$1, DrawerOverlay, DrawerBody, DrawerHeader, useMediaQuery, DrawerCloseButton, DarkMode, PopoverCloseButton, usePopoverContext, UnorderedList, ChakraProvider, useToast as useToast$1, useInterval } from '@chakra-ui/react';
|
5
5
|
export { AccordionButton, AccordionIcon, AccordionItem, AccordionPanel, Box, Center, Collapse, Container, DarkMode, DrawerBody, DrawerCloseButton, DrawerFooter, DrawerOverlay, Fade, Flex, FormHelperText, Grid, GridItem, HStack, Image, Img, InputGroup, LightMode, ListItem, Modal, ModalBody, ModalCloseButton, ModalContent, ModalFooter, ModalOverlay, OrderedList, Portal, ScaleFade, SimpleGrid, Slide, SlideFade, Spacer, Tab, TabList, TabPanel, TabPanels, TableCaption, Tbody, Td, Tfoot, Th, Thead, Tr, UnorderedList, VStack, Wrap, WrapItem, defineStyleConfig, extendTheme, useBreakpointValue, useClipboard, useColorMode, useColorModePreference, useColorModeValue, useControllableProp, useDisclosure, useMediaQuery, useMergeRefs, useOutsideClick, usePrefersReducedMotion, useTheme, useToken } from '@chakra-ui/react';
|
6
6
|
import * as React87 from 'react';
|
7
|
-
import React87__default, {
|
7
|
+
import React87__default, { forwardRef as forwardRef$1, useRef, useState, useEffect, useId, Suspense, useContext, createContext, useCallback, useMemo, useLayoutEffect } from 'react';
|
8
8
|
import { CloseOutline24Icon, SearchOutline24Icon, CloseFill30Icon, CloseFill24Icon, CloseFill18Icon, CalendarOutline24Icon, InformationFill24Icon, InformationFill18Icon, WarningFill24Icon, WarningFill18Icon, ErrorFill24Icon, ErrorFill18Icon, LinkOutOutline24Icon, DropdownDownFill18Icon, DropdownDownFill24Icon, DropdownUpFill24Icon, DropdownRightFill18Icon, DropdownLeftFill18Icon, Forward15MediaControllerFill30Icon, Backward15MediaControllerFill30Icon, PauseMediaControllerFill24Icon, PlayMediaControllerFill24Icon, NextMediaControllerFill30Icon, PreviousMediaControllerFill30Icon, ArrowRightFill18Icon, ArrowLeftFill24Icon, ArrowLeftOutline24Icon, ArrowRightOutline24Icon, ErrorOutline24Icon, AltTransportOutline24Icon, WarningOutline24Icon, SuccessOutline24Icon, InformationOutline24Icon, TrainFill18Icon, TrainFill24Icon, TrainFill30Icon, ExpressBusFill18Icon, ExpressBusFill24Icon, ExpressBusFill30Icon, BusFill18Icon, BusFill24Icon, BusFill30Icon, FerryFill18Icon, FerryFill24Icon, FerryFill30Icon, SubwayFill18Icon, SubwayFill24Icon, SubwayFill30Icon, TramFill18Icon, TramFill24Icon, TramFill30Icon, AltTransportFill18Icon, AltTransportFill24Icon, AltTransportFill30Icon, WalkFill18Icon, WalkFill24Icon, WalkFill30Icon } from '@vygruppen/spor-icon-react';
|
9
|
-
import { inlineLoaderColorPrideData, inlineLoaderColorData, spinnerColorPrideData, spinnerColorData, contentLoaderPrideData, contentLoaderData, fullScreenLoaderWhiteData, inlineLoaderDarkData, vyLogoPrideData, fullScreenLoaderBlackData, inlineLoaderLightData, spinnerLightData, spinnerDarkData } from '@vygruppen/spor-loader';
|
10
|
-
import { useLottie } from 'lottie-react';
|
11
9
|
import { usePopover, DismissButton, Overlay, useOverlayTrigger, useButton, useDateSegment, useDateField, useDatePicker, I18nProvider, useDialog, useFilter, useComboBox, useListBox, useOption, useListBoxSection, useSelect, HiddenSelect, useProgressBar, useCalendar, useDateRangePicker, useCalendarGrid, useRangeCalendar, useTimeField, useCalendarCell } from 'react-aria';
|
12
10
|
import { useOverlayTriggerState, Item, useDateFieldState, useDatePickerState, useComboBoxState, useSelectState, useCalendarState, useDateRangePickerState, useTimeFieldState, useRangeCalendarState } from 'react-stately';
|
13
11
|
export { Item, Section } from 'react-stately';
|
12
|
+
import { inlineLoaderColorPrideData, inlineLoaderColorData, spinnerColorPrideData, spinnerColorData, contentLoaderPrideData, contentLoaderData, fullScreenLoaderWhiteData, inlineLoaderDarkData, vyLogoPrideData, fullScreenLoaderBlackData, inlineLoaderLightData, spinnerLightData, spinnerDarkData } from '@vygruppen/spor-loader';
|
13
|
+
import { useLottie } from 'lottie-react';
|
14
14
|
import { motion } from 'framer-motion';
|
15
15
|
import { createCalendar, GregorianCalendar, parseTime, endOfMonth, getWeeksInMonth, getLocalTimeZone, isSameMonth, isToday } from '@internationalized/date';
|
16
16
|
export { Time } from '@internationalized/date';
|
@@ -778,295 +778,6 @@ var Stack = forwardRef(
|
|
778
778
|
return /* @__PURE__ */ React87__default.createElement(Stack$1, { ...props, direction: flexDirection, ref });
|
779
779
|
}
|
780
780
|
);
|
781
|
-
var RadioCard = forwardRef(
|
782
|
-
({ children, variant = "base", isChecked, onChange, ...props }, ref) => {
|
783
|
-
const styles3 = useMultiStyleConfig("RadioCard", { variant });
|
784
|
-
const id = `radio-card-${useId()}`;
|
785
|
-
const handleChange = (event) => {
|
786
|
-
onChange && onChange(event);
|
787
|
-
};
|
788
|
-
return /* @__PURE__ */ React87__default.createElement(Box, { as: "label", htmlFor: id, "aria-label": String(children), ref }, /* @__PURE__ */ React87__default.createElement(
|
789
|
-
chakra.input,
|
790
|
-
{
|
791
|
-
type: "radio",
|
792
|
-
id,
|
793
|
-
checked: isChecked,
|
794
|
-
onChange: handleChange,
|
795
|
-
...props,
|
796
|
-
sx: styles3.radioInput
|
797
|
-
}
|
798
|
-
), /* @__PURE__ */ React87__default.createElement(
|
799
|
-
Box,
|
800
|
-
{
|
801
|
-
...props,
|
802
|
-
__css: {
|
803
|
-
...styles3.container,
|
804
|
-
...isChecked && styles3.checked
|
805
|
-
}
|
806
|
-
},
|
807
|
-
children
|
808
|
-
));
|
809
|
-
}
|
810
|
-
);
|
811
|
-
var RadioCardGroup = ({
|
812
|
-
children,
|
813
|
-
name,
|
814
|
-
direction: direction2 = "row",
|
815
|
-
onChange,
|
816
|
-
defaultValue,
|
817
|
-
variant = "base",
|
818
|
-
...props
|
819
|
-
}) => {
|
820
|
-
const { getRootProps, getRadioProps } = useRadioGroup({
|
821
|
-
defaultValue,
|
822
|
-
name,
|
823
|
-
onChange,
|
824
|
-
...props
|
825
|
-
});
|
826
|
-
const rootProps = getRootProps();
|
827
|
-
return /* @__PURE__ */ React87__default.createElement(Stack$1, { direction: direction2, ...rootProps }, recursiveMap(children, (child) => {
|
828
|
-
if (child.type === RadioCard) {
|
829
|
-
const radioProps = getRadioProps({ value: child.props.value });
|
830
|
-
const variantValue = variant;
|
831
|
-
return React87__default.cloneElement(
|
832
|
-
child,
|
833
|
-
{
|
834
|
-
...radioProps,
|
835
|
-
variant: variantValue,
|
836
|
-
...props
|
837
|
-
}
|
838
|
-
);
|
839
|
-
}
|
840
|
-
return child;
|
841
|
-
}));
|
842
|
-
};
|
843
|
-
function recursiveMap(children, fn) {
|
844
|
-
return React87__default.Children.map(children, (child) => {
|
845
|
-
if (React87__default.isValidElement(child) && child.props.children) {
|
846
|
-
child = React87__default.cloneElement(child, {
|
847
|
-
children: recursiveMap(child.props.children, fn)
|
848
|
-
});
|
849
|
-
}
|
850
|
-
if (React87__default.isValidElement(child)) {
|
851
|
-
return fn(child);
|
852
|
-
}
|
853
|
-
return child;
|
854
|
-
});
|
855
|
-
}
|
856
|
-
var StaticCard = forwardRef(
|
857
|
-
({ colorScheme = "white", children, ...props }, ref) => {
|
858
|
-
const styles3 = useStyleConfig("StaticCard", {
|
859
|
-
colorScheme
|
860
|
-
});
|
861
|
-
return /* @__PURE__ */ React87__default.createElement(Box, { __css: styles3, ...props, ref }, children);
|
862
|
-
}
|
863
|
-
);
|
864
|
-
var PressableCard = forwardRef(
|
865
|
-
({ children, variant = "floating", ...props }, ref) => {
|
866
|
-
const styles3 = useStyleConfig("PressableCard", {
|
867
|
-
variant
|
868
|
-
});
|
869
|
-
return /* @__PURE__ */ React87__default.createElement(Box, { __css: styles3, ...props, ref }, children);
|
870
|
-
}
|
871
|
-
);
|
872
|
-
var AccordionContext = React87__default.createContext(null);
|
873
|
-
var AccordionProvider = ({
|
874
|
-
size: size2,
|
875
|
-
...props
|
876
|
-
}) => {
|
877
|
-
return /* @__PURE__ */ React87__default.createElement(AccordionContext.Provider, { value: { size: size2 }, ...props });
|
878
|
-
};
|
879
|
-
var useAccordionContext = () => {
|
880
|
-
const context = React87__default.useContext(AccordionContext);
|
881
|
-
if (context === null) {
|
882
|
-
throw new Error(
|
883
|
-
"useAccordionContext must be used within AccordionProvider"
|
884
|
-
);
|
885
|
-
}
|
886
|
-
return context;
|
887
|
-
};
|
888
|
-
var Accordion = forwardRef(
|
889
|
-
({ children, spacing: spacing3 = 2, ...props }, ref) => {
|
890
|
-
const defaultIndex = typeof props.defaultIndex === "number" && props.allowMultiple ? [props.defaultIndex] : props.defaultIndex;
|
891
|
-
return /* @__PURE__ */ React87__default.createElement(AccordionProvider, { size: props.size }, /* @__PURE__ */ React87__default.createElement(
|
892
|
-
Accordion$1,
|
893
|
-
{
|
894
|
-
...props,
|
895
|
-
ref,
|
896
|
-
defaultIndex
|
897
|
-
},
|
898
|
-
/* @__PURE__ */ React87__default.createElement(Stack, { spacing: spacing3 }, children)
|
899
|
-
));
|
900
|
-
}
|
901
|
-
);
|
902
|
-
var Expandable = ({
|
903
|
-
children,
|
904
|
-
headingLevel,
|
905
|
-
title,
|
906
|
-
leftIcon,
|
907
|
-
size: size2 = "md",
|
908
|
-
defaultOpen,
|
909
|
-
isOpen,
|
910
|
-
onChange = () => {
|
911
|
-
},
|
912
|
-
...rest
|
913
|
-
}) => {
|
914
|
-
return /* @__PURE__ */ React87__default.createElement(
|
915
|
-
Accordion,
|
916
|
-
{
|
917
|
-
...rest,
|
918
|
-
index: isOpen ? 0 : void 0,
|
919
|
-
defaultIndex: defaultOpen ? 0 : void 0,
|
920
|
-
allowMultiple: true,
|
921
|
-
size: size2,
|
922
|
-
onChange: (expandedIndex) => onChange(expandedIndex === 0)
|
923
|
-
},
|
924
|
-
/* @__PURE__ */ React87__default.createElement(
|
925
|
-
ExpandableItem,
|
926
|
-
{
|
927
|
-
headingLevel,
|
928
|
-
title,
|
929
|
-
leftIcon
|
930
|
-
},
|
931
|
-
children
|
932
|
-
)
|
933
|
-
);
|
934
|
-
};
|
935
|
-
var ExpandableItem = ({
|
936
|
-
children,
|
937
|
-
title,
|
938
|
-
headingLevel = "h3",
|
939
|
-
leftIcon,
|
940
|
-
...rest
|
941
|
-
}) => {
|
942
|
-
const { size: size2 } = useAccordionContext();
|
943
|
-
warnAboutMismatchingIcon({ icon: leftIcon, size: size2 });
|
944
|
-
return /* @__PURE__ */ React87__default.createElement(AccordionItem, { ...rest }, /* @__PURE__ */ React87__default.createElement(Box, { as: headingLevel }, /* @__PURE__ */ React87__default.createElement(AccordionButton, null, /* @__PURE__ */ React87__default.createElement(Flex, { alignItems: "center" }, leftIcon && /* @__PURE__ */ React87__default.createElement(Box, { marginRight: 1 }, leftIcon), title), /* @__PURE__ */ React87__default.createElement(AccordionIcon, null))), /* @__PURE__ */ React87__default.createElement(AccordionPanel, null, children));
|
945
|
-
};
|
946
|
-
var warnAboutMismatchingIcon = ({ icon, size: size2 }) => {
|
947
|
-
var _a6, _b5;
|
948
|
-
if (process.env.NODE_ENV !== "production") {
|
949
|
-
const displayName = (_b5 = (_a6 = icon == null ? void 0 : icon.type) == null ? void 0 : _a6.render) == null ? void 0 : _b5.displayName;
|
950
|
-
if (!displayName) {
|
951
|
-
return;
|
952
|
-
}
|
953
|
-
if (displayName.includes("Fill")) {
|
954
|
-
console.warn(
|
955
|
-
`You passed a filled icon. This component requires outlined icons. You passed ${displayName}, replace it with ${displayName.replace(
|
956
|
-
"Fill",
|
957
|
-
"Outline"
|
958
|
-
)}.`
|
959
|
-
);
|
960
|
-
return;
|
961
|
-
}
|
962
|
-
if (size2 === "lg" && !displayName.includes("30Icon")) {
|
963
|
-
console.warn(
|
964
|
-
`The icon you passed was of the wrong size for the lg size. You passed ${displayName}, replace it with ${displayName.replace(
|
965
|
-
/(\d{2})Icon/,
|
966
|
-
"30Icon"
|
967
|
-
)}.`
|
968
|
-
);
|
969
|
-
return;
|
970
|
-
}
|
971
|
-
if (["md"].includes(size2) && !displayName.includes("24Icon")) {
|
972
|
-
console.warn(
|
973
|
-
`The icon you passed was of the wrong size for the ${size2} size. You passed ${displayName}, replace it with ${displayName.replace(
|
974
|
-
/(\d{2})Icon/,
|
975
|
-
"24Icon"
|
976
|
-
)}.`
|
977
|
-
);
|
978
|
-
}
|
979
|
-
}
|
980
|
-
};
|
981
|
-
var Language = /* @__PURE__ */ ((Language3) => {
|
982
|
-
Language3["NorwegianBokmal"] = "nb";
|
983
|
-
Language3["NorwegianNynorsk"] = "nn";
|
984
|
-
Language3["Swedish"] = "sv";
|
985
|
-
Language3["English"] = "en";
|
986
|
-
return Language3;
|
987
|
-
})(Language || {});
|
988
|
-
var LanguageContext = createContext(void 0);
|
989
|
-
function LanguageProvider({
|
990
|
-
language,
|
991
|
-
children
|
992
|
-
}) {
|
993
|
-
return /* @__PURE__ */ React87__default.createElement(LanguageContext.Provider, { value: language }, children);
|
994
|
-
}
|
995
|
-
function useLanguage() {
|
996
|
-
const language = useContext(LanguageContext);
|
997
|
-
if (!language) {
|
998
|
-
throw new Error("Please wrap your application in a LanguageProvider");
|
999
|
-
}
|
1000
|
-
return language;
|
1001
|
-
}
|
1002
|
-
function useTranslation() {
|
1003
|
-
const language = useLanguage();
|
1004
|
-
const t2 = (text) => {
|
1005
|
-
return text[language];
|
1006
|
-
};
|
1007
|
-
return { t: t2, language };
|
1008
|
-
}
|
1009
|
-
function createTexts(texts28) {
|
1010
|
-
return texts28;
|
1011
|
-
}
|
1012
|
-
var hydrating = true;
|
1013
|
-
function useHydrated() {
|
1014
|
-
let [hydrated, setHydrated] = useState(() => !hydrating);
|
1015
|
-
useEffect(function hydrate() {
|
1016
|
-
hydrating = false;
|
1017
|
-
setHydrated(true);
|
1018
|
-
}, []);
|
1019
|
-
return hydrated;
|
1020
|
-
}
|
1021
|
-
|
1022
|
-
// src/loader/ClientOnly.tsx
|
1023
|
-
var ClientOnly = ({ children, fallback = null }) => {
|
1024
|
-
const isHydrated = useHydrated();
|
1025
|
-
return /* @__PURE__ */ React87__default.createElement(React87__default.Fragment, null, isHydrated ? children() : fallback);
|
1026
|
-
};
|
1027
|
-
function Lottie({ animationData }) {
|
1028
|
-
const { View } = useLottie({ animationData, loop: true });
|
1029
|
-
return /* @__PURE__ */ React87__default.createElement(React87__default.Fragment, null, View);
|
1030
|
-
}
|
1031
|
-
var PrideContext = createContext(void 0);
|
1032
|
-
var PrideProvider = ({
|
1033
|
-
children
|
1034
|
-
}) => {
|
1035
|
-
const isBrowser2 = typeof window !== "undefined";
|
1036
|
-
const key = "spor__isPride";
|
1037
|
-
const [isPride, setIsPride] = useState(() => {
|
1038
|
-
if (isBrowser2) {
|
1039
|
-
const savedState = localStorage.getItem(key);
|
1040
|
-
return savedState ? JSON.parse(savedState) : true;
|
1041
|
-
}
|
1042
|
-
return true;
|
1043
|
-
});
|
1044
|
-
const togglePride = () => {
|
1045
|
-
setIsPride((prev) => {
|
1046
|
-
const newState = !prev;
|
1047
|
-
if (isBrowser2) {
|
1048
|
-
localStorage.setItem(key, JSON.stringify(newState));
|
1049
|
-
}
|
1050
|
-
return newState;
|
1051
|
-
});
|
1052
|
-
};
|
1053
|
-
useEffect(() => {
|
1054
|
-
if (isBrowser2) {
|
1055
|
-
const savedState = localStorage.getItem(key);
|
1056
|
-
if (savedState) {
|
1057
|
-
setIsPride(JSON.parse(savedState));
|
1058
|
-
}
|
1059
|
-
}
|
1060
|
-
}, [isBrowser2]);
|
1061
|
-
return /* @__PURE__ */ React87__default.createElement(PrideContext.Provider, { value: { isPride, togglePride } }, children);
|
1062
|
-
};
|
1063
|
-
var usePride = () => {
|
1064
|
-
const context = useContext(PrideContext);
|
1065
|
-
if (context === void 0) {
|
1066
|
-
throw new Error("usePride must be used within a PrideProvider");
|
1067
|
-
}
|
1068
|
-
return context;
|
1069
|
-
};
|
1070
781
|
var AttachedInputs = ({
|
1071
782
|
flexDirection = "row",
|
1072
783
|
...rest
|
@@ -2041,7 +1752,7 @@ var texts4 = createTexts({
|
|
2041
1752
|
sv: "Telefonnummer"
|
2042
1753
|
}
|
2043
1754
|
});
|
2044
|
-
var LazyCountryCodeSelect = React87__default.lazy(() => import('./CountryCodeSelect-
|
1755
|
+
var LazyCountryCodeSelect = React87__default.lazy(() => import('./CountryCodeSelect-Q33DXFQF.mjs'));
|
2045
1756
|
var Radio = forwardRef((props, ref) => {
|
2046
1757
|
return /* @__PURE__ */ React87__default.createElement(Radio$1, { ...props, ref });
|
2047
1758
|
});
|
@@ -2088,95 +1799,409 @@ var SearchInput = forwardRef(
|
|
2088
1799
|
)));
|
2089
1800
|
}
|
2090
1801
|
);
|
2091
|
-
var texts5 = createTexts({
|
2092
|
-
label: {
|
2093
|
-
nb: "S\xF8k",
|
2094
|
-
nn: "S\xF8k",
|
2095
|
-
sv: "S\xF6k",
|
2096
|
-
en: "Search"
|
1802
|
+
var texts5 = createTexts({
|
1803
|
+
label: {
|
1804
|
+
nb: "S\xF8k",
|
1805
|
+
nn: "S\xF8k",
|
1806
|
+
sv: "S\xF6k",
|
1807
|
+
en: "Search"
|
1808
|
+
},
|
1809
|
+
reset: {
|
1810
|
+
nb: "T\xF8m s\xF8kefeltet",
|
1811
|
+
nn: "T\xF8m s\xF8kefelt",
|
1812
|
+
sv: "Rensa s\xF6krutan",
|
1813
|
+
en: "Reset search field"
|
1814
|
+
}
|
1815
|
+
});
|
1816
|
+
var Switch = forwardRef(
|
1817
|
+
({ size: size2 = "md", ...props }, ref) => {
|
1818
|
+
return /* @__PURE__ */ React87__default.createElement(Switch$1, { size: size2, ...props, ref });
|
1819
|
+
}
|
1820
|
+
);
|
1821
|
+
var Textarea = forwardRef((props, ref) => {
|
1822
|
+
const {
|
1823
|
+
spacingProps,
|
1824
|
+
remainingProps: { label, ...rest }
|
1825
|
+
} = getSpacingProps(props);
|
1826
|
+
const formControlProps = useFormControlContext();
|
1827
|
+
const fallbackId = `textarea-${useId()}`;
|
1828
|
+
const inputId = props.id ?? (formControlProps == null ? void 0 : formControlProps.id) ?? fallbackId;
|
1829
|
+
return /* @__PURE__ */ React87__default.createElement(InputGroup, { position: "relative", ...spacingProps }, /* @__PURE__ */ React87__default.createElement(Textarea$1, { ...rest, id: inputId, ref, placeholder: " " }), label && /* @__PURE__ */ React87__default.createElement(FormLabel$1, { htmlFor: inputId, id: `${inputId}-label` }, label));
|
1830
|
+
});
|
1831
|
+
function getSpacingProps(props) {
|
1832
|
+
const {
|
1833
|
+
mt,
|
1834
|
+
mr,
|
1835
|
+
mb,
|
1836
|
+
ml,
|
1837
|
+
mx,
|
1838
|
+
my,
|
1839
|
+
marginTop,
|
1840
|
+
marginRight,
|
1841
|
+
marginBottom,
|
1842
|
+
marginLeft,
|
1843
|
+
marginX,
|
1844
|
+
marginY,
|
1845
|
+
pt,
|
1846
|
+
pr,
|
1847
|
+
pb,
|
1848
|
+
pl,
|
1849
|
+
px,
|
1850
|
+
py,
|
1851
|
+
paddingTop,
|
1852
|
+
paddingRight,
|
1853
|
+
paddingBottom,
|
1854
|
+
paddingLeft,
|
1855
|
+
paddingX,
|
1856
|
+
paddingY,
|
1857
|
+
...remainingProps
|
1858
|
+
} = props;
|
1859
|
+
return {
|
1860
|
+
spacingProps: {
|
1861
|
+
mt,
|
1862
|
+
mr,
|
1863
|
+
mb,
|
1864
|
+
ml,
|
1865
|
+
mx,
|
1866
|
+
my,
|
1867
|
+
marginTop,
|
1868
|
+
marginRight,
|
1869
|
+
marginBottom,
|
1870
|
+
marginLeft,
|
1871
|
+
marginX,
|
1872
|
+
marginY,
|
1873
|
+
pt,
|
1874
|
+
pr,
|
1875
|
+
pb,
|
1876
|
+
pl,
|
1877
|
+
px,
|
1878
|
+
py,
|
1879
|
+
paddingTop,
|
1880
|
+
paddingRight,
|
1881
|
+
paddingBottom,
|
1882
|
+
paddingLeft,
|
1883
|
+
paddingX,
|
1884
|
+
paddingY
|
1885
|
+
},
|
1886
|
+
remainingProps
|
1887
|
+
};
|
1888
|
+
}
|
1889
|
+
|
1890
|
+
// src/layout/RadioCardGroup.tsx
|
1891
|
+
var RadioCardGroupContext = React87__default.createContext(null);
|
1892
|
+
var RadioCardGroup = ({
|
1893
|
+
children,
|
1894
|
+
name,
|
1895
|
+
variant = "base",
|
1896
|
+
direction: direction2 = "row",
|
1897
|
+
groupLabel,
|
1898
|
+
defaultValue,
|
1899
|
+
...props
|
1900
|
+
}) => {
|
1901
|
+
const [selectedValue, setSelectedValue] = useState(
|
1902
|
+
defaultValue || ""
|
1903
|
+
);
|
1904
|
+
const handleChange = (value) => {
|
1905
|
+
setSelectedValue(value);
|
1906
|
+
};
|
1907
|
+
return /* @__PURE__ */ React87__default.createElement(
|
1908
|
+
RadioCardGroupContext.Provider,
|
1909
|
+
{
|
1910
|
+
value: {
|
1911
|
+
name,
|
1912
|
+
selectedValue,
|
1913
|
+
onChange: handleChange,
|
1914
|
+
variant,
|
1915
|
+
defaultValue: defaultValue || ""
|
1916
|
+
}
|
1917
|
+
},
|
1918
|
+
/* @__PURE__ */ React87__default.createElement(
|
1919
|
+
Stack$1,
|
1920
|
+
{
|
1921
|
+
as: "fieldset",
|
1922
|
+
direction: direction2,
|
1923
|
+
"aria-labelledby": groupLabel || name,
|
1924
|
+
role: "radiogroup",
|
1925
|
+
tabIndex: 0,
|
1926
|
+
...props
|
1927
|
+
},
|
1928
|
+
groupLabel && /* @__PURE__ */ React87__default.createElement(FormLabel, { as: "legend", id: groupLabel }, groupLabel),
|
1929
|
+
children
|
1930
|
+
)
|
1931
|
+
);
|
1932
|
+
};
|
1933
|
+
|
1934
|
+
// src/layout/RadioCard.tsx
|
1935
|
+
var RadioCard = forwardRef(
|
1936
|
+
({ children, value = "base", isDisabled, ...props }, ref) => {
|
1937
|
+
const context = useContext(RadioCardGroupContext);
|
1938
|
+
if (!context) {
|
1939
|
+
throw new Error(
|
1940
|
+
"RadioCard components must be wrapped in a RadioCardGroup component"
|
1941
|
+
);
|
1942
|
+
}
|
1943
|
+
const { name, selectedValue, onChange, variant } = context;
|
1944
|
+
const styles3 = useMultiStyleConfig("RadioCard", { variant });
|
1945
|
+
const isChecked = selectedValue === value;
|
1946
|
+
const radioCardId = `radio-card-${useId()}`;
|
1947
|
+
useEffect(() => {
|
1948
|
+
if (isChecked && typeof ref !== "function" && (ref == null ? void 0 : ref.current)) {
|
1949
|
+
ref.current.focus();
|
1950
|
+
}
|
1951
|
+
}, [isChecked]);
|
1952
|
+
const handleKeyDown = (event) => {
|
1953
|
+
if (event.key === "Enter" || event.key === " ") {
|
1954
|
+
onChange(value);
|
1955
|
+
}
|
1956
|
+
if (event.key === "ArrowRight" || event.key === "ArrowDown" || event.key === "ArrowLeft" || event.key === "ArrowUp") {
|
1957
|
+
const nextRadioCard = event.currentTarget.nextElementSibling;
|
1958
|
+
nextRadioCard.focus();
|
1959
|
+
}
|
1960
|
+
};
|
1961
|
+
return /* @__PURE__ */ React87__default.createElement(Box, { as: "label", "aria-label": String(children), onKeyDown: handleKeyDown }, /* @__PURE__ */ React87__default.createElement(
|
1962
|
+
chakra.input,
|
1963
|
+
{
|
1964
|
+
type: "radio",
|
1965
|
+
id: radioCardId,
|
1966
|
+
ref,
|
1967
|
+
value,
|
1968
|
+
name,
|
1969
|
+
checked: isChecked,
|
1970
|
+
onChange: () => onChange(value),
|
1971
|
+
disabled: isDisabled,
|
1972
|
+
__css: styles3.radioInput
|
1973
|
+
}
|
1974
|
+
), /* @__PURE__ */ React87__default.createElement(
|
1975
|
+
Box,
|
1976
|
+
{
|
1977
|
+
...props,
|
1978
|
+
tabIndex: 0,
|
1979
|
+
ref,
|
1980
|
+
role: "radio",
|
1981
|
+
"aria-checked": isChecked,
|
1982
|
+
"aria-labelledby": radioCardId,
|
1983
|
+
__css: { ...styles3.container, ...isChecked && styles3.checked },
|
1984
|
+
"data-checked": isChecked,
|
1985
|
+
"data-disabled": isDisabled
|
1986
|
+
},
|
1987
|
+
children
|
1988
|
+
));
|
1989
|
+
}
|
1990
|
+
);
|
1991
|
+
var StaticCard = forwardRef(
|
1992
|
+
({ colorScheme = "white", children, ...props }, ref) => {
|
1993
|
+
const styles3 = useStyleConfig("StaticCard", {
|
1994
|
+
colorScheme
|
1995
|
+
});
|
1996
|
+
return /* @__PURE__ */ React87__default.createElement(Box, { __css: styles3, ...props, ref }, children);
|
1997
|
+
}
|
1998
|
+
);
|
1999
|
+
var PressableCard = forwardRef(
|
2000
|
+
({ children, variant = "floating", ...props }, ref) => {
|
2001
|
+
const styles3 = useStyleConfig("PressableCard", {
|
2002
|
+
variant
|
2003
|
+
});
|
2004
|
+
return /* @__PURE__ */ React87__default.createElement(Box, { __css: styles3, ...props, ref }, children);
|
2005
|
+
}
|
2006
|
+
);
|
2007
|
+
var AccordionContext = React87__default.createContext(null);
|
2008
|
+
var AccordionProvider = ({
|
2009
|
+
size: size2,
|
2010
|
+
...props
|
2011
|
+
}) => {
|
2012
|
+
return /* @__PURE__ */ React87__default.createElement(AccordionContext.Provider, { value: { size: size2 }, ...props });
|
2013
|
+
};
|
2014
|
+
var useAccordionContext = () => {
|
2015
|
+
const context = React87__default.useContext(AccordionContext);
|
2016
|
+
if (context === null) {
|
2017
|
+
throw new Error(
|
2018
|
+
"useAccordionContext must be used within AccordionProvider"
|
2019
|
+
);
|
2020
|
+
}
|
2021
|
+
return context;
|
2022
|
+
};
|
2023
|
+
var Accordion = forwardRef(
|
2024
|
+
({ children, spacing: spacing3 = 2, ...props }, ref) => {
|
2025
|
+
const defaultIndex = typeof props.defaultIndex === "number" && props.allowMultiple ? [props.defaultIndex] : props.defaultIndex;
|
2026
|
+
return /* @__PURE__ */ React87__default.createElement(AccordionProvider, { size: props.size }, /* @__PURE__ */ React87__default.createElement(
|
2027
|
+
Accordion$1,
|
2028
|
+
{
|
2029
|
+
...props,
|
2030
|
+
ref,
|
2031
|
+
defaultIndex
|
2032
|
+
},
|
2033
|
+
/* @__PURE__ */ React87__default.createElement(Stack, { spacing: spacing3 }, children)
|
2034
|
+
));
|
2035
|
+
}
|
2036
|
+
);
|
2037
|
+
var Expandable = ({
|
2038
|
+
children,
|
2039
|
+
headingLevel,
|
2040
|
+
title,
|
2041
|
+
leftIcon,
|
2042
|
+
size: size2 = "md",
|
2043
|
+
defaultOpen,
|
2044
|
+
isOpen,
|
2045
|
+
onChange = () => {
|
2097
2046
|
},
|
2098
|
-
|
2099
|
-
|
2100
|
-
|
2101
|
-
|
2102
|
-
|
2047
|
+
...rest
|
2048
|
+
}) => {
|
2049
|
+
return /* @__PURE__ */ React87__default.createElement(
|
2050
|
+
Accordion,
|
2051
|
+
{
|
2052
|
+
...rest,
|
2053
|
+
index: isOpen ? 0 : void 0,
|
2054
|
+
defaultIndex: defaultOpen ? 0 : void 0,
|
2055
|
+
allowMultiple: true,
|
2056
|
+
size: size2,
|
2057
|
+
onChange: (expandedIndex) => onChange(expandedIndex === 0)
|
2058
|
+
},
|
2059
|
+
/* @__PURE__ */ React87__default.createElement(
|
2060
|
+
ExpandableItem,
|
2061
|
+
{
|
2062
|
+
headingLevel,
|
2063
|
+
title,
|
2064
|
+
leftIcon
|
2065
|
+
},
|
2066
|
+
children
|
2067
|
+
)
|
2068
|
+
);
|
2069
|
+
};
|
2070
|
+
var ExpandableItem = ({
|
2071
|
+
children,
|
2072
|
+
title,
|
2073
|
+
headingLevel = "h3",
|
2074
|
+
leftIcon,
|
2075
|
+
...rest
|
2076
|
+
}) => {
|
2077
|
+
const { size: size2 } = useAccordionContext();
|
2078
|
+
warnAboutMismatchingIcon({ icon: leftIcon, size: size2 });
|
2079
|
+
return /* @__PURE__ */ React87__default.createElement(AccordionItem, { ...rest }, /* @__PURE__ */ React87__default.createElement(Box, { as: headingLevel }, /* @__PURE__ */ React87__default.createElement(AccordionButton, null, /* @__PURE__ */ React87__default.createElement(Flex, { alignItems: "center" }, leftIcon && /* @__PURE__ */ React87__default.createElement(Box, { marginRight: 1 }, leftIcon), title), /* @__PURE__ */ React87__default.createElement(AccordionIcon, null))), /* @__PURE__ */ React87__default.createElement(AccordionPanel, null, children));
|
2080
|
+
};
|
2081
|
+
var warnAboutMismatchingIcon = ({ icon, size: size2 }) => {
|
2082
|
+
var _a6, _b5;
|
2083
|
+
if (process.env.NODE_ENV !== "production") {
|
2084
|
+
const displayName = (_b5 = (_a6 = icon == null ? void 0 : icon.type) == null ? void 0 : _a6.render) == null ? void 0 : _b5.displayName;
|
2085
|
+
if (!displayName) {
|
2086
|
+
return;
|
2087
|
+
}
|
2088
|
+
if (displayName.includes("Fill")) {
|
2089
|
+
console.warn(
|
2090
|
+
`You passed a filled icon. This component requires outlined icons. You passed ${displayName}, replace it with ${displayName.replace(
|
2091
|
+
"Fill",
|
2092
|
+
"Outline"
|
2093
|
+
)}.`
|
2094
|
+
);
|
2095
|
+
return;
|
2096
|
+
}
|
2097
|
+
if (size2 === "lg" && !displayName.includes("30Icon")) {
|
2098
|
+
console.warn(
|
2099
|
+
`The icon you passed was of the wrong size for the lg size. You passed ${displayName}, replace it with ${displayName.replace(
|
2100
|
+
/(\d{2})Icon/,
|
2101
|
+
"30Icon"
|
2102
|
+
)}.`
|
2103
|
+
);
|
2104
|
+
return;
|
2105
|
+
}
|
2106
|
+
if (["md"].includes(size2) && !displayName.includes("24Icon")) {
|
2107
|
+
console.warn(
|
2108
|
+
`The icon you passed was of the wrong size for the ${size2} size. You passed ${displayName}, replace it with ${displayName.replace(
|
2109
|
+
/(\d{2})Icon/,
|
2110
|
+
"24Icon"
|
2111
|
+
)}.`
|
2112
|
+
);
|
2113
|
+
}
|
2103
2114
|
}
|
2104
|
-
}
|
2105
|
-
var
|
2106
|
-
|
2107
|
-
|
2115
|
+
};
|
2116
|
+
var Language = /* @__PURE__ */ ((Language3) => {
|
2117
|
+
Language3["NorwegianBokmal"] = "nb";
|
2118
|
+
Language3["NorwegianNynorsk"] = "nn";
|
2119
|
+
Language3["Swedish"] = "sv";
|
2120
|
+
Language3["English"] = "en";
|
2121
|
+
return Language3;
|
2122
|
+
})(Language || {});
|
2123
|
+
var LanguageContext = createContext(void 0);
|
2124
|
+
function LanguageProvider({
|
2125
|
+
language,
|
2126
|
+
children
|
2127
|
+
}) {
|
2128
|
+
return /* @__PURE__ */ React87__default.createElement(LanguageContext.Provider, { value: language }, children);
|
2129
|
+
}
|
2130
|
+
function useLanguage() {
|
2131
|
+
const language = useContext(LanguageContext);
|
2132
|
+
if (!language) {
|
2133
|
+
throw new Error("Please wrap your application in a LanguageProvider");
|
2108
2134
|
}
|
2109
|
-
|
2110
|
-
|
2111
|
-
|
2112
|
-
|
2113
|
-
|
2114
|
-
|
2115
|
-
const formControlProps = useFormControlContext();
|
2116
|
-
const fallbackId = `textarea-${useId()}`;
|
2117
|
-
const inputId = props.id ?? (formControlProps == null ? void 0 : formControlProps.id) ?? fallbackId;
|
2118
|
-
return /* @__PURE__ */ React87__default.createElement(InputGroup, { position: "relative", ...spacingProps }, /* @__PURE__ */ React87__default.createElement(Textarea$1, { ...rest, id: inputId, ref, placeholder: " " }), label && /* @__PURE__ */ React87__default.createElement(FormLabel$1, { htmlFor: inputId, id: `${inputId}-label` }, label));
|
2119
|
-
});
|
2120
|
-
function getSpacingProps(props) {
|
2121
|
-
const {
|
2122
|
-
mt,
|
2123
|
-
mr,
|
2124
|
-
mb,
|
2125
|
-
ml,
|
2126
|
-
mx,
|
2127
|
-
my,
|
2128
|
-
marginTop,
|
2129
|
-
marginRight,
|
2130
|
-
marginBottom,
|
2131
|
-
marginLeft,
|
2132
|
-
marginX,
|
2133
|
-
marginY,
|
2134
|
-
pt,
|
2135
|
-
pr,
|
2136
|
-
pb,
|
2137
|
-
pl,
|
2138
|
-
px,
|
2139
|
-
py,
|
2140
|
-
paddingTop,
|
2141
|
-
paddingRight,
|
2142
|
-
paddingBottom,
|
2143
|
-
paddingLeft,
|
2144
|
-
paddingX,
|
2145
|
-
paddingY,
|
2146
|
-
...remainingProps
|
2147
|
-
} = props;
|
2148
|
-
return {
|
2149
|
-
spacingProps: {
|
2150
|
-
mt,
|
2151
|
-
mr,
|
2152
|
-
mb,
|
2153
|
-
ml,
|
2154
|
-
mx,
|
2155
|
-
my,
|
2156
|
-
marginTop,
|
2157
|
-
marginRight,
|
2158
|
-
marginBottom,
|
2159
|
-
marginLeft,
|
2160
|
-
marginX,
|
2161
|
-
marginY,
|
2162
|
-
pt,
|
2163
|
-
pr,
|
2164
|
-
pb,
|
2165
|
-
pl,
|
2166
|
-
px,
|
2167
|
-
py,
|
2168
|
-
paddingTop,
|
2169
|
-
paddingRight,
|
2170
|
-
paddingBottom,
|
2171
|
-
paddingLeft,
|
2172
|
-
paddingX,
|
2173
|
-
paddingY
|
2174
|
-
},
|
2175
|
-
remainingProps
|
2135
|
+
return language;
|
2136
|
+
}
|
2137
|
+
function useTranslation() {
|
2138
|
+
const language = useLanguage();
|
2139
|
+
const t2 = (text) => {
|
2140
|
+
return text[language];
|
2176
2141
|
};
|
2142
|
+
return { t: t2, language };
|
2143
|
+
}
|
2144
|
+
function createTexts(texts28) {
|
2145
|
+
return texts28;
|
2146
|
+
}
|
2147
|
+
var hydrating = true;
|
2148
|
+
function useHydrated() {
|
2149
|
+
let [hydrated, setHydrated] = useState(() => !hydrating);
|
2150
|
+
useEffect(function hydrate() {
|
2151
|
+
hydrating = false;
|
2152
|
+
setHydrated(true);
|
2153
|
+
}, []);
|
2154
|
+
return hydrated;
|
2177
2155
|
}
|
2178
2156
|
|
2179
|
-
// src/
|
2157
|
+
// src/loader/ClientOnly.tsx
|
2158
|
+
var ClientOnly = ({ children, fallback = null }) => {
|
2159
|
+
const isHydrated = useHydrated();
|
2160
|
+
return /* @__PURE__ */ React87__default.createElement(React87__default.Fragment, null, isHydrated ? children() : fallback);
|
2161
|
+
};
|
2162
|
+
function Lottie({ animationData }) {
|
2163
|
+
const { View } = useLottie({ animationData, loop: true });
|
2164
|
+
return /* @__PURE__ */ React87__default.createElement(React87__default.Fragment, null, View);
|
2165
|
+
}
|
2166
|
+
var PrideContext = createContext(void 0);
|
2167
|
+
var PrideProvider = ({
|
2168
|
+
children
|
2169
|
+
}) => {
|
2170
|
+
const isBrowser2 = typeof window !== "undefined";
|
2171
|
+
const key = "spor__isPride";
|
2172
|
+
const [isPride, setIsPride] = useState(() => {
|
2173
|
+
if (isBrowser2) {
|
2174
|
+
const savedState = localStorage.getItem(key);
|
2175
|
+
return savedState ? JSON.parse(savedState) : true;
|
2176
|
+
}
|
2177
|
+
return true;
|
2178
|
+
});
|
2179
|
+
const togglePride = () => {
|
2180
|
+
setIsPride((prev) => {
|
2181
|
+
const newState = !prev;
|
2182
|
+
if (isBrowser2) {
|
2183
|
+
localStorage.setItem(key, JSON.stringify(newState));
|
2184
|
+
}
|
2185
|
+
return newState;
|
2186
|
+
});
|
2187
|
+
};
|
2188
|
+
useEffect(() => {
|
2189
|
+
if (isBrowser2) {
|
2190
|
+
const savedState = localStorage.getItem(key);
|
2191
|
+
if (savedState) {
|
2192
|
+
setIsPride(JSON.parse(savedState));
|
2193
|
+
}
|
2194
|
+
}
|
2195
|
+
}, [isBrowser2]);
|
2196
|
+
return /* @__PURE__ */ React87__default.createElement(PrideContext.Provider, { value: { isPride, togglePride } }, children);
|
2197
|
+
};
|
2198
|
+
var usePride = () => {
|
2199
|
+
const context = useContext(PrideContext);
|
2200
|
+
if (context === void 0) {
|
2201
|
+
throw new Error("usePride must be used within a PrideProvider");
|
2202
|
+
}
|
2203
|
+
return context;
|
2204
|
+
};
|
2180
2205
|
var TogglePride = ({ label }) => {
|
2181
2206
|
const { isPride, togglePride } = usePride();
|
2182
2207
|
return /* @__PURE__ */ React87__default.createElement(FormControl, { display: "flex", alignItems: "center", gap: 3 }, /* @__PURE__ */ React87__default.createElement(FormLabel, { margin: "0" }, label), /* @__PURE__ */ React87__default.createElement(
|
@@ -13241,7 +13266,6 @@ var helpers24 = createMultiStyleConfigHelpers$1(parts17.keys);
|
|
13241
13266
|
var config33 = helpers24.defineMultiStyleConfig({
|
13242
13267
|
baseStyle: (props) => ({
|
13243
13268
|
container: {
|
13244
|
-
appearance: "none",
|
13245
13269
|
border: "none",
|
13246
13270
|
overflow: "hidden",
|
13247
13271
|
fontSize: "inherit",
|
@@ -13283,6 +13307,9 @@ var config33 = helpers24.defineMultiStyleConfig({
|
|
13283
13307
|
_active: {
|
13284
13308
|
...baseBackground("active", props),
|
13285
13309
|
...baseBorder("active", props)
|
13310
|
+
},
|
13311
|
+
_focus: {
|
13312
|
+
...outlineBorder("focus", props)
|
13286
13313
|
}
|
13287
13314
|
},
|
13288
13315
|
checked: {
|
@@ -13292,13 +13319,17 @@ var config33 = helpers24.defineMultiStyleConfig({
|
|
13292
13319
|
_active: {
|
13293
13320
|
...baseBackground("active", props),
|
13294
13321
|
...baseBorder("active", props)
|
13322
|
+
},
|
13323
|
+
_focus: {
|
13324
|
+
outline: "4px solid",
|
13325
|
+
outlineStyle: "double",
|
13326
|
+
...outlineBorder("focus", props),
|
13327
|
+
outlineOffset: "-1px"
|
13295
13328
|
}
|
13296
13329
|
}
|
13297
13330
|
}),
|
13298
13331
|
floating: (props) => ({
|
13299
13332
|
container: {
|
13300
|
-
...baseText("default", props),
|
13301
|
-
...baseBackground("default", props),
|
13302
13333
|
...floatingBackground("default", props),
|
13303
13334
|
...floatingBorder("default", props),
|
13304
13335
|
boxShadow: "sm",
|
@@ -13310,16 +13341,25 @@ var config33 = helpers24.defineMultiStyleConfig({
|
|
13310
13341
|
_active: {
|
13311
13342
|
...floatingBackground("active", props),
|
13312
13343
|
...floatingBorder("active", props)
|
13344
|
+
},
|
13345
|
+
_focus: {
|
13346
|
+
...outlineBorder("focus", props)
|
13313
13347
|
}
|
13314
13348
|
},
|
13315
13349
|
checked: {
|
13316
|
-
cursor: "normal",
|
13317
13350
|
_hover: {
|
13318
|
-
...floatingBorder("hover", props)
|
13351
|
+
...floatingBorder("hover", props),
|
13352
|
+
boxShadow: "md"
|
13319
13353
|
},
|
13320
13354
|
_active: {
|
13321
13355
|
...floatingBackground("active", props),
|
13322
13356
|
...floatingBorder("active", props)
|
13357
|
+
},
|
13358
|
+
_focus: {
|
13359
|
+
outline: "4px solid",
|
13360
|
+
outlineStyle: "double",
|
13361
|
+
...outlineBorder("focus", props),
|
13362
|
+
outlineOffset: "-1px"
|
13323
13363
|
}
|
13324
13364
|
}
|
13325
13365
|
})
|
@@ -14447,4 +14487,4 @@ function slugify(text, maxLength = 50) {
|
|
14447
14487
|
return text.normalize("NFD").replace(/[\u0300-\u036f]/g, "").replace(/[\u00C6\u00E6]/g, "ae").replace(/[\u00D8\u00F8]/g, "oe").replace(/[\u00C5\u00E5]/g, "aa").toLowerCase().replace(/\s+/g, "-").replace(/[^\w-]+/g, "").replace(/--+/g, "-").replace(/^-+/, "").replace(/-+$/, "").substring(0, maxLength);
|
14448
14488
|
}
|
14449
14489
|
|
14450
|
-
export { Accordion, AttachedInputs, Badge, Brand, Breadcrumb, BreadcrumbItem, BreadcrumbLink, Button2 as Button, ButtonGroup, Card2 as Card, CardSelect, Checkbox, CheckboxGroup, ChoiceChip, ClosableAlert, CloseButton, Code, ColorInlineLoader, ColorSpinner, Combobox, ContentLoader, DarkFullScreenLoader, DarkInlineLoader, DarkSpinner, DatePicker, DateRangePicker, Divider, Drawer, DrawerContent, Expandable, ExpandableAlert, ExpandableItem, FloatingActionButton, FormControl, FormErrorMessage, FormLabel, FullScreenDrawer, Heading2 as Heading, IconButton, InfoSelect, InfoTag, Input, InputLeftElement2 as InputLeftElement, InputRightElement2 as InputRightElement, ItemDescription, ItemLabel, JumpButton, Language, LanguageProvider, LightFullScreenLoader, LightInlineLoader, LightSpinner, LineIcon, ListBox, ModalHeader, NativeSelect, Nudge, NumericStepper, Pagination, PasswordInput, PhoneNumberInput, PlayPauseButton, PressableCard, PrideProvider, ProgressBar, ProgressIndicator, ProgressLoader, Radio, RadioCard, RadioCardGroup, RadioGroup, SearchInput, SimpleDrawer, Skeleton, SkeletonCircle, SkeletonText, SkipButton, SporProvider, Stack, StaticAlert, StaticCard, Stepper, StepperStep, Switch, Table, Tabs, Text4 as Text, TextLink, Textarea, TimePicker, TogglePride, Tooltip, TravelTag, VyLogo, VyLogoDefault, VyLogoPride, WizardNudge, brandTheme, createTexts, fontFaces, slugify, theme, usePride, useSize, useToast, useTranslation };
|
14490
|
+
export { Accordion, AttachedInputs, Badge, Brand, Breadcrumb, BreadcrumbItem, BreadcrumbLink, Button2 as Button, ButtonGroup, Card2 as Card, CardSelect, Checkbox, CheckboxGroup, ChoiceChip, ClosableAlert, CloseButton, Code, ColorInlineLoader, ColorSpinner, Combobox, ContentLoader, DarkFullScreenLoader, DarkInlineLoader, DarkSpinner, DatePicker, DateRangePicker, Divider, Drawer, DrawerContent, Expandable, ExpandableAlert, ExpandableItem, FloatingActionButton, FormControl, FormErrorMessage, FormLabel, FullScreenDrawer, Heading2 as Heading, IconButton, InfoSelect, InfoTag, Input, InputLeftElement2 as InputLeftElement, InputRightElement2 as InputRightElement, ItemDescription, ItemLabel, JumpButton, Language, LanguageProvider, LightFullScreenLoader, LightInlineLoader, LightSpinner, LineIcon, ListBox, ModalHeader, NativeSelect, Nudge, NumericStepper, Pagination, PasswordInput, PhoneNumberInput, PlayPauseButton, PressableCard, PrideProvider, ProgressBar, ProgressIndicator, ProgressLoader, Radio, RadioCard, RadioCardGroup, RadioCardGroupContext, RadioGroup, SearchInput, SimpleDrawer, Skeleton, SkeletonCircle, SkeletonText, SkipButton, SporProvider, Stack, StaticAlert, StaticCard, Stepper, StepperStep, Switch, Table, Tabs, Text4 as Text, TextLink, Textarea, TimePicker, TogglePride, Tooltip, TravelTag, VyLogo, VyLogoDefault, VyLogoPride, WizardNudge, brandTheme, createTexts, fontFaces, slugify, theme, usePride, useSize, useToast, useTranslation };
|