@vygruppen/spor-react 12.7.0 → 12.7.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/.turbo/turbo-build.log +10 -10
- package/.turbo/turbo-postinstall.log +1 -1
- package/CHANGELOG.md +7 -0
- package/dist/index.cjs +321 -301
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +99 -2
- package/dist/index.d.ts +99 -2
- package/dist/index.mjs +322 -302
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/src/button/ButtonGroup.tsx +5 -15
- package/src/dialog/Dialog.tsx +1 -1
- package/src/input/AttachedInputs.tsx +6 -4
- package/src/input/Input.tsx +9 -8
- package/src/layout/PressableCard.tsx +12 -5
- package/src/layout/StaticCard.tsx +6 -4
- package/src/theme/recipes/index.ts +2 -0
- package/src/theme/slot-recipes/anatomy.ts +2 -0
- package/src/theme/slot-recipes/collapsible.ts +21 -0
- package/src/theme/slot-recipes/index.ts +2 -0
package/dist/index.cjs
CHANGED
@@ -13,11 +13,12 @@ var lu = require('react-icons/lu');
|
|
13
13
|
var reactStately = require('react-stately');
|
14
14
|
var date = require('@internationalized/date');
|
15
15
|
var awesomePhonenumber = require('awesome-phonenumber');
|
16
|
-
var tokens23 = require('@vygruppen/spor-design-tokens');
|
17
16
|
var react$1 = require('@emotion/react');
|
17
|
+
var tokens23 = require('@vygruppen/spor-design-tokens');
|
18
18
|
var tokens4 = require('@vygruppen/spor-design-tokens/raw-tokens');
|
19
19
|
var anatomy = require('@ark-ui/react/anatomy');
|
20
20
|
var popover = require('@ark-ui/react/popover');
|
21
|
+
var collapsible = require('@ark-ui/react/collapsible');
|
21
22
|
|
22
23
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
23
24
|
|
@@ -626,38 +627,12 @@ var texts2 = createTexts({
|
|
626
627
|
sv: "Laddar\u2026"
|
627
628
|
}
|
628
629
|
});
|
629
|
-
var groupRecipe = react.defineRecipe({
|
630
|
-
className: "spor-group",
|
631
|
-
base: {
|
632
|
-
fontSize: "lg"
|
633
|
-
},
|
634
|
-
variants: {
|
635
|
-
disabled: {
|
636
|
-
true: {
|
637
|
-
"& > *": {
|
638
|
-
pointerEvents: "none",
|
639
|
-
backgroundColor: "surface.disabled",
|
640
|
-
color: "text.disabled"
|
641
|
-
}
|
642
|
-
}
|
643
|
-
}
|
644
|
-
}
|
645
|
-
});
|
646
|
-
var Group = react.chakra(react.Group, groupRecipe);
|
647
630
|
var ButtonGroup = React28.forwardRef(
|
648
631
|
(props, ref) => {
|
649
|
-
const
|
650
|
-
|
651
|
-
|
652
|
-
|
653
|
-
...rest,
|
654
|
-
ref,
|
655
|
-
attached,
|
656
|
-
grow,
|
657
|
-
disabled,
|
658
|
-
children
|
659
|
-
}
|
660
|
-
);
|
632
|
+
const recipe = react.useRecipe({ key: "buttonGroup" });
|
633
|
+
const [recipeProps, restProps] = recipe.splitVariantProps(props);
|
634
|
+
const styles = recipe(recipeProps);
|
635
|
+
return /* @__PURE__ */ jsxRuntime.jsx(react.Group, { ...restProps, ref, css: styles });
|
661
636
|
}
|
662
637
|
);
|
663
638
|
ButtonGroup.displayName = "ButtonGroup";
|
@@ -2366,7 +2341,7 @@ var DialogContent = React28__namespace.forwardRef((props, ref) => {
|
|
2366
2341
|
});
|
2367
2342
|
DialogContent.displayName = "DialogContent";
|
2368
2343
|
var DialogCloseTrigger = React28__namespace.forwardRef(function DialogCloseTrigger2(props, ref) {
|
2369
|
-
return /* @__PURE__ */ jsxRuntime.jsx(react.Dialog.CloseTrigger, { ref, ...props, asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(CloseButton, { size: "md" }) });
|
2344
|
+
return /* @__PURE__ */ jsxRuntime.jsx(react.Dialog.CloseTrigger, { ref, position: "absolute", ...props, asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(CloseButton, { size: "md" }) });
|
2370
2345
|
});
|
2371
2346
|
var DialogRoot = react.Dialog.Root;
|
2372
2347
|
var DialogFooter = react.Dialog.Footer;
|
@@ -2467,51 +2442,12 @@ var texts12 = createTexts({
|
|
2467
2442
|
sv: "St\xE4ng"
|
2468
2443
|
}
|
2469
2444
|
});
|
2470
|
-
var attachedInputsRecipe = react.defineRecipe({
|
2471
|
-
base: {
|
2472
|
-
display: "flex",
|
2473
|
-
gap: "0.1rem",
|
2474
|
-
width: "100%",
|
2475
|
-
"& select": {
|
2476
|
-
borderEndRadius: 0
|
2477
|
-
}
|
2478
|
-
},
|
2479
|
-
variants: {
|
2480
|
-
orientation: {
|
2481
|
-
horizontal: {
|
2482
|
-
flexDirection: "row",
|
2483
|
-
"& > *:first-of-type:not(:last-of-type) [data-attachable]": {
|
2484
|
-
borderEndRadius: 0
|
2485
|
-
},
|
2486
|
-
"& > *:not(:first-of-type):not(:last-of-type) [data-attachable]": {
|
2487
|
-
borderRadius: 0
|
2488
|
-
},
|
2489
|
-
"& > *:not(:first-of-type):last-of-type [data-attachable]": {
|
2490
|
-
borderStartRadius: 0
|
2491
|
-
}
|
2492
|
-
},
|
2493
|
-
vertical: {
|
2494
|
-
flexDirection: "column",
|
2495
|
-
"& > *:first-of-type:not(:last-of-type) [data-attachable]": {
|
2496
|
-
borderBottomRadius: 0
|
2497
|
-
},
|
2498
|
-
"& > *:not(:first-of-type):not(:last-of-type) [data-attachable]": {
|
2499
|
-
borderRadius: 0
|
2500
|
-
},
|
2501
|
-
"& > *:not(:first-of-type):last-of-type [data-attachable]": {
|
2502
|
-
borderTopRadius: 0
|
2503
|
-
}
|
2504
|
-
}
|
2505
|
-
}
|
2506
|
-
},
|
2507
|
-
defaultVariants: {
|
2508
|
-
orientation: "horizontal"
|
2509
|
-
}
|
2510
|
-
});
|
2511
|
-
var StyledGroup = react.chakra(react.Group, attachedInputsRecipe);
|
2512
2445
|
var AttachedInputs = React28.forwardRef(
|
2513
2446
|
(props, ref) => {
|
2514
|
-
|
2447
|
+
const recipe = react.useRecipe({ key: "attachedInputs" });
|
2448
|
+
const [recipeProps, restProps] = recipe.splitVariantProps(props);
|
2449
|
+
const styles = recipe(recipeProps);
|
2450
|
+
return /* @__PURE__ */ jsxRuntime.jsx(react.Group, { ref, css: styles, attached: true, ...restProps });
|
2515
2451
|
}
|
2516
2452
|
);
|
2517
2453
|
AttachedInputs.displayName = "AttachedInputs";
|
@@ -2833,90 +2769,6 @@ var FieldsetLegend = react.Fieldset.Legend;
|
|
2833
2769
|
var FieldsetContent = react.Fieldset.Content;
|
2834
2770
|
var FieldsetHelperText = react.Fieldset.HelperText;
|
2835
2771
|
var FieldsetErrorText = react.Fieldset.ErrorText;
|
2836
|
-
var inputRecipe = react.defineRecipe({
|
2837
|
-
base: {
|
2838
|
-
appearance: "none",
|
2839
|
-
width: "100%",
|
2840
|
-
outline: "none",
|
2841
|
-
border: 0,
|
2842
|
-
borderRadius: "sm",
|
2843
|
-
transitionProperty: "common",
|
2844
|
-
transitionDuration: "fast",
|
2845
|
-
color: "text",
|
2846
|
-
position: "relative",
|
2847
|
-
paddingX: 3,
|
2848
|
-
paddingTop: 3,
|
2849
|
-
height: 8,
|
2850
|
-
fontSize: "mobile.md",
|
2851
|
-
_disabled: {
|
2852
|
-
backgroundColor: "surface.disabled",
|
2853
|
-
outline: "1px solid",
|
2854
|
-
outlineColor: "outline.disabled",
|
2855
|
-
pointerEvents: "none"
|
2856
|
-
},
|
2857
|
-
_invalid: {
|
2858
|
-
outline: "2px solid",
|
2859
|
-
outlineColor: "outline.error",
|
2860
|
-
_active: {
|
2861
|
-
outline: "2px solid",
|
2862
|
-
outlineColor: "outline.error"
|
2863
|
-
},
|
2864
|
-
_focus: {
|
2865
|
-
outline: "2px solid",
|
2866
|
-
outlineColor: "outline.error"
|
2867
|
-
},
|
2868
|
-
_hover: {
|
2869
|
-
outline: "2px solid",
|
2870
|
-
outlineColor: "core.outline"
|
2871
|
-
}
|
2872
|
-
}
|
2873
|
-
},
|
2874
|
-
variants: {
|
2875
|
-
variant: {
|
2876
|
-
core: {
|
2877
|
-
backgroundColor: "transparent",
|
2878
|
-
outline: "1px solid",
|
2879
|
-
outlineColor: "core.outline",
|
2880
|
-
_hover: {
|
2881
|
-
outline: "2px solid",
|
2882
|
-
outlineColor: "core.outline.hover",
|
2883
|
-
_active: {
|
2884
|
-
outline: "1px solid",
|
2885
|
-
outlineColor: "outline.disabled",
|
2886
|
-
backgroundColor: "core.surface.active"
|
2887
|
-
}
|
2888
|
-
},
|
2889
|
-
_focus: {
|
2890
|
-
outline: "2px solid",
|
2891
|
-
outlineColor: "outline.focus"
|
2892
|
-
}
|
2893
|
-
},
|
2894
|
-
floating: {
|
2895
|
-
boxShadow: "sm",
|
2896
|
-
bg: "floating.surface",
|
2897
|
-
outline: "1px solid",
|
2898
|
-
outlineColor: "floating.outline",
|
2899
|
-
_hover: {
|
2900
|
-
outline: "1px solid",
|
2901
|
-
outlineColor: "floating.outline.hover"
|
2902
|
-
},
|
2903
|
-
_active: {
|
2904
|
-
outline: "1px solid",
|
2905
|
-
outlineColor: "floating.outline.active",
|
2906
|
-
backgroundColor: "floating.surface.active"
|
2907
|
-
},
|
2908
|
-
focus: {
|
2909
|
-
outline: "1px solid",
|
2910
|
-
outlineColor: "outline.focus"
|
2911
|
-
}
|
2912
|
-
}
|
2913
|
-
}
|
2914
|
-
},
|
2915
|
-
defaultVariants: {
|
2916
|
-
variant: "core"
|
2917
|
-
}
|
2918
|
-
});
|
2919
|
-
var StyledInput = react.chakra(react.Input, inputRecipe);
|
2920
2772
|
var Input = React28.forwardRef(
|
2921
2773
|
({
|
2922
2774
|
startElement,
|
@@ -2927,6 +2779,9 @@ var Input = React28.forwardRef(
|
|
2927
2779
|
errorText,
|
2928
2780
|
...props
|
2929
2781
|
}, ref) => {
|
2782
|
+
const recipe = react.useRecipe({ key: "input" });
|
2783
|
+
const [recipeProps, restProps] = recipe.splitVariantProps(props);
|
2784
|
+
const styles = recipe(recipeProps);
|
2930
2785
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
2931
2786
|
Field3,
|
2932
2787
|
{
|
@@ -2944,7 +2799,7 @@ var Input = React28.forwardRef(
|
|
2944
2799
|
children: [
|
2945
2800
|
startElement && /* @__PURE__ */ jsxRuntime.jsx(react.InputElement, { pointerEvents: "none", paddingX: 2, children: startElement }),
|
2946
2801
|
/* @__PURE__ */ jsxRuntime.jsx(
|
2947
|
-
|
2802
|
+
react.Input,
|
2948
2803
|
{
|
2949
2804
|
"data-attachable": true,
|
2950
2805
|
ref,
|
@@ -2952,9 +2807,10 @@ var Input = React28.forwardRef(
|
|
2952
2807
|
overflow: "hidden",
|
2953
2808
|
paddingLeft: startElement ? "2.6rem" : void 0,
|
2954
2809
|
paddingRight: endElement ? "2.6rem" : void 0,
|
2955
|
-
...
|
2810
|
+
...restProps,
|
2956
2811
|
className: `peer ${props.className}`,
|
2957
|
-
placeholder: ""
|
2812
|
+
placeholder: "",
|
2813
|
+
css: styles
|
2958
2814
|
}
|
2959
2815
|
),
|
2960
2816
|
endElement && /* @__PURE__ */ jsxRuntime.jsx(react.InputElement, { placement: "end", paddingX: 2, children: endElement })
|
@@ -3790,97 +3646,12 @@ var Textarea = React28.forwardRef(
|
|
3790
3646
|
}
|
3791
3647
|
);
|
3792
3648
|
Textarea.displayName = "Textarea";
|
3793
|
-
|
3794
|
-
// src/util/slugify.tsx
|
3795
|
-
function slugify(text, maxLength = 50) {
|
3796
|
-
if (!text) {
|
3797
|
-
return text;
|
3798
|
-
}
|
3799
|
-
if (Array.isArray(text)) {
|
3800
|
-
text = text.join(" ");
|
3801
|
-
}
|
3802
|
-
if (maxLength < 1) {
|
3803
|
-
throw new Error("The maxLength parameter must be a positive number");
|
3804
|
-
}
|
3805
|
-
return text.normalize("NFD").replaceAll(/[\u0300-\u036F]/g, "").replaceAll(/[\u00C6\u00E6]/g, "ae").replaceAll(/[\u00D8\u00F8]/g, "oe").replaceAll(/[\u00C5\u00E5]/g, "aa").toLowerCase().replaceAll(/\s+/g, "-").replaceAll(/[^\w-]+/g, "").replaceAll(/--+/g, "-").replace(/^-+/, "").replace(/-+$/, "").slice(0, Math.max(0, maxLength));
|
3806
|
-
}
|
3807
|
-
|
3808
|
-
// src/theme/recipes/pressable-card.ts
|
3809
|
-
var pressableCardRecipe = react.defineRecipe({
|
3810
|
-
base: {
|
3811
|
-
appearance: "none",
|
3812
|
-
border: "none",
|
3813
|
-
overflow: "hidden",
|
3814
|
-
fontSize: "inherit",
|
3815
|
-
display: "block",
|
3816
|
-
borderRadius: "md",
|
3817
|
-
cursor: "pointer",
|
3818
|
-
transitionProperty: "common",
|
3819
|
-
transitionDuration: "fast",
|
3820
|
-
_disabled: {
|
3821
|
-
outline: "none",
|
3822
|
-
pointerEvents: "none",
|
3823
|
-
background: "surface.disabled",
|
3824
|
-
color: "text.disabled"
|
3825
|
-
}
|
3826
|
-
},
|
3827
|
-
variants: {
|
3828
|
-
variant: {
|
3829
|
-
floating: {
|
3830
|
-
boxShadow: "0px 1px 3px 0px var(--shadow-color)",
|
3831
|
-
shadowColor: "surface.disabled",
|
3832
|
-
border: "sm",
|
3833
|
-
borderColor: "floating.outline",
|
3834
|
-
backgroundColor: "floating.surface",
|
3835
|
-
_hover: {
|
3836
|
-
boxShadow: "0px 2px 6px 0px var(--shadow-color)",
|
3837
|
-
backgroundColor: "floating.surface.hover",
|
3838
|
-
borderColor: "floating.outline.hover",
|
3839
|
-
_active: {
|
3840
|
-
boxShadow: "none",
|
3841
|
-
backgroundColor: "floating.surface.active",
|
3842
|
-
borderColor: "floating.outline.active"
|
3843
|
-
}
|
3844
|
-
}
|
3845
|
-
},
|
3846
|
-
core: {
|
3847
|
-
outlineColor: "core.outline",
|
3848
|
-
outlineWidth: tokens23__namespace.default.size.stroke.sm,
|
3849
|
-
outlineStyle: "solid",
|
3850
|
-
backgroundColor: "core.surface",
|
3851
|
-
_hover: {
|
3852
|
-
outlineColor: "core.outline.hover",
|
3853
|
-
outlineWidth: tokens23__namespace.default.size.stroke.md,
|
3854
|
-
outlineStyle: "solid",
|
3855
|
-
_active: {
|
3856
|
-
backgroundColor: "core.surface.active",
|
3857
|
-
outlineWidth: tokens23__namespace.default.size.stroke.sm
|
3858
|
-
}
|
3859
|
-
}
|
3860
|
-
},
|
3861
|
-
accent: {
|
3862
|
-
boxShadow: "0px 1px 3px 0px var(--shadow-color)",
|
3863
|
-
shadowColor: "surface.disabled",
|
3864
|
-
background: "alert.success.surface",
|
3865
|
-
_hover: {
|
3866
|
-
background: "alert.success.surface.hover",
|
3867
|
-
boxShadow: "0px 2px 6px 0px var(--shadow-color)",
|
3868
|
-
_active: {
|
3869
|
-
background: "alert.success.surface.active",
|
3870
|
-
boxShadow: "none"
|
3871
|
-
}
|
3872
|
-
}
|
3873
|
-
}
|
3874
|
-
}
|
3875
|
-
},
|
3876
|
-
defaultVariants: {
|
3877
|
-
variant: "core"
|
3878
|
-
}
|
3879
|
-
});
|
3880
|
-
var PressableCardButton = react.chakra("button", pressableCardRecipe);
|
3881
3649
|
var PressableCard = React28.forwardRef(
|
3882
3650
|
(props, ref) => {
|
3883
|
-
|
3651
|
+
const recipe = react.useRecipe({ key: "pressableCard" });
|
3652
|
+
const [recipeProps, restProps] = recipe.splitVariantProps(props);
|
3653
|
+
const styles = recipe(recipeProps);
|
3654
|
+
return /* @__PURE__ */ jsxRuntime.jsx(react.chakra.button, { ...restProps, css: styles, ref });
|
3884
3655
|
}
|
3885
3656
|
);
|
3886
3657
|
PressableCard.displayName = "PressableCard";
|
@@ -3943,55 +3714,20 @@ var Separator = React28.forwardRef(
|
|
3943
3714
|
}
|
3944
3715
|
);
|
3945
3716
|
Separator.displayName = "Separator";
|
3946
|
-
var
|
3947
|
-
|
3948
|
-
|
3949
|
-
|
3950
|
-
|
3951
|
-
|
3952
|
-
|
3953
|
-
|
3954
|
-
|
3955
|
-
|
3956
|
-
|
3957
|
-
|
3958
|
-
|
3959
|
-
|
3960
|
-
backgroundColor: "surface.color.cream"
|
3961
|
-
},
|
3962
|
-
darkYellow: {
|
3963
|
-
backgroundColor: "surface.color.yellow"
|
3964
|
-
},
|
3965
|
-
red: {
|
3966
|
-
backgroundColor: "surface.color.red"
|
3967
|
-
},
|
3968
|
-
green: {
|
3969
|
-
backgroundColor: "surface.color.green"
|
3970
|
-
},
|
3971
|
-
blue: {
|
3972
|
-
backgroundColor: "surface.color.blue"
|
3973
|
-
},
|
3974
|
-
orange: {
|
3975
|
-
backgroundColor: "surface.color.orange"
|
3976
|
-
}
|
3977
|
-
}
|
3978
|
-
},
|
3979
|
-
defaultVariants: {
|
3980
|
-
colorPalette: "white"
|
3981
|
-
}
|
3982
|
-
});
|
3983
|
-
var StyledCardBox = react.chakra("div", staticCardRecipe);
|
3984
|
-
var StaticCard = React28.forwardRef(
|
3985
|
-
(props, ref) => {
|
3986
|
-
return /* @__PURE__ */ jsxRuntime.jsx(StyledCardBox, { ...props, ref });
|
3987
|
-
}
|
3988
|
-
);
|
3989
|
-
StaticCard.displayName = "StaticCard";
|
3990
|
-
var icons = {
|
3991
|
-
"local-train": {
|
3992
|
-
sm: sporIconReact.TrainFill18Icon,
|
3993
|
-
md: sporIconReact.TrainFill24Icon,
|
3994
|
-
lg: sporIconReact.TrainFill30Icon
|
3717
|
+
var StaticCard = React28.forwardRef(
|
3718
|
+
(props, ref) => {
|
3719
|
+
const recipe = react.useRecipe({ key: "staticCard" });
|
3720
|
+
const [recipeProps, restProps] = recipe.splitVariantProps(props);
|
3721
|
+
const styles = recipe(recipeProps);
|
3722
|
+
return /* @__PURE__ */ jsxRuntime.jsx(react.Box, { css: styles, ...restProps, ref });
|
3723
|
+
}
|
3724
|
+
);
|
3725
|
+
StaticCard.displayName = "StaticCard";
|
3726
|
+
var icons = {
|
3727
|
+
"local-train": {
|
3728
|
+
sm: sporIconReact.TrainFill18Icon,
|
3729
|
+
md: sporIconReact.TrainFill24Icon,
|
3730
|
+
lg: sporIconReact.TrainFill30Icon
|
3995
3731
|
},
|
3996
3732
|
"region-train": {
|
3997
3733
|
sm: sporIconReact.TrainFill18Icon,
|
@@ -5544,6 +5280,47 @@ var Table = React28.forwardRef((props, ref) => {
|
|
5544
5280
|
);
|
5545
5281
|
});
|
5546
5282
|
Table.displayName = "Table";
|
5283
|
+
var attachedInputsRecipe = react.defineRecipe({
|
5284
|
+
base: {
|
5285
|
+
display: "flex",
|
5286
|
+
gap: "0.1rem",
|
5287
|
+
width: "100%",
|
5288
|
+
"& select": {
|
5289
|
+
borderEndRadius: 0
|
5290
|
+
}
|
5291
|
+
},
|
5292
|
+
variants: {
|
5293
|
+
orientation: {
|
5294
|
+
horizontal: {
|
5295
|
+
flexDirection: "row",
|
5296
|
+
"& > *:first-of-type:not(:last-of-type) [data-attachable]": {
|
5297
|
+
borderEndRadius: 0
|
5298
|
+
},
|
5299
|
+
"& > *:not(:first-of-type):not(:last-of-type) [data-attachable]": {
|
5300
|
+
borderRadius: 0
|
5301
|
+
},
|
5302
|
+
"& > *:not(:first-of-type):last-of-type [data-attachable]": {
|
5303
|
+
borderStartRadius: 0
|
5304
|
+
}
|
5305
|
+
},
|
5306
|
+
vertical: {
|
5307
|
+
flexDirection: "column",
|
5308
|
+
"& > *:first-of-type:not(:last-of-type) [data-attachable]": {
|
5309
|
+
borderBottomRadius: 0
|
5310
|
+
},
|
5311
|
+
"& > *:not(:first-of-type):not(:last-of-type) [data-attachable]": {
|
5312
|
+
borderRadius: 0
|
5313
|
+
},
|
5314
|
+
"& > *:not(:first-of-type):last-of-type [data-attachable]": {
|
5315
|
+
borderTopRadius: 0
|
5316
|
+
}
|
5317
|
+
}
|
5318
|
+
}
|
5319
|
+
},
|
5320
|
+
defaultVariants: {
|
5321
|
+
orientation: "horizontal"
|
5322
|
+
}
|
5323
|
+
});
|
5547
5324
|
var buttonRecipe = react.defineRecipe({
|
5548
5325
|
className: "spor-button",
|
5549
5326
|
base: {
|
@@ -5707,6 +5484,106 @@ var closeButtonRecipe = react.defineRecipe({
|
|
5707
5484
|
}
|
5708
5485
|
}
|
5709
5486
|
});
|
5487
|
+
var groupRecipe = react.defineRecipe({
|
5488
|
+
className: "spor-group",
|
5489
|
+
base: {
|
5490
|
+
fontSize: "lg"
|
5491
|
+
},
|
5492
|
+
variants: {
|
5493
|
+
disabled: {
|
5494
|
+
true: {
|
5495
|
+
"& > *": {
|
5496
|
+
pointerEvents: "none",
|
5497
|
+
backgroundColor: "surface.disabled",
|
5498
|
+
color: "text.disabled"
|
5499
|
+
}
|
5500
|
+
}
|
5501
|
+
}
|
5502
|
+
}
|
5503
|
+
});
|
5504
|
+
var inputRecipe = react.defineRecipe({
|
5505
|
+
base: {
|
5506
|
+
appearance: "none",
|
5507
|
+
width: "100%",
|
5508
|
+
outline: "none",
|
5509
|
+
border: 0,
|
5510
|
+
borderRadius: "sm",
|
5511
|
+
transitionProperty: "common",
|
5512
|
+
transitionDuration: "fast",
|
5513
|
+
color: "text",
|
5514
|
+
position: "relative",
|
5515
|
+
paddingX: 3,
|
5516
|
+
paddingTop: 3,
|
5517
|
+
height: 8,
|
5518
|
+
fontSize: "mobile.md",
|
5519
|
+
_disabled: {
|
5520
|
+
backgroundColor: "surface.disabled",
|
5521
|
+
outline: "1px solid",
|
5522
|
+
outlineColor: "outline.disabled",
|
5523
|
+
pointerEvents: "none"
|
5524
|
+
},
|
5525
|
+
_invalid: {
|
5526
|
+
outline: "2px solid",
|
5527
|
+
outlineColor: "outline.error",
|
5528
|
+
_active: {
|
5529
|
+
outline: "2px solid",
|
5530
|
+
outlineColor: "outline.error"
|
5531
|
+
},
|
5532
|
+
_focus: {
|
5533
|
+
outline: "2px solid",
|
5534
|
+
outlineColor: "outline.error"
|
5535
|
+
},
|
5536
|
+
_hover: {
|
5537
|
+
outline: "2px solid",
|
5538
|
+
outlineColor: "core.outline"
|
5539
|
+
}
|
5540
|
+
}
|
5541
|
+
},
|
5542
|
+
variants: {
|
5543
|
+
variant: {
|
5544
|
+
core: {
|
5545
|
+
backgroundColor: "transparent",
|
5546
|
+
outline: "1px solid",
|
5547
|
+
outlineColor: "core.outline",
|
5548
|
+
_hover: {
|
5549
|
+
outline: "2px solid",
|
5550
|
+
outlineColor: "core.outline.hover",
|
5551
|
+
_active: {
|
5552
|
+
outline: "1px solid",
|
5553
|
+
outlineColor: "outline.disabled",
|
5554
|
+
backgroundColor: "core.surface.active"
|
5555
|
+
}
|
5556
|
+
},
|
5557
|
+
_focus: {
|
5558
|
+
outline: "2px solid",
|
5559
|
+
outlineColor: "outline.focus"
|
5560
|
+
}
|
5561
|
+
},
|
5562
|
+
floating: {
|
5563
|
+
boxShadow: "sm",
|
5564
|
+
bg: "floating.surface",
|
5565
|
+
outline: "1px solid",
|
5566
|
+
outlineColor: "floating.outline",
|
5567
|
+
_hover: {
|
5568
|
+
outline: "1px solid",
|
5569
|
+
outlineColor: "floating.outline.hover"
|
5570
|
+
},
|
5571
|
+
_active: {
|
5572
|
+
outline: "1px solid",
|
5573
|
+
outlineColor: "floating.outline.active",
|
5574
|
+
backgroundColor: "floating.surface.active"
|
5575
|
+
},
|
5576
|
+
focus: {
|
5577
|
+
outline: "1px solid",
|
5578
|
+
outlineColor: "outline.focus"
|
5579
|
+
}
|
5580
|
+
}
|
5581
|
+
}
|
5582
|
+
},
|
5583
|
+
defaultVariants: {
|
5584
|
+
variant: "core"
|
5585
|
+
}
|
5586
|
+
});
|
5710
5587
|
var linkRecipe = react.defineRecipe({
|
5711
5588
|
base: {
|
5712
5589
|
transitionProperty: "common",
|
@@ -5785,6 +5662,93 @@ var linkRecipe = react.defineRecipe({
|
|
5785
5662
|
size: "sm"
|
5786
5663
|
}
|
5787
5664
|
});
|
5665
|
+
|
5666
|
+
// src/util/slugify.tsx
|
5667
|
+
function slugify(text, maxLength = 50) {
|
5668
|
+
if (!text) {
|
5669
|
+
return text;
|
5670
|
+
}
|
5671
|
+
if (Array.isArray(text)) {
|
5672
|
+
text = text.join(" ");
|
5673
|
+
}
|
5674
|
+
if (maxLength < 1) {
|
5675
|
+
throw new Error("The maxLength parameter must be a positive number");
|
5676
|
+
}
|
5677
|
+
return text.normalize("NFD").replaceAll(/[\u0300-\u036F]/g, "").replaceAll(/[\u00C6\u00E6]/g, "ae").replaceAll(/[\u00D8\u00F8]/g, "oe").replaceAll(/[\u00C5\u00E5]/g, "aa").toLowerCase().replaceAll(/\s+/g, "-").replaceAll(/[^\w-]+/g, "").replaceAll(/--+/g, "-").replace(/^-+/, "").replace(/-+$/, "").slice(0, Math.max(0, maxLength));
|
5678
|
+
}
|
5679
|
+
|
5680
|
+
// src/theme/recipes/pressable-card.ts
|
5681
|
+
var pressableCardRecipe = react.defineRecipe({
|
5682
|
+
base: {
|
5683
|
+
appearance: "none",
|
5684
|
+
border: "none",
|
5685
|
+
overflow: "hidden",
|
5686
|
+
fontSize: "inherit",
|
5687
|
+
display: "block",
|
5688
|
+
borderRadius: "md",
|
5689
|
+
cursor: "pointer",
|
5690
|
+
transitionProperty: "common",
|
5691
|
+
transitionDuration: "fast",
|
5692
|
+
_disabled: {
|
5693
|
+
outline: "none",
|
5694
|
+
pointerEvents: "none",
|
5695
|
+
background: "surface.disabled",
|
5696
|
+
color: "text.disabled"
|
5697
|
+
}
|
5698
|
+
},
|
5699
|
+
variants: {
|
5700
|
+
variant: {
|
5701
|
+
floating: {
|
5702
|
+
boxShadow: "0px 1px 3px 0px var(--shadow-color)",
|
5703
|
+
shadowColor: "surface.disabled",
|
5704
|
+
border: "sm",
|
5705
|
+
borderColor: "floating.outline",
|
5706
|
+
backgroundColor: "floating.surface",
|
5707
|
+
_hover: {
|
5708
|
+
boxShadow: "0px 2px 6px 0px var(--shadow-color)",
|
5709
|
+
backgroundColor: "floating.surface.hover",
|
5710
|
+
borderColor: "floating.outline.hover",
|
5711
|
+
_active: {
|
5712
|
+
boxShadow: "none",
|
5713
|
+
backgroundColor: "floating.surface.active",
|
5714
|
+
borderColor: "floating.outline.active"
|
5715
|
+
}
|
5716
|
+
}
|
5717
|
+
},
|
5718
|
+
core: {
|
5719
|
+
outlineColor: "core.outline",
|
5720
|
+
outlineWidth: tokens23__namespace.default.size.stroke.sm,
|
5721
|
+
outlineStyle: "solid",
|
5722
|
+
backgroundColor: "core.surface",
|
5723
|
+
_hover: {
|
5724
|
+
outlineColor: "core.outline.hover",
|
5725
|
+
outlineWidth: tokens23__namespace.default.size.stroke.md,
|
5726
|
+
outlineStyle: "solid",
|
5727
|
+
_active: {
|
5728
|
+
backgroundColor: "core.surface.active",
|
5729
|
+
outlineWidth: tokens23__namespace.default.size.stroke.sm
|
5730
|
+
}
|
5731
|
+
}
|
5732
|
+
},
|
5733
|
+
accent: {
|
5734
|
+
boxShadow: "0px 1px 3px 0px var(--shadow-color)",
|
5735
|
+
shadowColor: "surface.disabled",
|
5736
|
+
background: "alert.success.surface",
|
5737
|
+
_hover: {
|
5738
|
+
background: "alert.success.surface.hover",
|
5739
|
+
boxShadow: "0px 2px 6px 0px var(--shadow-color)",
|
5740
|
+
_active: {
|
5741
|
+
background: "alert.success.surface.active",
|
5742
|
+
boxShadow: "none"
|
5743
|
+
}
|
5744
|
+
}
|
5745
|
+
}
|
5746
|
+
}
|
5747
|
+
},
|
5748
|
+
defaultVariants: {
|
5749
|
+
variant: "core"
|
5750
|
+
}
|
5751
|
+
});
|
5788
5752
|
var separatorRecipe = react.defineRecipe({
|
5789
5753
|
className: "spor-separator",
|
5790
5754
|
base: {
|
@@ -5918,6 +5882,43 @@ var skeletonRecipe = react.defineRecipe({
|
|
5918
5882
|
}
|
5919
5883
|
}
|
5920
5884
|
});
|
5885
|
+
var staticCardRecipe = react.defineRecipe({
|
5886
|
+
base: {
|
5887
|
+
borderRadius: "md"
|
5888
|
+
},
|
5889
|
+
variants: {
|
5890
|
+
colorPalette: {
|
5891
|
+
white: {
|
5892
|
+
backgroundColor: "surface.color.neutral",
|
5893
|
+
color: "text"
|
5894
|
+
},
|
5895
|
+
grey: {
|
5896
|
+
backgroundColor: "surface.color.grey"
|
5897
|
+
},
|
5898
|
+
yellow: {
|
5899
|
+
backgroundColor: "surface.color.cream"
|
5900
|
+
},
|
5901
|
+
darkYellow: {
|
5902
|
+
backgroundColor: "surface.color.yellow"
|
5903
|
+
},
|
5904
|
+
red: {
|
5905
|
+
backgroundColor: "surface.color.red"
|
5906
|
+
},
|
5907
|
+
green: {
|
5908
|
+
backgroundColor: "surface.color.green"
|
5909
|
+
},
|
5910
|
+
blue: {
|
5911
|
+
backgroundColor: "surface.color.blue"
|
5912
|
+
},
|
5913
|
+
orange: {
|
5914
|
+
backgroundColor: "surface.color.orange"
|
5915
|
+
}
|
5916
|
+
}
|
5917
|
+
},
|
5918
|
+
defaultVariants: {
|
5919
|
+
colorPalette: "white"
|
5920
|
+
}
|
5921
|
+
});
|
5921
5922
|
var _a2, _b;
|
5922
5923
|
var textareaRecipe = react.defineRecipe({
|
5923
5924
|
className: "spor-textarea",
|
@@ -5949,6 +5950,7 @@ var recipes = {
|
|
5949
5950
|
attachedInputs: attachedInputsRecipe,
|
5950
5951
|
badge: badgeRecipie,
|
5951
5952
|
button: buttonRecipe,
|
5953
|
+
buttonGroup: groupRecipe,
|
5952
5954
|
closeButton: closeButtonRecipe,
|
5953
5955
|
code: codeRecipie,
|
5954
5956
|
input: inputRecipe,
|
@@ -6952,6 +6954,23 @@ var choiceChipSlotRecipe = react.defineSlotRecipe({
|
|
6952
6954
|
chipType: "choice"
|
6953
6955
|
}
|
6954
6956
|
});
|
6957
|
+
var collapsibleSlotRecipe = react.defineSlotRecipe({
|
6958
|
+
slots: collapsible.collapsibleAnatomy.keys(),
|
6959
|
+
className: "chakra-collapsible",
|
6960
|
+
base: {
|
6961
|
+
content: {
|
6962
|
+
overflow: "hidden",
|
6963
|
+
_open: {
|
6964
|
+
animationName: "expand-height, fade-in",
|
6965
|
+
animationDuration: "moderate"
|
6966
|
+
},
|
6967
|
+
_closed: {
|
6968
|
+
animationName: "collapse-height, fade-out",
|
6969
|
+
animationDuration: "moderate"
|
6970
|
+
}
|
6971
|
+
}
|
6972
|
+
}
|
6973
|
+
});
|
6955
6974
|
var datePickerSlotRecipe = react.defineSlotRecipe({
|
6956
6975
|
slots: datepickerAnatomy.keys(),
|
6957
6976
|
className: "spor-datepicker",
|
@@ -9739,7 +9758,8 @@ var slotRecipes = {
|
|
9739
9758
|
tabs: tabsSlotRecipe,
|
9740
9759
|
travelTag: travelTagSlotRecipe,
|
9741
9760
|
toast: toastSlotRecipe,
|
9742
|
-
checkboxCard: choiceChipSlotRecipe
|
9761
|
+
checkboxCard: choiceChipSlotRecipe,
|
9762
|
+
collapsible: collapsibleSlotRecipe
|
9743
9763
|
};
|
9744
9764
|
var animations = react.defineTokens.animations({
|
9745
9765
|
spin: {
|