@vkzstudio/muza-ui 1.0.46 → 1.0.48
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/Accordion/Accordion.d.ts +112 -18
- package/dist/components/Accordion/Accordion.d.ts.map +1 -1
- package/dist/components/Accordion/Accordion.js +219 -113
- package/dist/components/Accordion/Accordion.stories.d.ts +3 -0
- package/dist/components/Accordion/Accordion.stories.d.ts.map +1 -1
- package/dist/components/Alert/Alert.js +4 -4
- package/dist/components/ButtonArrow/ButtonArrow.stories.d.ts.map +1 -1
- package/dist/components/CardCheckboxAmount/CardCheckboxAmount.d.ts +111 -0
- package/dist/components/CardCheckboxAmount/CardCheckboxAmount.d.ts.map +1 -0
- package/dist/components/CardCheckboxAmount/CardCheckboxAmount.js +115 -0
- package/dist/components/CardCheckboxAmount/CardCheckboxAmount.stories.d.ts +13 -0
- package/dist/components/CardCheckboxAmount/CardCheckboxAmount.stories.d.ts.map +1 -0
- package/dist/components/CardCheckboxAmount/index.d.ts +2 -0
- package/dist/components/CardCheckboxAmount/index.d.ts.map +1 -0
- package/dist/components/Chip/Chip.d.ts.map +1 -1
- package/dist/components/Chip/Chip.js +6 -2
- package/dist/components/Chip/Chip.stories.d.ts.map +1 -1
- package/dist/components/DatePicker/DatePicker.d.ts.map +1 -1
- package/dist/components/DatePicker/DatePicker.js +10 -2
- package/dist/components/DatePicker/DatePicker.stories.d.ts.map +1 -1
- package/dist/components/DatePickerButton/DatePickerButton.d.ts +97 -0
- package/dist/components/DatePickerButton/DatePickerButton.d.ts.map +1 -0
- package/dist/components/DatePickerButton/DatePickerButton.js +329 -0
- package/dist/components/DatePickerButton/DatePickerButton.stories.d.ts +15 -0
- package/dist/components/DatePickerButton/DatePickerButton.stories.d.ts.map +1 -0
- package/dist/components/DatePickerButton/index.d.ts +2 -0
- package/dist/components/DatePickerButton/index.d.ts.map +1 -0
- package/dist/components/Dialog/Dialog.js +1 -1
- package/dist/components/Icons/CustomLogos.d.ts +18 -2
- package/dist/components/Icons/CustomLogos.d.ts.map +1 -1
- package/dist/components/Icons/CustomLogos.js +103 -97
- package/dist/components/Icons/LogosAndBadges.stories.d.ts +1 -0
- package/dist/components/Icons/LogosAndBadges.stories.d.ts.map +1 -1
- package/dist/components/LanguageSwitcher/LanguageSwitcher.d.ts +26 -1
- package/dist/components/LanguageSwitcher/LanguageSwitcher.d.ts.map +1 -1
- package/dist/components/LanguageSwitcher/LanguageSwitcher.js +86 -44
- package/dist/components/LanguageSwitcher/LanguageSwitcher.stories.d.ts +1 -0
- package/dist/components/LanguageSwitcher/LanguageSwitcher.stories.d.ts.map +1 -1
- package/dist/components/Popover/Popover.d.ts +8 -1
- package/dist/components/Popover/Popover.d.ts.map +1 -1
- package/dist/components/Popover/Popover.js +7 -6
- package/dist/components/SegmentedControl/SegmentedControl.stories.d.ts.map +1 -1
- package/dist/components/SegmentedIconControl/SegmentedIconControl.stories.d.ts.map +1 -1
- package/dist/components/TextEditor/TextEditor.d.ts.map +1 -1
- package/dist/components/TextEditor/TextEditor.js +12 -9
- package/dist/components/TextEditor/TextEditor.stories.d.ts.map +1 -1
- package/dist/components/Toggle/Toggle.stories.d.ts.map +1 -1
- package/dist/components/ToggleCheckButton/ToggleCheckButton.stories.d.ts.map +1 -1
- package/dist/components/ToggleGroup/ToggleGroup.stories.d.ts.map +1 -1
- package/dist/components/Typography/Typography.d.ts +10 -1
- package/dist/components/Typography/Typography.d.ts.map +1 -1
- package/dist/components/Typography/Typography.js +82 -67
- package/dist/components/Typography/Typography.stories.d.ts +1 -0
- package/dist/components/Typography/Typography.stories.d.ts.map +1 -1
- package/dist/components/TypographyLink/TypographyLink.d.ts +72 -0
- package/dist/components/TypographyLink/TypographyLink.d.ts.map +1 -0
- package/dist/components/TypographyLink/TypographyLink.js +103 -0
- package/dist/components/TypographyLink/TypographyLink.stories.d.ts +12 -0
- package/dist/components/TypographyLink/TypographyLink.stories.d.ts.map +1 -0
- package/dist/components/TypographyLink/index.d.ts +2 -0
- package/dist/components/TypographyLink/index.d.ts.map +1 -0
- package/dist/components/UniversalFooter/UniversalFooter.d.ts +198 -0
- package/dist/components/UniversalFooter/UniversalFooter.d.ts.map +1 -0
- package/dist/components/UniversalFooter/UniversalFooter.js +401 -0
- package/dist/components/UniversalFooter/UniversalFooter.stories.d.ts +19 -0
- package/dist/components/UniversalFooter/UniversalFooter.stories.d.ts.map +1 -0
- package/dist/components/UniversalFooter/index.d.ts +2 -0
- package/dist/components/UniversalFooter/index.d.ts.map +1 -0
- package/dist/components/index.d.ts +4 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/globals.css +0 -1
- package/dist/index.js +353 -322
- package/dist/muza-ui.css +1 -1
- package/dist/styles/primitives.css +2 -0
- package/dist/styles/token-colors.css +51 -43
- package/dist/styles/token-sizes.css +52 -4
- package/dist/translations/index.d.ts +1 -1
- package/dist/translations/index.d.ts.map +1 -1
- package/dist/translations/locales/cs.d.ts.map +1 -1
- package/dist/translations/locales/cs.js +6 -1
- package/dist/translations/locales/en.d.ts.map +1 -1
- package/dist/translations/locales/en.js +6 -1
- package/dist/translations/locales/sk.d.ts.map +1 -1
- package/dist/translations/locales/sk.js +6 -1
- package/dist/translations/types.d.ts +12 -0
- package/dist/translations/types.d.ts.map +1 -1
- package/dist/utils/cn.d.ts.map +1 -1
- package/dist/utils/cn.js +17 -9
- package/llms-full.md +38 -35
- package/llms.txt +10 -9
- package/package.json +171 -169
|
@@ -1,62 +1,75 @@
|
|
|
1
1
|
import * as t from "react";
|
|
2
|
-
import { cva as
|
|
3
|
-
import { cn as
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
2
|
+
import { cva as p } from "class-variance-authority";
|
|
3
|
+
import { cn as f } from "../../utils/cn.js";
|
|
4
|
+
const u = p(
|
|
5
|
+
["text-inherit", "decoration-solid decoration-1"],
|
|
6
|
+
{
|
|
7
|
+
variants: {
|
|
8
|
+
size: {
|
|
9
|
+
"7xl": "text-7xl leading-[120%] tracking-[-0.0347em]",
|
|
10
|
+
"6xl": "text-6xl leading-[120%] tracking-[-0.03906em]",
|
|
11
|
+
"5xl": "text-5xl leading-[120%] tracking-[-0.04464em]",
|
|
12
|
+
"4xl": "text-4xl leading-[120%] tracking-[-0.03125em]",
|
|
13
|
+
"3xl": "text-3xl leading-[120%] tracking-[-0.0375em]",
|
|
14
|
+
"2xl": "text-2xl leading-[130%] tracking-[-0.03125em]",
|
|
15
|
+
xl: "text-xl leading-[130%] tracking-[-0.02083em]",
|
|
16
|
+
lg: "text-lg leading-[140%] tracking-[-0.0125em]",
|
|
17
|
+
md: "text-md leading-[140%] tracking-[-0.01389em]",
|
|
18
|
+
base: "text-sm leading-[140%] tracking-[-0.01562em]",
|
|
19
|
+
sm: "text-xs leading-[140%] tracking-normal",
|
|
20
|
+
caption: "text-2xs leading-[140%] tracking-normal",
|
|
21
|
+
input: "text-input leading-[140%] tracking-normal"
|
|
22
|
+
},
|
|
23
|
+
weight: {
|
|
24
|
+
light: "font-light",
|
|
25
|
+
regular: "font-regular",
|
|
26
|
+
medium: "font-medium",
|
|
27
|
+
bold: "font-bold"
|
|
28
|
+
},
|
|
29
|
+
variant: {
|
|
30
|
+
title: "font-heading",
|
|
31
|
+
// Future proofing
|
|
32
|
+
body: "font-text",
|
|
33
|
+
// Future proofing
|
|
34
|
+
paragraph: "font-text leading-[180%]",
|
|
35
|
+
cta: "font-cta leading-[120%]"
|
|
36
|
+
},
|
|
37
|
+
uppercase: {
|
|
38
|
+
true: "tracking-normal uppercase",
|
|
39
|
+
false: ""
|
|
40
|
+
},
|
|
41
|
+
fixY: {
|
|
42
|
+
true: "fix-y-text",
|
|
43
|
+
false: ""
|
|
44
|
+
},
|
|
45
|
+
// The underline rendering spec (offset, skip-ink, position from-font)
|
|
46
|
+
// is underline-specific per the CSS spec but visibly shifts
|
|
47
|
+
// `line-through` in some browsers. We apply it by default so it takes
|
|
48
|
+
// effect whenever `text-decoration-line` adds an underline, and turn
|
|
49
|
+
// it off when the consumer opts into `line-through` rendering.
|
|
50
|
+
lineThrough: {
|
|
51
|
+
true: "line-through",
|
|
52
|
+
false: "underline-offset-[16%] [text-decoration-skip-ink:auto] [text-underline-position:from-font]"
|
|
53
|
+
}
|
|
38
54
|
},
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
55
|
+
compoundVariants: [
|
|
56
|
+
{
|
|
57
|
+
variant: ["cta", "body"],
|
|
58
|
+
size: ["sm", "caption", "input"],
|
|
59
|
+
fixY: !0,
|
|
60
|
+
class: "fix-y-text-1"
|
|
61
|
+
}
|
|
62
|
+
],
|
|
63
|
+
defaultVariants: {
|
|
64
|
+
variant: "body",
|
|
65
|
+
size: "base",
|
|
66
|
+
weight: "regular",
|
|
67
|
+
uppercase: !1,
|
|
68
|
+
fixY: !1,
|
|
69
|
+
lineThrough: !1
|
|
50
70
|
}
|
|
51
|
-
],
|
|
52
|
-
defaultVariants: {
|
|
53
|
-
variant: "body",
|
|
54
|
-
size: "base",
|
|
55
|
-
weight: "regular",
|
|
56
|
-
uppercase: !1,
|
|
57
|
-
fixY: !1
|
|
58
71
|
}
|
|
59
|
-
|
|
72
|
+
), h = t.forwardRef(
|
|
60
73
|
({
|
|
61
74
|
component: e,
|
|
62
75
|
size: a,
|
|
@@ -64,35 +77,37 @@ const f = d(["text-inherit"], {
|
|
|
64
77
|
weight: i,
|
|
65
78
|
uppercase: r,
|
|
66
79
|
fixY: l,
|
|
80
|
+
lineThrough: o,
|
|
67
81
|
className: g,
|
|
68
82
|
children: x,
|
|
69
|
-
...
|
|
70
|
-
},
|
|
71
|
-
const
|
|
72
|
-
className:
|
|
73
|
-
|
|
83
|
+
...s
|
|
84
|
+
}, c) => {
|
|
85
|
+
const m = e ?? "p", d = {
|
|
86
|
+
className: f(
|
|
87
|
+
u({
|
|
74
88
|
size: a,
|
|
75
89
|
variant: n,
|
|
76
90
|
weight: i,
|
|
77
91
|
uppercase: r,
|
|
78
92
|
fixY: l,
|
|
93
|
+
lineThrough: o,
|
|
79
94
|
className: g
|
|
80
95
|
})
|
|
81
96
|
),
|
|
82
|
-
...
|
|
97
|
+
...s
|
|
83
98
|
};
|
|
84
99
|
return t.createElement(
|
|
85
|
-
|
|
100
|
+
m,
|
|
86
101
|
{
|
|
87
|
-
...
|
|
88
|
-
ref:
|
|
102
|
+
...d,
|
|
103
|
+
ref: c
|
|
89
104
|
},
|
|
90
105
|
x
|
|
91
106
|
);
|
|
92
107
|
}
|
|
93
108
|
);
|
|
94
|
-
|
|
109
|
+
h.displayName = "Typography";
|
|
95
110
|
export {
|
|
96
|
-
|
|
97
|
-
|
|
111
|
+
h as Typography,
|
|
112
|
+
u as typographyVariants
|
|
98
113
|
};
|
|
@@ -13,5 +13,6 @@ export declare const WeightVariations: Story;
|
|
|
13
13
|
export declare const UppercaseExample: Story;
|
|
14
14
|
export declare const VariantComparison: Story;
|
|
15
15
|
export declare const RealWorldExample: Story;
|
|
16
|
+
export declare const Decorations: Story;
|
|
16
17
|
export declare const Playground: Story;
|
|
17
18
|
//# sourceMappingURL=Typography.stories.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Typography.stories.d.ts","sourceRoot":"","sources":["../../../src/components/Typography/Typography.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAE3D,OAAO,EAAE,UAAU,EAAwB,MAAM,cAAc,CAAA;AAgC/D,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,UAAU,
|
|
1
|
+
{"version":3,"file":"Typography.stories.d.ts","sourceRoot":"","sources":["../../../src/components/Typography/Typography.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAE3D,OAAO,EAAE,UAAU,EAAwB,MAAM,cAAc,CAAA;AAgC/D,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,UAAU,CAwDjC,CAAA;AAED,eAAe,IAAI,CAAA;AAEnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,UAAU,CAAC,CAAA;AAuCxC,eAAO,MAAM,OAAO,EAAE,KAkBrB,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAwEtB,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAsEtB,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,KAuE3B,CAAA;AAED,eAAO,MAAM,OAAO,EAAE,KAsErB,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,KAgC5B,CAAA;AAED,eAAO,MAAM,gBAAgB,EAAE,KAuC9B,CAAA;AAED,eAAO,MAAM,gBAAgB,EAAE,KAyC9B,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,KAwD/B,CAAA;AAED,eAAO,MAAM,gBAAgB,EAAE,KA4H9B,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,KAsIzB,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,KAkBxB,CAAA"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { AnchorHTMLAttributes } from 'react';
|
|
2
|
+
import { VariantProps } from 'class-variance-authority';
|
|
3
|
+
import { TypographyProps } from '../Typography';
|
|
4
|
+
export declare const typographyLinkVariants: (props?: ({
|
|
5
|
+
variant?: "default" | "danger" | "invertPrimary" | "invertSecondary" | null | undefined;
|
|
6
|
+
underline?: boolean | null | undefined;
|
|
7
|
+
} & import('class-variance-authority/types').ClassProp) | undefined) => string;
|
|
8
|
+
type InheritedTypographyProps = Pick<TypographyProps, 'size' | 'weight' | 'uppercase' | 'fixY'>;
|
|
9
|
+
/** Props for the TypographyLink component. */
|
|
10
|
+
export interface TypographyLinkProps extends Omit<AnchorHTMLAttributes<HTMLAnchorElement>, keyof InheritedTypographyProps> {
|
|
11
|
+
/**
|
|
12
|
+
* Renders the single child as the root element via Radix `Slot`, merging
|
|
13
|
+
* TypographyLink's props, className, ref, and event handlers onto it. Use
|
|
14
|
+
* for polymorphic rendering — e.g. a Next.js `Link`, a react-router `Link`,
|
|
15
|
+
* or any anchor-like component — while keeping full TypographyLink styling.
|
|
16
|
+
*
|
|
17
|
+
* @default false
|
|
18
|
+
* @example
|
|
19
|
+
* <TypographyLink asChild>
|
|
20
|
+
* <Link href="/dashboard">Go to dashboard</Link>
|
|
21
|
+
* </TypographyLink>
|
|
22
|
+
*/
|
|
23
|
+
asChild?: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Color treatment of the link. `default` uses brand tokens; `danger`
|
|
26
|
+
* uses destructive/error tokens; `invertPrimary` and `invertSecondary`
|
|
27
|
+
* are intended for use on dark or branded surfaces.
|
|
28
|
+
*
|
|
29
|
+
* @default 'default'
|
|
30
|
+
*/
|
|
31
|
+
variant?: NonNullable<VariantProps<typeof typographyLinkVariants>['variant']>;
|
|
32
|
+
/**
|
|
33
|
+
* Shows the underline beneath the text. Uses native CSS `text-decoration`
|
|
34
|
+
* so the underline wraps correctly across multiple lines. When `false`,
|
|
35
|
+
* the underline fades in on hover and keyboard focus so the interactive
|
|
36
|
+
* affordance stays discoverable.
|
|
37
|
+
*
|
|
38
|
+
* @default true
|
|
39
|
+
*/
|
|
40
|
+
underline?: boolean;
|
|
41
|
+
/**
|
|
42
|
+
* Marks the link as disabled. Sets `aria-disabled="true"` and disables
|
|
43
|
+
* pointer events; the `href` is preserved on the DOM for assistive tech.
|
|
44
|
+
* Use instead of removing `href` so the element stays a link semantically.
|
|
45
|
+
*
|
|
46
|
+
* @default false
|
|
47
|
+
*/
|
|
48
|
+
disabled?: boolean;
|
|
49
|
+
/**
|
|
50
|
+
* Typography size scale applied to the link text.
|
|
51
|
+
* @see TypographyProps
|
|
52
|
+
*/
|
|
53
|
+
size?: InheritedTypographyProps['size'];
|
|
54
|
+
/**
|
|
55
|
+
* Typography font weight applied to the link text.
|
|
56
|
+
* @see TypographyProps
|
|
57
|
+
*/
|
|
58
|
+
weight?: InheritedTypographyProps['weight'];
|
|
59
|
+
/**
|
|
60
|
+
* Renders the link text in uppercase.
|
|
61
|
+
* @see TypographyProps
|
|
62
|
+
*/
|
|
63
|
+
uppercase?: InheritedTypographyProps['uppercase'];
|
|
64
|
+
/**
|
|
65
|
+
* Applies the vertical-trim fix used by Typography for tighter alignment.
|
|
66
|
+
* @see TypographyProps
|
|
67
|
+
*/
|
|
68
|
+
fixY?: InheritedTypographyProps['fixY'];
|
|
69
|
+
}
|
|
70
|
+
declare const TypographyLink: import('react').ForwardRefExoticComponent<TypographyLinkProps & import('react').RefAttributes<HTMLAnchorElement>>;
|
|
71
|
+
export { TypographyLink };
|
|
72
|
+
//# sourceMappingURL=TypographyLink.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TypographyLink.d.ts","sourceRoot":"","sources":["../../../src/components/TypographyLink/TypographyLink.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,oBAAoB,EAK1B,MAAM,OAAO,CAAA;AAEd,OAAO,EAAE,KAAK,YAAY,EAAO,MAAM,0BAA0B,CAAA;AAEjE,OAAO,EAAc,KAAK,eAAe,EAAE,MAAM,eAAe,CAAA;AAEhE,eAAO,MAAM,sBAAsB;;;8EAsDlC,CAAA;AAED,KAAK,wBAAwB,GAAG,IAAI,CAClC,eAAe,EACf,MAAM,GAAG,QAAQ,GAAG,WAAW,GAAG,MAAM,CACzC,CAAA;AAED,8CAA8C;AAC9C,MAAM,WAAW,mBACf,SAAQ,IAAI,CACV,oBAAoB,CAAC,iBAAiB,CAAC,EACvC,MAAM,wBAAwB,CAC/B;IACD;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC,YAAY,CAAC,OAAO,sBAAsB,CAAC,CAAC,SAAS,CAAC,CAAC,CAAA;IAC7E;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;;OAGG;IACH,IAAI,CAAC,EAAE,wBAAwB,CAAC,MAAM,CAAC,CAAA;IACvC;;;OAGG;IACH,MAAM,CAAC,EAAE,wBAAwB,CAAC,QAAQ,CAAC,CAAA;IAC3C;;;OAGG;IACH,SAAS,CAAC,EAAE,wBAAwB,CAAC,WAAW,CAAC,CAAA;IACjD;;;OAGG;IACH,IAAI,CAAC,EAAE,wBAAwB,CAAC,MAAM,CAAC,CAAA;CACxC;AAED,QAAA,MAAM,cAAc,mHAiDnB,CAAA;AAGD,OAAO,EAAE,cAAc,EAAE,CAAA"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { jsx as t } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef as h, isValidElement as b, cloneElement as g } from "react";
|
|
3
|
+
import { Slot as k } from "@radix-ui/react-slot";
|
|
4
|
+
import { cva as x } from "class-variance-authority";
|
|
5
|
+
import { cn as w } from "../../utils/cn.js";
|
|
6
|
+
import { Typography as L } from "../Typography/Typography.js";
|
|
7
|
+
const T = x(
|
|
8
|
+
[
|
|
9
|
+
"cursor-pointer transition-colors duration-200 ease-out",
|
|
10
|
+
// Underline spec from Figma — applied as base utilities so they take
|
|
11
|
+
// effect whenever the `underline` variant adds `text-decoration-line`.
|
|
12
|
+
// The 16% offset scales with the current font size.
|
|
13
|
+
"decoration-solid decoration-1 underline-offset-[16%]",
|
|
14
|
+
"[text-decoration-skip-ink:auto] [text-underline-position:from-font]",
|
|
15
|
+
"focus-visible:outline-none",
|
|
16
|
+
"aria-disabled:pointer-events-none aria-disabled:cursor-not-allowed"
|
|
17
|
+
],
|
|
18
|
+
{
|
|
19
|
+
variants: {
|
|
20
|
+
variant: {
|
|
21
|
+
default: [
|
|
22
|
+
"text-comp-typography-link-brand-def",
|
|
23
|
+
"hover:text-comp-typography-link-brand-hover",
|
|
24
|
+
"focus-visible-default focus-visible:text-comp-typography-link-brand-focused",
|
|
25
|
+
"aria-disabled:text-comp-typography-link-brand-disabled"
|
|
26
|
+
],
|
|
27
|
+
danger: [
|
|
28
|
+
"text-comp-typography-link-danger-def",
|
|
29
|
+
"hover:text-comp-typography-link-danger-hover",
|
|
30
|
+
"focus-visible-default focus-visible:text-comp-typography-link-danger-focused",
|
|
31
|
+
"aria-disabled:text-comp-typography-link-danger-disabled"
|
|
32
|
+
],
|
|
33
|
+
invertPrimary: [
|
|
34
|
+
"text-comp-typography-link-invert-primary-def",
|
|
35
|
+
"hover:text-comp-typography-link-invert-primary-hover",
|
|
36
|
+
"focus-visible-default focus-visible:text-comp-typography-link-invert-primary-focused",
|
|
37
|
+
"aria-disabled:text-comp-typography-link-invert-primary-disabled"
|
|
38
|
+
],
|
|
39
|
+
invertSecondary: [
|
|
40
|
+
"text-comp-typography-link-invert-secondary-def",
|
|
41
|
+
"hover:text-comp-typography-link-invert-secondary-hover",
|
|
42
|
+
"focus-visible-default focus-visible:text-comp-typography-link-invert-secondary-focused",
|
|
43
|
+
"aria-disabled:text-comp-typography-link-invert-secondary-disabled"
|
|
44
|
+
]
|
|
45
|
+
},
|
|
46
|
+
underline: {
|
|
47
|
+
true: "underline",
|
|
48
|
+
// The underline is always declared but starts transparent and
|
|
49
|
+
// fades in on hover / keyboard focus. We animate
|
|
50
|
+
// text-decoration-color (which `transition-colors` covers)
|
|
51
|
+
// because text-decoration-line itself is not animatable.
|
|
52
|
+
false: "underline decoration-transparent hover:decoration-current focus-visible:decoration-current"
|
|
53
|
+
}
|
|
54
|
+
},
|
|
55
|
+
defaultVariants: {
|
|
56
|
+
variant: "default",
|
|
57
|
+
underline: !0
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
), V = h(
|
|
61
|
+
({
|
|
62
|
+
className: i,
|
|
63
|
+
asChild: r = !1,
|
|
64
|
+
variant: a,
|
|
65
|
+
underline: n,
|
|
66
|
+
disabled: p = !1,
|
|
67
|
+
size: d,
|
|
68
|
+
weight: s,
|
|
69
|
+
uppercase: l,
|
|
70
|
+
fixY: c,
|
|
71
|
+
children: e,
|
|
72
|
+
...y
|
|
73
|
+
}, f) => {
|
|
74
|
+
const m = r ? k : "a", o = (v) => /* @__PURE__ */ t(
|
|
75
|
+
L,
|
|
76
|
+
{
|
|
77
|
+
component: "span",
|
|
78
|
+
size: d,
|
|
79
|
+
weight: s,
|
|
80
|
+
uppercase: l,
|
|
81
|
+
fixY: c,
|
|
82
|
+
children: v
|
|
83
|
+
}
|
|
84
|
+
), u = r && b(e) ? g(e, void 0, o(e.props.children)) : o(e);
|
|
85
|
+
return /* @__PURE__ */ t(
|
|
86
|
+
m,
|
|
87
|
+
{
|
|
88
|
+
ref: f,
|
|
89
|
+
"aria-disabled": p || void 0,
|
|
90
|
+
className: w(
|
|
91
|
+
T({ variant: a, underline: n, className: i })
|
|
92
|
+
),
|
|
93
|
+
...y,
|
|
94
|
+
children: u
|
|
95
|
+
}
|
|
96
|
+
);
|
|
97
|
+
}
|
|
98
|
+
);
|
|
99
|
+
V.displayName = "TypographyLink";
|
|
100
|
+
export {
|
|
101
|
+
V as TypographyLink,
|
|
102
|
+
T as typographyLinkVariants
|
|
103
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Meta, StoryObj } from '@storybook/react-vite';
|
|
2
|
+
import { TypographyLink } from './TypographyLink';
|
|
3
|
+
declare const meta: Meta<typeof TypographyLink>;
|
|
4
|
+
export default meta;
|
|
5
|
+
type Story = StoryObj<typeof TypographyLink>;
|
|
6
|
+
export declare const Default: Story;
|
|
7
|
+
export declare const AllStates: Story;
|
|
8
|
+
export declare const Sizes: Story;
|
|
9
|
+
export declare const MultilineUnderline: Story;
|
|
10
|
+
export declare const Disabled: Story;
|
|
11
|
+
export declare const AsChildExample: Story;
|
|
12
|
+
//# sourceMappingURL=TypographyLink.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TypographyLink.stories.d.ts","sourceRoot":"","sources":["../../../src/components/TypographyLink/TypographyLink.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAE3D,OAAO,EAAE,cAAc,EAA4B,MAAM,kBAAkB,CAAA;AAyB3E,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,cAAc,CAsErC,CAAA;AAED,eAAe,IAAI,CAAA;AAEnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,cAAc,CAAC,CAAA;AAI5C,eAAO,MAAM,OAAO,EAAE,KAIrB,CAAA;AAgDD,eAAO,MAAM,SAAS,EAAE,KA8BvB,CAAA;AAED,eAAO,MAAM,KAAK,EAAE,KA6BnB,CAAA;AAED,eAAO,MAAM,kBAAkB,EAAE,KAoDhC,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAQtB,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,KAuB5B,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/TypographyLink/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA"}
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
import { TypographyLinkProps } from '../TypographyLink';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
/**
|
|
4
|
+
* Props for the UniversalFooter root component.
|
|
5
|
+
*
|
|
6
|
+
* Renders a `<footer>` landmark with the dark surface background and an
|
|
7
|
+
* inner content container whose width steps with the breakpoint scale
|
|
8
|
+
* (matching the project-wide `Container` pattern). Children compose the
|
|
9
|
+
* footer's vertical sections — typically a [[UniversalFooterTop]] row, a
|
|
10
|
+
* [[UniversalFooterSections]] block, a [[UniversalFooterBottom]] row, and
|
|
11
|
+
* a [[UniversalFooterCopyright]] line, each separated by
|
|
12
|
+
* [[UniversalFooterSeparator]] rules.
|
|
13
|
+
*/
|
|
14
|
+
export interface UniversalFooterProps extends React.ComponentProps<'footer'> {
|
|
15
|
+
/**
|
|
16
|
+
* Classes appended to the inner content container that controls the
|
|
17
|
+
* stepped responsive width and centering. Use to override or extend
|
|
18
|
+
* the defaults — for example to pin the footer content to a different
|
|
19
|
+
* max width than the rest of the page. Whatever you pass wins via
|
|
20
|
+
* Tailwind's source-order merge.
|
|
21
|
+
*/
|
|
22
|
+
contentClassName?: string;
|
|
23
|
+
}
|
|
24
|
+
declare const UniversalFooter: React.ForwardRefExoticComponent<Omit<UniversalFooterProps, "ref"> & React.RefAttributes<HTMLElement>>;
|
|
25
|
+
/** Props for the [[UniversalFooterBody]] wrapper around top/sections/bottom. */
|
|
26
|
+
export type UniversalFooterBodyProps = React.ComponentProps<'div'>;
|
|
27
|
+
declare const UniversalFooterBody: {
|
|
28
|
+
({ className, ...props }: UniversalFooterBodyProps): import("react/jsx-runtime").JSX.Element;
|
|
29
|
+
displayName: string;
|
|
30
|
+
};
|
|
31
|
+
/** Props for the [[UniversalFooterTop]] row that pairs the brand logo with social links. */
|
|
32
|
+
export type UniversalFooterTopProps = React.ComponentProps<'div'>;
|
|
33
|
+
declare const UniversalFooterTop: {
|
|
34
|
+
({ className, ...props }: UniversalFooterTopProps): import("react/jsx-runtime").JSX.Element;
|
|
35
|
+
displayName: string;
|
|
36
|
+
};
|
|
37
|
+
/**
|
|
38
|
+
* Props for [[UniversalFooterLogo]] — a sized container for a consumer-
|
|
39
|
+
* supplied logo (a Next.js `Image`, an SVG component, or any other React
|
|
40
|
+
* node). Size the wrapper via token-backed Tailwind utilities on
|
|
41
|
+
* `className` (e.g. `className="h-7 w-auto"`) so dimensions stay in sync
|
|
42
|
+
* with the design system instead of inline styles.
|
|
43
|
+
*/
|
|
44
|
+
export type UniversalFooterLogoProps = React.ComponentProps<'div'>;
|
|
45
|
+
declare const UniversalFooterLogo: {
|
|
46
|
+
({ className, ...props }: UniversalFooterLogoProps): import("react/jsx-runtime").JSX.Element;
|
|
47
|
+
displayName: string;
|
|
48
|
+
};
|
|
49
|
+
/** Props for the [[UniversalFooterSocialList]] container of social-link buttons. */
|
|
50
|
+
export type UniversalFooterSocialListProps = React.ComponentProps<'ul'>;
|
|
51
|
+
declare const UniversalFooterSocialList: {
|
|
52
|
+
({ className, ...props }: UniversalFooterSocialListProps): import("react/jsx-runtime").JSX.Element;
|
|
53
|
+
displayName: string;
|
|
54
|
+
};
|
|
55
|
+
/**
|
|
56
|
+
* Props for [[UniversalFooterSocialLink]] — a circular brand-filled icon
|
|
57
|
+
* button rendered inside a list item for use in [[UniversalFooterSocialList]].
|
|
58
|
+
* Pass the brand icon (e.g. `<Facebook />`, `<Linkedin />`) as children;
|
|
59
|
+
* sizing is handled internally.
|
|
60
|
+
*/
|
|
61
|
+
export interface UniversalFooterSocialLinkProps extends React.ComponentProps<'a'> {
|
|
62
|
+
/**
|
|
63
|
+
* Accessible label for the icon-only link. Required — screen readers
|
|
64
|
+
* have no other text to read for these buttons.
|
|
65
|
+
*/
|
|
66
|
+
'aria-label': string;
|
|
67
|
+
}
|
|
68
|
+
declare const UniversalFooterSocialLink: React.ForwardRefExoticComponent<Omit<UniversalFooterSocialLinkProps, "ref"> & React.RefAttributes<HTMLAnchorElement>>;
|
|
69
|
+
/**
|
|
70
|
+
* Props for the [[UniversalFooterSeparator]] horizontal rule. Thin divider
|
|
71
|
+
* painted with the secondary stroke token on the dark surface — used between
|
|
72
|
+
* the top row and the sections, and between the sections and the bottom row.
|
|
73
|
+
*/
|
|
74
|
+
export type UniversalFooterSeparatorProps = React.ComponentProps<'hr'>;
|
|
75
|
+
declare const UniversalFooterSeparator: {
|
|
76
|
+
({ className, ...props }: UniversalFooterSeparatorProps): import("react/jsx-runtime").JSX.Element;
|
|
77
|
+
displayName: string;
|
|
78
|
+
};
|
|
79
|
+
/** Props for the [[UniversalFooterSections]] responsive container. */
|
|
80
|
+
export type UniversalFooterSectionsProps = React.ComponentProps<'div'>;
|
|
81
|
+
/**
|
|
82
|
+
* Lays out section children responsively:
|
|
83
|
+
* - `lg` (≥1024px): horizontal row, sections justified between.
|
|
84
|
+
* - `md` (≥768px): 2-column grid; the **first** section spans both rows
|
|
85
|
+
* (left column) while the remaining sections stack in the right column.
|
|
86
|
+
* This matches the design-system tablet pattern where the primary section
|
|
87
|
+
* (typically the long category list) occupies the full left column.
|
|
88
|
+
* - mobile (<768px): single column, sections stacked.
|
|
89
|
+
*
|
|
90
|
+
* Kept as a plain `<div>` because the responsive layout flips between
|
|
91
|
+
* `display: flex` and `display: grid` — Flex can't represent grid mode.
|
|
92
|
+
*/
|
|
93
|
+
declare const UniversalFooterSections: {
|
|
94
|
+
({ className, ...props }: UniversalFooterSectionsProps): import("react/jsx-runtime").JSX.Element;
|
|
95
|
+
displayName: string;
|
|
96
|
+
};
|
|
97
|
+
/**
|
|
98
|
+
* Props for [[UniversalFooterSection]] — wraps a heading with a vertical
|
|
99
|
+
* list of links (or other content). Pass link content as children, usually
|
|
100
|
+
* [[UniversalFooterLink]] items but any node is accepted (e.g. an inline
|
|
101
|
+
* modal trigger, an [[UniversalFooterAppBadges]] group).
|
|
102
|
+
*/
|
|
103
|
+
export interface UniversalFooterSectionProps extends React.ComponentProps<'div'> {
|
|
104
|
+
/**
|
|
105
|
+
* Heading text rendered above the section's content. Wrapped in
|
|
106
|
+
* `Typography` with medium weight on the invert (white) color.
|
|
107
|
+
*/
|
|
108
|
+
heading: React.ReactNode;
|
|
109
|
+
/**
|
|
110
|
+
* Splits child items into N visual columns at `lg` (desktop). Below `lg`
|
|
111
|
+
* the items collapse into a single vertical list. The split is done by
|
|
112
|
+
* dividing children evenly in source order — pass items in the order you
|
|
113
|
+
* want them to read top-to-bottom, left-to-right.
|
|
114
|
+
*
|
|
115
|
+
* @default 1
|
|
116
|
+
*/
|
|
117
|
+
columns?: 1 | 2 | 3;
|
|
118
|
+
}
|
|
119
|
+
declare const UniversalFooterSection: {
|
|
120
|
+
({ className, heading, columns, children, ...props }: UniversalFooterSectionProps): import("react/jsx-runtime").JSX.Element;
|
|
121
|
+
displayName: string;
|
|
122
|
+
};
|
|
123
|
+
/**
|
|
124
|
+
* Props for [[UniversalFooterLink]] — wraps [[TypographyLink]] with footer
|
|
125
|
+
* defaults: `invertSecondary` color for dark-surface body links, no resting
|
|
126
|
+
* underline, and `size="base"`. Override any of those via the underlying
|
|
127
|
+
* `TypographyLink` props.
|
|
128
|
+
*/
|
|
129
|
+
export type UniversalFooterLinkProps = TypographyLinkProps;
|
|
130
|
+
declare const UniversalFooterLink: React.ForwardRefExoticComponent<TypographyLinkProps & React.RefAttributes<HTMLAnchorElement>>;
|
|
131
|
+
/**
|
|
132
|
+
* Props for [[UniversalFooterContactList]] — tighter vertical rhythm than
|
|
133
|
+
* the standard section list, matching the design `gap-md` (12px) spacing
|
|
134
|
+
* used for phone + email contact rows.
|
|
135
|
+
*/
|
|
136
|
+
export type UniversalFooterContactListProps = React.ComponentProps<'div'>;
|
|
137
|
+
declare const UniversalFooterContactList: {
|
|
138
|
+
({ className, ...props }: UniversalFooterContactListProps): import("react/jsx-runtime").JSX.Element;
|
|
139
|
+
displayName: string;
|
|
140
|
+
};
|
|
141
|
+
/**
|
|
142
|
+
* Props for [[UniversalFooterAppBadges]] — horizontal row of app-store /
|
|
143
|
+
* google-play badge links. The consumer supplies the actual badge artwork;
|
|
144
|
+
* wrap each badge in an `<a>` with `href` and an `aria-label` so screen-
|
|
145
|
+
* reader users get a destination cue.
|
|
146
|
+
*/
|
|
147
|
+
export type UniversalFooterAppBadgesProps = React.ComponentProps<'div'>;
|
|
148
|
+
declare const UniversalFooterAppBadges: {
|
|
149
|
+
({ className, ...props }: UniversalFooterAppBadgesProps): import("react/jsx-runtime").JSX.Element;
|
|
150
|
+
displayName: string;
|
|
151
|
+
};
|
|
152
|
+
/** Props for the [[UniversalFooterBottom]] row that pairs meta blocks like the language switcher and an employer link. */
|
|
153
|
+
export type UniversalFooterBottomProps = React.ComponentProps<'div'>;
|
|
154
|
+
declare const UniversalFooterBottom: {
|
|
155
|
+
({ className, ...props }: UniversalFooterBottomProps): import("react/jsx-runtime").JSX.Element;
|
|
156
|
+
displayName: string;
|
|
157
|
+
};
|
|
158
|
+
/**
|
|
159
|
+
* Props for [[UniversalFooterBottomGroup]] — two-row stack with a small
|
|
160
|
+
* muted label above the content. Used for the language-switcher block on
|
|
161
|
+
* the left and the employer / portal link on the right of the bottom row.
|
|
162
|
+
*/
|
|
163
|
+
export interface UniversalFooterBottomGroupProps extends React.ComponentProps<'div'> {
|
|
164
|
+
/** Muted label rendered above the content (e.g. "Language", "Are you an employer?"). */
|
|
165
|
+
label?: React.ReactNode;
|
|
166
|
+
/**
|
|
167
|
+
* Horizontal alignment of the group within the bottom row at `md`+.
|
|
168
|
+
* Below `md` both groups stack and align to the start regardless.
|
|
169
|
+
*
|
|
170
|
+
* @default 'start'
|
|
171
|
+
*/
|
|
172
|
+
align?: 'start' | 'end';
|
|
173
|
+
/**
|
|
174
|
+
* Typography size of the label. Defaults to `sm` (14px from `text/xs`)
|
|
175
|
+
* for the language label and should be set to `base` (16px) for the
|
|
176
|
+
* employer label per Figma.
|
|
177
|
+
*
|
|
178
|
+
* @default 'sm'
|
|
179
|
+
*/
|
|
180
|
+
labelSize?: 'sm' | 'base';
|
|
181
|
+
}
|
|
182
|
+
declare const UniversalFooterBottomGroup: {
|
|
183
|
+
({ className, label, align, labelSize, children, ...props }: UniversalFooterBottomGroupProps): import("react/jsx-runtime").JSX.Element;
|
|
184
|
+
displayName: string;
|
|
185
|
+
};
|
|
186
|
+
/**
|
|
187
|
+
* Props for [[UniversalFooterCopyright]] — centered, muted (40% opacity)
|
|
188
|
+
* small text rendered as the last item of the footer. Wrap any
|
|
189
|
+
* copyright / company text; the consumer supplies the year and legal
|
|
190
|
+
* identifiers.
|
|
191
|
+
*/
|
|
192
|
+
export type UniversalFooterCopyrightProps = React.ComponentProps<'p'>;
|
|
193
|
+
declare const UniversalFooterCopyright: {
|
|
194
|
+
({ className, ...props }: UniversalFooterCopyrightProps): import("react/jsx-runtime").JSX.Element;
|
|
195
|
+
displayName: string;
|
|
196
|
+
};
|
|
197
|
+
export { UniversalFooter, UniversalFooterBody, UniversalFooterTop, UniversalFooterLogo, UniversalFooterSocialList, UniversalFooterSocialLink, UniversalFooterSeparator, UniversalFooterSections, UniversalFooterSection, UniversalFooterLink, UniversalFooterContactList, UniversalFooterAppBadges, UniversalFooterBottom, UniversalFooterBottomGroup, UniversalFooterCopyright, };
|
|
198
|
+
//# sourceMappingURL=UniversalFooter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UniversalFooter.d.ts","sourceRoot":"","sources":["../../../src/components/UniversalFooter/UniversalFooter.tsx"],"names":[],"mappings":"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"}
|