@frontify/fondue 12.6.0 → 12.7.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.
@@ -1,12 +1,12 @@
1
- import { jsxs as n, jsx as t } from "react/jsx-runtime";
2
- import { useBreadcrumbItem as f } from "@react-aria/breadcrumbs";
3
- import { useFocusRing as h } from "@react-aria/focus";
4
- import { mergeProps as g } from "@react-aria/utils";
5
- import { useRef as b } from "react";
6
- import { getItemElementType as y } from "../../utilities/elements.es.js";
7
- import { FOCUS_STYLE_NO_OFFSET as F } from "../../utilities/focusStyle.es.js";
8
- import { merge as N } from "../../utilities/merge.es.js";
9
- const T = () => /* @__PURE__ */ t(
1
+ import { jsxs as a, jsx as r } from "react/jsx-runtime";
2
+ import { useBreadcrumbItem as b } from "@react-aria/breadcrumbs";
3
+ import { useFocusRing as y } from "@react-aria/focus";
4
+ import { mergeProps as F } from "@react-aria/utils";
5
+ import { useRef as I } from "react";
6
+ import { getItemElementType as N } from "../../utilities/elements.es.js";
7
+ import { FOCUS_STYLE_NO_OFFSET as v } from "../../utilities/focusStyle.es.js";
8
+ import { merge as c } from "../../utilities/merge.es.js";
9
+ const T = () => /* @__PURE__ */ r(
10
10
  "svg",
11
11
  {
12
12
  "aria-hidden": "true",
@@ -16,45 +16,52 @@ const T = () => /* @__PURE__ */ t(
16
16
  fill: "none",
17
17
  className: "tw-stroke-current tw-text-black-20",
18
18
  xmlns: "http://www.w3.org/2000/svg",
19
- children: /* @__PURE__ */ t("line", { x1: "3.52447", y1: "16.0623", x2: "8.46874", y2: "0.845385" })
19
+ children: /* @__PURE__ */ r("line", { x1: "3.52447", y1: "16.0623", x2: "8.46874", y2: "0.845385" })
20
20
  }
21
- ), P = ({
22
- decorator: i,
23
- label: r,
24
- link: s,
25
- onClick: o,
26
- showSeparator: a,
27
- children: c,
28
- "data-test-id": p = "breadcrumb"
21
+ ), B = ({
22
+ decorator: p,
23
+ label: s,
24
+ link: o,
25
+ onClick: m,
26
+ showSeparator: w,
27
+ children: l,
28
+ "data-test-id": d = "breadcrumb"
29
29
  }) => {
30
- const m = b(null), e = y(s, o), { itemProps: l } = f(
30
+ const n = I(null), t = N(o, m), e = t !== "span", { itemProps: u } = b(
31
31
  {
32
32
  isCurrent: !1,
33
- children: r,
34
- elementType: e
33
+ children: s,
34
+ elementType: t
35
35
  },
36
- m
37
- ), { isFocusVisible: w, focusProps: d } = h(), u = g(l, d, { a: { href: s }, button: { onClick: o, type: "button" }, span: {} }[e]), x = N([
36
+ n
37
+ ), { isFocusVisible: x, focusProps: f } = y(), i = {
38
+ a: { href: o },
39
+ button: { onClick: m, type: "button" },
40
+ span: { tabIndex: -1 }
41
+ }, h = e ? F(u, f, i[t]) : i[t], g = c([
38
42
  "tw-flex tw-gap-x-1 tw-items-center tw-leading-4 tw-h-6 tw-whitespace-pre-wrap tw-rounded",
39
- w && F
43
+ e && x && v
40
44
  ]);
41
- return /* @__PURE__ */ n(
45
+ return /* @__PURE__ */ a(
42
46
  "li",
43
47
  {
44
- className: "tw-flex tw-items-center tw-text-text-weak hover:tw-text-text tw-text-xs tw-transition-colors",
45
- "data-test-id": `${p}-item`,
48
+ className: c([
49
+ "tw-flex tw-items-center tw-text-text-weak tw-text-xs tw-transition-colors",
50
+ e && "hover:tw-text-text"
51
+ ]),
52
+ "data-test-id": `${d}-item`,
46
53
  children: [
47
- c ?? /* @__PURE__ */ n(e, { ref: m, ...u, className: x, children: [
48
- i,
49
- r
54
+ l ?? /* @__PURE__ */ a(t, { ref: n, ...h, className: g, children: [
55
+ p,
56
+ s
50
57
  ] }),
51
- a && /* @__PURE__ */ t(T, {})
58
+ w && /* @__PURE__ */ r(T, {})
52
59
  ]
53
60
  }
54
61
  );
55
62
  };
56
- P.displayName = "FondueBreadcrumbItem";
63
+ B.displayName = "FondueBreadcrumbItem";
57
64
  export {
58
- P as BreadcrumbItem
65
+ B as BreadcrumbItem
59
66
  };
60
67
  //# sourceMappingURL=BreadcrumbItem.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BreadcrumbItem.es.js","sources":["../../../src/components/Breadcrumbs/BreadcrumbItem.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { useBreadcrumbItem } from '@react-aria/breadcrumbs';\nimport { useFocusRing } from '@react-aria/focus';\nimport { mergeProps } from '@react-aria/utils';\nimport { type ReactElement, useRef } from 'react';\n\nimport { getItemElementType } from '@utilities/elements';\nimport { FOCUS_STYLE_NO_OFFSET } from '@utilities/focusStyle';\nimport { merge } from '@utilities/merge';\n\nimport { type Breadcrumb } from './Breadcrumbs';\n\nconst Separator = () => (\n <svg\n aria-hidden=\"true\"\n width=\"13\"\n height=\"17\"\n viewBox=\"0 0 13 17\"\n fill=\"none\"\n className=\"tw-stroke-current tw-text-black-20\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <line x1=\"3.52447\" y1=\"16.0623\" x2=\"8.46874\" y2=\"0.845385\" />\n </svg>\n);\n\ntype BreadcrumbItemProps = Pick<Breadcrumb, 'label' | 'link' | 'onClick' | 'decorator'> & {\n showSeparator: boolean;\n children?: ReactElement;\n 'data-test-id'?: string;\n};\n\nexport const BreadcrumbItem = ({\n decorator,\n label,\n link,\n onClick,\n showSeparator,\n children,\n 'data-test-id': dataTestId = 'breadcrumb',\n}: BreadcrumbItemProps): ReactElement => {\n const ref = useRef(null);\n\n const Element = getItemElementType(link, onClick);\n\n const { itemProps } = useBreadcrumbItem(\n {\n isCurrent: false,\n children: label,\n elementType: Element,\n },\n ref,\n );\n\n const { isFocusVisible, focusProps } = useFocusRing();\n\n const elementTypeProps = { a: { href: link }, button: { onClick, type: 'button' as const }, span: {} };\n const props = mergeProps(itemProps, focusProps, elementTypeProps[Element]);\n\n const classNames = merge([\n 'tw-flex tw-gap-x-1 tw-items-center tw-leading-4 tw-h-6 tw-whitespace-pre-wrap tw-rounded',\n isFocusVisible && FOCUS_STYLE_NO_OFFSET,\n ]);\n\n return (\n <li\n className=\"tw-flex tw-items-center tw-text-text-weak hover:tw-text-text tw-text-xs tw-transition-colors\"\n data-test-id={`${dataTestId}-item`}\n >\n {children ?? (\n <Element ref={ref} {...props} className={classNames}>\n {decorator}\n {label}\n </Element>\n )}\n {showSeparator && <Separator />}\n </li>\n );\n};\nBreadcrumbItem.displayName = 'FondueBreadcrumbItem';\n"],"names":["Separator","jsx","BreadcrumbItem","decorator","label","link","onClick","showSeparator","children","dataTestId","ref","useRef","Element","getItemElementType","itemProps","useBreadcrumbItem","isFocusVisible","focusProps","useFocusRing","props","mergeProps","classNames","merge","FOCUS_STYLE_NO_OFFSET","jsxs"],"mappings":";;;;;;;;AAaA,MAAMA,IAAY,MACd,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACG,eAAY;AAAA,IACZ,OAAM;AAAA,IACN,QAAO;AAAA,IACP,SAAQ;AAAA,IACR,MAAK;AAAA,IACL,WAAU;AAAA,IACV,OAAM;AAAA,IAEN,UAAA,gBAAAA,EAAC,UAAK,IAAG,WAAU,IAAG,WAAU,IAAG,WAAU,IAAG,WAAW,CAAA;AAAA,EAAA;AAC/D,GASSC,IAAiB,CAAC;AAAA,EAC3B,WAAAC;AAAA,EACA,OAAAC;AAAA,EACA,MAAAC;AAAA,EACA,SAAAC;AAAA,EACA,eAAAC;AAAA,EACA,UAAAC;AAAA,EACA,gBAAgBC,IAAa;AACjC,MAAyC;AAC/B,QAAAC,IAAMC,EAAO,IAAI,GAEjBC,IAAUC,EAAmBR,GAAMC,CAAO,GAE1C,EAAE,WAAAQ,MAAcC;AAAA,IAClB;AAAA,MACI,WAAW;AAAA,MACX,UAAUX;AAAA,MACV,aAAaQ;AAAA,IACjB;AAAA,IACAF;AAAA,EACJ,GAEM,EAAE,gBAAAM,GAAgB,YAAAC,EAAW,IAAIC,EAAa,GAG9CC,IAAQC,EAAWN,GAAWG,GADX,EAAE,GAAG,EAAE,MAAMZ,EAAK,GAAG,QAAQ,EAAE,SAAAC,GAAS,MAAM,SAAA,GAAqB,MAAM,CAAA,EAAG,EACpCM,CAAO,CAAC,GAEnES,IAAaC,EAAM;AAAA,IACrB;AAAA,IACAN,KAAkBO;AAAA,EAAA,CACrB;AAGG,SAAA,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACG,WAAU;AAAA,MACV,gBAAc,GAAGf,CAAU;AAAA,MAE1B,UAAA;AAAA,QAAAD,uBACII,GAAQ,EAAA,KAAAF,GAAW,GAAGS,GAAO,WAAWE,GACpC,UAAA;AAAA,UAAAlB;AAAA,UACAC;AAAA,QAAA,GACL;AAAA,QAEHG,uBAAkBP,GAAU,CAAA,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EACjC;AAER;AACAE,EAAe,cAAc;"}
1
+ {"version":3,"file":"BreadcrumbItem.es.js","sources":["../../../src/components/Breadcrumbs/BreadcrumbItem.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { useBreadcrumbItem } from '@react-aria/breadcrumbs';\nimport { useFocusRing } from '@react-aria/focus';\nimport { mergeProps } from '@react-aria/utils';\nimport { type ReactElement, useRef } from 'react';\n\nimport { getItemElementType } from '@utilities/elements';\nimport { FOCUS_STYLE_NO_OFFSET } from '@utilities/focusStyle';\nimport { merge } from '@utilities/merge';\n\nimport { type Breadcrumb } from './Breadcrumbs';\n\nconst Separator = () => (\n <svg\n aria-hidden=\"true\"\n width=\"13\"\n height=\"17\"\n viewBox=\"0 0 13 17\"\n fill=\"none\"\n className=\"tw-stroke-current tw-text-black-20\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <line x1=\"3.52447\" y1=\"16.0623\" x2=\"8.46874\" y2=\"0.845385\" />\n </svg>\n);\n\ntype BreadcrumbItemProps = Pick<Breadcrumb, 'label' | 'link' | 'onClick' | 'decorator'> & {\n showSeparator: boolean;\n children?: ReactElement;\n 'data-test-id'?: string;\n};\n\nexport const BreadcrumbItem = ({\n decorator,\n label,\n link,\n onClick,\n showSeparator,\n children,\n 'data-test-id': dataTestId = 'breadcrumb',\n}: BreadcrumbItemProps): ReactElement => {\n const ref = useRef(null);\n\n const Element = getItemElementType(link, onClick);\n const isInteractive = Element !== 'span';\n\n const { itemProps } = useBreadcrumbItem(\n {\n isCurrent: false,\n children: label,\n elementType: Element,\n },\n ref,\n );\n\n const { isFocusVisible, focusProps } = useFocusRing();\n\n const elementTypeProps = {\n a: { href: link },\n button: { onClick, type: 'button' as const },\n span: { tabIndex: -1 },\n };\n const props = isInteractive\n ? mergeProps(itemProps, focusProps, elementTypeProps[Element])\n : elementTypeProps[Element];\n\n const classNames = merge([\n 'tw-flex tw-gap-x-1 tw-items-center tw-leading-4 tw-h-6 tw-whitespace-pre-wrap tw-rounded',\n isInteractive && isFocusVisible && FOCUS_STYLE_NO_OFFSET,\n ]);\n\n return (\n <li\n className={merge([\n 'tw-flex tw-items-center tw-text-text-weak tw-text-xs tw-transition-colors',\n isInteractive && 'hover:tw-text-text',\n ])}\n data-test-id={`${dataTestId}-item`}\n >\n {children ?? (\n <Element ref={ref} {...props} className={classNames}>\n {decorator}\n {label}\n </Element>\n )}\n {showSeparator && <Separator />}\n </li>\n );\n};\nBreadcrumbItem.displayName = 'FondueBreadcrumbItem';\n"],"names":["Separator","jsx","BreadcrumbItem","decorator","label","link","onClick","showSeparator","children","dataTestId","ref","useRef","Element","getItemElementType","isInteractive","itemProps","useBreadcrumbItem","isFocusVisible","focusProps","useFocusRing","elementTypeProps","props","mergeProps","classNames","merge","FOCUS_STYLE_NO_OFFSET","jsxs"],"mappings":";;;;;;;;AAaA,MAAMA,IAAY,MACd,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACG,eAAY;AAAA,IACZ,OAAM;AAAA,IACN,QAAO;AAAA,IACP,SAAQ;AAAA,IACR,MAAK;AAAA,IACL,WAAU;AAAA,IACV,OAAM;AAAA,IAEN,UAAA,gBAAAA,EAAC,UAAK,IAAG,WAAU,IAAG,WAAU,IAAG,WAAU,IAAG,WAAW,CAAA;AAAA,EAAA;AAC/D,GASSC,IAAiB,CAAC;AAAA,EAC3B,WAAAC;AAAA,EACA,OAAAC;AAAA,EACA,MAAAC;AAAA,EACA,SAAAC;AAAA,EACA,eAAAC;AAAA,EACA,UAAAC;AAAA,EACA,gBAAgBC,IAAa;AACjC,MAAyC;AAC/B,QAAAC,IAAMC,EAAO,IAAI,GAEjBC,IAAUC,EAAmBR,GAAMC,CAAO,GAC1CQ,IAAgBF,MAAY,QAE5B,EAAE,WAAAG,MAAcC;AAAA,IAClB;AAAA,MACI,WAAW;AAAA,MACX,UAAUZ;AAAA,MACV,aAAaQ;AAAA,IACjB;AAAA,IACAF;AAAA,EACJ,GAEM,EAAE,gBAAAO,GAAgB,YAAAC,EAAW,IAAIC,EAAa,GAE9CC,IAAmB;AAAA,IACrB,GAAG,EAAE,MAAMf,EAAK;AAAA,IAChB,QAAQ,EAAE,SAAAC,GAAS,MAAM,SAAkB;AAAA,IAC3C,MAAM,EAAE,UAAU,GAAG;AAAA,EACzB,GACMe,IAAQP,IACRQ,EAAWP,GAAWG,GAAYE,EAAiBR,CAAO,CAAC,IAC3DQ,EAAiBR,CAAO,GAExBW,IAAaC,EAAM;AAAA,IACrB;AAAA,IACAV,KAAiBG,KAAkBQ;AAAA,EAAA,CACtC;AAGG,SAAA,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACG,WAAWF,EAAM;AAAA,QACb;AAAA,QACAV,KAAiB;AAAA,MAAA,CACpB;AAAA,MACD,gBAAc,GAAGL,CAAU;AAAA,MAE1B,UAAA;AAAA,QAAAD,uBACII,GAAQ,EAAA,KAAAF,GAAW,GAAGW,GAAO,WAAWE,GACpC,UAAA;AAAA,UAAApB;AAAA,UACAC;AAAA,QAAA,GACL;AAAA,QAEHG,uBAAkBP,GAAU,CAAA,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EACjC;AAER;AACAE,EAAe,cAAc;"}
@@ -1,55 +1,59 @@
1
- import { jsxs as i } from "react/jsx-runtime";
2
- import { useRef as F, createElement as E } from "react";
1
+ import { jsxs as c } from "react/jsx-runtime";
2
+ import { useRef as E, createElement as I } from "react";
3
3
  import { useBreadcrumbItem as N } from "@react-aria/breadcrumbs";
4
4
  import { useFocusRing as T } from "@react-aria/focus";
5
5
  import { mergeProps as B } from "@react-aria/utils";
6
6
  import { getItemElementType as P } from "../../utilities/elements.es.js";
7
7
  import { FOCUS_STYLE_NO_OFFSET as C } from "../../utilities/focusStyle.es.js";
8
- import { merge as p } from "../../utilities/merge.es.js";
9
- import { Badge as I } from "../Badge/Badge.es.js";
10
- const O = ({
8
+ import { merge as a } from "../../utilities/merge.es.js";
9
+ import { Badge as O } from "../Badge/Badge.es.js";
10
+ const S = ({
11
11
  label: r,
12
- badges: t,
13
- bold: c,
14
- decorator: a,
12
+ badges: e,
13
+ bold: u,
14
+ decorator: l,
15
15
  link: m,
16
16
  onClick: o,
17
17
  activeInline: s,
18
- "data-test-id": u = "breadcrumb"
18
+ "data-test-id": w = "breadcrumb"
19
19
  }) => {
20
- const n = F(null), e = P(m, o), { itemProps: l } = N(
20
+ const n = E(null), t = P(m, o), i = t !== "span", { itemProps: d } = N(
21
21
  {
22
22
  isCurrent: !0,
23
23
  children: r,
24
- elementType: e
24
+ elementType: t
25
25
  },
26
26
  n
27
- ), w = { a: { href: m }, button: { onClick: o, type: "button" }, span: {} }, { isFocusVisible: d, focusProps: f } = T(), x = B(l, f, w[e]), b = p([
27
+ ), p = {
28
+ a: { href: m },
29
+ button: { onClick: o, type: "button" },
30
+ span: { tabIndex: -1 }
31
+ }, { isFocusVisible: f, focusProps: x } = T(), b = i ? B(d, x, p[t]) : p[t], h = a([
28
32
  "tw-flex tw-gap-x-1 tw-items-center tw-leading-4 tw-h-6 tw-whitespace-pre-wrap tw-font-medium tw-rounded",
29
- c && "tw-font-bold",
33
+ u && "tw-font-bold",
30
34
  s && "tw-text-xs",
31
- d && C
35
+ i && f && C
32
36
  ]);
33
- return /* @__PURE__ */ i(
37
+ return /* @__PURE__ */ c(
34
38
  "li",
35
39
  {
36
- className: p([
40
+ className: a([
37
41
  "tw-align-middle tw-gap-x-1 tw-text-m tw-text-text tw-items-center",
38
42
  s ? "tw-flex tw-items-center" : "tw-w-full tw-inline-flex"
39
43
  ]),
40
- "data-test-id": `${u}-item`,
44
+ "data-test-id": `${w}-item`,
41
45
  children: [
42
- /* @__PURE__ */ i(e, { ref: n, ...x, className: b, children: [
43
- a,
46
+ /* @__PURE__ */ c(t, { ref: n, ...b, className: h, children: [
47
+ l,
44
48
  r
45
49
  ] }),
46
- t == null ? void 0 : t.map(({ children: h, ...g }, y) => /* @__PURE__ */ E(I, { ...g, key: `breadcrumb-badge-${y}` }, h))
50
+ e == null ? void 0 : e.map(({ children: g, ...y }, F) => /* @__PURE__ */ I(O, { ...y, key: `breadcrumb-badge-${F}` }, g))
47
51
  ]
48
52
  }
49
53
  );
50
54
  };
51
- O.displayName = "FondueCurrentBreadcrumbItem";
55
+ S.displayName = "FondueCurrentBreadcrumbItem";
52
56
  export {
53
- O as CurrentBreadcrumbItem
57
+ S as CurrentBreadcrumbItem
54
58
  };
55
59
  //# sourceMappingURL=CurrentBreadcrumbItem.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CurrentBreadcrumbItem.es.js","sources":["../../../src/components/Breadcrumbs/CurrentBreadcrumbItem.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { useBreadcrumbItem } from '@react-aria/breadcrumbs';\nimport { useFocusRing } from '@react-aria/focus';\nimport { mergeProps } from '@react-aria/utils';\nimport { type ReactElement, useRef } from 'react';\n\nimport { Badge } from '@components/Badge';\nimport { getItemElementType } from '@utilities/elements';\nimport { FOCUS_STYLE_NO_OFFSET } from '@utilities/focusStyle';\nimport { merge } from '@utilities/merge';\n\nimport { type Breadcrumb } from './Breadcrumbs';\n\ntype CurrentBreadcrumbItemProps = Breadcrumb;\n\nexport const CurrentBreadcrumbItem = ({\n label,\n badges,\n bold,\n decorator,\n link,\n onClick,\n activeInline,\n 'data-test-id': dataTestId = 'breadcrumb',\n}: CurrentBreadcrumbItemProps): ReactElement => {\n const ref = useRef(null);\n const Element = getItemElementType(link, onClick);\n const { itemProps } = useBreadcrumbItem(\n {\n isCurrent: true,\n children: label,\n elementType: Element,\n },\n ref,\n );\n\n const elementTypeProps = { a: { href: link }, button: { onClick, type: 'button' as const }, span: {} };\n\n const { isFocusVisible, focusProps } = useFocusRing();\n const props = mergeProps(itemProps, focusProps, elementTypeProps[Element]);\n\n const classNames = merge([\n 'tw-flex tw-gap-x-1 tw-items-center tw-leading-4 tw-h-6 tw-whitespace-pre-wrap tw-font-medium tw-rounded',\n bold && 'tw-font-bold',\n activeInline && 'tw-text-xs',\n isFocusVisible && FOCUS_STYLE_NO_OFFSET,\n ]);\n\n return (\n <li\n className={merge([\n 'tw-align-middle tw-gap-x-1 tw-text-m tw-text-text tw-items-center',\n activeInline ? 'tw-flex tw-items-center' : 'tw-w-full tw-inline-flex',\n ])}\n data-test-id={`${dataTestId}-item`}\n >\n <Element ref={ref} {...props} className={classNames}>\n {decorator}\n {label}\n </Element>\n {badges?.map(({ children: badge, ...props }, index) => (\n <Badge {...props} key={`breadcrumb-badge-${index}`}>\n {badge}\n </Badge>\n ))}\n </li>\n );\n};\nCurrentBreadcrumbItem.displayName = 'FondueCurrentBreadcrumbItem';\n"],"names":["CurrentBreadcrumbItem","label","badges","bold","decorator","link","onClick","activeInline","dataTestId","ref","useRef","Element","getItemElementType","itemProps","useBreadcrumbItem","elementTypeProps","isFocusVisible","focusProps","useFocusRing","props","mergeProps","classNames","merge","FOCUS_STYLE_NO_OFFSET","jsxs","badge","index","createElement","Badge"],"mappings":";;;;;;;;;AAgBO,MAAMA,IAAwB,CAAC;AAAA,EAClC,OAAAC;AAAA,EACA,QAAAC;AAAA,EACA,MAAAC;AAAA,EACA,WAAAC;AAAA,EACA,MAAAC;AAAA,EACA,SAAAC;AAAA,EACA,cAAAC;AAAA,EACA,gBAAgBC,IAAa;AACjC,MAAgD;AACtC,QAAAC,IAAMC,EAAO,IAAI,GACjBC,IAAUC,EAAmBP,GAAMC,CAAO,GAC1C,EAAE,WAAAO,MAAcC;AAAA,IAClB;AAAA,MACI,WAAW;AAAA,MACX,UAAUb;AAAA,MACV,aAAaU;AAAA,IACjB;AAAA,IACAF;AAAA,EACJ,GAEMM,IAAmB,EAAE,GAAG,EAAE,MAAMV,EAAK,GAAG,QAAQ,EAAE,SAAAC,GAAS,MAAM,SAAA,GAAqB,MAAM,CAAA,EAAG,GAE/F,EAAE,gBAAAU,GAAgB,YAAAC,EAAW,IAAIC,EAAa,GAC9CC,IAAQC,EAAWP,GAAWI,GAAYF,EAAiBJ,CAAO,CAAC,GAEnEU,IAAaC,EAAM;AAAA,IACrB;AAAA,IACAnB,KAAQ;AAAA,IACRI,KAAgB;AAAA,IAChBS,KAAkBO;AAAA,EAAA,CACrB;AAGG,SAAA,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACG,WAAWF,EAAM;AAAA,QACb;AAAA,QACAf,IAAe,4BAA4B;AAAA,MAAA,CAC9C;AAAA,MACD,gBAAc,GAAGC,CAAU;AAAA,MAE3B,UAAA;AAAA,QAAA,gBAAAgB,EAACb,GAAQ,EAAA,KAAAF,GAAW,GAAGU,GAAO,WAAWE,GACpC,UAAA;AAAA,UAAAjB;AAAA,UACAH;AAAA,QAAA,GACL;AAAA,QACCC,KAAA,gBAAAA,EAAQ,IAAI,CAAC,EAAE,UAAUuB,GAAO,GAAGN,EAAM,GAAGO,MACxC,gBAAAC,EAAAC,GAAA,EAAO,GAAGT,GAAO,KAAK,oBAAoBO,CAAK,GAAA,GAC3CD,CACL;AAAA,MACH;AAAA,IAAA;AAAA,EACL;AAER;AACAzB,EAAsB,cAAc;"}
1
+ {"version":3,"file":"CurrentBreadcrumbItem.es.js","sources":["../../../src/components/Breadcrumbs/CurrentBreadcrumbItem.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { useBreadcrumbItem } from '@react-aria/breadcrumbs';\nimport { useFocusRing } from '@react-aria/focus';\nimport { mergeProps } from '@react-aria/utils';\nimport { type ReactElement, useRef } from 'react';\n\nimport { Badge } from '@components/Badge';\nimport { getItemElementType } from '@utilities/elements';\nimport { FOCUS_STYLE_NO_OFFSET } from '@utilities/focusStyle';\nimport { merge } from '@utilities/merge';\n\nimport { type Breadcrumb } from './Breadcrumbs';\n\ntype CurrentBreadcrumbItemProps = Breadcrumb;\n\nexport const CurrentBreadcrumbItem = ({\n label,\n badges,\n bold,\n decorator,\n link,\n onClick,\n activeInline,\n 'data-test-id': dataTestId = 'breadcrumb',\n}: CurrentBreadcrumbItemProps): ReactElement => {\n const ref = useRef(null);\n const Element = getItemElementType(link, onClick);\n const isInteractive = Element !== 'span';\n const { itemProps } = useBreadcrumbItem(\n {\n isCurrent: true,\n children: label,\n elementType: Element,\n },\n ref,\n );\n\n const elementTypeProps = {\n a: { href: link },\n button: { onClick, type: 'button' as const },\n span: { tabIndex: -1 },\n };\n\n const { isFocusVisible, focusProps } = useFocusRing();\n const props = isInteractive\n ? mergeProps(itemProps, focusProps, elementTypeProps[Element])\n : elementTypeProps[Element];\n\n const classNames = merge([\n 'tw-flex tw-gap-x-1 tw-items-center tw-leading-4 tw-h-6 tw-whitespace-pre-wrap tw-font-medium tw-rounded',\n bold && 'tw-font-bold',\n activeInline && 'tw-text-xs',\n isInteractive && isFocusVisible && FOCUS_STYLE_NO_OFFSET,\n ]);\n\n return (\n <li\n className={merge([\n 'tw-align-middle tw-gap-x-1 tw-text-m tw-text-text tw-items-center',\n activeInline ? 'tw-flex tw-items-center' : 'tw-w-full tw-inline-flex',\n ])}\n data-test-id={`${dataTestId}-item`}\n >\n <Element ref={ref} {...props} className={classNames}>\n {decorator}\n {label}\n </Element>\n {badges?.map(({ children: badge, ...props }, index) => (\n <Badge {...props} key={`breadcrumb-badge-${index}`}>\n {badge}\n </Badge>\n ))}\n </li>\n );\n};\nCurrentBreadcrumbItem.displayName = 'FondueCurrentBreadcrumbItem';\n"],"names":["CurrentBreadcrumbItem","label","badges","bold","decorator","link","onClick","activeInline","dataTestId","ref","useRef","Element","getItemElementType","isInteractive","itemProps","useBreadcrumbItem","elementTypeProps","isFocusVisible","focusProps","useFocusRing","props","mergeProps","classNames","merge","FOCUS_STYLE_NO_OFFSET","jsxs","badge","index","createElement","Badge"],"mappings":";;;;;;;;;AAgBO,MAAMA,IAAwB,CAAC;AAAA,EAClC,OAAAC;AAAA,EACA,QAAAC;AAAA,EACA,MAAAC;AAAA,EACA,WAAAC;AAAA,EACA,MAAAC;AAAA,EACA,SAAAC;AAAA,EACA,cAAAC;AAAA,EACA,gBAAgBC,IAAa;AACjC,MAAgD;AACtC,QAAAC,IAAMC,EAAO,IAAI,GACjBC,IAAUC,EAAmBP,GAAMC,CAAO,GAC1CO,IAAgBF,MAAY,QAC5B,EAAE,WAAAG,MAAcC;AAAA,IAClB;AAAA,MACI,WAAW;AAAA,MACX,UAAUd;AAAA,MACV,aAAaU;AAAA,IACjB;AAAA,IACAF;AAAA,EACJ,GAEMO,IAAmB;AAAA,IACrB,GAAG,EAAE,MAAMX,EAAK;AAAA,IAChB,QAAQ,EAAE,SAAAC,GAAS,MAAM,SAAkB;AAAA,IAC3C,MAAM,EAAE,UAAU,GAAG;AAAA,EACzB,GAEM,EAAE,gBAAAW,GAAgB,YAAAC,EAAW,IAAIC,EAAa,GAC9CC,IAAQP,IACRQ,EAAWP,GAAWI,GAAYF,EAAiBL,CAAO,CAAC,IAC3DK,EAAiBL,CAAO,GAExBW,IAAaC,EAAM;AAAA,IACrB;AAAA,IACApB,KAAQ;AAAA,IACRI,KAAgB;AAAA,IAChBM,KAAiBI,KAAkBO;AAAA,EAAA,CACtC;AAGG,SAAA,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACG,WAAWF,EAAM;AAAA,QACb;AAAA,QACAhB,IAAe,4BAA4B;AAAA,MAAA,CAC9C;AAAA,MACD,gBAAc,GAAGC,CAAU;AAAA,MAE3B,UAAA;AAAA,QAAA,gBAAAiB,EAACd,GAAQ,EAAA,KAAAF,GAAW,GAAGW,GAAO,WAAWE,GACpC,UAAA;AAAA,UAAAlB;AAAA,UACAH;AAAA,QAAA,GACL;AAAA,QACCC,KAAA,gBAAAA,EAAQ,IAAI,CAAC,EAAE,UAAUwB,GAAO,GAAGN,EAAM,GAAGO,MACxC,gBAAAC,EAAAC,GAAA,EAAO,GAAGT,GAAO,KAAK,oBAAoBO,CAAK,GAAA,GAC3CD,CACL;AAAA,MACH;AAAA,IAAA;AAAA,EACL;AAER;AACA1B,EAAsB,cAAc;"}
@@ -2,14 +2,14 @@ import { escape as o } from "lodash-es";
2
2
  import s from "remark-gfm";
3
3
  import p from "remark-parse";
4
4
  import { unified as t } from "unified";
5
- import a from "./deserializer/plugin.es.js";
6
- import { options as f } from "./options.es.js";
7
- import { MarkdownTransformer as i } from "./MarkdownTransformer.es.js";
5
+ import { MarkdownTransformer as a } from "./MarkdownTransformer.es.js";
6
+ import f from "./deserializer/plugin.es.js";
7
+ import { options as i } from "./options.es.js";
8
8
  import { remarkFondue as u } from "./remarkFondue/index.es.js";
9
- class T extends i {
9
+ class T extends a {
10
10
  process(e, r) {
11
11
  const m = r != null && r.escapeValue ? o(e) : e;
12
- return t().use(p).use(s).use(u).use(a, f(this.editor)).processSync(m).result;
12
+ return t().use(p).use(s).use(u).use(f, i(this.editor)).processSync(m).result;
13
13
  }
14
14
  }
15
15
  export {
@@ -1 +1 @@
1
- {"version":3,"file":"MarkdownToSlate.es.js","sources":["../../../../../src/components/RichTextEditor/serializer/markdown/MarkdownToSlate.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { escape } from 'lodash-es';\nimport remarkGfm from 'remark-gfm';\nimport parse from 'remark-parse';\nimport { unified } from 'unified';\n\nimport deserializer from './deserializer';\nimport { options as plateEditorOptions } from './options';\n// eslint-disable-next-line import/order\nimport { MarkdownTransformer } from './MarkdownTransformer';\nimport { type NodeType } from './types';\n// eslint-disable-next-line import/order\nimport { remarkFondue } from './remarkFondue';\n\nexport class MarkdownToSlate extends MarkdownTransformer<string, NodeType[]> {\n process(value: string, options?: { escapeValue?: boolean }): NodeType[] {\n const parsedValue = options?.escapeValue ? escape(value) : value;\n return unified()\n .use(parse)\n .use(remarkGfm)\n .use(remarkFondue)\n .use(deserializer, plateEditorOptions(this.editor))\n .processSync(parsedValue).result as NodeType[];\n }\n}\n"],"names":["MarkdownToSlate","MarkdownTransformer","value","options","parsedValue","escape","unified","parse","remarkGfm","remarkFondue","deserializer","plateEditorOptions"],"mappings":";;;;;;;;AAeO,MAAMA,UAAwBC,EAAwC;AAAA,EACzE,QAAQC,GAAeC,GAAiD;AACpE,UAAMC,IAAcD,KAAAA,QAAAA,EAAS,cAAcE,EAAOH,CAAK,IAAIA;AACpD,WAAAI,EAAA,EACF,IAAIC,CAAK,EACT,IAAIC,CAAS,EACb,IAAIC,CAAY,EAChB,IAAIC,GAAcC,EAAmB,KAAK,MAAM,CAAC,EACjD,YAAYP,CAAW,EAAE;AAAA,EAAA;AAEtC;"}
1
+ {"version":3,"file":"MarkdownToSlate.es.js","sources":["../../../../../src/components/RichTextEditor/serializer/markdown/MarkdownToSlate.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { escape } from 'lodash-es';\nimport remarkGfm from 'remark-gfm';\nimport parse from 'remark-parse';\nimport { unified } from 'unified';\n\nimport { type TreeOfNodes } from '@components/RichTextEditor/types';\n\nimport { MarkdownTransformer } from './MarkdownTransformer';\nimport deserializer from './deserializer';\nimport { options as plateEditorOptions } from './options';\nimport { remarkFondue } from './remarkFondue';\n\nexport class MarkdownToSlate extends MarkdownTransformer<string, TreeOfNodes> {\n process(value: string, options?: { escapeValue?: boolean }) {\n const parsedValue = options?.escapeValue ? escape(value) : value;\n return unified()\n .use(parse)\n .use(remarkGfm)\n .use(remarkFondue)\n .use(deserializer, plateEditorOptions(this.editor))\n .processSync(parsedValue).result as TreeOfNodes;\n }\n}\n"],"names":["MarkdownToSlate","MarkdownTransformer","value","options","parsedValue","escape","unified","parse","remarkGfm","remarkFondue","deserializer","plateEditorOptions"],"mappings":";;;;;;;;AAcO,MAAMA,UAAwBC,EAAyC;AAAA,EAC1E,QAAQC,GAAeC,GAAqC;AACxD,UAAMC,IAAcD,KAAAA,QAAAA,EAAS,cAAcE,EAAOH,CAAK,IAAIA;AACpD,WAAAI,EAAA,EACF,IAAIC,CAAK,EACT,IAAIC,CAAS,EACb,IAAIC,CAAY,EAChB,IAAIC,GAAcC,EAAmB,KAAK,MAAM,CAAC,EACjD,YAAYP,CAAW,EAAE;AAAA,EAAA;AAEtC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"MarkdownTransformer.es.js","sources":["../../../../../src/components/RichTextEditor/serializer/markdown/MarkdownTransformer.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { type PlateEditor } from '@udecode/plate-core';\n\nimport { InitPlateEditor } from '@components/RichTextEditor/utils';\n\nimport { type Transformer } from '../types';\n\nexport abstract class MarkdownTransformer<T, R> implements Transformer<T, R> {\n protected editor: PlateEditor;\n\n constructor() {\n this.editor = InitPlateEditor.init().getInstance();\n }\n\n abstract process(value: T): R;\n}\n"],"names":["MarkdownTransformer","__publicField","InitPlateEditor"],"mappings":";;;;AAQO,MAAeA,EAAuD;AAAA,EAGzE,cAAc;AAFJ,IAAAC,EAAA;AAGN,SAAK,SAASC,EAAgB,KAAK,EAAE,YAAY;AAAA,EAAA;AAIzD;"}
1
+ {"version":3,"file":"MarkdownTransformer.es.js","sources":["../../../../../src/components/RichTextEditor/serializer/markdown/MarkdownTransformer.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { type PlateEditor } from '@udecode/plate-core';\n\nimport { InitPlateEditor } from '@components/RichTextEditor/utils';\n\nimport { type Transformer } from '../types';\n\nexport abstract class MarkdownTransformer<T, R> implements Transformer<T, R> {\n protected editor: PlateEditor;\n\n constructor() {\n this.editor = InitPlateEditor.init().getInstance();\n }\n\n abstract process(value: T, options?: { escapeValue?: boolean }): R;\n}\n"],"names":["MarkdownTransformer","__publicField","InitPlateEditor"],"mappings":";;;;AAQO,MAAeA,EAAuD;AAAA,EAGzE,cAAc;AAFJ,IAAAC,EAAA;AAGN,SAAK,SAASC,EAAgB,KAAK,EAAE,YAAY;AAAA,EAAA;AAIzD;"}
@@ -1 +1 @@
1
- {"version":3,"file":"SlateToMarkdown.es.js","sources":["../../../../../src/components/RichTextEditor/serializer/markdown/SlateToMarkdown.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { serialize } from './serializer';\n// eslint-disable-next-line import/order\nimport { options } from './options';\n// eslint-disable-next-line import/order\nimport { MarkdownTransformer } from './MarkdownTransformer';\nimport { type NodeType } from './types';\n\nexport class SlateToMarkdown extends MarkdownTransformer<NodeType[], string> {\n process(value: NodeType[]) {\n return serialize(options(this.editor))(value);\n }\n}\n"],"names":["SlateToMarkdown","MarkdownTransformer","value","serialize","options"],"mappings":";;;AASO,MAAMA,UAAwBC,EAAwC;AAAA,EACzE,QAAQC,GAAmB;AACvB,WAAOC,EAAUC,EAAQ,KAAK,MAAM,CAAC,EAAEF,CAAK;AAAA,EAAA;AAEpD;"}
1
+ {"version":3,"file":"SlateToMarkdown.es.js","sources":["../../../../../src/components/RichTextEditor/serializer/markdown/SlateToMarkdown.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { type TreeOfNodes } from '@components/RichTextEditor/types';\n\nimport { serialize } from './serializer';\n// eslint-disable-next-line import/order\nimport { options } from './options';\n// eslint-disable-next-line import/order\nimport { MarkdownTransformer } from './MarkdownTransformer';\n\nexport class SlateToMarkdown extends MarkdownTransformer<TreeOfNodes, string> {\n process(value: TreeOfNodes) {\n return serialize(options(this.editor))(value);\n }\n}\n"],"names":["SlateToMarkdown","MarkdownTransformer","value","serialize","options"],"mappings":";;;AAUO,MAAMA,UAAwBC,EAAyC;AAAA,EAC1E,QAAQC,GAAoB;AACxB,WAAOC,EAAUC,EAAQ,KAAK,MAAM,CAAC,EAAEF,CAAK;AAAA,EAAA;AAEpD;"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.es.js","sources":["../../../src/components/RichTextEditor/types.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { type TNode } from '@udecode/slate';\n\nexport enum PaddingSizes {\n None = 'tw-p-0',\n Small = 'tw-py-2 tw-px-3',\n Medium = 'tw-p-5',\n Large = 'tw-p-6',\n XLarge = 'tw-p-8',\n}\n\nexport type TreeOfNodes = TNode[];\n"],"names":["PaddingSizes"],"mappings":"AAIY,IAAAA,sBAAAA,OACRA,EAAA,OAAO,UACPA,EAAA,QAAQ,mBACRA,EAAA,SAAS,UACTA,EAAA,QAAQ,UACRA,EAAA,SAAS,UALDA,IAAAA,KAAA,CAAA,CAAA;"}
1
+ {"version":3,"file":"types.es.js","sources":["../../../src/components/RichTextEditor/types.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { type NodeType } from './serializer/markdown/types';\n\nexport enum PaddingSizes {\n None = 'tw-p-0',\n Small = 'tw-py-2 tw-px-3',\n Medium = 'tw-p-5',\n Large = 'tw-p-6',\n XLarge = 'tw-p-8',\n}\n\nexport type TreeOfNodes = NodeType[];\n"],"names":["PaddingSizes"],"mappings":"AAIY,IAAAA,sBAAAA,OACRA,EAAA,OAAO,UACPA,EAAA,QAAQ,mBACRA,EAAA,SAAS,UACTA,EAAA,QAAQ,UACRA,EAAA,SAAS,UALDA,IAAAA,KAAA,CAAA,CAAA;"}