@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.
- package/dist/fondue-components.js +48 -52
- package/dist/fondue-components.js.map +1 -1
- package/dist/fondue-components10.js +3 -3
- package/dist/fondue-components10.js.map +1 -1
- package/dist/fondue-components11.js +86 -104
- package/dist/fondue-components11.js.map +1 -1
- package/dist/fondue-components12.js +2 -2
- package/dist/fondue-components13.js +57 -58
- package/dist/fondue-components13.js.map +1 -1
- package/dist/fondue-components14.js +2 -2
- package/dist/fondue-components15.js +2 -2
- package/dist/fondue-components16.js +2 -2
- package/dist/fondue-components17.js +36 -56
- package/dist/fondue-components17.js.map +1 -1
- package/dist/fondue-components18.js +16 -34
- package/dist/fondue-components18.js.map +1 -1
- package/dist/fondue-components19.js +73 -18
- package/dist/fondue-components19.js.map +1 -1
- package/dist/fondue-components20.js +36 -18
- package/dist/fondue-components20.js.map +1 -1
- package/dist/fondue-components21.js +50 -71
- package/dist/fondue-components21.js.map +1 -1
- package/dist/fondue-components22.js +138 -36
- package/dist/fondue-components22.js.map +1 -1
- package/dist/fondue-components23.js +50 -50
- package/dist/fondue-components23.js.map +1 -1
- package/dist/fondue-components24.js +99 -137
- package/dist/fondue-components24.js.map +1 -1
- package/dist/fondue-components25.js +26 -48
- package/dist/fondue-components25.js.map +1 -1
- package/dist/fondue-components26.js +188 -92
- package/dist/fondue-components26.js.map +1 -1
- package/dist/fondue-components27.js +134 -30
- package/dist/fondue-components27.js.map +1 -1
- package/dist/fondue-components28.js +126 -191
- package/dist/fondue-components28.js.map +1 -1
- package/dist/fondue-components29.js +30 -134
- package/dist/fondue-components29.js.map +1 -1
- package/dist/fondue-components3.js +1 -1
- package/dist/fondue-components30.js +63 -130
- package/dist/fondue-components30.js.map +1 -1
- package/dist/fondue-components31.js +114 -31
- package/dist/fondue-components31.js.map +1 -1
- package/dist/fondue-components32.js +36 -64
- package/dist/fondue-components32.js.map +1 -1
- package/dist/fondue-components33.js +54 -103
- package/dist/fondue-components33.js.map +1 -1
- package/dist/fondue-components34.js +20 -36
- package/dist/fondue-components34.js.map +1 -1
- package/dist/fondue-components35.js +23 -57
- package/dist/fondue-components35.js.map +1 -1
- package/dist/fondue-components36.js +7 -20
- package/dist/fondue-components36.js.map +1 -1
- package/dist/fondue-components37.js +6 -23
- package/dist/fondue-components37.js.map +1 -1
- package/dist/fondue-components38.js +32 -8
- package/dist/fondue-components38.js.map +1 -1
- package/dist/fondue-components39.js +3 -5
- package/dist/fondue-components39.js.map +1 -1
- package/dist/fondue-components4.js +3 -3
- package/dist/fondue-components40.js +12 -32
- package/dist/fondue-components40.js.map +1 -1
- package/dist/fondue-components41.js +155 -5
- package/dist/fondue-components41.js.map +1 -1
- package/dist/fondue-components42.js +116 -18
- package/dist/fondue-components42.js.map +1 -1
- package/dist/fondue-components43.js +22 -59
- package/dist/fondue-components43.js.map +1 -1
- package/dist/fondue-components44.js +14 -111
- package/dist/fondue-components44.js.map +1 -1
- package/dist/fondue-components45.js +30 -116
- package/dist/fondue-components45.js.map +1 -1
- package/dist/fondue-components46.js +54 -21
- package/dist/fondue-components46.js.map +1 -1
- package/dist/fondue-components47.js +131 -32
- package/dist/fondue-components47.js.map +1 -1
- package/dist/fondue-components48.js +20 -53
- package/dist/fondue-components48.js.map +1 -1
- package/dist/fondue-components49.js +53 -131
- package/dist/fondue-components49.js.map +1 -1
- package/dist/fondue-components5.js +2 -2
- package/dist/fondue-components50.js +7 -20
- package/dist/fondue-components50.js.map +1 -1
- package/dist/fondue-components51.js +13 -53
- package/dist/fondue-components51.js.map +1 -1
- package/dist/fondue-components52.js +14 -7
- package/dist/fondue-components52.js.map +1 -1
- package/dist/fondue-components53.js +5 -13
- package/dist/fondue-components53.js.map +1 -1
- package/dist/fondue-components54.js +60 -15
- package/dist/fondue-components54.js.map +1 -1
- package/dist/fondue-components55.js +18 -5
- package/dist/fondue-components55.js.map +1 -1
- package/dist/fondue-components56.js +19 -60
- package/dist/fondue-components56.js.map +1 -1
- package/dist/fondue-components57.js +5 -18
- package/dist/fondue-components57.js.map +1 -1
- package/dist/fondue-components58.js +14 -18
- package/dist/fondue-components58.js.map +1 -1
- package/dist/fondue-components59.js +1 -1
- package/dist/fondue-components6.js +4 -4
- package/dist/fondue-components60.js +16 -10
- package/dist/fondue-components60.js.map +1 -1
- package/dist/fondue-components61.js +10 -4
- package/dist/fondue-components61.js.map +1 -1
- package/dist/fondue-components62.js +35 -18
- package/dist/fondue-components62.js.map +1 -1
- package/dist/fondue-components63.js +4 -10
- package/dist/fondue-components63.js.map +1 -1
- package/dist/fondue-components64.js +10 -34
- package/dist/fondue-components64.js.map +1 -1
- package/dist/fondue-components65.js +5 -35
- package/dist/fondue-components65.js.map +1 -1
- package/dist/fondue-components66.js +24 -4
- package/dist/fondue-components66.js.map +1 -1
- package/dist/fondue-components67.js +16 -12
- package/dist/fondue-components67.js.map +1 -1
- package/dist/fondue-components68.js +151 -4
- package/dist/fondue-components68.js.map +1 -1
- package/dist/fondue-components69.js +19 -25
- package/dist/fondue-components69.js.map +1 -1
- package/dist/fondue-components7.js +2 -2
- package/dist/fondue-components70.js +78 -16
- package/dist/fondue-components70.js.map +1 -1
- package/dist/fondue-components71.js +8 -152
- package/dist/fondue-components71.js.map +1 -1
- package/dist/fondue-components72.js +37 -19
- package/dist/fondue-components72.js.map +1 -1
- package/dist/fondue-components73.js +69 -77
- package/dist/fondue-components73.js.map +1 -1
- package/dist/fondue-components74.js +11 -8
- package/dist/fondue-components74.js.map +1 -1
- package/dist/fondue-components75.js +10 -36
- package/dist/fondue-components75.js.map +1 -1
- package/dist/fondue-components76.js +12 -70
- package/dist/fondue-components76.js.map +1 -1
- package/dist/fondue-components77.js +12 -10
- package/dist/fondue-components77.js.map +1 -1
- package/dist/fondue-components78.js +22 -10
- package/dist/fondue-components78.js.map +1 -1
- package/dist/fondue-components79.js +34 -13
- package/dist/fondue-components79.js.map +1 -1
- package/dist/fondue-components8.js +5 -5
- package/dist/fondue-components80.js +10 -12
- package/dist/fondue-components80.js.map +1 -1
- package/dist/fondue-components81.js +67 -22
- package/dist/fondue-components81.js.map +1 -1
- package/dist/fondue-components82.js +15 -34
- package/dist/fondue-components82.js.map +1 -1
- package/dist/fondue-components83.js +24 -9
- package/dist/fondue-components83.js.map +1 -1
- package/dist/fondue-components84.js +18 -67
- package/dist/fondue-components84.js.map +1 -1
- package/dist/fondue-components85.js +22 -12
- package/dist/fondue-components85.js.map +1 -1
- package/dist/fondue-components86.js +6 -24
- package/dist/fondue-components86.js.map +1 -1
- package/dist/fondue-components87.js +19 -18
- package/dist/fondue-components87.js.map +1 -1
- package/dist/fondue-components88.js +5 -21
- package/dist/fondue-components88.js.map +1 -1
- package/dist/fondue-components89.js +4 -8
- package/dist/fondue-components89.js.map +1 -1
- package/dist/fondue-components9.js +5 -5
- package/dist/fondue-components90.js +4 -19
- package/dist/fondue-components90.js.map +1 -1
- package/dist/fondue-components91.js +2 -7
- package/dist/fondue-components91.js.map +1 -1
- package/dist/fondue-components92.js +40 -2
- package/dist/fondue-components92.js.map +1 -1
- package/dist/fondue-components93.js +20 -4
- package/dist/fondue-components93.js.map +1 -1
- package/dist/fondue-components94.js +16 -4
- package/dist/fondue-components94.js.map +1 -1
- package/dist/index.d.ts +30 -117
- package/dist/style.css +1 -1
- package/package.json +6 -6
- package/dist/fondue-components95.js +0 -20
- package/dist/fondue-components95.js.map +0 -1
- package/dist/fondue-components96.js +0 -43
- package/dist/fondue-components96.js.map +0 -1
- package/dist/fondue-components97.js +0 -24
- package/dist/fondue-components97.js.map +0 -1
|
@@ -1,110 +1,61 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
3
|
-
import { forwardRef as
|
|
4
|
-
import {
|
|
5
|
-
import
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
a.key === "Enter" && (m == null || m(a)), (e = t.onKeyDown) == null || e.call(t, a);
|
|
33
|
-
};
|
|
34
|
-
return z(() => {
|
|
35
|
-
w(f ?? u ?? "");
|
|
36
|
-
}, [u, f]), z(() => {
|
|
37
|
-
var a;
|
|
38
|
-
C && ((a = h.current) == null || a.focus());
|
|
39
|
-
}, [C]), /* @__PURE__ */ R(
|
|
40
|
-
"div",
|
|
1
|
+
import { jsx as o, jsxs as y } from "react/jsx-runtime";
|
|
2
|
+
import * as r from "@radix-ui/react-tooltip";
|
|
3
|
+
import { forwardRef as l } from "react";
|
|
4
|
+
import { cn as R } from "./fondue-components40.js";
|
|
5
|
+
import { useFondueTheme as N, ThemeProvider as x } from "./fondue-components32.js";
|
|
6
|
+
import s from "./fondue-components88.js";
|
|
7
|
+
const p = ({ children: t, enterDelay: e = 700, open: i, onOpenChange: n }) => /* @__PURE__ */ o(r.Provider, { children: /* @__PURE__ */ o(r.Root, { delayDuration: e, open: i, onOpenChange: n, children: t }) });
|
|
8
|
+
p.displayName = "Tooltip.Root";
|
|
9
|
+
const m = ({ asChild: t = !1, children: e, "data-test-id": i = "fondue-tooltip-trigger" }, n) => /* @__PURE__ */ o(
|
|
10
|
+
r.Trigger,
|
|
11
|
+
{
|
|
12
|
+
"data-tooltip-trigger": !0,
|
|
13
|
+
"data-test-id": i,
|
|
14
|
+
type: t ? void 0 : "button",
|
|
15
|
+
asChild: t,
|
|
16
|
+
ref: n,
|
|
17
|
+
children: e
|
|
18
|
+
}
|
|
19
|
+
);
|
|
20
|
+
m.displayName = "Tooltip.Trigger";
|
|
21
|
+
const f = ({
|
|
22
|
+
children: t,
|
|
23
|
+
className: e,
|
|
24
|
+
maxWidth: i,
|
|
25
|
+
"data-test-id": n = "fondue-tooltip-content",
|
|
26
|
+
padding: c = "spacious",
|
|
27
|
+
side: g
|
|
28
|
+
}, u) => {
|
|
29
|
+
const { theme: T, dir: d } = N(), h = (a) => !a || d === "ltr" ? a : a === "left" ? "right" : a === "right" ? "left" : a;
|
|
30
|
+
return /* @__PURE__ */ o(r.Portal, { children: /* @__PURE__ */ o(x, { theme: T, dir: d, children: /* @__PURE__ */ y(
|
|
31
|
+
r.Content,
|
|
41
32
|
{
|
|
42
|
-
|
|
43
|
-
"data-
|
|
44
|
-
"data-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
"data-max-rows": !!T,
|
|
52
|
-
"data-test-id": N,
|
|
53
|
-
style: { "--max-rows": `${T}` },
|
|
33
|
+
dir: d,
|
|
34
|
+
"data-test-id": n,
|
|
35
|
+
"data-tooltip-spacing": c,
|
|
36
|
+
className: R(s.root, e),
|
|
37
|
+
style: { maxWidth: i },
|
|
38
|
+
collisionPadding: 16,
|
|
39
|
+
sideOffset: 8,
|
|
40
|
+
ref: u,
|
|
41
|
+
side: h(g),
|
|
54
42
|
children: [
|
|
55
|
-
|
|
56
|
-
/* @__PURE__ */ o(
|
|
57
|
-
"textarea",
|
|
58
|
-
{
|
|
59
|
-
...t,
|
|
60
|
-
onMouseDown: (a) => {
|
|
61
|
-
g.current = !0, a.currentTarget.dataset.showFocusRing = "false";
|
|
62
|
-
},
|
|
63
|
-
onFocus: (a) => {
|
|
64
|
-
var e;
|
|
65
|
-
g.current || (a.target.dataset.showFocusRing = "true"), (e = t.onFocus) == null || e.call(t, a);
|
|
66
|
-
},
|
|
67
|
-
onBlur: (a) => {
|
|
68
|
-
var e;
|
|
69
|
-
a.target.dataset.showFocusRing = "false", g.current = !1, (e = t.onBlur) == null || e.call(t, a);
|
|
70
|
-
},
|
|
71
|
-
autoComplete: F ? "on" : "off",
|
|
72
|
-
className: c.textarea,
|
|
73
|
-
disabled: r,
|
|
74
|
-
onKeyDown: x,
|
|
75
|
-
onInput: (a) => w(a.currentTarget.value),
|
|
76
|
-
onSelect: (a) => {
|
|
77
|
-
I || (a.currentTarget.selectionStart = a.currentTarget.selectionEnd);
|
|
78
|
-
},
|
|
79
|
-
readOnly: n,
|
|
80
|
-
ref: h,
|
|
81
|
-
rows: B,
|
|
82
|
-
value: k
|
|
83
|
-
}
|
|
84
|
-
),
|
|
85
|
-
s === "loading" && /* @__PURE__ */ o("div", { className: c.loadingStatus, "data-test-id": `${N}-loader` }),
|
|
86
|
-
v && /* @__PURE__ */ R("div", { className: c.tools, children: [
|
|
87
|
-
s === "success" && /* @__PURE__ */ o("div", { className: c.success, children: /* @__PURE__ */ o($, { size: 20 }) }),
|
|
88
|
-
s === "error" && /* @__PURE__ */ o("div", { className: c[s], children: /* @__PURE__ */ o(b, { size: 20 }) }),
|
|
89
|
-
l == null ? void 0 : l.map(({ icon: a, title: e, callback: M }) => /* @__PURE__ */ o(
|
|
90
|
-
"button",
|
|
91
|
-
{
|
|
92
|
-
className: c.toolsButton,
|
|
93
|
-
disabled: r || n,
|
|
94
|
-
onClick: M,
|
|
95
|
-
title: e,
|
|
96
|
-
children: a
|
|
97
|
-
},
|
|
98
|
-
e
|
|
99
|
-
)),
|
|
100
|
-
i && /* @__PURE__ */ o("button", { className: c.toolsButton, onClick: j, disabled: r || n, children: /* @__PURE__ */ o(q, { size: 20, fill: "currentColor" }) })
|
|
101
|
-
] })
|
|
43
|
+
t,
|
|
44
|
+
/* @__PURE__ */ o(r.Arrow, { "aria-hidden": "true", className: s.arrow })
|
|
102
45
|
]
|
|
103
46
|
}
|
|
104
|
-
);
|
|
105
|
-
}
|
|
106
|
-
|
|
47
|
+
) }) });
|
|
48
|
+
};
|
|
49
|
+
f.displayName = "Tooltip.Content";
|
|
50
|
+
const A = {
|
|
51
|
+
Root: p,
|
|
52
|
+
Trigger: l(m),
|
|
53
|
+
Content: l(f)
|
|
54
|
+
};
|
|
107
55
|
export {
|
|
108
|
-
|
|
56
|
+
A as Tooltip,
|
|
57
|
+
f as TooltipContent,
|
|
58
|
+
p as TooltipRoot,
|
|
59
|
+
m as TooltipTrigger
|
|
109
60
|
};
|
|
110
61
|
//# sourceMappingURL=fondue-components33.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fondue-components33.js","sources":["../src/components/Textarea/Textarea.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { IconCheckMark, IconCross, IconExclamationMarkTriangle } from '@frontify/fondue-icons';\nimport {\n forwardRef,\n useEffect,\n useRef,\n useState,\n type ChangeEventHandler,\n type CSSProperties,\n type FocusEventHandler,\n type ForwardedRef,\n type KeyboardEventHandler,\n type ReactElement,\n type SyntheticEvent,\n} from 'react';\n\nimport { useSyncRefs } from '#/hooks/useSyncRefs';\n\nimport styles from './styles/textarea.module.scss';\n\nexport type ExtraAction = {\n icon: ReactElement;\n title: string;\n callback: () => void;\n};\n\ntype Status = 'default' | 'loading' | 'success' | 'error';\n\ntype TextareaProps = {\n /**\n * The id of the textarea\n */\n id?: string;\n /**\n * If `true`, Textarea will have `autoComplete` functionality\n */\n autocomplete?: boolean;\n /**\n * If `true`, component rendered is a auto sizing Textarea\n */\n autosize?: boolean;\n /**\n * Render `clear` button to clear input on click\n */\n clearable?: boolean;\n /**\n * A `ReactElement` that will be rendered at the start of the `Textarea`\n */\n decorator?: ReactElement;\n /**\n * Initial value\n */\n defaultValue?: string;\n disabled?: boolean;\n /**\n * Collection of extra actions the input can preform\n */\n extraActions?: ExtraAction[];\n /**\n * If `true`, Textarea will be focused on mount\n */\n focusOnMount?: boolean;\n /**\n * If autosize is false, this is used as rows property for default textarea\n * @default 1\n */\n minRows?: number;\n /**\n * If `autosize` is `false`, this property is ignored\n */\n maxRows?: number;\n /**\n * Event handler called when the textarea value changes\n */\n onChange?: ChangeEventHandler<HTMLTextAreaElement>;\n /**\n * Event handler called when the text input is blurred\n */\n onBlur?: FocusEventHandler<HTMLTextAreaElement>;\n /**\n * Event handler called when the text input is focused\n */\n onFocus?: FocusEventHandler<HTMLTextAreaElement>;\n /**\n * Event handler called when a key is pressed\n */\n onKeyDown?: KeyboardEventHandler<HTMLTextAreaElement>;\n /**\n * Event handler called when Enter is pressed\n */\n onEnterPressed?: KeyboardEventHandler<HTMLTextAreaElement>;\n /**\n * Event handler called when a key is released\n */\n onKeyUp?: KeyboardEventHandler<HTMLTextAreaElement>;\n /**\n * Event handler called when the text inside of text input is selected\n */\n onSelect?: (event: SyntheticEvent<HTMLTextAreaElement>) => void;\n /**\n * If `true`, Textarea will be required\n */\n required?: boolean;\n /**\n * The test id of the textarea\n */\n 'data-test-id'?: string;\n placeholder?: string;\n readOnly?: boolean;\n resizable?: boolean;\n selectable?: boolean;\n /**\n * The current status of the input. It will trigger the corresponding icon to be appended to the Textarea.\n * @default 'default'\n */\n status?: Status;\n value?: string;\n};\n\nconst TextareaComponent = (\n {\n 'data-test-id': dataTestId = 'fondue-textarea',\n autocomplete,\n autosize,\n clearable,\n decorator,\n defaultValue,\n disabled,\n extraActions,\n focusOnMount,\n minRows: rows = 1,\n maxRows,\n onEnterPressed,\n readOnly,\n resizable,\n selectable = true,\n status = 'default',\n value: inputValue,\n ...props\n }: TextareaProps,\n forwardedRef: ForwardedRef<HTMLTextAreaElement>,\n) => {\n const ref = useRef<HTMLTextAreaElement>(null);\n const wasClicked = useRef(false);\n\n useSyncRefs<HTMLTextAreaElement>(ref, forwardedRef);\n\n const [value, setValue] = useState(inputValue ?? defaultValue ?? '');\n\n const hasTools = extraActions?.length !== undefined || clearable || ['success', 'error'].includes(status);\n\n const clear = () => {\n setValue('');\n };\n\n const handleKeyDown: KeyboardEventHandler<HTMLTextAreaElement> = (event) => {\n if (event.key === 'Enter') {\n onEnterPressed?.(event);\n }\n props.onKeyDown?.(event);\n };\n\n useEffect(() => {\n setValue(inputValue ?? defaultValue ?? '');\n }, [defaultValue, inputValue]);\n\n useEffect(() => {\n if (focusOnMount) {\n ref.current?.focus();\n }\n }, [focusOnMount]);\n\n return (\n <div\n className={styles.root}\n data-autosize={autosize}\n data-clearable={clearable}\n data-disabled={disabled || readOnly}\n data-has-decorator={decorator ? true : false}\n data-has-tools={hasTools}\n data-replicated-value={value}\n data-resizable={resizable}\n data-status={status}\n data-max-rows={!!maxRows}\n data-test-id={dataTestId}\n style={{ '--max-rows': `${maxRows}` } as CSSProperties}\n >\n {decorator ? <div className={styles.decorator}>{decorator}</div> : null}\n <textarea\n {...props}\n onMouseDown={(mouseEvent) => {\n wasClicked.current = true;\n mouseEvent.currentTarget.dataset.showFocusRing = 'false';\n }}\n onFocus={(focusEvent) => {\n if (!wasClicked.current) {\n focusEvent.target.dataset.showFocusRing = 'true';\n }\n props.onFocus?.(focusEvent);\n }}\n onBlur={(blurEvent) => {\n blurEvent.target.dataset.showFocusRing = 'false';\n wasClicked.current = false;\n props.onBlur?.(blurEvent);\n }}\n autoComplete={autocomplete ? 'on' : 'off'}\n className={styles.textarea}\n disabled={disabled}\n onKeyDown={handleKeyDown}\n onInput={(event) => setValue(event.currentTarget.value)}\n onSelect={(event) => {\n if (!selectable) {\n event.currentTarget.selectionStart = event.currentTarget.selectionEnd;\n }\n }}\n readOnly={readOnly}\n ref={ref}\n rows={rows}\n value={value}\n ></textarea>\n {status === 'loading' && <div className={styles.loadingStatus} data-test-id={`${dataTestId}-loader`} />}\n {hasTools && (\n <div className={styles.tools}>\n {status === 'success' && (\n <div className={styles.success}>\n <IconCheckMark size={20} />\n </div>\n )}\n {status === 'error' && (\n <div className={styles[status]}>\n <IconExclamationMarkTriangle size={20} />\n </div>\n )}\n {extraActions?.map(({ icon, title, callback }) => (\n <button\n className={styles.toolsButton}\n disabled={disabled || readOnly}\n key={title}\n onClick={callback}\n title={title}\n >\n {icon}\n </button>\n ))}\n {clearable && (\n <button className={styles.toolsButton} onClick={clear} disabled={disabled || readOnly}>\n <IconCross size={20} fill=\"currentColor\" />\n </button>\n )}\n </div>\n )}\n </div>\n );\n};\n\nexport const Textarea = forwardRef<HTMLTextAreaElement, TextareaProps>(TextareaComponent);\nTextarea.displayName = 'Textarea';\n"],"names":["TextareaComponent","dataTestId","autocomplete","autosize","clearable","decorator","defaultValue","disabled","extraActions","focusOnMount","rows","maxRows","onEnterPressed","readOnly","resizable","selectable","status","inputValue","props","forwardedRef","ref","useRef","wasClicked","useSyncRefs","value","setValue","useState","hasTools","clear","handleKeyDown","event","_a","useEffect","jsxs","styles","jsx","mouseEvent","focusEvent","blurEvent","IconCheckMark","IconExclamationMarkTriangle","icon","title","callback","IconCross","Textarea","forwardRef"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fondue-components33.js","sources":["../src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport * as RadixTooltip from '@radix-ui/react-tooltip';\nimport { forwardRef, type ForwardedRef, type ReactElement, type ReactNode } from 'react';\n\nimport { cn } from '#/utilities/styleUtilities';\n\nimport { ThemeProvider, useFondueTheme } from '../ThemeProvider/ThemeProvider';\n\nimport styles from './styles/tooltip.module.scss';\n\nexport type TooltipRootProps = {\n /**\n * Sets the open state of the tooltip.\n */\n open?: boolean;\n /**\n * Callback that is called when the open state of the tooltip changes.\n */\n onOpenChange?: (open: boolean) => void;\n /**\n * The delay in milliseconds before the tooltip appears.\n * @default 700\n */\n enterDelay?: number;\n children: Array<ReactElement<TooltipTriggerProps | TooltipContentProps>>;\n};\n\nexport const TooltipRoot = ({ children, enterDelay = 700, open, onOpenChange }: TooltipRootProps) => {\n return (\n <RadixTooltip.Provider>\n <RadixTooltip.Root delayDuration={enterDelay} open={open} onOpenChange={onOpenChange}>\n {children}\n </RadixTooltip.Root>\n </RadixTooltip.Provider>\n );\n};\nTooltipRoot.displayName = 'Tooltip.Root';\n\nexport type TooltipTriggerProps = {\n /**\n * Change the default rendered element for the one passed as a child, merging their props and behavior.\n * @default false\n */\n asChild?: boolean;\n children: ReactNode;\n 'data-test-id'?: string;\n};\n\nexport const TooltipTrigger = (\n { asChild = false, children, 'data-test-id': dataTestId = 'fondue-tooltip-trigger' }: TooltipTriggerProps,\n ref: ForwardedRef<HTMLButtonElement>,\n) => {\n return (\n <RadixTooltip.Trigger\n data-tooltip-trigger\n data-test-id={dataTestId}\n type={!asChild ? 'button' : undefined}\n asChild={asChild}\n ref={ref}\n >\n {children}\n </RadixTooltip.Trigger>\n );\n};\nTooltipTrigger.displayName = 'Tooltip.Trigger';\n\nexport type TooltipContentProps = {\n /**\n * @default \"spacious\"\n */\n padding?: 'spacious' | 'compact';\n /**\n * Defines the preferred side of the tooltip. It will not be respected if there are collisions with the viewport.\n */\n side?: 'top' | 'right' | 'bottom' | 'left';\n maxWidth?: string;\n className?: string;\n children: ReactNode;\n 'data-test-id'?: string;\n};\n\nexport const TooltipContent = (\n {\n children,\n className,\n maxWidth,\n 'data-test-id': dataTestId = 'fondue-tooltip-content',\n padding = 'spacious',\n side,\n }: TooltipContentProps,\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 <RadixTooltip.Portal>\n <ThemeProvider theme={theme} dir={dir}>\n <RadixTooltip.Content\n dir={dir}\n data-test-id={dataTestId}\n data-tooltip-spacing={padding}\n className={cn(styles.root, className)}\n style={{ maxWidth }}\n collisionPadding={16}\n sideOffset={8}\n ref={ref}\n side={getAdjustedSide(side)}\n >\n {children}\n <RadixTooltip.Arrow aria-hidden=\"true\" className={styles.arrow} />\n </RadixTooltip.Content>\n </ThemeProvider>\n </RadixTooltip.Portal>\n );\n};\nTooltipContent.displayName = 'Tooltip.Content';\n\nexport const Tooltip = {\n Root: TooltipRoot,\n Trigger: forwardRef<HTMLButtonElement, TooltipTriggerProps>(TooltipTrigger),\n Content: forwardRef<HTMLDivElement, TooltipContentProps>(TooltipContent),\n};\n"],"names":["TooltipRoot","children","enterDelay","open","onOpenChange","jsx","RadixTooltip","TooltipTrigger","asChild","dataTestId","ref","TooltipContent","className","maxWidth","padding","side","theme","dir","useFondueTheme","getAdjustedSide","ThemeProvider","jsxs","cn","styles","Tooltip","forwardRef"],"mappings":";;;;;;AA4BO,MAAMA,IAAc,CAAC,EAAE,UAAAC,GAAU,YAAAC,IAAa,KAAK,MAAAC,GAAM,cAAAC,QAExD,gBAAAC,EAACC,EAAa,UAAb,EACG,UAAA,gBAAAD,EAACC,EAAa,MAAb,EAAkB,eAAeJ,GAAY,MAAAC,GAAY,cAAAC,GACrD,UAAAH,GACL,GACJ;AAGRD,EAAY,cAAc;AAYnB,MAAMO,IAAiB,CAC1B,EAAE,SAAAC,IAAU,IAAO,UAAAP,GAAU,gBAAgBQ,IAAa,yBAAA,GAC1DC,MAGI,gBAAAL;AAAA,EAACC,EAAa;AAAA,EAAb;AAAA,IACG,wBAAoB;AAAA,IACpB,gBAAcG;AAAA,IACd,MAAOD,IAAqB,SAAX;AAAA,IACjB,SAAAA;AAAA,IACA,KAAAE;AAAA,IAEC,UAAAT;AAAA,EAAA;AAAA;AAIbM,EAAe,cAAc;AAiBtB,MAAMI,IAAiB,CAC1B;AAAA,EACI,UAAAV;AAAA,EACA,WAAAW;AAAA,EACA,UAAAC;AAAA,EACA,gBAAgBJ,IAAa;AAAA,EAC7B,SAAAK,IAAU;AAAA,EACV,MAAAC;AACJ,GACAL,MACC;AACD,QAAM,EAAE,OAAAM,GAAO,KAAAC,EAAA,IAAQC,EAAA,GAEjBC,IAAkB,CAACJ,MACjB,CAACA,KAAQE,MAAQ,QACVF,IAGPA,MAAS,SACF,UAEPA,MAAS,UACF,SAGJA;AAGX,2BACKT,EAAa,QAAb,EACG,UAAA,gBAAAD,EAACe,GAAA,EAAc,OAAAJ,GAAc,KAAAC,GACzB,UAAA,gBAAAI;AAAA,IAACf,EAAa;AAAA,IAAb;AAAA,MACG,KAAAW;AAAA,MACA,gBAAcR;AAAA,MACd,wBAAsBK;AAAA,MACtB,WAAWQ,EAAGC,EAAO,MAAMX,CAAS;AAAA,MACpC,OAAO,EAAE,UAAAC,EAAA;AAAA,MACT,kBAAkB;AAAA,MAClB,YAAY;AAAA,MACZ,KAAAH;AAAA,MACA,MAAMS,EAAgBJ,CAAI;AAAA,MAEzB,UAAA;AAAA,QAAAd;AAAA,QACD,gBAAAI,EAACC,EAAa,OAAb,EAAmB,eAAY,QAAO,WAAWiB,EAAO,MAAA,CAAO;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA,GAExE,EAAA,CACJ;AAER;AACAZ,EAAe,cAAc;AAEtB,MAAMa,IAAU;AAAA,EACnB,MAAMxB;AAAA,EACN,SAASyB,EAAmDlB,CAAc;AAAA,EAC1E,SAASkB,EAAgDd,CAAc;AAC3E;"}
|
|
@@ -1,40 +1,24 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
r.displayName = "ThemeContext";
|
|
12
|
-
const g = () => {
|
|
13
|
-
const e = a(r);
|
|
14
|
-
return {
|
|
15
|
-
...e,
|
|
16
|
-
dir: e.dir || "ltr"
|
|
17
|
-
};
|
|
18
|
-
}, y = ({
|
|
19
|
-
children: e,
|
|
20
|
-
theme: t = "light",
|
|
21
|
-
dir: o = "ltr",
|
|
22
|
-
translations: m = s,
|
|
23
|
-
asChild: i = !1
|
|
24
|
-
}) => {
|
|
25
|
-
const l = i ? p : "div", c = x(
|
|
26
|
-
() => ({
|
|
27
|
-
theme: t,
|
|
28
|
-
dir: o,
|
|
29
|
-
translations: m
|
|
30
|
-
}),
|
|
31
|
-
[o, t, m]
|
|
32
|
-
);
|
|
33
|
-
return /* @__PURE__ */ n(r.Provider, { value: c, children: /* @__PURE__ */ n(l, { dir: o, className: `${d[t]} fondue-theme-provider`, children: e }) });
|
|
1
|
+
const o = "_root_90yvr_2", c = "_accordionItem_90yvr_23", r = "_accordionTrigger_90yvr_29", n = "_accordionHeader_90yvr_34", t = "_accordionSlot_90yvr_42", e = "_accordionCaret_90yvr_69", a = "_accordionTriggerContent_90yvr_77", i = "_accordionContent_90yvr_82", d = "_accordionContentText_90yvr_111", _ = {
|
|
2
|
+
root: o,
|
|
3
|
+
accordionItem: c,
|
|
4
|
+
accordionTrigger: r,
|
|
5
|
+
accordionHeader: n,
|
|
6
|
+
accordionSlot: t,
|
|
7
|
+
accordionCaret: e,
|
|
8
|
+
accordionTriggerContent: a,
|
|
9
|
+
accordionContent: i,
|
|
10
|
+
accordionContentText: d
|
|
34
11
|
};
|
|
35
12
|
export {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
13
|
+
e as accordionCaret,
|
|
14
|
+
i as accordionContent,
|
|
15
|
+
d as accordionContentText,
|
|
16
|
+
n as accordionHeader,
|
|
17
|
+
c as accordionItem,
|
|
18
|
+
t as accordionSlot,
|
|
19
|
+
r as accordionTrigger,
|
|
20
|
+
a as accordionTriggerContent,
|
|
21
|
+
_ as default,
|
|
22
|
+
o as root
|
|
39
23
|
};
|
|
40
24
|
//# sourceMappingURL=fondue-components34.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fondue-components34.js","sources":[
|
|
1
|
+
{"version":3,"file":"fondue-components34.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;"}
|
|
@@ -1,61 +1,27 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
const
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
className: e,
|
|
24
|
-
maxWidth: i,
|
|
25
|
-
"data-test-id": n = "fondue-tooltip-content",
|
|
26
|
-
padding: c = "spacious",
|
|
27
|
-
side: g
|
|
28
|
-
}, u) => {
|
|
29
|
-
const { theme: T, dir: d } = N(), h = (a) => !a || d === "ltr" ? a : a === "left" ? "right" : a === "right" ? "left" : a;
|
|
30
|
-
return /* @__PURE__ */ o(r.Portal, { children: /* @__PURE__ */ o(x, { theme: T, dir: d, children: /* @__PURE__ */ y(
|
|
31
|
-
r.Content,
|
|
32
|
-
{
|
|
33
|
-
dir: d,
|
|
34
|
-
"data-test-id": n,
|
|
35
|
-
"data-tooltip-spacing": c,
|
|
36
|
-
className: R(s.root, e),
|
|
37
|
-
style: { maxWidth: i },
|
|
38
|
-
collisionPadding: 16,
|
|
39
|
-
sideOffset: 8,
|
|
40
|
-
ref: u,
|
|
41
|
-
side: h(g),
|
|
42
|
-
children: [
|
|
43
|
-
t,
|
|
44
|
-
/* @__PURE__ */ o(r.Arrow, { "aria-hidden": "true", className: s.arrow })
|
|
45
|
-
]
|
|
46
|
-
}
|
|
47
|
-
) }) });
|
|
48
|
-
};
|
|
49
|
-
f.displayName = "Tooltip.Content";
|
|
50
|
-
const A = {
|
|
51
|
-
Root: p,
|
|
52
|
-
Trigger: l(m),
|
|
53
|
-
Content: l(f)
|
|
1
|
+
import { useContext as i, useCallback as u } from "react";
|
|
2
|
+
import { ThemeContext as c } from "./fondue-components32.js";
|
|
3
|
+
const d = () => {
|
|
4
|
+
const { translations: r } = i(c);
|
|
5
|
+
return {
|
|
6
|
+
/** Translation function */
|
|
7
|
+
t: u(
|
|
8
|
+
(o, e) => {
|
|
9
|
+
const n = r[o];
|
|
10
|
+
if (n === void 0)
|
|
11
|
+
return process.env.NODE_ENV !== "production" && console.warn(`[Fondue] Translation key "${o}" not found`), o;
|
|
12
|
+
if (typeof n != "string")
|
|
13
|
+
return process.env.NODE_ENV !== "production" && console.warn(`[Fondue] Translation value for key "${o}" is not a string`), o;
|
|
14
|
+
let t = n;
|
|
15
|
+
if (e)
|
|
16
|
+
for (const [s, a] of Object.entries(e))
|
|
17
|
+
t = t.replaceAll(`\${${s}}`, a);
|
|
18
|
+
return t;
|
|
19
|
+
},
|
|
20
|
+
[r]
|
|
21
|
+
)
|
|
22
|
+
};
|
|
54
23
|
};
|
|
55
24
|
export {
|
|
56
|
-
|
|
57
|
-
f as TooltipContent,
|
|
58
|
-
p as TooltipRoot,
|
|
59
|
-
m as TooltipTrigger
|
|
25
|
+
d as useTranslation
|
|
60
26
|
};
|
|
61
27
|
//# sourceMappingURL=fondue-components35.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fondue-components35.js","sources":["../src/
|
|
1
|
+
{"version":3,"file":"fondue-components35.js","sources":["../src/hooks/useTranslation.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { useCallback, useContext } from 'react';\n\nimport { ThemeContext } from '../components/ThemeProvider/ThemeProvider';\n\n/**\n * Hook to access translation functionality.\n *\n * @returns Object containing translation function\n *\n * @example\n * ```tsx\n * const { t } = useTranslation();\n *\n * // Simple translation\n * const label = t('ColorPicker_selectColor');\n *\n * // Translation with variables\n * const sortLabel = t('Table_sortByAscending', { column: 'Name' });\n * ```\n */\nexport const useTranslation = () => {\n const { translations } = useContext(ThemeContext);\n\n /**\n * Translates a key to its localized string value.\n * Keys follow the format ComponentName_localLabelName[_moreLocalLabelName]\n * and support variable interpolation using ${variable} syntax.\n *\n * @param key - The translation key (e.g., 'ColorPicker_selectColor')\n * @param variables - Optional variables to interpolate into the translation\n * @returns The translated string, or the key itself if translation is not found\n */\n const t = useCallback(\n (key: keyof typeof translations, variables?: Record<string, string>): string => {\n // Direct lookup for flat keys\n const value = translations[key];\n\n if (value === undefined) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(`[Fondue] Translation key \"${key}\" not found`);\n }\n return key;\n }\n\n if (typeof value !== 'string') {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(`[Fondue] Translation value for key \"${key}\" is not a string`);\n }\n return key;\n }\n\n let text = value;\n\n // Variable interpolation: replace ${variable} with actual values\n if (variables) {\n for (const [varKey, varValue] of Object.entries(variables)) {\n text = text.replaceAll(`\\${${varKey}}`, varValue);\n }\n }\n\n return text;\n },\n [translations],\n );\n\n return {\n /** Translation function */\n t,\n };\n};\n"],"names":["useTranslation","translations","useContext","ThemeContext","useCallback","key","variables","value","text","varKey","varValue"],"mappings":";;AAsBO,MAAMA,IAAiB,MAAM;AAChC,QAAM,EAAE,cAAAC,EAAA,IAAiBC,EAAWC,CAAY;AA4ChD,SAAO;AAAA;AAAA,IAEH,GAnCMC;AAAA,MACN,CAACC,GAAgCC,MAA+C;AAE5E,cAAMC,IAAQN,EAAaI,CAAG;AAE9B,YAAIE,MAAU;AACV,iBAAI,QAAQ,IAAI,aAAa,gBACzB,QAAQ,KAAK,6BAA6BF,CAAG,aAAa,GAEvDA;AAGX,YAAI,OAAOE,KAAU;AACjB,iBAAI,QAAQ,IAAI,aAAa,gBACzB,QAAQ,KAAK,uCAAuCF,CAAG,mBAAmB,GAEvEA;AAGX,YAAIG,IAAOD;AAGX,YAAID;AACA,qBAAW,CAACG,GAAQC,CAAQ,KAAK,OAAO,QAAQJ,CAAS;AACrD,YAAAE,IAAOA,EAAK,WAAW,MAAMC,CAAM,KAAKC,CAAQ;AAIxD,eAAOF;AAAA,MACX;AAAA,MACA,CAACP,CAAY;AAAA,IAAA;AAAA,EAKb;AAER;"}
|
|
@@ -1,24 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
accordionCaret: e,
|
|
8
|
-
accordionTriggerContent: a,
|
|
9
|
-
accordionContent: i,
|
|
10
|
-
accordionContentText: d
|
|
1
|
+
import { jsx as r } from "react/jsx-runtime";
|
|
2
|
+
import s from "./fondue-components89.js";
|
|
3
|
+
import { colorToCss as e } from "./fondue-components90.js";
|
|
4
|
+
const a = ["default", "positive", "highlight", "warning", "negative"], i = (t) => typeof t == "string" && a.includes(t), p = ({ status: t }) => {
|
|
5
|
+
const o = i(t) ? { "data-status": t } : { style: { backgroundColor: typeof t == "string" ? t : e(t) || "transparent" } };
|
|
6
|
+
return /* @__PURE__ */ r("div", { "data-test-id": "badge-status", className: s.root, ...o });
|
|
11
7
|
};
|
|
12
8
|
export {
|
|
13
|
-
|
|
14
|
-
i as accordionContent,
|
|
15
|
-
d as accordionContentText,
|
|
16
|
-
r as accordionHeader,
|
|
17
|
-
c as accordionItem,
|
|
18
|
-
t as accordionSlot,
|
|
19
|
-
n as accordionTrigger,
|
|
20
|
-
a as accordionTriggerContent,
|
|
21
|
-
_ as default,
|
|
22
|
-
o as root
|
|
9
|
+
p as BadgeStatus
|
|
23
10
|
};
|
|
24
11
|
//# sourceMappingURL=fondue-components36.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fondue-components36.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fondue-components36.js","sources":["../src/components/Badge/BadgeStatus.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport styles from './styles/badgestatus.module.scss';\nimport { type RgbaColor } from './types';\nimport { colorToCss } from './utils';\n\ntype BadgeStatusType = 'default' | 'positive' | 'highlight' | 'warning' | 'negative';\n\nconst badgeStatusMap = ['default', 'positive', 'highlight', 'warning', 'negative'];\n\nexport type BadgeStatusProps = { status: BadgeStatusType } | { status: RgbaColor | string };\n\nconst isBadgeStatusType = (value: RgbaColor | string): value is BadgeStatusType =>\n typeof value === 'string' && badgeStatusMap.includes(value);\n\nexport const BadgeStatus = ({ status }: BadgeStatusProps) => {\n const colorProps = isBadgeStatusType(status)\n ? { 'data-status': status }\n : { style: { backgroundColor: typeof status === 'string' ? status : colorToCss(status) || 'transparent' } };\n\n return <div data-test-id=\"badge-status\" className={styles.root} {...colorProps}></div>;\n};\n"],"names":["badgeStatusMap","isBadgeStatusType","value","BadgeStatus","status","colorProps","colorToCss","jsx","styles"],"mappings":";;;AAQA,MAAMA,IAAiB,CAAC,WAAW,YAAY,aAAa,WAAW,UAAU,GAI3EC,IAAoB,CAACC,MACvB,OAAOA,KAAU,YAAYF,EAAe,SAASE,CAAK,GAEjDC,IAAc,CAAC,EAAE,QAAAC,QAA+B;AACzD,QAAMC,IAAaJ,EAAkBG,CAAM,IACrC,EAAE,eAAeA,EAAA,IACjB,EAAE,OAAO,EAAE,iBAAiB,OAAOA,KAAW,WAAWA,IAASE,EAAWF,CAAM,KAAK,gBAAc;AAE5G,SAAO,gBAAAG,EAAC,SAAI,gBAAa,gBAAe,WAAWC,EAAO,MAAO,GAAGH,GAAY;AACpF;"}
|
|
@@ -1,27 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const { translations: r } = i(c);
|
|
5
|
-
return {
|
|
6
|
-
/** Translation function */
|
|
7
|
-
t: u(
|
|
8
|
-
(o, e) => {
|
|
9
|
-
const n = r[o];
|
|
10
|
-
if (n === void 0)
|
|
11
|
-
return process.env.NODE_ENV !== "production" && console.warn(`[Fondue] Translation key "${o}" not found`), o;
|
|
12
|
-
if (typeof n != "string")
|
|
13
|
-
return process.env.NODE_ENV !== "production" && console.warn(`[Fondue] Translation value for key "${o}" is not a string`), o;
|
|
14
|
-
let t = n;
|
|
15
|
-
if (e)
|
|
16
|
-
for (const [s, a] of Object.entries(e))
|
|
17
|
-
t = t.replaceAll(`\${${s}}`, a);
|
|
18
|
-
return t;
|
|
19
|
-
},
|
|
20
|
-
[r]
|
|
21
|
-
)
|
|
22
|
-
};
|
|
1
|
+
const s = "_root_i684q_3", o = "_dismiss_i684q_156", t = {
|
|
2
|
+
root: s,
|
|
3
|
+
dismiss: o
|
|
23
4
|
};
|
|
24
5
|
export {
|
|
25
|
-
|
|
6
|
+
t as default,
|
|
7
|
+
o as dismiss,
|
|
8
|
+
s as root
|
|
26
9
|
};
|
|
27
10
|
//# sourceMappingURL=fondue-components37.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fondue-components37.js","sources":[
|
|
1
|
+
{"version":3,"file":"fondue-components37.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -1,11 +1,35 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
const g = (n) => n.startsWith("aria-") || n === "role", s = {
|
|
2
|
+
m: "margin",
|
|
3
|
+
mx: "margin-x",
|
|
4
|
+
my: "margin-y",
|
|
5
|
+
mt: "margin-top",
|
|
6
|
+
mr: "margin-right",
|
|
7
|
+
mb: "margin-bottom",
|
|
8
|
+
ml: "margin-left",
|
|
9
|
+
p: "padding",
|
|
10
|
+
px: "padding-x",
|
|
11
|
+
py: "padding-y",
|
|
12
|
+
pt: "padding-top",
|
|
13
|
+
pr: "padding-right",
|
|
14
|
+
pb: "padding-bottom",
|
|
15
|
+
pl: "padding-left",
|
|
16
|
+
direction: "flex-direction",
|
|
17
|
+
align: "align-items",
|
|
18
|
+
wrap: "flex-wrap",
|
|
19
|
+
columns: "grid-template-columns",
|
|
20
|
+
rows: "grid-template-rows"
|
|
21
|
+
}, m = (n, r) => n === "columns" || n === "rows" ? typeof r == "number" ? `repeat(${r}, 1fr)` : r : typeof r == "number" ? `${r * 0.25}rem` : r, f = (n, r = {}) => Object.entries(n).reduce((i, [t, o]) => {
|
|
22
|
+
if (g(t))
|
|
23
|
+
return i;
|
|
24
|
+
const e = t in r ? r[t] : t in s ? s[t] : t, p = e == null ? void 0 : e.replaceAll(/([\da-z]|(?=[A-Z]))([A-Z])/g, "$1-$2").toLowerCase();
|
|
25
|
+
if (typeof o == "object")
|
|
26
|
+
for (const [d, a] of Object.entries(o))
|
|
27
|
+
a !== void 0 && (i[`--${d}-${p}`] = m(t, a));
|
|
28
|
+
else
|
|
29
|
+
i[`--${p}`] = m(t, o);
|
|
30
|
+
return i;
|
|
31
|
+
}, {});
|
|
8
32
|
export {
|
|
9
|
-
|
|
33
|
+
f as propsToCssVariables
|
|
10
34
|
};
|
|
11
35
|
//# sourceMappingURL=fondue-components38.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fondue-components38.js","sources":["../src/
|
|
1
|
+
{"version":3,"file":"fondue-components38.js","sources":["../src/helpers/propsToCssVariables.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { type CSSProperties } from 'react';\n\nimport { type Breakpoint } from './layout';\n\nconst isAriaProp = (key: string): boolean => {\n return key.startsWith('aria-') || key === 'role';\n};\n\nconst abbreviationToCssProperty: Record<string, string> = {\n m: 'margin',\n mx: 'margin-x',\n my: 'margin-y',\n mt: 'margin-top',\n mr: 'margin-right',\n mb: 'margin-bottom',\n ml: 'margin-left',\n p: 'padding',\n px: 'padding-x',\n py: 'padding-y',\n pt: 'padding-top',\n pr: 'padding-right',\n pb: 'padding-bottom',\n pl: 'padding-left',\n direction: 'flex-direction',\n align: 'align-items',\n wrap: 'flex-wrap',\n columns: 'grid-template-columns',\n rows: 'grid-template-rows',\n};\n\nconst transformValueBasedOnKey = (key: string, value: string | number): string | number => {\n if (key === 'columns' || key === 'rows') {\n if (typeof value === 'number') {\n return `repeat(${value}, 1fr)`;\n }\n return value;\n }\n\n // Spacing tokens\n if (typeof value === 'number') {\n return `${value * 0.25}rem`;\n }\n\n return value;\n};\n\nexport const propsToCssVariables = (\n props: Record<string, string | number | boolean | { [key in Breakpoint]?: string | number | boolean }>,\n extraAbbreviationToCssProperty: Record<string, string> = {},\n): CSSProperties => {\n return Object.entries(props).reduce((acc, [key, value]) => {\n if (isAriaProp(key)) {\n return acc;\n }\n\n const cssProperty =\n key in extraAbbreviationToCssProperty\n ? extraAbbreviationToCssProperty[key]\n : key in abbreviationToCssProperty\n ? abbreviationToCssProperty[key]\n : key;\n // The lookahead is necessary to split camelCase boundaries; disabling false-positive lint warning\n const cssPropertyKebabCase = cssProperty?.replaceAll(/([\\da-z]|(?=[A-Z]))([A-Z])/g, '$1-$2').toLowerCase();\n\n if (typeof value === 'object') {\n for (const [breakpoint, breakpointValue] of Object.entries(value)) {\n if (breakpointValue !== undefined) {\n // @ts-expect-error CSS variables are not typed into `CSSProperties`\n acc[`--${breakpoint}-${cssPropertyKebabCase}`] = transformValueBasedOnKey(key, breakpointValue);\n }\n }\n } else {\n // @ts-expect-error CSS variables are not typed into `CSSProperties`\n acc[`--${cssPropertyKebabCase}`] = transformValueBasedOnKey(key, value);\n }\n\n return acc;\n }, {} as CSSProperties);\n};\n"],"names":["isAriaProp","key","abbreviationToCssProperty","transformValueBasedOnKey","value","propsToCssVariables","props","extraAbbreviationToCssProperty","acc","cssProperty","cssPropertyKebabCase","breakpoint","breakpointValue"],"mappings":"AAMA,MAAMA,IAAa,CAACC,MACTA,EAAI,WAAW,OAAO,KAAKA,MAAQ,QAGxCC,IAAoD;AAAA,EACtD,GAAG;AAAA,EACH,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,GAAG;AAAA,EACH,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,WAAW;AAAA,EACX,OAAO;AAAA,EACP,MAAM;AAAA,EACN,SAAS;AAAA,EACT,MAAM;AACV,GAEMC,IAA2B,CAACF,GAAaG,MACvCH,MAAQ,aAAaA,MAAQ,SACzB,OAAOG,KAAU,WACV,UAAUA,CAAK,WAEnBA,IAIP,OAAOA,KAAU,WACV,GAAGA,IAAQ,IAAI,QAGnBA,GAGEC,IAAsB,CAC/BC,GACAC,IAAyD,OAElD,OAAO,QAAQD,CAAK,EAAE,OAAO,CAACE,GAAK,CAACP,GAAKG,CAAK,MAAM;AACvD,MAAIJ,EAAWC,CAAG;AACd,WAAOO;AAGX,QAAMC,IACFR,KAAOM,IACDA,EAA+BN,CAAG,IAClCA,KAAOC,IACLA,EAA0BD,CAAG,IAC7BA,GAENS,IAAuBD,KAAA,gBAAAA,EAAa,WAAW,+BAA+B,SAAS;AAE7F,MAAI,OAAOL,KAAU;AACjB,eAAW,CAACO,GAAYC,CAAe,KAAK,OAAO,QAAQR,CAAK;AAC5D,MAAIQ,MAAoB,WAEpBJ,EAAI,KAAKG,CAAU,IAAID,CAAoB,EAAE,IAAIP,EAAyBF,GAAKW,CAAe;AAAA;AAKtG,IAAAJ,EAAI,KAAKE,CAAoB,EAAE,IAAIP,EAAyBF,GAAKG,CAAK;AAG1E,SAAOI;AACX,GAAG,CAAA,CAAmB;"}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
const
|
|
2
|
-
root:
|
|
3
|
-
dismiss: o
|
|
1
|
+
const o = "_root_f9dx4_6", t = {
|
|
2
|
+
root: o
|
|
4
3
|
};
|
|
5
4
|
export {
|
|
6
5
|
t as default,
|
|
7
|
-
o as
|
|
8
|
-
s as root
|
|
6
|
+
o as root
|
|
9
7
|
};
|
|
10
8
|
//# sourceMappingURL=fondue-components39.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fondue-components39.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fondue-components39.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { jsx as a, jsxs as g, Fragment as h } from "react/jsx-runtime";
|
|
2
2
|
import { IconCross as B } from "@frontify/fondue-icons";
|
|
3
|
-
import { useTranslation as x } from "./fondue-
|
|
4
|
-
import { BadgeStatus as y } from "./fondue-
|
|
5
|
-
import p from "./fondue-
|
|
3
|
+
import { useTranslation as x } from "./fondue-components35.js";
|
|
4
|
+
import { BadgeStatus as y } from "./fondue-components36.js";
|
|
5
|
+
import p from "./fondue-components37.js";
|
|
6
6
|
const P = ({
|
|
7
7
|
"aria-label": e,
|
|
8
8
|
"data-test-id": n = "badge",
|