@frontify/fondue 12.0.0-beta.0 → 12.0.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/dist/components/Breadcrumbs/BreadcrumbItem.d.ts +0 -1
  2. package/dist/components/Breadcrumbs/BreadcrumbItem.es.js +23 -23
  3. package/dist/components/Breadcrumbs/BreadcrumbItem.es.js.map +1 -1
  4. package/dist/components/Breadcrumbs/CurrentBreadcrumbItem.es.js +1 -1
  5. package/dist/components/Breadcrumbs/CurrentBreadcrumbItem.es.js.map +1 -1
  6. package/dist/components/RichTextEditor/EditorActions/Plugins/LinkPlugin/FloatingLink/EditLinkModal/EditModal.es.js +13 -12
  7. package/dist/components/RichTextEditor/EditorActions/Plugins/LinkPlugin/FloatingLink/EditLinkModal/EditModal.es.js.map +1 -1
  8. package/dist/components/RichTextEditor/EditorActions/Plugins/LinkPlugin/LinkMarkupElement/LinkMarkupElementNode.d.ts +0 -1
  9. package/dist/components/RichTextEditor/EditorActions/Plugins/LinkPlugin/LinkMarkupElement/LinkMarkupElementNode.es.js +12 -12
  10. package/dist/components/RichTextEditor/EditorActions/Plugins/LinkPlugin/LinkMarkupElement/LinkMarkupElementNode.es.js.map +1 -1
  11. package/dist/components/RichTextEditor/TextStyleDropdown/DropdownTrigger.es.js +20 -20
  12. package/dist/components/RichTextEditor/TextStyleDropdown/DropdownTrigger.es.js.map +1 -1
  13. package/dist/components/RichTextEditor/TextStyleDropdown/TextStyleDropdown.es.js +34 -27
  14. package/dist/components/RichTextEditor/TextStyleDropdown/TextStyleDropdown.es.js.map +1 -1
  15. package/dist/components/RichTextEditor/components/quote.d.ts +3 -0
  16. package/dist/components/RichTextEditor/components/quote.es.js +16 -0
  17. package/dist/components/RichTextEditor/components/quote.es.js.map +1 -0
  18. package/dist/components/RichTextEditor/serializer/utils/serializeNodeToHtmlRecursive.es.js +38 -37
  19. package/dist/components/RichTextEditor/serializer/utils/serializeNodeToHtmlRecursive.es.js.map +1 -1
  20. package/dist/components/RichTextEditor/utils/defaultDesignTokens.es.js +12 -2
  21. package/dist/components/RichTextEditor/utils/defaultDesignTokens.es.js.map +1 -1
  22. package/dist/components/RichTextEditor/utils/editorConfig.es.js +50 -44
  23. package/dist/components/RichTextEditor/utils/editorConfig.es.js.map +1 -1
  24. package/dist/components/RichTextEditor/utils/textStyles.d.ts +2 -0
  25. package/dist/components/RichTextEditor/utils/textStyles.es.js +6 -4
  26. package/dist/components/RichTextEditor/utils/textStyles.es.js.map +1 -1
  27. package/dist/components/TextInput/TextInput.es.js +40 -38
  28. package/dist/components/TextInput/TextInput.es.js.map +1 -1
  29. package/dist/components/Tooltip/Tooltip.es.js +11 -11
  30. package/dist/components/Tooltip/Tooltip.es.js.map +1 -1
  31. package/dist/index.cjs.js +4 -4
  32. package/dist/index.cjs.js.map +1 -1
  33. package/dist/index.es.js +3554 -3553
  34. package/dist/index.es.js.map +1 -1
  35. package/dist/index.umd.js +4 -4
  36. package/dist/index.umd.js.map +1 -1
  37. package/dist/styles.css +1 -1
  38. package/dist/utilities/elements.d.ts +2 -0
  39. package/dist/utilities/elements.es.js +5 -0
  40. package/dist/utilities/elements.es.js.map +1 -0
  41. package/dist/utilities/index.d.ts +1 -0
  42. package/package.json +1 -1
@@ -1,50 +1,51 @@
1
1
  import "react";
2
2
  import "../../context/RichTextEditorContext.es.js";
3
- import { LINK_CLASSES as l } from "../../EditorActions/Plugins/LinkPlugin/LinkMarkupElement/LinkMarkupElementNode.es.js";
4
- import { OL_CLASSES as $ } from "../../components/ordered-list.es.js";
5
- import { UL_CLASSES as i } from "../../components/unordered-list.es.js";
6
- import { ELEMENT_CHECK_ITEM as m } from "../../EditorActions/Plugins/CheckboxListPlugin/id.es.js";
7
- import { TextStyles as E } from "../../utils/textStyles.es.js";
8
- import { ELEMENT_LINK as p, ELEMENT_LI as L, ELEMENT_OL as u, ELEMENT_UL as o, ELEMENT_PARAGRAPH as h } from "@udecode/plate";
9
- import s from "../../../../node_modules/escape-html/index.es.js";
10
- import { reactCssPropsToCss as a } from "./reactCssPropsToCss.es.js";
11
- import { serializeLeafToHtml as N } from "./serializeLeafToHtml.es.js";
12
- const _ = (t, e) => {
13
- if (!t.children)
14
- return N(t);
15
- const r = t.children.map((c) => _(c, e)).join("");
16
- switch (t.type) {
17
- case E.ELEMENT_HEADING1:
18
- return `<h1 style="${a(e.heading1)}">${r}</h1>`;
19
- case E.ELEMENT_HEADING2:
20
- return `<h2 style="${a(e.heading2)}">${r}</h2>`;
21
- case E.ELEMENT_HEADING3:
22
- return `<h3 style="${a(e.heading3)}">${r}</h3>`;
23
- case E.ELEMENT_HEADING4:
24
- return `<h4 style="${a(e.heading4)}">${r}</h4>`;
25
- case E.ELEMENT_CUSTOM1:
26
- return `<p style="${a(e.custom1)}">${r}</p>`;
27
- case E.ELEMENT_CUSTOM2:
28
- return `<p style="${a(e.custom2)}">${r}</p>`;
29
- case E.ELEMENT_CUSTOM3:
30
- return `<p style="${a(e.custom3)}">${r}</p>`;
31
- case h:
3
+ import { ELEMENT_LINK as s, ELEMENT_LI as $, ELEMENT_OL as p, ELEMENT_UL as u, ELEMENT_PARAGRAPH as L } from "@udecode/plate";
4
+ import { OL_CLASSES as i } from "../../components/ordered-list.es.js";
5
+ import { UL_CLASSES as m } from "../../components/unordered-list.es.js";
6
+ import { ELEMENT_CHECK_ITEM as h } from "../../EditorActions/Plugins/CheckboxListPlugin/id.es.js";
7
+ import { TextStyles as l } from "../../utils/textStyles.es.js";
8
+ import a from "../../../../node_modules/escape-html/index.es.js";
9
+ import { reactCssPropsToCss as e } from "./reactCssPropsToCss.es.js";
10
+ import { serializeLeafToHtml as o } from "./serializeLeafToHtml.es.js";
11
+ const N = (E, t) => {
12
+ if (!E.children)
13
+ return o(E);
14
+ const r = E.children.map((c) => N(c, t)).join("");
15
+ switch (E.type) {
16
+ case l.ELEMENT_HEADING1:
17
+ return `<h1 style="${e(t.heading1)}">${r}</h1>`;
18
+ case l.ELEMENT_HEADING2:
19
+ return `<h2 style="${e(t.heading2)}">${r}</h2>`;
20
+ case l.ELEMENT_HEADING3:
21
+ return `<h3 style="${e(t.heading3)}">${r}</h3>`;
22
+ case l.ELEMENT_HEADING4:
23
+ return `<h4 style="${e(t.heading4)}">${r}</h4>`;
24
+ case l.ELEMENT_CUSTOM1:
25
+ return `<p style="${e(t.custom1)}">${r}</p>`;
26
+ case l.ELEMENT_CUSTOM2:
27
+ return `<p style="${e(t.custom2)}">${r}</p>`;
28
+ case l.ELEMENT_CUSTOM3:
29
+ return `<p style="${e(t.custom3)}">${r}</p>`;
30
+ case l.ELEMENT_QUOTE:
31
+ return `<p style="${e(t.quote)}">${r}</p>`;
32
+ case L:
32
33
  return `<p>${r}</p>`;
33
- case o:
34
- return `<ul class="${i}">${r}</ul>`;
35
34
  case u:
36
- return `<ol class="${$}">${r}</ol>`;
37
- case L:
38
- return `<li>${r}</li>`;
35
+ return `<ul class="${m}">${r}</ul>`;
39
36
  case p:
40
- return t.chosenLink ? `<a class="${l}" target=${t.chosenLink.openInNewTab ? "_blank" : "_self"} href="${s(t.chosenLink.searchResult.link)}">${r}</a>` : `<a class="${l}" href="${s(t.url)}">${r}</a>`;
41
- case m:
37
+ return `<ol class="${i}">${r}</ol>`;
38
+ case $:
39
+ return `<li>${r}</li>`;
40
+ case s:
41
+ return E.chosenLink ? `<a style="${e(t.link)}" target=${E.chosenLink.openInNewTab ? "_blank" : "_self"} href="${a(E.chosenLink.searchResult.link)}">${r}</a>` : `<a style="${e(t.link)}" href="${a(E.url)}">${r}</a>`;
42
+ case h:
42
43
  return `<input type="checkbox"/><label>${r}</label>`;
43
44
  default:
44
45
  return r;
45
46
  }
46
47
  };
47
48
  export {
48
- _ as serializeNodeToHtmlRecursive
49
+ N as serializeNodeToHtmlRecursive
49
50
  };
50
51
  //# sourceMappingURL=serializeNodeToHtmlRecursive.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"serializeNodeToHtmlRecursive.es.js","sources":["../../../../../src/components/RichTextEditor/serializer/utils/serializeNodeToHtmlRecursive.ts"],"sourcesContent":["import { LINK_CLASSES, OL_CLASSES, UL_CLASSES } from '@components/RichTextEditor/components';\nimport { ELEMENT_CHECK_ITEM } from '../../EditorActions/Plugins/CheckboxListPlugin/id';\nimport { DesignTokens } from '@components/RichTextEditor/types';\nimport { TextStyles } from '@components/RichTextEditor/utils/textStyles';\nimport { ELEMENT_LI, ELEMENT_LINK, ELEMENT_OL, ELEMENT_PARAGRAPH, ELEMENT_UL, TDescendant } from '@udecode/plate';\nimport escapeHtml from 'escape-html';\nimport { reactCssPropsToCss } from './reactCssPropsToCss';\nimport { serializeLeafToHtml } from './serializeLeafToHtml';\n\nexport const serializeNodeToHtmlRecursive = (node: TDescendant, designTokens: DesignTokens): string => {\n if (!node.children) {\n return serializeLeafToHtml(node);\n }\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 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 return `<a class=\"${LINK_CLASSES}\" target=${\n node.chosenLink.openInNewTab ? '_blank' : '_self'\n } href=\"${escapeHtml(node.chosenLink.searchResult.link)}\">${children}</a>`;\n }\n return `<a class=\"${LINK_CLASSES}\" 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":["escapeHtml"],"mappings":";;;;;;;;;;;AASa,MAAA,IAA+B,CAAC,GAAmB,MAAuC;AAC/F,MAAA,CAAC,EAAK;AACN,WAAO,EAAoB,CAAI;AAGnC,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;AACD,aAAO,MAAM;AAAA,SACZ;AACD,aAAO,cAAc,MAAe;AAAA,SACnC;AACD,aAAO,cAAc,MAAe;AAAA,SACnC;AACD,aAAO,OAAO;AAAA,SACb;AACD,aAAI,EAAK,aACE,aAAa,aAChB,EAAK,WAAW,eAAe,WAAW,iBACpCA,EAAW,EAAK,WAAW,aAAa,IAAI,MAAM,UAEzD,aAAa,YAAuBA,EAAW,EAAK,GAAG,MAAM;AAAA,SACnE;AACD,aAAO,kCAAkC;AAAA;AAGlC,aAAA;AAAA;AAEnB;"}
1
+ {"version":3,"file":"serializeNodeToHtmlRecursive.es.js","sources":["../../../../../src/components/RichTextEditor/serializer/utils/serializeNodeToHtmlRecursive.ts"],"sourcesContent":["import { OL_CLASSES, UL_CLASSES } from '@components/RichTextEditor/components';\nimport { ELEMENT_CHECK_ITEM } from '../../EditorActions/Plugins/CheckboxListPlugin/id';\nimport { DesignTokens } from '@components/RichTextEditor/types';\nimport { TextStyles } from '@components/RichTextEditor/utils/textStyles';\nimport { ELEMENT_LI, ELEMENT_LINK, ELEMENT_OL, ELEMENT_PARAGRAPH, ELEMENT_UL, TDescendant } from '@udecode/plate';\nimport escapeHtml from 'escape-html';\nimport { reactCssPropsToCss } from './reactCssPropsToCss';\nimport { serializeLeafToHtml } from './serializeLeafToHtml';\n\nexport const serializeNodeToHtmlRecursive = (node: TDescendant, designTokens: DesignTokens): string => {\n if (!node.children) {\n return serializeLeafToHtml(node);\n }\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 return `<a style=\"${reactCssPropsToCss(designTokens.link)}\" target=${\n node.chosenLink.openInNewTab ? '_blank' : '_self'\n } href=\"${escapeHtml(node.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":["escapeHtml"],"mappings":";;;;;;;;;;AASa,MAAA,IAA+B,CAAC,GAAmB,MAAuC;AAC/F,MAAA,CAAC,EAAK;AACN,WAAO,EAAoB,CAAI;AAGnC,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,aAAI,EAAK,aACE,aAAa,EAAmB,EAAa,IAAI,aACpD,EAAK,WAAW,eAAe,WAAW,iBACpCA,EAAW,EAAK,WAAW,aAAa,IAAI,MAAM,UAEzD,aAAa,EAAmB,EAAa,IAAI,YAAYA,EAAW,EAAK,GAAG,MAAM;AAAA,SAC5F;AACD,aAAO,kCAAkC;AAAA;AAGlC,aAAA;AAAA;AAEnB;"}
@@ -1,4 +1,4 @@
1
- const e = {
1
+ const t = {
2
2
  heading1: {
3
3
  fontSize: "48px",
4
4
  fontWeight: 700
@@ -23,9 +23,19 @@ const e = {
23
23
  custom3: {
24
24
  fontSize: "14px",
25
25
  textDecoration: "underline"
26
+ },
27
+ quote: {
28
+ fontSize: "16px",
29
+ fontStyle: "italic"
30
+ },
31
+ link: {
32
+ fontSize: "14px",
33
+ color: "rgb(113, 89, 215)",
34
+ textDecoration: "underline",
35
+ cursor: "pointer"
26
36
  }
27
37
  };
28
38
  export {
29
- e as defaultDesignTokens
39
+ t as defaultDesignTokens
30
40
  };
31
41
  //# sourceMappingURL=defaultDesignTokens.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"defaultDesignTokens.es.js","sources":["../../../../src/components/RichTextEditor/utils/defaultDesignTokens.ts"],"sourcesContent":["import { DesignTokens } from '../types';\n\nexport const defaultDesignTokens: DesignTokens = {\n heading1: {\n fontSize: '48px',\n fontWeight: 700,\n },\n heading2: {\n fontSize: '32px',\n fontWeight: 700,\n },\n heading3: {\n fontSize: '24px',\n },\n heading4: {\n fontSize: '18px',\n },\n custom1: {\n fontSize: '14px',\n },\n custom2: {\n fontSize: '14px',\n fontWeight: 600,\n },\n custom3: {\n fontSize: '14px',\n textDecoration: 'underline',\n },\n};\n"],"names":[],"mappings":"AAEO,MAAM,IAAoC;AAAA,EAC7C,UAAU;AAAA,IACN,UAAU;AAAA,IACV,YAAY;AAAA,EAChB;AAAA,EACA,UAAU;AAAA,IACN,UAAU;AAAA,IACV,YAAY;AAAA,EAChB;AAAA,EACA,UAAU;AAAA,IACN,UAAU;AAAA,EACd;AAAA,EACA,UAAU;AAAA,IACN,UAAU;AAAA,EACd;AAAA,EACA,SAAS;AAAA,IACL,UAAU;AAAA,EACd;AAAA,EACA,SAAS;AAAA,IACL,UAAU;AAAA,IACV,YAAY;AAAA,EAChB;AAAA,EACA,SAAS;AAAA,IACL,UAAU;AAAA,IACV,gBAAgB;AAAA,EACpB;AACJ;"}
1
+ {"version":3,"file":"defaultDesignTokens.es.js","sources":["../../../../src/components/RichTextEditor/utils/defaultDesignTokens.ts"],"sourcesContent":["import { DesignTokens } from '../types';\n\nexport const defaultDesignTokens: DesignTokens = {\n heading1: {\n fontSize: '48px',\n fontWeight: 700,\n },\n heading2: {\n fontSize: '32px',\n fontWeight: 700,\n },\n heading3: {\n fontSize: '24px',\n },\n heading4: {\n fontSize: '18px',\n },\n custom1: {\n fontSize: '14px',\n },\n custom2: {\n fontSize: '14px',\n fontWeight: 600,\n },\n custom3: {\n fontSize: '14px',\n textDecoration: 'underline',\n },\n quote: {\n fontSize: '16px',\n fontStyle: 'italic',\n },\n link: {\n fontSize: '14px',\n color: 'rgb(113, 89, 215)',\n textDecoration: 'underline',\n cursor: 'pointer',\n },\n};\n"],"names":[],"mappings":"AAEO,MAAM,IAAoC;AAAA,EAC7C,UAAU;AAAA,IACN,UAAU;AAAA,IACV,YAAY;AAAA,EAChB;AAAA,EACA,UAAU;AAAA,IACN,UAAU;AAAA,IACV,YAAY;AAAA,EAChB;AAAA,EACA,UAAU;AAAA,IACN,UAAU;AAAA,EACd;AAAA,EACA,UAAU;AAAA,IACN,UAAU;AAAA,EACd;AAAA,EACA,SAAS;AAAA,IACL,UAAU;AAAA,EACd;AAAA,EACA,SAAS;AAAA,IACL,UAAU;AAAA,IACV,YAAY;AAAA,EAChB;AAAA,EACA,SAAS;AAAA,IACL,UAAU;AAAA,IACV,gBAAgB;AAAA,EACpB;AAAA,EACA,OAAO;AAAA,IACH,UAAU;AAAA,IACV,WAAW;AAAA,EACf;AAAA,EACA,MAAM;AAAA,IACF,UAAU;AAAA,IACV,OAAO;AAAA,IACP,gBAAgB;AAAA,IAChB,QAAQ;AAAA,EACZ;AACJ;"}
@@ -1,31 +1,32 @@
1
- import { createPluginFactory as t, createPlateUI as s, ELEMENT_LINK as u, ELEMENT_UL as N, ELEMENT_OL as p, ELEMENT_LI as d, ELEMENT_LIC as L, MARK_BOLD as M, MARK_ITALIC as g, MARK_UNDERLINE as T, MARK_STRIKETHROUGH as H, MARK_CODE as P, createPlugins as _, createSoftBreakPlugin as f, createAlignPlugin as C, ELEMENT_PARAGRAPH as I, createIndentPlugin as k, createParagraphPlugin as A, createCodeBlockPlugin as U, createListPlugin as h, createBoldPlugin as y, createItalicPlugin as D, createUnderlinePlugin as G, createStrikethroughPlugin as O, createCodePlugin as R } from "@udecode/plate";
2
- import { BoldMark as S } from "../components/bold.es.js";
3
- import { CodeMark as K } from "../components/code.es.js";
4
- import { Custom1Element as v } from "../components/custom1.es.js";
5
- import { Custom2Element as B } from "../components/custom2.es.js";
6
- import { Custom3Element as x } from "../components/custom3.es.js";
7
- import { Heading1Element as z } from "../components/heading1.es.js";
1
+ import { createPluginFactory as t, createPlateUI as s, ELEMENT_LINK as p, ELEMENT_UL as N, ELEMENT_OL as L, ELEMENT_LI as M, ELEMENT_LIC as d, MARK_BOLD as g, MARK_ITALIC as T, MARK_UNDERLINE as H, MARK_STRIKETHROUGH as P, MARK_CODE as _, createPlugins as f, createSoftBreakPlugin as C, createAlignPlugin as k, ELEMENT_PARAGRAPH as I, createIndentPlugin as A, createParagraphPlugin as U, createCodeBlockPlugin as y, createListPlugin as h, createBoldPlugin as D, createItalicPlugin as O, createUnderlinePlugin as G, createStrikethroughPlugin as R, createCodePlugin as S } from "@udecode/plate";
2
+ import { BoldMark as K } from "../components/bold.es.js";
3
+ import { CodeMark as v } from "../components/code.es.js";
4
+ import { Custom1Element as B } from "../components/custom1.es.js";
5
+ import { Custom2Element as x } from "../components/custom2.es.js";
6
+ import { Custom3Element as z } from "../components/custom3.es.js";
7
+ import { Heading1Element as Q } from "../components/heading1.es.js";
8
8
  import { Heading2Element as b } from "../components/heading2.es.js";
9
9
  import { Heading3Element as j } from "../components/heading3.es.js";
10
10
  import { Heading4Element as F } from "../components/heading4.es.js";
11
11
  import { ItalicMark as q } from "../components/italic.es.js";
12
12
  import { LinkMarkupElementNode as w } from "../EditorActions/Plugins/LinkPlugin/LinkMarkupElement/LinkMarkupElementNode.es.js";
13
13
  import { ListItemElement as J } from "../components/list-item.es.js";
14
- import { ListItemContentElement as Q } from "../components/list-item-content.es.js";
15
- import { OrderedListElement as V } from "../components/ordered-list.es.js";
16
- import { StrikethroughMark as W } from "../components/strikethrough.es.js";
17
- import { UnderlineMark as X } from "../components/underline.es.js";
18
- import { UnorderedListElement as Y } from "../components/unordered-list.es.js";
19
- import { createCheckboxListPlugin as Z } from "../EditorActions/Plugins/CheckboxListPlugin/index.es.js";
14
+ import { ListItemContentElement as V } from "../components/list-item-content.es.js";
15
+ import { OrderedListElement as W } from "../components/ordered-list.es.js";
16
+ import { StrikethroughMark as X } from "../components/strikethrough.es.js";
17
+ import { UnderlineMark as Y } from "../components/underline.es.js";
18
+ import { UnorderedListElement as Z } from "../components/unordered-list.es.js";
19
+ import { createCheckboxListPlugin as $ } from "../EditorActions/Plugins/CheckboxListPlugin/index.es.js";
20
20
  import { ELEMENT_CHECK_ITEM as r } from "../EditorActions/Plugins/CheckboxListPlugin/id.es.js";
21
- import { CheckboxListElementNode as $ } from "../EditorActions/Plugins/CheckboxListPlugin/CheckboxListElement.es.js";
22
- import { createLinkPlugin as ee } from "../EditorActions/Plugins/LinkPlugin/index.es.js";
21
+ import { CheckboxListElementNode as ee } from "../EditorActions/Plugins/CheckboxListPlugin/CheckboxListElement.es.js";
22
+ import { createLinkPlugin as te } from "../EditorActions/Plugins/LinkPlugin/index.es.js";
23
23
  import { TextStyles as e } from "./textStyles.es.js";
24
- const Ce = () => {
24
+ import { QuoteElement as re } from "../components/quote.es.js";
25
+ const Ae = () => {
25
26
  const o = t({
26
27
  key: e.ELEMENT_HEADING1,
27
28
  isElement: !0,
28
- component: z,
29
+ component: Q,
29
30
  deserializeHtml: {
30
31
  rules: [{ validNodeName: ["h1", "H1"] }]
31
32
  }
@@ -53,31 +54,35 @@ const Ce = () => {
53
54
  }), m = t({
54
55
  key: e.ELEMENT_CUSTOM1,
55
56
  isElement: !0,
56
- component: v
57
+ component: B
57
58
  }), l = t({
58
59
  key: e.ELEMENT_CUSTOM2,
59
60
  isElement: !0,
60
- component: B
61
+ component: x
61
62
  }), a = t({
62
63
  key: e.ELEMENT_CUSTOM3,
63
64
  isElement: !0,
64
- component: x
65
- }), c = s({
66
- [u]: w,
67
- [N]: Y,
68
- [p]: V,
69
- [d]: J,
70
- [L]: Q,
71
- [M]: S,
72
- [g]: q,
73
- [T]: X,
74
- [H]: W,
75
- [P]: K,
76
- [r]: $
65
+ component: z
66
+ }), c = t({
67
+ key: e.ELEMENT_QUOTE,
68
+ isElement: !0,
69
+ component: re
70
+ }), u = s({
71
+ [p]: w,
72
+ [N]: Z,
73
+ [L]: W,
74
+ [M]: J,
75
+ [d]: V,
76
+ [g]: K,
77
+ [T]: q,
78
+ [H]: Y,
79
+ [P]: X,
80
+ [_]: v,
81
+ [r]: ee
77
82
  });
78
- return _([
79
- f(),
80
- C({
83
+ return f([
84
+ C(),
85
+ k({
81
86
  inject: {
82
87
  props: {
83
88
  validTypes: [
@@ -92,35 +97,36 @@ const Ce = () => {
92
97
  }
93
98
  }
94
99
  }),
95
- k({
100
+ A({
96
101
  inject: {
97
102
  props: {
98
103
  validTypes: [r]
99
104
  }
100
105
  }
101
106
  }),
102
- A(),
103
107
  U(),
104
- h(),
105
- Z(),
106
- ee(),
107
108
  y(),
109
+ h(),
110
+ $(),
111
+ te(),
108
112
  D(),
109
- G(),
110
113
  O(),
114
+ G(),
111
115
  R(),
116
+ S(),
112
117
  o(),
113
118
  E(),
114
119
  i(),
115
120
  n(),
116
121
  m(),
117
122
  l(),
118
- a()
123
+ a(),
124
+ c()
119
125
  ], {
120
- components: c
126
+ components: u
121
127
  });
122
128
  };
123
129
  export {
124
- Ce as getEditorConfig
130
+ Ae as getEditorConfig
125
131
  };
126
132
  //# sourceMappingURL=editorConfig.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"editorConfig.es.js","sources":["../../../../src/components/RichTextEditor/utils/editorConfig.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport {\n ELEMENT_LI,\n ELEMENT_LIC,\n ELEMENT_LINK,\n ELEMENT_OL,\n ELEMENT_PARAGRAPH,\n ELEMENT_UL,\n MARK_BOLD,\n MARK_CODE,\n MARK_ITALIC,\n MARK_STRIKETHROUGH,\n MARK_UNDERLINE,\n createAlignPlugin,\n createBoldPlugin,\n createCodeBlockPlugin,\n createCodePlugin,\n createIndentPlugin,\n createItalicPlugin,\n createListPlugin,\n createParagraphPlugin,\n createPlateUI,\n createPluginFactory,\n createPlugins,\n createSoftBreakPlugin,\n createStrikethroughPlugin,\n createUnderlinePlugin,\n} from '@udecode/plate';\nimport {\n BoldMark,\n CodeMark,\n Custom1Element,\n Custom2Element,\n Custom3Element,\n Heading1Element,\n Heading2Element,\n Heading3Element,\n Heading4Element,\n ItalicMark,\n LinkMarkupElementNode,\n ListItemContentElement,\n ListItemElement,\n OrderedListElement,\n StrikethroughMark,\n UnderlineMark,\n UnorderedListElement,\n} from '../components';\nimport { createCheckboxListPlugin } from '../EditorActions/Plugins/CheckboxListPlugin/index';\nimport { ELEMENT_CHECK_ITEM } from '../EditorActions/Plugins/CheckboxListPlugin/id';\nimport { CheckboxListElementNode } from '../EditorActions/Plugins/CheckboxListPlugin/CheckboxListElement';\nimport { createLinkPlugin } from '../EditorActions/Plugins/LinkPlugin';\nimport { TextStyles } from './textStyles';\n\nexport const getEditorConfig = () => {\n const createHeading1Plugin = createPluginFactory({\n key: TextStyles.ELEMENT_HEADING1,\n isElement: true,\n component: Heading1Element,\n deserializeHtml: {\n rules: [{ validNodeName: ['h1', 'H1'] }],\n },\n });\n\n const createHeading2Plugin = createPluginFactory({\n key: TextStyles.ELEMENT_HEADING2,\n isElement: true,\n component: Heading2Element,\n deserializeHtml: {\n rules: [{ validNodeName: ['h2', 'H2'] }],\n },\n });\n\n const createHeading3Plugin = createPluginFactory({\n key: TextStyles.ELEMENT_HEADING3,\n isElement: true,\n component: Heading3Element,\n deserializeHtml: {\n rules: [{ validNodeName: ['h3', 'H3'] }],\n },\n });\n\n const createHeading4Plugin = createPluginFactory({\n key: TextStyles.ELEMENT_HEADING4,\n isElement: true,\n component: Heading4Element,\n deserializeHtml: {\n rules: [{ validNodeName: ['h4', 'H4'] }],\n },\n });\n\n const createCustom1Plugin = createPluginFactory({\n key: TextStyles.ELEMENT_CUSTOM1,\n isElement: true,\n component: Custom1Element,\n });\n\n const createCustom2Plugin = createPluginFactory({\n key: TextStyles.ELEMENT_CUSTOM2,\n isElement: true,\n component: Custom2Element,\n });\n\n const createCustom3Plugin = createPluginFactory({\n key: TextStyles.ELEMENT_CUSTOM3,\n isElement: true,\n component: Custom3Element,\n });\n\n const components = createPlateUI({\n // this will override the components over the default ones\n [ELEMENT_LINK]: LinkMarkupElementNode,\n [ELEMENT_UL]: UnorderedListElement,\n [ELEMENT_OL]: OrderedListElement,\n [ELEMENT_LI]: ListItemElement,\n [ELEMENT_LIC]: ListItemContentElement,\n [MARK_BOLD]: BoldMark,\n [MARK_ITALIC]: ItalicMark,\n [MARK_UNDERLINE]: UnderlineMark,\n [MARK_STRIKETHROUGH]: StrikethroughMark,\n [MARK_CODE]: CodeMark,\n [ELEMENT_CHECK_ITEM]: CheckboxListElementNode,\n });\n\n return createPlugins(\n [\n createSoftBreakPlugin(),\n createAlignPlugin({\n inject: {\n props: {\n validTypes: [\n ELEMENT_PARAGRAPH,\n TextStyles.ELEMENT_HEADING1,\n TextStyles.ELEMENT_HEADING2,\n TextStyles.ELEMENT_HEADING3,\n TextStyles.ELEMENT_HEADING4,\n TextStyles.ELEMENT_CUSTOM1,\n TextStyles.ELEMENT_CUSTOM2,\n ],\n },\n },\n }),\n createIndentPlugin({\n inject: {\n props: {\n validTypes: [ELEMENT_CHECK_ITEM],\n },\n },\n }),\n createParagraphPlugin(),\n createCodeBlockPlugin(),\n createListPlugin(),\n createCheckboxListPlugin(),\n createLinkPlugin(),\n createBoldPlugin(),\n createItalicPlugin(),\n createUnderlinePlugin(),\n createStrikethroughPlugin(),\n createCodePlugin(),\n createHeading1Plugin(),\n createHeading2Plugin(),\n createHeading3Plugin(),\n createHeading4Plugin(),\n createCustom1Plugin(),\n createCustom2Plugin(),\n createCustom3Plugin(),\n ],\n {\n components,\n },\n );\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAsDO,MAAM,KAAkB,MAAM;AACjC,QAAM,IAAuB,EAAoB;AAAA,IAC7C,KAAK,EAAW;AAAA,IAChB,WAAW;AAAA,IACX,WAAW;AAAA,IACX,iBAAiB;AAAA,MACb,OAAO,CAAC,EAAE,eAAe,CAAC,MAAM,IAAI,GAAG;AAAA,IAC3C;AAAA,EAAA,CACH,GAEK,IAAuB,EAAoB;AAAA,IAC7C,KAAK,EAAW;AAAA,IAChB,WAAW;AAAA,IACX,WAAW;AAAA,IACX,iBAAiB;AAAA,MACb,OAAO,CAAC,EAAE,eAAe,CAAC,MAAM,IAAI,GAAG;AAAA,IAC3C;AAAA,EAAA,CACH,GAEK,IAAuB,EAAoB;AAAA,IAC7C,KAAK,EAAW;AAAA,IAChB,WAAW;AAAA,IACX,WAAW;AAAA,IACX,iBAAiB;AAAA,MACb,OAAO,CAAC,EAAE,eAAe,CAAC,MAAM,IAAI,GAAG;AAAA,IAC3C;AAAA,EAAA,CACH,GAEK,IAAuB,EAAoB;AAAA,IAC7C,KAAK,EAAW;AAAA,IAChB,WAAW;AAAA,IACX,WAAW;AAAA,IACX,iBAAiB;AAAA,MACb,OAAO,CAAC,EAAE,eAAe,CAAC,MAAM,IAAI,GAAG;AAAA,IAC3C;AAAA,EAAA,CACH,GAEK,IAAsB,EAAoB;AAAA,IAC5C,KAAK,EAAW;AAAA,IAChB,WAAW;AAAA,IACX,WAAW;AAAA,EAAA,CACd,GAEK,IAAsB,EAAoB;AAAA,IAC5C,KAAK,EAAW;AAAA,IAChB,WAAW;AAAA,IACX,WAAW;AAAA,EAAA,CACd,GAEK,IAAsB,EAAoB;AAAA,IAC5C,KAAK,EAAW;AAAA,IAChB,WAAW;AAAA,IACX,WAAW;AAAA,EAAA,CACd,GAEK,IAAa,EAAc;AAAA,IAE7B,CAAC,IAAe;AAAA,IAChB,CAAC,IAAa;AAAA,IACd,CAAC,IAAa;AAAA,IACd,CAAC,IAAa;AAAA,IACd,CAAC,IAAc;AAAA,IACf,CAAC,IAAY;AAAA,IACb,CAAC,IAAc;AAAA,IACf,CAAC,IAAiB;AAAA,IAClB,CAAC,IAAqB;AAAA,IACtB,CAAC,IAAY;AAAA,IACb,CAAC,IAAqB;AAAA,EAAA,CACzB;AAED,SAAO,EACH;AAAA,IACI,EAAsB;AAAA,IACtB,EAAkB;AAAA,MACd,QAAQ;AAAA,QACJ,OAAO;AAAA,UACH,YAAY;AAAA,YACR;AAAA,YACA,EAAW;AAAA,YACX,EAAW;AAAA,YACX,EAAW;AAAA,YACX,EAAW;AAAA,YACX,EAAW;AAAA,YACX,EAAW;AAAA,UACf;AAAA,QACJ;AAAA,MACJ;AAAA,IAAA,CACH;AAAA,IACD,EAAmB;AAAA,MACf,QAAQ;AAAA,QACJ,OAAO;AAAA,UACH,YAAY,CAAC,CAAkB;AAAA,QACnC;AAAA,MACJ;AAAA,IAAA,CACH;AAAA,IACD,EAAsB;AAAA,IACtB,EAAsB;AAAA,IACtB,EAAiB;AAAA,IACjB,EAAyB;AAAA,IACzB,GAAiB;AAAA,IACjB,EAAiB;AAAA,IACjB,EAAmB;AAAA,IACnB,EAAsB;AAAA,IACtB,EAA0B;AAAA,IAC1B,EAAiB;AAAA,IACjB,EAAqB;AAAA,IACrB,EAAqB;AAAA,IACrB,EAAqB;AAAA,IACrB,EAAqB;AAAA,IACrB,EAAoB;AAAA,IACpB,EAAoB;AAAA,IACpB,EAAoB;AAAA,EAAA,GAExB;AAAA,IACI;AAAA,EAAA,CAER;AACJ;"}
1
+ {"version":3,"file":"editorConfig.es.js","sources":["../../../../src/components/RichTextEditor/utils/editorConfig.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport {\n ELEMENT_LI,\n ELEMENT_LIC,\n ELEMENT_LINK,\n ELEMENT_OL,\n ELEMENT_PARAGRAPH,\n ELEMENT_UL,\n MARK_BOLD,\n MARK_CODE,\n MARK_ITALIC,\n MARK_STRIKETHROUGH,\n MARK_UNDERLINE,\n createAlignPlugin,\n createBoldPlugin,\n createCodeBlockPlugin,\n createCodePlugin,\n createIndentPlugin,\n createItalicPlugin,\n createListPlugin,\n createParagraphPlugin,\n createPlateUI,\n createPluginFactory,\n createPlugins,\n createSoftBreakPlugin,\n createStrikethroughPlugin,\n createUnderlinePlugin,\n} from '@udecode/plate';\nimport {\n BoldMark,\n CodeMark,\n Custom1Element,\n Custom2Element,\n Custom3Element,\n Heading1Element,\n Heading2Element,\n Heading3Element,\n Heading4Element,\n ItalicMark,\n LinkMarkupElementNode,\n ListItemContentElement,\n ListItemElement,\n OrderedListElement,\n StrikethroughMark,\n UnderlineMark,\n UnorderedListElement,\n} from '../components';\nimport { createCheckboxListPlugin } from '../EditorActions/Plugins/CheckboxListPlugin/index';\nimport { ELEMENT_CHECK_ITEM } from '../EditorActions/Plugins/CheckboxListPlugin/id';\nimport { CheckboxListElementNode } from '../EditorActions/Plugins/CheckboxListPlugin/CheckboxListElement';\nimport { createLinkPlugin } from '../EditorActions/Plugins/LinkPlugin';\nimport { TextStyles } from './textStyles';\nimport { QuoteElement } from '../components/quote';\n\nexport const getEditorConfig = () => {\n const createHeading1Plugin = createPluginFactory({\n key: TextStyles.ELEMENT_HEADING1,\n isElement: true,\n component: Heading1Element,\n deserializeHtml: {\n rules: [{ validNodeName: ['h1', 'H1'] }],\n },\n });\n\n const createHeading2Plugin = createPluginFactory({\n key: TextStyles.ELEMENT_HEADING2,\n isElement: true,\n component: Heading2Element,\n deserializeHtml: {\n rules: [{ validNodeName: ['h2', 'H2'] }],\n },\n });\n\n const createHeading3Plugin = createPluginFactory({\n key: TextStyles.ELEMENT_HEADING3,\n isElement: true,\n component: Heading3Element,\n deserializeHtml: {\n rules: [{ validNodeName: ['h3', 'H3'] }],\n },\n });\n\n const createHeading4Plugin = createPluginFactory({\n key: TextStyles.ELEMENT_HEADING4,\n isElement: true,\n component: Heading4Element,\n deserializeHtml: {\n rules: [{ validNodeName: ['h4', 'H4'] }],\n },\n });\n\n const createCustom1Plugin = createPluginFactory({\n key: TextStyles.ELEMENT_CUSTOM1,\n isElement: true,\n component: Custom1Element,\n });\n\n const createCustom2Plugin = createPluginFactory({\n key: TextStyles.ELEMENT_CUSTOM2,\n isElement: true,\n component: Custom2Element,\n });\n\n const createCustom3Plugin = createPluginFactory({\n key: TextStyles.ELEMENT_CUSTOM3,\n isElement: true,\n component: Custom3Element,\n });\n\n const createQuotePlugin = createPluginFactory({\n key: TextStyles.ELEMENT_QUOTE,\n isElement: true,\n component: QuoteElement,\n });\n\n const components = createPlateUI({\n // this will override the components over the default ones\n [ELEMENT_LINK]: LinkMarkupElementNode,\n [ELEMENT_UL]: UnorderedListElement,\n [ELEMENT_OL]: OrderedListElement,\n [ELEMENT_LI]: ListItemElement,\n [ELEMENT_LIC]: ListItemContentElement,\n [MARK_BOLD]: BoldMark,\n [MARK_ITALIC]: ItalicMark,\n [MARK_UNDERLINE]: UnderlineMark,\n [MARK_STRIKETHROUGH]: StrikethroughMark,\n [MARK_CODE]: CodeMark,\n [ELEMENT_CHECK_ITEM]: CheckboxListElementNode,\n });\n\n return createPlugins(\n [\n createSoftBreakPlugin(),\n createAlignPlugin({\n inject: {\n props: {\n validTypes: [\n ELEMENT_PARAGRAPH,\n TextStyles.ELEMENT_HEADING1,\n TextStyles.ELEMENT_HEADING2,\n TextStyles.ELEMENT_HEADING3,\n TextStyles.ELEMENT_HEADING4,\n TextStyles.ELEMENT_CUSTOM1,\n TextStyles.ELEMENT_CUSTOM2,\n ],\n },\n },\n }),\n createIndentPlugin({\n inject: {\n props: {\n validTypes: [ELEMENT_CHECK_ITEM],\n },\n },\n }),\n createParagraphPlugin(),\n createCodeBlockPlugin(),\n createListPlugin(),\n createCheckboxListPlugin(),\n createLinkPlugin(),\n createBoldPlugin(),\n createItalicPlugin(),\n createUnderlinePlugin(),\n createStrikethroughPlugin(),\n createCodePlugin(),\n createHeading1Plugin(),\n createHeading2Plugin(),\n createHeading3Plugin(),\n createHeading4Plugin(),\n createCustom1Plugin(),\n createCustom2Plugin(),\n createCustom3Plugin(),\n createQuotePlugin(),\n ],\n {\n components,\n },\n );\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAuDO,MAAM,KAAkB,MAAM;AACjC,QAAM,IAAuB,EAAoB;AAAA,IAC7C,KAAK,EAAW;AAAA,IAChB,WAAW;AAAA,IACX,WAAW;AAAA,IACX,iBAAiB;AAAA,MACb,OAAO,CAAC,EAAE,eAAe,CAAC,MAAM,IAAI,GAAG;AAAA,IAC3C;AAAA,EAAA,CACH,GAEK,IAAuB,EAAoB;AAAA,IAC7C,KAAK,EAAW;AAAA,IAChB,WAAW;AAAA,IACX,WAAW;AAAA,IACX,iBAAiB;AAAA,MACb,OAAO,CAAC,EAAE,eAAe,CAAC,MAAM,IAAI,GAAG;AAAA,IAC3C;AAAA,EAAA,CACH,GAEK,IAAuB,EAAoB;AAAA,IAC7C,KAAK,EAAW;AAAA,IAChB,WAAW;AAAA,IACX,WAAW;AAAA,IACX,iBAAiB;AAAA,MACb,OAAO,CAAC,EAAE,eAAe,CAAC,MAAM,IAAI,GAAG;AAAA,IAC3C;AAAA,EAAA,CACH,GAEK,IAAuB,EAAoB;AAAA,IAC7C,KAAK,EAAW;AAAA,IAChB,WAAW;AAAA,IACX,WAAW;AAAA,IACX,iBAAiB;AAAA,MACb,OAAO,CAAC,EAAE,eAAe,CAAC,MAAM,IAAI,GAAG;AAAA,IAC3C;AAAA,EAAA,CACH,GAEK,IAAsB,EAAoB;AAAA,IAC5C,KAAK,EAAW;AAAA,IAChB,WAAW;AAAA,IACX,WAAW;AAAA,EAAA,CACd,GAEK,IAAsB,EAAoB;AAAA,IAC5C,KAAK,EAAW;AAAA,IAChB,WAAW;AAAA,IACX,WAAW;AAAA,EAAA,CACd,GAEK,IAAsB,EAAoB;AAAA,IAC5C,KAAK,EAAW;AAAA,IAChB,WAAW;AAAA,IACX,WAAW;AAAA,EAAA,CACd,GAEK,IAAoB,EAAoB;AAAA,IAC1C,KAAK,EAAW;AAAA,IAChB,WAAW;AAAA,IACX,WAAW;AAAA,EAAA,CACd,GAEK,IAAa,EAAc;AAAA,IAE7B,CAAC,IAAe;AAAA,IAChB,CAAC,IAAa;AAAA,IACd,CAAC,IAAa;AAAA,IACd,CAAC,IAAa;AAAA,IACd,CAAC,IAAc;AAAA,IACf,CAAC,IAAY;AAAA,IACb,CAAC,IAAc;AAAA,IACf,CAAC,IAAiB;AAAA,IAClB,CAAC,IAAqB;AAAA,IACtB,CAAC,IAAY;AAAA,IACb,CAAC,IAAqB;AAAA,EAAA,CACzB;AAED,SAAO,EACH;AAAA,IACI,EAAsB;AAAA,IACtB,EAAkB;AAAA,MACd,QAAQ;AAAA,QACJ,OAAO;AAAA,UACH,YAAY;AAAA,YACR;AAAA,YACA,EAAW;AAAA,YACX,EAAW;AAAA,YACX,EAAW;AAAA,YACX,EAAW;AAAA,YACX,EAAW;AAAA,YACX,EAAW;AAAA,UACf;AAAA,QACJ;AAAA,MACJ;AAAA,IAAA,CACH;AAAA,IACD,EAAmB;AAAA,MACf,QAAQ;AAAA,QACJ,OAAO;AAAA,UACH,YAAY,CAAC,CAAkB;AAAA,QACnC;AAAA,MACJ;AAAA,IAAA,CACH;AAAA,IACD,EAAsB;AAAA,IACtB,EAAsB;AAAA,IACtB,EAAiB;AAAA,IACjB,EAAyB;AAAA,IACzB,GAAiB;AAAA,IACjB,EAAiB;AAAA,IACjB,EAAmB;AAAA,IACnB,EAAsB;AAAA,IACtB,EAA0B;AAAA,IAC1B,EAAiB;AAAA,IACjB,EAAqB;AAAA,IACrB,EAAqB;AAAA,IACrB,EAAqB;AAAA,IACrB,EAAqB;AAAA,IACrB,EAAoB;AAAA,IACpB,EAAoB;AAAA,IACpB,EAAoB;AAAA,IACpB,EAAkB;AAAA,EAAA,GAEtB;AAAA,IACI;AAAA,EAAA,CAER;AACJ;"}
@@ -6,6 +6,8 @@ export declare enum TextStyles {
6
6
  ELEMENT_CUSTOM1 = "custom1",
7
7
  ELEMENT_CUSTOM2 = "custom2",
8
8
  ELEMENT_CUSTOM3 = "custom3",
9
+ ELEMENT_QUOTE = "quote",
10
+ ELEMENT_LINK = "link",
9
11
  ELEMENT_PARAGRAPH = "p"
10
12
  }
11
13
  export declare const textStyleTitles: Record<TextStyles, string>;
@@ -1,5 +1,5 @@
1
- var a = /* @__PURE__ */ ((E) => (E.ELEMENT_HEADING1 = "heading1", E.ELEMENT_HEADING2 = "heading2", E.ELEMENT_HEADING3 = "heading3", E.ELEMENT_HEADING4 = "heading4", E.ELEMENT_CUSTOM1 = "custom1", E.ELEMENT_CUSTOM2 = "custom2", E.ELEMENT_CUSTOM3 = "custom3", E.ELEMENT_PARAGRAPH = "p", E))(a || {});
2
- const n = {
1
+ var n = /* @__PURE__ */ ((E) => (E.ELEMENT_HEADING1 = "heading1", E.ELEMENT_HEADING2 = "heading2", E.ELEMENT_HEADING3 = "heading3", E.ELEMENT_HEADING4 = "heading4", E.ELEMENT_CUSTOM1 = "custom1", E.ELEMENT_CUSTOM2 = "custom2", E.ELEMENT_CUSTOM3 = "custom3", E.ELEMENT_QUOTE = "quote", E.ELEMENT_LINK = "link", E.ELEMENT_PARAGRAPH = "p", E))(n || {});
2
+ const a = {
3
3
  heading1: "Heading 1",
4
4
  heading2: "Heading 2",
5
5
  heading3: "Heading 3",
@@ -7,10 +7,12 @@ const n = {
7
7
  custom1: "Custom 01",
8
8
  custom2: "Custom 02",
9
9
  custom3: "Custom 03",
10
+ quote: "Quote",
11
+ link: "Link",
10
12
  p: "Paragraph"
11
13
  };
12
14
  export {
13
- a as TextStyles,
14
- n as textStyleTitles
15
+ n as TextStyles,
16
+ a as textStyleTitles
15
17
  };
16
18
  //# sourceMappingURL=textStyles.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"textStyles.es.js","sources":["../../../../src/components/RichTextEditor/utils/textStyles.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nexport enum TextStyles {\n ELEMENT_HEADING1 = 'heading1',\n ELEMENT_HEADING2 = 'heading2',\n ELEMENT_HEADING3 = 'heading3',\n ELEMENT_HEADING4 = 'heading4',\n ELEMENT_CUSTOM1 = 'custom1',\n ELEMENT_CUSTOM2 = 'custom2',\n ELEMENT_CUSTOM3 = 'custom3',\n ELEMENT_PARAGRAPH = 'p',\n}\n\nexport const textStyleTitles: Record<TextStyles, string> = {\n [TextStyles.ELEMENT_HEADING1]: 'Heading 1',\n [TextStyles.ELEMENT_HEADING2]: 'Heading 2',\n [TextStyles.ELEMENT_HEADING3]: 'Heading 3',\n [TextStyles.ELEMENT_HEADING4]: 'Heading 4',\n [TextStyles.ELEMENT_CUSTOM1]: 'Custom 01',\n [TextStyles.ELEMENT_CUSTOM2]: 'Custom 02',\n [TextStyles.ELEMENT_CUSTOM3]: 'Custom 03',\n [TextStyles.ELEMENT_PARAGRAPH]: 'Paragraph',\n};\n"],"names":[],"mappings":"AAEY,IAAA,sBAAA,MACW,GAAA,mBAAA,YACA,EAAA,mBAAA,YACA,EAAA,mBAAA,YACA,EAAA,mBAAA,YACD,EAAA,kBAAA,WACA,EAAA,kBAAA,WACA,EAAA,kBAAA,WACE,EAAA,oBAAA,KARZ,IAAA,KAAA,CAAA,CAAA;AAWL,MAAM,IAA8C;AAAA,EACvD,AAAC,UAA8B;AAAA,EAC/B,AAAC,UAA8B;AAAA,EAC/B,AAAC,UAA8B;AAAA,EAC/B,AAAC,UAA8B;AAAA,EAC/B,AAAC,SAA6B;AAAA,EAC9B,AAAC,SAA6B;AAAA,EAC9B,AAAC,SAA6B;AAAA,EAC9B,AAAC,GAA+B;AACpC;"}
1
+ {"version":3,"file":"textStyles.es.js","sources":["../../../../src/components/RichTextEditor/utils/textStyles.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nexport enum TextStyles {\n ELEMENT_HEADING1 = 'heading1',\n ELEMENT_HEADING2 = 'heading2',\n ELEMENT_HEADING3 = 'heading3',\n ELEMENT_HEADING4 = 'heading4',\n ELEMENT_CUSTOM1 = 'custom1',\n ELEMENT_CUSTOM2 = 'custom2',\n ELEMENT_CUSTOM3 = 'custom3',\n ELEMENT_QUOTE = 'quote',\n ELEMENT_LINK = 'link',\n ELEMENT_PARAGRAPH = 'p',\n}\n\nexport const textStyleTitles: Record<TextStyles, string> = {\n [TextStyles.ELEMENT_HEADING1]: 'Heading 1',\n [TextStyles.ELEMENT_HEADING2]: 'Heading 2',\n [TextStyles.ELEMENT_HEADING3]: 'Heading 3',\n [TextStyles.ELEMENT_HEADING4]: 'Heading 4',\n [TextStyles.ELEMENT_CUSTOM1]: 'Custom 01',\n [TextStyles.ELEMENT_CUSTOM2]: 'Custom 02',\n [TextStyles.ELEMENT_CUSTOM3]: 'Custom 03',\n [TextStyles.ELEMENT_QUOTE]: 'Quote',\n [TextStyles.ELEMENT_LINK]: 'Link',\n [TextStyles.ELEMENT_PARAGRAPH]: 'Paragraph',\n};\n"],"names":[],"mappings":"AAEY,IAAA,sBAAA,MACW,GAAA,mBAAA,YACA,EAAA,mBAAA,YACA,EAAA,mBAAA,YACA,EAAA,mBAAA,YACD,EAAA,kBAAA,WACA,EAAA,kBAAA,WACA,EAAA,kBAAA,WACF,EAAA,gBAAA,SACD,EAAA,eAAA,QACK,EAAA,oBAAA,KAVZ,IAAA,KAAA,CAAA,CAAA;AAaL,MAAM,IAA8C;AAAA,EACvD,AAAC,UAA8B;AAAA,EAC/B,AAAC,UAA8B;AAAA,EAC/B,AAAC,UAA8B;AAAA,EAC/B,AAAC,UAA8B;AAAA,EAC/B,AAAC,SAA6B;AAAA,EAC9B,AAAC,SAA6B;AAAA,EAC9B,AAAC,SAA6B;AAAA,EAC9B,AAAC,OAA2B;AAAA,EAC5B,AAAC,MAA0B;AAAA,EAC3B,AAAC,GAA+B;AACpC;"}
@@ -4,8 +4,8 @@ import { useMemoizedId as H } from "../../hooks/useMemoizedId.es.js";
4
4
  import { useFocusRing as a } from "@react-aria/focus";
5
5
  import { FOCUS_STYLE as n } from "../../utilities/focusStyle.es.js";
6
6
  import { merge as i } from "../../utilities/merge.es.js";
7
- import { validationClassMap as J, Validation as h } from "../../utilities/validation.es.js";
8
- import t, { useRef as Q, useState as W, useEffect as C } from "react";
7
+ import { validationClassMap as J, Validation as C } from "../../utilities/validation.es.js";
8
+ import t, { useRef as Q, useState as W, useEffect as v } from "react";
9
9
  import "../../foundation/Icon/Generated/IconAdobeCreativeCloud.es.js";
10
10
  import "../../foundation/Icon/Generated/IconAdobeCreativeCloud12.es.js";
11
11
  import "../../foundation/Icon/Generated/IconAdobeCreativeCloud16.es.js";
@@ -1644,48 +1644,50 @@ import "../../foundation/Icon/Generated/IconWorkflowShapes24.es.js";
1644
1644
  import "../../foundation/Icon/Generated/IconWorkflowShapes32.es.js";
1645
1645
  import "../../foundation/Icon/IconsMap.es.js";
1646
1646
  var mt = /* @__PURE__ */ ((m) => (m.Text = "text", m.Password = "password", m.Number = "number", m))(mt || {});
1647
- const jV = ({
1647
+ const LV = ({
1648
1648
  id: m,
1649
1649
  type: s = "text",
1650
1650
  decorator: f,
1651
- validation: d = h.Default,
1652
- clearable: v = !1,
1653
- placeholder: F,
1654
- required: I,
1651
+ validation: d = C.Default,
1652
+ clearable: F = !1,
1653
+ placeholder: I,
1654
+ required: N,
1655
1655
  obfuscated: p,
1656
1656
  disabled: o = !1,
1657
- autocomplete: N = !1,
1658
- dotted: P = !1,
1657
+ autocomplete: P = !1,
1658
+ dotted: V = !1,
1659
1659
  value: w = "",
1660
- copyable: V = !1,
1660
+ copyable: B = !1,
1661
1661
  onChange: c,
1662
1662
  onEnterPressed: x,
1663
- onBlur: B,
1663
+ onBlur: S,
1664
1664
  onClear: k,
1665
- size: O,
1665
+ size: j,
1666
1666
  spellcheck: E,
1667
1667
  readonly: u,
1668
- focusOnMount: S
1668
+ focusOnMount: g
1669
1669
  }) => {
1670
- const { isFocusVisible: j, focusProps: L } = a({ within: !0, isTextInput: !0 }), { isFocusVisible: z, focusProps: M } = a(), { isFocusVisible: R, focusProps: T } = a(), { isFocusVisible: D, focusProps: $ } = a(), { copy: A, status: b } = G(), e = Q(null), [l, g] = W(typeof p == "boolean" ? p : s === "password");
1671
- C(() => {
1672
- var r;
1673
- S && ((r = e.current) == null || r.focus());
1674
- }, []), C(() => {
1675
- typeof p == "boolean" && g(p);
1670
+ const { isFocusVisible: L, focusProps: O } = a({ within: !0, isTextInput: !0 }), { isFocusVisible: T, focusProps: z } = a(), { isFocusVisible: R, focusProps: D } = a(), { isFocusVisible: M, focusProps: $ } = a(), { copy: A, status: b } = G(), e = Q(null), [l, y] = W(typeof p == "boolean" ? p : s === "password");
1671
+ v(() => {
1672
+ setTimeout(() => {
1673
+ var r;
1674
+ g && ((r = e.current) == null || r.focus());
1675
+ }, 0);
1676
+ }, [g]), v(() => {
1677
+ typeof p == "boolean" && y(p);
1676
1678
  }, [p]);
1677
1679
  const K = (r) => {
1678
1680
  r.key === "Enter" && x && x(r);
1679
1681
  }, U = () => s === "password" ? l ? "password" : "text" : s, Y = typeof E == "boolean" ? { spellCheck: E } : null;
1680
1682
  return /* @__PURE__ */ t.createElement("div", {
1681
- ...L,
1683
+ ...O,
1682
1684
  className: i([
1683
1685
  "tw-flex tw-items-center tw-h-9 tw-gap-2 tw-px-3 tw-border hover:tw-border-black-90 tw-transition tw-rounded tw-text-s tw-font-sans tw-relative tw-bg-white dark:tw-bg-transparent",
1684
- P ? "tw-border-dashed" : "tw-border-solid",
1686
+ V ? "tw-border-dashed" : "tw-border-solid",
1685
1687
  o || u ? "tw-border-black-5 tw-bg-black-5 dark:tw-bg-black-90 dark:tw-border-black-90" : i([
1686
1688
  "focus-within:tw-border-black-90",
1687
1689
  J[d],
1688
- j && n
1690
+ L && n
1689
1691
  ])
1690
1692
  ])
1691
1693
  }, f && /* @__PURE__ */ t.createElement("div", {
@@ -1706,56 +1708,56 @@ const jV = ({
1706
1708
  return (r = e.current) == null ? void 0 : r.focus();
1707
1709
  },
1708
1710
  onChange: (r) => c && c(r.currentTarget.value),
1709
- onBlur: B,
1711
+ onBlur: S,
1710
1712
  onKeyDown: K,
1711
- placeholder: F,
1713
+ placeholder: I,
1712
1714
  value: w,
1713
1715
  type: U(),
1714
- required: I,
1716
+ required: N,
1715
1717
  readOnly: u,
1716
1718
  disabled: o,
1717
- autoComplete: N ? "on" : "off",
1718
- size: O,
1719
+ autoComplete: P ? "on" : "off",
1720
+ size: j,
1719
1721
  "data-test-id": "text-input",
1720
1722
  ...Y
1721
- }), `${w}`.length > 0 && v && /* @__PURE__ */ t.createElement("button", {
1723
+ }), `${w}`.length > 0 && F && /* @__PURE__ */ t.createElement("button", {
1722
1724
  className: i([
1723
1725
  "tw-flex tw-items-center tw-justify-center tw-transition-colors tw-rounded",
1724
1726
  o ? "tw-cursor-default tw-text-black-40" : "tw-text-black-60 hover:tw-text-black-100",
1725
- z && n
1727
+ T && n
1726
1728
  ]),
1727
1729
  onClick: () => {
1728
- var r, y;
1729
- (r = e.current) == null || r.focus(), (y = e.current) == null || y.setAttribute("value", ""), c && c(""), k && k();
1730
+ var r, h;
1731
+ (r = e.current) == null || r.focus(), (h = e.current) == null || h.setAttribute("value", ""), c && c(""), k && k();
1730
1732
  },
1731
1733
  "data-test-id": "clear-icon",
1732
1734
  title: "Clear text input",
1733
1735
  "aria-label": "clear text input",
1734
1736
  disabled: o,
1735
1737
  type: "button",
1736
- ...M
1738
+ ...z
1737
1739
  }, /* @__PURE__ */ t.createElement(tt, null)), s === "password" && /* @__PURE__ */ t.createElement("button", {
1738
1740
  className: i([
1739
1741
  "tw-flex tw-items-center tw-justify-center tw-transition-colors tw-rounded",
1740
1742
  o ? "tw-cursor-default tw-text-black-40" : "tw-text-black-60 hover:tw-text-black-100",
1741
1743
  R && n
1742
1744
  ]),
1743
- onClick: () => g(!l),
1745
+ onClick: () => y(!l),
1744
1746
  "data-test-id": "visibility-icon",
1745
1747
  title: "Toggle text visibility",
1746
1748
  type: "button",
1747
1749
  "aria-label": `${l ? "unveil" : "obfuscate"} text input`,
1748
1750
  disabled: o,
1749
- ...T
1750
- }, l ? /* @__PURE__ */ t.createElement(ot, null) : /* @__PURE__ */ t.createElement(it, null)), d === h.Loading && /* @__PURE__ */ t.createElement("span", {
1751
+ ...D
1752
+ }, l ? /* @__PURE__ */ t.createElement(ot, null) : /* @__PURE__ */ t.createElement(it, null)), d === C.Loading && /* @__PURE__ */ t.createElement("span", {
1751
1753
  className: "tw-absolute tw-top-[-0.55rem] tw-right-[-0.55rem] tw-bg-white tw-rounded-full tw-p-[2px] tw-border tw-border-black-10"
1752
1754
  }, /* @__PURE__ */ t.createElement(_, {
1753
1755
  size: q.ExtraSmall
1754
- })), V && /* @__PURE__ */ t.createElement("button", {
1756
+ })), B && /* @__PURE__ */ t.createElement("button", {
1755
1757
  className: i([
1756
1758
  "tw-flex tw-items-center tw-justify-center tw-transition-colors tw-rounded",
1757
1759
  o ? "tw-cursor-default tw-text-black-40" : "tw-text-black-60 hover:tw-text-black-100",
1758
- D && n
1760
+ M && n
1759
1761
  ]),
1760
1762
  onClick: () => A(w),
1761
1763
  "data-test-id": "copy-icon",
@@ -1770,7 +1772,7 @@ const jV = ({
1770
1772
  }, /* @__PURE__ */ t.createElement(X, null))));
1771
1773
  };
1772
1774
  export {
1773
- jV as TextInput,
1775
+ LV as TextInput,
1774
1776
  mt as TextInputType
1775
1777
  };
1776
1778
  //# sourceMappingURL=TextInput.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TextInput.es.js","sources":["../../../src/components/TextInput/TextInput.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { LoadingCircle, LoadingCircleSize } from '@components/LoadingCircle';\nimport { useCopy } from '@hooks/useCopy';\nimport { useMemoizedId } from '@hooks/useMemoizedId';\nimport { useFocusRing } from '@react-aria/focus';\nimport { FOCUS_STYLE } from '@utilities/focusStyle';\nimport { merge } from '@utilities/merge';\nimport { Validation, validationClassMap } from '@utilities/validation';\nimport React, { FC, FocusEvent, KeyboardEvent, ReactNode, useEffect, useRef, useState } from 'react';\nimport { IconCheckMark, IconClipboard, IconCross, IconCrossCircle, IconEye, IconEyeOff } from '@foundation/Icon';\n\nexport enum TextInputType {\n Text = 'text',\n Password = 'password',\n Number = 'number',\n}\n\nexport type TextInputBaseProps = {\n id?: string;\n type?: TextInputType;\n decorator?: ReactNode;\n dotted?: boolean;\n clearable?: boolean;\n placeholder?: string;\n required?: boolean;\n disabled?: boolean;\n autocomplete?: boolean;\n readonly?: boolean;\n validation?: Validation;\n copyable?: boolean;\n value?: string;\n onChange?: (value: string) => void;\n onEnterPressed?: (event: KeyboardEvent<HTMLInputElement>) => void;\n onBlur?: (event: FocusEvent<HTMLInputElement>) => void;\n onClear?: () => void;\n size?: number;\n spellcheck?: boolean;\n focusOnMount?: boolean;\n};\n\nexport type TextInputProps =\n | ({\n type?: TextInputType.Text;\n obfuscated?: false;\n } & TextInputBaseProps)\n | ({\n type?: TextInputType.Number;\n obfuscated?: false;\n min?: number;\n max?: number;\n } & TextInputBaseProps)\n | ({\n type: TextInputType.Password;\n obfuscated?: boolean;\n } & TextInputBaseProps);\n\nexport const TextInput: FC<TextInputProps> = ({\n id: propId,\n type = TextInputType.Text,\n decorator,\n validation = Validation.Default,\n clearable = false,\n placeholder,\n required,\n obfuscated,\n disabled = false,\n autocomplete = false,\n dotted = false,\n value = '',\n copyable = false,\n onChange,\n onEnterPressed,\n onBlur,\n onClear,\n size,\n spellcheck,\n readonly,\n focusOnMount,\n}) => {\n const { isFocusVisible, focusProps } = useFocusRing({ within: true, isTextInput: true });\n const { isFocusVisible: clearButtonIsFocusVisible, focusProps: clearButtonFocusProps } = useFocusRing();\n const { isFocusVisible: passwordButtonIsFocusVisible, focusProps: passwordButtonFocusProps } = useFocusRing();\n const { isFocusVisible: copyButtonIsFocusVisible, focusProps: copyButtonFocusProps } = useFocusRing();\n\n const { copy, status } = useCopy();\n\n const inputElement = useRef<HTMLInputElement | null>(null);\n const [isObfuscated, setIsObfuscated] = useState(\n typeof obfuscated === 'boolean' ? obfuscated : type === TextInputType.Password,\n );\n\n useEffect(() => {\n focusOnMount && inputElement.current?.focus();\n }, []);\n\n useEffect(() => {\n if (typeof obfuscated === 'boolean') {\n setIsObfuscated(obfuscated);\n }\n }, [obfuscated]);\n\n const onKeyDown = (event: KeyboardEvent<HTMLInputElement>) => {\n if (event.key === 'Enter') {\n onEnterPressed && onEnterPressed(event);\n }\n };\n\n const getInputType = () => {\n if (type === TextInputType.Password) {\n return isObfuscated ? TextInputType.Password : TextInputType.Text;\n }\n return type;\n };\n\n const spellcheckProp = typeof spellcheck === 'boolean' ? { spellCheck: spellcheck } : null;\n\n return (\n <div\n {...focusProps}\n className={merge([\n 'tw-flex tw-items-center tw-h-9 tw-gap-2 tw-px-3 tw-border hover:tw-border-black-90 tw-transition tw-rounded tw-text-s tw-font-sans tw-relative tw-bg-white dark:tw-bg-transparent',\n dotted ? 'tw-border-dashed' : 'tw-border-solid',\n disabled || readonly\n ? 'tw-border-black-5 tw-bg-black-5 dark:tw-bg-black-90 dark:tw-border-black-90'\n : merge([\n 'focus-within:tw-border-black-90',\n validationClassMap[validation],\n isFocusVisible && FOCUS_STYLE,\n ]),\n ])}\n >\n {decorator && (\n <div\n className={merge([\n 'tw-flex tw-items-center tw-justify-center tw-pl-1',\n disabled ? 'tw-text-black-60' : 'tw-text-black-80',\n ])}\n data-test-id=\"decorator\"\n >\n {decorator}\n </div>\n )}\n <input\n id={useMemoizedId(propId)}\n ref={inputElement}\n className={merge([\n 'tw-w-full tw-grow tw-border-none tw-outline-none tw-bg-transparent tw-hide-input-arrows',\n disabled || readonly\n ? 'tw-text-black-40 tw-placeholder-black-30 dark:tw-text-black-30 dark:tw-placeholder-black-40'\n : 'tw-text-black tw-placeholder-black-60 dark:tw-text-white',\n ])}\n onClick={() => inputElement.current?.focus()}\n onChange={(event) => onChange && onChange(event.currentTarget.value)}\n onBlur={onBlur}\n onKeyDown={onKeyDown}\n placeholder={placeholder}\n value={value}\n type={getInputType()}\n required={required}\n readOnly={readonly}\n disabled={disabled}\n autoComplete={autocomplete ? 'on' : 'off'}\n size={size}\n data-test-id=\"text-input\"\n {...spellcheckProp}\n />\n {`${value}`.length > 0 && clearable && (\n <button\n className={merge([\n 'tw-flex tw-items-center tw-justify-center tw-transition-colors tw-rounded',\n disabled ? 'tw-cursor-default tw-text-black-40' : 'tw-text-black-60 hover:tw-text-black-100',\n clearButtonIsFocusVisible && FOCUS_STYLE,\n ])}\n onClick={() => {\n inputElement.current?.focus();\n inputElement.current?.setAttribute('value', '');\n\n onChange && onChange('');\n onClear && onClear();\n }}\n data-test-id=\"clear-icon\"\n title=\"Clear text input\"\n aria-label=\"clear text input\"\n disabled={disabled}\n type=\"button\"\n {...clearButtonFocusProps}\n >\n <IconCross />\n </button>\n )}\n {type === TextInputType.Password && (\n <button\n className={merge([\n 'tw-flex tw-items-center tw-justify-center tw-transition-colors tw-rounded',\n disabled ? 'tw-cursor-default tw-text-black-40' : 'tw-text-black-60 hover:tw-text-black-100',\n passwordButtonIsFocusVisible && FOCUS_STYLE,\n ])}\n onClick={() => setIsObfuscated(!isObfuscated)}\n data-test-id=\"visibility-icon\"\n title=\"Toggle text visibility\"\n type=\"button\"\n aria-label={`${isObfuscated ? 'unveil' : 'obfuscate'} text input`}\n disabled={disabled}\n {...passwordButtonFocusProps}\n >\n {isObfuscated ? <IconEye /> : <IconEyeOff />}\n </button>\n )}\n {validation === Validation.Loading && (\n <span className=\"tw-absolute tw-top-[-0.55rem] tw-right-[-0.55rem] tw-bg-white tw-rounded-full tw-p-[2px] tw-border tw-border-black-10\">\n <LoadingCircle size={LoadingCircleSize.ExtraSmall} />\n </span>\n )}\n {copyable && (\n <button\n className={merge([\n 'tw-flex tw-items-center tw-justify-center tw-transition-colors tw-rounded',\n disabled ? 'tw-cursor-default tw-text-black-40' : 'tw-text-black-60 hover:tw-text-black-100',\n copyButtonIsFocusVisible && FOCUS_STYLE,\n ])}\n onClick={() => copy(value)}\n data-test-id=\"copy-icon\"\n title=\"Copy input text\"\n disabled={disabled}\n type=\"button\"\n {...copyButtonFocusProps}\n >\n {status === 'error' && (\n <span className=\"tw-text-box-negative-strong\">\n <IconCrossCircle />\n </span>\n )}\n {status === 'idle' && <IconClipboard />}\n {status === 'success' && (\n <span className=\"tw-text-box-positive-strong\">\n <IconCheckMark />\n </span>\n )}\n </button>\n )}\n </div>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
1
+ {"version":3,"file":"TextInput.es.js","sources":["../../../src/components/TextInput/TextInput.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { LoadingCircle, LoadingCircleSize } from '@components/LoadingCircle';\nimport { useCopy } from '@hooks/useCopy';\nimport { useMemoizedId } from '@hooks/useMemoizedId';\nimport { useFocusRing } from '@react-aria/focus';\nimport { FOCUS_STYLE } from '@utilities/focusStyle';\nimport { merge } from '@utilities/merge';\nimport { Validation, validationClassMap } from '@utilities/validation';\nimport React, { FC, FocusEvent, KeyboardEvent, ReactNode, useEffect, useRef, useState } from 'react';\nimport { IconCheckMark, IconClipboard, IconCross, IconCrossCircle, IconEye, IconEyeOff } from '@foundation/Icon';\n\nexport enum TextInputType {\n Text = 'text',\n Password = 'password',\n Number = 'number',\n}\n\nexport type TextInputBaseProps = {\n id?: string;\n type?: TextInputType;\n decorator?: ReactNode;\n dotted?: boolean;\n clearable?: boolean;\n placeholder?: string;\n required?: boolean;\n disabled?: boolean;\n autocomplete?: boolean;\n readonly?: boolean;\n validation?: Validation;\n copyable?: boolean;\n value?: string;\n onChange?: (value: string) => void;\n onEnterPressed?: (event: KeyboardEvent<HTMLInputElement>) => void;\n onBlur?: (event: FocusEvent<HTMLInputElement>) => void;\n onClear?: () => void;\n size?: number;\n spellcheck?: boolean;\n focusOnMount?: boolean;\n};\n\nexport type TextInputProps =\n | ({\n type?: TextInputType.Text;\n obfuscated?: false;\n } & TextInputBaseProps)\n | ({\n type?: TextInputType.Number;\n obfuscated?: false;\n min?: number;\n max?: number;\n } & TextInputBaseProps)\n | ({\n type: TextInputType.Password;\n obfuscated?: boolean;\n } & TextInputBaseProps);\n\nexport const TextInput: FC<TextInputProps> = ({\n id: propId,\n type = TextInputType.Text,\n decorator,\n validation = Validation.Default,\n clearable = false,\n placeholder,\n required,\n obfuscated,\n disabled = false,\n autocomplete = false,\n dotted = false,\n value = '',\n copyable = false,\n onChange,\n onEnterPressed,\n onBlur,\n onClear,\n size,\n spellcheck,\n readonly,\n focusOnMount,\n}) => {\n const { isFocusVisible, focusProps } = useFocusRing({ within: true, isTextInput: true });\n const { isFocusVisible: clearButtonIsFocusVisible, focusProps: clearButtonFocusProps } = useFocusRing();\n const { isFocusVisible: passwordButtonIsFocusVisible, focusProps: passwordButtonFocusProps } = useFocusRing();\n const { isFocusVisible: copyButtonIsFocusVisible, focusProps: copyButtonFocusProps } = useFocusRing();\n\n const { copy, status } = useCopy();\n\n const inputElement = useRef<HTMLInputElement | null>(null);\n const [isObfuscated, setIsObfuscated] = useState(\n typeof obfuscated === 'boolean' ? obfuscated : type === TextInputType.Password,\n );\n\n useEffect(() => {\n setTimeout(() => {\n focusOnMount && inputElement.current?.focus();\n }, 0);\n }, [focusOnMount]);\n\n useEffect(() => {\n if (typeof obfuscated === 'boolean') {\n setIsObfuscated(obfuscated);\n }\n }, [obfuscated]);\n\n const onKeyDown = (event: KeyboardEvent<HTMLInputElement>) => {\n if (event.key === 'Enter') {\n onEnterPressed && onEnterPressed(event);\n }\n };\n\n const getInputType = () => {\n if (type === TextInputType.Password) {\n return isObfuscated ? TextInputType.Password : TextInputType.Text;\n }\n return type;\n };\n\n const spellcheckProp = typeof spellcheck === 'boolean' ? { spellCheck: spellcheck } : null;\n\n return (\n <div\n {...focusProps}\n className={merge([\n 'tw-flex tw-items-center tw-h-9 tw-gap-2 tw-px-3 tw-border hover:tw-border-black-90 tw-transition tw-rounded tw-text-s tw-font-sans tw-relative tw-bg-white dark:tw-bg-transparent',\n dotted ? 'tw-border-dashed' : 'tw-border-solid',\n disabled || readonly\n ? 'tw-border-black-5 tw-bg-black-5 dark:tw-bg-black-90 dark:tw-border-black-90'\n : merge([\n 'focus-within:tw-border-black-90',\n validationClassMap[validation],\n isFocusVisible && FOCUS_STYLE,\n ]),\n ])}\n >\n {decorator && (\n <div\n className={merge([\n 'tw-flex tw-items-center tw-justify-center tw-pl-1',\n disabled ? 'tw-text-black-60' : 'tw-text-black-80',\n ])}\n data-test-id=\"decorator\"\n >\n {decorator}\n </div>\n )}\n <input\n id={useMemoizedId(propId)}\n ref={inputElement}\n className={merge([\n 'tw-w-full tw-grow tw-border-none tw-outline-none tw-bg-transparent tw-hide-input-arrows',\n disabled || readonly\n ? 'tw-text-black-40 tw-placeholder-black-30 dark:tw-text-black-30 dark:tw-placeholder-black-40'\n : 'tw-text-black tw-placeholder-black-60 dark:tw-text-white',\n ])}\n onClick={() => inputElement.current?.focus()}\n onChange={(event) => onChange && onChange(event.currentTarget.value)}\n onBlur={onBlur}\n onKeyDown={onKeyDown}\n placeholder={placeholder}\n value={value}\n type={getInputType()}\n required={required}\n readOnly={readonly}\n disabled={disabled}\n autoComplete={autocomplete ? 'on' : 'off'}\n size={size}\n data-test-id=\"text-input\"\n {...spellcheckProp}\n />\n {`${value}`.length > 0 && clearable && (\n <button\n className={merge([\n 'tw-flex tw-items-center tw-justify-center tw-transition-colors tw-rounded',\n disabled ? 'tw-cursor-default tw-text-black-40' : 'tw-text-black-60 hover:tw-text-black-100',\n clearButtonIsFocusVisible && FOCUS_STYLE,\n ])}\n onClick={() => {\n inputElement.current?.focus();\n inputElement.current?.setAttribute('value', '');\n\n onChange && onChange('');\n onClear && onClear();\n }}\n data-test-id=\"clear-icon\"\n title=\"Clear text input\"\n aria-label=\"clear text input\"\n disabled={disabled}\n type=\"button\"\n {...clearButtonFocusProps}\n >\n <IconCross />\n </button>\n )}\n {type === TextInputType.Password && (\n <button\n className={merge([\n 'tw-flex tw-items-center tw-justify-center tw-transition-colors tw-rounded',\n disabled ? 'tw-cursor-default tw-text-black-40' : 'tw-text-black-60 hover:tw-text-black-100',\n passwordButtonIsFocusVisible && FOCUS_STYLE,\n ])}\n onClick={() => setIsObfuscated(!isObfuscated)}\n data-test-id=\"visibility-icon\"\n title=\"Toggle text visibility\"\n type=\"button\"\n aria-label={`${isObfuscated ? 'unveil' : 'obfuscate'} text input`}\n disabled={disabled}\n {...passwordButtonFocusProps}\n >\n {isObfuscated ? <IconEye /> : <IconEyeOff />}\n </button>\n )}\n {validation === Validation.Loading && (\n <span className=\"tw-absolute tw-top-[-0.55rem] tw-right-[-0.55rem] tw-bg-white tw-rounded-full tw-p-[2px] tw-border tw-border-black-10\">\n <LoadingCircle size={LoadingCircleSize.ExtraSmall} />\n </span>\n )}\n {copyable && (\n <button\n className={merge([\n 'tw-flex tw-items-center tw-justify-center tw-transition-colors tw-rounded',\n disabled ? 'tw-cursor-default tw-text-black-40' : 'tw-text-black-60 hover:tw-text-black-100',\n copyButtonIsFocusVisible && FOCUS_STYLE,\n ])}\n onClick={() => copy(value)}\n data-test-id=\"copy-icon\"\n title=\"Copy input text\"\n disabled={disabled}\n type=\"button\"\n {...copyButtonFocusProps}\n >\n {status === 'error' && (\n <span className=\"tw-text-box-negative-strong\">\n <IconCrossCircle />\n </span>\n )}\n {status === 'idle' && <IconClipboard />}\n {status === 'success' && (\n <span className=\"tw-text-box-positive-strong\">\n <IconCheckMark />\n </span>\n )}\n </button>\n )}\n </div>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}