@frontify/fondue 12.0.0-beta.19 → 12.0.0-beta.20
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/OverflowMenu/OverflowMenuItem.es.js +3 -2
- package/dist/components/OverflowMenu/OverflowMenuItem.es.js.map +1 -1
- package/dist/components/RichTextEditor/Plugins/LinkPlugin/FloatingLink/CustomFloatingLink.es.js +2 -4
- package/dist/components/RichTextEditor/Plugins/LinkPlugin/FloatingLink/CustomFloatingLink.es.js.map +1 -1
- package/dist/components/RichTextEditor/Plugins/LinkPlugin/FloatingLink/FloatingLink.es.js +6 -13
- package/dist/components/RichTextEditor/Plugins/LinkPlugin/FloatingLink/FloatingLink.es.js.map +1 -1
- package/dist/components/RichTextEditor/Plugins/LinkPlugin/FloatingLink/InsertLinkModal/index.d.ts +0 -1
- package/dist/components/RichTextEditor/serializer/utils/serializeLeafToHtml.es.js +1 -1
- package/dist/components/RichTextEditor/serializer/utils/serializeLeafToHtml.es.js.map +1 -1
- package/dist/components/RichTextEditor/serializer/utils/serializeNodeToHtmlRecursive.es.js +1 -1
- package/dist/components/RichTextEditor/serializer/utils/serializeNodeToHtmlRecursive.es.js.map +1 -1
- package/dist/components/ScrollWrapper/ScrollWrapper.es.js +3 -2
- package/dist/components/ScrollWrapper/ScrollWrapper.es.js.map +1 -1
- package/dist/components/Table/TableCell.es.js +3 -2
- package/dist/components/Table/TableCell.es.js.map +1 -1
- package/dist/components/Table/TableColumnHeader.es.js +3 -2
- package/dist/components/Table/TableColumnHeader.es.js.map +1 -1
- package/dist/components/Tree/utils/mocks.es.js +1 -0
- package/dist/components/Tree/utils/mocks.es.js.map +1 -1
- package/dist/index.cjs.js +3 -15
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.umd.js +3 -15
- package/dist/index.umd.js.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +2 -1
- package/dist/components/RichTextEditor/Plugins/LinkPlugin/FloatingLink/InsertLinkModal/useFloatingLinkInsert.d.ts +0 -2
- package/dist/components/RichTextEditor/Plugins/LinkPlugin/FloatingLink/InsertLinkModal/useFloatingLinkInsert.es.js +0 -38
- package/dist/components/RichTextEditor/Plugins/LinkPlugin/FloatingLink/InsertLinkModal/useFloatingLinkInsert.es.js.map +0 -1
- package/dist/node_modules/@udecode/plate-core/dist/index.es.es.js +0 -1482
- package/dist/node_modules/@udecode/plate-core/dist/index.es.es.js.map +0 -1
- package/dist/node_modules/@udecode/plate-floating/dist/index.es.es.js +0 -21
- package/dist/node_modules/@udecode/plate-floating/dist/index.es.es.js.map +0 -1
- package/dist/node_modules/@udecode/zustood/dist/index.es.es.js +0 -439
- package/dist/node_modules/@udecode/zustood/dist/index.es.es.js.map +0 -1
- package/dist/node_modules/@udecode/zustood/node_modules/react-tracked/dist/index.modern.es.js +0 -21
- package/dist/node_modules/@udecode/zustood/node_modules/react-tracked/dist/index.modern.es.js.map +0 -1
- package/dist/node_modules/escape-html/index.es.js +0 -41
- package/dist/node_modules/escape-html/index.es.js.map +0 -1
- package/dist/node_modules/hotkeys-js/dist/hotkeys.esm.es.js +0 -275
- package/dist/node_modules/hotkeys-js/dist/hotkeys.esm.es.js.map +0 -1
- package/dist/node_modules/jotai/esm/index.es.js +0 -418
- package/dist/node_modules/jotai/esm/index.es.js.map +0 -1
- package/dist/node_modules/proxy-compare/dist/index.modern.es.js +0 -74
- package/dist/node_modules/proxy-compare/dist/index.modern.es.js.map +0 -1
- package/dist/node_modules/react-hotkeys-hook/dist/react-hotkeys-hook.esm.es.js +0 -7
- package/dist/node_modules/react-hotkeys-hook/dist/react-hotkeys-hook.esm.es.js.map +0 -1
- package/dist/node_modules/zustand/esm/index.es.js +0 -62
- package/dist/node_modules/zustand/esm/index.es.js.map +0 -1
- package/dist/node_modules/zustand/esm/middleware.es.js +0 -219
- package/dist/node_modules/zustand/esm/middleware.es.js.map +0 -1
- package/dist/node_modules/zustand/esm/vanilla.es.js +0 -26
- package/dist/node_modules/zustand/esm/vanilla.es.js.map +0 -1
|
@@ -1731,11 +1731,12 @@ import "../RichTextEditor/Plugins/CheckboxListPlugin/index.es.js";
|
|
|
1731
1731
|
import "slate-react";
|
|
1732
1732
|
import "../RichTextEditor/Plugins/LinkPlugin/index.es.js";
|
|
1733
1733
|
import "../RichTextEditor/Plugins/index.es.js";
|
|
1734
|
+
import "escape-html";
|
|
1734
1735
|
import "../../styles.es.js";
|
|
1735
1736
|
import "@react-stately/table";
|
|
1736
1737
|
import "react-textarea-autosize";
|
|
1737
1738
|
import "../Tree/utils/mocks.es.js";
|
|
1738
|
-
const
|
|
1739
|
+
const hA = ({
|
|
1739
1740
|
id: e = "overflow-menu-item",
|
|
1740
1741
|
label: n,
|
|
1741
1742
|
link: r,
|
|
@@ -1758,6 +1759,6 @@ const gA = ({
|
|
|
1758
1759
|
}, o), m === "span" && /* @__PURE__ */ t.createElement("span", null, o));
|
|
1759
1760
|
};
|
|
1760
1761
|
export {
|
|
1761
|
-
|
|
1762
|
+
hA as OverflowMenuItem
|
|
1762
1763
|
};
|
|
1763
1764
|
//# sourceMappingURL=OverflowMenuItem.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OverflowMenuItem.es.js","sources":["../../../src/components/OverflowMenu/OverflowMenuItem.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport React, { MouseEvent, ReactElement } from 'react';\nimport { IconProps } from '@foundation/Icon/IconProps';\nimport { MenuItem } from '..';\nimport { getItemElementType } from '@utilities/elements';\n\nexport interface OverflowMenuItemProps {\n id?: string;\n label: string;\n link?: string;\n onClick?: (event: MouseEvent<HTMLButtonElement>) => void;\n decorator?: ReactElement<IconProps>;\n disabled?: boolean;\n}\n\nexport const OverflowMenuItem = ({\n id = 'overflow-menu-item',\n label,\n link,\n onClick,\n disabled = false,\n}: OverflowMenuItemProps) => {\n const contentElementType = getItemElementType(link, onClick);\n\n const menuItemElement = <MenuItem title={label} disabled={disabled} />;\n\n return (\n <li id={id} data-test-id=\"overflow-menu-item\">\n {contentElementType === 'a' && <a href={link}>{menuItemElement}</a>}\n {contentElementType === 'button' && (\n <button onClick={onClick} type=\"button\" disabled={disabled}>\n {menuItemElement}\n </button>\n )}\n {contentElementType === 'span' && <span>{menuItemElement}</span>}\n </li>\n );\n};\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"OverflowMenuItem.es.js","sources":["../../../src/components/OverflowMenu/OverflowMenuItem.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport React, { MouseEvent, ReactElement } from 'react';\nimport { IconProps } from '@foundation/Icon/IconProps';\nimport { MenuItem } from '..';\nimport { getItemElementType } from '@utilities/elements';\n\nexport interface OverflowMenuItemProps {\n id?: string;\n label: string;\n link?: string;\n onClick?: (event: MouseEvent<HTMLButtonElement>) => void;\n decorator?: ReactElement<IconProps>;\n disabled?: boolean;\n}\n\nexport const OverflowMenuItem = ({\n id = 'overflow-menu-item',\n label,\n link,\n onClick,\n disabled = false,\n}: OverflowMenuItemProps) => {\n const contentElementType = getItemElementType(link, onClick);\n\n const menuItemElement = <MenuItem title={label} disabled={disabled} />;\n\n return (\n <li id={id} data-test-id=\"overflow-menu-item\">\n {contentElementType === 'a' && <a href={link}>{menuItemElement}</a>}\n {contentElementType === 'button' && (\n <button onClick={onClick} type=\"button\" disabled={disabled}>\n {menuItemElement}\n </button>\n )}\n {contentElementType === 'span' && <span>{menuItemElement}</span>}\n </li>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBO,MAAM,KAAmB,CAAC;AAAA,EAC7B,QAAK;AAAA,EACL;AAAA,EACA;AAAA,EACA;AAAA,EACA,cAAW;AAAA,MACc;AACnB,QAAA,IAAqB,EAAmB,GAAM,CAAO,GAErD,IAAmB,kBAAA,cAAA,GAAA;AAAA,IAAS,OAAO;AAAA,IAAO;AAAA,EAAA,CAAoB;AAEpE,SACK,kBAAA,cAAA,MAAA;AAAA,IAAG;AAAA,IAAQ,gBAAa;AAAA,EACpB,GAAA,MAAuB,OAAQ,kBAAA,cAAA,KAAA;AAAA,IAAE,MAAM;AAAA,EAAA,GAAO,CAAgB,GAC9D,MAAuB,YACnB,kBAAA,cAAA,UAAA;AAAA,IAAO;AAAA,IAAkB,MAAK;AAAA,IAAS;AAAA,EAAA,GACnC,CACL,GAEH,MAAuB,UAAW,kBAAA,cAAA,QAAA,MAAM,CAAgB,CAC7D;AAER;"}
|
package/dist/components/RichTextEditor/Plugins/LinkPlugin/FloatingLink/CustomFloatingLink.es.js
CHANGED
|
@@ -3,13 +3,11 @@ import { useFloatingLinkSelectors as i } from "@udecode/plate";
|
|
|
3
3
|
import { FloatingLink as n } from "./FloatingLink.es.js";
|
|
4
4
|
import { EditModal as l } from "./EditLinkModal/EditModal.es.js";
|
|
5
5
|
import { InsertModal as m } from "./InsertLinkModal/InsertModal.es.js";
|
|
6
|
-
|
|
7
|
-
import "slate-react";
|
|
8
|
-
const g = () => {
|
|
6
|
+
const d = () => {
|
|
9
7
|
const o = i().isEditing(), e = /* @__PURE__ */ t.createElement(m, null), r = o ? e : /* @__PURE__ */ t.createElement(l, null);
|
|
10
8
|
return /* @__PURE__ */ t.createElement(t.Fragment, null, /* @__PURE__ */ t.createElement(n.InsertRoot, null, e), /* @__PURE__ */ t.createElement(n.EditRoot, null, r));
|
|
11
9
|
};
|
|
12
10
|
export {
|
|
13
|
-
|
|
11
|
+
d as CustomFloatingLink
|
|
14
12
|
};
|
|
15
13
|
//# sourceMappingURL=CustomFloatingLink.es.js.map
|
package/dist/components/RichTextEditor/Plugins/LinkPlugin/FloatingLink/CustomFloatingLink.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CustomFloatingLink.es.js","sources":["../../../../../../src/components/RichTextEditor/Plugins/LinkPlugin/FloatingLink/CustomFloatingLink.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport React from 'react';\nimport { useFloatingLinkSelectors } from '@udecode/plate';\nimport { FloatingLink } from './FloatingLink';\nimport { EditModal } from './EditLinkModal';\nimport { InsertModal } from './InsertLinkModal';\n\nexport const CustomFloatingLink = () => {\n const isEditing = useFloatingLinkSelectors().isEditing();\n\n const input = <InsertModal />;\n const editContent = !isEditing ? <EditModal /> : input;\n\n return (\n <>\n <FloatingLink.InsertRoot>{input}</FloatingLink.InsertRoot>\n\n <FloatingLink.EditRoot>{editContent}</FloatingLink.EditRoot>\n </>\n );\n};\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CustomFloatingLink.es.js","sources":["../../../../../../src/components/RichTextEditor/Plugins/LinkPlugin/FloatingLink/CustomFloatingLink.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport React from 'react';\nimport { useFloatingLinkSelectors } from '@udecode/plate';\nimport { FloatingLink } from './FloatingLink';\nimport { EditModal } from './EditLinkModal';\nimport { InsertModal } from './InsertLinkModal';\n\nexport const CustomFloatingLink = () => {\n const isEditing = useFloatingLinkSelectors().isEditing();\n\n const input = <InsertModal />;\n const editContent = !isEditing ? <EditModal /> : input;\n\n return (\n <>\n <FloatingLink.InsertRoot>{input}</FloatingLink.InsertRoot>\n\n <FloatingLink.EditRoot>{editContent}</FloatingLink.EditRoot>\n </>\n );\n};\n"],"names":[],"mappings":";;;;;AAQO,MAAM,IAAqB,MAAM;AAC9B,QAAA,IAAY,IAA2B,aAEvC,oCAAS,GAAY,IAAA,GACrB,IAAc,AAAC,IAA4B,IAAhB,kBAAA,cAAC,OAAU;AAE5C,SAEQ,kBAAA,cAAA,EAAA,UAAA,MAAA,kBAAA,cAAC,EAAa,YAAb,MAAyB,CAAM,GAEhC,kBAAA,cAAC,EAAa,UAAb,MAAuB,CAAY,CACxC;AAER;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createComponentAs as m, createElementAs as p, FloatingLink as r } from "@udecode/plate";
|
|
1
|
+
import { createComponentAs as m, useFloatingLinkInsert as n, createElementAs as p, FloatingLink as r } from "@udecode/plate";
|
|
2
2
|
import "react";
|
|
3
3
|
import "../../../../../foundation/Icon/Generated/IconAdobeCreativeCloud.es.js";
|
|
4
4
|
import "../../../../../foundation/Icon/Generated/IconAdobeCreativeCloud12.es.js";
|
|
@@ -1662,27 +1662,20 @@ import "../../../../../foundation/Icon/Generated/IconWorkflowShapes24.es.js";
|
|
|
1662
1662
|
import "../../../../../foundation/Icon/Generated/IconWorkflowShapes32.es.js";
|
|
1663
1663
|
import "../../../../../foundation/Icon/IconsMap.es.js";
|
|
1664
1664
|
import "../../../context/RichTextEditorContext.es.js";
|
|
1665
|
-
import { useFloatingLinkEdit as
|
|
1666
|
-
import "../../../../Button/Button.es.js";
|
|
1667
|
-
import "../../../../Checkbox/Checkbox.es.js";
|
|
1668
|
-
import "../../../../FormControl/FormControl.es.js";
|
|
1669
|
-
import "@react-aria/focus";
|
|
1670
|
-
import "../../../../../utilities/focusStyle.es.js";
|
|
1671
|
-
import "./InsertLinkModal/useInsertModal.es.js";
|
|
1672
|
-
import { useFloatingLinkInsert as e } from "./InsertLinkModal/useFloatingLinkInsert.es.js";
|
|
1665
|
+
import { useFloatingLinkEdit as e } from "./EditLinkModal/useFloatingLinkEdit.es.js";
|
|
1673
1666
|
const s = m((i) => {
|
|
1674
1667
|
var o;
|
|
1675
|
-
const t =
|
|
1668
|
+
const t = n(i);
|
|
1676
1669
|
return ((o = t.style) == null ? void 0 : o.display) === "none" ? null : p("div", t);
|
|
1677
1670
|
}), l = m((i) => {
|
|
1678
1671
|
var o;
|
|
1679
|
-
const t =
|
|
1672
|
+
const t = e(i);
|
|
1680
1673
|
return ((o = t.style) == null ? void 0 : o.display) === "none" ? null : p("div", t);
|
|
1681
1674
|
});
|
|
1682
1675
|
r.EditRoot = l;
|
|
1683
1676
|
r.InsertRoot = s;
|
|
1684
|
-
const
|
|
1677
|
+
const m$ = r;
|
|
1685
1678
|
export {
|
|
1686
|
-
|
|
1679
|
+
m$ as FloatingLink
|
|
1687
1680
|
};
|
|
1688
1681
|
//# sourceMappingURL=FloatingLink.es.js.map
|
package/dist/components/RichTextEditor/Plugins/LinkPlugin/FloatingLink/FloatingLink.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FloatingLink.es.js","sources":["../../../../../../src/components/RichTextEditor/Plugins/LinkPlugin/FloatingLink/FloatingLink.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport {\n FloatingLinkProps,\n FloatingLink as PlateFloatingLink,\n createComponentAs,\n createElementAs,\n} from '@udecode/plate';\nimport { useFloatingLinkEdit } from './EditLinkModal';\
|
|
1
|
+
{"version":3,"file":"FloatingLink.es.js","sources":["../../../../../../src/components/RichTextEditor/Plugins/LinkPlugin/FloatingLink/FloatingLink.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport {\n FloatingLinkProps,\n FloatingLink as PlateFloatingLink,\n createComponentAs,\n createElementAs,\n useFloatingLinkInsert,\n} from '@udecode/plate';\nimport { useFloatingLinkEdit } from './EditLinkModal';\n\nconst FloatingLinkInsertRoot = createComponentAs<FloatingLinkProps>((props) => {\n const htmlProps = useFloatingLinkInsert(props);\n\n if (htmlProps.style?.display === 'none') {\n return null;\n }\n\n return createElementAs('div', htmlProps);\n});\n\nconst FloatingLinkEditRoot = createComponentAs<FloatingLinkProps>((props) => {\n const htmlProps = useFloatingLinkEdit(props);\n\n if (htmlProps.style?.display === 'none') {\n return null;\n }\n\n return createElementAs('div', htmlProps);\n});\n\nPlateFloatingLink.EditRoot = FloatingLinkEditRoot;\nPlateFloatingLink.InsertRoot = FloatingLinkInsertRoot;\n\nexport const FloatingLink = PlateFloatingLink;\n"],"names":["PlateFloatingLink"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA,MAAM,IAAyB,EAAqC,CAAC,MAAU;;AACrE,QAAA,IAAY,EAAsB,CAAK;AAEzC,SAAA,QAAU,UAAV,kBAAiB,aAAY,SACtB,OAGJ,EAAgB,OAAO,CAAS;AAC3C,CAAC,GAEK,IAAuB,EAAqC,CAAC,MAAU;;AACnE,QAAA,IAAY,EAAoB,CAAK;AAEvC,SAAA,QAAU,UAAV,kBAAiB,aAAY,SACtB,OAGJ,EAAgB,OAAO,CAAS;AAC3C,CAAC;AAEDA,EAAkB,WAAW;AAC7BA,EAAkB,aAAa;AAExB,MAAM,KAAeA;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import "../../Plugins/index.es.js";
|
|
2
|
-
import a from "
|
|
2
|
+
import a from "escape-html";
|
|
3
3
|
import { BOLD_CLASSES as i } from "../../Plugins/BoldPlugin/BoldMarkupElement.es.js";
|
|
4
4
|
import { ITALIC_CLASSES as p } from "../../Plugins/ItalicPlugin/ItalicMarkupElement.es.js";
|
|
5
5
|
import { UNDERLINE_CLASSES as t } from "../../Plugins/UnderlinePlugin/UnderlineMarkupElement.es.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serializeLeafToHtml.es.js","sources":["../../../../../src/components/RichTextEditor/serializer/utils/serializeLeafToHtml.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport {\n BOLD_CLASSES,\n CODE_CLASSES,\n ITALIC_CLASSES,\n STRIKETHROUGH_CLASSES,\n UNDERLINE_CLASSES,\n} from '@components/RichTextEditor/Plugins';\nimport escapeHtml from 'escape-html';\n\nexport const serializeLeafToHtml = (node: any): string => {\n let string = escapeHtml(node.text);\n if (node.bold) {\n string = `<span class=\"${BOLD_CLASSES}\">${string}</span>`;\n }\n if (node.italic) {\n string = `<span class=\"${ITALIC_CLASSES}\">${string}</span>`;\n }\n if (node.underline) {\n string = `<span class=\"${UNDERLINE_CLASSES}\">${string}</span>`;\n }\n if (node.strikethrough) {\n string = `<span class=\"${STRIKETHROUGH_CLASSES}\">${string}</span>`;\n }\n if (node.code) {\n string = `<span class=\"${CODE_CLASSES}\">${string}</span>`;\n }\n return string;\n};\n"],"names":[
|
|
1
|
+
{"version":3,"file":"serializeLeafToHtml.es.js","sources":["../../../../../src/components/RichTextEditor/serializer/utils/serializeLeafToHtml.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport {\n BOLD_CLASSES,\n CODE_CLASSES,\n ITALIC_CLASSES,\n STRIKETHROUGH_CLASSES,\n UNDERLINE_CLASSES,\n} from '@components/RichTextEditor/Plugins';\nimport escapeHtml from 'escape-html';\n\nexport const serializeLeafToHtml = (node: any): string => {\n let string = escapeHtml(node.text);\n if (node.bold) {\n string = `<span class=\"${BOLD_CLASSES}\">${string}</span>`;\n }\n if (node.italic) {\n string = `<span class=\"${ITALIC_CLASSES}\">${string}</span>`;\n }\n if (node.underline) {\n string = `<span class=\"${UNDERLINE_CLASSES}\">${string}</span>`;\n }\n if (node.strikethrough) {\n string = `<span class=\"${STRIKETHROUGH_CLASSES}\">${string}</span>`;\n }\n if (node.code) {\n string = `<span class=\"${CODE_CLASSES}\">${string}</span>`;\n }\n return string;\n};\n"],"names":[],"mappings":";;;;;;;AAWa,MAAA,IAAsB,CAAC,MAAsB;AAClD,MAAA,IAAS,EAAW,EAAK,IAAI;AACjC,SAAI,EAAK,QACL,KAAS,gBAAgB,MAAiB,aAE1C,EAAK,UACL,KAAS,gBAAgB,MAAmB,aAE5C,EAAK,aACL,KAAS,gBAAgB,MAAsB,aAE/C,EAAK,iBACL,KAAS,gBAAgB,MAA0B,aAEnD,EAAK,QACL,KAAS,gBAAgB,MAAiB,aAEvC;AACX;"}
|
|
@@ -9,7 +9,7 @@ import "../../Plugins/TextStylePlugin/TextStyles/Heading2Plugin/createHeading2Pl
|
|
|
9
9
|
import "../../Plugins/TextStylePlugin/TextStyles/Heading3Plugin/createHeading3Plugin.es.js";
|
|
10
10
|
import "../../Plugins/TextStylePlugin/TextStyles/Heading4Plugin/createHeading4Plugin.es.js";
|
|
11
11
|
import "../../Plugins/TextStylePlugin/TextStyles/Quote/createQuotePlugin.es.js";
|
|
12
|
-
import p from "
|
|
12
|
+
import p from "escape-html";
|
|
13
13
|
import { reactCssPropsToCss as e } from "./reactCssPropsToCss.es.js";
|
|
14
14
|
import { serializeLeafToHtml as o } from "./serializeLeafToHtml.es.js";
|
|
15
15
|
import { ELEMENT_CHECK_ITEM as u } from "../../Plugins/CheckboxListPlugin/id.es.js";
|
package/dist/components/RichTextEditor/serializer/utils/serializeNodeToHtmlRecursive.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serializeNodeToHtmlRecursive.es.js","sources":["../../../../../src/components/RichTextEditor/serializer/utils/serializeNodeToHtmlRecursive.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { ELEMENT_LI, ELEMENT_LINK, ELEMENT_OL, ELEMENT_PARAGRAPH, ELEMENT_UL, TDescendant } from '@udecode/plate';\nimport { ELEMENT_CHECK_ITEM, OL_CLASSES, UL_CLASSES } from '@components/RichTextEditor/Plugins';\nimport { DesignTokens } from '@components/RichTextEditor/types';\nimport { TextStyles } from '@components/RichTextEditor/Plugins/TextStylePlugin/TextStyles';\nimport escapeHtml from 'escape-html';\nimport { reactCssPropsToCss } from './reactCssPropsToCss';\nimport { serializeLeafToHtml } from './serializeLeafToHtml';\n\nexport const serializeNodeToHtmlRecursive = (node: any, designTokens: DesignTokens): string => {\n if (!node.children) {\n return serializeLeafToHtml(node);\n }\n const children = node.children.map((n: TDescendant) => serializeNodeToHtmlRecursive(n, designTokens)).join('');\n\n switch (node.type) {\n case TextStyles.ELEMENT_HEADING1:\n return `<h1 style=\"${reactCssPropsToCss(designTokens.heading1)}\">${children}</h1>`;\n case TextStyles.ELEMENT_HEADING2:\n return `<h2 style=\"${reactCssPropsToCss(designTokens.heading2)}\">${children}</h2>`;\n case TextStyles.ELEMENT_HEADING3:\n return `<h3 style=\"${reactCssPropsToCss(designTokens.heading3)}\">${children}</h3>`;\n case TextStyles.ELEMENT_HEADING4:\n return `<h4 style=\"${reactCssPropsToCss(designTokens.heading4)}\">${children}</h4>`;\n case TextStyles.ELEMENT_CUSTOM1:\n return `<p style=\"${reactCssPropsToCss(designTokens.custom1)}\">${children}</p>`;\n case TextStyles.ELEMENT_CUSTOM2:\n return `<p style=\"${reactCssPropsToCss(designTokens.custom2)}\">${children}</p>`;\n case TextStyles.ELEMENT_CUSTOM3:\n return `<p style=\"${reactCssPropsToCss(designTokens.custom3)}\">${children}</p>`;\n case TextStyles.ELEMENT_QUOTE:\n return `<p style=\"${reactCssPropsToCss(designTokens.quote)}\">${children}</p>`;\n case ELEMENT_PARAGRAPH:\n return `<p>${children}</p>`;\n case ELEMENT_UL:\n return `<ul class=\"${UL_CLASSES}\">${children}</ul>`;\n case ELEMENT_OL:\n return `<ol class=\"${OL_CLASSES}\">${children}</ol>`;\n case ELEMENT_LI:\n return `<li>${children}</li>`;\n case ELEMENT_LINK:\n if (node.chosenLink) {\n const { chosenLink } = node;\n return `<a style=\"${reactCssPropsToCss(designTokens.link)}\" target=${\n chosenLink.openInNewTab ? '_blank' : '_self'\n } href=\"${escapeHtml(chosenLink.searchResult.link)}\">${children}</a>`;\n }\n return `<a style=\"${reactCssPropsToCss(designTokens.link)}\" href=\"${escapeHtml(node.url)}\">${children}</a>`;\n case ELEMENT_CHECK_ITEM:\n return `<input type=\"checkbox\"/><label>${children}</label>`;\n\n default:\n return children;\n }\n};\n"],"names":[
|
|
1
|
+
{"version":3,"file":"serializeNodeToHtmlRecursive.es.js","sources":["../../../../../src/components/RichTextEditor/serializer/utils/serializeNodeToHtmlRecursive.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { ELEMENT_LI, ELEMENT_LINK, ELEMENT_OL, ELEMENT_PARAGRAPH, ELEMENT_UL, TDescendant } from '@udecode/plate';\nimport { ELEMENT_CHECK_ITEM, OL_CLASSES, UL_CLASSES } from '@components/RichTextEditor/Plugins';\nimport { DesignTokens } from '@components/RichTextEditor/types';\nimport { TextStyles } from '@components/RichTextEditor/Plugins/TextStylePlugin/TextStyles';\nimport escapeHtml from 'escape-html';\nimport { reactCssPropsToCss } from './reactCssPropsToCss';\nimport { serializeLeafToHtml } from './serializeLeafToHtml';\n\nexport const serializeNodeToHtmlRecursive = (node: any, designTokens: DesignTokens): string => {\n if (!node.children) {\n return serializeLeafToHtml(node);\n }\n const children = node.children.map((n: TDescendant) => serializeNodeToHtmlRecursive(n, designTokens)).join('');\n\n switch (node.type) {\n case TextStyles.ELEMENT_HEADING1:\n return `<h1 style=\"${reactCssPropsToCss(designTokens.heading1)}\">${children}</h1>`;\n case TextStyles.ELEMENT_HEADING2:\n return `<h2 style=\"${reactCssPropsToCss(designTokens.heading2)}\">${children}</h2>`;\n case TextStyles.ELEMENT_HEADING3:\n return `<h3 style=\"${reactCssPropsToCss(designTokens.heading3)}\">${children}</h3>`;\n case TextStyles.ELEMENT_HEADING4:\n return `<h4 style=\"${reactCssPropsToCss(designTokens.heading4)}\">${children}</h4>`;\n case TextStyles.ELEMENT_CUSTOM1:\n return `<p style=\"${reactCssPropsToCss(designTokens.custom1)}\">${children}</p>`;\n case TextStyles.ELEMENT_CUSTOM2:\n return `<p style=\"${reactCssPropsToCss(designTokens.custom2)}\">${children}</p>`;\n case TextStyles.ELEMENT_CUSTOM3:\n return `<p style=\"${reactCssPropsToCss(designTokens.custom3)}\">${children}</p>`;\n case TextStyles.ELEMENT_QUOTE:\n return `<p style=\"${reactCssPropsToCss(designTokens.quote)}\">${children}</p>`;\n case ELEMENT_PARAGRAPH:\n return `<p>${children}</p>`;\n case ELEMENT_UL:\n return `<ul class=\"${UL_CLASSES}\">${children}</ul>`;\n case ELEMENT_OL:\n return `<ol class=\"${OL_CLASSES}\">${children}</ol>`;\n case ELEMENT_LI:\n return `<li>${children}</li>`;\n case ELEMENT_LINK:\n if (node.chosenLink) {\n const { chosenLink } = node;\n return `<a style=\"${reactCssPropsToCss(designTokens.link)}\" target=${\n chosenLink.openInNewTab ? '_blank' : '_self'\n } href=\"${escapeHtml(chosenLink.searchResult.link)}\">${children}</a>`;\n }\n return `<a style=\"${reactCssPropsToCss(designTokens.link)}\" href=\"${escapeHtml(node.url)}\">${children}</a>`;\n case ELEMENT_CHECK_ITEM:\n return `<input type=\"checkbox\"/><label>${children}</label>`;\n\n default:\n return children;\n }\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAUa,MAAA,IAA+B,CAAC,GAAW,MAAuC;AACvF,MAAA,CAAC,EAAK;AACN,WAAO,EAAoB,CAAI;AAEnC,QAAM,IAAW,EAAK,SAAS,IAAI,CAAC,MAAmB,EAA6B,GAAG,CAAY,CAAC,EAAE,KAAK,EAAE;AAE7G,UAAQ,EAAK;AAAA,SACJ,EAAW;AACZ,aAAO,cAAc,EAAmB,EAAa,QAAQ,MAAM;AAAA,SAClE,EAAW;AACZ,aAAO,cAAc,EAAmB,EAAa,QAAQ,MAAM;AAAA,SAClE,EAAW;AACZ,aAAO,cAAc,EAAmB,EAAa,QAAQ,MAAM;AAAA,SAClE,EAAW;AACZ,aAAO,cAAc,EAAmB,EAAa,QAAQ,MAAM;AAAA,SAClE,EAAW;AACZ,aAAO,aAAa,EAAmB,EAAa,OAAO,MAAM;AAAA,SAChE,EAAW;AACZ,aAAO,aAAa,EAAmB,EAAa,OAAO,MAAM;AAAA,SAChE,EAAW;AACZ,aAAO,aAAa,EAAmB,EAAa,OAAO,MAAM;AAAA,SAChE,EAAW;AACZ,aAAO,aAAa,EAAmB,EAAa,KAAK,MAAM;AAAA,SAC9D;AACD,aAAO,MAAM;AAAA,SACZ;AACD,aAAO,cAAc,MAAe;AAAA,SACnC;AACD,aAAO,cAAc,MAAe;AAAA,SACnC;AACD,aAAO,OAAO;AAAA,SACb;AACD,UAAI,EAAK,YAAY;AACjB,cAAM,EAAE,kBAAe;AACvB,eAAO,aAAa,EAAmB,EAAa,IAAI,aACpD,EAAW,eAAe,WAAW,iBAC/B,EAAW,EAAW,aAAa,IAAI,MAAM;AAAA,MAC3D;AACO,aAAA,aAAa,EAAmB,EAAa,IAAI,YAAY,EAAW,EAAK,GAAG,MAAM;AAAA,SAC5F;AACD,aAAO,kCAAkC;AAAA;AAGlC,aAAA;AAAA;AAEnB;"}
|
|
@@ -1732,6 +1732,7 @@ import "../RichTextEditor/Plugins/CheckboxListPlugin/index.es.js";
|
|
|
1732
1732
|
import "slate-react";
|
|
1733
1733
|
import "../RichTextEditor/Plugins/LinkPlugin/index.es.js";
|
|
1734
1734
|
import "../RichTextEditor/Plugins/index.es.js";
|
|
1735
|
+
import "escape-html";
|
|
1735
1736
|
import { useScrollWrapper as g } from "./hooks/useScrollWrapper.es.js";
|
|
1736
1737
|
import { ScrollWrapperDirection as i, scrollWrapperDirections as h } from "./types.es.js";
|
|
1737
1738
|
import "@react-stately/table";
|
|
@@ -1740,7 +1741,7 @@ import "../Tree/utils/mocks.es.js";
|
|
|
1740
1741
|
const e = {
|
|
1741
1742
|
bottom: "linear-gradient(180deg, rgba(232, 233, 233, 0) 0%, #E8E9E9 100%)",
|
|
1742
1743
|
top: "linear-gradient(0deg, rgba(232, 233, 233, 0) 0%, #E8E9E9 100%)"
|
|
1743
|
-
},
|
|
1744
|
+
}, CR = ({ direction: o = i.Vertical, children: l }) => {
|
|
1744
1745
|
const t = b(null), [{ showTopShadow: a, showBottomShadow: n }, c] = g(t), { isFocusVisible: s, focusProps: w } = d(), m = o === i.Vertical || o === i.Both, p = t.current ? t.current.clientWidth + 8 : "100%";
|
|
1745
1746
|
return /* @__PURE__ */ r.createElement("div", {
|
|
1746
1747
|
"data-test-id": "scroll-wrapper",
|
|
@@ -1772,6 +1773,6 @@ const e = {
|
|
|
1772
1773
|
}));
|
|
1773
1774
|
};
|
|
1774
1775
|
export {
|
|
1775
|
-
|
|
1776
|
+
CR as ScrollWrapper
|
|
1776
1777
|
};
|
|
1777
1778
|
//# sourceMappingURL=ScrollWrapper.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScrollWrapper.es.js","sources":["../../../src/components/ScrollWrapper/ScrollWrapper.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { useFocusRing } from '@react-aria/focus';\nimport React, { FC, useRef } from 'react';\nimport { FOCUS_STYLE, merge } from '../..';\nimport { useScrollWrapper } from './hooks/useScrollWrapper';\nimport { ScrollWrapperDirection, ScrollWrapperProps, scrollWrapperDirections } from './types';\n\nconst GRADIENTS = {\n bottom: 'linear-gradient(180deg, rgba(232, 233, 233, 0) 0%, #E8E9E9 100%)',\n top: 'linear-gradient(0deg, rgba(232, 233, 233, 0) 0%, #E8E9E9 100%)',\n};\n\nexport const ScrollWrapper: FC<ScrollWrapperProps> = ({ direction = ScrollWrapperDirection.Vertical, children }) => {\n const scrollingContainer = useRef<HTMLDivElement>(null);\n\n const [{ showTopShadow, showBottomShadow }, scrollDivProps] = useScrollWrapper(scrollingContainer);\n\n const { isFocusVisible, focusProps } = useFocusRing();\n\n const directionVertical =\n direction === ScrollWrapperDirection.Vertical || direction === ScrollWrapperDirection.Both;\n\n const gradientWidth = scrollingContainer.current ? scrollingContainer.current.clientWidth + 8 : '100%';\n\n return (\n <div\n data-test-id=\"scroll-wrapper\"\n className=\"tw-h-full tw-relative tw-flex-auto tw-flex tw-flex-col tw-min-h-0\"\n >\n {directionVertical && showTopShadow && (\n <div\n className=\"tw-h-3 tw-w-full tw-absolute tw-z-10 tw-top-0 tw-left-0 tw-mix-blend-darken tw-border-t tw-border-line\"\n style={{\n background: GRADIENTS.top,\n width: gradientWidth,\n }}\n />\n )}\n <div\n ref={scrollingContainer}\n // eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex\n tabIndex={0}\n role=\"region\"\n aria-label=\"Scrollable dialogue content\"\n className={merge([\n scrollWrapperDirections[direction],\n 'tw-flex-auto tw-min-h-0 tw-outline-none tw-pb-2 tw-px-2 tw--mx-2',\n isFocusVisible && FOCUS_STYLE,\n ])}\n {...scrollDivProps}\n {...focusProps}\n >\n {children}\n </div>\n {directionVertical && showBottomShadow && (\n <div\n className=\"tw-h-3 tw-absolute tw-z-10 tw-bottom-0 tw-left-0 tw-mix-blend-darken tw-border-b tw-border-line\"\n style={{\n background: GRADIENTS.bottom,\n width: gradientWidth,\n }}\n />\n )}\n </div>\n );\n};\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ScrollWrapper.es.js","sources":["../../../src/components/ScrollWrapper/ScrollWrapper.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { useFocusRing } from '@react-aria/focus';\nimport React, { FC, useRef } from 'react';\nimport { FOCUS_STYLE, merge } from '../..';\nimport { useScrollWrapper } from './hooks/useScrollWrapper';\nimport { ScrollWrapperDirection, ScrollWrapperProps, scrollWrapperDirections } from './types';\n\nconst GRADIENTS = {\n bottom: 'linear-gradient(180deg, rgba(232, 233, 233, 0) 0%, #E8E9E9 100%)',\n top: 'linear-gradient(0deg, rgba(232, 233, 233, 0) 0%, #E8E9E9 100%)',\n};\n\nexport const ScrollWrapper: FC<ScrollWrapperProps> = ({ direction = ScrollWrapperDirection.Vertical, children }) => {\n const scrollingContainer = useRef<HTMLDivElement>(null);\n\n const [{ showTopShadow, showBottomShadow }, scrollDivProps] = useScrollWrapper(scrollingContainer);\n\n const { isFocusVisible, focusProps } = useFocusRing();\n\n const directionVertical =\n direction === ScrollWrapperDirection.Vertical || direction === ScrollWrapperDirection.Both;\n\n const gradientWidth = scrollingContainer.current ? scrollingContainer.current.clientWidth + 8 : '100%';\n\n return (\n <div\n data-test-id=\"scroll-wrapper\"\n className=\"tw-h-full tw-relative tw-flex-auto tw-flex tw-flex-col tw-min-h-0\"\n >\n {directionVertical && showTopShadow && (\n <div\n className=\"tw-h-3 tw-w-full tw-absolute tw-z-10 tw-top-0 tw-left-0 tw-mix-blend-darken tw-border-t tw-border-line\"\n style={{\n background: GRADIENTS.top,\n width: gradientWidth,\n }}\n />\n )}\n <div\n ref={scrollingContainer}\n // eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex\n tabIndex={0}\n role=\"region\"\n aria-label=\"Scrollable dialogue content\"\n className={merge([\n scrollWrapperDirections[direction],\n 'tw-flex-auto tw-min-h-0 tw-outline-none tw-pb-2 tw-px-2 tw--mx-2',\n isFocusVisible && FOCUS_STYLE,\n ])}\n {...scrollDivProps}\n {...focusProps}\n >\n {children}\n </div>\n {directionVertical && showBottomShadow && (\n <div\n className=\"tw-h-3 tw-absolute tw-z-10 tw-bottom-0 tw-left-0 tw-mix-blend-darken tw-border-b tw-border-line\"\n style={{\n background: GRADIENTS.bottom,\n width: gradientWidth,\n }}\n />\n )}\n </div>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,MAAM,IAAY;AAAA,EACd,QAAQ;AAAA,EACR,KAAK;AACT,GAEa,KAAwC,CAAC,EAAE,eAAY,EAAuB,UAAU,kBAAe;AAC1G,QAAA,IAAqB,EAAuB,IAAI,GAEhD,CAAC,EAAE,kBAAe,uBAAoB,KAAkB,EAAiB,CAAkB,GAE3F,EAAE,mBAAgB,kBAAe,EAAa,GAE9C,IACF,MAAc,EAAuB,YAAY,MAAc,EAAuB,MAEpF,IAAgB,EAAmB,UAAU,EAAmB,QAAQ,cAAc,IAAI;AAEhG,SACK,kBAAA,cAAA,OAAA;AAAA,IACG,gBAAa;AAAA,IACb,WAAU;AAAA,EAET,GAAA,KAAqB,KACjB,kBAAA,cAAA,OAAA;AAAA,IACG,WAAU;AAAA,IACV,OAAO;AAAA,MACH,YAAY,EAAU;AAAA,MACtB,OAAO;AAAA,IACX;AAAA,EAAA,CACJ,GAEH,kBAAA,cAAA,OAAA;AAAA,IACG,KAAK;AAAA,IAEL,UAAU;AAAA,IACV,MAAK;AAAA,IACL,cAAW;AAAA,IACX,WAAW,EAAM;AAAA,MACb,EAAwB;AAAA,MACxB;AAAA,MACA,KAAkB;AAAA,IAAA,CACrB;AAAA,IACA,GAAG;AAAA,IACH,GAAG;AAAA,EAAA,GAEH,CACL,GACC,KAAqB,KACjB,kBAAA,cAAA,OAAA;AAAA,IACG,WAAU;AAAA,IACV,OAAO;AAAA,MACH,YAAY,EAAU;AAAA,MACtB,OAAO;AAAA,IACX;AAAA,EACJ,CAAA,CAER;AAER;"}
|
|
@@ -1731,12 +1731,13 @@ import "../RichTextEditor/Plugins/CheckboxListPlugin/index.es.js";
|
|
|
1731
1731
|
import "slate-react";
|
|
1732
1732
|
import "../RichTextEditor/Plugins/LinkPlugin/index.es.js";
|
|
1733
1733
|
import "../RichTextEditor/Plugins/index.es.js";
|
|
1734
|
+
import "escape-html";
|
|
1734
1735
|
import "../../styles.es.js";
|
|
1735
1736
|
import { SelectionMode as k } from "./Table.es.js";
|
|
1736
1737
|
import "react-textarea-autosize";
|
|
1737
1738
|
import "../Tree/utils/mocks.es.js";
|
|
1738
1739
|
var d = /* @__PURE__ */ ((t) => (t.Default = "Default", t.Checkbox = "Checkbox", t))(d || {});
|
|
1739
|
-
const
|
|
1740
|
+
const jN = ({
|
|
1740
1741
|
cell: t,
|
|
1741
1742
|
selectionMode: l,
|
|
1742
1743
|
type: f = "Default",
|
|
@@ -1782,7 +1783,7 @@ const UN = ({
|
|
|
1782
1783
|
}, t.rendered);
|
|
1783
1784
|
};
|
|
1784
1785
|
export {
|
|
1785
|
-
|
|
1786
|
+
jN as TableCell,
|
|
1786
1787
|
d as TableCellType
|
|
1787
1788
|
};
|
|
1788
1789
|
//# sourceMappingURL=TableCell.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableCell.es.js","sources":["../../../src/components/Table/TableCell.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Checkbox as CheckboxComponent, CheckboxState } from '@components/Checkbox/Checkbox';\nimport { merge } from '@utilities/merge';\nimport React, { Key, useRef } from 'react';\nimport { SelectionMode } from '..';\n\nexport enum TableCellType {\n Default = 'Default',\n Checkbox = 'Checkbox',\n}\n\nexport type TableCellProps = {\n cell: any;\n selectionMode: string;\n type?: TableCellType;\n isChecked?: boolean;\n selectedRows: Key[];\n setSelectedRows?: (ids?: Key[]) => void;\n};\n\nexport const TableCell = ({\n cell,\n selectionMode,\n type = TableCellType.Default,\n isChecked = false,\n selectedRows,\n setSelectedRows,\n}: TableCellProps) => {\n const ref = useRef<HTMLTableCellElement | null>(null);\n\n if (type === TableCellType.Checkbox) {\n const { key } = cell;\n const handleChange = () => {\n if (!setSelectedRows) {\n return;\n }\n\n if (isChecked) {\n const filteredRows = selectedRows.filter((row) => row !== cell.parentKey);\n setSelectedRows(filteredRows);\n return;\n }\n\n const rowsToSelect =\n selectionMode === SelectionMode.SingleSelect ? [cell.parentKey] : [...selectedRows, cell.parentKey];\n setSelectedRows(rowsToSelect);\n };\n\n return (\n <td\n role=\"cell\"\n ref={ref}\n className={merge([\n 'tw-pl-8 tw-py-4 tw-pr-4 tw-relative after:tw-absolute after:tw-left-0 after:tw-top-[-1px] after:tw-bottom-[-1px] after:tw-w-1',\n isChecked ? 'after:tw-bg-box-selected-strong' : 'after:tw-bg-transparent',\n ])}\n data-test-id=\"table-select-cell\"\n >\n <CheckboxComponent\n value={key}\n ariaLabel={cell['aria-label'] || key}\n state={isChecked ? CheckboxState.Checked : CheckboxState.Unchecked}\n onChange={handleChange}\n />\n </td>\n );\n }\n\n return (\n <td\n role=\"cell\"\n ref={ref}\n className={merge([\n 'tw-p-4 tw-font-normal tw-text-xs focus:tw-outline-none',\n isChecked ? 'tw-text-black-100 dark:tw-text-white' : 'tw-text-black-80 dark:tw-text-black-20',\n ])}\n >\n {cell.rendered}\n </td>\n );\n};\n"],"names":["CheckboxComponent"],"mappings":"
|
|
1
|
+
{"version":3,"file":"TableCell.es.js","sources":["../../../src/components/Table/TableCell.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Checkbox as CheckboxComponent, CheckboxState } from '@components/Checkbox/Checkbox';\nimport { merge } from '@utilities/merge';\nimport React, { Key, useRef } from 'react';\nimport { SelectionMode } from '..';\n\nexport enum TableCellType {\n Default = 'Default',\n Checkbox = 'Checkbox',\n}\n\nexport type TableCellProps = {\n cell: any;\n selectionMode: string;\n type?: TableCellType;\n isChecked?: boolean;\n selectedRows: Key[];\n setSelectedRows?: (ids?: Key[]) => void;\n};\n\nexport const TableCell = ({\n cell,\n selectionMode,\n type = TableCellType.Default,\n isChecked = false,\n selectedRows,\n setSelectedRows,\n}: TableCellProps) => {\n const ref = useRef<HTMLTableCellElement | null>(null);\n\n if (type === TableCellType.Checkbox) {\n const { key } = cell;\n const handleChange = () => {\n if (!setSelectedRows) {\n return;\n }\n\n if (isChecked) {\n const filteredRows = selectedRows.filter((row) => row !== cell.parentKey);\n setSelectedRows(filteredRows);\n return;\n }\n\n const rowsToSelect =\n selectionMode === SelectionMode.SingleSelect ? [cell.parentKey] : [...selectedRows, cell.parentKey];\n setSelectedRows(rowsToSelect);\n };\n\n return (\n <td\n role=\"cell\"\n ref={ref}\n className={merge([\n 'tw-pl-8 tw-py-4 tw-pr-4 tw-relative after:tw-absolute after:tw-left-0 after:tw-top-[-1px] after:tw-bottom-[-1px] after:tw-w-1',\n isChecked ? 'after:tw-bg-box-selected-strong' : 'after:tw-bg-transparent',\n ])}\n data-test-id=\"table-select-cell\"\n >\n <CheckboxComponent\n value={key}\n ariaLabel={cell['aria-label'] || key}\n state={isChecked ? CheckboxState.Checked : CheckboxState.Unchecked}\n onChange={handleChange}\n />\n </td>\n );\n }\n\n return (\n <td\n role=\"cell\"\n ref={ref}\n className={merge([\n 'tw-p-4 tw-font-normal tw-text-xs focus:tw-outline-none',\n isChecked ? 'tw-text-black-100 dark:tw-text-white' : 'tw-text-black-80 dark:tw-text-black-20',\n ])}\n >\n {cell.rendered}\n </td>\n );\n};\n"],"names":["CheckboxComponent"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMY,IAAA,sBAAA,MACE,GAAA,UAAA,WACC,EAAA,WAAA,YAFH,IAAA,KAAA,CAAA,CAAA;AAcL,MAAM,KAAY,CAAC;AAAA,EACtB;AAAA,EACA;AAAA,EACA,UAAO;AAAA,EACP,eAAY;AAAA,EACZ;AAAA,EACA;AAAA,MACkB;AACZ,QAAA,IAAM,EAAoC,IAAI;AAEpD,MAAI,MAAS,YAAwB;AACjC,UAAM,EAAE,WAAQ,GACV,IAAe,MAAM;AACvB,UAAI,CAAC;AACD;AAGJ,UAAI,GAAW;AACX,cAAM,IAAe,EAAa,OAAO,CAAC,MAAQ,MAAQ,EAAK,SAAS;AACxE,UAAgB,CAAY;AAC5B;AAAA,MACJ;AAEA,YAAM,IACF,MAAkB,EAAc,eAAe,CAAC,EAAK,SAAS,IAAI,CAAC,GAAG,GAAc,EAAK,SAAS;AACtG,QAAgB,CAAY;AAAA,IAAA;AAGhC,WACK,kBAAA,cAAA,MAAA;AAAA,MACG,MAAK;AAAA,MACL;AAAA,MACA,WAAW,EAAM;AAAA,QACb;AAAA,QACA,IAAY,oCAAoC;AAAA,MAAA,CACnD;AAAA,MACD,gBAAa;AAAA,IAAA,GAEZ,kBAAA,cAAAA,GAAA;AAAA,MACG,OAAO;AAAA,MACP,WAAW,EAAK,iBAAiB;AAAA,MACjC,OAAO,IAAY,EAAc,UAAU,EAAc;AAAA,MACzD,UAAU;AAAA,IACd,CAAA,CACJ;AAAA,EAER;AAEA,SACK,kBAAA,cAAA,MAAA;AAAA,IACG,MAAK;AAAA,IACL;AAAA,IACA,WAAW,EAAM;AAAA,MACb;AAAA,MACA,IAAY,yCAAyC;AAAA,IAAA,CACxD;AAAA,EAAA,GAEA,EAAK,QACV;AAER;"}
|
|
@@ -1732,12 +1732,13 @@ import "../RichTextEditor/Plugins/CheckboxListPlugin/index.es.js";
|
|
|
1732
1732
|
import "slate-react";
|
|
1733
1733
|
import "../RichTextEditor/Plugins/LinkPlugin/index.es.js";
|
|
1734
1734
|
import "../RichTextEditor/Plugins/index.es.js";
|
|
1735
|
+
import "escape-html";
|
|
1735
1736
|
import "../../styles.es.js";
|
|
1736
1737
|
import { SortDirection as O, SelectionMode as _ } from "./Table.es.js";
|
|
1737
1738
|
import "react-textarea-autosize";
|
|
1738
1739
|
import "../Tree/utils/mocks.es.js";
|
|
1739
1740
|
var F = /* @__PURE__ */ ((r) => (r.Default = "Default", r.SelectAll = "SelectAll", r))(F || {});
|
|
1740
|
-
const
|
|
1741
|
+
const XD = ({
|
|
1741
1742
|
column: r,
|
|
1742
1743
|
type: d = "Default",
|
|
1743
1744
|
rowIds: b,
|
|
@@ -1796,7 +1797,7 @@ const WD = ({
|
|
|
1796
1797
|
}, B(E, { size: N.Size12 }))));
|
|
1797
1798
|
};
|
|
1798
1799
|
export {
|
|
1799
|
-
|
|
1800
|
+
XD as TableColumnHeader,
|
|
1800
1801
|
F as TableColumnHeaderType
|
|
1801
1802
|
};
|
|
1802
1803
|
//# sourceMappingURL=TableColumnHeader.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableColumnHeader.es.js","sources":["../../../src/components/Table/TableColumnHeader.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Checkbox, CheckboxState } from '@components/Checkbox/Checkbox';\nimport { IconSize } from '@foundation/Icon/IconSize';\nimport { FOCUS_VISIBLE_STYLE } from '@utilities/focusStyle';\nimport { merge } from '@utilities/merge';\nimport React, { Key, cloneElement, useEffect, useRef, useState } from 'react';\nimport { IconArrowBidirectional, IconArrowDown, IconArrowUp } from '@foundation/Icon';\nimport { SelectionMode, SortDirection } from '..';\n\nexport enum TableColumnHeaderType {\n Default = 'Default',\n SelectAll = 'SelectAll',\n}\n\nexport type TableColumnHeaderProps = {\n column: any;\n type?: TableColumnHeaderType;\n rowIds: Key[];\n sortDirection?: SortDirection;\n selectionMode: string;\n isColumnSorted?: boolean;\n handleSortChange: (column: string, direction?: SortDirection) => void;\n setSelectedRows?: (ids?: Key[]) => void;\n};\n\nexport const TableColumnHeader = ({\n column,\n type = TableColumnHeaderType.Default,\n rowIds,\n sortDirection,\n selectionMode,\n isColumnSorted = false,\n handleSortChange,\n setSelectedRows,\n}: TableColumnHeaderProps) => {\n const {\n key,\n rendered,\n props: { allowsSorting },\n } = column;\n const [icon, setIcon] = useState(<IconArrowBidirectional />);\n const [isChecked, setIsChecked] = useState(false);\n const ref = useRef<HTMLTableCellElement | null>(null);\n const ButtonOrSpan = allowsSorting ? 'button' : 'span';\n\n useEffect(() => {\n if (isColumnSorted) {\n setIcon(sortDirection === SortDirection.Descending ? <IconArrowDown /> : <IconArrowUp />);\n } else {\n setIcon(<IconArrowBidirectional />);\n }\n }, [isColumnSorted, sortDirection]);\n\n if (type === TableColumnHeaderType.SelectAll) {\n const ariaProps = {\n 'aria-label': 'Select all',\n scope: 'col',\n };\n\n const checkboxState = isChecked ? CheckboxState.Checked : CheckboxState.Unchecked;\n\n const handleChange = () => {\n if (!setSelectedRows) {\n return;\n }\n\n if (isChecked) {\n setSelectedRows([]);\n } else {\n setSelectedRows(rowIds);\n }\n\n setIsChecked((checked) => !checked);\n };\n\n return (\n <th\n {...ariaProps}\n ref={ref}\n className=\"tw-pl-8 tw-py-3 tw-pr-4 tw-w-16 tw-border-l-4 tw-border-transparent tw-group tw-outline-none\"\n data-test-id=\"table-select-cell\"\n >\n {selectionMode === SelectionMode.SingleSelect ? (\n <span className=\"tw-sr-only\">{ariaProps['aria-label']}</span>\n ) : (\n <Checkbox value={key} ariaLabel={key} state={checkboxState} onChange={handleChange} />\n )}\n </th>\n );\n }\n\n return (\n <th\n ref={ref}\n className={merge([\n 'tw-text-xs tw-font-medium tw-text-black-100 dark:tw-text-white tw-px-4 tw-py-3 tw-outline-none tw-group focus-visible:bg-violet-90',\n allowsSorting ? 'tw-cursor-pointer' : '',\n ])}\n data-test-id=\"table-column\"\n scope=\"col\"\n onClick={allowsSorting ? () => handleSortChange(column.key, sortDirection) : () => null}\n >\n <ButtonOrSpan\n className={merge([\n 'tw-flex tw-gap-x-1 tw-items-center',\n FOCUS_VISIBLE_STYLE,\n allowsSorting ? 'tw-cursor-pointer' : 'tw-cursor-default',\n ])}\n >\n {rendered}\n {allowsSorting && (\n <span\n aria-hidden=\"true\"\n className={\n isColumnSorted\n ? 'tw-text-violet-50'\n : 'tw-text-black-40 dark:tw-text-black-60 group-hover:tw-text-black-100 dark:group-hover:tw-text-white'\n }\n >\n {cloneElement(icon, { size: IconSize.Size12 })}\n </span>\n )}\n </ButtonOrSpan>\n </th>\n );\n};\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TableColumnHeader.es.js","sources":["../../../src/components/Table/TableColumnHeader.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Checkbox, CheckboxState } from '@components/Checkbox/Checkbox';\nimport { IconSize } from '@foundation/Icon/IconSize';\nimport { FOCUS_VISIBLE_STYLE } from '@utilities/focusStyle';\nimport { merge } from '@utilities/merge';\nimport React, { Key, cloneElement, useEffect, useRef, useState } from 'react';\nimport { IconArrowBidirectional, IconArrowDown, IconArrowUp } from '@foundation/Icon';\nimport { SelectionMode, SortDirection } from '..';\n\nexport enum TableColumnHeaderType {\n Default = 'Default',\n SelectAll = 'SelectAll',\n}\n\nexport type TableColumnHeaderProps = {\n column: any;\n type?: TableColumnHeaderType;\n rowIds: Key[];\n sortDirection?: SortDirection;\n selectionMode: string;\n isColumnSorted?: boolean;\n handleSortChange: (column: string, direction?: SortDirection) => void;\n setSelectedRows?: (ids?: Key[]) => void;\n};\n\nexport const TableColumnHeader = ({\n column,\n type = TableColumnHeaderType.Default,\n rowIds,\n sortDirection,\n selectionMode,\n isColumnSorted = false,\n handleSortChange,\n setSelectedRows,\n}: TableColumnHeaderProps) => {\n const {\n key,\n rendered,\n props: { allowsSorting },\n } = column;\n const [icon, setIcon] = useState(<IconArrowBidirectional />);\n const [isChecked, setIsChecked] = useState(false);\n const ref = useRef<HTMLTableCellElement | null>(null);\n const ButtonOrSpan = allowsSorting ? 'button' : 'span';\n\n useEffect(() => {\n if (isColumnSorted) {\n setIcon(sortDirection === SortDirection.Descending ? <IconArrowDown /> : <IconArrowUp />);\n } else {\n setIcon(<IconArrowBidirectional />);\n }\n }, [isColumnSorted, sortDirection]);\n\n if (type === TableColumnHeaderType.SelectAll) {\n const ariaProps = {\n 'aria-label': 'Select all',\n scope: 'col',\n };\n\n const checkboxState = isChecked ? CheckboxState.Checked : CheckboxState.Unchecked;\n\n const handleChange = () => {\n if (!setSelectedRows) {\n return;\n }\n\n if (isChecked) {\n setSelectedRows([]);\n } else {\n setSelectedRows(rowIds);\n }\n\n setIsChecked((checked) => !checked);\n };\n\n return (\n <th\n {...ariaProps}\n ref={ref}\n className=\"tw-pl-8 tw-py-3 tw-pr-4 tw-w-16 tw-border-l-4 tw-border-transparent tw-group tw-outline-none\"\n data-test-id=\"table-select-cell\"\n >\n {selectionMode === SelectionMode.SingleSelect ? (\n <span className=\"tw-sr-only\">{ariaProps['aria-label']}</span>\n ) : (\n <Checkbox value={key} ariaLabel={key} state={checkboxState} onChange={handleChange} />\n )}\n </th>\n );\n }\n\n return (\n <th\n ref={ref}\n className={merge([\n 'tw-text-xs tw-font-medium tw-text-black-100 dark:tw-text-white tw-px-4 tw-py-3 tw-outline-none tw-group focus-visible:bg-violet-90',\n allowsSorting ? 'tw-cursor-pointer' : '',\n ])}\n data-test-id=\"table-column\"\n scope=\"col\"\n onClick={allowsSorting ? () => handleSortChange(column.key, sortDirection) : () => null}\n >\n <ButtonOrSpan\n className={merge([\n 'tw-flex tw-gap-x-1 tw-items-center',\n FOCUS_VISIBLE_STYLE,\n allowsSorting ? 'tw-cursor-pointer' : 'tw-cursor-default',\n ])}\n >\n {rendered}\n {allowsSorting && (\n <span\n aria-hidden=\"true\"\n className={\n isColumnSorted\n ? 'tw-text-violet-50'\n : 'tw-text-black-40 dark:tw-text-black-60 group-hover:tw-text-black-100 dark:group-hover:tw-text-white'\n }\n >\n {cloneElement(icon, { size: IconSize.Size12 })}\n </span>\n )}\n </ButtonOrSpan>\n </th>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
|
|
@@ -1733,6 +1733,7 @@ import "../../RichTextEditor/Plugins/CheckboxListPlugin/index.es.js";
|
|
|
1733
1733
|
import "slate-react";
|
|
1734
1734
|
import "../../RichTextEditor/Plugins/LinkPlugin/index.es.js";
|
|
1735
1735
|
import "../../RichTextEditor/Plugins/index.es.js";
|
|
1736
|
+
import "escape-html";
|
|
1736
1737
|
import "@react-stately/table";
|
|
1737
1738
|
import "react-textarea-autosize";
|
|
1738
1739
|
r.Small, r.Small, r.Small, r.Small, r.Small;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mocks.es.js","sources":["../../../../src/components/Tree/utils/mocks.tsx"],"sourcesContent":["import { MenuItemContentSize } from '@components/MenuItem';\nimport { IconDocument, IconFaceExtraHappy, IconFolder, IconPlus, IconSize } from '@foundation/Icon';\nimport React from 'react';\nimport { TreeFlatListItem, TreeNodeItem } from '@components/Tree';\nimport { DraggableItem } from '@utilities/dnd';\nimport { Badge } from '../../..';\nimport { Button, ButtonSize } from '@components/Button';\n\nexport const mockActionMenuBlocks = [\n {\n id: 'dropdownBlock',\n ariaLabel: 'Dropdown block',\n menuItems: [\n {\n id: 'dropdown',\n size: MenuItemContentSize.Small,\n title: 'Dropdown',\n onClick: () => console.log('dropdown'),\n },\n ],\n },\n {\n id: 'actionsBlock',\n ariaLabel: 'Item Actions',\n menuItems: [\n {\n id: 'rename',\n size: MenuItemContentSize.Small,\n title: 'Rename',\n onClick: () => console.log('rename'),\n },\n {\n id: 'duplicate',\n size: MenuItemContentSize.Small,\n title: 'Duplicate',\n onClick: () => console.log('duplicate'),\n },\n {\n id: 'unpublish',\n size: MenuItemContentSize.Small,\n title: 'Unpublish',\n onClick: () => console.log('unpublish'),\n },\n ],\n },\n {\n id: 'deleteBlock',\n ariaLabel: 'Delete Block',\n menuItems: [\n {\n id: 'delete',\n size: MenuItemContentSize.Small,\n title: 'Delete',\n onClick: () => console.log('delete'),\n },\n ],\n },\n];\n\nconst uncategorizedPagesNodes = [\n {\n id: '1-1-1',\n parentId: '1-1',\n sort: 1,\n name: 'Home',\n label: 'Page',\n value: 'https://weare.frontify.com/page/1',\n icon: <IconDocument size={IconSize.Size16} />,\n },\n {\n id: '1-1-2',\n parentId: '1-1',\n name: 'Members',\n label: 'Page',\n value: 'https://weare.frontify.com/page/2',\n icon: <IconDocument size={IconSize.Size16} />,\n sort: null,\n },\n {\n id: '1-1-3',\n parentId: '1-1',\n name: 'About us',\n label: 'Page',\n value: 'https://weare.frontify.com/page/3',\n icon: <IconDocument size={IconSize.Size16} />,\n sort: null,\n editable: true,\n },\n];\n\nconst testCategoryNodes = [\n {\n id: '1-2-1',\n parentId: '1-2',\n name: 'Home Category Test Category Lorem ipsum dolor sit amet, consectetur adipiscing elit.',\n label: 'Home Page',\n value: 'https://weare.frontify.com/page/4',\n icon: <IconDocument size={IconSize.Size16} />,\n sort: null,\n badge: <Badge icon={<IconFaceExtraHappy size={IconSize.Size16} />}></Badge>,\n editable: true,\n },\n {\n id: '1-2-2',\n parentId: '1-2',\n name: 'Members Category',\n label: 'Members Page',\n value: 'https://weare.frontify.com/page/5',\n icon: <IconDocument size={IconSize.Size16} />,\n sort: null,\n },\n {\n id: '1-2-3',\n parentId: '1-2',\n name: 'About us Category Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed consectetur quis tellus id elementum.',\n label: 'About Us Page',\n value: 'https://weare.frontify.com/page/6',\n icon: <IconDocument size={IconSize.Size16} />,\n sort: null,\n badge: <Badge>Hello, I am a badge</Badge>,\n tooltipContent: 'Hello, I am tooltip content',\n },\n];\n\ntype mockNodeType = () => DraggableItem<TreeFlatListItem>[];\n\nexport const mockNodesFlat: mockNodeType = () => [\n {\n id: '1',\n name: 'Design System Testing',\n label: 'Document',\n value: 'https://weare.frontify.com/document/1',\n icon: <IconFolder size={IconSize.Size16} />,\n actions: [<Button key={'Design System Testing'} size={ButtonSize.Small} icon={<IconPlus></IconPlus>} />],\n parentId: null,\n sort: 1,\n editable: true,\n },\n {\n id: '1-1',\n name: 'Uncategorizes Pages',\n icon: <IconFolder size={IconSize.Size16} />,\n actions: [\n <Button\n key={'Design System Testing Uncategorizes Pages'}\n size={ButtonSize.Small}\n icon={<IconPlus></IconPlus>}\n />,\n ],\n parentId: '1',\n sort: 1,\n },\n ...uncategorizedPagesNodes,\n {\n id: '1-2',\n parentId: '1',\n name: 'Test Category Lorem ipsum dolor sit amet, consectetur adipiscing elit.',\n label: 'Document',\n icon: <IconFolder size={IconSize.Size16} />,\n actions: [\n <Button\n key={'Design System Testing Uncategorizes Pages Test'}\n size={ButtonSize.Small}\n icon={<IconPlus></IconPlus>}\n />,\n ],\n value: 'https://weare.frontify.com/document/923#/test',\n sort: null,\n badge: <IconFaceExtraHappy size={IconSize.Size16} />,\n },\n ...testCategoryNodes,\n {\n id: '1-3',\n name: 'Category Without Subitems',\n icon: <IconFolder size={IconSize.Size16} />,\n actions: [\n <Button\n key={'Design System Testing Uncategorizes Pages Test Subitems'}\n size={ButtonSize.Small}\n icon={<IconPlus></IconPlus>}\n />,\n ],\n parentId: '1',\n value: 'https://weare.frontify.com/document/923#/test',\n sort: null,\n },\n];\n\nexport const mockNodesTree: DraggableItem<TreeNodeItem>[] = [\n {\n id: '1',\n name: 'Design System Testing',\n label: 'Document',\n value: 'https://weare.frontify.com/document/1',\n icon: <IconFolder size={IconSize.Size16} />,\n parentId: null,\n sort: 1,\n nodes: [\n {\n id: '1-1',\n name: 'Uncategorizes Pages',\n icon: <IconFolder size={IconSize.Size16} />,\n parentId: '1',\n sort: 1,\n nodes: [...uncategorizedPagesNodes],\n },\n {\n id: '1-2',\n parentId: '1',\n name: 'Test Category',\n label: 'Document',\n icon: <IconFolder size={IconSize.Size16} />,\n value: 'https://weare.frontify.com/document/923#/test',\n sort: null,\n nodes: [...testCategoryNodes],\n },\n ],\n },\n];\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
|
|
1
|
+
{"version":3,"file":"mocks.es.js","sources":["../../../../src/components/Tree/utils/mocks.tsx"],"sourcesContent":["import { MenuItemContentSize } from '@components/MenuItem';\nimport { IconDocument, IconFaceExtraHappy, IconFolder, IconPlus, IconSize } from '@foundation/Icon';\nimport React from 'react';\nimport { TreeFlatListItem, TreeNodeItem } from '@components/Tree';\nimport { DraggableItem } from '@utilities/dnd';\nimport { Badge } from '../../..';\nimport { Button, ButtonSize } from '@components/Button';\n\nexport const mockActionMenuBlocks = [\n {\n id: 'dropdownBlock',\n ariaLabel: 'Dropdown block',\n menuItems: [\n {\n id: 'dropdown',\n size: MenuItemContentSize.Small,\n title: 'Dropdown',\n onClick: () => console.log('dropdown'),\n },\n ],\n },\n {\n id: 'actionsBlock',\n ariaLabel: 'Item Actions',\n menuItems: [\n {\n id: 'rename',\n size: MenuItemContentSize.Small,\n title: 'Rename',\n onClick: () => console.log('rename'),\n },\n {\n id: 'duplicate',\n size: MenuItemContentSize.Small,\n title: 'Duplicate',\n onClick: () => console.log('duplicate'),\n },\n {\n id: 'unpublish',\n size: MenuItemContentSize.Small,\n title: 'Unpublish',\n onClick: () => console.log('unpublish'),\n },\n ],\n },\n {\n id: 'deleteBlock',\n ariaLabel: 'Delete Block',\n menuItems: [\n {\n id: 'delete',\n size: MenuItemContentSize.Small,\n title: 'Delete',\n onClick: () => console.log('delete'),\n },\n ],\n },\n];\n\nconst uncategorizedPagesNodes = [\n {\n id: '1-1-1',\n parentId: '1-1',\n sort: 1,\n name: 'Home',\n label: 'Page',\n value: 'https://weare.frontify.com/page/1',\n icon: <IconDocument size={IconSize.Size16} />,\n },\n {\n id: '1-1-2',\n parentId: '1-1',\n name: 'Members',\n label: 'Page',\n value: 'https://weare.frontify.com/page/2',\n icon: <IconDocument size={IconSize.Size16} />,\n sort: null,\n },\n {\n id: '1-1-3',\n parentId: '1-1',\n name: 'About us',\n label: 'Page',\n value: 'https://weare.frontify.com/page/3',\n icon: <IconDocument size={IconSize.Size16} />,\n sort: null,\n editable: true,\n },\n];\n\nconst testCategoryNodes = [\n {\n id: '1-2-1',\n parentId: '1-2',\n name: 'Home Category Test Category Lorem ipsum dolor sit amet, consectetur adipiscing elit.',\n label: 'Home Page',\n value: 'https://weare.frontify.com/page/4',\n icon: <IconDocument size={IconSize.Size16} />,\n sort: null,\n badge: <Badge icon={<IconFaceExtraHappy size={IconSize.Size16} />}></Badge>,\n editable: true,\n },\n {\n id: '1-2-2',\n parentId: '1-2',\n name: 'Members Category',\n label: 'Members Page',\n value: 'https://weare.frontify.com/page/5',\n icon: <IconDocument size={IconSize.Size16} />,\n sort: null,\n },\n {\n id: '1-2-3',\n parentId: '1-2',\n name: 'About us Category Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed consectetur quis tellus id elementum.',\n label: 'About Us Page',\n value: 'https://weare.frontify.com/page/6',\n icon: <IconDocument size={IconSize.Size16} />,\n sort: null,\n badge: <Badge>Hello, I am a badge</Badge>,\n tooltipContent: 'Hello, I am tooltip content',\n },\n];\n\ntype mockNodeType = () => DraggableItem<TreeFlatListItem>[];\n\nexport const mockNodesFlat: mockNodeType = () => [\n {\n id: '1',\n name: 'Design System Testing',\n label: 'Document',\n value: 'https://weare.frontify.com/document/1',\n icon: <IconFolder size={IconSize.Size16} />,\n actions: [<Button key={'Design System Testing'} size={ButtonSize.Small} icon={<IconPlus></IconPlus>} />],\n parentId: null,\n sort: 1,\n editable: true,\n },\n {\n id: '1-1',\n name: 'Uncategorizes Pages',\n icon: <IconFolder size={IconSize.Size16} />,\n actions: [\n <Button\n key={'Design System Testing Uncategorizes Pages'}\n size={ButtonSize.Small}\n icon={<IconPlus></IconPlus>}\n />,\n ],\n parentId: '1',\n sort: 1,\n },\n ...uncategorizedPagesNodes,\n {\n id: '1-2',\n parentId: '1',\n name: 'Test Category Lorem ipsum dolor sit amet, consectetur adipiscing elit.',\n label: 'Document',\n icon: <IconFolder size={IconSize.Size16} />,\n actions: [\n <Button\n key={'Design System Testing Uncategorizes Pages Test'}\n size={ButtonSize.Small}\n icon={<IconPlus></IconPlus>}\n />,\n ],\n value: 'https://weare.frontify.com/document/923#/test',\n sort: null,\n badge: <IconFaceExtraHappy size={IconSize.Size16} />,\n },\n ...testCategoryNodes,\n {\n id: '1-3',\n name: 'Category Without Subitems',\n icon: <IconFolder size={IconSize.Size16} />,\n actions: [\n <Button\n key={'Design System Testing Uncategorizes Pages Test Subitems'}\n size={ButtonSize.Small}\n icon={<IconPlus></IconPlus>}\n />,\n ],\n parentId: '1',\n value: 'https://weare.frontify.com/document/923#/test',\n sort: null,\n },\n];\n\nexport const mockNodesTree: DraggableItem<TreeNodeItem>[] = [\n {\n id: '1',\n name: 'Design System Testing',\n label: 'Document',\n value: 'https://weare.frontify.com/document/1',\n icon: <IconFolder size={IconSize.Size16} />,\n parentId: null,\n sort: 1,\n nodes: [\n {\n id: '1-1',\n name: 'Uncategorizes Pages',\n icon: <IconFolder size={IconSize.Size16} />,\n parentId: '1',\n sort: 1,\n nodes: [...uncategorizedPagesNodes],\n },\n {\n id: '1-2',\n parentId: '1',\n name: 'Test Category',\n label: 'Document',\n icon: <IconFolder size={IconSize.Size16} />,\n value: 'https://weare.frontify.com/document/923#/test',\n sort: null,\n nodes: [...testCategoryNodes],\n },\n ],\n },\n];\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
|