@kolking/react-ui 1.4.0 → 1.6.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.
Files changed (60) hide show
  1. package/dist/{Input-DE1QkW7S.js → Input-D46mAsdt.js} +39 -29
  2. package/dist/ValidationTooltip-D8d9O6Re.js +31 -0
  3. package/dist/components/Breadcrumbs/Breadcrumbs.d.ts +11 -0
  4. package/dist/components/Breadcrumbs/Breadcrumbs.js +40 -0
  5. package/dist/components/Breadcrumbs/index.d.ts +1 -0
  6. package/dist/components/Breadcrumbs/index.js +4 -0
  7. package/dist/components/Button/Button.js +1 -1
  8. package/dist/components/Dialog/Dialog.d.ts +14 -5
  9. package/dist/components/Dialog/Dialog.js +67 -49
  10. package/dist/components/Dialog/useDialog.d.ts +2 -1
  11. package/dist/components/Dialog/useDialog.js +29 -42
  12. package/dist/components/Dialog/withDialog.d.ts +1 -1
  13. package/dist/components/Fields/Checkbox.js +1 -1
  14. package/dist/components/Fields/Field.d.ts +1 -1
  15. package/dist/components/Fields/Field.js +28 -27
  16. package/dist/components/Fields/Input.d.ts +2 -0
  17. package/dist/components/Fields/Input.js +2 -2
  18. package/dist/components/Fields/Numeric.d.ts +4 -0
  19. package/dist/components/Fields/Numeric.js +62 -0
  20. package/dist/components/Fields/Radio.js +1 -1
  21. package/dist/components/Fields/Range.d.ts +20 -0
  22. package/dist/components/Fields/Range.js +54 -0
  23. package/dist/components/Fields/Select.js +1 -1
  24. package/dist/components/Fields/Switch.d.ts +13 -0
  25. package/dist/components/Fields/Switch.js +36 -0
  26. package/dist/components/Fields/Textarea.js +1 -1
  27. package/dist/components/Fields/ValidationTooltip.d.ts +1 -1
  28. package/dist/components/Fields/ValidationTooltip.js +3 -2
  29. package/dist/components/Fields/index.d.ts +3 -1
  30. package/dist/components/Fields/index.js +20 -16
  31. package/dist/components/Flex/Flex.d.ts +1 -1
  32. package/dist/components/Flex/Flex.js +24 -23
  33. package/dist/components/Menu/Menu.d.ts +6 -2
  34. package/dist/components/Menu/Menu.js +57 -51
  35. package/dist/components/Menu/MenuContext.d.ts +1 -0
  36. package/dist/components/Menu/MenuItem.d.ts +2 -3
  37. package/dist/components/Menu/MenuItem.js +23 -29
  38. package/dist/components/Segmented/Segmented.js +22 -19
  39. package/dist/components/ToggleButton/ToggleButton.d.ts +5 -0
  40. package/dist/components/ToggleButton/ToggleButton.js +16 -0
  41. package/dist/components/ToggleButton/ToggleGroup.d.ts +12 -0
  42. package/dist/components/ToggleButton/ToggleGroup.js +43 -0
  43. package/dist/components/ToggleButton/index.d.ts +2 -0
  44. package/dist/components/ToggleButton/index.js +6 -0
  45. package/dist/components/Tooltip/Tooltip.d.ts +2 -1
  46. package/dist/components/Tooltip/Tooltip.js +59 -56
  47. package/dist/index.d.ts +2 -0
  48. package/dist/index.js +62 -52
  49. package/dist/styles/_theme-default.scss +23 -21
  50. package/dist/styles/style.css +1 -1
  51. package/dist/styles.module-D1F3R7Vi.js +11 -0
  52. package/dist/utils/helpers.d.ts +2 -3
  53. package/dist/utils/helpers.js +20 -22
  54. package/package.json +2 -1
  55. package/dist/ValidationTooltip-BgSwl0hJ.js +0 -30
  56. package/dist/components/Dialog/DialogFocusTrap.d.ts +0 -2
  57. package/dist/components/Dialog/DialogFocusTrap.js +0 -17
  58. package/dist/components/Fields/Quantity.d.ts +0 -7
  59. package/dist/components/Fields/Quantity.js +0 -61
  60. package/dist/styles.module-CUhWny5T.js +0 -11
@@ -1,40 +1,43 @@
1
- import { jsx as o } from "react/jsx-runtime";
1
+ import { jsx as r } from "react/jsx-runtime";
2
2
  import p from "classnames";
3
3
  import { cssProps as i } from "../../utils/helpers.js";
4
4
  const h = "Segmented_segmented_UOs8Z", S = {
5
5
  segmented: h
6
- }, u = ({
7
- size: s,
8
- items: n,
6
+ }, b = ({
7
+ size: n,
8
+ items: o,
9
9
  selected: t,
10
- disabled: m,
11
- margin: r,
10
+ disabled: s,
11
+ margin: m,
12
12
  className: g,
13
- style: c,
14
- onSelect: d,
15
- ...a
16
- }) => /* @__PURE__ */ o(
13
+ style: a,
14
+ onSelect: c,
15
+ ...d
16
+ }) => /* @__PURE__ */ r(
17
17
  "div",
18
18
  {
19
- ...a,
19
+ ...d,
20
+ role: "radiogroup",
20
21
  "data-segmented": t,
21
22
  className: p(S.segmented, g),
22
23
  style: {
23
- ...c,
24
+ ...a,
24
25
  ...i({
25
- size: s,
26
- margin: r,
27
- length: n.length.toString(),
26
+ size: n,
27
+ margin: m,
28
+ length: o.length.toString(),
28
29
  selected: t.toString()
29
30
  })
30
31
  },
31
- children: n.map((l, e) => /* @__PURE__ */ o(
32
+ children: o.map((l, e) => /* @__PURE__ */ r(
32
33
  "button",
33
34
  {
35
+ role: "radio",
34
36
  type: "button",
35
- disabled: m,
37
+ disabled: s,
38
+ "aria-checked": e === t,
36
39
  "data-selected": e === t,
37
- onClick: () => e !== t && d(e),
40
+ onClick: () => e !== t && c(e),
38
41
  children: l
39
42
  },
40
43
  e
@@ -42,5 +45,5 @@ const h = "Segmented_segmented_UOs8Z", S = {
42
45
  }
43
46
  );
44
47
  export {
45
- u as Segmented
48
+ b as Segmented
46
49
  };
@@ -0,0 +1,5 @@
1
+ import { ButtonProps } from '../Button';
2
+ export type ToggleButtonProps = Omit<ButtonProps, 'variant'> & {
3
+ selected?: boolean;
4
+ };
5
+ export declare const ToggleButton: ({ selected, role, ...props }: ToggleButtonProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,16 @@
1
+ import { jsx as i } from "react/jsx-runtime";
2
+ import { Button as t } from "../Button/Button.js";
3
+ const n = ({ selected: a = !1, role: o, ...r }) => /* @__PURE__ */ i(
4
+ t,
5
+ {
6
+ ...r,
7
+ role: o,
8
+ "aria-checked": o === "radio" ? a : void 0,
9
+ "aria-pressed": o !== "radio" ? a : void 0,
10
+ "data-selected": a,
11
+ variant: a ? "primary" : "secondary"
12
+ }
13
+ );
14
+ export {
15
+ n as ToggleButton
16
+ };
@@ -0,0 +1,12 @@
1
+ import { default as React } from 'react';
2
+ export type ToggleGroupProps = Omit<React.HTMLAttributes<HTMLDivElement>, 'onSelect'> & {
3
+ variant?: 'inline' | 'block';
4
+ selected: number;
5
+ disabled?: boolean;
6
+ equalWidth?: boolean;
7
+ children: React.ReactElement[];
8
+ minWidth?: React.CSSProperties['minWidth'];
9
+ maxWidth?: React.CSSProperties['maxWidth'];
10
+ onSelect: (index: number) => void;
11
+ };
12
+ export declare const ToggleGroup: ({ variant, selected, disabled, equalWidth, minWidth, maxWidth, className, style, children, onSelect, ...props }: ToggleGroupProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,43 @@
1
+ import { jsx as _ } from "react/jsx-runtime";
2
+ import e from "react";
3
+ import x from "classnames";
4
+ import { cssProps as h } from "../../utils/helpers.js";
5
+ const k = "ToggleButton_group_yo9Nc", t = {
6
+ group: k
7
+ }, T = ({
8
+ variant: o = "inline",
9
+ selected: l,
10
+ disabled: s,
11
+ equalWidth: c,
12
+ minWidth: p,
13
+ maxWidth: i,
14
+ className: n,
15
+ style: g,
16
+ children: m,
17
+ onSelect: u,
18
+ ...d
19
+ }) => {
20
+ const a = o === "block" ? "flex" : void 0, f = c ? "0" : void 0;
21
+ return /* @__PURE__ */ _(
22
+ "div",
23
+ {
24
+ ...d,
25
+ role: "radiogroup",
26
+ "data-toggle-group": !0,
27
+ className: x(t.group, t[o], n),
28
+ style: { ...g, ...h({ display: a, flexBasis: f, minWidth: p, maxWidth: i }) },
29
+ children: e.Children.map(
30
+ m,
31
+ (y, r) => e.cloneElement(y, {
32
+ role: "radio",
33
+ disabled: s,
34
+ selected: r === l,
35
+ onClick: () => u(r)
36
+ })
37
+ )
38
+ }
39
+ );
40
+ };
41
+ export {
42
+ T as ToggleGroup
43
+ };
@@ -0,0 +1,2 @@
1
+ export * from './ToggleButton';
2
+ export * from './ToggleGroup';
@@ -0,0 +1,6 @@
1
+ import { ToggleButton as e } from "./ToggleButton.js";
2
+ import { ToggleGroup as t } from "./ToggleGroup.js";
3
+ export {
4
+ e as ToggleButton,
5
+ t as ToggleGroup
6
+ };
@@ -5,10 +5,11 @@ export type TooltipProps = Omit<React.HTMLAttributes<HTMLDivElement>, 'content'
5
5
  trigger?: Trigger;
6
6
  disabled?: boolean;
7
7
  placement?: Placement;
8
+ anchor?: Element | null;
8
9
  content: React.ReactNode;
9
10
  children: React.JSX.Element;
10
11
  minWidth?: React.CSSProperties['minWidth'];
11
12
  maxWidth?: React.CSSProperties['maxWidth'];
12
13
  };
13
- export declare const Tooltip: ({ trigger, placement, content, disabled, minWidth, maxWidth, className, children, ...props }: TooltipProps) => import("react/jsx-runtime").JSX.Element;
14
+ export declare const Tooltip: ({ trigger, placement, anchor, content, disabled, minWidth, maxWidth, className, children, ...props }: TooltipProps) => import("react/jsx-runtime").JSX.Element;
14
15
  export {};
@@ -1,78 +1,81 @@
1
- import { jsxs as d, Fragment as M, jsx as i } from "react/jsx-runtime";
2
- import P, { useRef as m, useState as w, useEffect as S } from "react";
3
- import j from "classnames";
4
- import { useFloating as k, offset as C, flip as U, shift as W, arrow as b, autoUpdate as A, useInteractions as B, useDismiss as D, useRole as H, useHover as I, useFocus as V, useClick as $, useMergeRefs as q, FloatingPortal as z, FloatingArrow as G } from "@floating-ui/react";
5
- const J = "Tooltip_tooltip_u1Uix", K = "Tooltip_arrow_NBFiV", L = "Tooltip_content_lfpfM", a = {
6
- tooltip: J,
7
- arrow: K,
8
- content: L
9
- }, ee = ({
1
+ import { jsxs as m, Fragment as S, jsx as f } from "react/jsx-runtime";
2
+ import j, { useRef as w, useState as g, useEffect as R } from "react";
3
+ import k from "classnames";
4
+ import { useFloating as C, offset as U, flip as W, shift as b, arrow as A, autoUpdate as B, useInteractions as D, useDismiss as H, useRole as I, useHover as V, useFocus as $, useClick as q, useMergeRefs as z, FloatingPortal as G, FloatingArrow as J } from "@floating-ui/react";
5
+ const K = "Tooltip_tooltip_u1Uix", L = "Tooltip_arrow_NBFiV", Q = "Tooltip_content_lfpfM", a = {
6
+ tooltip: K,
7
+ arrow: L,
8
+ content: Q
9
+ }, te = ({
10
10
  trigger: r = "hover focus",
11
- placement: f = "top",
12
- content: g,
13
- disabled: l,
14
- minWidth: h,
15
- maxWidth: R,
16
- className: F,
17
- children: t,
18
- ..._
11
+ placement: c = "top",
12
+ anchor: l,
13
+ content: h,
14
+ disabled: i,
15
+ minWidth: F,
16
+ maxWidth: _,
17
+ className: v,
18
+ children: o,
19
+ ...x
19
20
  }) => {
20
- const c = m(null), u = m(null), [p, v] = w(!1), [x, O] = w(!1), { refs: n, context: e, floatingStyles: N } = k({
21
- open: p,
22
- placement: f,
23
- onOpenChange: v,
24
- whileElementsMounted: A,
21
+ const u = w(null), p = w(null), [d, O] = g(!1), [N, P] = g(!1), { refs: e, context: t, floatingStyles: T } = C({
22
+ open: d,
23
+ placement: c,
24
+ onOpenChange: O,
25
+ whileElementsMounted: B,
25
26
  middleware: [
26
- C(8),
27
- U(),
27
+ U(8),
28
28
  W(),
29
- b(({ placement: o, rects: s }) => (O(
30
- s.floating.width < s.reference.width && (o.endsWith("-start") || o.endsWith("-end"))
31
- ), { element: c, padding: 8 }))
29
+ b(),
30
+ A(({ placement: s, rects: n }) => (P(
31
+ n.floating.width < n.reference.width && (s.endsWith("-start") || s.endsWith("-end"))
32
+ ), { element: u, padding: 8 }))
32
33
  ]
33
- }), { getReferenceProps: T, getFloatingProps: y } = B([
34
- D(e),
35
- H(e, { role: "tooltip" }),
36
- I(e, { move: !1, enabled: r.includes("hover") }),
37
- V(e, { enabled: r.includes("focus") }),
38
- $(e, { enabled: r.includes("click") })
39
- ]), E = q([
40
- n.setReference,
41
- "ref" in t ? t.ref : null
34
+ }), { getReferenceProps: y, getFloatingProps: E } = D([
35
+ H(t),
36
+ I(t, { role: "tooltip" }),
37
+ V(t, { move: !1, enabled: r.includes("hover") }),
38
+ $(t, { enabled: r.includes("focus") }),
39
+ q(t, { enabled: r.includes("click") })
40
+ ]), M = z([
41
+ e.setReference,
42
+ "ref" in o ? o.ref : null
42
43
  ]);
43
- return S(() => {
44
- var s;
45
- const o = (s = n.domReference.current) == null ? void 0 : s.closest("[data-floating-root]");
46
- !l && o && (u.current = o);
47
- }, [n, l]), l ? t : /* @__PURE__ */ d(M, { children: [
48
- P.cloneElement(t, T({ ref: E, ...t.props })),
49
- p && /* @__PURE__ */ i(z, { root: u, children: /* @__PURE__ */ d(
44
+ return R(() => {
45
+ var n;
46
+ const s = (n = e.domReference.current) == null ? void 0 : n.closest("[data-floating-root]");
47
+ !i && s && (p.current = s);
48
+ }, [e, i]), R(() => {
49
+ l && e.setPositionReference(l);
50
+ }, [e, l]), i ? o : /* @__PURE__ */ m(S, { children: [
51
+ j.cloneElement(o, y({ ref: M, ...o.props })),
52
+ d && /* @__PURE__ */ f(G, { root: p, children: /* @__PURE__ */ m(
50
53
  "div",
51
54
  {
52
- ..._,
53
- ref: n.setFloating,
54
- "data-tooltip": f,
55
- className: j(a.tooltip, F),
56
- style: { ...N, minWidth: h, maxWidth: R },
57
- ...y(),
55
+ ...x,
56
+ ref: e.setFloating,
57
+ "data-tooltip": c,
58
+ className: k(a.tooltip, v),
59
+ style: { ...T, minWidth: F, maxWidth: _ },
60
+ ...E(),
58
61
  children: [
59
- /* @__PURE__ */ i(
60
- G,
62
+ /* @__PURE__ */ f(
63
+ J,
61
64
  {
62
65
  width: 12,
63
66
  height: 6,
64
- ref: c,
65
- context: e,
67
+ ref: u,
68
+ context: t,
66
69
  className: a.arrow,
67
- staticOffset: x ? 8 : null
70
+ staticOffset: N ? 8 : null
68
71
  }
69
72
  ),
70
- /* @__PURE__ */ i("div", { className: a.content, children: g })
73
+ /* @__PURE__ */ f("div", { className: a.content, children: h })
71
74
  ]
72
75
  }
73
76
  ) })
74
77
  ] });
75
78
  };
76
79
  export {
77
- ee as Tooltip
80
+ te as Tooltip
78
81
  };
package/dist/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  export * from './components/Avatar';
2
2
  export * from './components/Badge';
3
+ export * from './components/Breadcrumbs';
3
4
  export * from './components/Button';
4
5
  export * from './components/Dialog';
5
6
  export * from './components/Flex';
@@ -12,5 +13,6 @@ export * from './components/Progress';
12
13
  export * from './components/Segmented';
13
14
  export * from './components/Spinner';
14
15
  export * from './components/Tag';
16
+ export * from './components/ToggleButton';
15
17
  export * from './components/Tooltip';
16
18
  export * from './utils/colors';
package/dist/index.js CHANGED
@@ -1,62 +1,72 @@
1
1
  import { Avatar as e } from "./components/Avatar/Avatar.js";
2
2
  import { Badge as p } from "./components/Badge/Badge.js";
3
- import { Button as m } from "./components/Button/Button.js";
4
- import { Dialog as a, DialogClose as i, DialogContent as l, DialogFooter as n, DialogTitle as g } from "./components/Dialog/Dialog.js";
3
+ import { Breadcrumbs as x } from "./components/Breadcrumbs/Breadcrumbs.js";
4
+ import { Button as a } from "./components/Button/Button.js";
5
+ import { Dialog as l, DialogClose as g, DialogContent as n, DialogFooter as s, DialogTitle as u } from "./components/Dialog/Dialog.js";
5
6
  import { useDialog as d } from "./components/Dialog/useDialog.js";
6
- import { withDialog as u } from "./components/Dialog/withDialog.js";
7
+ import { withDialog as T } from "./components/Dialog/withDialog.js";
7
8
  import { Flex as F } from "./components/Flex/Flex.js";
8
- import { Checkbox as C } from "./components/Fields/Checkbox.js";
9
- import { Field as B, FieldDescription as S, FieldLabel as b } from "./components/Fields/Field.js";
10
- import { I as M } from "./Input-DE1QkW7S.js";
11
- import { Quantity as V } from "./components/Fields/Quantity.js";
12
- import { Radio as v } from "./components/Fields/Radio.js";
13
- import { Select as y } from "./components/Fields/Select.js";
14
- import { Textarea as H } from "./components/Fields/Textarea.js";
15
- import { V as N } from "./ValidationTooltip-BgSwl0hJ.js";
16
- import { Heading as R } from "./components/Heading/Heading.js";
17
- import { Icon as q } from "./components/Icon/Icon.js";
18
- import { Menu as E } from "./components/Menu/Menu.js";
19
- import { MenuItem as J } from "./components/Menu/MenuItem.js";
20
- import { Notice as O } from "./components/Notice/Notice.js";
21
- import { ProgressBar as W } from "./components/Progress/ProgressBar.js";
22
- import { ProgressCircular as Y } from "./components/Progress/ProgressCircular.js";
23
- import { Segmented as _ } from "./components/Segmented/Segmented.js";
24
- import { Spinner as oo } from "./components/Spinner/Spinner.js";
25
- import { Tag as eo } from "./components/Tag/Tag.js";
26
- import { Tooltip as po } from "./components/Tooltip/Tooltip.js";
27
- import { palette as mo } from "./utils/colors.js";
9
+ import { Checkbox as I } from "./components/Fields/Checkbox.js";
10
+ import { Field as b, FieldDescription as h, FieldLabel as w } from "./components/Fields/Field.js";
11
+ import { I as N } from "./Input-D46mAsdt.js";
12
+ import { Numeric as R } from "./components/Fields/Numeric.js";
13
+ import { Radio as k } from "./components/Fields/Radio.js";
14
+ import { Range as A } from "./components/Fields/Range.js";
15
+ import { Select as H } from "./components/Fields/Select.js";
16
+ import { Switch as j } from "./components/Fields/Switch.js";
17
+ import { Textarea as y } from "./components/Fields/Textarea.js";
18
+ import { V as E } from "./ValidationTooltip-D8d9O6Re.js";
19
+ import { Heading as K } from "./components/Heading/Heading.js";
20
+ import { Icon as Q } from "./components/Icon/Icon.js";
21
+ import { Menu as W } from "./components/Menu/Menu.js";
22
+ import { MenuItem as Y } from "./components/Menu/MenuItem.js";
23
+ import { Notice as _ } from "./components/Notice/Notice.js";
24
+ import { ProgressBar as oo } from "./components/Progress/ProgressBar.js";
25
+ import { ProgressCircular as eo } from "./components/Progress/ProgressCircular.js";
26
+ import { Segmented as po } from "./components/Segmented/Segmented.js";
27
+ import { Spinner as xo } from "./components/Spinner/Spinner.js";
28
+ import { Tag as ao } from "./components/Tag/Tag.js";
29
+ import { ToggleButton as lo } from "./components/ToggleButton/ToggleButton.js";
30
+ import { ToggleGroup as no } from "./components/ToggleButton/ToggleGroup.js";
31
+ import { Tooltip as uo } from "./components/Tooltip/Tooltip.js";
32
+ import { palette as Do } from "./utils/colors.js";
28
33
  export {
29
34
  e as Avatar,
30
35
  p as Badge,
31
- m as Button,
32
- C as Checkbox,
33
- a as Dialog,
34
- i as DialogClose,
35
- l as DialogContent,
36
- n as DialogFooter,
37
- g as DialogTitle,
38
- B as Field,
39
- S as FieldDescription,
40
- b as FieldLabel,
36
+ x as Breadcrumbs,
37
+ a as Button,
38
+ I as Checkbox,
39
+ l as Dialog,
40
+ g as DialogClose,
41
+ n as DialogContent,
42
+ s as DialogFooter,
43
+ u as DialogTitle,
44
+ b as Field,
45
+ h as FieldDescription,
46
+ w as FieldLabel,
41
47
  F as Flex,
42
- R as Heading,
43
- q as Icon,
44
- M as Input,
45
- E as Menu,
46
- J as MenuItem,
47
- O as Notice,
48
- W as ProgressBar,
49
- Y as ProgressCircular,
50
- V as Quantity,
51
- v as Radio,
52
- _ as Segmented,
53
- y as Select,
54
- oo as Spinner,
55
- eo as Tag,
56
- H as Textarea,
57
- po as Tooltip,
58
- N as ValidationTooltip,
59
- mo as palette,
48
+ K as Heading,
49
+ Q as Icon,
50
+ N as Input,
51
+ W as Menu,
52
+ Y as MenuItem,
53
+ _ as Notice,
54
+ R as Numeric,
55
+ oo as ProgressBar,
56
+ eo as ProgressCircular,
57
+ k as Radio,
58
+ A as Range,
59
+ po as Segmented,
60
+ H as Select,
61
+ xo as Spinner,
62
+ j as Switch,
63
+ ao as Tag,
64
+ y as Textarea,
65
+ lo as ToggleButton,
66
+ no as ToggleGroup,
67
+ uo as Tooltip,
68
+ E as ValidationTooltip,
69
+ Do as palette,
60
70
  d as useDialog,
61
- u as withDialog
71
+ T as withDialog
62
72
  };
@@ -13,17 +13,17 @@ $font-weight: (
13
13
 
14
14
  $font-size: (
15
15
  em: 16px,
16
- xs: 0.750rem,
17
- sm: 0.875rem,
18
- md: 1.000rem,
19
- lg: 1.125rem,
20
- xl: 1.250rem,
21
- h6: clamp(1.000rem, 2.25vw, 1.125rem),
22
- h5: clamp(1.125rem, 2.50vw, 1.250rem),
23
- h4: clamp(1.250rem, 3.00vw, 1.500rem),
24
- h3: clamp(1.500rem, 3.50vw, 1.750rem),
25
- h2: clamp(1.750rem, 4.00vw, 2.000rem),
26
- h1: clamp(2.000rem, 5.00vw, 2.500rem),
16
+ xs: 0.750rem, // 12
17
+ sm: 0.875rem, // 14
18
+ md: 1.000rem, // 16
19
+ lg: 1.125rem, // 18
20
+ xl: 1.250rem, // 20
21
+ h6: clamp(1.000rem, 2.25vw, 1.125rem), // 16 → 18
22
+ h5: clamp(1.125rem, 2.50vw, 1.250rem), // 18 → 20
23
+ h4: clamp(1.250rem, 3.00vw, 1.500rem), // 20 → 24
24
+ h3: clamp(1.500rem, 3.50vw, 1.750rem), // 24 → 28
25
+ h2: clamp(1.750rem, 4.00vw, 2.000rem), // 28 → 32
26
+ h1: clamp(2.000rem, 5.00vw, 2.500rem), // 32 → 40
27
27
  );
28
28
 
29
29
  $line-height: (
@@ -35,19 +35,21 @@ $line-height: (
35
35
  );
36
36
 
37
37
  $border-radius: (
38
- xs: 0.1875rem, // 3px
39
- sm: 0.3125rem, // 5px
40
- md: 0.5000rem, // 8px
41
- lg: 0.7500rem, // 12px
42
- xl: 1.1250rem, // 18px
38
+ xs: 0.1875rem, // 03
39
+ sm: 0.3125rem, // 05
40
+ md: 0.5000rem, // 08
41
+ lg: 0.7500rem, // 12
42
+ xl: 1.1250rem, // 18
43
43
  );
44
44
 
45
45
  $spacing: (
46
- xs: clamp(0.5rem, 0.9765625vw, 0.625rem), // 8 → 10
47
- sm: clamp(1.0rem, 1.7578125vw, 1.125rem), // 1618
48
- md: clamp(1.5rem, 2.7343750vw, 1.750rem), // 2428
49
- lg: clamp(2.0rem, 3.5156250vw, 2.250rem), // 3236
50
- xl: clamp(2.5rem, 4.4921875vw, 2.875rem), // 4046
46
+ 2xs: clamp(0.500rem, 1.25vw, 0.625rem), // 08 → 10
47
+ xs: clamp(0.750rem, 1.75vw, 0.875rem), // 1214
48
+ sm: clamp(1.000rem, 2.50vw, 1.250rem), // 1620
49
+ md: clamp(1.375rem, 3.50vw, 1.750rem), // 2228
50
+ lg: clamp(1.875rem, 4.75vw, 2.375rem), // 3038
51
+ xl: clamp(2.500rem, 6.25vw, 3.125rem), // 40 → 50
52
+ 2xl: clamp(3.250rem, 8.00vw, 4.000rem), // 52 → 64
51
53
  );
52
54
 
53
55
  $drop-shadow: (