@vygruppen/spor-react 12.7.0 → 12.8.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/.turbo/turbo-postinstall.log +1 -1
- package/CHANGELOG.md +13 -0
- package/dist/index.cjs +332 -309
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +102 -4
- package/dist/index.d.ts +102 -4
- package/dist/index.mjs +333 -310
- package/dist/index.mjs.map +1 -1
- package/package.json +3 -3
- package/src/button/ButtonGroup.tsx +5 -15
- package/src/dialog/Dialog.tsx +1 -1
- package/src/input/AttachedInputs.tsx +6 -4
- package/src/input/Combobox.tsx +5 -4
- package/src/input/CountryCodeSelect.tsx +1 -1
- package/src/input/Field.tsx +1 -1
- package/src/input/Input.tsx +9 -8
- package/src/input/Select.tsx +3 -2
- 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/src/theme/slot-recipes/select.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";
|
@@ -1419,7 +1394,7 @@ var Field3 = React28__namespace.forwardRef(
|
|
1419
1394
|
} = props;
|
1420
1395
|
const recipe = react.useSlotRecipe({ key: "field" });
|
1421
1396
|
const styles = recipe();
|
1422
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(react.Stack, { gap: "2", ref, ...rest, children: [
|
1397
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(react.Stack, { gap: "2", ref, width: "100%", ...rest, children: [
|
1423
1398
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
1424
1399
|
react.Field.Root,
|
1425
1400
|
{
|
@@ -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";
|
@@ -2662,10 +2598,10 @@ var Combobox = (props) => {
|
|
2662
2598
|
loading,
|
2663
2599
|
leftIcon,
|
2664
2600
|
rightIcon,
|
2665
|
-
borderBottomLeftRadius
|
2666
|
-
borderBottomRightRadius
|
2667
|
-
borderTopLeftRadius
|
2668
|
-
borderTopRightRadius
|
2601
|
+
borderBottomLeftRadius,
|
2602
|
+
borderBottomRightRadius,
|
2603
|
+
borderTopLeftRadius,
|
2604
|
+
borderTopRightRadius,
|
2669
2605
|
marginBottom,
|
2670
2606
|
marginTop,
|
2671
2607
|
marginX,
|
@@ -2764,7 +2700,8 @@ var Combobox = (props) => {
|
|
2764
2700
|
}
|
2765
2701
|
}
|
2766
2702
|
) : rightIcon,
|
2767
|
-
placeholder: ""
|
2703
|
+
placeholder: "",
|
2704
|
+
"data-attachable": true
|
2768
2705
|
}
|
2769
2706
|
),
|
2770
2707
|
/* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": "true", "data-trigger": "multiselect" }),
|
@@ -2833,90 +2770,6 @@ var FieldsetLegend = react.Fieldset.Legend;
|
|
2833
2770
|
var FieldsetContent = react.Fieldset.Content;
|
2834
2771
|
var FieldsetHelperText = react.Fieldset.HelperText;
|
2835
2772
|
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
2773
|
var Input = React28.forwardRef(
|
2921
2774
|
({
|
2922
2775
|
startElement,
|
@@ -2927,6 +2780,9 @@ var Input = React28.forwardRef(
|
|
2927
2780
|
errorText,
|
2928
2781
|
...props
|
2929
2782
|
}, ref) => {
|
2783
|
+
const recipe = react.useRecipe({ key: "input" });
|
2784
|
+
const [recipeProps, restProps] = recipe.splitVariantProps(props);
|
2785
|
+
const styles = recipe(recipeProps);
|
2930
2786
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
2931
2787
|
Field3,
|
2932
2788
|
{
|
@@ -2944,7 +2800,7 @@ var Input = React28.forwardRef(
|
|
2944
2800
|
children: [
|
2945
2801
|
startElement && /* @__PURE__ */ jsxRuntime.jsx(react.InputElement, { pointerEvents: "none", paddingX: 2, children: startElement }),
|
2946
2802
|
/* @__PURE__ */ jsxRuntime.jsx(
|
2947
|
-
|
2803
|
+
react.Input,
|
2948
2804
|
{
|
2949
2805
|
"data-attachable": true,
|
2950
2806
|
ref,
|
@@ -2952,9 +2808,10 @@ var Input = React28.forwardRef(
|
|
2952
2808
|
overflow: "hidden",
|
2953
2809
|
paddingLeft: startElement ? "2.6rem" : void 0,
|
2954
2810
|
paddingRight: endElement ? "2.6rem" : void 0,
|
2955
|
-
...
|
2811
|
+
...restProps,
|
2956
2812
|
className: `peer ${props.className}`,
|
2957
|
-
placeholder: ""
|
2813
|
+
placeholder: "",
|
2814
|
+
css: styles
|
2958
2815
|
}
|
2959
2816
|
),
|
2960
2817
|
endElement && /* @__PURE__ */ jsxRuntime.jsx(react.InputElement, { placement: "end", paddingX: 2, children: endElement })
|
@@ -3418,7 +3275,7 @@ var CountryCodeSelect = React28.forwardRef((props, ref) => {
|
|
3418
3275
|
collection: callingCodes,
|
3419
3276
|
lazyMount: true,
|
3420
3277
|
"aria-label": t(texts15.countryCode),
|
3421
|
-
|
3278
|
+
sideRadiusVariant: "rightSideSquare",
|
3422
3279
|
children: callingCodes.items.map((code) => /* @__PURE__ */ jsxRuntime.jsx(SelectItem, { as: "option", item: code, children: code.label }, code.label))
|
3423
3280
|
}
|
3424
3281
|
);
|
@@ -3790,97 +3647,12 @@ var Textarea = React28.forwardRef(
|
|
3790
3647
|
}
|
3791
3648
|
);
|
3792
3649
|
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
3650
|
var PressableCard = React28.forwardRef(
|
3882
3651
|
(props, ref) => {
|
3883
|
-
|
3652
|
+
const recipe = react.useRecipe({ key: "pressableCard" });
|
3653
|
+
const [recipeProps, restProps] = recipe.splitVariantProps(props);
|
3654
|
+
const styles = recipe(recipeProps);
|
3655
|
+
return /* @__PURE__ */ jsxRuntime.jsx(react.chakra.button, { ...restProps, css: styles, ref });
|
3884
3656
|
}
|
3885
3657
|
);
|
3886
3658
|
PressableCard.displayName = "PressableCard";
|
@@ -3943,55 +3715,20 @@ var Separator = React28.forwardRef(
|
|
3943
3715
|
}
|
3944
3716
|
);
|
3945
3717
|
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
|
3718
|
+
var StaticCard = React28.forwardRef(
|
3719
|
+
(props, ref) => {
|
3720
|
+
const recipe = react.useRecipe({ key: "staticCard" });
|
3721
|
+
const [recipeProps, restProps] = recipe.splitVariantProps(props);
|
3722
|
+
const styles = recipe(recipeProps);
|
3723
|
+
return /* @__PURE__ */ jsxRuntime.jsx(react.Box, { css: styles, ...restProps, ref });
|
3724
|
+
}
|
3725
|
+
);
|
3726
|
+
StaticCard.displayName = "StaticCard";
|
3727
|
+
var icons = {
|
3728
|
+
"local-train": {
|
3729
|
+
sm: sporIconReact.TrainFill18Icon,
|
3730
|
+
md: sporIconReact.TrainFill24Icon,
|
3731
|
+
lg: sporIconReact.TrainFill30Icon
|
3995
3732
|
},
|
3996
3733
|
"region-train": {
|
3997
3734
|
sm: sporIconReact.TrainFill18Icon,
|
@@ -5544,6 +5281,47 @@ var Table = React28.forwardRef((props, ref) => {
|
|
5544
5281
|
);
|
5545
5282
|
});
|
5546
5283
|
Table.displayName = "Table";
|
5284
|
+
var attachedInputsRecipe = react.defineRecipe({
|
5285
|
+
base: {
|
5286
|
+
display: "flex",
|
5287
|
+
gap: "0.1rem",
|
5288
|
+
width: "100%",
|
5289
|
+
"& select": {
|
5290
|
+
borderEndRadius: 0
|
5291
|
+
}
|
5292
|
+
},
|
5293
|
+
variants: {
|
5294
|
+
orientation: {
|
5295
|
+
horizontal: {
|
5296
|
+
flexDirection: "row",
|
5297
|
+
"& > *:first-of-type:not(:last-of-type) [data-attachable]": {
|
5298
|
+
borderEndRadius: 0
|
5299
|
+
},
|
5300
|
+
"& > *:not(:first-of-type):not(:last-of-type) [data-attachable]": {
|
5301
|
+
borderRadius: 0
|
5302
|
+
},
|
5303
|
+
"& > *:not(:first-of-type):last-of-type [data-attachable]": {
|
5304
|
+
borderStartRadius: 0
|
5305
|
+
}
|
5306
|
+
},
|
5307
|
+
vertical: {
|
5308
|
+
flexDirection: "column",
|
5309
|
+
"& > *:first-of-type:not(:last-of-type) [data-attachable]": {
|
5310
|
+
borderBottomRadius: 0
|
5311
|
+
},
|
5312
|
+
"& > *:not(:first-of-type):not(:last-of-type) [data-attachable]": {
|
5313
|
+
borderRadius: 0
|
5314
|
+
},
|
5315
|
+
"& > *:not(:first-of-type):last-of-type [data-attachable]": {
|
5316
|
+
borderTopRadius: 0
|
5317
|
+
}
|
5318
|
+
}
|
5319
|
+
}
|
5320
|
+
},
|
5321
|
+
defaultVariants: {
|
5322
|
+
orientation: "horizontal"
|
5323
|
+
}
|
5324
|
+
});
|
5547
5325
|
var buttonRecipe = react.defineRecipe({
|
5548
5326
|
className: "spor-button",
|
5549
5327
|
base: {
|
@@ -5707,6 +5485,106 @@ var closeButtonRecipe = react.defineRecipe({
|
|
5707
5485
|
}
|
5708
5486
|
}
|
5709
5487
|
});
|
5488
|
+
var groupRecipe = react.defineRecipe({
|
5489
|
+
className: "spor-group",
|
5490
|
+
base: {
|
5491
|
+
fontSize: "lg"
|
5492
|
+
},
|
5493
|
+
variants: {
|
5494
|
+
disabled: {
|
5495
|
+
true: {
|
5496
|
+
"& > *": {
|
5497
|
+
pointerEvents: "none",
|
5498
|
+
backgroundColor: "surface.disabled",
|
5499
|
+
color: "text.disabled"
|
5500
|
+
}
|
5501
|
+
}
|
5502
|
+
}
|
5503
|
+
}
|
5504
|
+
});
|
5505
|
+
var inputRecipe = react.defineRecipe({
|
5506
|
+
base: {
|
5507
|
+
appearance: "none",
|
5508
|
+
width: "100%",
|
5509
|
+
outline: "none",
|
5510
|
+
border: 0,
|
5511
|
+
borderRadius: "sm",
|
5512
|
+
transitionProperty: "common",
|
5513
|
+
transitionDuration: "fast",
|
5514
|
+
color: "text",
|
5515
|
+
position: "relative",
|
5516
|
+
paddingX: 3,
|
5517
|
+
paddingTop: 3,
|
5518
|
+
height: 8,
|
5519
|
+
fontSize: "mobile.md",
|
5520
|
+
_disabled: {
|
5521
|
+
backgroundColor: "surface.disabled",
|
5522
|
+
outline: "1px solid",
|
5523
|
+
outlineColor: "outline.disabled",
|
5524
|
+
pointerEvents: "none"
|
5525
|
+
},
|
5526
|
+
_invalid: {
|
5527
|
+
outline: "2px solid",
|
5528
|
+
outlineColor: "outline.error",
|
5529
|
+
_active: {
|
5530
|
+
outline: "2px solid",
|
5531
|
+
outlineColor: "outline.error"
|
5532
|
+
},
|
5533
|
+
_focus: {
|
5534
|
+
outline: "2px solid",
|
5535
|
+
outlineColor: "outline.error"
|
5536
|
+
},
|
5537
|
+
_hover: {
|
5538
|
+
outline: "2px solid",
|
5539
|
+
outlineColor: "core.outline"
|
5540
|
+
}
|
5541
|
+
}
|
5542
|
+
},
|
5543
|
+
variants: {
|
5544
|
+
variant: {
|
5545
|
+
core: {
|
5546
|
+
backgroundColor: "transparent",
|
5547
|
+
outline: "1px solid",
|
5548
|
+
outlineColor: "core.outline",
|
5549
|
+
_hover: {
|
5550
|
+
outline: "2px solid",
|
5551
|
+
outlineColor: "core.outline.hover",
|
5552
|
+
_active: {
|
5553
|
+
outline: "1px solid",
|
5554
|
+
outlineColor: "outline.disabled",
|
5555
|
+
backgroundColor: "core.surface.active"
|
5556
|
+
}
|
5557
|
+
},
|
5558
|
+
_focus: {
|
5559
|
+
outline: "2px solid",
|
5560
|
+
outlineColor: "outline.focus"
|
5561
|
+
}
|
5562
|
+
},
|
5563
|
+
floating: {
|
5564
|
+
boxShadow: "sm",
|
5565
|
+
bg: "floating.surface",
|
5566
|
+
outline: "1px solid",
|
5567
|
+
outlineColor: "floating.outline",
|
5568
|
+
_hover: {
|
5569
|
+
outline: "1px solid",
|
5570
|
+
outlineColor: "floating.outline.hover"
|
5571
|
+
},
|
5572
|
+
_active: {
|
5573
|
+
outline: "1px solid",
|
5574
|
+
outlineColor: "floating.outline.active",
|
5575
|
+
backgroundColor: "floating.surface.active"
|
5576
|
+
},
|
5577
|
+
focus: {
|
5578
|
+
outline: "1px solid",
|
5579
|
+
outlineColor: "outline.focus"
|
5580
|
+
}
|
5581
|
+
}
|
5582
|
+
}
|
5583
|
+
},
|
5584
|
+
defaultVariants: {
|
5585
|
+
variant: "core"
|
5586
|
+
}
|
5587
|
+
});
|
5710
5588
|
var linkRecipe = react.defineRecipe({
|
5711
5589
|
base: {
|
5712
5590
|
transitionProperty: "common",
|
@@ -5785,6 +5663,93 @@ var linkRecipe = react.defineRecipe({
|
|
5785
5663
|
size: "sm"
|
5786
5664
|
}
|
5787
5665
|
});
|
5666
|
+
|
5667
|
+
// src/util/slugify.tsx
|
5668
|
+
function slugify(text, maxLength = 50) {
|
5669
|
+
if (!text) {
|
5670
|
+
return text;
|
5671
|
+
}
|
5672
|
+
if (Array.isArray(text)) {
|
5673
|
+
text = text.join(" ");
|
5674
|
+
}
|
5675
|
+
if (maxLength < 1) {
|
5676
|
+
throw new Error("The maxLength parameter must be a positive number");
|
5677
|
+
}
|
5678
|
+
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));
|
5679
|
+
}
|
5680
|
+
|
5681
|
+
// src/theme/recipes/pressable-card.ts
|
5682
|
+
var pressableCardRecipe = react.defineRecipe({
|
5683
|
+
base: {
|
5684
|
+
appearance: "none",
|
5685
|
+
border: "none",
|
5686
|
+
overflow: "hidden",
|
5687
|
+
fontSize: "inherit",
|
5688
|
+
display: "block",
|
5689
|
+
borderRadius: "md",
|
5690
|
+
cursor: "pointer",
|
5691
|
+
transitionProperty: "common",
|
5692
|
+
transitionDuration: "fast",
|
5693
|
+
_disabled: {
|
5694
|
+
outline: "none",
|
5695
|
+
pointerEvents: "none",
|
5696
|
+
background: "surface.disabled",
|
5697
|
+
color: "text.disabled"
|
5698
|
+
}
|
5699
|
+
},
|
5700
|
+
variants: {
|
5701
|
+
variant: {
|
5702
|
+
floating: {
|
5703
|
+
boxShadow: "0px 1px 3px 0px var(--shadow-color)",
|
5704
|
+
shadowColor: "surface.disabled",
|
5705
|
+
border: "sm",
|
5706
|
+
borderColor: "floating.outline",
|
5707
|
+
backgroundColor: "floating.surface",
|
5708
|
+
_hover: {
|
5709
|
+
boxShadow: "0px 2px 6px 0px var(--shadow-color)",
|
5710
|
+
backgroundColor: "floating.surface.hover",
|
5711
|
+
borderColor: "floating.outline.hover",
|
5712
|
+
_active: {
|
5713
|
+
boxShadow: "none",
|
5714
|
+
backgroundColor: "floating.surface.active",
|
5715
|
+
borderColor: "floating.outline.active"
|
5716
|
+
}
|
5717
|
+
}
|
5718
|
+
},
|
5719
|
+
core: {
|
5720
|
+
outlineColor: "core.outline",
|
5721
|
+
outlineWidth: tokens23__namespace.default.size.stroke.sm,
|
5722
|
+
outlineStyle: "solid",
|
5723
|
+
backgroundColor: "core.surface",
|
5724
|
+
_hover: {
|
5725
|
+
outlineColor: "core.outline.hover",
|
5726
|
+
outlineWidth: tokens23__namespace.default.size.stroke.md,
|
5727
|
+
outlineStyle: "solid",
|
5728
|
+
_active: {
|
5729
|
+
backgroundColor: "core.surface.active",
|
5730
|
+
outlineWidth: tokens23__namespace.default.size.stroke.sm
|
5731
|
+
}
|
5732
|
+
}
|
5733
|
+
},
|
5734
|
+
accent: {
|
5735
|
+
boxShadow: "0px 1px 3px 0px var(--shadow-color)",
|
5736
|
+
shadowColor: "surface.disabled",
|
5737
|
+
background: "alert.success.surface",
|
5738
|
+
_hover: {
|
5739
|
+
background: "alert.success.surface.hover",
|
5740
|
+
boxShadow: "0px 2px 6px 0px var(--shadow-color)",
|
5741
|
+
_active: {
|
5742
|
+
background: "alert.success.surface.active",
|
5743
|
+
boxShadow: "none"
|
5744
|
+
}
|
5745
|
+
}
|
5746
|
+
}
|
5747
|
+
}
|
5748
|
+
},
|
5749
|
+
defaultVariants: {
|
5750
|
+
variant: "core"
|
5751
|
+
}
|
5752
|
+
});
|
5788
5753
|
var separatorRecipe = react.defineRecipe({
|
5789
5754
|
className: "spor-separator",
|
5790
5755
|
base: {
|
@@ -5918,6 +5883,43 @@ var skeletonRecipe = react.defineRecipe({
|
|
5918
5883
|
}
|
5919
5884
|
}
|
5920
5885
|
});
|
5886
|
+
var staticCardRecipe = react.defineRecipe({
|
5887
|
+
base: {
|
5888
|
+
borderRadius: "md"
|
5889
|
+
},
|
5890
|
+
variants: {
|
5891
|
+
colorPalette: {
|
5892
|
+
white: {
|
5893
|
+
backgroundColor: "surface.color.neutral",
|
5894
|
+
color: "text"
|
5895
|
+
},
|
5896
|
+
grey: {
|
5897
|
+
backgroundColor: "surface.color.grey"
|
5898
|
+
},
|
5899
|
+
yellow: {
|
5900
|
+
backgroundColor: "surface.color.cream"
|
5901
|
+
},
|
5902
|
+
darkYellow: {
|
5903
|
+
backgroundColor: "surface.color.yellow"
|
5904
|
+
},
|
5905
|
+
red: {
|
5906
|
+
backgroundColor: "surface.color.red"
|
5907
|
+
},
|
5908
|
+
green: {
|
5909
|
+
backgroundColor: "surface.color.green"
|
5910
|
+
},
|
5911
|
+
blue: {
|
5912
|
+
backgroundColor: "surface.color.blue"
|
5913
|
+
},
|
5914
|
+
orange: {
|
5915
|
+
backgroundColor: "surface.color.orange"
|
5916
|
+
}
|
5917
|
+
}
|
5918
|
+
},
|
5919
|
+
defaultVariants: {
|
5920
|
+
colorPalette: "white"
|
5921
|
+
}
|
5922
|
+
});
|
5921
5923
|
var _a2, _b;
|
5922
5924
|
var textareaRecipe = react.defineRecipe({
|
5923
5925
|
className: "spor-textarea",
|
@@ -5949,6 +5951,7 @@ var recipes = {
|
|
5949
5951
|
attachedInputs: attachedInputsRecipe,
|
5950
5952
|
badge: badgeRecipie,
|
5951
5953
|
button: buttonRecipe,
|
5954
|
+
buttonGroup: groupRecipe,
|
5952
5955
|
closeButton: closeButtonRecipe,
|
5953
5956
|
code: codeRecipie,
|
5954
5957
|
input: inputRecipe,
|
@@ -6952,6 +6955,23 @@ var choiceChipSlotRecipe = react.defineSlotRecipe({
|
|
6952
6955
|
chipType: "choice"
|
6953
6956
|
}
|
6954
6957
|
});
|
6958
|
+
var collapsibleSlotRecipe = react.defineSlotRecipe({
|
6959
|
+
slots: collapsible.collapsibleAnatomy.keys(),
|
6960
|
+
className: "chakra-collapsible",
|
6961
|
+
base: {
|
6962
|
+
content: {
|
6963
|
+
overflow: "hidden",
|
6964
|
+
_open: {
|
6965
|
+
animationName: "expand-height, fade-in",
|
6966
|
+
animationDuration: "moderate"
|
6967
|
+
},
|
6968
|
+
_closed: {
|
6969
|
+
animationName: "collapse-height, fade-out",
|
6970
|
+
animationDuration: "moderate"
|
6971
|
+
}
|
6972
|
+
}
|
6973
|
+
}
|
6974
|
+
});
|
6955
6975
|
var datePickerSlotRecipe = react.defineSlotRecipe({
|
6956
6976
|
slots: datepickerAnatomy.keys(),
|
6957
6977
|
className: "spor-datepicker",
|
@@ -9042,7 +9062,9 @@ var selectSlotRecipe = react.defineSlotRecipe({
|
|
9042
9062
|
outline: "1px solid",
|
9043
9063
|
outlineColor: "floating.outline"
|
9044
9064
|
}
|
9045
|
-
}
|
9065
|
+
}
|
9066
|
+
},
|
9067
|
+
sideRadiusVariant: {
|
9046
9068
|
rightSideSquare: {
|
9047
9069
|
control: {
|
9048
9070
|
outline: "1px solid",
|
@@ -9739,7 +9761,8 @@ var slotRecipes = {
|
|
9739
9761
|
tabs: tabsSlotRecipe,
|
9740
9762
|
travelTag: travelTagSlotRecipe,
|
9741
9763
|
toast: toastSlotRecipe,
|
9742
|
-
checkboxCard: choiceChipSlotRecipe
|
9764
|
+
checkboxCard: choiceChipSlotRecipe,
|
9765
|
+
collapsible: collapsibleSlotRecipe
|
9743
9766
|
};
|
9744
9767
|
var animations = react.defineTokens.animations({
|
9745
9768
|
spin: {
|