@frontify/fondue 12.0.0-beta.350 → 12.0.0-beta.351
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/components/Tree/TreeItem/TreeItemMultiselect.es.js +13 -13
- package/dist/components/Tree/TreeItem/TreeItemMultiselect.es.js.map +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.umd.js +1 -1
- package/dist/index.umd.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as t, jsxs as $ } from "react/jsx-runtime";
|
|
2
|
-
import { memo as q, useRef as G, useCallback as J, useEffect as Q, Children as k, useMemo as
|
|
2
|
+
import { memo as q, useRef as G, useCallback as J, useEffect as Q, Children as k, useMemo as x } from "react";
|
|
3
3
|
import U from "../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/noop.es.js";
|
|
4
4
|
import { getMultiselectLiClassName as V, getMultiselectBackgroundClassName as X, getMultiselectContainerClassName as Z } from "../helpers/multiselectTreeItemstyling.es.js";
|
|
5
5
|
import { ExpandButton as S } from "./ExpandButton.es.js";
|
|
@@ -25,7 +25,7 @@ const me = q(
|
|
|
25
25
|
registerNodeChildren: d,
|
|
26
26
|
unregisterNodeChildren: f,
|
|
27
27
|
isDisabled: l = !1,
|
|
28
|
-
expandable:
|
|
28
|
+
expandable: b = !0,
|
|
29
29
|
checkBoxPosition: h = "left",
|
|
30
30
|
itemStyle: g,
|
|
31
31
|
"data-test-id": W = "fondue-tree-item"
|
|
@@ -39,7 +39,7 @@ const me = q(
|
|
|
39
39
|
Q(() => {
|
|
40
40
|
N && !s && a && a(e, !0);
|
|
41
41
|
}, [e, a, N, s, L]);
|
|
42
|
-
const I = k.count(u) > 0, { enrichedChildren: C, childrenIds: A } =
|
|
42
|
+
const I = k.count(u) > 0, { enrichedChildren: C, childrenIds: A } = x(() => {
|
|
43
43
|
const r = le(u, {
|
|
44
44
|
parentId: e,
|
|
45
45
|
level: m + 1
|
|
@@ -56,7 +56,7 @@ const me = q(
|
|
|
56
56
|
}
|
|
57
57
|
d == null || d({ id: e, children: C });
|
|
58
58
|
}, [o, C, e]);
|
|
59
|
-
const n =
|
|
59
|
+
const n = x(() => ({
|
|
60
60
|
spacingY: "none",
|
|
61
61
|
contentHight: "single-line",
|
|
62
62
|
shadow: "none",
|
|
@@ -65,11 +65,11 @@ const me = q(
|
|
|
65
65
|
borderStyle: "none",
|
|
66
66
|
activeColorStyle: "neutral",
|
|
67
67
|
...g
|
|
68
|
-
}), [g]), { liClassName:
|
|
68
|
+
}), [g]), { liClassName: H, backgroundClassName: P } = x(() => ({
|
|
69
69
|
liClassName: V(n, l),
|
|
70
70
|
backgroundClassName: X(n, s, l)
|
|
71
|
-
}), [n, l, s]),
|
|
72
|
-
} : () => a == null ? void 0 : a(e, !1), M = h !== "none" ? /* @__PURE__ */ t(oe, { maxWidth: "16px", children: /* @__PURE__ */ t(
|
|
71
|
+
}), [n, l, s]), R = "tw-max-w-full tw-grow", z = o, F = c !== void 0, w = b && (v ?? I), O = Z(n), y = m * ce, D = { paddingLeft: y }, K = n.borderWidth !== "none" ? {} : { marginLeft: -1 * y }, Y = l ? () => {
|
|
72
|
+
} : () => a == null ? void 0 : a(e, !1), M = h !== "none" ? /* @__PURE__ */ t(oe, { maxWidth: "16px", maxHeight: "16px", children: /* @__PURE__ */ t(
|
|
73
73
|
ee,
|
|
74
74
|
{
|
|
75
75
|
id: `checkbox-${e}`,
|
|
@@ -97,27 +97,27 @@ const me = q(
|
|
|
97
97
|
onKeyDown: U,
|
|
98
98
|
"aria-label": c,
|
|
99
99
|
"aria-level": m + 1,
|
|
100
|
-
className:
|
|
100
|
+
className: H,
|
|
101
101
|
"data-test-id": W,
|
|
102
102
|
"aria-selected": s,
|
|
103
103
|
"aria-expanded": o,
|
|
104
104
|
"data-has-children": I,
|
|
105
105
|
"aria-owns": A.join(" "),
|
|
106
106
|
children: /* @__PURE__ */ $("div", { className: O, children: [
|
|
107
|
-
/* @__PURE__ */ t("span", { className:
|
|
107
|
+
/* @__PURE__ */ t("span", { className: P, style: K, "aria-hidden": !0 }),
|
|
108
108
|
h === "left" && M,
|
|
109
|
-
|
|
109
|
+
b && /* @__PURE__ */ t(
|
|
110
110
|
S,
|
|
111
111
|
{
|
|
112
112
|
onClick: j,
|
|
113
|
-
expanded:
|
|
113
|
+
expanded: z,
|
|
114
114
|
disabled: !w,
|
|
115
115
|
"aria-hidden": !w,
|
|
116
116
|
className: w ? "tw-visible" : "tw-invisible tw-pointer-events-none"
|
|
117
117
|
}
|
|
118
118
|
),
|
|
119
|
-
|
|
120
|
-
/* @__PURE__ */ t("div", { className:
|
|
119
|
+
F && /* @__PURE__ */ t("span", { className: "first:tw-ml-3.5 tw-h-full tw-flex tw-items-center", children: c }),
|
|
120
|
+
/* @__PURE__ */ t("div", { className: R, children: T }),
|
|
121
121
|
h === "right" && M
|
|
122
122
|
] })
|
|
123
123
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TreeItemMultiselect.es.js","sources":["../../../../src/components/Tree/TreeItem/TreeItemMultiselect.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { Children, MouseEvent, memo, useCallback, useEffect, useMemo, useRef } from 'react';\nimport noop from 'lodash-es/noop';\n\nimport { type RegisterNodeChildrenPayload, TreeItemMultiselectProps, TreeItemStyling } from '@components/Tree/types';\n\nimport { INDENTATION_WIDTH, getMultiselectCheckBoxState } from '../helpers';\nimport { removeFragmentsAndEnrichChildren, useDeepCompareEffect } from '../utils';\nimport {\n getMultiselectBackgroundClassName,\n getMultiselectContainerClassName,\n getMultiselectLiClassName,\n} from '../helpers/multiselectTreeItemstyling';\n\nimport { ExpandButton } from './ExpandButton';\nimport { Checkbox, CheckboxEmphasis, CheckboxSize } from '@components/Checkbox/Checkbox';\nimport { Container } from '@components/Container';\nimport { useMultiselectTreeItem } from './useMultiselectTreeItem';\n\n/** @private */\ntype TreeItemPrivateProps = {\n parentId?: string;\n level?: number;\n /** onSelect is passed by the Tree component when cloning the TreeItem */\n onSelect?: (id: string, ignoreRemoveSelected: boolean) => void;\n onExpand?: (id: string) => void;\n onShrink?: (id: string) => void;\n unregisterNodeChildren?: (payload: string) => void;\n registerNodeChildren?: (payload: RegisterNodeChildrenPayload) => void;\n};\n\n/** @private */\nexport type InternalTreeItemMultiSelectProps = TreeItemMultiselectProps & TreeItemPrivateProps;\n\nexport const TreeItemMultiselect = memo(\n ({\n id,\n label,\n showCaret,\n children,\n level = 0,\n contentComponent,\n parentId,\n onSelect,\n onExpand,\n onShrink,\n registerNodeChildren,\n unregisterNodeChildren,\n isDisabled = false,\n expandable = true,\n checkBoxPosition = 'left',\n itemStyle,\n 'data-test-id': dataTestId = 'fondue-tree-item',\n }: InternalTreeItemMultiSelectProps) => {\n const setActiveNodeRef = useRef<HTMLInputElement | null>(null);\n const { isSelected, isExpanded, isPartialSelected, isParentSelected } = useMultiselectTreeItem(id);\n\n const toggleExpand = useCallback(\n (event?: MouseEvent<HTMLButtonElement>) => {\n event?.stopPropagation();\n isExpanded ? onShrink?.(id) : onExpand?.(id);\n },\n [id, isExpanded, onExpand, onShrink],\n );\n\n useEffect(() => {\n if (isParentSelected && !isSelected && onSelect) {\n onSelect(id, true);\n }\n }, [id, onSelect, isParentSelected, isSelected, parentId]);\n\n const hasChildren = Children.count(children) > 0;\n\n const { enrichedChildren, childrenIds } = useMemo(() => {\n const enrichedChildren = removeFragmentsAndEnrichChildren(children, {\n parentId: id,\n level: level + 1,\n });\n\n return {\n enrichedChildren,\n childrenIds: enrichedChildren.map((child) => child.props.id),\n };\n }, [children, id, level]);\n\n useDeepCompareEffect(() => {\n if (Children.count(enrichedChildren) === 0 || !isExpanded) {\n unregisterNodeChildren?.(id);\n return;\n }\n\n registerNodeChildren?.({ id, children: enrichedChildren });\n }, [isExpanded, enrichedChildren, id]);\n\n const itemStyleProps = useMemo(() => {\n return {\n spacingY: 'none',\n contentHight: 'single-line',\n shadow: 'none',\n borderRadius: 'small',\n borderWidth: 'none',\n borderStyle: 'none',\n activeColorStyle: 'neutral',\n ...itemStyle,\n } as TreeItemStyling;\n }, [itemStyle]);\n\n const { liClassName, backgroundClassName } = useMemo(() => {\n return {\n liClassName: getMultiselectLiClassName(itemStyleProps, isDisabled),\n backgroundClassName: getMultiselectBackgroundClassName(itemStyleProps, isSelected, isDisabled),\n };\n }, [itemStyleProps, isDisabled, isSelected]);\n\n const wrapperContentClassName = 'tw-max-w-full\ttw-grow';\n const showChildren = isExpanded;\n const showLabel = label !== undefined;\n const showExpandButton = expandable && (showCaret ?? hasChildren);\n\n const containerClassName = getMultiselectContainerClassName(itemStyleProps);\n\n const levelPadding = level * INDENTATION_WIDTH;\n const liStyle = { paddingLeft: levelPadding };\n const backgroundStyle = itemStyleProps.borderWidth !== 'none' ? {} : { marginLeft: -1 * levelPadding };\n\n const checkBoxOnSelect = isDisabled ? () => void 0 : () => onSelect?.(id, false);\n const checkBox =\n checkBoxPosition !== 'none' ? (\n <Container maxWidth=\"16px\">\n <Checkbox\n id={`checkbox-${id}`}\n ref={setActiveNodeRef}\n disabled={isDisabled}\n aria-label={label ?? ''}\n emphasis={CheckboxEmphasis.Weak}\n helperText=\"\"\n hideLabel\n label=\"\"\n onChange={checkBoxOnSelect}\n size={CheckboxSize.Default}\n state={getMultiselectCheckBoxState(isSelected, isPartialSelected)}\n tooltip={[]}\n value={id}\n />\n </Container>\n ) : null;\n\n return (\n <li\n id={id}\n key={id}\n tabIndex={0}\n role=\"treeitem\"\n style={liStyle}\n onKeyDown={noop}\n aria-label={label}\n aria-level={level + 1}\n className={liClassName}\n data-test-id={dataTestId}\n aria-selected={isSelected}\n aria-expanded={isExpanded}\n data-has-children={hasChildren}\n aria-owns={childrenIds.join(' ')}\n >\n <div className={containerClassName}>\n <span className={backgroundClassName} style={backgroundStyle} aria-hidden={true} />\n {checkBoxPosition === 'left' && checkBox}\n\n {expandable && (\n <ExpandButton\n onClick={toggleExpand}\n expanded={showChildren}\n disabled={!showExpandButton}\n aria-hidden={!showExpandButton}\n className={showExpandButton ? 'tw-visible' : 'tw-invisible tw-pointer-events-none'}\n />\n )}\n\n {showLabel && <span className=\"first:tw-ml-3.5 tw-h-full tw-flex tw-items-center\">{label}</span>}\n\n <div className={wrapperContentClassName}>{contentComponent}</div>\n\n {checkBoxPosition === 'right' && checkBox}\n </div>\n </li>\n );\n },\n);\n\nTreeItemMultiselect.displayName = 'FondueTreeItemMultiselect';\n"],"names":["TreeItemMultiselect","memo","id","label","showCaret","children","level","contentComponent","parentId","onSelect","onExpand","onShrink","registerNodeChildren","unregisterNodeChildren","isDisabled","expandable","checkBoxPosition","itemStyle","dataTestId","setActiveNodeRef","useRef","isSelected","isExpanded","isPartialSelected","isParentSelected","useMultiselectTreeItem","toggleExpand","useCallback","event","useEffect","hasChildren","Children","enrichedChildren","childrenIds","useMemo","removeFragmentsAndEnrichChildren","child","useDeepCompareEffect","itemStyleProps","liClassName","backgroundClassName","getMultiselectLiClassName","getMultiselectBackgroundClassName","wrapperContentClassName","showChildren","showLabel","showExpandButton","containerClassName","getMultiselectContainerClassName","levelPadding","INDENTATION_WIDTH","liStyle","backgroundStyle","checkBoxOnSelect","checkBox","jsx","Container","Checkbox","CheckboxEmphasis","CheckboxSize","getMultiselectCheckBoxState","noop","jsxs","ExpandButton"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TreeItemMultiselect.es.js","sources":["../../../../src/components/Tree/TreeItem/TreeItemMultiselect.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { Children, MouseEvent, memo, useCallback, useEffect, useMemo, useRef } from 'react';\nimport noop from 'lodash-es/noop';\n\nimport { type RegisterNodeChildrenPayload, TreeItemMultiselectProps, TreeItemStyling } from '@components/Tree/types';\n\nimport { INDENTATION_WIDTH, getMultiselectCheckBoxState } from '../helpers';\nimport { removeFragmentsAndEnrichChildren, useDeepCompareEffect } from '../utils';\nimport {\n getMultiselectBackgroundClassName,\n getMultiselectContainerClassName,\n getMultiselectLiClassName,\n} from '../helpers/multiselectTreeItemstyling';\n\nimport { ExpandButton } from './ExpandButton';\nimport { Checkbox, CheckboxEmphasis, CheckboxSize } from '@components/Checkbox/Checkbox';\nimport { Container } from '@components/Container';\nimport { useMultiselectTreeItem } from './useMultiselectTreeItem';\n\n/** @private */\ntype TreeItemPrivateProps = {\n parentId?: string;\n level?: number;\n /** onSelect is passed by the Tree component when cloning the TreeItem */\n onSelect?: (id: string, ignoreRemoveSelected: boolean) => void;\n onExpand?: (id: string) => void;\n onShrink?: (id: string) => void;\n unregisterNodeChildren?: (payload: string) => void;\n registerNodeChildren?: (payload: RegisterNodeChildrenPayload) => void;\n};\n\n/** @private */\nexport type InternalTreeItemMultiSelectProps = TreeItemMultiselectProps & TreeItemPrivateProps;\n\nexport const TreeItemMultiselect = memo(\n ({\n id,\n label,\n showCaret,\n children,\n level = 0,\n contentComponent,\n parentId,\n onSelect,\n onExpand,\n onShrink,\n registerNodeChildren,\n unregisterNodeChildren,\n isDisabled = false,\n expandable = true,\n checkBoxPosition = 'left',\n itemStyle,\n 'data-test-id': dataTestId = 'fondue-tree-item',\n }: InternalTreeItemMultiSelectProps) => {\n const setActiveNodeRef = useRef<HTMLInputElement | null>(null);\n const { isSelected, isExpanded, isPartialSelected, isParentSelected } = useMultiselectTreeItem(id);\n\n const toggleExpand = useCallback(\n (event?: MouseEvent<HTMLButtonElement>) => {\n event?.stopPropagation();\n isExpanded ? onShrink?.(id) : onExpand?.(id);\n },\n [id, isExpanded, onExpand, onShrink],\n );\n\n useEffect(() => {\n if (isParentSelected && !isSelected && onSelect) {\n onSelect(id, true);\n }\n }, [id, onSelect, isParentSelected, isSelected, parentId]);\n\n const hasChildren = Children.count(children) > 0;\n\n const { enrichedChildren, childrenIds } = useMemo(() => {\n const enrichedChildren = removeFragmentsAndEnrichChildren(children, {\n parentId: id,\n level: level + 1,\n });\n\n return {\n enrichedChildren,\n childrenIds: enrichedChildren.map((child) => child.props.id),\n };\n }, [children, id, level]);\n\n useDeepCompareEffect(() => {\n if (Children.count(enrichedChildren) === 0 || !isExpanded) {\n unregisterNodeChildren?.(id);\n return;\n }\n\n registerNodeChildren?.({ id, children: enrichedChildren });\n }, [isExpanded, enrichedChildren, id]);\n\n const itemStyleProps = useMemo(() => {\n return {\n spacingY: 'none',\n contentHight: 'single-line',\n shadow: 'none',\n borderRadius: 'small',\n borderWidth: 'none',\n borderStyle: 'none',\n activeColorStyle: 'neutral',\n ...itemStyle,\n } as TreeItemStyling;\n }, [itemStyle]);\n\n const { liClassName, backgroundClassName } = useMemo(() => {\n return {\n liClassName: getMultiselectLiClassName(itemStyleProps, isDisabled),\n backgroundClassName: getMultiselectBackgroundClassName(itemStyleProps, isSelected, isDisabled),\n };\n }, [itemStyleProps, isDisabled, isSelected]);\n\n const wrapperContentClassName = 'tw-max-w-full\ttw-grow';\n const showChildren = isExpanded;\n const showLabel = label !== undefined;\n const showExpandButton = expandable && (showCaret ?? hasChildren);\n\n const containerClassName = getMultiselectContainerClassName(itemStyleProps);\n\n const levelPadding = level * INDENTATION_WIDTH;\n const liStyle = { paddingLeft: levelPadding };\n const backgroundStyle = itemStyleProps.borderWidth !== 'none' ? {} : { marginLeft: -1 * levelPadding };\n\n const checkBoxOnSelect = isDisabled ? () => void 0 : () => onSelect?.(id, false);\n const checkBox =\n checkBoxPosition !== 'none' ? (\n <Container maxWidth=\"16px\" maxHeight=\"16px\">\n <Checkbox\n id={`checkbox-${id}`}\n ref={setActiveNodeRef}\n disabled={isDisabled}\n aria-label={label ?? ''}\n emphasis={CheckboxEmphasis.Weak}\n helperText=\"\"\n hideLabel\n label=\"\"\n onChange={checkBoxOnSelect}\n size={CheckboxSize.Default}\n state={getMultiselectCheckBoxState(isSelected, isPartialSelected)}\n tooltip={[]}\n value={id}\n />\n </Container>\n ) : null;\n\n return (\n <li\n id={id}\n key={id}\n tabIndex={0}\n role=\"treeitem\"\n style={liStyle}\n onKeyDown={noop}\n aria-label={label}\n aria-level={level + 1}\n className={liClassName}\n data-test-id={dataTestId}\n aria-selected={isSelected}\n aria-expanded={isExpanded}\n data-has-children={hasChildren}\n aria-owns={childrenIds.join(' ')}\n >\n <div className={containerClassName}>\n <span className={backgroundClassName} style={backgroundStyle} aria-hidden={true} />\n {checkBoxPosition === 'left' && checkBox}\n\n {expandable && (\n <ExpandButton\n onClick={toggleExpand}\n expanded={showChildren}\n disabled={!showExpandButton}\n aria-hidden={!showExpandButton}\n className={showExpandButton ? 'tw-visible' : 'tw-invisible tw-pointer-events-none'}\n />\n )}\n\n {showLabel && <span className=\"first:tw-ml-3.5 tw-h-full tw-flex tw-items-center\">{label}</span>}\n\n <div className={wrapperContentClassName}>{contentComponent}</div>\n\n {checkBoxPosition === 'right' && checkBox}\n </div>\n </li>\n );\n },\n);\n\nTreeItemMultiselect.displayName = 'FondueTreeItemMultiselect';\n"],"names":["TreeItemMultiselect","memo","id","label","showCaret","children","level","contentComponent","parentId","onSelect","onExpand","onShrink","registerNodeChildren","unregisterNodeChildren","isDisabled","expandable","checkBoxPosition","itemStyle","dataTestId","setActiveNodeRef","useRef","isSelected","isExpanded","isPartialSelected","isParentSelected","useMultiselectTreeItem","toggleExpand","useCallback","event","useEffect","hasChildren","Children","enrichedChildren","childrenIds","useMemo","removeFragmentsAndEnrichChildren","child","useDeepCompareEffect","itemStyleProps","liClassName","backgroundClassName","getMultiselectLiClassName","getMultiselectBackgroundClassName","wrapperContentClassName","showChildren","showLabel","showExpandButton","containerClassName","getMultiselectContainerClassName","levelPadding","INDENTATION_WIDTH","liStyle","backgroundStyle","checkBoxOnSelect","checkBox","jsx","Container","Checkbox","CheckboxEmphasis","CheckboxSize","getMultiselectCheckBoxState","noop","jsxs","ExpandButton"],"mappings":"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"}
|