@frontify/fondue-components 18.0.0 → 18.2.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 (165) hide show
  1. package/dist/fondue-components.js +56 -54
  2. package/dist/fondue-components.js.map +1 -1
  3. package/dist/fondue-components10.js +28 -142
  4. package/dist/fondue-components10.js.map +1 -1
  5. package/dist/fondue-components11.js +141 -34
  6. package/dist/fondue-components11.js.map +1 -1
  7. package/dist/fondue-components12.js +36 -103
  8. package/dist/fondue-components12.js.map +1 -1
  9. package/dist/fondue-components13.js +103 -36
  10. package/dist/fondue-components13.js.map +1 -1
  11. package/dist/fondue-components14.js +30 -40
  12. package/dist/fondue-components14.js.map +1 -1
  13. package/dist/fondue-components15.js +47 -28
  14. package/dist/fondue-components15.js.map +1 -1
  15. package/dist/fondue-components16.js +28 -39
  16. package/dist/fondue-components16.js.map +1 -1
  17. package/dist/fondue-components17.js +34 -16
  18. package/dist/fondue-components17.js.map +1 -1
  19. package/dist/fondue-components18.js +21 -71
  20. package/dist/fondue-components18.js.map +1 -1
  21. package/dist/fondue-components19.js +71 -36
  22. package/dist/fondue-components19.js.map +1 -1
  23. package/dist/fondue-components20.js +34 -53
  24. package/dist/fondue-components20.js.map +1 -1
  25. package/dist/fondue-components21.js +54 -137
  26. package/dist/fondue-components21.js.map +1 -1
  27. package/dist/fondue-components22.js +136 -53
  28. package/dist/fondue-components22.js.map +1 -1
  29. package/dist/fondue-components23.js +54 -28
  30. package/dist/fondue-components23.js.map +1 -1
  31. package/dist/fondue-components24.js +28 -153
  32. package/dist/fondue-components24.js.map +1 -1
  33. package/dist/fondue-components25.js +151 -118
  34. package/dist/fondue-components25.js.map +1 -1
  35. package/dist/fondue-components26.js +120 -31
  36. package/dist/fondue-components26.js.map +1 -1
  37. package/dist/fondue-components27.js +32 -65
  38. package/dist/fondue-components27.js.map +1 -1
  39. package/dist/fondue-components28.js +65 -10
  40. package/dist/fondue-components28.js.map +1 -1
  41. package/dist/fondue-components29.js +10 -55
  42. package/dist/fondue-components29.js.map +1 -1
  43. package/dist/fondue-components3.js +1 -1
  44. package/dist/fondue-components30.js +55 -14
  45. package/dist/fondue-components30.js.map +1 -1
  46. package/dist/fondue-components31.js +15 -32
  47. package/dist/fondue-components31.js.map +1 -1
  48. package/dist/fondue-components32.js +7 -4
  49. package/dist/fondue-components32.js.map +1 -1
  50. package/dist/fondue-components33.js +7 -12
  51. package/dist/fondue-components33.js.map +1 -1
  52. package/dist/fondue-components34.js +32 -155
  53. package/dist/fondue-components34.js.map +1 -1
  54. package/dist/fondue-components35.js +5 -118
  55. package/dist/fondue-components35.js.map +1 -1
  56. package/dist/fondue-components36.js +10 -116
  57. package/dist/fondue-components36.js.map +1 -1
  58. package/dist/fondue-components37.js +147 -13
  59. package/dist/fondue-components37.js.map +1 -1
  60. package/dist/fondue-components38.js +116 -30
  61. package/dist/fondue-components38.js.map +1 -1
  62. package/dist/fondue-components39.js +118 -62
  63. package/dist/fondue-components39.js.map +1 -1
  64. package/dist/fondue-components4.js +56 -34
  65. package/dist/fondue-components4.js.map +1 -1
  66. package/dist/fondue-components40.js +20 -129
  67. package/dist/fondue-components40.js.map +1 -1
  68. package/dist/fondue-components41.js +32 -21
  69. package/dist/fondue-components41.js.map +1 -1
  70. package/dist/fondue-components42.js +62 -45
  71. package/dist/fondue-components42.js.map +1 -1
  72. package/dist/fondue-components43.js +129 -7
  73. package/dist/fondue-components43.js.map +1 -1
  74. package/dist/fondue-components44.js +21 -13
  75. package/dist/fondue-components44.js.map +1 -1
  76. package/dist/fondue-components45.js +45 -15
  77. package/dist/fondue-components45.js.map +1 -1
  78. package/dist/fondue-components46.js +8 -60
  79. package/dist/fondue-components46.js.map +1 -1
  80. package/dist/fondue-components47.js +13 -18
  81. package/dist/fondue-components47.js.map +1 -1
  82. package/dist/fondue-components48.js +12 -16
  83. package/dist/fondue-components48.js.map +1 -1
  84. package/dist/fondue-components49.js +60 -5
  85. package/dist/fondue-components49.js.map +1 -1
  86. package/dist/fondue-components5.js +32 -38
  87. package/dist/fondue-components5.js.map +1 -1
  88. package/dist/fondue-components50.js +18 -15
  89. package/dist/fondue-components50.js.map +1 -1
  90. package/dist/fondue-components51.js +18 -4
  91. package/dist/fondue-components51.js.map +1 -1
  92. package/dist/fondue-components52.js +3 -17
  93. package/dist/fondue-components52.js.map +1 -1
  94. package/dist/fondue-components53.js +15 -35
  95. package/dist/fondue-components53.js.map +1 -1
  96. package/dist/fondue-components54.js +4 -4
  97. package/dist/fondue-components55.js +17 -11
  98. package/dist/fondue-components55.js.map +1 -1
  99. package/dist/fondue-components56.js +35 -5
  100. package/dist/fondue-components56.js.map +1 -1
  101. package/dist/fondue-components57.js +4 -24
  102. package/dist/fondue-components57.js.map +1 -1
  103. package/dist/fondue-components58.js +12 -16
  104. package/dist/fondue-components58.js.map +1 -1
  105. package/dist/fondue-components59.js +4 -146
  106. package/dist/fondue-components59.js.map +1 -1
  107. package/dist/fondue-components6.js +42 -45
  108. package/dist/fondue-components6.js.map +1 -1
  109. package/dist/fondue-components60.js +25 -16
  110. package/dist/fondue-components60.js.map +1 -1
  111. package/dist/fondue-components61.js +16 -76
  112. package/dist/fondue-components61.js.map +1 -1
  113. package/dist/fondue-components62.js +147 -8
  114. package/dist/fondue-components62.js.map +1 -1
  115. package/dist/fondue-components63.js +16 -33
  116. package/dist/fondue-components63.js.map +1 -1
  117. package/dist/fondue-components64.js +75 -47
  118. package/dist/fondue-components64.js.map +1 -1
  119. package/dist/fondue-components65.js +8 -11
  120. package/dist/fondue-components65.js.map +1 -1
  121. package/dist/fondue-components66.js +32 -12
  122. package/dist/fondue-components66.js.map +1 -1
  123. package/dist/fondue-components67.js +48 -12
  124. package/dist/fondue-components67.js.map +1 -1
  125. package/dist/fondue-components68.js +10 -20
  126. package/dist/fondue-components68.js.map +1 -1
  127. package/dist/fondue-components69.js +13 -15
  128. package/dist/fondue-components69.js.map +1 -1
  129. package/dist/fondue-components7.js +46 -51
  130. package/dist/fondue-components7.js.map +1 -1
  131. package/dist/fondue-components70.js +12 -52
  132. package/dist/fondue-components70.js.map +1 -1
  133. package/dist/fondue-components71.js +20 -14
  134. package/dist/fondue-components71.js.map +1 -1
  135. package/dist/fondue-components72.js +15 -26
  136. package/dist/fondue-components72.js.map +1 -1
  137. package/dist/fondue-components73.js +55 -14
  138. package/dist/fondue-components73.js.map +1 -1
  139. package/dist/fondue-components74.js +14 -6
  140. package/dist/fondue-components74.js.map +1 -1
  141. package/dist/fondue-components75.js +23 -4
  142. package/dist/fondue-components75.js.map +1 -1
  143. package/dist/fondue-components76.js +15 -2
  144. package/dist/fondue-components76.js.map +1 -1
  145. package/dist/fondue-components77.js +5 -15
  146. package/dist/fondue-components77.js.map +1 -1
  147. package/dist/fondue-components78.js +6 -39
  148. package/dist/fondue-components78.js.map +1 -1
  149. package/dist/fondue-components79.js +5 -0
  150. package/dist/fondue-components79.js.map +1 -0
  151. package/dist/fondue-components8.js +46 -144
  152. package/dist/fondue-components8.js.map +1 -1
  153. package/dist/fondue-components80.js +8 -0
  154. package/dist/fondue-components80.js.map +1 -0
  155. package/dist/fondue-components81.js +8 -0
  156. package/dist/fondue-components81.js.map +1 -0
  157. package/dist/fondue-components82.js +20 -0
  158. package/dist/fondue-components82.js.map +1 -0
  159. package/dist/fondue-components83.js +43 -0
  160. package/dist/fondue-components83.js.map +1 -0
  161. package/dist/fondue-components9.js +146 -27
  162. package/dist/fondue-components9.js.map +1 -1
  163. package/dist/index.d.ts +70 -7
  164. package/dist/style.css +1 -1
  165. package/package.json +1 -1
@@ -1,107 +1,40 @@
1
- import { jsx as a, jsxs as u } from "react/jsx-runtime";
2
- import { IconCross as b } from "@frontify/fondue-icons";
3
- import * as i from "@radix-ui/react-popover";
4
- import { forwardRef as r } from "react";
5
- import { addAutoFocusAttribute as w, addShowFocusRing as x } from "./fondue-components44.js";
6
- import { useFondueTheme as A, ThemeProvider as T } from "./fondue-components28.js";
7
- import s from "./fondue-components50.js";
8
- const n = ({ children: t, ...o }) => /* @__PURE__ */ a(i.Root, { ...o, children: t });
9
- n.displayName = "Flyout.Root";
10
- const c = ({ asChild: t = !0, children: o, "data-test-id": e = "fondue-flyout-trigger", ...d }, l) => /* @__PURE__ */ a(
11
- i.Trigger,
12
- {
13
- onMouseDown: w,
14
- "data-auto-focus-visible": "true",
15
- "data-auto-focus-trigger": !0,
16
- "data-test-id": e,
17
- asChild: t,
18
- ref: l,
19
- ...d,
20
- children: o
21
- }
1
+ import { jsx as m } from "react/jsx-runtime";
2
+ import { forwardRef as n } from "react";
3
+ import { propsToCssVariables as y } from "./fondue-components34.js";
4
+ import x from "./fondue-components52.js";
5
+ const u = n(
6
+ ({
7
+ as: a = "div",
8
+ "data-test-id": e = "fondue-flex",
9
+ children: r,
10
+ role: i,
11
+ "aria-label": d,
12
+ "aria-hidden": s,
13
+ "aria-describedby": t,
14
+ "aria-labelledby": o,
15
+ "aria-expanded": l,
16
+ "aria-haspopup": p,
17
+ ...b
18
+ }, f) => /* @__PURE__ */ m(
19
+ a,
20
+ {
21
+ className: x.root,
22
+ "data-test-id": e,
23
+ style: y(b, { justify: "justify-content" }),
24
+ role: i,
25
+ "aria-label": d,
26
+ "aria-hidden": s,
27
+ "aria-describedby": t,
28
+ "aria-labelledby": o,
29
+ "aria-expanded": l,
30
+ "aria-haspopup": p,
31
+ ref: f,
32
+ children: r
33
+ }
34
+ )
22
35
  );
23
- c.displayName = "Flyout.Trigger";
24
- const I = {
25
- compact: 8,
26
- comfortable: 12,
27
- spacious: 16
28
- }, O = {
29
- compact: 8,
30
- spacious: 24
31
- }, m = ({
32
- align: t = "start",
33
- maxWidth: o = "360px",
34
- padding: e = "compact",
35
- rounded: d = "medium",
36
- width: l = "fit-content",
37
- shadow: F = "medium",
38
- triggerOffset: g = "compact",
39
- viewportCollisionPadding: N = "compact",
40
- "data-test-id": h = "fondue-flyout-content",
41
- children: v,
42
- ...P
43
- }, C) => {
44
- const R = A();
45
- return /* @__PURE__ */ a(i.Portal, { children: /* @__PURE__ */ u(T, { theme: R, children: [
46
- /* @__PURE__ */ a("div", { "data-test-id": "fondue-flyout-overlay", className: s.overlay }),
47
- /* @__PURE__ */ a(
48
- i.Content,
49
- {
50
- style: {
51
- "--flyout-max-width": o,
52
- "--flyout-width": l
53
- },
54
- ref: C,
55
- align: t,
56
- collisionPadding: O[N],
57
- sideOffset: I[g],
58
- className: s.root,
59
- "data-flyout-spacing": e,
60
- "data-rounded": d,
61
- "data-shadow": F,
62
- "data-test-id": h,
63
- onFocus: x,
64
- ...P,
65
- children: v
66
- }
67
- )
68
- ] }) });
69
- };
70
- m.displayName = "Flyout.Content";
71
- const y = ({ showCloseButton: t, children: o, "data-test-id": e = "fondue-flyout-header" }, d) => /* @__PURE__ */ u("div", { "data-test-id": e, ref: d, className: s.header, children: [
72
- /* @__PURE__ */ a("div", { children: o }),
73
- t && /* @__PURE__ */ a(i.Close, { role: "button", "data-test-id": `${e}-close`, className: s.close, children: /* @__PURE__ */ a(b, { size: 20 }) })
74
- ] });
75
- y.displayName = "Flyout.Header";
76
- const f = ({ children: t, "data-test-id": o = "fondue-flyout-footer" }, e) => /* @__PURE__ */ a("div", { "data-test-id": o, ref: e, className: s.footer, children: t });
77
- f.displayName = "Flyout.Footer";
78
- const p = ({ children: t, "data-test-id": o = "fondue-flyout-body", scrollable: e = !1 }, d) => /* @__PURE__ */ a(
79
- "div",
80
- {
81
- "data-test-id": o,
82
- ref: d,
83
- "data-flyout-spacing": "compact",
84
- "data-scrollable": e,
85
- className: s.body,
86
- children: t
87
- }
88
- );
89
- p.displayName = "Flyout.Body";
90
- const j = {
91
- Root: n,
92
- Trigger: r(c),
93
- Content: r(m),
94
- Header: r(y),
95
- Footer: r(f),
96
- Body: r(p)
97
- };
36
+ u.displayName = "Flex";
98
37
  export {
99
- j as Flyout,
100
- p as FlyoutBody,
101
- m as FlyoutContent,
102
- f as FlyoutFooter,
103
- y as FlyoutHeader,
104
- n as FlyoutRoot,
105
- c as FlyoutTrigger
38
+ u as Flex
106
39
  };
107
40
  //# sourceMappingURL=fondue-components12.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fondue-components12.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 { 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 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 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 = useFondueTheme();\n return (\n <RadixPopover.Portal>\n <ThemeProvider theme={theme}>\n <div data-test-id=\"fondue-flyout-overlay\" className={styles.overlay} />\n <RadixPopover.Content\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 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};\n\nexport const FlyoutHeader = (\n { showCloseButton, children, 'data-test-id': dataTestId = 'fondue-flyout-header' }: FlyoutHeaderProps,\n ref: ForwardedRef<HTMLDivElement>,\n) => {\n return (\n <div data-test-id={dataTestId} ref={ref} className={styles.header}>\n <div>{children}</div>\n {showCloseButton && (\n <RadixPopover.Close role=\"button\" data-test-id={`${dataTestId}-close`} className={styles.close}>\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","triggerOffset","viewportCollisionPadding","theme","useFondueTheme","jsxs","ThemeProvider","styles","addShowFocusRing","FlyoutHeader","showCloseButton","IconCross","FlyoutFooter","FlyoutBody","scrollable","Flyout","forwardRef"],"mappings":"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"}
1
+ {"version":3,"file":"fondue-components12.js","sources":["../src/components/Flex/Flex.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { forwardRef, type ReactNode } from 'react';\n\nimport { type CommonAriaProps } from '#/helpers/aria';\nimport { type Responsive, type SizeValue, type LayoutComponentProps } from '#/helpers/layout';\nimport { propsToCssVariables } from '#/helpers/propsToCssVariables';\n\nimport styles from './styles/flex.module.scss';\n\nexport type FlexProps = LayoutComponentProps & {\n /**\n * The element to render the Flex component as.\n * @default 'div'\n */\n as?: 'div' | 'span';\n /**\n * The display property.\n * @default 'flex'\n */\n display?: Responsive<'none' | 'flex' | 'inline-flex'>;\n /**\n * The direction of the children.\n * @default 'row'\n */\n direction?: Responsive<'row' | 'row-reverse' | 'column' | 'column-reverse'>;\n /**\n * The alignment of the children.\n */\n align?: Responsive<'flex-start' | 'center' | 'flex-end' | 'stretch' | 'baseline'>;\n /**\n * The justification of the children.\n */\n justify?: Responsive<'flex-start' | 'center' | 'flex-end' | 'space-between' | 'space-around' | 'space-evenly'>;\n /**\n * The wrap property.\n */\n wrap?: Responsive<'nowrap' | 'wrap' | 'wrap-reverse'>;\n /**\n * The gap between the children.\n */\n gap?: Responsive<SizeValue>;\n /**\n * The horizontal gap between the children.\n */\n gapX?: Responsive<SizeValue>;\n /**\n * The vertical gap between the children.\n */\n gapY?: Responsive<SizeValue>;\n\n children?: ReactNode;\n 'data-test-id'?: string;\n} & CommonAriaProps;\n\nexport const Flex = forwardRef<HTMLDivElement, FlexProps>(\n (\n {\n as: Component = 'div',\n 'data-test-id': dataTestId = 'fondue-flex',\n children,\n role,\n 'aria-label': ariaLabel,\n 'aria-hidden': ariaHidden,\n 'aria-describedby': ariaDescribedBy,\n 'aria-labelledby': ariaLabelledBy,\n 'aria-expanded': ariaExpanded,\n 'aria-haspopup': ariaHasPopup,\n ...props\n },\n ref,\n ) => {\n return (\n <Component\n className={styles.root}\n data-test-id={dataTestId}\n style={propsToCssVariables(props, { justify: 'justify-content' })}\n role={role}\n aria-label={ariaLabel}\n aria-hidden={ariaHidden}\n aria-describedby={ariaDescribedBy}\n aria-labelledby={ariaLabelledBy}\n aria-expanded={ariaExpanded}\n aria-haspopup={ariaHasPopup}\n ref={ref}\n >\n {children}\n </Component>\n );\n },\n);\nFlex.displayName = 'Flex';\n"],"names":["Flex","forwardRef","Component","dataTestId","children","role","ariaLabel","ariaHidden","ariaDescribedBy","ariaLabelledBy","ariaExpanded","ariaHasPopup","props","ref","jsx","styles","propsToCssVariables"],"mappings":";;;;AAuDO,MAAMA,IAAOC;AAAA,EAChB,CACI;AAAA,IACI,IAAIC,IAAY;AAAA,IAChB,gBAAgBC,IAAa;AAAA,IAC7B,UAAAC;AAAA,IACA,MAAAC;AAAA,IACA,cAAcC;AAAA,IACd,eAAeC;AAAA,IACf,oBAAoBC;AAAA,IACpB,mBAAmBC;AAAA,IACnB,iBAAiBC;AAAA,IACjB,iBAAiBC;AAAA,IACjB,GAAGC;AAAA,KAEPC,MAGI,gBAAAC;AAAA,IAACZ;AAAA,IAAA;AAAA,MACG,WAAWa,EAAO;AAAA,MAClB,gBAAcZ;AAAA,MACd,OAAOa,EAAoBJ,GAAO,EAAE,SAAS,mBAAmB;AAAA,MAChE,MAAAP;AAAA,MACA,cAAYC;AAAA,MACZ,eAAaC;AAAA,MACb,oBAAkBC;AAAA,MAClB,mBAAiBC;AAAA,MACjB,iBAAeC;AAAA,MACf,iBAAeC;AAAA,MACf,KAAAE;AAAA,MAEC,UAAAT;AAAA,IAAA;AAAA,EACL;AAGZ;AACAJ,EAAK,cAAc;"}
@@ -1,40 +1,107 @@
1
- import { jsx as f } from "react/jsx-runtime";
2
- import { forwardRef as y } from "react";
3
- import { propsToCssVariables as n } from "./fondue-components31.js";
4
- import u from "./fondue-components51.js";
5
- const c = y(
6
- ({
7
- as: a = "div",
8
- "data-test-id": r = "fondue-grid",
9
- children: i,
10
- role: e,
11
- "aria-label": d,
12
- "aria-hidden": s,
13
- "aria-describedby": t,
14
- "aria-labelledby": o,
15
- "aria-expanded": p,
16
- "aria-haspopup": l,
17
- ...b
18
- }, m) => /* @__PURE__ */ f(
19
- a,
20
- {
21
- className: u.root,
22
- "data-test-id": r,
23
- style: n(b, { justify: "justify-items" }),
24
- role: e,
25
- "aria-label": d,
26
- "aria-hidden": s,
27
- "aria-describedby": t,
28
- "aria-labelledby": o,
29
- "aria-expanded": p,
30
- "aria-haspopup": l,
31
- ref: m,
32
- children: i
33
- }
34
- )
1
+ import { jsx as a, jsxs as u } from "react/jsx-runtime";
2
+ import { IconCross as b } from "@frontify/fondue-icons";
3
+ import * as i from "@radix-ui/react-popover";
4
+ import { forwardRef as r } from "react";
5
+ import { addAutoFocusAttribute as w, addShowFocusRing as x } from "./fondue-components47.js";
6
+ import { useFondueTheme as A, ThemeProvider as T } from "./fondue-components29.js";
7
+ import s from "./fondue-components53.js";
8
+ const n = ({ children: t, ...o }) => /* @__PURE__ */ a(i.Root, { ...o, children: t });
9
+ n.displayName = "Flyout.Root";
10
+ const c = ({ asChild: t = !0, children: o, "data-test-id": e = "fondue-flyout-trigger", ...d }, l) => /* @__PURE__ */ a(
11
+ i.Trigger,
12
+ {
13
+ onMouseDown: w,
14
+ "data-auto-focus-visible": "true",
15
+ "data-auto-focus-trigger": !0,
16
+ "data-test-id": e,
17
+ asChild: t,
18
+ ref: l,
19
+ ...d,
20
+ children: o
21
+ }
35
22
  );
36
- c.displayName = "Grid";
23
+ c.displayName = "Flyout.Trigger";
24
+ const I = {
25
+ compact: 8,
26
+ comfortable: 12,
27
+ spacious: 16
28
+ }, O = {
29
+ compact: 8,
30
+ spacious: 24
31
+ }, m = ({
32
+ align: t = "start",
33
+ maxWidth: o = "360px",
34
+ padding: e = "compact",
35
+ rounded: d = "medium",
36
+ width: l = "fit-content",
37
+ shadow: F = "medium",
38
+ triggerOffset: g = "compact",
39
+ viewportCollisionPadding: N = "compact",
40
+ "data-test-id": h = "fondue-flyout-content",
41
+ children: v,
42
+ ...P
43
+ }, C) => {
44
+ const R = A();
45
+ return /* @__PURE__ */ a(i.Portal, { children: /* @__PURE__ */ u(T, { theme: R, children: [
46
+ /* @__PURE__ */ a("div", { "data-test-id": "fondue-flyout-overlay", className: s.overlay }),
47
+ /* @__PURE__ */ a(
48
+ i.Content,
49
+ {
50
+ style: {
51
+ "--flyout-max-width": o,
52
+ "--flyout-width": l
53
+ },
54
+ ref: C,
55
+ align: t,
56
+ collisionPadding: O[N],
57
+ sideOffset: I[g],
58
+ className: s.root,
59
+ "data-flyout-spacing": e,
60
+ "data-rounded": d,
61
+ "data-shadow": F,
62
+ "data-test-id": h,
63
+ onFocus: x,
64
+ ...P,
65
+ children: v
66
+ }
67
+ )
68
+ ] }) });
69
+ };
70
+ m.displayName = "Flyout.Content";
71
+ const y = ({ showCloseButton: t, children: o, "data-test-id": e = "fondue-flyout-header" }, d) => /* @__PURE__ */ u("div", { "data-test-id": e, ref: d, className: s.header, children: [
72
+ /* @__PURE__ */ a("div", { children: o }),
73
+ t && /* @__PURE__ */ a(i.Close, { role: "button", "data-test-id": `${e}-close`, className: s.close, children: /* @__PURE__ */ a(b, { size: 20 }) })
74
+ ] });
75
+ y.displayName = "Flyout.Header";
76
+ const f = ({ children: t, "data-test-id": o = "fondue-flyout-footer" }, e) => /* @__PURE__ */ a("div", { "data-test-id": o, ref: e, className: s.footer, children: t });
77
+ f.displayName = "Flyout.Footer";
78
+ const p = ({ children: t, "data-test-id": o = "fondue-flyout-body", scrollable: e = !1 }, d) => /* @__PURE__ */ a(
79
+ "div",
80
+ {
81
+ "data-test-id": o,
82
+ ref: d,
83
+ "data-flyout-spacing": "compact",
84
+ "data-scrollable": e,
85
+ className: s.body,
86
+ children: t
87
+ }
88
+ );
89
+ p.displayName = "Flyout.Body";
90
+ const j = {
91
+ Root: n,
92
+ Trigger: r(c),
93
+ Content: r(m),
94
+ Header: r(y),
95
+ Footer: r(f),
96
+ Body: r(p)
97
+ };
37
98
  export {
38
- c as Grid
99
+ j as Flyout,
100
+ p as FlyoutBody,
101
+ m as FlyoutContent,
102
+ f as FlyoutFooter,
103
+ y as FlyoutHeader,
104
+ n as FlyoutRoot,
105
+ c as FlyoutTrigger
39
106
  };
40
107
  //# sourceMappingURL=fondue-components13.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fondue-components13.js","sources":["../src/components/Grid/Grid.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { forwardRef, type ReactNode } from 'react';\n\nimport { type CommonAriaProps } from '#/helpers/aria';\nimport { type Responsive, type SizeValue, type LayoutComponentProps } from '#/helpers/layout';\nimport { propsToCssVariables } from '#/helpers/propsToCssVariables';\n\nimport styles from './styles/grid.module.scss';\n\nexport type GridProps = LayoutComponentProps & {\n /**\n * The element to render the Grid component as.\n * @default 'div'\n */\n as?: 'div' | 'span';\n\n /**\n * The display property.\n * @default 'grid'\n */\n display?: 'none' | 'grid' | 'inline-grid';\n /**\n * The columns property.\n */\n columns?: Responsive<string | number>;\n /**\n * The rows property.\n */\n rows?: Responsive<string | number>;\n /**\n * The flow property.\n */\n flow?: Responsive<'row' | 'column' | 'dense' | 'row-dense' | 'column-dense'>;\n /**\n * The alignment of the children.\n */\n align?: Responsive<'start' | 'center' | 'end' | 'baseline' | 'stretch'>;\n /**\n * The justification of the children.\n */\n justify?: Responsive<'start' | 'center' | 'end' | 'between'>;\n /**\n * The gap between the children.\n */\n gap?: Responsive<SizeValue>;\n /**\n * The horizontal gap between the children.\n */\n gapX?: Responsive<SizeValue>;\n /**\n * The vertical gap between the children.\n */\n gapY?: Responsive<SizeValue>;\n\n children?: ReactNode;\n 'data-test-id'?: string;\n} & CommonAriaProps;\n\nexport const Grid = forwardRef<HTMLDivElement, GridProps>(\n (\n {\n as: Component = 'div',\n 'data-test-id': dataTestId = 'fondue-grid',\n children,\n role,\n 'aria-label': ariaLabel,\n 'aria-hidden': ariaHidden,\n 'aria-describedby': ariaDescribedBy,\n 'aria-labelledby': ariaLabelledBy,\n 'aria-expanded': ariaExpanded,\n 'aria-haspopup': ariaHasPopup,\n ...props\n },\n ref,\n ) => {\n return (\n <Component\n className={styles.root}\n data-test-id={dataTestId}\n style={propsToCssVariables(props, { justify: 'justify-items' })}\n role={role}\n aria-label={ariaLabel}\n aria-hidden={ariaHidden}\n aria-describedby={ariaDescribedBy}\n aria-labelledby={ariaLabelledBy}\n aria-expanded={ariaExpanded}\n aria-haspopup={ariaHasPopup}\n ref={ref}\n >\n {children}\n </Component>\n );\n },\n);\nGrid.displayName = 'Grid';\n"],"names":["Grid","forwardRef","Component","dataTestId","children","role","ariaLabel","ariaHidden","ariaDescribedBy","ariaLabelledBy","ariaExpanded","ariaHasPopup","props","ref","jsx","styles","propsToCssVariables"],"mappings":";;;;AA2DO,MAAMA,IAAOC;AAAA,EAChB,CACI;AAAA,IACI,IAAIC,IAAY;AAAA,IAChB,gBAAgBC,IAAa;AAAA,IAC7B,UAAAC;AAAA,IACA,MAAAC;AAAA,IACA,cAAcC;AAAA,IACd,eAAeC;AAAA,IACf,oBAAoBC;AAAA,IACpB,mBAAmBC;AAAA,IACnB,iBAAiBC;AAAA,IACjB,iBAAiBC;AAAA,IACjB,GAAGC;AAAA,KAEPC,MAGI,gBAAAC;AAAA,IAACZ;AAAA,IAAA;AAAA,MACG,WAAWa,EAAO;AAAA,MAClB,gBAAcZ;AAAA,MACd,OAAOa,EAAoBJ,GAAO,EAAE,SAAS,iBAAiB;AAAA,MAC9D,MAAAP;AAAA,MACA,cAAYC;AAAA,MACZ,eAAaC;AAAA,MACb,oBAAkBC;AAAA,MAClB,mBAAiBC;AAAA,MACjB,iBAAeC;AAAA,MACf,iBAAeC;AAAA,MACf,KAAAE;AAAA,MAEC,UAAAT;AAAA,IAAA;AAAA,EACL;AAGZ;AACAJ,EAAK,cAAc;"}
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 { 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 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 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 = useFondueTheme();\n return (\n <RadixPopover.Portal>\n <ThemeProvider theme={theme}>\n <div data-test-id=\"fondue-flyout-overlay\" className={styles.overlay} />\n <RadixPopover.Content\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 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};\n\nexport const FlyoutHeader = (\n { showCloseButton, children, 'data-test-id': dataTestId = 'fondue-flyout-header' }: FlyoutHeaderProps,\n ref: ForwardedRef<HTMLDivElement>,\n) => {\n return (\n <div data-test-id={dataTestId} ref={ref} className={styles.header}>\n <div>{children}</div>\n {showCloseButton && (\n <RadixPopover.Close role=\"button\" data-test-id={`${dataTestId}-close`} className={styles.close}>\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","triggerOffset","viewportCollisionPadding","theme","useFondueTheme","jsxs","ThemeProvider","styles","addShowFocusRing","FlyoutHeader","showCloseButton","IconCross","FlyoutFooter","FlyoutBody","scrollable","Flyout","forwardRef"],"mappings":"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"}
@@ -1,50 +1,40 @@
1
- import { jsx as y } from "react/jsx-runtime";
2
- import { forwardRef as g } from "react";
3
- import { cn as x } from "./fondue-components33.js";
4
- import a from "./fondue-components52.js";
5
- const $ = g(
1
+ import { jsx as f } from "react/jsx-runtime";
2
+ import { forwardRef as y } from "react";
3
+ import { propsToCssVariables as n } from "./fondue-components34.js";
4
+ import u from "./fondue-components54.js";
5
+ const c = y(
6
6
  ({
7
- as: e = "span",
7
+ as: a = "div",
8
+ "data-test-id": r = "fondue-grid",
8
9
  children: i,
9
- className: r,
10
- color: d = "default",
11
- role: o,
12
- size: t = "medium",
13
- weight: l = "default",
14
- "data-test-id": s = "fondue-heading",
15
- "aria-describedby": p,
16
- "aria-expanded": m,
17
- "aria-haspopup": n,
18
- "aria-hidden": b,
19
- "aria-label": f,
20
- "aria-labelledby": u,
21
- ...c
22
- }, h) => /* @__PURE__ */ y(
23
- e,
10
+ role: e,
11
+ "aria-label": d,
12
+ "aria-hidden": s,
13
+ "aria-describedby": t,
14
+ "aria-labelledby": o,
15
+ "aria-expanded": p,
16
+ "aria-haspopup": l,
17
+ ...b
18
+ }, m) => /* @__PURE__ */ f(
19
+ a,
24
20
  {
25
- className: x([
26
- a.root,
27
- a[`size-${t}`],
28
- a[`weight-${l}`],
29
- a[`color-${d}`],
30
- r
31
- ]),
32
- role: o,
33
- "aria-label": f,
34
- "aria-hidden": b,
35
- "aria-describedby": p,
36
- "aria-labelledby": u,
37
- "aria-expanded": m,
38
- "aria-haspopup": n,
39
- "data-test-id": s,
40
- ref: h,
41
- ...c,
21
+ className: u.root,
22
+ "data-test-id": r,
23
+ style: n(b, { justify: "justify-items" }),
24
+ role: e,
25
+ "aria-label": d,
26
+ "aria-hidden": s,
27
+ "aria-describedby": t,
28
+ "aria-labelledby": o,
29
+ "aria-expanded": p,
30
+ "aria-haspopup": l,
31
+ ref: m,
42
32
  children: i
43
33
  }
44
34
  )
45
35
  );
46
- $.displayName = "Heading";
36
+ c.displayName = "Grid";
47
37
  export {
48
- $ as Heading
38
+ c as Grid
49
39
  };
50
40
  //# sourceMappingURL=fondue-components14.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fondue-components14.js","sources":["../src/components/Heading/Heading.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { type ElementType, type ForwardedRef, forwardRef, type ReactNode } from 'react';\n\nimport { type CommonAriaProps } from '#/helpers/aria';\nimport { cn } from '#/utilities/styleUtilities';\n\nimport styles from './styles/heading.module.scss';\n\ntype HeadingWeight = 'default' | 'strong';\ntype HeadingSize = 'medium' | 'large' | 'x-large' | 'xx-large';\ntype HeadingColor = 'default' | 'weak' | 'x-weak' | 'disabled' | 'negative' | 'positive' | 'warning' | 'interactive';\n\ntype TagType = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'span' | 'p';\n\nexport type HeadingProps<TTag extends TagType = 'span'> = CommonAriaProps & {\n 'data-test-id'?: string;\n as?: TTag;\n children?: ReactNode;\n color?: HeadingColor;\n size?: HeadingSize;\n weight?: HeadingWeight;\n className?: string;\n};\n\ntype HeadingElementType<TTag extends TagType> = TTag extends 'span'\n ? HTMLSpanElement\n : TTag extends 'p'\n ? HTMLParagraphElement\n : HTMLHeadingElement;\n\nexport const Heading = forwardRef(\n (\n {\n as: Tag = 'span' as ElementType,\n children,\n className,\n color = 'default',\n role,\n size = 'medium',\n weight = 'default',\n 'data-test-id': dataTestId = 'fondue-heading',\n 'aria-describedby': ariaDescribedBy,\n 'aria-expanded': ariaExpanded,\n 'aria-haspopup': ariaHasPopup,\n 'aria-hidden': ariaHidden,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n ...props\n },\n ref,\n ) => {\n return (\n <Tag\n className={cn([\n styles.root,\n styles[`size-${size}`],\n styles[`weight-${weight}`],\n styles[`color-${color}`],\n className,\n ])}\n role={role}\n aria-label={ariaLabel}\n aria-hidden={ariaHidden}\n aria-describedby={ariaDescribedBy}\n aria-labelledby={ariaLabelledBy}\n aria-expanded={ariaExpanded}\n aria-haspopup={ariaHasPopup}\n data-test-id={dataTestId}\n ref={ref}\n {...props}\n >\n {children}\n </Tag>\n );\n },\n) as (<TTag extends TagType = 'span'>(\n props: HeadingProps<TTag> & { ref?: ForwardedRef<HeadingElementType<TTag>> },\n) => JSX.Element) & { displayName: string };\n\nHeading.displayName = 'Heading';\n"],"names":["Heading","forwardRef","Tag","children","className","color","role","size","weight","dataTestId","ariaDescribedBy","ariaExpanded","ariaHasPopup","ariaHidden","ariaLabel","ariaLabelledBy","props","ref","jsx","cn","styles"],"mappings":";;;;AA+BO,MAAMA,IAAUC;AAAA,EACnB,CACI;AAAA,IACI,IAAIC,IAAM;AAAA,IACV,UAAAC;AAAA,IACA,WAAAC;AAAA,IACA,OAAAC,IAAQ;AAAA,IACR,MAAAC;AAAA,IACA,MAAAC,IAAO;AAAA,IACP,QAAAC,IAAS;AAAA,IACT,gBAAgBC,IAAa;AAAA,IAC7B,oBAAoBC;AAAA,IACpB,iBAAiBC;AAAA,IACjB,iBAAiBC;AAAA,IACjB,eAAeC;AAAA,IACf,cAAcC;AAAA,IACd,mBAAmBC;AAAA,IACnB,GAAGC;AAAA,KAEPC,MAGI,gBAAAC;AAAA,IAAChB;AAAA,IAAA;AAAA,MACG,WAAWiB,EAAG;AAAA,QACVC,EAAO;AAAA,QACPA,EAAO,QAAQb,CAAI,EAAE;AAAA,QACrBa,EAAO,UAAUZ,CAAM,EAAE;AAAA,QACzBY,EAAO,SAASf,CAAK,EAAE;AAAA,QACvBD;AAAA,MAAA,CACH;AAAA,MACD,MAAAE;AAAA,MACA,cAAYQ;AAAA,MACZ,eAAaD;AAAA,MACb,oBAAkBH;AAAA,MAClB,mBAAiBK;AAAA,MACjB,iBAAeJ;AAAA,MACf,iBAAeC;AAAA,MACf,gBAAcH;AAAA,MACd,KAAAQ;AAAA,MACC,GAAGD;AAAA,MAEH,UAAAb;AAAA,IAAA;AAAA,EACL;AAGZ;AAIAH,EAAQ,cAAc;"}
1
+ {"version":3,"file":"fondue-components14.js","sources":["../src/components/Grid/Grid.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { forwardRef, type ReactNode } from 'react';\n\nimport { type CommonAriaProps } from '#/helpers/aria';\nimport { type Responsive, type SizeValue, type LayoutComponentProps } from '#/helpers/layout';\nimport { propsToCssVariables } from '#/helpers/propsToCssVariables';\n\nimport styles from './styles/grid.module.scss';\n\nexport type GridProps = LayoutComponentProps & {\n /**\n * The element to render the Grid component as.\n * @default 'div'\n */\n as?: 'div' | 'span';\n\n /**\n * The display property.\n * @default 'grid'\n */\n display?: 'none' | 'grid' | 'inline-grid';\n /**\n * The columns property.\n */\n columns?: Responsive<string | number>;\n /**\n * The rows property.\n */\n rows?: Responsive<string | number>;\n /**\n * The flow property.\n */\n flow?: Responsive<'row' | 'column' | 'dense' | 'row-dense' | 'column-dense'>;\n /**\n * The alignment of the children.\n */\n align?: Responsive<'start' | 'center' | 'end' | 'baseline' | 'stretch'>;\n /**\n * The justification of the children.\n */\n justify?: Responsive<'start' | 'center' | 'end' | 'between'>;\n /**\n * The gap between the children.\n */\n gap?: Responsive<SizeValue>;\n /**\n * The horizontal gap between the children.\n */\n gapX?: Responsive<SizeValue>;\n /**\n * The vertical gap between the children.\n */\n gapY?: Responsive<SizeValue>;\n\n children?: ReactNode;\n 'data-test-id'?: string;\n} & CommonAriaProps;\n\nexport const Grid = forwardRef<HTMLDivElement, GridProps>(\n (\n {\n as: Component = 'div',\n 'data-test-id': dataTestId = 'fondue-grid',\n children,\n role,\n 'aria-label': ariaLabel,\n 'aria-hidden': ariaHidden,\n 'aria-describedby': ariaDescribedBy,\n 'aria-labelledby': ariaLabelledBy,\n 'aria-expanded': ariaExpanded,\n 'aria-haspopup': ariaHasPopup,\n ...props\n },\n ref,\n ) => {\n return (\n <Component\n className={styles.root}\n data-test-id={dataTestId}\n style={propsToCssVariables(props, { justify: 'justify-items' })}\n role={role}\n aria-label={ariaLabel}\n aria-hidden={ariaHidden}\n aria-describedby={ariaDescribedBy}\n aria-labelledby={ariaLabelledBy}\n aria-expanded={ariaExpanded}\n aria-haspopup={ariaHasPopup}\n ref={ref}\n >\n {children}\n </Component>\n );\n },\n);\nGrid.displayName = 'Grid';\n"],"names":["Grid","forwardRef","Component","dataTestId","children","role","ariaLabel","ariaHidden","ariaDescribedBy","ariaLabelledBy","ariaExpanded","ariaHasPopup","props","ref","jsx","styles","propsToCssVariables"],"mappings":";;;;AA2DO,MAAMA,IAAOC;AAAA,EAChB,CACI;AAAA,IACI,IAAIC,IAAY;AAAA,IAChB,gBAAgBC,IAAa;AAAA,IAC7B,UAAAC;AAAA,IACA,MAAAC;AAAA,IACA,cAAcC;AAAA,IACd,eAAeC;AAAA,IACf,oBAAoBC;AAAA,IACpB,mBAAmBC;AAAA,IACnB,iBAAiBC;AAAA,IACjB,iBAAiBC;AAAA,IACjB,GAAGC;AAAA,KAEPC,MAGI,gBAAAC;AAAA,IAACZ;AAAA,IAAA;AAAA,MACG,WAAWa,EAAO;AAAA,MAClB,gBAAcZ;AAAA,MACd,OAAOa,EAAoBJ,GAAO,EAAE,SAAS,iBAAiB;AAAA,MAC9D,MAAAP;AAAA,MACA,cAAYC;AAAA,MACZ,eAAaC;AAAA,MACb,oBAAkBC;AAAA,MAClB,mBAAiBC;AAAA,MACjB,iBAAeC;AAAA,MACf,iBAAeC;AAAA,MACf,KAAAE;AAAA,MAEC,UAAAT;AAAA,IAAA;AAAA,EACL;AAGZ;AACAJ,EAAK,cAAc;"}
@@ -1,31 +1,50 @@
1
- import { jsx as l } from "react/jsx-runtime";
2
- import * as n from "@radix-ui/react-label";
3
- import { forwardRef as s } from "react";
4
- import { cn as w } from "./fondue-components33.js";
5
- const m = ({ className: r, "data-test-id": d = "fondue-label", ...a }, i) => /* @__PURE__ */ l(
6
- n.Root,
7
- {
8
- ref: i,
9
- "data-required": a.required,
10
- className: w(
11
- 'tw-group tw-flex tw-gap-1 tw-font-body--stack tw-font-normal peer-data-[state="checked"]:tw-font-medium peer-data-[state="indeterminate"]:tw-font-medium tw-text-body-medium tw-text-text-weak peer-hover:tw-text-text has-[+_*_input:hover:not(:disabled)]:tw-text-text tw-transition-colors',
12
- // Disabled state if siblings has disabled state
13
- "has-[+_*_:disabled]:tw-text-text-disabled has-[~_:disabled]:tw-cursor-not-allowed peer-disabled:tw-text-text-disabled peer-disabled:tw-cursor-not-allowed",
14
- // Required asterisk
15
- 'after:tw-hidden data-[required="true"]:after:tw-flex after:tw-content-["*"] after:-tw-ml-1 after:tw-font-body--stack after:tw-text-body-small after:tw-font-medium after:tw-text-text-negative group-hover:tw-text-text-negative-hover',
16
- r
17
- ),
18
- "data-test-id": d,
19
- onClick: (t) => {
20
- const o = t.target.getAttribute("for"), e = o ? document.getElementById(o) : null;
21
- e && e.getAttribute("role") === "combobox" && (t.preventDefault(), t.stopPropagation(), e.click());
22
- },
23
- ...a
24
- }
25
- ), f = s(m);
26
- f.displayName = "Label";
1
+ import { jsx as y } from "react/jsx-runtime";
2
+ import { forwardRef as g } from "react";
3
+ import { cn as x } from "./fondue-components36.js";
4
+ import a from "./fondue-components55.js";
5
+ const $ = g(
6
+ ({
7
+ as: e = "span",
8
+ children: i,
9
+ className: r,
10
+ color: d = "default",
11
+ role: o,
12
+ size: t = "medium",
13
+ weight: l = "default",
14
+ "data-test-id": s = "fondue-heading",
15
+ "aria-describedby": p,
16
+ "aria-expanded": m,
17
+ "aria-haspopup": n,
18
+ "aria-hidden": b,
19
+ "aria-label": f,
20
+ "aria-labelledby": u,
21
+ ...c
22
+ }, h) => /* @__PURE__ */ y(
23
+ e,
24
+ {
25
+ className: x([
26
+ a.root,
27
+ a[`size-${t}`],
28
+ a[`weight-${l}`],
29
+ a[`color-${d}`],
30
+ r
31
+ ]),
32
+ role: o,
33
+ "aria-label": f,
34
+ "aria-hidden": b,
35
+ "aria-describedby": p,
36
+ "aria-labelledby": u,
37
+ "aria-expanded": m,
38
+ "aria-haspopup": n,
39
+ "data-test-id": s,
40
+ ref: h,
41
+ ...c,
42
+ children: i
43
+ }
44
+ )
45
+ );
46
+ $.displayName = "Heading";
27
47
  export {
28
- f as Label,
29
- m as LabelComponent
48
+ $ as Heading
30
49
  };
31
50
  //# sourceMappingURL=fondue-components15.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fondue-components15.js","sources":["../src/components/Label/Label.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport * as LabelPrimitive from '@radix-ui/react-label';\nimport { type ForwardedRef, forwardRef, type MouseEventHandler, type ReactNode } from 'react';\n\nimport { cn } from '#/utilities/styleUtilities';\n\nexport type LabelProps = {\n id?: string;\n children: ReactNode;\n /**\n * The id of the input element the label is associated with\n */\n htmlFor: string;\n /**\n * Add an asterisk to the label to indicate it is required\n * @default false\n */\n required?: boolean;\n className?: string;\n onClick?: MouseEventHandler<HTMLLabelElement>;\n 'data-test-id'?: string;\n};\n\nexport const LabelComponent = (\n { className, 'data-test-id': dataTestId = 'fondue-label', ...props }: LabelProps,\n ref: ForwardedRef<HTMLLabelElement>,\n) => {\n return (\n <LabelPrimitive.Root\n ref={ref}\n data-required={props.required}\n className={cn(\n 'tw-group tw-flex tw-gap-1 tw-font-body--stack tw-font-normal peer-data-[state=\"checked\"]:tw-font-medium peer-data-[state=\"indeterminate\"]:tw-font-medium tw-text-body-medium tw-text-text-weak peer-hover:tw-text-text has-[+_*_input:hover:not(:disabled)]:tw-text-text tw-transition-colors',\n // Disabled state if siblings has disabled state\n 'has-[+_*_:disabled]:tw-text-text-disabled has-[~_:disabled]:tw-cursor-not-allowed peer-disabled:tw-text-text-disabled peer-disabled:tw-cursor-not-allowed',\n // Required asterisk\n 'after:tw-hidden data-[required=\"true\"]:after:tw-flex after:tw-content-[\"*\"] after:-tw-ml-1 after:tw-font-body--stack after:tw-text-body-small after:tw-font-medium after:tw-text-text-negative group-hover:tw-text-text-negative-hover',\n className,\n )}\n data-test-id={dataTestId}\n onClick={(event) => {\n // Add support of Select component, Radix only allows native `select`\n // but we use `div[role=combobox]` because of downshift\n // https://github.com/radix-ui/primitives/blob/6e75e117977c9e6ffa939e6951a707f16ba0f95e/packages/react/label/src/label.tsx#L22\n const targetId = (event.target as HTMLElement).getAttribute('for');\n const target = targetId ? document.getElementById(targetId) : null;\n\n if (target && target.getAttribute('role') === 'combobox') {\n event.preventDefault();\n event.stopPropagation();\n target.click();\n }\n }}\n {...props}\n />\n );\n};\n\nexport const Label = forwardRef<HTMLLabelElement, LabelProps>(LabelComponent);\nLabel.displayName = 'Label';\n"],"names":["LabelComponent","className","dataTestId","props","ref","jsx","LabelPrimitive","cn","event","targetId","target","Label","forwardRef"],"mappings":";;;;AAwBa,MAAAA,IAAiB,CAC1B,EAAE,WAAAC,GAAW,gBAAgBC,IAAa,gBAAgB,GAAGC,EAAM,GACnEC,MAGI,gBAAAC;AAAA,EAACC,EAAe;AAAA,EAAf;AAAA,IACG,KAAAF;AAAA,IACA,iBAAeD,EAAM;AAAA,IACrB,WAAWI;AAAA,MACP;AAAA;AAAA,MAEA;AAAA;AAAA,MAEA;AAAA,MACAN;AAAA,IACJ;AAAA,IACA,gBAAcC;AAAA,IACd,SAAS,CAACM,MAAU;AAIhB,YAAMC,IAAYD,EAAM,OAAuB,aAAa,KAAK,GAC3DE,IAASD,IAAW,SAAS,eAAeA,CAAQ,IAAI;AAE9D,MAAIC,KAAUA,EAAO,aAAa,MAAM,MAAM,eAC1CF,EAAM,eAAe,GACrBA,EAAM,gBAAgB,GACtBE,EAAO,MAAM;AAAA,IAErB;AAAA,IACC,GAAGP;AAAA,EAAA;AACR,GAIKQ,IAAQC,EAAyCZ,CAAc;AAC5EW,EAAM,cAAc;"}
1
+ {"version":3,"file":"fondue-components15.js","sources":["../src/components/Heading/Heading.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { type ElementType, type ForwardedRef, forwardRef, type ReactNode } from 'react';\n\nimport { type CommonAriaProps } from '#/helpers/aria';\nimport { cn } from '#/utilities/styleUtilities';\n\nimport styles from './styles/heading.module.scss';\n\ntype HeadingWeight = 'default' | 'strong';\ntype HeadingSize = 'medium' | 'large' | 'x-large' | 'xx-large';\ntype HeadingColor = 'default' | 'weak' | 'x-weak' | 'disabled' | 'negative' | 'positive' | 'warning' | 'interactive';\n\ntype TagType = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'span' | 'p';\n\nexport type HeadingProps<TTag extends TagType = 'span'> = CommonAriaProps & {\n 'data-test-id'?: string;\n as?: TTag;\n children?: ReactNode;\n color?: HeadingColor;\n size?: HeadingSize;\n weight?: HeadingWeight;\n className?: string;\n};\n\ntype HeadingElementType<TTag extends TagType> = TTag extends 'span'\n ? HTMLSpanElement\n : TTag extends 'p'\n ? HTMLParagraphElement\n : HTMLHeadingElement;\n\nexport const Heading = forwardRef(\n (\n {\n as: Tag = 'span' as ElementType,\n children,\n className,\n color = 'default',\n role,\n size = 'medium',\n weight = 'default',\n 'data-test-id': dataTestId = 'fondue-heading',\n 'aria-describedby': ariaDescribedBy,\n 'aria-expanded': ariaExpanded,\n 'aria-haspopup': ariaHasPopup,\n 'aria-hidden': ariaHidden,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n ...props\n },\n ref,\n ) => {\n return (\n <Tag\n className={cn([\n styles.root,\n styles[`size-${size}`],\n styles[`weight-${weight}`],\n styles[`color-${color}`],\n className,\n ])}\n role={role}\n aria-label={ariaLabel}\n aria-hidden={ariaHidden}\n aria-describedby={ariaDescribedBy}\n aria-labelledby={ariaLabelledBy}\n aria-expanded={ariaExpanded}\n aria-haspopup={ariaHasPopup}\n data-test-id={dataTestId}\n ref={ref}\n {...props}\n >\n {children}\n </Tag>\n );\n },\n) as (<TTag extends TagType = 'span'>(\n props: HeadingProps<TTag> & { ref?: ForwardedRef<HeadingElementType<TTag>> },\n) => JSX.Element) & { displayName: string };\n\nHeading.displayName = 'Heading';\n"],"names":["Heading","forwardRef","Tag","children","className","color","role","size","weight","dataTestId","ariaDescribedBy","ariaExpanded","ariaHasPopup","ariaHidden","ariaLabel","ariaLabelledBy","props","ref","jsx","cn","styles"],"mappings":";;;;AA+BO,MAAMA,IAAUC;AAAA,EACnB,CACI;AAAA,IACI,IAAIC,IAAM;AAAA,IACV,UAAAC;AAAA,IACA,WAAAC;AAAA,IACA,OAAAC,IAAQ;AAAA,IACR,MAAAC;AAAA,IACA,MAAAC,IAAO;AAAA,IACP,QAAAC,IAAS;AAAA,IACT,gBAAgBC,IAAa;AAAA,IAC7B,oBAAoBC;AAAA,IACpB,iBAAiBC;AAAA,IACjB,iBAAiBC;AAAA,IACjB,eAAeC;AAAA,IACf,cAAcC;AAAA,IACd,mBAAmBC;AAAA,IACnB,GAAGC;AAAA,KAEPC,MAGI,gBAAAC;AAAA,IAAChB;AAAA,IAAA;AAAA,MACG,WAAWiB,EAAG;AAAA,QACVC,EAAO;AAAA,QACPA,EAAO,QAAQb,CAAI,EAAE;AAAA,QACrBa,EAAO,UAAUZ,CAAM,EAAE;AAAA,QACzBY,EAAO,SAASf,CAAK,EAAE;AAAA,QACvBD;AAAA,MAAA,CACH;AAAA,MACD,MAAAE;AAAA,MACA,cAAYQ;AAAA,MACZ,eAAaD;AAAA,MACb,oBAAkBH;AAAA,MAClB,mBAAiBK;AAAA,MACjB,iBAAeJ;AAAA,MACf,iBAAeC;AAAA,MACf,gBAAcH;AAAA,MACd,KAAAQ;AAAA,MACC,GAAGD;AAAA,MAEH,UAAAb;AAAA,IAAA;AAAA,EACL;AAGZ;AAIAH,EAAQ,cAAc;"}