@frontify/fondue-components 24.0.0-rc.3 → 24.1.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 (183) hide show
  1. package/dist/fondue-components.js +48 -52
  2. package/dist/fondue-components.js.map +1 -1
  3. package/dist/fondue-components10.js +3 -3
  4. package/dist/fondue-components10.js.map +1 -1
  5. package/dist/fondue-components11.js +86 -104
  6. package/dist/fondue-components11.js.map +1 -1
  7. package/dist/fondue-components12.js +2 -2
  8. package/dist/fondue-components13.js +57 -58
  9. package/dist/fondue-components13.js.map +1 -1
  10. package/dist/fondue-components14.js +2 -2
  11. package/dist/fondue-components15.js +2 -2
  12. package/dist/fondue-components16.js +2 -2
  13. package/dist/fondue-components17.js +36 -56
  14. package/dist/fondue-components17.js.map +1 -1
  15. package/dist/fondue-components18.js +16 -34
  16. package/dist/fondue-components18.js.map +1 -1
  17. package/dist/fondue-components19.js +73 -18
  18. package/dist/fondue-components19.js.map +1 -1
  19. package/dist/fondue-components20.js +36 -18
  20. package/dist/fondue-components20.js.map +1 -1
  21. package/dist/fondue-components21.js +50 -71
  22. package/dist/fondue-components21.js.map +1 -1
  23. package/dist/fondue-components22.js +138 -36
  24. package/dist/fondue-components22.js.map +1 -1
  25. package/dist/fondue-components23.js +50 -50
  26. package/dist/fondue-components23.js.map +1 -1
  27. package/dist/fondue-components24.js +99 -137
  28. package/dist/fondue-components24.js.map +1 -1
  29. package/dist/fondue-components25.js +26 -48
  30. package/dist/fondue-components25.js.map +1 -1
  31. package/dist/fondue-components26.js +188 -92
  32. package/dist/fondue-components26.js.map +1 -1
  33. package/dist/fondue-components27.js +134 -30
  34. package/dist/fondue-components27.js.map +1 -1
  35. package/dist/fondue-components28.js +126 -191
  36. package/dist/fondue-components28.js.map +1 -1
  37. package/dist/fondue-components29.js +30 -134
  38. package/dist/fondue-components29.js.map +1 -1
  39. package/dist/fondue-components3.js +1 -1
  40. package/dist/fondue-components30.js +63 -130
  41. package/dist/fondue-components30.js.map +1 -1
  42. package/dist/fondue-components31.js +114 -31
  43. package/dist/fondue-components31.js.map +1 -1
  44. package/dist/fondue-components32.js +36 -64
  45. package/dist/fondue-components32.js.map +1 -1
  46. package/dist/fondue-components33.js +54 -103
  47. package/dist/fondue-components33.js.map +1 -1
  48. package/dist/fondue-components34.js +20 -36
  49. package/dist/fondue-components34.js.map +1 -1
  50. package/dist/fondue-components35.js +23 -57
  51. package/dist/fondue-components35.js.map +1 -1
  52. package/dist/fondue-components36.js +7 -20
  53. package/dist/fondue-components36.js.map +1 -1
  54. package/dist/fondue-components37.js +6 -23
  55. package/dist/fondue-components37.js.map +1 -1
  56. package/dist/fondue-components38.js +32 -8
  57. package/dist/fondue-components38.js.map +1 -1
  58. package/dist/fondue-components39.js +3 -5
  59. package/dist/fondue-components39.js.map +1 -1
  60. package/dist/fondue-components4.js +3 -3
  61. package/dist/fondue-components40.js +12 -32
  62. package/dist/fondue-components40.js.map +1 -1
  63. package/dist/fondue-components41.js +155 -5
  64. package/dist/fondue-components41.js.map +1 -1
  65. package/dist/fondue-components42.js +116 -18
  66. package/dist/fondue-components42.js.map +1 -1
  67. package/dist/fondue-components43.js +22 -59
  68. package/dist/fondue-components43.js.map +1 -1
  69. package/dist/fondue-components44.js +14 -111
  70. package/dist/fondue-components44.js.map +1 -1
  71. package/dist/fondue-components45.js +30 -116
  72. package/dist/fondue-components45.js.map +1 -1
  73. package/dist/fondue-components46.js +54 -21
  74. package/dist/fondue-components46.js.map +1 -1
  75. package/dist/fondue-components47.js +131 -32
  76. package/dist/fondue-components47.js.map +1 -1
  77. package/dist/fondue-components48.js +20 -53
  78. package/dist/fondue-components48.js.map +1 -1
  79. package/dist/fondue-components49.js +53 -131
  80. package/dist/fondue-components49.js.map +1 -1
  81. package/dist/fondue-components5.js +2 -2
  82. package/dist/fondue-components50.js +7 -20
  83. package/dist/fondue-components50.js.map +1 -1
  84. package/dist/fondue-components51.js +13 -53
  85. package/dist/fondue-components51.js.map +1 -1
  86. package/dist/fondue-components52.js +14 -7
  87. package/dist/fondue-components52.js.map +1 -1
  88. package/dist/fondue-components53.js +5 -13
  89. package/dist/fondue-components53.js.map +1 -1
  90. package/dist/fondue-components54.js +60 -15
  91. package/dist/fondue-components54.js.map +1 -1
  92. package/dist/fondue-components55.js +18 -5
  93. package/dist/fondue-components55.js.map +1 -1
  94. package/dist/fondue-components56.js +19 -60
  95. package/dist/fondue-components56.js.map +1 -1
  96. package/dist/fondue-components57.js +5 -18
  97. package/dist/fondue-components57.js.map +1 -1
  98. package/dist/fondue-components58.js +14 -18
  99. package/dist/fondue-components58.js.map +1 -1
  100. package/dist/fondue-components59.js +1 -1
  101. package/dist/fondue-components6.js +4 -4
  102. package/dist/fondue-components60.js +16 -10
  103. package/dist/fondue-components60.js.map +1 -1
  104. package/dist/fondue-components61.js +10 -4
  105. package/dist/fondue-components61.js.map +1 -1
  106. package/dist/fondue-components62.js +35 -18
  107. package/dist/fondue-components62.js.map +1 -1
  108. package/dist/fondue-components63.js +4 -10
  109. package/dist/fondue-components63.js.map +1 -1
  110. package/dist/fondue-components64.js +10 -34
  111. package/dist/fondue-components64.js.map +1 -1
  112. package/dist/fondue-components65.js +5 -35
  113. package/dist/fondue-components65.js.map +1 -1
  114. package/dist/fondue-components66.js +24 -4
  115. package/dist/fondue-components66.js.map +1 -1
  116. package/dist/fondue-components67.js +16 -12
  117. package/dist/fondue-components67.js.map +1 -1
  118. package/dist/fondue-components68.js +151 -4
  119. package/dist/fondue-components68.js.map +1 -1
  120. package/dist/fondue-components69.js +19 -25
  121. package/dist/fondue-components69.js.map +1 -1
  122. package/dist/fondue-components7.js +2 -2
  123. package/dist/fondue-components70.js +78 -16
  124. package/dist/fondue-components70.js.map +1 -1
  125. package/dist/fondue-components71.js +8 -152
  126. package/dist/fondue-components71.js.map +1 -1
  127. package/dist/fondue-components72.js +37 -19
  128. package/dist/fondue-components72.js.map +1 -1
  129. package/dist/fondue-components73.js +69 -77
  130. package/dist/fondue-components73.js.map +1 -1
  131. package/dist/fondue-components74.js +11 -8
  132. package/dist/fondue-components74.js.map +1 -1
  133. package/dist/fondue-components75.js +10 -36
  134. package/dist/fondue-components75.js.map +1 -1
  135. package/dist/fondue-components76.js +12 -70
  136. package/dist/fondue-components76.js.map +1 -1
  137. package/dist/fondue-components77.js +12 -10
  138. package/dist/fondue-components77.js.map +1 -1
  139. package/dist/fondue-components78.js +22 -10
  140. package/dist/fondue-components78.js.map +1 -1
  141. package/dist/fondue-components79.js +34 -13
  142. package/dist/fondue-components79.js.map +1 -1
  143. package/dist/fondue-components8.js +5 -5
  144. package/dist/fondue-components80.js +10 -12
  145. package/dist/fondue-components80.js.map +1 -1
  146. package/dist/fondue-components81.js +67 -22
  147. package/dist/fondue-components81.js.map +1 -1
  148. package/dist/fondue-components82.js +15 -34
  149. package/dist/fondue-components82.js.map +1 -1
  150. package/dist/fondue-components83.js +24 -9
  151. package/dist/fondue-components83.js.map +1 -1
  152. package/dist/fondue-components84.js +18 -67
  153. package/dist/fondue-components84.js.map +1 -1
  154. package/dist/fondue-components85.js +22 -12
  155. package/dist/fondue-components85.js.map +1 -1
  156. package/dist/fondue-components86.js +6 -24
  157. package/dist/fondue-components86.js.map +1 -1
  158. package/dist/fondue-components87.js +19 -18
  159. package/dist/fondue-components87.js.map +1 -1
  160. package/dist/fondue-components88.js +5 -21
  161. package/dist/fondue-components88.js.map +1 -1
  162. package/dist/fondue-components89.js +4 -8
  163. package/dist/fondue-components89.js.map +1 -1
  164. package/dist/fondue-components9.js +5 -5
  165. package/dist/fondue-components90.js +4 -19
  166. package/dist/fondue-components90.js.map +1 -1
  167. package/dist/fondue-components91.js +2 -7
  168. package/dist/fondue-components91.js.map +1 -1
  169. package/dist/fondue-components92.js +40 -2
  170. package/dist/fondue-components92.js.map +1 -1
  171. package/dist/fondue-components93.js +20 -4
  172. package/dist/fondue-components93.js.map +1 -1
  173. package/dist/fondue-components94.js +16 -4
  174. package/dist/fondue-components94.js.map +1 -1
  175. package/dist/index.d.ts +30 -117
  176. package/dist/style.css +1 -1
  177. package/package.json +6 -6
  178. package/dist/fondue-components95.js +0 -20
  179. package/dist/fondue-components95.js.map +0 -1
  180. package/dist/fondue-components96.js +0 -43
  181. package/dist/fondue-components96.js.map +0 -1
  182. package/dist/fondue-components97.js +0 -24
  183. package/dist/fondue-components97.js.map +0 -1
@@ -1,117 +1,116 @@
1
- import { jsx as e, jsxs as m } from "react/jsx-runtime";
1
+ import { jsx as a, jsxs as m } from "react/jsx-runtime";
2
2
  import { IconCross as x } from "@frontify/fondue-icons";
3
- import * as l from "@radix-ui/react-popover";
4
- import { forwardRef as i } from "react";
5
- import { useTranslation as I } from "./fondue-components37.js";
6
- import { addAutoFocusAttribute as _, addShowFocusRing as B } from "./fondue-components53.js";
7
- import { Button as O } from "./fondue-components6.js";
8
- import { useFondueTheme as S, ThemeProvider as j } from "./fondue-components34.js";
9
- import u from "./fondue-components60.js";
10
- const f = ({ children: t, ...o }) => /* @__PURE__ */ e(l.Root, { ...o, children: t });
3
+ import * as u from "@radix-ui/react-popover";
4
+ import { forwardRef as l } from "react";
5
+ import { useTranslation as I } from "./fondue-components35.js";
6
+ import { addAutoFocusAttribute as _, addShowFocusRing as O } from "./fondue-components51.js";
7
+ import { useFondueTheme as S, ThemeProvider as j } from "./fondue-components32.js";
8
+ import d from "./fondue-components58.js";
9
+ const f = ({ children: t, ...o }) => /* @__PURE__ */ a(u.Root, { ...o, children: t });
11
10
  f.displayName = "Flyout.Root";
12
- const y = ({ asChild: t = !0, children: o, "data-test-id": a = "fondue-flyout-trigger", ...r }, d) => /* @__PURE__ */ e(
13
- l.Trigger,
11
+ const y = ({ asChild: t = !0, children: o, "data-test-id": e = "fondue-flyout-trigger", ...r }, s) => /* @__PURE__ */ a(
12
+ u.Trigger,
14
13
  {
15
14
  onMouseDown: _,
16
15
  "data-auto-focus-visible": "true",
17
16
  "data-auto-focus-trigger": !0,
18
- "data-test-id": a,
17
+ "data-test-id": e,
19
18
  asChild: t,
20
- ref: d,
19
+ ref: s,
21
20
  ...r,
22
21
  children: o
23
22
  }
24
23
  );
25
24
  y.displayName = "Flyout.Trigger";
26
- const D = {
25
+ const B = {
27
26
  compact: 8,
28
27
  comfortable: 12,
29
28
  spacious: 16
30
- }, H = {
29
+ }, D = {
31
30
  compact: 8,
32
31
  spacious: 24
33
32
  }, p = ({
34
33
  align: t = "start",
35
34
  maxWidth: o = "360px",
36
- padding: a = "compact",
35
+ padding: e = "compact",
37
36
  rounded: r = "medium",
38
- width: d = "fit-content",
37
+ width: s = "fit-content",
39
38
  shadow: n = "medium",
40
39
  side: N,
41
40
  triggerOffset: v = "compact",
42
- viewportCollisionPadding: C = "compact",
43
- "data-test-id": P = "fondue-flyout-content",
44
- children: R,
45
- ...b
46
- }, w) => {
47
- const { theme: A, dir: c } = S(), T = (s) => !s || c === "ltr" ? s : s === "left" ? "right" : s === "right" ? "left" : s;
48
- return /* @__PURE__ */ e(l.Portal, { children: /* @__PURE__ */ m(j, { theme: A, dir: c, children: [
49
- /* @__PURE__ */ e("div", { "data-test-id": "fondue-flyout-overlay", className: u.overlay }),
50
- /* @__PURE__ */ e(
51
- l.Content,
41
+ viewportCollisionPadding: P = "compact",
42
+ "data-test-id": b = "fondue-flyout-content",
43
+ children: C,
44
+ ...R
45
+ }, A) => {
46
+ const { theme: T, dir: c } = S(), w = (i) => !i || c === "ltr" ? i : i === "left" ? "right" : i === "right" ? "left" : i;
47
+ return /* @__PURE__ */ a(u.Portal, { children: /* @__PURE__ */ m(j, { theme: T, dir: c, children: [
48
+ /* @__PURE__ */ a("div", { "data-test-id": "fondue-flyout-overlay", className: d.overlay }),
49
+ /* @__PURE__ */ a(
50
+ u.Content,
52
51
  {
53
52
  dir: c,
54
53
  style: {
55
54
  "--flyout-max-width": o,
56
- "--flyout-width": d
55
+ "--flyout-width": s
57
56
  },
58
- ref: w,
57
+ ref: A,
59
58
  align: t,
60
- collisionPadding: H[C],
61
- sideOffset: D[v],
62
- side: T(N),
63
- className: u.root,
64
- "data-flyout-spacing": a,
59
+ collisionPadding: D[P],
60
+ sideOffset: B[v],
61
+ side: w(N),
62
+ className: d.root,
63
+ "data-flyout-spacing": e,
65
64
  "data-rounded": r,
66
65
  "data-shadow": n,
67
- "data-test-id": P,
68
- onFocus: B,
69
- ...b,
70
- children: R
66
+ "data-test-id": b,
67
+ onFocus: O,
68
+ ...R,
69
+ children: C
71
70
  }
72
71
  )
73
72
  ] }) });
74
73
  };
75
74
  p.displayName = "Flyout.Content";
76
- const F = ({ showCloseButton: t, children: o, "data-test-id": a = "fondue-flyout-header", closeProps: r }, d) => {
75
+ const F = ({ showCloseButton: t, children: o, "data-test-id": e = "fondue-flyout-header", closeProps: r }, s) => {
77
76
  const { t: n } = I();
78
- return /* @__PURE__ */ m("div", { "data-test-id": a, ref: d, className: u.header, children: [
79
- /* @__PURE__ */ e("div", { children: o }),
80
- t && /* @__PURE__ */ e(l.Close, { asChild: !0, ...r, children: /* @__PURE__ */ e(
81
- O,
77
+ return /* @__PURE__ */ m("div", { "data-test-id": e, ref: s, className: d.header, children: [
78
+ /* @__PURE__ */ a("div", { children: o }),
79
+ t && /* @__PURE__ */ a(
80
+ u.Close,
82
81
  {
83
- size: "small",
84
- aspect: "square",
85
- emphasis: "weak",
82
+ role: "button",
83
+ "data-test-id": `${e}-close`,
84
+ className: d.close,
86
85
  "aria-label": n("Flyout_close"),
87
- "data-test-id": `${a}-close`,
88
- children: /* @__PURE__ */ e(x, { size: 20 })
86
+ ...r,
87
+ children: /* @__PURE__ */ a(x, { size: 20 })
89
88
  }
90
- ) })
89
+ )
91
90
  ] });
92
91
  };
93
92
  F.displayName = "Flyout.Header";
94
- const g = ({ children: t, "data-test-id": o = "fondue-flyout-footer" }, a) => /* @__PURE__ */ e("div", { "data-test-id": o, ref: a, className: u.footer, children: t });
93
+ const g = ({ children: t, "data-test-id": o = "fondue-flyout-footer" }, e) => /* @__PURE__ */ a("div", { "data-test-id": o, ref: e, className: d.footer, children: t });
95
94
  g.displayName = "Flyout.Footer";
96
- const h = ({ children: t, "data-test-id": o = "fondue-flyout-body", scrollable: a = !1 }, r) => /* @__PURE__ */ e(
95
+ const h = ({ children: t, "data-test-id": o = "fondue-flyout-body", scrollable: e = !1 }, r) => /* @__PURE__ */ a(
97
96
  "div",
98
97
  {
99
98
  "data-test-id": o,
100
99
  ref: r,
101
100
  "data-flyout-spacing": "compact",
102
- "data-scrollable": a,
103
- className: u.body,
101
+ "data-scrollable": e,
102
+ className: d.body,
104
103
  children: t
105
104
  }
106
105
  );
107
106
  h.displayName = "Flyout.Body";
108
107
  const W = {
109
108
  Root: f,
110
- Trigger: i(y),
111
- Content: i(p),
112
- Header: i(F),
113
- Footer: i(g),
114
- Body: i(h)
109
+ Trigger: l(y),
110
+ Content: l(p),
111
+ Header: l(F),
112
+ Footer: l(g),
113
+ Body: l(h)
115
114
  };
116
115
  export {
117
116
  W as Flyout,
@@ -1 +1 @@
1
- {"version":3,"file":"fondue-components13.js","sources":["../src/components/Flyout/Flyout.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { IconCross } from '@frontify/fondue-icons';\nimport * as RadixPopover from '@radix-ui/react-popover';\nimport { forwardRef, type CSSProperties, type ForwardedRef, type ReactNode } from 'react';\n\nimport { type CommonAriaProps } from '#/helpers/aria';\nimport { useTranslation } from '#/hooks/useTranslation';\nimport { addAutoFocusAttribute, addShowFocusRing } from '#/utilities/domUtilities';\n\nimport { Button } from '../Button/Button';\nimport { ThemeProvider, useFondueTheme } from '../ThemeProvider/ThemeProvider';\n\nimport styles from './styles/flyout.module.scss';\n\nexport type FlyoutRootProps = {\n /**\n * Disable interaction with the rest of the page\n * @default false\n */\n modal?: boolean;\n /**\n * The controlled `open` state of the flyout\n * @default false\n */\n open?: boolean;\n /**\n * Event handler called when the `open` state changes\n */\n onOpenChange?: (open: boolean) => void;\n children?: ReactNode;\n};\n\nexport const FlyoutRoot = ({ children, ...props }: FlyoutRootProps) => {\n return <RadixPopover.Root {...props}>{children}</RadixPopover.Root>;\n};\nFlyoutRoot.displayName = 'Flyout.Root';\n\nexport type FlyoutTriggerProps = {\n /**\n * Change the default rendered element for the one passed as a child, merging their props and behavior.\n * @default true\n */\n asChild?: boolean;\n children?: ReactNode;\n 'data-test-id'?: string;\n};\n\nexport const FlyoutTrigger = (\n { asChild = true, children, 'data-test-id': dataTestId = 'fondue-flyout-trigger', ...props }: FlyoutTriggerProps,\n ref: ForwardedRef<HTMLButtonElement>,\n) => {\n return (\n <RadixPopover.Trigger\n onMouseDown={addAutoFocusAttribute}\n data-auto-focus-visible=\"true\"\n data-auto-focus-trigger\n data-test-id={dataTestId}\n asChild={asChild}\n ref={ref}\n {...props}\n >\n {children}\n </RadixPopover.Trigger>\n );\n};\nFlyoutTrigger.displayName = 'Flyout.Trigger';\n\ntype FlyoutSpacing = 'compact' | 'comfortable' | 'spacious';\ntype FlyoutViewportCollisionPadding = 'compact' | 'spacious';\nexport type FlyoutContentProps = {\n /**\n * Add a shadow to the flyout\n * @default \"medium\"\n */\n shadow?: 'none' | 'medium' | 'large';\n /**\n * Add rounded corners to the flyout\n * @default \"medium\"\n */\n rounded?: 'none' | 'medium' | 'large';\n /**\n * Define the prefered side of the flyout. Can be overriden by viewport collisions viewport.\n * @default \"bottom\"\n */\n side?: 'top' | 'right' | 'bottom' | 'left';\n /**\n * Define the prefered alignment of the flyout. Can be overriden by viewport collisions viewport.\n * @default \"start\"\n */\n align?: 'start' | 'center' | 'end';\n /**\n * Define the padding of the flyout\n * @default \"compact\"\n */\n padding?: 'none' | 'tight' | 'compact' | 'comfortable' | 'spacious';\n /**\n * Define the fixed width of the flyout\n * @default \"fit-content\"\n */\n width?: string;\n /**\n * Defines the spacing between the dropdown and its trigger.\n * @default 'compact'\n */\n triggerOffset?: FlyoutSpacing;\n /**\n * Define the maximum width of the flyout\n * @default \"360px\"\n */\n maxWidth?: string;\n /**\n * Define the minimum distance between the flyout and the viewport edge\n * @default 'compact'\n */\n viewportCollisionPadding?: FlyoutViewportCollisionPadding;\n /**\n * Event handler called when auto-focusing on open\n */\n onOpenAutoFocus?: (event: Event) => void;\n children?: ReactNode;\n 'data-test-id'?: string;\n};\n\nconst SPACING_MAP: Record<FlyoutSpacing, number> = {\n compact: 8,\n comfortable: 12,\n spacious: 16,\n};\n\nconst VIEWPORT_COLLISION_PADDING_MAP: Record<FlyoutViewportCollisionPadding, number> = {\n compact: 8,\n spacious: 24,\n};\n\nexport const FlyoutContent = (\n {\n align = 'start',\n maxWidth = '360px',\n padding = 'compact',\n rounded = 'medium',\n width = 'fit-content',\n shadow = 'medium',\n side,\n triggerOffset = 'compact',\n viewportCollisionPadding = 'compact',\n 'data-test-id': dataTestId = 'fondue-flyout-content',\n children,\n ...props\n }: FlyoutContentProps,\n ref: ForwardedRef<HTMLDivElement>,\n) => {\n const { theme, dir } = useFondueTheme();\n\n const getAdjustedSide = (side?: 'top' | 'right' | 'bottom' | 'left') => {\n if (!side || dir === 'ltr') {\n return side;\n }\n\n if (side === 'left') {\n return 'right';\n }\n if (side === 'right') {\n return 'left';\n }\n\n return side;\n };\n\n return (\n <RadixPopover.Portal>\n <ThemeProvider theme={theme} dir={dir}>\n <div data-test-id=\"fondue-flyout-overlay\" className={styles.overlay} />\n <RadixPopover.Content\n dir={dir}\n style={\n {\n '--flyout-max-width': maxWidth,\n '--flyout-width': width,\n } as CSSProperties\n }\n ref={ref}\n align={align}\n collisionPadding={VIEWPORT_COLLISION_PADDING_MAP[viewportCollisionPadding]}\n sideOffset={SPACING_MAP[triggerOffset]}\n side={getAdjustedSide(side)}\n className={styles.root}\n data-flyout-spacing={padding}\n data-rounded={rounded}\n data-shadow={shadow}\n data-test-id={dataTestId}\n onFocus={addShowFocusRing}\n {...props}\n >\n {children}\n </RadixPopover.Content>\n </ThemeProvider>\n </RadixPopover.Portal>\n );\n};\nFlyoutContent.displayName = 'Flyout.Content';\n\nexport type FlyoutHeaderProps = {\n /**\n * Show a close button in the header\n * @default false\n */\n showCloseButton?: boolean;\n children?: ReactNode;\n 'data-test-id'?: string;\n closeProps?: CommonAriaProps;\n};\n\nexport const FlyoutHeader = (\n { showCloseButton, children, 'data-test-id': dataTestId = 'fondue-flyout-header', closeProps }: FlyoutHeaderProps,\n ref: ForwardedRef<HTMLDivElement>,\n) => {\n const { t } = useTranslation();\n\n return (\n <div data-test-id={dataTestId} ref={ref} className={styles.header}>\n <div>{children}</div>\n {showCloseButton && (\n <RadixPopover.Close asChild {...closeProps}>\n <Button\n size=\"small\"\n aspect=\"square\"\n emphasis=\"weak\"\n aria-label={t('Flyout_close')}\n data-test-id={`${dataTestId}-close`}\n >\n <IconCross size={20} />\n </Button>\n </RadixPopover.Close>\n )}\n </div>\n );\n};\nFlyoutHeader.displayName = 'Flyout.Header';\n\nexport type FlyoutFooterProps = { children?: ReactNode; 'data-test-id'?: string };\n\nexport const FlyoutFooter = (\n { children, 'data-test-id': dataTestId = 'fondue-flyout-footer' }: FlyoutFooterProps,\n ref: ForwardedRef<HTMLDivElement>,\n) => {\n return (\n <div data-test-id={dataTestId} ref={ref} className={styles.footer}>\n {children}\n </div>\n );\n};\nFlyoutFooter.displayName = 'Flyout.Footer';\n\nexport type FlyoutBodyProps = {\n children?: ReactNode;\n 'data-test-id'?: string;\n /**\n * Allow the body to scroll if the max height of the flyout is reached\n * @default false\n */\n scrollable?: boolean;\n};\n\nexport const FlyoutBody = (\n { children, 'data-test-id': dataTestId = 'fondue-flyout-body', scrollable = false }: FlyoutBodyProps,\n ref: ForwardedRef<HTMLDivElement>,\n) => {\n return (\n <div\n data-test-id={dataTestId}\n ref={ref}\n data-flyout-spacing=\"compact\"\n data-scrollable={scrollable}\n className={styles.body}\n >\n {children}\n </div>\n );\n};\nFlyoutBody.displayName = 'Flyout.Body';\n\nexport const Flyout = {\n Root: FlyoutRoot,\n Trigger: forwardRef<HTMLButtonElement, FlyoutTriggerProps>(FlyoutTrigger),\n Content: forwardRef<HTMLDivElement, FlyoutContentProps>(FlyoutContent),\n Header: forwardRef<HTMLDivElement, FlyoutHeaderProps>(FlyoutHeader),\n Footer: forwardRef<HTMLDivElement, FlyoutFooterProps>(FlyoutFooter),\n Body: forwardRef<HTMLDivElement, FlyoutBodyProps>(FlyoutBody),\n};\n"],"names":["FlyoutRoot","children","props","RadixPopover","FlyoutTrigger","asChild","dataTestId","ref","jsx","addAutoFocusAttribute","SPACING_MAP","VIEWPORT_COLLISION_PADDING_MAP","FlyoutContent","align","maxWidth","padding","rounded","width","shadow","side","triggerOffset","viewportCollisionPadding","theme","dir","useFondueTheme","getAdjustedSide","jsxs","ThemeProvider","styles","addShowFocusRing","FlyoutHeader","showCloseButton","closeProps","t","useTranslation","Button","IconCross","FlyoutFooter","FlyoutBody","scrollable","Flyout","forwardRef"],"mappings":"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"}
1
+ {"version":3,"file":"fondue-components13.js","sources":["../src/components/Flyout/Flyout.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { IconCross } from '@frontify/fondue-icons';\nimport * as RadixPopover from '@radix-ui/react-popover';\nimport { forwardRef, type CSSProperties, type ForwardedRef, type ReactNode } from 'react';\n\nimport { type CommonAriaProps } from '#/helpers/aria';\nimport { useTranslation } from '#/hooks/useTranslation';\nimport { addAutoFocusAttribute, addShowFocusRing } from '#/utilities/domUtilities';\n\nimport { ThemeProvider, useFondueTheme } from '../ThemeProvider/ThemeProvider';\n\nimport styles from './styles/flyout.module.scss';\n\nexport type FlyoutRootProps = {\n /**\n * Disable interaction with the rest of the page\n * @default false\n */\n modal?: boolean;\n /**\n * The controlled `open` state of the flyout\n * @default false\n */\n open?: boolean;\n /**\n * Event handler called when the `open` state changes\n */\n onOpenChange?: (open: boolean) => void;\n children?: ReactNode;\n};\n\nexport const FlyoutRoot = ({ children, ...props }: FlyoutRootProps) => {\n return <RadixPopover.Root {...props}>{children}</RadixPopover.Root>;\n};\nFlyoutRoot.displayName = 'Flyout.Root';\n\nexport type FlyoutTriggerProps = {\n /**\n * Change the default rendered element for the one passed as a child, merging their props and behavior.\n * @default true\n */\n asChild?: boolean;\n children?: ReactNode;\n 'data-test-id'?: string;\n};\n\nexport const FlyoutTrigger = (\n { asChild = true, children, 'data-test-id': dataTestId = 'fondue-flyout-trigger', ...props }: FlyoutTriggerProps,\n ref: ForwardedRef<HTMLButtonElement>,\n) => {\n return (\n <RadixPopover.Trigger\n onMouseDown={addAutoFocusAttribute}\n data-auto-focus-visible=\"true\"\n data-auto-focus-trigger\n data-test-id={dataTestId}\n asChild={asChild}\n ref={ref}\n {...props}\n >\n {children}\n </RadixPopover.Trigger>\n );\n};\nFlyoutTrigger.displayName = 'Flyout.Trigger';\n\ntype FlyoutSpacing = 'compact' | 'comfortable' | 'spacious';\ntype FlyoutViewportCollisionPadding = 'compact' | 'spacious';\nexport type FlyoutContentProps = {\n /**\n * Add a shadow to the flyout\n * @default \"medium\"\n */\n shadow?: 'none' | 'medium' | 'large';\n /**\n * Add rounded corners to the flyout\n * @default \"medium\"\n */\n rounded?: 'none' | 'medium' | 'large';\n /**\n * Define the prefered side of the flyout. Can be overriden by viewport collisions viewport.\n * @default \"bottom\"\n */\n side?: 'top' | 'right' | 'bottom' | 'left';\n /**\n * Define the prefered alignment of the flyout. Can be overriden by viewport collisions viewport.\n * @default \"start\"\n */\n align?: 'start' | 'center' | 'end';\n /**\n * Define the padding of the flyout\n * @default \"compact\"\n */\n padding?: 'none' | 'tight' | 'compact' | 'comfortable' | 'spacious';\n /**\n * Define the fixed width of the flyout\n * @default \"fit-content\"\n */\n width?: string;\n /**\n * Defines the spacing between the dropdown and its trigger.\n * @default 'compact'\n */\n triggerOffset?: FlyoutSpacing;\n /**\n * Define the maximum width of the flyout\n * @default \"360px\"\n */\n maxWidth?: string;\n /**\n * Define the minimum distance between the flyout and the viewport edge\n * @default 'compact'\n */\n viewportCollisionPadding?: FlyoutViewportCollisionPadding;\n /**\n * Event handler called when auto-focusing on open\n */\n onOpenAutoFocus?: (event: Event) => void;\n children?: ReactNode;\n 'data-test-id'?: string;\n};\n\nconst SPACING_MAP: Record<FlyoutSpacing, number> = {\n compact: 8,\n comfortable: 12,\n spacious: 16,\n};\n\nconst VIEWPORT_COLLISION_PADDING_MAP: Record<FlyoutViewportCollisionPadding, number> = {\n compact: 8,\n spacious: 24,\n};\n\nexport const FlyoutContent = (\n {\n align = 'start',\n maxWidth = '360px',\n padding = 'compact',\n rounded = 'medium',\n width = 'fit-content',\n shadow = 'medium',\n side,\n triggerOffset = 'compact',\n viewportCollisionPadding = 'compact',\n 'data-test-id': dataTestId = 'fondue-flyout-content',\n children,\n ...props\n }: FlyoutContentProps,\n ref: ForwardedRef<HTMLDivElement>,\n) => {\n const { theme, dir } = useFondueTheme();\n\n const getAdjustedSide = (side?: 'top' | 'right' | 'bottom' | 'left') => {\n if (!side || dir === 'ltr') {\n return side;\n }\n\n if (side === 'left') {\n return 'right';\n }\n if (side === 'right') {\n return 'left';\n }\n\n return side;\n };\n\n return (\n <RadixPopover.Portal>\n <ThemeProvider theme={theme} dir={dir}>\n <div data-test-id=\"fondue-flyout-overlay\" className={styles.overlay} />\n <RadixPopover.Content\n dir={dir}\n style={\n {\n '--flyout-max-width': maxWidth,\n '--flyout-width': width,\n } as CSSProperties\n }\n ref={ref}\n align={align}\n collisionPadding={VIEWPORT_COLLISION_PADDING_MAP[viewportCollisionPadding]}\n sideOffset={SPACING_MAP[triggerOffset]}\n side={getAdjustedSide(side)}\n className={styles.root}\n data-flyout-spacing={padding}\n data-rounded={rounded}\n data-shadow={shadow}\n data-test-id={dataTestId}\n onFocus={addShowFocusRing}\n {...props}\n >\n {children}\n </RadixPopover.Content>\n </ThemeProvider>\n </RadixPopover.Portal>\n );\n};\nFlyoutContent.displayName = 'Flyout.Content';\n\nexport type FlyoutHeaderProps = {\n /**\n * Show a close button in the header\n * @default false\n */\n showCloseButton?: boolean;\n children?: ReactNode;\n 'data-test-id'?: string;\n closeProps?: CommonAriaProps;\n};\n\nexport const FlyoutHeader = (\n { showCloseButton, children, 'data-test-id': dataTestId = 'fondue-flyout-header', closeProps }: FlyoutHeaderProps,\n ref: ForwardedRef<HTMLDivElement>,\n) => {\n const { t } = useTranslation();\n\n return (\n <div data-test-id={dataTestId} ref={ref} className={styles.header}>\n <div>{children}</div>\n {showCloseButton && (\n <RadixPopover.Close\n role=\"button\"\n data-test-id={`${dataTestId}-close`}\n className={styles.close}\n aria-label={t('Flyout_close')}\n {...closeProps}\n >\n <IconCross size={20} />\n </RadixPopover.Close>\n )}\n </div>\n );\n};\nFlyoutHeader.displayName = 'Flyout.Header';\n\nexport type FlyoutFooterProps = { children?: ReactNode; 'data-test-id'?: string };\n\nexport const FlyoutFooter = (\n { children, 'data-test-id': dataTestId = 'fondue-flyout-footer' }: FlyoutFooterProps,\n ref: ForwardedRef<HTMLDivElement>,\n) => {\n return (\n <div data-test-id={dataTestId} ref={ref} className={styles.footer}>\n {children}\n </div>\n );\n};\nFlyoutFooter.displayName = 'Flyout.Footer';\n\nexport type FlyoutBodyProps = {\n children?: ReactNode;\n 'data-test-id'?: string;\n /**\n * Allow the body to scroll if the max height of the flyout is reached\n * @default false\n */\n scrollable?: boolean;\n};\n\nexport const FlyoutBody = (\n { children, 'data-test-id': dataTestId = 'fondue-flyout-body', scrollable = false }: FlyoutBodyProps,\n ref: ForwardedRef<HTMLDivElement>,\n) => {\n return (\n <div\n data-test-id={dataTestId}\n ref={ref}\n data-flyout-spacing=\"compact\"\n data-scrollable={scrollable}\n className={styles.body}\n >\n {children}\n </div>\n );\n};\nFlyoutBody.displayName = 'Flyout.Body';\n\nexport const Flyout = {\n Root: FlyoutRoot,\n Trigger: forwardRef<HTMLButtonElement, FlyoutTriggerProps>(FlyoutTrigger),\n Content: forwardRef<HTMLDivElement, FlyoutContentProps>(FlyoutContent),\n Header: forwardRef<HTMLDivElement, FlyoutHeaderProps>(FlyoutHeader),\n Footer: forwardRef<HTMLDivElement, FlyoutFooterProps>(FlyoutFooter),\n Body: forwardRef<HTMLDivElement, FlyoutBodyProps>(FlyoutBody),\n};\n"],"names":["FlyoutRoot","children","props","RadixPopover","FlyoutTrigger","asChild","dataTestId","ref","jsx","addAutoFocusAttribute","SPACING_MAP","VIEWPORT_COLLISION_PADDING_MAP","FlyoutContent","align","maxWidth","padding","rounded","width","shadow","side","triggerOffset","viewportCollisionPadding","theme","dir","useFondueTheme","getAdjustedSide","jsxs","ThemeProvider","styles","addShowFocusRing","FlyoutHeader","showCloseButton","closeProps","t","useTranslation","IconCross","FlyoutFooter","FlyoutBody","scrollable","Flyout","forwardRef"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { jsx as f } from "react/jsx-runtime";
2
2
  import { forwardRef as y } from "react";
3
- import { propsToCssVariables as n } from "./fondue-components40.js";
4
- import u from "./fondue-components61.js";
3
+ import { propsToCssVariables as n } from "./fondue-components38.js";
4
+ import u from "./fondue-components59.js";
5
5
  const c = y(
6
6
  ({
7
7
  as: a = "div",
@@ -1,7 +1,7 @@
1
1
  import { jsx as y } from "react/jsx-runtime";
2
2
  import { forwardRef as g } from "react";
3
- import { cn as x } from "./fondue-components42.js";
4
- import a from "./fondue-components62.js";
3
+ import { cn as x } from "./fondue-components40.js";
4
+ import a from "./fondue-components60.js";
5
5
  const $ = g(
6
6
  ({
7
7
  as: e = "span",
@@ -1,8 +1,8 @@
1
1
  import { jsxs as m, jsx as s } from "react/jsx-runtime";
2
2
  import * as f from "@radix-ui/react-label";
3
3
  import { forwardRef as b, useRef as p, useLayoutEffect as x } from "react";
4
- import { cn as A } from "./fondue-components42.js";
5
- import r from "./fondue-components63.js";
4
+ import { cn as A } from "./fondue-components40.js";
5
+ import r from "./fondue-components61.js";
6
6
  const g = ({ className: l, "data-test-id": d = "fondue-label", children: o, variant: c = "default", ...i }, u) => {
7
7
  const n = p(null);
8
8
  return x(() => {
@@ -1,62 +1,42 @@
1
- import { jsx as C } from "react/jsx-runtime";
2
- import { forwardRef as D, useCallback as H } from "react";
3
- import { cn as L } from "./fondue-components42.js";
4
- import { useFondueRouter as N } from "./fondue-components20.js";
5
- import o from "./fondue-components64.js";
6
- const R = D(
1
+ import { jsx as i } from "react/jsx-runtime";
2
+ import * as t from "@radix-ui/react-progress";
3
+ import { forwardRef as m } from "react";
4
+ import { loadingBarContainerStyles as g, loadingBarStyles as f } from "./fondue-components62.js";
5
+ const p = m(
7
6
  ({
8
- id: c,
9
- className: l,
10
- children: u,
11
- size: n = "medium",
12
- weight: f = "regular",
13
- truncate: p = !1,
14
- wrap: d = "nowrap",
15
- underline: $ = "auto",
16
- color: k = "primary",
17
- href: t,
18
- onContainer: i,
19
- onPress: a,
20
- disabled: r = !1,
21
- ...s
22
- }, v) => {
23
- const { navigate: m, useHref: w } = N(), g = w(t), x = H(
24
- (e) => {
25
- if (r) {
26
- e.preventDefault();
27
- return;
28
- }
29
- a == null || a(e), t && (e.preventDefault(), m(t));
7
+ value: a,
8
+ max: r = 100,
9
+ rounded: d = !0,
10
+ variant: o = "default",
11
+ size: e = "medium",
12
+ "data-test-id": n = "fondue-loading-bar",
13
+ ...l
14
+ }, s) => /* @__PURE__ */ i(
15
+ t.Root,
16
+ {
17
+ ref: s,
18
+ "data-test-id": n,
19
+ className: g({ rounded: d, size: e, variant: o }),
20
+ "aria-busy": a !== r,
21
+ value: a,
22
+ max: r,
23
+ style: {
24
+ "--loading-bar-value": a,
25
+ "--loading-bar-max": r,
26
+ "--loading-bar-proportion": "calc(var(--loading-bar-value) / var(--loading-bar-max))"
30
27
  },
31
- [t, m, a, r]
32
- ), y = r ? o.disabled : o[i ? `color-on-container-${i}` : `color-${k}`];
33
- return /* @__PURE__ */ C(
34
- "a",
35
- {
36
- id: c,
37
- className: L([
38
- o.root,
39
- o[`size-${n}`],
40
- o[`weight-${f}`],
41
- o[`wrap-${d}`],
42
- o[`underline-${$}`],
43
- p && o.truncate,
44
- y,
45
- l
46
- ]),
47
- ref: v,
48
- href: r ? void 0 : g,
49
- onClick: x,
50
- "aria-disabled": r || void 0,
51
- tabIndex: r ? -1 : void 0,
52
- ...s,
53
- children: u
54
- }
55
- );
56
- }
28
+ ...l,
29
+ children: /* @__PURE__ */ i(
30
+ t.Indicator,
31
+ {
32
+ className: f({ variant: o, indeterminateState: a === null })
33
+ }
34
+ )
35
+ }
36
+ )
57
37
  );
58
- R.displayName = "Link";
38
+ p.displayName = "LoadingBar";
59
39
  export {
60
- R as Link
40
+ p as LoadingBar
61
41
  };
62
42
  //# sourceMappingURL=fondue-components17.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fondue-components17.js","sources":["../src/components/Link/Link.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { forwardRef, type ReactNode, type MouseEvent, useCallback } from 'react';\n\nimport { cn } from '#/utilities/styleUtilities';\n\nimport { useFondueRouter } from '../RouterProvider/RouterProvider';\n\nimport styles from './styles/link.module.scss';\n\ntype LinkSize = 'xx-small' | 'x-small' | 'small' | 'medium' | 'large' | 'x-large' | 'xx-large';\ntype LinkWeight = 'regular' | 'medium' | 'bold';\ntype LinkColor = 'primary' | 'secondary' | 'error' | 'success' | 'warning' | 'highlight';\ntype LinkOnContainerColor = 'secondary' | 'disabled' | 'error' | 'success' | 'warning' | 'highlight';\ntype LinkWrap = 'wrap' | 'nowrap';\ntype LinkUnderline = 'auto' | 'always' | 'hover' | 'none';\n\nexport type LinkProps = {\n children?: ReactNode;\n /**\n * The link to navigate to when clicked\n */\n href: string;\n /**\n * Id of the element\n */\n id?: string;\n /**\n * Size of the text\n *\n * @default 'medium'\n */\n size?: LinkSize;\n /**\n * Weight of the font\n *\n * @default 'regular'\n */\n weight?: LinkWeight;\n /**\n * Color of the text\n *\n * @default 'primary'\n */\n color?: LinkColor;\n /**\n * The texts color when used within a container\n *\n * @description optional color prop that uses the inverse container color when accessibility contrast is needed\n **/\n onContainer?: LinkOnContainerColor;\n /**\n * Truncate the text if it overflows\n */\n truncate?: boolean;\n /**\n * Wrap the text if it overflows\n * @default 'nowrap'\n */\n wrap?: LinkWrap;\n /**\n * Underline behavior of the link\n * @default 'auto'\n */\n underline?: LinkUnderline;\n /**\n * The target attribute for the link\n * @default '_self'\n */\n target?: string;\n /**\n * The rel attribute for the link\n * @default 'noopener noreferrer'\n */\n rel?: string;\n className?: string;\n onPress?: (event: MouseEvent<HTMLAnchorElement>) => void;\n 'data-test-id'?: string;\n /**\n * Aria label for the component.\n */\n 'aria-label'?: string;\n /**\n * Aria labelled by for the component.\n */\n 'aria-labelledby'?: string;\n /**\n * Aria described by for the component.\n */\n 'aria-describedby'?: string;\n /**\n * Aria details for extend description of the component.\n */\n 'aria-details'?: string;\n /**\n * Disable the link\n *\n * @default false\n */\n disabled?: boolean;\n};\n\nexport const Link = forwardRef<HTMLAnchorElement, LinkProps>(\n (\n {\n id,\n className,\n children,\n size = 'medium',\n weight = 'regular',\n truncate = false,\n wrap = 'nowrap',\n underline = 'auto',\n color = 'primary',\n href,\n onContainer,\n onPress,\n disabled = false,\n ...props\n },\n ref,\n ) => {\n const { navigate, useHref } = useFondueRouter();\n const resolvedHref = useHref(href);\n\n const handleClick = useCallback(\n (event: MouseEvent<HTMLAnchorElement>) => {\n if (disabled) {\n event.preventDefault();\n return;\n }\n onPress?.(event);\n\n if (href) {\n event.preventDefault();\n navigate(href);\n }\n },\n [href, navigate, onPress, disabled],\n );\n\n const computedColor = disabled\n ? styles.disabled\n : styles[onContainer ? `color-on-container-${onContainer}` : `color-${color}`];\n\n return (\n <a\n id={id}\n className={cn([\n styles.root,\n styles[`size-${size}`],\n styles[`weight-${weight}`],\n styles[`wrap-${wrap}`],\n styles[`underline-${underline}`],\n truncate && styles.truncate,\n computedColor,\n className,\n ])}\n ref={ref}\n href={disabled ? undefined : resolvedHref}\n onClick={handleClick}\n aria-disabled={disabled || undefined}\n tabIndex={disabled ? -1 : undefined}\n {...props}\n >\n {children}\n </a>\n );\n },\n);\nLink.displayName = 'Link';\n"],"names":["Link","forwardRef","id","className","children","size","weight","truncate","wrap","underline","color","href","onContainer","onPress","disabled","props","ref","navigate","useHref","useFondueRouter","resolvedHref","handleClick","useCallback","event","computedColor","styles","jsx","cn"],"mappings":";;;;;AAsGO,MAAMA,IAAOC;AAAA,EAChB,CACI;AAAA,IACI,IAAAC;AAAA,IACA,WAAAC;AAAA,IACA,UAAAC;AAAA,IACA,MAAAC,IAAO;AAAA,IACP,QAAAC,IAAS;AAAA,IACT,UAAAC,IAAW;AAAA,IACX,MAAAC,IAAO;AAAA,IACP,WAAAC,IAAY;AAAA,IACZ,OAAAC,IAAQ;AAAA,IACR,MAAAC;AAAA,IACA,aAAAC;AAAA,IACA,SAAAC;AAAA,IACA,UAAAC,IAAW;AAAA,IACX,GAAGC;AAAA,EAAA,GAEPC,MACC;AACD,UAAM,EAAE,UAAAC,GAAU,SAAAC,EAAA,IAAYC,EAAA,GACxBC,IAAeF,EAAQP,CAAI,GAE3BU,IAAcC;AAAA,MAChB,CAACC,MAAyC;AACtC,YAAIT,GAAU;AACV,UAAAS,EAAM,eAAA;AACN;AAAA,QACJ;AACA,QAAAV,KAAA,QAAAA,EAAUU,IAENZ,MACAY,EAAM,eAAA,GACNN,EAASN,CAAI;AAAA,MAErB;AAAA,MACA,CAACA,GAAMM,GAAUJ,GAASC,CAAQ;AAAA,IAAA,GAGhCU,IAAgBV,IAChBW,EAAO,WACPA,EAAOb,IAAc,sBAAsBA,CAAW,KAAK,SAASF,CAAK,EAAE;AAEjF,WACI,gBAAAgB;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,IAAAxB;AAAA,QACA,WAAWyB,EAAG;AAAA,UACVF,EAAO;AAAA,UACPA,EAAO,QAAQpB,CAAI,EAAE;AAAA,UACrBoB,EAAO,UAAUnB,CAAM,EAAE;AAAA,UACzBmB,EAAO,QAAQjB,CAAI,EAAE;AAAA,UACrBiB,EAAO,aAAahB,CAAS,EAAE;AAAA,UAC/BF,KAAYkB,EAAO;AAAA,UACnBD;AAAA,UACArB;AAAA,QAAA,CACH;AAAA,QACD,KAAAa;AAAA,QACA,MAAMF,IAAW,SAAYM;AAAA,QAC7B,SAASC;AAAA,QACT,iBAAeP,KAAY;AAAA,QAC3B,UAAUA,IAAW,KAAK;AAAA,QACzB,GAAGC;AAAA,QAEH,UAAAX;AAAA,MAAA;AAAA,IAAA;AAAA,EAGb;AACJ;AACAJ,EAAK,cAAc;"}
1
+ {"version":3,"file":"fondue-components17.js","sources":["../src/components/LoadingBar/LoadingBar.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport * as ProgressRadixPrimitive from '@radix-ui/react-progress';\nimport { forwardRef, type CSSProperties, type ElementRef, type ForwardedRef } from 'react';\n\nimport { loadingBarContainerStyles, loadingBarStyles } from './styles/loadingBarStyles';\n\nexport type LoadingBarProps = {\n /**\n * The current value of the loading bar. If `null`, the loading bar will be in an indeterminate state.\n * @default null\n */\n value: number | null;\n /**\n * The maximum value of the loading bar\n * @default 100\n */\n max?: number;\n /**\n * @default 'fondue-loading-bar'\n */\n 'data-test-id'?: string;\n /**\n * Add rounded corners to the loading bar\n * @default true\n */\n rounded?: boolean;\n /**\n * The style of the loading bar\n * @default \"default\"\n */\n variant?: 'default' | 'positive' | 'negative';\n /**\n * The size of the loading bar\n * @default \"medium\"\n */\n size?: 'small' | 'medium' | 'large' | 'x-large';\n /**\n * The label of the loading bar for accessibility purposes\n */\n getValueLabel?: (value: number, max: number) => string;\n} & ({ 'aria-label': string } | { 'aria-labelledby': string });\n\nexport const LoadingBar = forwardRef<ElementRef<typeof ProgressRadixPrimitive.Root>, LoadingBarProps>(\n (\n {\n value,\n max = 100,\n rounded = true,\n variant = 'default',\n size = 'medium',\n 'data-test-id': dataTestId = 'fondue-loading-bar',\n ...props\n }: LoadingBarProps,\n ref: ForwardedRef<ElementRef<typeof ProgressRadixPrimitive.Root>>,\n ) => {\n return (\n <ProgressRadixPrimitive.Root\n ref={ref}\n data-test-id={dataTestId}\n className={loadingBarContainerStyles({ rounded, size, variant })}\n aria-busy={value !== max}\n value={value}\n max={max}\n style={\n {\n '--loading-bar-value': value,\n '--loading-bar-max': max,\n '--loading-bar-proportion': 'calc(var(--loading-bar-value) / var(--loading-bar-max))',\n } as CSSProperties\n }\n {...props}\n >\n <ProgressRadixPrimitive.Indicator\n className={loadingBarStyles({ variant, indeterminateState: value === null })}\n />\n </ProgressRadixPrimitive.Root>\n );\n },\n);\nLoadingBar.displayName = 'LoadingBar';\n"],"names":["LoadingBar","forwardRef","value","max","rounded","variant","size","dataTestId","props","ref","jsx","ProgressRadixPrimitive","loadingBarContainerStyles","loadingBarStyles"],"mappings":";;;;AA2CO,MAAMA,IAAaC;AAAA,EACtB,CACI;AAAA,IACI,OAAAC;AAAA,IACA,KAAAC,IAAM;AAAA,IACN,SAAAC,IAAU;AAAA,IACV,SAAAC,IAAU;AAAA,IACV,MAAAC,IAAO;AAAA,IACP,gBAAgBC,IAAa;AAAA,IAC7B,GAAGC;AAAA,EAAA,GAEPC,MAGI,gBAAAC;AAAA,IAACC,EAAuB;AAAA,IAAvB;AAAA,MACG,KAAAF;AAAA,MACA,gBAAcF;AAAA,MACd,WAAWK,EAA0B,EAAE,SAAAR,GAAS,MAAAE,GAAM,SAAAD,GAAS;AAAA,MAC/D,aAAWH,MAAUC;AAAA,MACrB,OAAAD;AAAA,MACA,KAAAC;AAAA,MACA,OACI;AAAA,QACI,uBAAuBD;AAAA,QACvB,qBAAqBC;AAAA,QACrB,4BAA4B;AAAA,MAAA;AAAA,MAGnC,GAAGK;AAAA,MAEJ,UAAA,gBAAAE;AAAA,QAACC,EAAuB;AAAA,QAAvB;AAAA,UACG,WAAWE,EAAiB,EAAE,SAAAR,GAAS,oBAAoBH,MAAU,MAAM;AAAA,QAAA;AAAA,MAAA;AAAA,IAC/E;AAAA,EAAA;AAIhB;AACAF,EAAW,cAAc;"}
@@ -1,42 +1,24 @@
1
- import { jsx as i } from "react/jsx-runtime";
2
- import * as t from "@radix-ui/react-progress";
3
- import { forwardRef as m } from "react";
4
- import { loadingBarContainerStyles as g, loadingBarStyles as f } from "./fondue-components65.js";
5
- const p = m(
1
+ import { jsx as e } from "react/jsx-runtime";
2
+ import { forwardRef as i } from "react";
3
+ import d from "./fondue-components63.js";
4
+ const s = i(
6
5
  ({
7
- value: a,
8
- max: r = 100,
9
- rounded: d = !0,
10
- variant: o = "default",
11
- size: e = "medium",
12
- "data-test-id": n = "fondue-loading-bar",
13
- ...l
14
- }, s) => /* @__PURE__ */ i(
15
- t.Root,
6
+ variant: t = "progress",
7
+ size: a = "medium",
8
+ "data-test-id": r = "fondue-loading-circle-content"
9
+ }, o) => /* @__PURE__ */ e(
10
+ "div",
16
11
  {
17
- ref: s,
18
- "data-test-id": n,
19
- className: g({ rounded: d, size: e, variant: o }),
20
- "aria-busy": a !== r,
21
- value: a,
22
- max: r,
23
- style: {
24
- "--loading-bar-value": a,
25
- "--loading-bar-max": r,
26
- "--loading-bar-proportion": "calc(var(--loading-bar-value) / var(--loading-bar-max))"
27
- },
28
- ...l,
29
- children: /* @__PURE__ */ i(
30
- t.Indicator,
31
- {
32
- className: f({ variant: o, indeterminateState: a === null })
33
- }
34
- )
12
+ ref: o,
13
+ "data-test-id": r,
14
+ "data-variant": t,
15
+ "data-size": a,
16
+ className: d.root
35
17
  }
36
18
  )
37
19
  );
38
- p.displayName = "LoadingBar";
20
+ s.displayName = "LoadingCircle";
39
21
  export {
40
- p as LoadingBar
22
+ s as LoadingCircle
41
23
  };
42
24
  //# sourceMappingURL=fondue-components18.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fondue-components18.js","sources":["../src/components/LoadingBar/LoadingBar.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport * as ProgressRadixPrimitive from '@radix-ui/react-progress';\nimport { forwardRef, type CSSProperties, type ElementRef, type ForwardedRef } from 'react';\n\nimport { loadingBarContainerStyles, loadingBarStyles } from './styles/loadingBarStyles';\n\nexport type LoadingBarProps = {\n /**\n * The current value of the loading bar. If `null`, the loading bar will be in an indeterminate state.\n * @default null\n */\n value: number | null;\n /**\n * The maximum value of the loading bar\n * @default 100\n */\n max?: number;\n /**\n * @default 'fondue-loading-bar'\n */\n 'data-test-id'?: string;\n /**\n * Add rounded corners to the loading bar\n * @default true\n */\n rounded?: boolean;\n /**\n * The style of the loading bar\n * @default \"default\"\n */\n variant?: 'default' | 'positive' | 'negative';\n /**\n * The size of the loading bar\n * @default \"medium\"\n */\n size?: 'small' | 'medium' | 'large' | 'x-large';\n /**\n * The label of the loading bar for accessibility purposes\n */\n getValueLabel?: (value: number, max: number) => string;\n} & ({ 'aria-label': string } | { 'aria-labelledby': string });\n\nexport const LoadingBar = forwardRef<ElementRef<typeof ProgressRadixPrimitive.Root>, LoadingBarProps>(\n (\n {\n value,\n max = 100,\n rounded = true,\n variant = 'default',\n size = 'medium',\n 'data-test-id': dataTestId = 'fondue-loading-bar',\n ...props\n }: LoadingBarProps,\n ref: ForwardedRef<ElementRef<typeof ProgressRadixPrimitive.Root>>,\n ) => {\n return (\n <ProgressRadixPrimitive.Root\n ref={ref}\n data-test-id={dataTestId}\n className={loadingBarContainerStyles({ rounded, size, variant })}\n aria-busy={value !== max}\n value={value}\n max={max}\n style={\n {\n '--loading-bar-value': value,\n '--loading-bar-max': max,\n '--loading-bar-proportion': 'calc(var(--loading-bar-value) / var(--loading-bar-max))',\n } as CSSProperties\n }\n {...props}\n >\n <ProgressRadixPrimitive.Indicator\n className={loadingBarStyles({ variant, indeterminateState: value === null })}\n />\n </ProgressRadixPrimitive.Root>\n );\n },\n);\nLoadingBar.displayName = 'LoadingBar';\n"],"names":["LoadingBar","forwardRef","value","max","rounded","variant","size","dataTestId","props","ref","jsx","ProgressRadixPrimitive","loadingBarContainerStyles","loadingBarStyles"],"mappings":";;;;AA2CO,MAAMA,IAAaC;AAAA,EACtB,CACI;AAAA,IACI,OAAAC;AAAA,IACA,KAAAC,IAAM;AAAA,IACN,SAAAC,IAAU;AAAA,IACV,SAAAC,IAAU;AAAA,IACV,MAAAC,IAAO;AAAA,IACP,gBAAgBC,IAAa;AAAA,IAC7B,GAAGC;AAAA,EAAA,GAEPC,MAGI,gBAAAC;AAAA,IAACC,EAAuB;AAAA,IAAvB;AAAA,MACG,KAAAF;AAAA,MACA,gBAAcF;AAAA,MACd,WAAWK,EAA0B,EAAE,SAAAR,GAAS,MAAAE,GAAM,SAAAD,GAAS;AAAA,MAC/D,aAAWH,MAAUC;AAAA,MACrB,OAAAD;AAAA,MACA,KAAAC;AAAA,MACA,OACI;AAAA,QACI,uBAAuBD;AAAA,QACvB,qBAAqBC;AAAA,QACrB,4BAA4B;AAAA,MAAA;AAAA,MAGnC,GAAGK;AAAA,MAEJ,UAAA,gBAAAE;AAAA,QAACC,EAAuB;AAAA,QAAvB;AAAA,UACG,WAAWE,EAAiB,EAAE,SAAAR,GAAS,oBAAoBH,MAAU,MAAM;AAAA,QAAA;AAAA,MAAA;AAAA,IAC/E;AAAA,EAAA;AAIhB;AACAF,EAAW,cAAc;"}
1
+ {"version":3,"file":"fondue-components18.js","sources":["../src/components/LoadingCircle/LoadingCircle.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { forwardRef, type ForwardedRef } from 'react';\n\nimport styles from './styles/loadingCircleStyles.module.scss';\n\nexport type LoadingCircleProps = {\n /**\n * The variant of the loading circle.\n * @default 'progress'\n */\n variant?: 'progress' | 'success' | 'danger';\n /**\n * The size of the loading circle\n * @default \"medium\"\n */\n size?: 'xx-small' | 'x-small' | 'small' | 'medium' | 'large';\n 'data-test-id'?: string;\n};\n\nexport const LoadingCircle = forwardRef<HTMLDivElement, LoadingCircleProps>(\n (\n {\n variant = 'progress',\n size = 'medium',\n 'data-test-id': dataTestId = 'fondue-loading-circle-content',\n }: LoadingCircleProps,\n ref: ForwardedRef<HTMLDivElement>,\n ) => {\n return (\n <div\n ref={ref}\n data-test-id={dataTestId}\n data-variant={variant}\n data-size={size}\n className={styles.root}\n ></div>\n );\n },\n);\nLoadingCircle.displayName = 'LoadingCircle';\n"],"names":["LoadingCircle","forwardRef","variant","size","dataTestId","ref","jsx","styles"],"mappings":";;;AAoBO,MAAMA,IAAgBC;AAAA,EACzB,CACI;AAAA,IACI,SAAAC,IAAU;AAAA,IACV,MAAAC,IAAO;AAAA,IACP,gBAAgBC,IAAa;AAAA,EAAA,GAEjCC,MAGI,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACG,KAAAD;AAAA,MACA,gBAAcD;AAAA,MACd,gBAAcF;AAAA,MACd,aAAWC;AAAA,MACX,WAAWI,EAAO;AAAA,IAAA;AAAA,EAAA;AAIlC;AACAP,EAAc,cAAc;"}
@@ -1,24 +1,79 @@
1
- import { jsx as e } from "react/jsx-runtime";
2
- import { forwardRef as i } from "react";
3
- import d from "./fondue-components66.js";
4
- const s = i(
5
- ({
6
- variant: t = "progress",
7
- size: a = "medium",
8
- "data-test-id": r = "fondue-loading-circle-content"
9
- }, o) => /* @__PURE__ */ e(
10
- "div",
1
+ import { jsxs as h, jsx as l } from "react/jsx-runtime";
2
+ import * as a from "@radix-ui/react-scroll-area";
3
+ import { forwardRef as p } from "react";
4
+ import { useFondueTheme as u } from "./fondue-components32.js";
5
+ import o from "./fondue-components64.js";
6
+ const f = ({
7
+ type: t = "hover",
8
+ maxHeight: e = "100%",
9
+ maxWidth: s = "100%",
10
+ showShadow: c = !1,
11
+ scrollbarGutter: i = "auto",
12
+ padding: m,
13
+ children: n,
14
+ "data-test-id": r = "fondue-scroll-area"
15
+ }, d) => {
16
+ const { dir: b } = u();
17
+ return /* @__PURE__ */ h(
18
+ a.Root,
11
19
  {
12
- ref: o,
20
+ type: t,
21
+ dir: b,
22
+ className: o.root,
23
+ style: { maxWidth: s },
13
24
  "data-test-id": r,
14
- "data-variant": t,
15
- "data-size": a,
16
- className: d.root
25
+ ref: d,
26
+ children: [
27
+ /* @__PURE__ */ l(
28
+ a.Viewport,
29
+ {
30
+ className: o.viewport,
31
+ style: { maxHeight: e },
32
+ "data-scroll-padding": m,
33
+ "data-show-shadow": c,
34
+ "data-scrollbar-type": t,
35
+ "data-scrollbar-gutter": i,
36
+ "data-test-id": `${r}-viewport`,
37
+ children: n
38
+ }
39
+ ),
40
+ /* @__PURE__ */ l(
41
+ a.Scrollbar,
42
+ {
43
+ className: o.scrollbar,
44
+ orientation: "vertical",
45
+ "data-test-id": `${r}-vertical-scrollbar`,
46
+ children: /* @__PURE__ */ l(
47
+ a.Thumb,
48
+ {
49
+ className: o.thumb,
50
+ "data-test-id": `${r}-vertical-scrollbar-thumb`
51
+ }
52
+ )
53
+ }
54
+ ),
55
+ /* @__PURE__ */ l(
56
+ a.Scrollbar,
57
+ {
58
+ className: o.scrollbar,
59
+ orientation: "horizontal",
60
+ "data-test-id": `${r}-horizontal-scrollbar`,
61
+ children: /* @__PURE__ */ l(
62
+ a.Thumb,
63
+ {
64
+ className: o.thumb,
65
+ "data-test-id": `${r}-horizontal-scrollbar-thumb`
66
+ }
67
+ )
68
+ }
69
+ ),
70
+ /* @__PURE__ */ l(a.Corner, { className: o.corner, "data-test-id": `${r}-corner` })
71
+ ]
17
72
  }
18
- )
19
- );
20
- s.displayName = "LoadingCircle";
73
+ );
74
+ }, N = p(f);
75
+ N.displayName = "ScrollArea";
21
76
  export {
22
- s as LoadingCircle
77
+ N as ScrollArea
23
78
  };
24
79
  //# sourceMappingURL=fondue-components19.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fondue-components19.js","sources":["../src/components/LoadingCircle/LoadingCircle.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { forwardRef, type ForwardedRef } from 'react';\n\nimport styles from './styles/loadingCircleStyles.module.scss';\n\nexport type LoadingCircleProps = {\n /**\n * The variant of the loading circle.\n * @default 'progress'\n */\n variant?: 'progress' | 'success' | 'danger';\n /**\n * The size of the loading circle\n * @default \"medium\"\n */\n size?: 'xx-small' | 'x-small' | 'small' | 'medium' | 'large';\n 'data-test-id'?: string;\n};\n\nexport const LoadingCircle = forwardRef<HTMLDivElement, LoadingCircleProps>(\n (\n {\n variant = 'progress',\n size = 'medium',\n 'data-test-id': dataTestId = 'fondue-loading-circle-content',\n }: LoadingCircleProps,\n ref: ForwardedRef<HTMLDivElement>,\n ) => {\n return (\n <div\n ref={ref}\n data-test-id={dataTestId}\n data-variant={variant}\n data-size={size}\n className={styles.root}\n ></div>\n );\n },\n);\nLoadingCircle.displayName = 'LoadingCircle';\n"],"names":["LoadingCircle","forwardRef","variant","size","dataTestId","ref","jsx","styles"],"mappings":";;;AAoBO,MAAMA,IAAgBC;AAAA,EACzB,CACI;AAAA,IACI,SAAAC,IAAU;AAAA,IACV,MAAAC,IAAO;AAAA,IACP,gBAAgBC,IAAa;AAAA,EAAA,GAEjCC,MAGI,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACG,KAAAD;AAAA,MACA,gBAAcD;AAAA,MACd,gBAAcF;AAAA,MACd,aAAWC;AAAA,MACX,WAAWI,EAAO;AAAA,IAAA;AAAA,EAAA;AAIlC;AACAP,EAAc,cAAc;"}
1
+ {"version":3,"file":"fondue-components19.js","sources":["../src/components/ScrollArea/ScrollArea.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport * as RadixScrollArea from '@radix-ui/react-scroll-area';\nimport { type ForwardedRef, forwardRef, type ReactElement, type ReactNode } from 'react';\n\nimport { useFondueTheme } from '../ThemeProvider/ThemeProvider';\n\nimport styles from './styles/scrollArea.module.scss';\n\nexport type ScrollAreaProps = {\n /**\n * \"auto\" visible when content is overflowing on the corresponding orientation.\n * \"always\" always visible regardless of whether the content is overflowing. Sets the scrollbar gutter to stable.\n * \"scroll\" visible when the user is scrolling along its corresponding orientation.\n * \"hover\" when the user is hovering over the scroll area.\n * @default 'hover'\n */\n type?: 'auto' | 'always' | 'scroll' | 'hover';\n /**\n * Determines if the scrollbar should take up space in the content area\n * @default 'auto'\n */\n scrollbarGutter?: 'auto' | 'stable' | 'stable-horizontal' | 'stable-vertical';\n /**\n * Maximum height of the scroll area\n * @default '100%'\n */\n maxHeight?: string | number;\n /**\n * Minimum width of the scroll area\n * @default '100%'\n */\n maxWidth?: string | number;\n /**\n * Define the padding of the scroll area\n * @default \"compact\"\n */\n padding?: 'none' | 'tight' | 'compact' | 'comfortable' | 'spacious';\n /**\n * Determines if a inset shadow should be shown the edge of the component\n */\n showShadow?: boolean;\n 'data-test-id'?: string;\n children: ReactNode;\n};\n\nconst ScrollAreaComponent = (\n {\n type = 'hover',\n maxHeight = '100%',\n maxWidth = '100%',\n showShadow = false,\n scrollbarGutter = 'auto',\n padding,\n children,\n 'data-test-id': dataTestId = 'fondue-scroll-area',\n }: ScrollAreaProps,\n ref: ForwardedRef<HTMLDivElement>,\n): ReactElement => {\n const { dir } = useFondueTheme();\n\n return (\n <RadixScrollArea.Root\n type={type}\n dir={dir}\n className={styles.root}\n style={{ maxWidth }}\n data-test-id={dataTestId}\n ref={ref}\n >\n <RadixScrollArea.Viewport\n className={styles.viewport}\n style={{ maxHeight }}\n data-scroll-padding={padding}\n data-show-shadow={showShadow}\n data-scrollbar-type={type}\n data-scrollbar-gutter={scrollbarGutter}\n data-test-id={`${dataTestId}-viewport`}\n >\n {children}\n </RadixScrollArea.Viewport>\n <RadixScrollArea.Scrollbar\n className={styles.scrollbar}\n orientation=\"vertical\"\n data-test-id={`${dataTestId}-vertical-scrollbar`}\n >\n <RadixScrollArea.Thumb\n className={styles.thumb}\n data-test-id={`${dataTestId}-vertical-scrollbar-thumb`}\n />\n </RadixScrollArea.Scrollbar>\n <RadixScrollArea.Scrollbar\n className={styles.scrollbar}\n orientation=\"horizontal\"\n data-test-id={`${dataTestId}-horizontal-scrollbar`}\n >\n <RadixScrollArea.Thumb\n className={styles.thumb}\n data-test-id={`${dataTestId}-horizontal-scrollbar-thumb`}\n />\n </RadixScrollArea.Scrollbar>\n <RadixScrollArea.Corner className={styles.corner} data-test-id={`${dataTestId}-corner`} />\n </RadixScrollArea.Root>\n );\n};\n\nexport const ScrollArea = forwardRef<HTMLDivElement, ScrollAreaProps>(ScrollAreaComponent);\nScrollArea.displayName = 'ScrollArea';\n"],"names":["ScrollAreaComponent","type","maxHeight","maxWidth","showShadow","scrollbarGutter","padding","children","dataTestId","ref","dir","useFondueTheme","jsxs","RadixScrollArea","styles","jsx","ScrollArea","forwardRef"],"mappings":";;;;;AA8CA,MAAMA,IAAsB,CACxB;AAAA,EACI,MAAAC,IAAO;AAAA,EACP,WAAAC,IAAY;AAAA,EACZ,UAAAC,IAAW;AAAA,EACX,YAAAC,IAAa;AAAA,EACb,iBAAAC,IAAkB;AAAA,EAClB,SAAAC;AAAA,EACA,UAAAC;AAAA,EACA,gBAAgBC,IAAa;AACjC,GACAC,MACe;AACf,QAAM,EAAE,KAAAC,EAAA,IAAQC,EAAA;AAEhB,SACI,gBAAAC;AAAA,IAACC,EAAgB;AAAA,IAAhB;AAAA,MACG,MAAAZ;AAAA,MACA,KAAAS;AAAA,MACA,WAAWI,EAAO;AAAA,MAClB,OAAO,EAAE,UAAAX,EAAA;AAAA,MACT,gBAAcK;AAAA,MACd,KAAAC;AAAA,MAEA,UAAA;AAAA,QAAA,gBAAAM;AAAA,UAACF,EAAgB;AAAA,UAAhB;AAAA,YACG,WAAWC,EAAO;AAAA,YAClB,OAAO,EAAE,WAAAZ,EAAA;AAAA,YACT,uBAAqBI;AAAA,YACrB,oBAAkBF;AAAA,YAClB,uBAAqBH;AAAA,YACrB,yBAAuBI;AAAA,YACvB,gBAAc,GAAGG,CAAU;AAAA,YAE1B,UAAAD;AAAA,UAAA;AAAA,QAAA;AAAA,QAEL,gBAAAQ;AAAA,UAACF,EAAgB;AAAA,UAAhB;AAAA,YACG,WAAWC,EAAO;AAAA,YAClB,aAAY;AAAA,YACZ,gBAAc,GAAGN,CAAU;AAAA,YAE3B,UAAA,gBAAAO;AAAA,cAACF,EAAgB;AAAA,cAAhB;AAAA,gBACG,WAAWC,EAAO;AAAA,gBAClB,gBAAc,GAAGN,CAAU;AAAA,cAAA;AAAA,YAAA;AAAA,UAC/B;AAAA,QAAA;AAAA,QAEJ,gBAAAO;AAAA,UAACF,EAAgB;AAAA,UAAhB;AAAA,YACG,WAAWC,EAAO;AAAA,YAClB,aAAY;AAAA,YACZ,gBAAc,GAAGN,CAAU;AAAA,YAE3B,UAAA,gBAAAO;AAAA,cAACF,EAAgB;AAAA,cAAhB;AAAA,gBACG,WAAWC,EAAO;AAAA,gBAClB,gBAAc,GAAGN,CAAU;AAAA,cAAA;AAAA,YAAA;AAAA,UAC/B;AAAA,QAAA;AAAA,QAEJ,gBAAAO,EAACF,EAAgB,QAAhB,EAAuB,WAAWC,EAAO,QAAQ,gBAAc,GAAGN,CAAU,UAAA,CAAW;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGpG,GAEaQ,IAAaC,EAA4CjB,CAAmB;AACzFgB,EAAW,cAAc;"}