@frontify/guideline-blocks-settings 0.28.5 → 0.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/dist/components/Link/LinkInput.es.js.map +1 -1
  3. package/dist/components/Link/LinkSelector/DocumentLink.es.js.map +1 -1
  4. package/dist/components/Link/LinkSelector/DocumentLinks.es.js.map +1 -1
  5. package/dist/components/Link/LinkSelector/LinkSelector.es.js.map +1 -1
  6. package/dist/components/Link/LinkSelector/PageLink.es.js.map +1 -1
  7. package/dist/components/Link/LinkSelector/PageLinks.es.js.map +1 -1
  8. package/dist/components/RichTextEditor/SerializedText.es.js +2 -2
  9. package/dist/components/RichTextEditor/SerializedText.es.js.map +1 -1
  10. package/dist/components/RichTextEditor/plugins/ButtonPlugin/components/FloatingButton/useFloatingButtonEdit.es.js +5 -5
  11. package/dist/components/RichTextEditor/plugins/ButtonPlugin/utils/triggerFloatingButton.es.js +6 -6
  12. package/dist/components/RichTextEditor/plugins/TextStylePlugins/custom1Plugin.es.js +15 -14
  13. package/dist/components/RichTextEditor/plugins/TextStylePlugins/custom1Plugin.es.js.map +1 -1
  14. package/dist/components/RichTextEditor/plugins/TextStylePlugins/custom2Plugin.es.js +15 -14
  15. package/dist/components/RichTextEditor/plugins/TextStylePlugins/custom2Plugin.es.js.map +1 -1
  16. package/dist/components/RichTextEditor/plugins/TextStylePlugins/custom3Plugin.es.js +15 -14
  17. package/dist/components/RichTextEditor/plugins/TextStylePlugins/custom3Plugin.es.js.map +1 -1
  18. package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading1Plugin.es.js +10 -9
  19. package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading1Plugin.es.js.map +1 -1
  20. package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading2Plugin.es.js +15 -7
  21. package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading2Plugin.es.js.map +1 -1
  22. package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading3Plugin.es.js +15 -7
  23. package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading3Plugin.es.js.map +1 -1
  24. package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading4Plugin.es.js +15 -7
  25. package/dist/components/RichTextEditor/plugins/TextStylePlugins/heading4Plugin.es.js.map +1 -1
  26. package/dist/components/RichTextEditor/plugins/TextStylePlugins/imageCaptionPlugin.es.js +15 -14
  27. package/dist/components/RichTextEditor/plugins/TextStylePlugins/imageCaptionPlugin.es.js.map +1 -1
  28. package/dist/components/RichTextEditor/plugins/TextStylePlugins/imageTitlePlugin.es.js +18 -17
  29. package/dist/components/RichTextEditor/plugins/TextStylePlugins/imageTitlePlugin.es.js.map +1 -1
  30. package/dist/components/RichTextEditor/plugins/TextStylePlugins/quotePlugin.es.js +13 -12
  31. package/dist/components/RichTextEditor/plugins/TextStylePlugins/quotePlugin.es.js.map +1 -1
  32. package/dist/components/RichTextEditor/plugins/styles.es.js +0 -1
  33. package/dist/components/RichTextEditor/plugins/styles.es.js.map +1 -1
  34. package/dist/index.cjs.js +3 -20
  35. package/dist/index.cjs.js.map +1 -1
  36. package/dist/index.d.ts +3 -4
  37. package/dist/index.umd.js +3 -20
  38. package/dist/index.umd.js.map +1 -1
  39. package/dist/styles.css +1 -1
  40. package/package.json +17 -19
  41. package/src/components/Link/LinkInput.tsx +2 -2
  42. package/src/components/Link/LinkSelector/DocumentLink.tsx +2 -2
  43. package/src/components/Link/LinkSelector/DocumentLinks.tsx +2 -2
  44. package/src/components/Link/LinkSelector/LinkSelector.tsx +2 -2
  45. package/src/components/Link/LinkSelector/PageLink.tsx +2 -2
  46. package/src/components/Link/LinkSelector/PageLinks.tsx +2 -2
  47. package/src/components/RichTextEditor/SerializedText.tsx +2 -2
  48. package/src/components/RichTextEditor/plugins/TextStylePlugins/custom1Plugin.tsx +3 -2
  49. package/src/components/RichTextEditor/plugins/TextStylePlugins/custom2Plugin.tsx +3 -2
  50. package/src/components/RichTextEditor/plugins/TextStylePlugins/custom3Plugin.tsx +3 -2
  51. package/src/components/RichTextEditor/plugins/TextStylePlugins/heading1Plugin.tsx +3 -2
  52. package/src/components/RichTextEditor/plugins/TextStylePlugins/heading2Plugin.tsx +6 -2
  53. package/src/components/RichTextEditor/plugins/TextStylePlugins/heading3Plugin.tsx +6 -2
  54. package/src/components/RichTextEditor/plugins/TextStylePlugins/heading4Plugin.tsx +6 -2
  55. package/src/components/RichTextEditor/plugins/TextStylePlugins/imageCaptionPlugin.tsx +3 -2
  56. package/src/components/RichTextEditor/plugins/TextStylePlugins/imageTitlePlugin.tsx +3 -2
  57. package/src/components/RichTextEditor/plugins/TextStylePlugins/quotePlugin.tsx +3 -2
  58. package/src/components/RichTextEditor/plugins/styles.ts +0 -1
  59. package/dist/components/RichTextEditor/serializer/nodes/button.es.js +0 -17
  60. package/dist/components/RichTextEditor/serializer/nodes/button.es.js.map +0 -1
  61. package/dist/components/RichTextEditor/serializer/nodes/checkItemNode.es.js +0 -19
  62. package/dist/components/RichTextEditor/serializer/nodes/checkItemNode.es.js.map +0 -1
  63. package/dist/components/RichTextEditor/serializer/nodes/default.es.js +0 -32
  64. package/dist/components/RichTextEditor/serializer/nodes/default.es.js.map +0 -1
  65. package/dist/components/RichTextEditor/serializer/nodes/link.es.js +0 -15
  66. package/dist/components/RichTextEditor/serializer/nodes/link.es.js.map +0 -1
  67. package/dist/components/RichTextEditor/serializer/nodes/mentionHtmlNode.es.js +0 -12
  68. package/dist/components/RichTextEditor/serializer/nodes/mentionHtmlNode.es.js.map +0 -1
  69. package/dist/components/RichTextEditor/serializer/serializeNodesToHtmlRecursive.es.js +0 -61
  70. package/dist/components/RichTextEditor/serializer/serializeNodesToHtmlRecursive.es.js.map +0 -1
  71. package/dist/components/RichTextEditor/serializer/serializeToHtml.es.js +0 -25
  72. package/dist/components/RichTextEditor/serializer/serializeToHtml.es.js.map +0 -1
  73. package/dist/components/RichTextEditor/serializer/utlis/reactCssPropsToCss.es.js +0 -8
  74. package/dist/components/RichTextEditor/serializer/utlis/reactCssPropsToCss.es.js.map +0 -1
  75. package/dist/components/RichTextEditor/serializer/utlis/serializeLeafToHtml.es.js +0 -13
  76. package/dist/components/RichTextEditor/serializer/utlis/serializeLeafToHtml.es.js.map +0 -1
  77. package/src/components/RichTextEditor/serializer/index.ts +0 -3
  78. package/src/components/RichTextEditor/serializer/nodes/button.ts +0 -27
  79. package/src/components/RichTextEditor/serializer/nodes/checkItemNode.ts +0 -30
  80. package/src/components/RichTextEditor/serializer/nodes/default.ts +0 -68
  81. package/src/components/RichTextEditor/serializer/nodes/link.ts +0 -26
  82. package/src/components/RichTextEditor/serializer/nodes/mentionHtmlNode.ts +0 -17
  83. package/src/components/RichTextEditor/serializer/serializeNodesToHtmlRecursive.ts +0 -134
  84. package/src/components/RichTextEditor/serializer/serializeToHtml.ts +0 -49
  85. package/src/components/RichTextEditor/serializer/utlis/reactCssPropsToCss.ts +0 -21
  86. package/src/components/RichTextEditor/serializer/utlis/serializeLeafToHtml.ts +0 -32
package/CHANGELOG.md CHANGED
@@ -1,5 +1,29 @@
1
1
  # @frontify/guideline-blocks-settings
2
2
 
3
+ ## 0.29.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#504](https://github.com/Frontify/brand-sdk/pull/504) [`b0d2b28`](https://github.com/Frontify/brand-sdk/commit/b0d2b28838e917a4fb3332a1f043ee29d8060752) Thanks [@ragi96](https://github.com/ragi96)! - refactor: use Fondue serializer instead of internal version
8
+
9
+ ### Patch Changes
10
+
11
+ - [#504](https://github.com/Frontify/brand-sdk/pull/504) [`b0d2b28`](https://github.com/Frontify/brand-sdk/commit/b0d2b28838e917a4fb3332a1f043ee29d8060752) Thanks [@ragi96](https://github.com/ragi96)! - Update dependencies
12
+
13
+ - Updated dependencies [[`b0d2b28`](https://github.com/Frontify/brand-sdk/commit/b0d2b28838e917a4fb3332a1f043ee29d8060752)]:
14
+ - @frontify/sidebar-settings@0.6.5
15
+
16
+ ## 0.28.6
17
+
18
+ ### Patch Changes
19
+
20
+ - [#522](https://github.com/Frontify/brand-sdk/pull/522) [`0fdb3c7`](https://github.com/Frontify/brand-sdk/commit/0fdb3c79590964ba0e66f0c95e2a30ea8a34836b) Thanks [@ragi96](https://github.com/ragi96)! - chore: bump fondue to v12.0.0-beta.309
21
+
22
+ - [#524](https://github.com/Frontify/brand-sdk/pull/524) [`c0b8cff`](https://github.com/Frontify/brand-sdk/commit/c0b8cff9b69f4cc5f83ebd150d3640fe50da501d) Thanks [@fulopdaniel](https://github.com/fulopdaniel)! - fix(types): extend app bridge type
23
+
24
+ - Updated dependencies [[`0fdb3c7`](https://github.com/Frontify/brand-sdk/commit/0fdb3c79590964ba0e66f0c95e2a30ea8a34836b)]:
25
+ - @frontify/sidebar-settings@0.6.4
26
+
3
27
  ## 0.28.5
4
28
 
5
29
  ### Patch Changes
@@ -1 +1 @@
1
- {"version":3,"file":"LinkInput.es.js","sources":["../../../src/components/Link/LinkInput.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { AppBridgeBlock } from '@frontify/app-bridge';\nimport { ButtonSize, Checkbox, CheckboxState, FormControl, TextInput, TooltipPosition } from '@frontify/fondue';\nimport { LinkSelector } from './LinkSelector';\nimport { isValidUrlOrEmpty as internalIsValidUrlOrEmpty } from './utils';\n\ntype LinkInputProps = {\n url?: string;\n info?: string;\n label?: string;\n required?: boolean;\n newTab?: CheckboxState;\n openInNewTab?: boolean;\n onUrlChange?: (value: string) => void;\n onToggleTab?: (checked: boolean) => void;\n isValidUrlOrEmpty?: (url: string) => boolean;\n appBridge: AppBridgeBlock;\n clearable?: boolean;\n placeholder?: string;\n buttonSize?: ButtonSize;\n hideInternalLinkButton?: boolean;\n};\n\nexport const LinkInput = ({\n onUrlChange,\n onToggleTab,\n isValidUrlOrEmpty,\n appBridge,\n clearable,\n placeholder,\n newTab,\n openInNewTab,\n url = '',\n required,\n info,\n label,\n buttonSize,\n hideInternalLinkButton,\n}: LinkInputProps) => {\n const isUrlValid = isValidUrlOrEmpty ? isValidUrlOrEmpty(url) : internalIsValidUrlOrEmpty(url);\n const checkedState = newTab ?? (openInNewTab ? CheckboxState.Checked : CheckboxState.Unchecked);\n return (\n <div data-test-id=\"link-input\">\n <FormControl\n label={{\n children: label,\n htmlFor: 'url',\n required,\n tooltip: info ? { content: info, position: TooltipPosition.Top } : undefined,\n }}\n >\n <TextInput\n id=\"url\"\n value={url}\n clearable={clearable}\n onChange={onUrlChange}\n placeholder={placeholder ?? 'https://example.com'}\n focusOnMount\n />\n </FormControl>\n {!isUrlValid && <div className=\"tw-text-text-negative tw-mt-1 tw-text-s\">Please enter a valid URL.</div>}\n\n {!hideInternalLinkButton && (\n <div className=\"tw-mt-3\">\n <LinkSelector\n url={url}\n appBridge={appBridge}\n onUrlChange={onUrlChange}\n buttonSize={buttonSize ?? ButtonSize.Medium}\n />\n </div>\n )}\n\n <div className=\"tw-mt-3\">\n <Checkbox value=\"new-tab\" label=\"Open in new tab\" state={checkedState} onChange={onToggleTab} />\n </div>\n </div>\n );\n};\n"],"names":["LinkInput","onUrlChange","onToggleTab","isValidUrlOrEmpty","appBridge","clearable","placeholder","newTab","openInNewTab","url","required","info","label","buttonSize","hideInternalLinkButton","isUrlValid","internalIsValidUrlOrEmpty","checkedState","CheckboxState","jsxs","jsx","FormControl","TooltipPosition","TextInput","LinkSelector","ButtonSize","Checkbox"],"mappings":";;;;AAwBO,MAAMA,IAAY,CAAC;AAAA,EACtB,aAAAC;AAAA,EACA,aAAAC;AAAA,EAAA,mBACAC;AAAAA,EACA,WAAAC;AAAA,EACA,WAAAC;AAAA,EACA,aAAAC;AAAA,EACA,QAAAC;AAAA,EACA,cAAAC;AAAA,EACA,KAAAC,IAAM;AAAA,EACN,UAAAC;AAAA,EACA,MAAAC;AAAA,EACA,OAAAC;AAAA,EACA,YAAAC;AAAA,EACA,wBAAAC;AACJ,MAAsB;AAClB,QAAMC,IAAaZ,IAAoBA,EAAkBM,CAAG,IAAIO,EAA0BP,CAAG,GACvFQ,IAAeV,MAAWC,IAAeU,EAAc,UAAUA,EAAc;AAEjF,SAAA,gBAAAC,EAAC,OAAI,EAAA,gBAAa,cACd,UAAA;AAAA,IAAA,gBAAAC;AAAA,MAACC;AAAA,MAAA;AAAA,QACG,OAAO;AAAA,UACH,UAAUT;AAAA,UACV,SAAS;AAAA,UACT,UAAAF;AAAA,UACA,SAASC,IAAO,EAAE,SAASA,GAAM,UAAUW,EAAgB,IAAQ,IAAA;AAAA,QACvE;AAAA,QAEA,UAAA,gBAAAF;AAAA,UAACG;AAAA,UAAA;AAAA,YACG,IAAG;AAAA,YACH,OAAOd;AAAA,YACP,WAAAJ;AAAA,YACA,UAAUJ;AAAA,YACV,aAAaK,KAAe;AAAA,YAC5B,cAAY;AAAA,UAAA;AAAA,QAChB;AAAA,MAAA;AAAA,IACJ;AAAA,IACC,CAACS,KAAc,gBAAAK,EAAC,OAAI,EAAA,WAAU,2CAA0C,UAAyB,6BAAA;AAAA,IAEjG,CAACN,KACG,gBAAAM,EAAA,OAAA,EAAI,WAAU,WACX,UAAA,gBAAAA;AAAA,MAACI;AAAA,MAAA;AAAA,QACG,KAAAf;AAAA,QACA,WAAAL;AAAA,QACA,aAAAH;AAAA,QACA,YAAYY,KAAcY,EAAW;AAAA,MAAA;AAAA,IAAA,GAE7C;AAAA,IAGH,gBAAAL,EAAA,OAAA,EAAI,WAAU,WACX,4BAACM,GAAS,EAAA,OAAM,WAAU,OAAM,mBAAkB,OAAOT,GAAc,UAAUf,EAAa,CAAA,GAClG;AAAA,EACJ,EAAA,CAAA;AAER;"}
1
+ {"version":3,"file":"LinkInput.es.js","sources":["../../../src/components/Link/LinkInput.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport type { AppBridgeBlock, AppBridgeTheme } from '@frontify/app-bridge';\nimport { ButtonSize, Checkbox, CheckboxState, FormControl, TextInput, TooltipPosition } from '@frontify/fondue';\nimport { LinkSelector } from './LinkSelector';\nimport { isValidUrlOrEmpty as internalIsValidUrlOrEmpty } from './utils';\n\ntype LinkInputProps = {\n url?: string;\n info?: string;\n label?: string;\n required?: boolean;\n newTab?: CheckboxState;\n openInNewTab?: boolean;\n onUrlChange?: (value: string) => void;\n onToggleTab?: (checked: boolean) => void;\n isValidUrlOrEmpty?: (url: string) => boolean;\n appBridge: AppBridgeBlock | AppBridgeTheme;\n clearable?: boolean;\n placeholder?: string;\n buttonSize?: ButtonSize;\n hideInternalLinkButton?: boolean;\n};\n\nexport const LinkInput = ({\n onUrlChange,\n onToggleTab,\n isValidUrlOrEmpty,\n appBridge,\n clearable,\n placeholder,\n newTab,\n openInNewTab,\n url = '',\n required,\n info,\n label,\n buttonSize,\n hideInternalLinkButton,\n}: LinkInputProps) => {\n const isUrlValid = isValidUrlOrEmpty ? isValidUrlOrEmpty(url) : internalIsValidUrlOrEmpty(url);\n const checkedState = newTab ?? (openInNewTab ? CheckboxState.Checked : CheckboxState.Unchecked);\n return (\n <div data-test-id=\"link-input\">\n <FormControl\n label={{\n children: label,\n htmlFor: 'url',\n required,\n tooltip: info ? { content: info, position: TooltipPosition.Top } : undefined,\n }}\n >\n <TextInput\n id=\"url\"\n value={url}\n clearable={clearable}\n onChange={onUrlChange}\n placeholder={placeholder ?? 'https://example.com'}\n focusOnMount\n />\n </FormControl>\n {!isUrlValid && <div className=\"tw-text-text-negative tw-mt-1 tw-text-s\">Please enter a valid URL.</div>}\n\n {!hideInternalLinkButton && (\n <div className=\"tw-mt-3\">\n <LinkSelector\n url={url}\n appBridge={appBridge}\n onUrlChange={onUrlChange}\n buttonSize={buttonSize ?? ButtonSize.Medium}\n />\n </div>\n )}\n\n <div className=\"tw-mt-3\">\n <Checkbox value=\"new-tab\" label=\"Open in new tab\" state={checkedState} onChange={onToggleTab} />\n </div>\n </div>\n );\n};\n"],"names":["LinkInput","onUrlChange","onToggleTab","isValidUrlOrEmpty","appBridge","clearable","placeholder","newTab","openInNewTab","url","required","info","label","buttonSize","hideInternalLinkButton","isUrlValid","internalIsValidUrlOrEmpty","checkedState","CheckboxState","jsxs","jsx","FormControl","TooltipPosition","TextInput","LinkSelector","ButtonSize","Checkbox"],"mappings":";;;;AAwBO,MAAMA,IAAY,CAAC;AAAA,EACtB,aAAAC;AAAA,EACA,aAAAC;AAAA,EAAA,mBACAC;AAAAA,EACA,WAAAC;AAAA,EACA,WAAAC;AAAA,EACA,aAAAC;AAAA,EACA,QAAAC;AAAA,EACA,cAAAC;AAAA,EACA,KAAAC,IAAM;AAAA,EACN,UAAAC;AAAA,EACA,MAAAC;AAAA,EACA,OAAAC;AAAA,EACA,YAAAC;AAAA,EACA,wBAAAC;AACJ,MAAsB;AAClB,QAAMC,IAAaZ,IAAoBA,EAAkBM,CAAG,IAAIO,EAA0BP,CAAG,GACvFQ,IAAeV,MAAWC,IAAeU,EAAc,UAAUA,EAAc;AAEjF,SAAA,gBAAAC,EAAC,OAAI,EAAA,gBAAa,cACd,UAAA;AAAA,IAAA,gBAAAC;AAAA,MAACC;AAAA,MAAA;AAAA,QACG,OAAO;AAAA,UACH,UAAUT;AAAA,UACV,SAAS;AAAA,UACT,UAAAF;AAAA,UACA,SAASC,IAAO,EAAE,SAASA,GAAM,UAAUW,EAAgB,IAAQ,IAAA;AAAA,QACvE;AAAA,QAEA,UAAA,gBAAAF;AAAA,UAACG;AAAA,UAAA;AAAA,YACG,IAAG;AAAA,YACH,OAAOd;AAAA,YACP,WAAAJ;AAAA,YACA,UAAUJ;AAAA,YACV,aAAaK,KAAe;AAAA,YAC5B,cAAY;AAAA,UAAA;AAAA,QAChB;AAAA,MAAA;AAAA,IACJ;AAAA,IACC,CAACS,KAAc,gBAAAK,EAAC,OAAI,EAAA,WAAU,2CAA0C,UAAyB,6BAAA;AAAA,IAEjG,CAACN,KACG,gBAAAM,EAAA,OAAA,EAAI,WAAU,WACX,UAAA,gBAAAA;AAAA,MAACI;AAAA,MAAA;AAAA,QACG,KAAAf;AAAA,QACA,WAAAL;AAAA,QACA,aAAAH;AAAA,QACA,YAAYY,KAAcY,EAAW;AAAA,MAAA;AAAA,IAAA,GAE7C;AAAA,IAGH,gBAAAL,EAAA,OAAA,EAAI,WAAU,WACX,4BAACM,GAAS,EAAA,OAAM,WAAU,OAAM,mBAAkB,OAAOT,GAAc,UAAUf,EAAa,CAAA,GAClG;AAAA,EACJ,EAAA,CAAA;AAER;"}
@@ -1 +1 @@
1
- {"version":3,"file":"DocumentLink.es.js","sources":["../../../../src/components/Link/LinkSelector/DocumentLink.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { AppBridgeBlock } from '@frontify/app-bridge';\nimport { useEffect, useState } from 'react';\nimport { PageLinks } from './PageLinks';\nimport { IconColorFan16, merge } from '@frontify/fondue';\nimport { InitiallyExpandedItems } from '../';\n\ntype DocumentLinkProps = {\n document: {\n id: number;\n title: string;\n permanentLink: string;\n };\n appBridge: AppBridgeBlock;\n selectedUrl: string;\n onSelectUrl: (url: string) => void;\n itemsToExpandInitially: InitiallyExpandedItems;\n};\n\nexport const DocumentLink = ({\n document,\n appBridge,\n selectedUrl,\n onSelectUrl,\n itemsToExpandInitially,\n}: DocumentLinkProps) => {\n const [isExpanded, setIsExpanded] = useState(document.id === itemsToExpandInitially.documentId);\n const isActive = document.permanentLink === selectedUrl;\n\n useEffect(() => {\n if (document.id === itemsToExpandInitially.documentId) {\n setIsExpanded(true);\n }\n }, [itemsToExpandInitially, document.id]);\n\n return (\n <>\n <button\n data-test-id=\"internal-link-selector-document-link\"\n className={merge([\n 'tw-flex tw-flex-1 tw-space-x-2 tw-items-center tw-py-2 tw-px-2.5 tw-leading-5 tw-cursor-pointer tw-w-full',\n isActive\n ? 'tw-bg-box-selected-strong tw-text-box-selected-strong-inverse hover:tw-bg-box-selected-strong-hover:hover hover:tw-text-box-selected-strong-inverse-hover:hover'\n : 'hover:tw-bg-box-neutral-hover hover:tw-text-box-neutral-inverse-hover',\n ])}\n onClick={() => onSelectUrl(document.permanentLink)}\n onFocus={() => onSelectUrl(document.permanentLink)}\n >\n <div\n role=\"button\"\n tabIndex={0}\n data-test-id=\"tree-item-toggle\"\n className=\"tw-flex tw-items-center tw-justify-center tw-p-1.5 tw-cursor-pointer\"\n onClick={() => setIsExpanded(!isExpanded)}\n onFocus={() => setIsExpanded(!isExpanded)}\n >\n <div\n className={merge([\n 'tw-transition-transform tw-w-0 tw-h-0 tw-font-normal tw-border-t-4 tw-border-t-transparent tw-border-b-4 tw-border-b-transparent tw-border-l-4 tw-border-l-x-strong',\n isExpanded ? 'tw-rotate-90' : '',\n ])}\n ></div>\n </div>\n <IconColorFan16 />\n <span className=\"tw-text-s\">{document.title}</span>\n <span className=\"tw-flex-auto tw-font-sans tw-text-xs tw-text-right\">Document</span>\n </button>\n {isExpanded && (\n <PageLinks\n appBridge={appBridge}\n documentId={document.id}\n selectedUrl={selectedUrl}\n onSelectUrl={onSelectUrl}\n itemsToExpandInitially={itemsToExpandInitially}\n />\n )}\n </>\n );\n};\n"],"names":["DocumentLink","document","appBridge","selectedUrl","onSelectUrl","itemsToExpandInitially","isExpanded","setIsExpanded","useState","isActive","useEffect","jsxs","Fragment","merge","jsx","IconColorFan16","PageLinks"],"mappings":";;;;AAoBO,MAAMA,IAAe,CAAC;AAAA,EACzB,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,aAAAC;AAAA,EACA,aAAAC;AAAA,EACA,wBAAAC;AACJ,MAAyB;AACf,QAAA,CAACC,GAAYC,CAAa,IAAIC,EAASP,EAAS,OAAOI,EAAuB,UAAU,GACxFI,IAAWR,EAAS,kBAAkBE;AAE5C,SAAAO,EAAU,MAAM;AACR,IAAAT,EAAS,OAAOI,EAAuB,cACvCE,EAAc,EAAI;AAAA,EAEvB,GAAA,CAACF,GAAwBJ,EAAS,EAAE,CAAC,GAIhC,gBAAAU,EAAAC,GAAA,EAAA,UAAA;AAAA,IAAA,gBAAAD;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,gBAAa;AAAA,QACb,WAAWE,EAAM;AAAA,UACb;AAAA,UACAJ,IACM,oKACA;AAAA,QAAA,CACT;AAAA,QACD,SAAS,MAAML,EAAYH,EAAS,aAAa;AAAA,QACjD,SAAS,MAAMG,EAAYH,EAAS,aAAa;AAAA,QAEjD,UAAA;AAAA,UAAA,gBAAAa;AAAA,YAAC;AAAA,YAAA;AAAA,cACG,MAAK;AAAA,cACL,UAAU;AAAA,cACV,gBAAa;AAAA,cACb,WAAU;AAAA,cACV,SAAS,MAAMP,EAAc,CAACD,CAAU;AAAA,cACxC,SAAS,MAAMC,EAAc,CAACD,CAAU;AAAA,cAExC,UAAA,gBAAAQ;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACG,WAAWD,EAAM;AAAA,oBACb;AAAA,oBACAP,IAAa,iBAAiB;AAAA,kBAAA,CACjC;AAAA,gBAAA;AAAA,cACJ;AAAA,YAAA;AAAA,UACL;AAAA,4BACCS,GAAe,EAAA;AAAA,UACf,gBAAAD,EAAA,QAAA,EAAK,WAAU,aAAa,YAAS,OAAM;AAAA,UAC3C,gBAAAA,EAAA,QAAA,EAAK,WAAU,sDAAqD,UAAQ,YAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IACjF;AAAA,IACCR,KACG,gBAAAQ;AAAA,MAACE;AAAA,MAAA;AAAA,QACG,WAAAd;AAAA,QACA,YAAYD,EAAS;AAAA,QACrB,aAAAE;AAAA,QACA,aAAAC;AAAA,QACA,wBAAAC;AAAA,MAAA;AAAA,IACJ;AAAA,EAER,EAAA,CAAA;AAER;"}
1
+ {"version":3,"file":"DocumentLink.es.js","sources":["../../../../src/components/Link/LinkSelector/DocumentLink.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport type { AppBridgeBlock, AppBridgeTheme } from '@frontify/app-bridge';\nimport { useEffect, useState } from 'react';\nimport { PageLinks } from './PageLinks';\nimport { IconColorFan16, merge } from '@frontify/fondue';\nimport { InitiallyExpandedItems } from '../';\n\ntype DocumentLinkProps = {\n document: {\n id: number;\n title: string;\n permanentLink: string;\n };\n appBridge: AppBridgeBlock | AppBridgeTheme;\n selectedUrl: string;\n onSelectUrl: (url: string) => void;\n itemsToExpandInitially: InitiallyExpandedItems;\n};\n\nexport const DocumentLink = ({\n document,\n appBridge,\n selectedUrl,\n onSelectUrl,\n itemsToExpandInitially,\n}: DocumentLinkProps) => {\n const [isExpanded, setIsExpanded] = useState(document.id === itemsToExpandInitially.documentId);\n const isActive = document.permanentLink === selectedUrl;\n\n useEffect(() => {\n if (document.id === itemsToExpandInitially.documentId) {\n setIsExpanded(true);\n }\n }, [itemsToExpandInitially, document.id]);\n\n return (\n <>\n <button\n data-test-id=\"internal-link-selector-document-link\"\n className={merge([\n 'tw-flex tw-flex-1 tw-space-x-2 tw-items-center tw-py-2 tw-px-2.5 tw-leading-5 tw-cursor-pointer tw-w-full',\n isActive\n ? 'tw-bg-box-selected-strong tw-text-box-selected-strong-inverse hover:tw-bg-box-selected-strong-hover:hover hover:tw-text-box-selected-strong-inverse-hover:hover'\n : 'hover:tw-bg-box-neutral-hover hover:tw-text-box-neutral-inverse-hover',\n ])}\n onClick={() => onSelectUrl(document.permanentLink)}\n onFocus={() => onSelectUrl(document.permanentLink)}\n >\n <div\n role=\"button\"\n tabIndex={0}\n data-test-id=\"tree-item-toggle\"\n className=\"tw-flex tw-items-center tw-justify-center tw-p-1.5 tw-cursor-pointer\"\n onClick={() => setIsExpanded(!isExpanded)}\n onFocus={() => setIsExpanded(!isExpanded)}\n >\n <div\n className={merge([\n 'tw-transition-transform tw-w-0 tw-h-0 tw-font-normal tw-border-t-4 tw-border-t-transparent tw-border-b-4 tw-border-b-transparent tw-border-l-4 tw-border-l-x-strong',\n isExpanded ? 'tw-rotate-90' : '',\n ])}\n ></div>\n </div>\n <IconColorFan16 />\n <span className=\"tw-text-s\">{document.title}</span>\n <span className=\"tw-flex-auto tw-font-sans tw-text-xs tw-text-right\">Document</span>\n </button>\n {isExpanded && (\n <PageLinks\n appBridge={appBridge}\n documentId={document.id}\n selectedUrl={selectedUrl}\n onSelectUrl={onSelectUrl}\n itemsToExpandInitially={itemsToExpandInitially}\n />\n )}\n </>\n );\n};\n"],"names":["DocumentLink","document","appBridge","selectedUrl","onSelectUrl","itemsToExpandInitially","isExpanded","setIsExpanded","useState","isActive","useEffect","jsxs","Fragment","merge","jsx","IconColorFan16","PageLinks"],"mappings":";;;;AAoBO,MAAMA,IAAe,CAAC;AAAA,EACzB,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,aAAAC;AAAA,EACA,aAAAC;AAAA,EACA,wBAAAC;AACJ,MAAyB;AACf,QAAA,CAACC,GAAYC,CAAa,IAAIC,EAASP,EAAS,OAAOI,EAAuB,UAAU,GACxFI,IAAWR,EAAS,kBAAkBE;AAE5C,SAAAO,EAAU,MAAM;AACR,IAAAT,EAAS,OAAOI,EAAuB,cACvCE,EAAc,EAAI;AAAA,EAEvB,GAAA,CAACF,GAAwBJ,EAAS,EAAE,CAAC,GAIhC,gBAAAU,EAAAC,GAAA,EAAA,UAAA;AAAA,IAAA,gBAAAD;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,gBAAa;AAAA,QACb,WAAWE,EAAM;AAAA,UACb;AAAA,UACAJ,IACM,oKACA;AAAA,QAAA,CACT;AAAA,QACD,SAAS,MAAML,EAAYH,EAAS,aAAa;AAAA,QACjD,SAAS,MAAMG,EAAYH,EAAS,aAAa;AAAA,QAEjD,UAAA;AAAA,UAAA,gBAAAa;AAAA,YAAC;AAAA,YAAA;AAAA,cACG,MAAK;AAAA,cACL,UAAU;AAAA,cACV,gBAAa;AAAA,cACb,WAAU;AAAA,cACV,SAAS,MAAMP,EAAc,CAACD,CAAU;AAAA,cACxC,SAAS,MAAMC,EAAc,CAACD,CAAU;AAAA,cAExC,UAAA,gBAAAQ;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACG,WAAWD,EAAM;AAAA,oBACb;AAAA,oBACAP,IAAa,iBAAiB;AAAA,kBAAA,CACjC;AAAA,gBAAA;AAAA,cACJ;AAAA,YAAA;AAAA,UACL;AAAA,4BACCS,GAAe,EAAA;AAAA,UACf,gBAAAD,EAAA,QAAA,EAAK,WAAU,aAAa,YAAS,OAAM;AAAA,UAC3C,gBAAAA,EAAA,QAAA,EAAK,WAAU,sDAAqD,UAAQ,YAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IACjF;AAAA,IACCR,KACG,gBAAAQ;AAAA,MAACE;AAAA,MAAA;AAAA,QACG,WAAAd;AAAA,QACA,YAAYD,EAAS;AAAA,QACrB,aAAAE;AAAA,QACA,aAAAC;AAAA,QACA,wBAAAC;AAAA,MAAA;AAAA,IACJ;AAAA,EAER,EAAA,CAAA;AAER;"}
@@ -1 +1 @@
1
- {"version":3,"file":"DocumentLinks.es.js","sources":["../../../../src/components/Link/LinkSelector/DocumentLinks.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { AppBridgeBlock, Document } from '@frontify/app-bridge';\nimport { LoadingCircle } from '@frontify/fondue';\nimport { ReactElement, useEffect, useState } from 'react';\nimport { DocumentLink } from './DocumentLink';\nimport { InitiallyExpandedItems } from '../';\n\ntype DocumentLinksProps = {\n appBridge: AppBridgeBlock;\n selectedUrl: string;\n onSelectUrl: (url: string) => void;\n};\n\nexport const DocumentLinks = ({ appBridge, selectedUrl, onSelectUrl }: DocumentLinksProps): ReactElement => {\n const [isLoading, setIsLoading] = useState(true);\n const [documents, setDocuments] = useState<Document[]>([]);\n const [itemsToExpandInitially, setItemsToExpandInitially] = useState<InitiallyExpandedItems>({\n documentId: undefined,\n pageId: undefined,\n });\n\n const documentArray = [...documents.values()];\n\n useEffect(() => {\n if (selectedUrl && documentArray.length > 0) {\n findLocationOfSelectedUrl().then((items) => {\n setItemsToExpandInitially(items);\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [documentArray.length]);\n\n useEffect(() => {\n appBridge\n .getAllDocuments()\n .then((_documents) => {\n setDocuments(_documents);\n })\n .finally(() => {\n setIsLoading(false);\n });\n }, []);\n\n const findLocationOfSelectedUrl = async () => {\n const itemsToExpand: InitiallyExpandedItems = {\n documentId: undefined,\n pageId: undefined,\n };\n const selectedUrlIsDocument = documentArray.find((document) => document.permanentLink === selectedUrl);\n if (selectedUrlIsDocument) {\n return itemsToExpand;\n }\n for (const document of documentArray) {\n const pages = await appBridge.getDocumentPagesByDocumentId(document.id);\n appBridge.getAllDocuments();\n const pagesArray = [...pages.values()];\n const selectedUrlIsPage = !!pagesArray.find((page) => page.permanentLink === selectedUrl);\n if (selectedUrlIsPage) {\n itemsToExpand.documentId = document.id;\n return itemsToExpand;\n }\n for (const page of pagesArray) {\n const sections = await appBridge.getDocumentSectionsByDocumentPageId(page.id);\n const sectionsArray = [...sections.values()];\n const selectedUrlIsSection = !!sectionsArray.find((section) => section.permanentLink === selectedUrl);\n if (selectedUrlIsSection) {\n itemsToExpand.documentId = document.id;\n itemsToExpand.pageId = page.id;\n return itemsToExpand;\n }\n }\n }\n return itemsToExpand;\n };\n\n return isLoading ? (\n <div className=\"tw-flex tw-justify-center tw-p-4\">\n <LoadingCircle />\n </div>\n ) : (\n <>\n {documentArray.map((document) => {\n return (\n <DocumentLink\n key={document.id}\n document={document}\n appBridge={appBridge}\n selectedUrl={selectedUrl}\n onSelectUrl={onSelectUrl}\n itemsToExpandInitially={itemsToExpandInitially}\n />\n );\n })}\n </>\n );\n};\n"],"names":["DocumentLinks","appBridge","selectedUrl","onSelectUrl","isLoading","setIsLoading","useState","documents","setDocuments","itemsToExpandInitially","setItemsToExpandInitially","documentArray","useEffect","findLocationOfSelectedUrl","items","_documents","itemsToExpand","document","pages","pagesArray","page","section","jsx","LoadingCircle","Fragment","DocumentLink"],"mappings":";;;;AAcO,MAAMA,IAAgB,CAAC,EAAE,WAAAC,GAAW,aAAAC,GAAa,aAAAC,QAAoD;AACxG,QAAM,CAACC,GAAWC,CAAY,IAAIC,EAAS,EAAI,GACzC,CAACC,GAAWC,CAAY,IAAIF,EAAqB,CAAE,CAAA,GACnD,CAACG,GAAwBC,CAAyB,IAAIJ,EAAiC;AAAA,IACzF,YAAY;AAAA,IACZ,QAAQ;AAAA,EAAA,CACX,GAEKK,IAAgB,CAAC,GAAGJ,EAAU,OAAQ,CAAA;AAE5C,EAAAK,EAAU,MAAM;AACR,IAAAV,KAAeS,EAAc,SAAS,KACZE,EAAA,EAAE,KAAK,CAACC,MAAU;AACxC,MAAAJ,EAA0BI,CAAK;AAAA,IAAA,CAClC;AAAA,EACL,GAED,CAACH,EAAc,MAAM,CAAC,GAEzBC,EAAU,MAAM;AACZ,IAAAX,EACK,gBAAgB,EAChB,KAAK,CAACc,MAAe;AAClB,MAAAP,EAAaO,CAAU;AAAA,IAAA,CAC1B,EACA,QAAQ,MAAM;AACX,MAAAV,EAAa,EAAK;AAAA,IAAA,CACrB;AAAA,EACT,GAAG,CAAE,CAAA;AAEL,QAAMQ,IAA4B,YAAY;AAC1C,UAAMG,IAAwC;AAAA,MAC1C,YAAY;AAAA,MACZ,QAAQ;AAAA,IAAA;AAGZ,QAD8BL,EAAc,KAAK,CAACM,MAAaA,EAAS,kBAAkBf,CAAW;AAE1F,aAAAc;AAEX,eAAWC,KAAYN,GAAe;AAClC,YAAMO,IAAQ,MAAMjB,EAAU,6BAA6BgB,EAAS,EAAE;AACtE,MAAAhB,EAAU,gBAAgB;AAC1B,YAAMkB,IAAa,CAAC,GAAGD,EAAM,OAAQ,CAAA;AAErC,UAD0B,CAAC,CAACC,EAAW,KAAK,CAACC,MAASA,EAAK,kBAAkBlB,CAAW;AAEpF,eAAAc,EAAc,aAAaC,EAAS,IAC7BD;AAEX,iBAAWI,KAAQD;AAIf,YAD6B,CAAC,CADR,CAAC,IADN,MAAMlB,EAAU,oCAAoCmB,EAAK,EAAE,GACzC,OAAQ,CAAA,EACE,KAAK,CAACC,MAAYA,EAAQ,kBAAkBnB,CAAW;AAEhG,iBAAAc,EAAc,aAAaC,EAAS,IACpCD,EAAc,SAASI,EAAK,IACrBJ;AAAA,IAGnB;AACO,WAAAA;AAAA,EAAA;AAGX,SAAOZ,IACH,gBAAAkB,EAAC,OAAI,EAAA,WAAU,oCACX,UAAA,gBAAAA,EAACC,GAAc,CAAA,CAAA,GACnB,IAEA,gBAAAD,EAAAE,GAAA,EACK,UAAcb,EAAA,IAAI,CAACM,MAEZ,gBAAAK;AAAA,IAACG;AAAA,IAAA;AAAA,MAEG,UAAAR;AAAA,MACA,WAAAhB;AAAA,MACA,aAAAC;AAAA,MACA,aAAAC;AAAA,MACA,wBAAAM;AAAA,IAAA;AAAA,IALKQ,EAAS;AAAA,EAAA,CAQzB,EACL,CAAA;AAER;"}
1
+ {"version":3,"file":"DocumentLinks.es.js","sources":["../../../../src/components/Link/LinkSelector/DocumentLinks.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport type { AppBridgeBlock, AppBridgeTheme, Document } from '@frontify/app-bridge';\nimport { LoadingCircle } from '@frontify/fondue';\nimport { ReactElement, useEffect, useState } from 'react';\nimport { DocumentLink } from './DocumentLink';\nimport { InitiallyExpandedItems } from '../';\n\ntype DocumentLinksProps = {\n appBridge: AppBridgeBlock | AppBridgeTheme;\n selectedUrl: string;\n onSelectUrl: (url: string) => void;\n};\n\nexport const DocumentLinks = ({ appBridge, selectedUrl, onSelectUrl }: DocumentLinksProps): ReactElement => {\n const [isLoading, setIsLoading] = useState(true);\n const [documents, setDocuments] = useState<Document[]>([]);\n const [itemsToExpandInitially, setItemsToExpandInitially] = useState<InitiallyExpandedItems>({\n documentId: undefined,\n pageId: undefined,\n });\n\n const documentArray = [...documents.values()];\n\n useEffect(() => {\n if (selectedUrl && documentArray.length > 0) {\n findLocationOfSelectedUrl().then((items) => {\n setItemsToExpandInitially(items);\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [documentArray.length]);\n\n useEffect(() => {\n appBridge\n .getAllDocuments()\n .then((_documents) => {\n setDocuments(_documents);\n })\n .finally(() => {\n setIsLoading(false);\n });\n }, []);\n\n const findLocationOfSelectedUrl = async () => {\n const itemsToExpand: InitiallyExpandedItems = {\n documentId: undefined,\n pageId: undefined,\n };\n const selectedUrlIsDocument = documentArray.find((document) => document.permanentLink === selectedUrl);\n if (selectedUrlIsDocument) {\n return itemsToExpand;\n }\n for (const document of documentArray) {\n const pages = await appBridge.getDocumentPagesByDocumentId(document.id);\n appBridge.getAllDocuments();\n const pagesArray = [...pages.values()];\n const selectedUrlIsPage = !!pagesArray.find((page) => page.permanentLink === selectedUrl);\n if (selectedUrlIsPage) {\n itemsToExpand.documentId = document.id;\n return itemsToExpand;\n }\n for (const page of pagesArray) {\n const sections = await appBridge.getDocumentSectionsByDocumentPageId(page.id);\n const sectionsArray = [...sections.values()];\n const selectedUrlIsSection = !!sectionsArray.find((section) => section.permanentLink === selectedUrl);\n if (selectedUrlIsSection) {\n itemsToExpand.documentId = document.id;\n itemsToExpand.pageId = page.id;\n return itemsToExpand;\n }\n }\n }\n return itemsToExpand;\n };\n\n return isLoading ? (\n <div className=\"tw-flex tw-justify-center tw-p-4\">\n <LoadingCircle />\n </div>\n ) : (\n <>\n {documentArray.map((document) => {\n return (\n <DocumentLink\n key={document.id}\n document={document}\n appBridge={appBridge}\n selectedUrl={selectedUrl}\n onSelectUrl={onSelectUrl}\n itemsToExpandInitially={itemsToExpandInitially}\n />\n );\n })}\n </>\n );\n};\n"],"names":["DocumentLinks","appBridge","selectedUrl","onSelectUrl","isLoading","setIsLoading","useState","documents","setDocuments","itemsToExpandInitially","setItemsToExpandInitially","documentArray","useEffect","findLocationOfSelectedUrl","items","_documents","itemsToExpand","document","pages","pagesArray","page","section","jsx","LoadingCircle","Fragment","DocumentLink"],"mappings":";;;;AAcO,MAAMA,IAAgB,CAAC,EAAE,WAAAC,GAAW,aAAAC,GAAa,aAAAC,QAAoD;AACxG,QAAM,CAACC,GAAWC,CAAY,IAAIC,EAAS,EAAI,GACzC,CAACC,GAAWC,CAAY,IAAIF,EAAqB,CAAE,CAAA,GACnD,CAACG,GAAwBC,CAAyB,IAAIJ,EAAiC;AAAA,IACzF,YAAY;AAAA,IACZ,QAAQ;AAAA,EAAA,CACX,GAEKK,IAAgB,CAAC,GAAGJ,EAAU,OAAQ,CAAA;AAE5C,EAAAK,EAAU,MAAM;AACR,IAAAV,KAAeS,EAAc,SAAS,KACZE,EAAA,EAAE,KAAK,CAACC,MAAU;AACxC,MAAAJ,EAA0BI,CAAK;AAAA,IAAA,CAClC;AAAA,EACL,GAED,CAACH,EAAc,MAAM,CAAC,GAEzBC,EAAU,MAAM;AACZ,IAAAX,EACK,gBAAgB,EAChB,KAAK,CAACc,MAAe;AAClB,MAAAP,EAAaO,CAAU;AAAA,IAAA,CAC1B,EACA,QAAQ,MAAM;AACX,MAAAV,EAAa,EAAK;AAAA,IAAA,CACrB;AAAA,EACT,GAAG,CAAE,CAAA;AAEL,QAAMQ,IAA4B,YAAY;AAC1C,UAAMG,IAAwC;AAAA,MAC1C,YAAY;AAAA,MACZ,QAAQ;AAAA,IAAA;AAGZ,QAD8BL,EAAc,KAAK,CAACM,MAAaA,EAAS,kBAAkBf,CAAW;AAE1F,aAAAc;AAEX,eAAWC,KAAYN,GAAe;AAClC,YAAMO,IAAQ,MAAMjB,EAAU,6BAA6BgB,EAAS,EAAE;AACtE,MAAAhB,EAAU,gBAAgB;AAC1B,YAAMkB,IAAa,CAAC,GAAGD,EAAM,OAAQ,CAAA;AAErC,UAD0B,CAAC,CAACC,EAAW,KAAK,CAACC,MAASA,EAAK,kBAAkBlB,CAAW;AAEpF,eAAAc,EAAc,aAAaC,EAAS,IAC7BD;AAEX,iBAAWI,KAAQD;AAIf,YAD6B,CAAC,CADR,CAAC,IADN,MAAMlB,EAAU,oCAAoCmB,EAAK,EAAE,GACzC,OAAQ,CAAA,EACE,KAAK,CAACC,MAAYA,EAAQ,kBAAkBnB,CAAW;AAEhG,iBAAAc,EAAc,aAAaC,EAAS,IACpCD,EAAc,SAASI,EAAK,IACrBJ;AAAA,IAGnB;AACO,WAAAA;AAAA,EAAA;AAGX,SAAOZ,IACH,gBAAAkB,EAAC,OAAI,EAAA,WAAU,oCACX,UAAA,gBAAAA,EAACC,GAAc,CAAA,CAAA,GACnB,IAEA,gBAAAD,EAAAE,GAAA,EACK,UAAcb,EAAA,IAAI,CAACM,MAEZ,gBAAAK;AAAA,IAACG;AAAA,IAAA;AAAA,MAEG,UAAAR;AAAA,MACA,WAAAhB;AAAA,MACA,aAAAC;AAAA,MACA,aAAAC;AAAA,MACA,wBAAAM;AAAA,IAAA;AAAA,IALKQ,EAAS;AAAA,EAAA,CAQzB,EACL,CAAA;AAER;"}
@@ -1 +1 @@
1
- {"version":3,"file":"LinkSelector.es.js","sources":["../../../../src/components/Link/LinkSelector/LinkSelector.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { AppBridgeBlock } from '@frontify/app-bridge';\nimport { Button, ButtonEmphasis, ButtonSize, ButtonStyle, ButtonType, IconLink, Modal } from '@frontify/fondue';\nimport { useOverlayTriggerState } from '@react-stately/overlays';\nimport { KeyboardEvent, ReactElement, useEffect, useState } from 'react';\nimport { DocumentLinks } from './DocumentLinks';\n\ntype LinkSelectorProps = {\n appBridge: AppBridgeBlock;\n url: string;\n onUrlChange?: (value: string) => void;\n buttonSize?: ButtonSize;\n};\n\nexport const LinkSelector = ({\n appBridge,\n url,\n onUrlChange,\n buttonSize = ButtonSize.Medium,\n}: LinkSelectorProps): ReactElement => {\n const { open: openLinkTree, isOpen: isLinkTreeOpen, close: closeLinkTree } = useOverlayTriggerState({});\n const [selectedUrl, setSelectedUrl] = useState<string>(url);\n\n const onSelectUrl = (url: string) => {\n setSelectedUrl(url);\n };\n\n const onPressEnter = (event: KeyboardEvent<HTMLInputElement>) => {\n if (event.key === 'Enter') {\n saveLink();\n }\n };\n\n useEffect(() => {\n if (url && !selectedUrl) {\n setSelectedUrl(url);\n }\n }, [url, selectedUrl]);\n\n const saveLink = () => {\n onUrlChange?.(selectedUrl);\n closeLinkTree();\n };\n\n return (\n <div data-test-id=\"internal-link-selector\" onKeyDown={onPressEnter}>\n <Button\n icon={<IconLink />}\n size={buttonSize}\n type={ButtonType.Button}\n style={ButtonStyle.Default}\n emphasis={ButtonEmphasis.Default}\n onClick={() => openLinkTree()}\n >\n Internal link\n </Button>\n <Modal zIndex={1001} onClose={() => closeLinkTree()} isOpen={isLinkTreeOpen} isDismissable>\n <Modal.Header title=\"Select internal link\" />\n <Modal.Body>\n <DocumentLinks appBridge={appBridge} selectedUrl={selectedUrl} onSelectUrl={onSelectUrl} />\n </Modal.Body>\n <Modal.Footer\n buttons={[\n {\n children: 'Cancel',\n onClick: () => closeLinkTree(),\n style: ButtonStyle.Default,\n emphasis: ButtonEmphasis.Default,\n },\n {\n children: 'Choose',\n onClick: (event) => {\n event?.preventDefault();\n saveLink();\n },\n style: ButtonStyle.Default,\n emphasis: ButtonEmphasis.Strong,\n disabled: !selectedUrl,\n },\n ]}\n />\n </Modal>\n </div>\n );\n};\n"],"names":["LinkSelector","appBridge","url","onUrlChange","buttonSize","ButtonSize","openLinkTree","isLinkTreeOpen","closeLinkTree","useOverlayTriggerState","selectedUrl","setSelectedUrl","useState","onSelectUrl","onPressEnter","event","saveLink","useEffect","jsxs","jsx","Button","IconLink","ButtonType","ButtonStyle","ButtonEmphasis","Modal","DocumentLinks"],"mappings":";;;;;AAeO,MAAMA,IAAe,CAAC;AAAA,EACzB,WAAAC;AAAA,EACA,KAAAC;AAAA,EACA,aAAAC;AAAA,EACA,YAAAC,IAAaC,EAAW;AAC5B,MAAuC;AAC7B,QAAA,EAAE,MAAMC,GAAc,QAAQC,GAAgB,OAAOC,EAAc,IAAIC,EAAuB,CAAA,CAAE,GAChG,CAACC,GAAaC,CAAc,IAAIC,EAAiBV,CAAG,GAEpDW,IAAc,CAACX,MAAgB;AACjC,IAAAS,EAAeT,CAAG;AAAA,EAAA,GAGhBY,IAAe,CAACC,MAA2C;AACzD,IAAAA,EAAM,QAAQ,WACLC;EACb;AAGJ,EAAAC,EAAU,MAAM;AACR,IAAAf,KAAO,CAACQ,KACRC,EAAeT,CAAG;AAAA,EACtB,GACD,CAACA,GAAKQ,CAAW,CAAC;AAErB,QAAMM,IAAW,MAAM;AACnB,IAAAb,KAAA,QAAAA,EAAcO,IACAF;EAAA;AAGlB,SACK,gBAAAU,EAAA,OAAA,EAAI,gBAAa,0BAAyB,WAAWJ,GAClD,UAAA;AAAA,IAAA,gBAAAK;AAAA,MAACC;AAAA,MAAA;AAAA,QACG,wBAAOC,GAAS,EAAA;AAAA,QAChB,MAAMjB;AAAA,QACN,MAAMkB,EAAW;AAAA,QACjB,OAAOC,EAAY;AAAA,QACnB,UAAUC,EAAe;AAAA,QACzB,SAAS,MAAMlB,EAAa;AAAA,QAC/B,UAAA;AAAA,MAAA;AAAA,IAED;AAAA,IACA,gBAAAY,EAACO,GAAM,EAAA,QAAQ,MAAM,SAAS,MAAMjB,EAAiB,GAAA,QAAQD,GAAgB,eAAa,IACtF,UAAA;AAAA,MAAA,gBAAAY,EAACM,EAAM,QAAN,EAAa,OAAM,uBAAuB,CAAA;AAAA,MAC3C,gBAAAN,EAACM,EAAM,MAAN,EACG,4BAACC,GAAc,EAAA,WAAAzB,GAAsB,aAAAS,GAA0B,aAAAG,EAAA,CAA0B,EAC7F,CAAA;AAAA,MACA,gBAAAM;AAAA,QAACM,EAAM;AAAA,QAAN;AAAA,UACG,SAAS;AAAA,YACL;AAAA,cACI,UAAU;AAAA,cACV,SAAS,MAAMjB,EAAc;AAAA,cAC7B,OAAOe,EAAY;AAAA,cACnB,UAAUC,EAAe;AAAA,YAC7B;AAAA,YACA;AAAA,cACI,UAAU;AAAA,cACV,SAAS,CAACT,MAAU;AAChB,gBAAAA,KAAA,QAAAA,EAAO,kBACEC;cACb;AAAA,cACA,OAAOO,EAAY;AAAA,cACnB,UAAUC,EAAe;AAAA,cACzB,UAAU,CAACd;AAAA,YACf;AAAA,UACJ;AAAA,QAAA;AAAA,MACJ;AAAA,IAAA,GACJ;AAAA,EACJ,EAAA,CAAA;AAER;"}
1
+ {"version":3,"file":"LinkSelector.es.js","sources":["../../../../src/components/Link/LinkSelector/LinkSelector.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport type { AppBridgeBlock, AppBridgeTheme } from '@frontify/app-bridge';\nimport { Button, ButtonEmphasis, ButtonSize, ButtonStyle, ButtonType, IconLink, Modal } from '@frontify/fondue';\nimport { useOverlayTriggerState } from '@react-stately/overlays';\nimport { KeyboardEvent, ReactElement, useEffect, useState } from 'react';\nimport { DocumentLinks } from './DocumentLinks';\n\ntype LinkSelectorProps = {\n appBridge: AppBridgeBlock | AppBridgeTheme;\n url: string;\n onUrlChange?: (value: string) => void;\n buttonSize?: ButtonSize;\n};\n\nexport const LinkSelector = ({\n appBridge,\n url,\n onUrlChange,\n buttonSize = ButtonSize.Medium,\n}: LinkSelectorProps): ReactElement => {\n const { open: openLinkTree, isOpen: isLinkTreeOpen, close: closeLinkTree } = useOverlayTriggerState({});\n const [selectedUrl, setSelectedUrl] = useState<string>(url);\n\n const onSelectUrl = (url: string) => {\n setSelectedUrl(url);\n };\n\n const onPressEnter = (event: KeyboardEvent<HTMLInputElement>) => {\n if (event.key === 'Enter') {\n saveLink();\n }\n };\n\n useEffect(() => {\n if (url && !selectedUrl) {\n setSelectedUrl(url);\n }\n }, [url, selectedUrl]);\n\n const saveLink = () => {\n onUrlChange?.(selectedUrl);\n closeLinkTree();\n };\n\n return (\n <div data-test-id=\"internal-link-selector\" onKeyDown={onPressEnter}>\n <Button\n icon={<IconLink />}\n size={buttonSize}\n type={ButtonType.Button}\n style={ButtonStyle.Default}\n emphasis={ButtonEmphasis.Default}\n onClick={() => openLinkTree()}\n >\n Internal link\n </Button>\n <Modal zIndex={1001} onClose={() => closeLinkTree()} isOpen={isLinkTreeOpen} isDismissable>\n <Modal.Header title=\"Select internal link\" />\n <Modal.Body>\n <DocumentLinks appBridge={appBridge} selectedUrl={selectedUrl} onSelectUrl={onSelectUrl} />\n </Modal.Body>\n <Modal.Footer\n buttons={[\n {\n children: 'Cancel',\n onClick: () => closeLinkTree(),\n style: ButtonStyle.Default,\n emphasis: ButtonEmphasis.Default,\n },\n {\n children: 'Choose',\n onClick: (event) => {\n event?.preventDefault();\n saveLink();\n },\n style: ButtonStyle.Default,\n emphasis: ButtonEmphasis.Strong,\n disabled: !selectedUrl,\n },\n ]}\n />\n </Modal>\n </div>\n );\n};\n"],"names":["LinkSelector","appBridge","url","onUrlChange","buttonSize","ButtonSize","openLinkTree","isLinkTreeOpen","closeLinkTree","useOverlayTriggerState","selectedUrl","setSelectedUrl","useState","onSelectUrl","onPressEnter","event","saveLink","useEffect","jsxs","jsx","Button","IconLink","ButtonType","ButtonStyle","ButtonEmphasis","Modal","DocumentLinks"],"mappings":";;;;;AAeO,MAAMA,IAAe,CAAC;AAAA,EACzB,WAAAC;AAAA,EACA,KAAAC;AAAA,EACA,aAAAC;AAAA,EACA,YAAAC,IAAaC,EAAW;AAC5B,MAAuC;AAC7B,QAAA,EAAE,MAAMC,GAAc,QAAQC,GAAgB,OAAOC,EAAc,IAAIC,EAAuB,CAAA,CAAE,GAChG,CAACC,GAAaC,CAAc,IAAIC,EAAiBV,CAAG,GAEpDW,IAAc,CAACX,MAAgB;AACjC,IAAAS,EAAeT,CAAG;AAAA,EAAA,GAGhBY,IAAe,CAACC,MAA2C;AACzD,IAAAA,EAAM,QAAQ,WACLC;EACb;AAGJ,EAAAC,EAAU,MAAM;AACR,IAAAf,KAAO,CAACQ,KACRC,EAAeT,CAAG;AAAA,EACtB,GACD,CAACA,GAAKQ,CAAW,CAAC;AAErB,QAAMM,IAAW,MAAM;AACnB,IAAAb,KAAA,QAAAA,EAAcO,IACAF;EAAA;AAGlB,SACK,gBAAAU,EAAA,OAAA,EAAI,gBAAa,0BAAyB,WAAWJ,GAClD,UAAA;AAAA,IAAA,gBAAAK;AAAA,MAACC;AAAA,MAAA;AAAA,QACG,wBAAOC,GAAS,EAAA;AAAA,QAChB,MAAMjB;AAAA,QACN,MAAMkB,EAAW;AAAA,QACjB,OAAOC,EAAY;AAAA,QACnB,UAAUC,EAAe;AAAA,QACzB,SAAS,MAAMlB,EAAa;AAAA,QAC/B,UAAA;AAAA,MAAA;AAAA,IAED;AAAA,IACA,gBAAAY,EAACO,GAAM,EAAA,QAAQ,MAAM,SAAS,MAAMjB,EAAiB,GAAA,QAAQD,GAAgB,eAAa,IACtF,UAAA;AAAA,MAAA,gBAAAY,EAACM,EAAM,QAAN,EAAa,OAAM,uBAAuB,CAAA;AAAA,MAC3C,gBAAAN,EAACM,EAAM,MAAN,EACG,4BAACC,GAAc,EAAA,WAAAzB,GAAsB,aAAAS,GAA0B,aAAAG,EAAA,CAA0B,EAC7F,CAAA;AAAA,MACA,gBAAAM;AAAA,QAACM,EAAM;AAAA,QAAN;AAAA,UACG,SAAS;AAAA,YACL;AAAA,cACI,UAAU;AAAA,cACV,SAAS,MAAMjB,EAAc;AAAA,cAC7B,OAAOe,EAAY;AAAA,cACnB,UAAUC,EAAe;AAAA,YAC7B;AAAA,YACA;AAAA,cACI,UAAU;AAAA,cACV,SAAS,CAACT,MAAU;AAChB,gBAAAA,KAAA,QAAAA,EAAO,kBACEC;cACb;AAAA,cACA,OAAOO,EAAY;AAAA,cACnB,UAAUC,EAAe;AAAA,cACzB,UAAU,CAACd;AAAA,YACf;AAAA,UACJ;AAAA,QAAA;AAAA,MACJ;AAAA,IAAA,GACJ;AAAA,EACJ,EAAA,CAAA;AAER;"}
@@ -1 +1 @@
1
- {"version":3,"file":"PageLink.es.js","sources":["../../../../src/components/Link/LinkSelector/PageLink.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { AppBridgeBlock, useDocumentSection } from '@frontify/app-bridge';\nimport { merge } from '@frontify/fondue';\nimport { useEffect, useState } from 'react';\nimport { InitiallyExpandedItems } from '../';\nimport { SectionLink } from './SectionLink';\n\ntype DocumentLinkProps = {\n page: {\n id: number;\n title: string;\n permanentLink: string;\n };\n selectedUrl: string;\n onSelectUrl: (url: string) => void;\n appBridge: AppBridgeBlock;\n itemsToExpandInitially: InitiallyExpandedItems;\n};\n\nexport const PageLink = ({ page, selectedUrl, onSelectUrl, itemsToExpandInitially, appBridge }: DocumentLinkProps) => {\n const [isExpanded, setIsExpanded] = useState(page.id === itemsToExpandInitially.documentId);\n const isActive = page.permanentLink === selectedUrl;\n const { documentSections } = useDocumentSection(appBridge, page.id);\n const sectionsArray = [...documentSections.values()];\n const hasSections = sectionsArray.length > 0;\n\n useEffect(() => {\n if (page.id === itemsToExpandInitially.pageId) {\n setIsExpanded(true);\n }\n }, [itemsToExpandInitially, page.id]);\n\n return (\n <>\n <div\n tabIndex={0}\n data-test-id=\"internal-link-selector-page-link\"\n className={merge([\n 'tw-py-2 tw-px-2.5 tw-leading-5 tw-cursor-pointer',\n hasSections ? 'tw-pl-7' : 'tw-pl-12',\n isActive\n ? 'tw-bg-box-selected-strong tw-text-box-selected-strong-inverse hover:tw-bg-box-selected-strong-hover:hover hover:tw-text-box-selected-strong-inverse-hover:hover'\n : 'hover:tw-bg-box-neutral-hover hover:tw-text-box-neutral-inverse-hover',\n ])}\n onClick={() => onSelectUrl(page.permanentLink)}\n onFocus={() => onSelectUrl(page.permanentLink)}\n >\n <div key={page.id} className=\"tw-flex tw-flex-1 tw-space-x-1 tw-items-center tw-h-6\">\n {hasSections && (\n <button\n data-test-id=\"tree-item-toggle\"\n className=\"tw-flex tw-items-center tw-justify-center tw-p-1.5 tw-cursor-pointer\"\n onClick={() => setIsExpanded(!isExpanded)}\n onFocus={() => setIsExpanded(!isExpanded)}\n >\n <div\n className={merge([\n 'tw-transition-transform tw-w-0 tw-h-0 tw-font-normal tw-border-t-4 tw-border-t-transparent tw-border-b-4 tw-border-b-transparent tw-border-l-4 tw-border-l-x-strong',\n isExpanded ? 'tw-rotate-90' : '',\n ])}\n ></div>\n </button>\n )}\n <span className=\"tw-text-s\">{page.title}</span>\n <span className=\"tw-flex-auto tw-font-sans tw-text-xs tw-text-right\">Page</span>\n </div>\n </div>\n {isExpanded &&\n sectionsArray.length > 0 &&\n sectionsArray.map((section) => {\n return (\n <SectionLink\n key={section.id}\n section={section}\n selectedUrl={selectedUrl}\n onSelectUrl={onSelectUrl}\n />\n );\n })}\n </>\n );\n};\n"],"names":["PageLink","page","selectedUrl","onSelectUrl","itemsToExpandInitially","appBridge","isExpanded","setIsExpanded","useState","isActive","documentSections","useDocumentSection","sectionsArray","hasSections","useEffect","jsxs","Fragment","jsx","merge","section","SectionLink"],"mappings":";;;;;AAoBa,MAAAA,IAAW,CAAC,EAAE,MAAAC,GAAM,aAAAC,GAAa,aAAAC,GAAa,wBAAAC,GAAwB,WAAAC,QAAmC;AAC5G,QAAA,CAACC,GAAYC,CAAa,IAAIC,EAASP,EAAK,OAAOG,EAAuB,UAAU,GACpFK,IAAWR,EAAK,kBAAkBC,GAClC,EAAE,kBAAAQ,EAAiB,IAAIC,EAAmBN,GAAWJ,EAAK,EAAE,GAC5DW,IAAgB,CAAC,GAAGF,EAAiB,OAAQ,CAAA,GAC7CG,IAAcD,EAAc,SAAS;AAE3C,SAAAE,EAAU,MAAM;AACR,IAAAb,EAAK,OAAOG,EAAuB,UACnCG,EAAc,EAAI;AAAA,EAEvB,GAAA,CAACH,GAAwBH,EAAK,EAAE,CAAC,GAI5B,gBAAAc,EAAAC,GAAA,EAAA,UAAA;AAAA,IAAA,gBAAAC;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,UAAU;AAAA,QACV,gBAAa;AAAA,QACb,WAAWC,EAAM;AAAA,UACb;AAAA,UACAL,IAAc,YAAY;AAAA,UAC1BJ,IACM,oKACA;AAAA,QAAA,CACT;AAAA,QACD,SAAS,MAAMN,EAAYF,EAAK,aAAa;AAAA,QAC7C,SAAS,MAAME,EAAYF,EAAK,aAAa;AAAA,QAE7C,UAAA,gBAAAc,EAAC,OAAkB,EAAA,WAAU,yDACxB,UAAA;AAAA,UACGF,KAAA,gBAAAI;AAAA,YAAC;AAAA,YAAA;AAAA,cACG,gBAAa;AAAA,cACb,WAAU;AAAA,cACV,SAAS,MAAMV,EAAc,CAACD,CAAU;AAAA,cACxC,SAAS,MAAMC,EAAc,CAACD,CAAU;AAAA,cAExC,UAAA,gBAAAW;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACG,WAAWC,EAAM;AAAA,oBACb;AAAA,oBACAZ,IAAa,iBAAiB;AAAA,kBAAA,CACjC;AAAA,gBAAA;AAAA,cACJ;AAAA,YAAA;AAAA,UACL;AAAA,UAEH,gBAAAW,EAAA,QAAA,EAAK,WAAU,aAAa,YAAK,OAAM;AAAA,UACvC,gBAAAA,EAAA,QAAA,EAAK,WAAU,sDAAqD,UAAI,QAAA;AAAA,QAAA,EAAA,GAjBnEhB,EAAK,EAkBf;AAAA,MAAA;AAAA,IACJ;AAAA,IACCK,KACGM,EAAc,SAAS,KACvBA,EAAc,IAAI,CAACO,MAEX,gBAAAF;AAAA,MAACG;AAAA,MAAA;AAAA,QAEG,SAAAD;AAAA,QACA,aAAAjB;AAAA,QACA,aAAAC;AAAA,MAAA;AAAA,MAHKgB,EAAQ;AAAA,IAAA,CAMxB;AAAA,EACT,EAAA,CAAA;AAER;"}
1
+ {"version":3,"file":"PageLink.es.js","sources":["../../../../src/components/Link/LinkSelector/PageLink.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { AppBridgeBlock, AppBridgeTheme, useDocumentSection } from '@frontify/app-bridge';\nimport { merge } from '@frontify/fondue';\nimport { useEffect, useState } from 'react';\nimport { InitiallyExpandedItems } from '../';\nimport { SectionLink } from './SectionLink';\n\ntype DocumentLinkProps = {\n page: {\n id: number;\n title: string;\n permanentLink: string;\n };\n selectedUrl: string;\n onSelectUrl: (url: string) => void;\n appBridge: AppBridgeBlock | AppBridgeTheme;\n itemsToExpandInitially: InitiallyExpandedItems;\n};\n\nexport const PageLink = ({ page, selectedUrl, onSelectUrl, itemsToExpandInitially, appBridge }: DocumentLinkProps) => {\n const [isExpanded, setIsExpanded] = useState(page.id === itemsToExpandInitially.documentId);\n const isActive = page.permanentLink === selectedUrl;\n const { documentSections } = useDocumentSection(appBridge, page.id);\n const sectionsArray = [...documentSections.values()];\n const hasSections = sectionsArray.length > 0;\n\n useEffect(() => {\n if (page.id === itemsToExpandInitially.pageId) {\n setIsExpanded(true);\n }\n }, [itemsToExpandInitially, page.id]);\n\n return (\n <>\n <div\n tabIndex={0}\n data-test-id=\"internal-link-selector-page-link\"\n className={merge([\n 'tw-py-2 tw-px-2.5 tw-leading-5 tw-cursor-pointer',\n hasSections ? 'tw-pl-7' : 'tw-pl-12',\n isActive\n ? 'tw-bg-box-selected-strong tw-text-box-selected-strong-inverse hover:tw-bg-box-selected-strong-hover:hover hover:tw-text-box-selected-strong-inverse-hover:hover'\n : 'hover:tw-bg-box-neutral-hover hover:tw-text-box-neutral-inverse-hover',\n ])}\n onClick={() => onSelectUrl(page.permanentLink)}\n onFocus={() => onSelectUrl(page.permanentLink)}\n >\n <div key={page.id} className=\"tw-flex tw-flex-1 tw-space-x-1 tw-items-center tw-h-6\">\n {hasSections && (\n <button\n data-test-id=\"tree-item-toggle\"\n className=\"tw-flex tw-items-center tw-justify-center tw-p-1.5 tw-cursor-pointer\"\n onClick={() => setIsExpanded(!isExpanded)}\n onFocus={() => setIsExpanded(!isExpanded)}\n >\n <div\n className={merge([\n 'tw-transition-transform tw-w-0 tw-h-0 tw-font-normal tw-border-t-4 tw-border-t-transparent tw-border-b-4 tw-border-b-transparent tw-border-l-4 tw-border-l-x-strong',\n isExpanded ? 'tw-rotate-90' : '',\n ])}\n ></div>\n </button>\n )}\n <span className=\"tw-text-s\">{page.title}</span>\n <span className=\"tw-flex-auto tw-font-sans tw-text-xs tw-text-right\">Page</span>\n </div>\n </div>\n {isExpanded &&\n sectionsArray.length > 0 &&\n sectionsArray.map((section) => {\n return (\n <SectionLink\n key={section.id}\n section={section}\n selectedUrl={selectedUrl}\n onSelectUrl={onSelectUrl}\n />\n );\n })}\n </>\n );\n};\n"],"names":["PageLink","page","selectedUrl","onSelectUrl","itemsToExpandInitially","appBridge","isExpanded","setIsExpanded","useState","isActive","documentSections","useDocumentSection","sectionsArray","hasSections","useEffect","jsxs","Fragment","jsx","merge","section","SectionLink"],"mappings":";;;;;AAoBa,MAAAA,IAAW,CAAC,EAAE,MAAAC,GAAM,aAAAC,GAAa,aAAAC,GAAa,wBAAAC,GAAwB,WAAAC,QAAmC;AAC5G,QAAA,CAACC,GAAYC,CAAa,IAAIC,EAASP,EAAK,OAAOG,EAAuB,UAAU,GACpFK,IAAWR,EAAK,kBAAkBC,GAClC,EAAE,kBAAAQ,EAAiB,IAAIC,EAAmBN,GAAWJ,EAAK,EAAE,GAC5DW,IAAgB,CAAC,GAAGF,EAAiB,OAAQ,CAAA,GAC7CG,IAAcD,EAAc,SAAS;AAE3C,SAAAE,EAAU,MAAM;AACR,IAAAb,EAAK,OAAOG,EAAuB,UACnCG,EAAc,EAAI;AAAA,EAEvB,GAAA,CAACH,GAAwBH,EAAK,EAAE,CAAC,GAI5B,gBAAAc,EAAAC,GAAA,EAAA,UAAA;AAAA,IAAA,gBAAAC;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,UAAU;AAAA,QACV,gBAAa;AAAA,QACb,WAAWC,EAAM;AAAA,UACb;AAAA,UACAL,IAAc,YAAY;AAAA,UAC1BJ,IACM,oKACA;AAAA,QAAA,CACT;AAAA,QACD,SAAS,MAAMN,EAAYF,EAAK,aAAa;AAAA,QAC7C,SAAS,MAAME,EAAYF,EAAK,aAAa;AAAA,QAE7C,UAAA,gBAAAc,EAAC,OAAkB,EAAA,WAAU,yDACxB,UAAA;AAAA,UACGF,KAAA,gBAAAI;AAAA,YAAC;AAAA,YAAA;AAAA,cACG,gBAAa;AAAA,cACb,WAAU;AAAA,cACV,SAAS,MAAMV,EAAc,CAACD,CAAU;AAAA,cACxC,SAAS,MAAMC,EAAc,CAACD,CAAU;AAAA,cAExC,UAAA,gBAAAW;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACG,WAAWC,EAAM;AAAA,oBACb;AAAA,oBACAZ,IAAa,iBAAiB;AAAA,kBAAA,CACjC;AAAA,gBAAA;AAAA,cACJ;AAAA,YAAA;AAAA,UACL;AAAA,UAEH,gBAAAW,EAAA,QAAA,EAAK,WAAU,aAAa,YAAK,OAAM;AAAA,UACvC,gBAAAA,EAAA,QAAA,EAAK,WAAU,sDAAqD,UAAI,QAAA;AAAA,QAAA,EAAA,GAjBnEhB,EAAK,EAkBf;AAAA,MAAA;AAAA,IACJ;AAAA,IACCK,KACGM,EAAc,SAAS,KACvBA,EAAc,IAAI,CAACO,MAEX,gBAAAF;AAAA,MAACG;AAAA,MAAA;AAAA,QAEG,SAAAD;AAAA,QACA,aAAAjB;AAAA,QACA,aAAAC;AAAA,MAAA;AAAA,MAHKgB,EAAQ;AAAA,IAAA,CAMxB;AAAA,EACT,EAAA,CAAA;AAER;"}
@@ -1 +1 @@
1
- {"version":3,"file":"PageLinks.es.js","sources":["../../../../src/components/Link/LinkSelector/PageLinks.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { AppBridgeBlock, DocumentPage } from '@frontify/app-bridge';\nimport { LoadingCircle } from '@frontify/fondue';\nimport { ReactElement, useEffect, useState } from 'react';\nimport { InitiallyExpandedItems } from '../';\nimport { PageLink } from './PageLink';\n\ntype PageLinksProps = {\n appBridge: AppBridgeBlock;\n documentId: number;\n selectedUrl: string;\n onSelectUrl: (url: string) => void;\n itemsToExpandInitially: InitiallyExpandedItems;\n};\n\nexport const PageLinks = ({\n appBridge,\n documentId,\n selectedUrl,\n onSelectUrl,\n itemsToExpandInitially,\n}: PageLinksProps): ReactElement => {\n const [pages, setPages] = useState<DocumentPage[]>([]);\n const [isLoading, setIsLoading] = useState(true);\n const pagesArray = [...pages.values()];\n const hasPages = !isLoading && pagesArray.length > 0;\n\n useEffect(() => {\n appBridge\n .getDocumentPagesByDocumentId(documentId)\n .then((_pages) => {\n const pagesWithCategories = _pages\n .filter((page) => !!page.category)\n .sort((a, b) =>\n a.category.sort === b.category.sort ? a.sort - b.sort : a.category.sort - b.category.sort,\n );\n const pagesWithoutCategories = _pages.filter((page) => !page.category).sort((a, b) => a.sort - b.sort);\n setPages([...pagesWithCategories, ...pagesWithoutCategories]);\n })\n .finally(() => {\n setIsLoading(false);\n });\n }, []);\n\n if (isLoading) {\n return (\n <div className=\"tw-flex tw-justify-center tw-p-4\">\n <LoadingCircle />\n </div>\n );\n }\n\n return hasPages ? (\n <>\n {pagesArray.map((page) => {\n return (\n <PageLink\n key={page.id}\n page={page}\n appBridge={appBridge}\n selectedUrl={selectedUrl}\n onSelectUrl={onSelectUrl}\n itemsToExpandInitially={itemsToExpandInitially}\n />\n );\n })}\n </>\n ) : (\n <div className=\"tw-py-2 tw-px-2.5 tw-pl-7 tw-leading-5 tw-text-s tw-text-text-weak\">\n This document does not contain any pages.\n </div>\n );\n};\n"],"names":["PageLinks","appBridge","documentId","selectedUrl","onSelectUrl","itemsToExpandInitially","pages","setPages","useState","isLoading","setIsLoading","pagesArray","hasPages","useEffect","_pages","pagesWithCategories","page","a","b","pagesWithoutCategories","jsx","LoadingCircle","Fragment","PageLink"],"mappings":";;;;AAgBO,MAAMA,IAAY,CAAC;AAAA,EACtB,WAAAC;AAAA,EACA,YAAAC;AAAA,EACA,aAAAC;AAAA,EACA,aAAAC;AAAA,EACA,wBAAAC;AACJ,MAAoC;AAChC,QAAM,CAACC,GAAOC,CAAQ,IAAIC,EAAyB,CAAE,CAAA,GAC/C,CAACC,GAAWC,CAAY,IAAIF,EAAS,EAAI,GACzCG,IAAa,CAAC,GAAGL,EAAM,OAAQ,CAAA,GAC/BM,IAAW,CAACH,KAAaE,EAAW,SAAS;AAmBnD,SAjBAE,EAAU,MAAM;AACZ,IAAAZ,EACK,6BAA6BC,CAAU,EACvC,KAAK,CAACY,MAAW;AACR,YAAAC,IAAsBD,EACvB,OAAO,CAACE,MAAS,CAAC,CAACA,EAAK,QAAQ,EAChC;AAAA,QAAK,CAACC,GAAGC,MACND,EAAE,SAAS,SAASC,EAAE,SAAS,OAAOD,EAAE,OAAOC,EAAE,OAAOD,EAAE,SAAS,OAAOC,EAAE,SAAS;AAAA,MAAA,GAEvFC,IAAyBL,EAAO,OAAO,CAACE,MAAS,CAACA,EAAK,QAAQ,EAAE,KAAK,CAACC,GAAGC,MAAMD,EAAE,OAAOC,EAAE,IAAI;AACrG,MAAAX,EAAS,CAAC,GAAGQ,GAAqB,GAAGI,CAAsB,CAAC;AAAA,IAAA,CAC/D,EACA,QAAQ,MAAM;AACX,MAAAT,EAAa,EAAK;AAAA,IAAA,CACrB;AAAA,EACT,GAAG,CAAE,CAAA,GAEDD,sBAEK,OAAI,EAAA,WAAU,oCACX,UAAA,gBAAAW,EAACC,KAAc,EACnB,CAAA,IAIDT,IACH,gBAAAQ,EAAAE,GAAA,EACK,UAAWX,EAAA,IAAI,CAACK,MAET,gBAAAI;AAAA,IAACG;AAAA,IAAA;AAAA,MAEG,MAAAP;AAAA,MACA,WAAAf;AAAA,MACA,aAAAE;AAAA,MACA,aAAAC;AAAA,MACA,wBAAAC;AAAA,IAAA;AAAA,IALKW,EAAK;AAAA,EAAA,CAQrB,EACL,CAAA,sBAEC,OAAI,EAAA,WAAU,sEAAqE,UAEpF,4CAAA,CAAA;AAER;"}
1
+ {"version":3,"file":"PageLinks.es.js","sources":["../../../../src/components/Link/LinkSelector/PageLinks.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport type { AppBridgeBlock, AppBridgeTheme, DocumentPage } from '@frontify/app-bridge';\nimport { LoadingCircle } from '@frontify/fondue';\nimport { ReactElement, useEffect, useState } from 'react';\nimport { InitiallyExpandedItems } from '../';\nimport { PageLink } from './PageLink';\n\ntype PageLinksProps = {\n appBridge: AppBridgeBlock | AppBridgeTheme;\n documentId: number;\n selectedUrl: string;\n onSelectUrl: (url: string) => void;\n itemsToExpandInitially: InitiallyExpandedItems;\n};\n\nexport const PageLinks = ({\n appBridge,\n documentId,\n selectedUrl,\n onSelectUrl,\n itemsToExpandInitially,\n}: PageLinksProps): ReactElement => {\n const [pages, setPages] = useState<DocumentPage[]>([]);\n const [isLoading, setIsLoading] = useState(true);\n const pagesArray = [...pages.values()];\n const hasPages = !isLoading && pagesArray.length > 0;\n\n useEffect(() => {\n appBridge\n .getDocumentPagesByDocumentId(documentId)\n .then((_pages) => {\n const pagesWithCategories = _pages\n .filter((page) => !!page.category)\n .sort((a, b) =>\n a.category.sort === b.category.sort ? a.sort - b.sort : a.category.sort - b.category.sort,\n );\n const pagesWithoutCategories = _pages.filter((page) => !page.category).sort((a, b) => a.sort - b.sort);\n setPages([...pagesWithCategories, ...pagesWithoutCategories]);\n })\n .finally(() => {\n setIsLoading(false);\n });\n }, []);\n\n if (isLoading) {\n return (\n <div className=\"tw-flex tw-justify-center tw-p-4\">\n <LoadingCircle />\n </div>\n );\n }\n\n return hasPages ? (\n <>\n {pagesArray.map((page) => {\n return (\n <PageLink\n key={page.id}\n page={page}\n appBridge={appBridge}\n selectedUrl={selectedUrl}\n onSelectUrl={onSelectUrl}\n itemsToExpandInitially={itemsToExpandInitially}\n />\n );\n })}\n </>\n ) : (\n <div className=\"tw-py-2 tw-px-2.5 tw-pl-7 tw-leading-5 tw-text-s tw-text-text-weak\">\n This document does not contain any pages.\n </div>\n );\n};\n"],"names":["PageLinks","appBridge","documentId","selectedUrl","onSelectUrl","itemsToExpandInitially","pages","setPages","useState","isLoading","setIsLoading","pagesArray","hasPages","useEffect","_pages","pagesWithCategories","page","a","b","pagesWithoutCategories","jsx","LoadingCircle","Fragment","PageLink"],"mappings":";;;;AAgBO,MAAMA,IAAY,CAAC;AAAA,EACtB,WAAAC;AAAA,EACA,YAAAC;AAAA,EACA,aAAAC;AAAA,EACA,aAAAC;AAAA,EACA,wBAAAC;AACJ,MAAoC;AAChC,QAAM,CAACC,GAAOC,CAAQ,IAAIC,EAAyB,CAAE,CAAA,GAC/C,CAACC,GAAWC,CAAY,IAAIF,EAAS,EAAI,GACzCG,IAAa,CAAC,GAAGL,EAAM,OAAQ,CAAA,GAC/BM,IAAW,CAACH,KAAaE,EAAW,SAAS;AAmBnD,SAjBAE,EAAU,MAAM;AACZ,IAAAZ,EACK,6BAA6BC,CAAU,EACvC,KAAK,CAACY,MAAW;AACR,YAAAC,IAAsBD,EACvB,OAAO,CAACE,MAAS,CAAC,CAACA,EAAK,QAAQ,EAChC;AAAA,QAAK,CAACC,GAAGC,MACND,EAAE,SAAS,SAASC,EAAE,SAAS,OAAOD,EAAE,OAAOC,EAAE,OAAOD,EAAE,SAAS,OAAOC,EAAE,SAAS;AAAA,MAAA,GAEvFC,IAAyBL,EAAO,OAAO,CAACE,MAAS,CAACA,EAAK,QAAQ,EAAE,KAAK,CAACC,GAAGC,MAAMD,EAAE,OAAOC,EAAE,IAAI;AACrG,MAAAX,EAAS,CAAC,GAAGQ,GAAqB,GAAGI,CAAsB,CAAC;AAAA,IAAA,CAC/D,EACA,QAAQ,MAAM;AACX,MAAAT,EAAa,EAAK;AAAA,IAAA,CACrB;AAAA,EACT,GAAG,CAAE,CAAA,GAEDD,sBAEK,OAAI,EAAA,WAAU,oCACX,UAAA,gBAAAW,EAACC,KAAc,EACnB,CAAA,IAIDT,IACH,gBAAAQ,EAAAE,GAAA,EACK,UAAWX,EAAA,IAAI,CAACK,MAET,gBAAAI;AAAA,IAACG;AAAA,IAAA;AAAA,MAEG,MAAAP;AAAA,MACA,WAAAf;AAAA,MACA,aAAAE;AAAA,MACA,aAAAC;AAAA,MACA,wBAAAC;AAAA,IAAA;AAAA,IALKW,EAAK;AAAA,EAAA,CAQrB,EACL,CAAA,sBAEC,OAAI,EAAA,WAAU,sEAAqE,UAEpF,4CAAA,CAAA;AAER;"}
@@ -1,10 +1,10 @@
1
1
  import { jsx as s } from "react/jsx-runtime";
2
2
  import { useState as i, useEffect as o } from "react";
3
- import { serializeRawToHtmlAsync as u } from "./serializer/serializeToHtml.es.js";
3
+ import { serializeRawToHtmlAsync as u } from "@frontify/fondue";
4
4
  const c = ({ value: e = "", gap: l, columns: r, show: m = !0, plugins: a }) => {
5
5
  const [t, n] = i(null);
6
6
  return o(() => {
7
- (async () => n(await u(e, r, l, a)))();
7
+ (async () => n(await u(e, a, r, l)))();
8
8
  }, [e, r, l, a]), !m || t === "<br />" ? null : t !== null ? /* @__PURE__ */ s("div", { className: "tw-w-full", "data-test-id": "rte-content-html", dangerouslySetInnerHTML: { __html: t } }) : /* @__PURE__ */ s("div", { className: "tw-rounded-sm tw-bg-base-alt tw-animate-pulse tw-h-full tw-min-h-[10px] tw-w-full" });
9
9
  };
10
10
  export {
@@ -1 +1 @@
1
- {"version":3,"file":"SerializedText.es.js","sources":["../../../src/components/RichTextEditor/SerializedText.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { useEffect, useState } from 'react';\nimport { SerializedTextProps } from './types';\nimport { serializeRawToHtmlAsync } from './serializer';\n\nexport const SerializedText = ({ value = '', gap, columns, show = true, plugins }: SerializedTextProps) => {\n const [html, setHtml] = useState<string | null>(null);\n\n useEffect(() => {\n (async () => {\n setHtml(await serializeRawToHtmlAsync(value, columns, gap, plugins));\n })();\n }, [value, columns, gap, plugins]);\n\n if (!show || html === '<br />') {\n return null;\n }\n\n return html !== null ? (\n <div className=\"tw-w-full\" data-test-id=\"rte-content-html\" dangerouslySetInnerHTML={{ __html: html }} />\n ) : (\n <div className=\"tw-rounded-sm tw-bg-base-alt tw-animate-pulse tw-h-full tw-min-h-[10px] tw-w-full\" />\n );\n};\n"],"names":["SerializedText","value","gap","columns","show","plugins","html","setHtml","useState","useEffect","serializeRawToHtmlAsync","jsx"],"mappings":";;;AAMa,MAAAA,IAAiB,CAAC,EAAE,OAAAC,IAAQ,IAAI,KAAAC,GAAK,SAAAC,GAAS,MAAAC,IAAO,IAAM,SAAAC,QAAmC;AACvG,QAAM,CAACC,GAAMC,CAAO,IAAIC,EAAwB,IAAI;AAQhD,SANJC,EAAU,MAAM;AACZ,KAAC,YACGF,EAAQ,MAAMG,EAAwBT,GAAOE,GAASD,GAAKG,CAAO,CAAC;AAAA,KAExE,CAACJ,GAAOE,GAASD,GAAKG,CAAO,CAAC,GAE7B,CAACD,KAAQE,MAAS,WACX,OAGJA,MAAS,OACZ,gBAAAK,EAAC,OAAI,EAAA,WAAU,aAAY,gBAAa,oBAAmB,yBAAyB,EAAE,QAAQL,EAAK,EAAA,CAAG,IAErG,gBAAAK,EAAA,OAAA,EAAI,WAAU,oFAAoF,CAAA;AAE3G;"}
1
+ {"version":3,"file":"SerializedText.es.js","sources":["../../../src/components/RichTextEditor/SerializedText.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { useEffect, useState } from 'react';\nimport { serializeRawToHtmlAsync } from '@frontify/fondue';\nimport { SerializedTextProps } from './types';\n\nexport const SerializedText = ({ value = '', gap, columns, show = true, plugins }: SerializedTextProps) => {\n const [html, setHtml] = useState<string | null>(null);\n\n useEffect(() => {\n (async () => {\n setHtml(await serializeRawToHtmlAsync(value, plugins, columns, gap));\n })();\n }, [value, columns, gap, plugins]);\n\n if (!show || html === '<br />') {\n return null;\n }\n\n return html !== null ? (\n <div className=\"tw-w-full\" data-test-id=\"rte-content-html\" dangerouslySetInnerHTML={{ __html: html }} />\n ) : (\n <div className=\"tw-rounded-sm tw-bg-base-alt tw-animate-pulse tw-h-full tw-min-h-[10px] tw-w-full\" />\n );\n};\n"],"names":["SerializedText","value","gap","columns","show","plugins","html","setHtml","useState","useEffect","serializeRawToHtmlAsync","jsx"],"mappings":";;;AAMa,MAAAA,IAAiB,CAAC,EAAE,OAAAC,IAAQ,IAAI,KAAAC,GAAK,SAAAC,GAAS,MAAAC,IAAO,IAAM,SAAAC,QAAmC;AACvG,QAAM,CAACC,GAAMC,CAAO,IAAIC,EAAwB,IAAI;AAQhD,SANJC,EAAU,MAAM;AACZ,KAAC,YACGF,EAAQ,MAAMG,EAAwBT,GAAOI,GAASF,GAASD,CAAG,CAAC;AAAA,KAExE,CAACD,GAAOE,GAASD,GAAKG,CAAO,CAAC,GAE7B,CAACD,KAAQE,MAAS,WACX,OAGJA,MAAS,OACZ,gBAAAK,EAAC,OAAI,EAAA,WAAU,aAAY,gBAAa,oBAAmB,yBAAyB,EAAE,QAAQL,EAAK,EAAA,CAAG,IAErG,gBAAAK,EAAA,OAAA,EAAI,WAAU,oFAAoF,CAAA;AAE3G;"}
@@ -4,9 +4,9 @@ import { ELEMENT_BUTTON as o } from "../../createButtonPlugin.es.js";
4
4
  import { triggerFloatingButtonEdit as A } from "../../utils/triggerFloatingButtonEdit.es.js";
5
5
  import { useFloatingButtonSelectors as l, floatingButtonActions as n, floatingButtonSelectors as d } from "./floatingButtonStore.es.js";
6
6
  import { useVirtualFloatingButton as D } from "./useVirtualFloatingButton.es.js";
7
- import { getUrlFromEditor as H } from "../../utils/getUrl.es.js";
8
- import { useFloatingButtonEnter as U } from "./useFloatingButtonEnter.es.js";
9
- import { useFloatingButtonEscape as w } from "./useFloatingButtonEscape.es.js";
7
+ import { useFloatingButtonEnter as H } from "./useFloatingButtonEnter.es.js";
8
+ import { useFloatingButtonEscape as U } from "./useFloatingButtonEscape.es.js";
9
+ import { getUrlFromEditor as w } from "../../utils/getUrl.es.js";
10
10
  const J = ({ floatingOptions: g, ...i }) => {
11
11
  const t = F(), c = h(t.id).keyEditor(), m = l().mode(), a = l().isOpen(t.id), { triggerFloatingButtonHotkeys: f } = C(t, o), p = v(() => {
12
12
  const e = R(t, {
@@ -26,7 +26,7 @@ const J = ({ floatingOptions: g, ...i }) => {
26
26
  ...g
27
27
  });
28
28
  return x(() => {
29
- const e = H(t);
29
+ const e = w(t);
30
30
  if (e && n.url(e), t.selection && N(t, {
31
31
  match: { type: u(t, o) }
32
32
  })) {
@@ -43,7 +43,7 @@ const J = ({ floatingOptions: g, ...i }) => {
43
43
  enableOnContentEditable: !0
44
44
  },
45
45
  []
46
- ), U(), w(), {
46
+ ), H(), U(), {
47
47
  style: {
48
48
  ...B,
49
49
  zIndex: 1e3
@@ -1,14 +1,14 @@
1
- import { triggerFloatingButtonEdit as r } from "./triggerFloatingButtonEdit.es.js";
2
- import { triggerFloatingButtonInsert as i } from "./triggerFloatingButtonInsert.es.js";
3
- import { floatingButtonSelectors as n } from "../components/FloatingButton/floatingButtonStore.es.js";
1
+ import { floatingButtonSelectors as r } from "../components/FloatingButton/floatingButtonStore.es.js";
2
+ import { triggerFloatingButtonEdit as i } from "./triggerFloatingButtonEdit.es.js";
3
+ import { triggerFloatingButtonInsert as n } from "./triggerFloatingButtonInsert.es.js";
4
4
  const f = (t, {
5
5
  focused: o
6
6
  } = {}) => {
7
- if (n.mode() === "edit") {
8
- r(t);
7
+ if (r.mode() === "edit") {
8
+ i(t);
9
9
  return;
10
10
  }
11
- i(t, {
11
+ n(t, {
12
12
  focused: o
13
13
  });
14
14
  };
@@ -1,18 +1,18 @@
1
- import { jsx as l } from "react/jsx-runtime";
1
+ import { jsx as m } from "react/jsx-runtime";
2
2
  import { createPluginFactory as u } from "@udecode/plate";
3
3
  import { Plugin as a, MarkupElement as c, merge as i, alignmentClassnames as p, getColumnBreakClasses as g } from "@frontify/fondue";
4
- import { TextStyles as o, BlockStyles as y } from "../styles.es.js";
4
+ import { TextStyles as l, BlockStyles as y } from "../styles.es.js";
5
5
  const C = "textstyle-custom1-plugin";
6
- class P extends a {
6
+ class h extends a {
7
7
  constructor({ styles: s = y.custom1, ...e } = {}) {
8
- super(o.custom1, {
8
+ super(l.custom1, {
9
9
  label: "Custom 1",
10
10
  markupElement: new k(),
11
11
  ...e
12
12
  }), this.styles = {}, this.styles = s;
13
13
  }
14
14
  plugins() {
15
- return [d(this.styles)];
15
+ return [x(this.styles)];
16
16
  }
17
17
  }
18
18
  class k extends c {
@@ -21,25 +21,26 @@ class k extends c {
21
21
  }
22
22
  }
23
23
  const r = ({ element: t, attributes: s, children: e, styles: n }) => {
24
- const m = t.align;
25
- return /* @__PURE__ */ l(
24
+ const o = t.align;
25
+ return /* @__PURE__ */ m(
26
26
  "p",
27
27
  {
28
28
  ...s,
29
- className: i([m && p[m], g(t), "a-custom1"]),
30
- children: /* @__PURE__ */ l("span", { style: n, children: e })
29
+ style: n,
30
+ className: i([o && p[o], g(t)]),
31
+ children: e
31
32
  }
32
33
  );
33
- }, d = (t) => u({
34
- key: o.custom1,
34
+ }, x = (t) => u({
35
+ key: l.custom1,
35
36
  isElement: !0,
36
37
  deserializeHtml: {
37
- rules: [{ validClassName: o.custom1 }]
38
+ rules: [{ validClassName: l.custom1 }]
38
39
  }
39
40
  })({
40
- component: (s) => /* @__PURE__ */ l(r, { ...s, styles: t })
41
+ component: (s) => /* @__PURE__ */ m(r, { ...s, styles: t })
41
42
  });
42
43
  export {
43
- P as Custom1Plugin
44
+ h as Custom1Plugin
44
45
  };
45
46
  //# sourceMappingURL=custom1Plugin.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"custom1Plugin.es.js","sources":["../../../../../src/components/RichTextEditor/plugins/TextStylePlugins/custom1Plugin.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { createPluginFactory } from '@udecode/plate';\nimport type { CSSProperties } from 'react';\nimport {\n MarkupElement,\n Plugin,\n PluginProps,\n TextStyleRenderElementProps,\n alignmentClassnames,\n getColumnBreakClasses,\n merge,\n} from '@frontify/fondue';\nimport { BlockStyles, TextStyles } from '../styles';\n\nconst ID = 'textstyle-custom1-plugin';\n\nexport class Custom1Plugin extends Plugin {\n public styles: CSSProperties = {};\n constructor({ styles = BlockStyles.custom1, ...props }: PluginProps = {}) {\n super(TextStyles.custom1, {\n label: 'Custom 1',\n markupElement: new Custom1MarkupElement(),\n ...props,\n });\n this.styles = styles;\n }\n\n plugins() {\n return [createCustom1Plugin(this.styles)];\n }\n}\n\nclass Custom1MarkupElement extends MarkupElement {\n constructor(id = ID, node = Custom1MarkupElementNode) {\n super(id, node);\n }\n}\n\nconst Custom1MarkupElementNode = ({ element, attributes, children, styles }: TextStyleRenderElementProps) => {\n const align = element.align as string;\n return (\n <p\n {...attributes}\n className={merge([align && alignmentClassnames[align], getColumnBreakClasses(element), 'a-custom1'])}\n >\n <span style={styles}>{children}</span>\n </p>\n );\n};\n\nconst createCustom1Plugin = (styles: CSSProperties) =>\n createPluginFactory({\n key: TextStyles.custom1,\n isElement: true,\n deserializeHtml: {\n rules: [{ validClassName: TextStyles.custom1 }],\n },\n })({\n component: (props: TextStyleRenderElementProps) => <Custom1MarkupElementNode {...props} styles={styles} />,\n });\n"],"names":["ID","Custom1Plugin","Plugin","styles","BlockStyles","props","TextStyles","Custom1MarkupElement","createCustom1Plugin","MarkupElement","id","node","Custom1MarkupElementNode","element","attributes","children","align","jsx","merge","alignmentClassnames","getColumnBreakClasses","createPluginFactory"],"mappings":";;;;AAeA,MAAMA,IAAK;AAEJ,MAAMC,UAAsBC,EAAO;AAAA,EAEtC,YAAY,EAAE,QAAAC,IAASC,EAAY,SAAS,GAAGC,EAAuB,IAAA,IAAI;AACtE,UAAMC,EAAW,SAAS;AAAA,MACtB,OAAO;AAAA,MACP,eAAe,IAAIC,EAAqB;AAAA,MACxC,GAAGF;AAAA,IAAA,CACN,GANL,KAAO,SAAwB,IAO3B,KAAK,SAASF;AAAA,EAClB;AAAA,EAEA,UAAU;AACN,WAAO,CAACK,EAAoB,KAAK,MAAM,CAAC;AAAA,EAC5C;AACJ;AAEA,MAAMD,UAA6BE,EAAc;AAAA,EAC7C,YAAYC,IAAKV,GAAIW,IAAOC,GAA0B;AAClD,UAAMF,GAAIC,CAAI;AAAA,EAClB;AACJ;AAEA,MAAMC,IAA2B,CAAC,EAAE,SAAAC,GAAS,YAAAC,GAAY,UAAAC,GAAU,QAAAZ,QAA0C;AACzG,QAAMa,IAAQH,EAAQ;AAElB,SAAA,gBAAAI;AAAA,IAAC;AAAA,IAAA;AAAA,MACI,GAAGH;AAAA,MACJ,WAAWI,EAAM,CAACF,KAASG,EAAoBH,CAAK,GAAGI,EAAsBP,CAAO,GAAG,WAAW,CAAC;AAAA,MAEnG,UAAC,gBAAAI,EAAA,QAAA,EAAK,OAAOd,GAAS,UAAAY,GAAS;AAAA,IAAA;AAAA,EAAA;AAG3C,GAEMP,IAAsB,CAACL,MACzBkB,EAAoB;AAAA,EAChB,KAAKf,EAAW;AAAA,EAChB,WAAW;AAAA,EACX,iBAAiB;AAAA,IACb,OAAO,CAAC,EAAE,gBAAgBA,EAAW,SAAS;AAAA,EAClD;AACJ,CAAC,EAAE;AAAA,EACC,WAAW,CAACD,wBAAwCO,GAA0B,EAAA,GAAGP,GAAO,QAAAF,GAAgB;AAC5G,CAAC;"}
1
+ {"version":3,"file":"custom1Plugin.es.js","sources":["../../../../../src/components/RichTextEditor/plugins/TextStylePlugins/custom1Plugin.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { createPluginFactory } from '@udecode/plate';\nimport type { CSSProperties } from 'react';\nimport {\n MarkupElement,\n Plugin,\n PluginProps,\n TextStyleRenderElementProps,\n alignmentClassnames,\n getColumnBreakClasses,\n merge,\n} from '@frontify/fondue';\nimport { BlockStyles, TextStyles } from '../styles';\n\nconst ID = 'textstyle-custom1-plugin';\n\nexport class Custom1Plugin extends Plugin {\n public styles: CSSProperties = {};\n constructor({ styles = BlockStyles.custom1, ...props }: PluginProps = {}) {\n super(TextStyles.custom1, {\n label: 'Custom 1',\n markupElement: new Custom1MarkupElement(),\n ...props,\n });\n this.styles = styles;\n }\n\n plugins() {\n return [createCustom1Plugin(this.styles)];\n }\n}\n\nclass Custom1MarkupElement extends MarkupElement {\n constructor(id = ID, node = Custom1MarkupElementNode) {\n super(id, node);\n }\n}\n\nconst Custom1MarkupElementNode = ({ element, attributes, children, styles }: TextStyleRenderElementProps) => {\n const align = element.align as string;\n return (\n <p\n {...attributes}\n style={styles}\n className={merge([align && alignmentClassnames[align], getColumnBreakClasses(element)])}\n >\n {children}\n </p>\n );\n};\n\nconst createCustom1Plugin = (styles: CSSProperties) =>\n createPluginFactory({\n key: TextStyles.custom1,\n isElement: true,\n deserializeHtml: {\n rules: [{ validClassName: TextStyles.custom1 }],\n },\n })({\n component: (props: TextStyleRenderElementProps) => <Custom1MarkupElementNode {...props} styles={styles} />,\n });\n"],"names":["ID","Custom1Plugin","Plugin","styles","BlockStyles","props","TextStyles","Custom1MarkupElement","createCustom1Plugin","MarkupElement","id","node","Custom1MarkupElementNode","element","attributes","children","align","jsx","merge","alignmentClassnames","getColumnBreakClasses","createPluginFactory"],"mappings":";;;;AAeA,MAAMA,IAAK;AAEJ,MAAMC,UAAsBC,EAAO;AAAA,EAEtC,YAAY,EAAE,QAAAC,IAASC,EAAY,SAAS,GAAGC,EAAuB,IAAA,IAAI;AACtE,UAAMC,EAAW,SAAS;AAAA,MACtB,OAAO;AAAA,MACP,eAAe,IAAIC,EAAqB;AAAA,MACxC,GAAGF;AAAA,IAAA,CACN,GANL,KAAO,SAAwB,IAO3B,KAAK,SAASF;AAAA,EAClB;AAAA,EAEA,UAAU;AACN,WAAO,CAACK,EAAoB,KAAK,MAAM,CAAC;AAAA,EAC5C;AACJ;AAEA,MAAMD,UAA6BE,EAAc;AAAA,EAC7C,YAAYC,IAAKV,GAAIW,IAAOC,GAA0B;AAClD,UAAMF,GAAIC,CAAI;AAAA,EAClB;AACJ;AAEA,MAAMC,IAA2B,CAAC,EAAE,SAAAC,GAAS,YAAAC,GAAY,UAAAC,GAAU,QAAAZ,QAA0C;AACzG,QAAMa,IAAQH,EAAQ;AAElB,SAAA,gBAAAI;AAAA,IAAC;AAAA,IAAA;AAAA,MACI,GAAGH;AAAA,MACJ,OAAOX;AAAA,MACP,WAAWe,EAAM,CAACF,KAASG,EAAoBH,CAAK,GAAGI,EAAsBP,CAAO,CAAC,CAAC;AAAA,MAErF,UAAAE;AAAA,IAAA;AAAA,EAAA;AAGb,GAEMP,IAAsB,CAACL,MACzBkB,EAAoB;AAAA,EAChB,KAAKf,EAAW;AAAA,EAChB,WAAW;AAAA,EACX,iBAAiB;AAAA,IACb,OAAO,CAAC,EAAE,gBAAgBA,EAAW,SAAS;AAAA,EAClD;AACJ,CAAC,EAAE;AAAA,EACC,WAAW,CAACD,wBAAwCO,GAA0B,EAAA,GAAGP,GAAO,QAAAF,GAAgB;AAC5G,CAAC;"}
@@ -1,18 +1,18 @@
1
- import { jsx as l } from "react/jsx-runtime";
1
+ import { jsx as m } from "react/jsx-runtime";
2
2
  import { createPluginFactory as u } from "@udecode/plate";
3
3
  import { Plugin as a, MarkupElement as c, merge as i, alignmentClassnames as p, getColumnBreakClasses as g } from "@frontify/fondue";
4
- import { TextStyles as o, BlockStyles as y } from "../styles.es.js";
4
+ import { TextStyles as l, BlockStyles as y } from "../styles.es.js";
5
5
  const C = "textstyle-custom2-plugin";
6
- class P extends a {
6
+ class h extends a {
7
7
  constructor({ styles: s = y.custom2, ...e } = {}) {
8
- super(o.custom2, {
8
+ super(l.custom2, {
9
9
  label: "Custom 2",
10
10
  markupElement: new k(),
11
11
  ...e
12
12
  }), this.styles = {}, this.styles = s;
13
13
  }
14
14
  plugins() {
15
- return [d(this.styles)];
15
+ return [x(this.styles)];
16
16
  }
17
17
  }
18
18
  class k extends c {
@@ -21,25 +21,26 @@ class k extends c {
21
21
  }
22
22
  }
23
23
  const r = ({ element: t, attributes: s, children: e, styles: n }) => {
24
- const m = t.align;
25
- return /* @__PURE__ */ l(
24
+ const o = t.align;
25
+ return /* @__PURE__ */ m(
26
26
  "p",
27
27
  {
28
28
  ...s,
29
- className: i([m && p[m], g(t), "a-custom2"]),
30
- children: /* @__PURE__ */ l("span", { style: n, children: e })
29
+ className: i([o && p[o], g(t)]),
30
+ style: n,
31
+ children: e
31
32
  }
32
33
  );
33
- }, d = (t) => u({
34
- key: o.custom2,
34
+ }, x = (t) => u({
35
+ key: l.custom2,
35
36
  isElement: !0,
36
37
  deserializeHtml: {
37
- rules: [{ validClassName: o.custom2 }]
38
+ rules: [{ validClassName: l.custom2 }]
38
39
  }
39
40
  })({
40
- component: (s) => /* @__PURE__ */ l(r, { ...s, styles: t })
41
+ component: (s) => /* @__PURE__ */ m(r, { ...s, styles: t })
41
42
  });
42
43
  export {
43
- P as Custom2Plugin
44
+ h as Custom2Plugin
44
45
  };
45
46
  //# sourceMappingURL=custom2Plugin.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"custom2Plugin.es.js","sources":["../../../../../src/components/RichTextEditor/plugins/TextStylePlugins/custom2Plugin.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { createPluginFactory } from '@udecode/plate';\nimport type { CSSProperties } from 'react';\nimport {\n MarkupElement,\n Plugin,\n PluginProps,\n TextStyleRenderElementProps,\n alignmentClassnames,\n getColumnBreakClasses,\n merge,\n} from '@frontify/fondue';\nimport { BlockStyles, TextStyles } from '../styles';\n\nconst ID = 'textstyle-custom2-plugin';\n\nexport class Custom2Plugin extends Plugin {\n public styles: CSSProperties = {};\n constructor({ styles = BlockStyles.custom2, ...props }: PluginProps = {}) {\n super(TextStyles.custom2, {\n label: 'Custom 2',\n markupElement: new Custom2MarkupElement(),\n ...props,\n });\n this.styles = styles;\n }\n\n plugins() {\n return [createCustom2Plugin(this.styles)];\n }\n}\n\nclass Custom2MarkupElement extends MarkupElement {\n constructor(id = ID, node = Custom2MarkupElementNode) {\n super(id, node);\n }\n}\n\nconst Custom2MarkupElementNode = ({ element, attributes, children, styles }: TextStyleRenderElementProps) => {\n const align = element.align as string;\n return (\n <p\n {...attributes}\n className={merge([align && alignmentClassnames[align], getColumnBreakClasses(element), 'a-custom2'])}\n >\n <span style={styles}>{children}</span>\n </p>\n );\n};\n\nconst createCustom2Plugin = (styles: CSSProperties) =>\n createPluginFactory({\n key: TextStyles.custom2,\n isElement: true,\n deserializeHtml: {\n rules: [{ validClassName: TextStyles.custom2 }],\n },\n })({\n component: (props: TextStyleRenderElementProps) => <Custom2MarkupElementNode {...props} styles={styles} />,\n });\n"],"names":["ID","Custom2Plugin","Plugin","styles","BlockStyles","props","TextStyles","Custom2MarkupElement","createCustom2Plugin","MarkupElement","id","node","Custom2MarkupElementNode","element","attributes","children","align","jsx","merge","alignmentClassnames","getColumnBreakClasses","createPluginFactory"],"mappings":";;;;AAeA,MAAMA,IAAK;AAEJ,MAAMC,UAAsBC,EAAO;AAAA,EAEtC,YAAY,EAAE,QAAAC,IAASC,EAAY,SAAS,GAAGC,EAAuB,IAAA,IAAI;AACtE,UAAMC,EAAW,SAAS;AAAA,MACtB,OAAO;AAAA,MACP,eAAe,IAAIC,EAAqB;AAAA,MACxC,GAAGF;AAAA,IAAA,CACN,GANL,KAAO,SAAwB,IAO3B,KAAK,SAASF;AAAA,EAClB;AAAA,EAEA,UAAU;AACN,WAAO,CAACK,EAAoB,KAAK,MAAM,CAAC;AAAA,EAC5C;AACJ;AAEA,MAAMD,UAA6BE,EAAc;AAAA,EAC7C,YAAYC,IAAKV,GAAIW,IAAOC,GAA0B;AAClD,UAAMF,GAAIC,CAAI;AAAA,EAClB;AACJ;AAEA,MAAMC,IAA2B,CAAC,EAAE,SAAAC,GAAS,YAAAC,GAAY,UAAAC,GAAU,QAAAZ,QAA0C;AACzG,QAAMa,IAAQH,EAAQ;AAElB,SAAA,gBAAAI;AAAA,IAAC;AAAA,IAAA;AAAA,MACI,GAAGH;AAAA,MACJ,WAAWI,EAAM,CAACF,KAASG,EAAoBH,CAAK,GAAGI,EAAsBP,CAAO,GAAG,WAAW,CAAC;AAAA,MAEnG,UAAC,gBAAAI,EAAA,QAAA,EAAK,OAAOd,GAAS,UAAAY,GAAS;AAAA,IAAA;AAAA,EAAA;AAG3C,GAEMP,IAAsB,CAACL,MACzBkB,EAAoB;AAAA,EAChB,KAAKf,EAAW;AAAA,EAChB,WAAW;AAAA,EACX,iBAAiB;AAAA,IACb,OAAO,CAAC,EAAE,gBAAgBA,EAAW,SAAS;AAAA,EAClD;AACJ,CAAC,EAAE;AAAA,EACC,WAAW,CAACD,wBAAwCO,GAA0B,EAAA,GAAGP,GAAO,QAAAF,GAAgB;AAC5G,CAAC;"}
1
+ {"version":3,"file":"custom2Plugin.es.js","sources":["../../../../../src/components/RichTextEditor/plugins/TextStylePlugins/custom2Plugin.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { createPluginFactory } from '@udecode/plate';\nimport type { CSSProperties } from 'react';\nimport {\n MarkupElement,\n Plugin,\n PluginProps,\n TextStyleRenderElementProps,\n alignmentClassnames,\n getColumnBreakClasses,\n merge,\n} from '@frontify/fondue';\nimport { BlockStyles, TextStyles } from '../styles';\n\nconst ID = 'textstyle-custom2-plugin';\n\nexport class Custom2Plugin extends Plugin {\n public styles: CSSProperties = {};\n constructor({ styles = BlockStyles.custom2, ...props }: PluginProps = {}) {\n super(TextStyles.custom2, {\n label: 'Custom 2',\n markupElement: new Custom2MarkupElement(),\n ...props,\n });\n this.styles = styles;\n }\n\n plugins() {\n return [createCustom2Plugin(this.styles)];\n }\n}\n\nclass Custom2MarkupElement extends MarkupElement {\n constructor(id = ID, node = Custom2MarkupElementNode) {\n super(id, node);\n }\n}\n\nconst Custom2MarkupElementNode = ({ element, attributes, children, styles }: TextStyleRenderElementProps) => {\n const align = element.align as string;\n return (\n <p\n {...attributes}\n className={merge([align && alignmentClassnames[align], getColumnBreakClasses(element)])}\n style={styles}\n >\n {children}\n </p>\n );\n};\n\nconst createCustom2Plugin = (styles: CSSProperties) =>\n createPluginFactory({\n key: TextStyles.custom2,\n isElement: true,\n deserializeHtml: {\n rules: [{ validClassName: TextStyles.custom2 }],\n },\n })({\n component: (props: TextStyleRenderElementProps) => <Custom2MarkupElementNode {...props} styles={styles} />,\n });\n"],"names":["ID","Custom2Plugin","Plugin","styles","BlockStyles","props","TextStyles","Custom2MarkupElement","createCustom2Plugin","MarkupElement","id","node","Custom2MarkupElementNode","element","attributes","children","align","jsx","merge","alignmentClassnames","getColumnBreakClasses","createPluginFactory"],"mappings":";;;;AAeA,MAAMA,IAAK;AAEJ,MAAMC,UAAsBC,EAAO;AAAA,EAEtC,YAAY,EAAE,QAAAC,IAASC,EAAY,SAAS,GAAGC,EAAuB,IAAA,IAAI;AACtE,UAAMC,EAAW,SAAS;AAAA,MACtB,OAAO;AAAA,MACP,eAAe,IAAIC,EAAqB;AAAA,MACxC,GAAGF;AAAA,IAAA,CACN,GANL,KAAO,SAAwB,IAO3B,KAAK,SAASF;AAAA,EAClB;AAAA,EAEA,UAAU;AACN,WAAO,CAACK,EAAoB,KAAK,MAAM,CAAC;AAAA,EAC5C;AACJ;AAEA,MAAMD,UAA6BE,EAAc;AAAA,EAC7C,YAAYC,IAAKV,GAAIW,IAAOC,GAA0B;AAClD,UAAMF,GAAIC,CAAI;AAAA,EAClB;AACJ;AAEA,MAAMC,IAA2B,CAAC,EAAE,SAAAC,GAAS,YAAAC,GAAY,UAAAC,GAAU,QAAAZ,QAA0C;AACzG,QAAMa,IAAQH,EAAQ;AAElB,SAAA,gBAAAI;AAAA,IAAC;AAAA,IAAA;AAAA,MACI,GAAGH;AAAA,MACJ,WAAWI,EAAM,CAACF,KAASG,EAAoBH,CAAK,GAAGI,EAAsBP,CAAO,CAAC,CAAC;AAAA,MACtF,OAAOV;AAAA,MAEN,UAAAY;AAAA,IAAA;AAAA,EAAA;AAGb,GAEMP,IAAsB,CAACL,MACzBkB,EAAoB;AAAA,EAChB,KAAKf,EAAW;AAAA,EAChB,WAAW;AAAA,EACX,iBAAiB;AAAA,IACb,OAAO,CAAC,EAAE,gBAAgBA,EAAW,SAAS;AAAA,EAClD;AACJ,CAAC,EAAE;AAAA,EACC,WAAW,CAACD,wBAAwCO,GAA0B,EAAA,GAAGP,GAAO,QAAAF,GAAgB;AAC5G,CAAC;"}
@@ -1,18 +1,18 @@
1
- import { jsx as l } from "react/jsx-runtime";
1
+ import { jsx as m } from "react/jsx-runtime";
2
2
  import { createPluginFactory as u } from "@udecode/plate";
3
- import { Plugin as a, TextStyles as o, MarkupElement as c, merge as i, alignmentClassnames as p, getColumnBreakClasses as g } from "@frontify/fondue";
3
+ import { Plugin as a, TextStyles as l, MarkupElement as c, merge as i, alignmentClassnames as p, getColumnBreakClasses as g } from "@frontify/fondue";
4
4
  import { BlockStyles as y } from "../styles.es.js";
5
5
  const C = "textstyle-custom3-plugin";
6
- class P extends a {
6
+ class h extends a {
7
7
  constructor({ styles: s = y.custom3, ...e } = {}) {
8
- super(o.custom3, {
8
+ super(l.custom3, {
9
9
  label: "Custom 3",
10
10
  markupElement: new k(),
11
11
  ...e
12
12
  }), this.styles = {}, this.styles = s;
13
13
  }
14
14
  plugins() {
15
- return [d(this.styles)];
15
+ return [x(this.styles)];
16
16
  }
17
17
  }
18
18
  class k extends c {
@@ -21,25 +21,26 @@ class k extends c {
21
21
  }
22
22
  }
23
23
  const r = ({ element: t, attributes: s, children: e, styles: n }) => {
24
- const m = t.align;
25
- return /* @__PURE__ */ l(
24
+ const o = t.align;
25
+ return /* @__PURE__ */ m(
26
26
  "p",
27
27
  {
28
28
  ...s,
29
- className: i([m && p[m], g(t), "a-custom3"]),
30
- children: /* @__PURE__ */ l("span", { style: n, children: e })
29
+ className: i([o && p[o], g(t)]),
30
+ style: n,
31
+ children: e
31
32
  }
32
33
  );
33
- }, d = (t) => u({
34
- key: o.custom3,
34
+ }, x = (t) => u({
35
+ key: l.custom3,
35
36
  isElement: !0,
36
37
  deserializeHtml: {
37
- rules: [{ validClassName: o.custom3 }]
38
+ rules: [{ validClassName: l.custom3 }]
38
39
  }
39
40
  })({
40
- component: (s) => /* @__PURE__ */ l(r, { ...s, styles: t })
41
+ component: (s) => /* @__PURE__ */ m(r, { ...s, styles: t })
41
42
  });
42
43
  export {
43
- P as Custom3Plugin
44
+ h as Custom3Plugin
44
45
  };
45
46
  //# sourceMappingURL=custom3Plugin.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"custom3Plugin.es.js","sources":["../../../../../src/components/RichTextEditor/plugins/TextStylePlugins/custom3Plugin.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { PlateRenderElementProps, createPluginFactory } from '@udecode/plate';\nimport type { CSSProperties } from 'react';\nimport {\n MarkupElement,\n Plugin,\n PluginProps,\n TextStyleRenderElementProps,\n TextStyles,\n alignmentClassnames,\n getColumnBreakClasses,\n merge,\n} from '@frontify/fondue';\nimport { BlockStyles } from '../styles';\n\nconst ID = 'textstyle-custom3-plugin';\n\nexport class Custom3Plugin extends Plugin {\n public styles: CSSProperties = {};\n constructor({ styles = BlockStyles.custom3, ...props }: PluginProps = {}) {\n super(TextStyles.custom3, {\n label: 'Custom 3',\n markupElement: new Custom3MarkupElement(),\n ...props,\n });\n this.styles = styles;\n }\n\n plugins() {\n return [createCustom3Plugin(this.styles)];\n }\n}\n\nclass Custom3MarkupElement extends MarkupElement {\n constructor(id = ID, node = Custom3MarkupElementNode) {\n super(id, node);\n }\n}\n\nconst Custom3MarkupElementNode = ({ element, attributes, children, styles }: TextStyleRenderElementProps) => {\n const align = element.align as string;\n return (\n <p\n {...attributes}\n className={merge([align && alignmentClassnames[align], getColumnBreakClasses(element), 'a-custom3'])}\n >\n <span style={styles}>{children}</span>\n </p>\n );\n};\n\nconst createCustom3Plugin = (styles: CSSProperties) =>\n createPluginFactory({\n key: TextStyles.custom3,\n isElement: true,\n deserializeHtml: {\n rules: [{ validClassName: TextStyles.custom3 }],\n },\n })({\n component: (props: PlateRenderElementProps) => <Custom3MarkupElementNode {...props} styles={styles} />,\n });\n"],"names":["ID","Custom3Plugin","Plugin","styles","BlockStyles","props","TextStyles","Custom3MarkupElement","createCustom3Plugin","MarkupElement","id","node","Custom3MarkupElementNode","element","attributes","children","align","jsx","merge","alignmentClassnames","getColumnBreakClasses","createPluginFactory"],"mappings":";;;;AAgBA,MAAMA,IAAK;AAEJ,MAAMC,UAAsBC,EAAO;AAAA,EAEtC,YAAY,EAAE,QAAAC,IAASC,EAAY,SAAS,GAAGC,EAAuB,IAAA,IAAI;AACtE,UAAMC,EAAW,SAAS;AAAA,MACtB,OAAO;AAAA,MACP,eAAe,IAAIC,EAAqB;AAAA,MACxC,GAAGF;AAAA,IAAA,CACN,GANL,KAAO,SAAwB,IAO3B,KAAK,SAASF;AAAA,EAClB;AAAA,EAEA,UAAU;AACN,WAAO,CAACK,EAAoB,KAAK,MAAM,CAAC;AAAA,EAC5C;AACJ;AAEA,MAAMD,UAA6BE,EAAc;AAAA,EAC7C,YAAYC,IAAKV,GAAIW,IAAOC,GAA0B;AAClD,UAAMF,GAAIC,CAAI;AAAA,EAClB;AACJ;AAEA,MAAMC,IAA2B,CAAC,EAAE,SAAAC,GAAS,YAAAC,GAAY,UAAAC,GAAU,QAAAZ,QAA0C;AACzG,QAAMa,IAAQH,EAAQ;AAElB,SAAA,gBAAAI;AAAA,IAAC;AAAA,IAAA;AAAA,MACI,GAAGH;AAAA,MACJ,WAAWI,EAAM,CAACF,KAASG,EAAoBH,CAAK,GAAGI,EAAsBP,CAAO,GAAG,WAAW,CAAC;AAAA,MAEnG,UAAC,gBAAAI,EAAA,QAAA,EAAK,OAAOd,GAAS,UAAAY,GAAS;AAAA,IAAA;AAAA,EAAA;AAG3C,GAEMP,IAAsB,CAACL,MACzBkB,EAAoB;AAAA,EAChB,KAAKf,EAAW;AAAA,EAChB,WAAW;AAAA,EACX,iBAAiB;AAAA,IACb,OAAO,CAAC,EAAE,gBAAgBA,EAAW,SAAS;AAAA,EAClD;AACJ,CAAC,EAAE;AAAA,EACC,WAAW,CAACD,wBAAoCO,GAA0B,EAAA,GAAGP,GAAO,QAAAF,GAAgB;AACxG,CAAC;"}
1
+ {"version":3,"file":"custom3Plugin.es.js","sources":["../../../../../src/components/RichTextEditor/plugins/TextStylePlugins/custom3Plugin.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { PlateRenderElementProps, createPluginFactory } from '@udecode/plate';\nimport type { CSSProperties } from 'react';\nimport {\n MarkupElement,\n Plugin,\n PluginProps,\n TextStyleRenderElementProps,\n TextStyles,\n alignmentClassnames,\n getColumnBreakClasses,\n merge,\n} from '@frontify/fondue';\nimport { BlockStyles } from '../styles';\n\nconst ID = 'textstyle-custom3-plugin';\n\nexport class Custom3Plugin extends Plugin {\n public styles: CSSProperties = {};\n constructor({ styles = BlockStyles.custom3, ...props }: PluginProps = {}) {\n super(TextStyles.custom3, {\n label: 'Custom 3',\n markupElement: new Custom3MarkupElement(),\n ...props,\n });\n this.styles = styles;\n }\n\n plugins() {\n return [createCustom3Plugin(this.styles)];\n }\n}\n\nclass Custom3MarkupElement extends MarkupElement {\n constructor(id = ID, node = Custom3MarkupElementNode) {\n super(id, node);\n }\n}\n\nconst Custom3MarkupElementNode = ({ element, attributes, children, styles }: TextStyleRenderElementProps) => {\n const align = element.align as string;\n return (\n <p\n {...attributes}\n className={merge([align && alignmentClassnames[align], getColumnBreakClasses(element)])}\n style={styles}\n >\n {children}\n </p>\n );\n};\n\nconst createCustom3Plugin = (styles: CSSProperties) =>\n createPluginFactory({\n key: TextStyles.custom3,\n isElement: true,\n deserializeHtml: {\n rules: [{ validClassName: TextStyles.custom3 }],\n },\n })({\n component: (props: PlateRenderElementProps) => <Custom3MarkupElementNode {...props} styles={styles} />,\n });\n"],"names":["ID","Custom3Plugin","Plugin","styles","BlockStyles","props","TextStyles","Custom3MarkupElement","createCustom3Plugin","MarkupElement","id","node","Custom3MarkupElementNode","element","attributes","children","align","jsx","merge","alignmentClassnames","getColumnBreakClasses","createPluginFactory"],"mappings":";;;;AAgBA,MAAMA,IAAK;AAEJ,MAAMC,UAAsBC,EAAO;AAAA,EAEtC,YAAY,EAAE,QAAAC,IAASC,EAAY,SAAS,GAAGC,EAAuB,IAAA,IAAI;AACtE,UAAMC,EAAW,SAAS;AAAA,MACtB,OAAO;AAAA,MACP,eAAe,IAAIC,EAAqB;AAAA,MACxC,GAAGF;AAAA,IAAA,CACN,GANL,KAAO,SAAwB,IAO3B,KAAK,SAASF;AAAA,EAClB;AAAA,EAEA,UAAU;AACN,WAAO,CAACK,EAAoB,KAAK,MAAM,CAAC;AAAA,EAC5C;AACJ;AAEA,MAAMD,UAA6BE,EAAc;AAAA,EAC7C,YAAYC,IAAKV,GAAIW,IAAOC,GAA0B;AAClD,UAAMF,GAAIC,CAAI;AAAA,EAClB;AACJ;AAEA,MAAMC,IAA2B,CAAC,EAAE,SAAAC,GAAS,YAAAC,GAAY,UAAAC,GAAU,QAAAZ,QAA0C;AACzG,QAAMa,IAAQH,EAAQ;AAElB,SAAA,gBAAAI;AAAA,IAAC;AAAA,IAAA;AAAA,MACI,GAAGH;AAAA,MACJ,WAAWI,EAAM,CAACF,KAASG,EAAoBH,CAAK,GAAGI,EAAsBP,CAAO,CAAC,CAAC;AAAA,MACtF,OAAOV;AAAA,MAEN,UAAAY;AAAA,IAAA;AAAA,EAAA;AAGb,GAEMP,IAAsB,CAACL,MACzBkB,EAAoB;AAAA,EAChB,KAAKf,EAAW;AAAA,EAChB,WAAW;AAAA,EACX,iBAAiB;AAAA,IACb,OAAO,CAAC,EAAE,gBAAgBA,EAAW,SAAS;AAAA,EAClD;AACJ,CAAC,EAAE;AAAA,EACC,WAAW,CAACD,wBAAoCO,GAA0B,EAAA,GAAGP,GAAO,QAAAF,GAAgB;AACxG,CAAC;"}
@@ -1,4 +1,4 @@
1
- import { jsx as s } from "react/jsx-runtime";
1
+ import { jsx as a } from "react/jsx-runtime";
2
2
  import { createPluginFactory as o } from "@udecode/plate";
3
3
  import { Plugin as m, MarkupElement as g, merge as u, alignmentClassnames as c, getColumnBreakClasses as d } from "@frontify/fondue";
4
4
  import { TextStyles as r, BlockStyles as p } from "../styles.es.js";
@@ -16,29 +16,30 @@ class N extends m {
16
16
  }
17
17
  }
18
18
  class y extends g {
19
- constructor(e = h, n = l) {
19
+ constructor(e = h, n = s) {
20
20
  super(e, n);
21
21
  }
22
22
  }
23
- const l = ({ element: t, attributes: e, children: n, styles: i }) => {
24
- const a = t.align;
25
- return /* @__PURE__ */ s(
23
+ const s = ({ element: t, attributes: e, children: n, styles: i }) => {
24
+ const l = t.align;
25
+ return /* @__PURE__ */ a(
26
26
  "h1",
27
27
  {
28
28
  ...e,
29
- className: u([a && c[a], d(t), "a-h1"]),
30
- children: /* @__PURE__ */ s("span", { style: i, children: n })
29
+ className: u([l && c[l], d(t)]),
30
+ style: i,
31
+ children: n
31
32
  }
32
33
  );
33
34
  }, k = (t) => o({
34
35
  key: r.heading1,
35
36
  isElement: !0,
36
- component: l,
37
+ component: s,
37
38
  deserializeHtml: {
38
39
  rules: [{ validNodeName: ["h1", "H1"] }]
39
40
  }
40
41
  })({
41
- component: (e) => /* @__PURE__ */ s(l, { ...e, styles: t })
42
+ component: (e) => /* @__PURE__ */ a(s, { ...e, styles: t })
42
43
  });
43
44
  export {
44
45
  N as Heading1Plugin
@@ -1 +1 @@
1
- {"version":3,"file":"heading1Plugin.es.js","sources":["../../../../../src/components/RichTextEditor/plugins/TextStylePlugins/heading1Plugin.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { PlateRenderElementProps, createPluginFactory } from '@udecode/plate';\nimport type { CSSProperties } from 'react';\nimport {\n MarkupElement,\n Plugin,\n PluginProps,\n TextStyleRenderElementProps,\n alignmentClassnames,\n getColumnBreakClasses,\n merge,\n} from '@frontify/fondue';\nimport { BlockStyles, TextStyles } from '../styles';\n\nconst ID = 'textstyle-heading1-plugin';\nexport class Heading1Plugin extends Plugin {\n public styles: CSSProperties = {};\n constructor({ styles = BlockStyles.heading1, ...props }: PluginProps = {}) {\n super(TextStyles.heading1, {\n label: 'Heading 1',\n markupElement: new Heading1MarkupElement(),\n ...props,\n });\n this.styles = styles;\n }\n\n plugins() {\n return [createHeading1Plugin(this.styles)];\n }\n}\n\nclass Heading1MarkupElement extends MarkupElement {\n constructor(id = ID, node = Heading1MarkupElementNode) {\n super(id, node);\n }\n}\n\nconst Heading1MarkupElementNode = ({ element, attributes, children, styles }: TextStyleRenderElementProps) => {\n const align = element.align as string;\n return (\n <h1\n {...attributes}\n className={merge([align && alignmentClassnames[align], getColumnBreakClasses(element), 'a-h1'])}\n >\n <span style={styles}>{children}</span>\n </h1>\n );\n};\n\nconst createHeading1Plugin = (styles: CSSProperties) =>\n createPluginFactory({\n key: TextStyles.heading1,\n isElement: true,\n component: Heading1MarkupElementNode,\n deserializeHtml: {\n rules: [{ validNodeName: ['h1', 'H1'] }],\n },\n })({\n component: (props: PlateRenderElementProps) => <Heading1MarkupElementNode {...props} styles={styles} />,\n });\n"],"names":["ID","Heading1Plugin","Plugin","styles","BlockStyles","props","TextStyles","Heading1MarkupElement","createHeading1Plugin","MarkupElement","id","node","Heading1MarkupElementNode","element","attributes","children","align","jsx","merge","alignmentClassnames","getColumnBreakClasses","createPluginFactory"],"mappings":";;;;AAeA,MAAMA,IAAK;AACJ,MAAMC,UAAuBC,EAAO;AAAA,EAEvC,YAAY,EAAE,QAAAC,IAASC,EAAY,UAAU,GAAGC,EAAuB,IAAA,IAAI;AACvE,UAAMC,EAAW,UAAU;AAAA,MACvB,OAAO;AAAA,MACP,eAAe,IAAIC,EAAsB;AAAA,MACzC,GAAGF;AAAA,IAAA,CACN,GANL,KAAO,SAAwB,IAO3B,KAAK,SAASF;AAAA,EAClB;AAAA,EAEA,UAAU;AACN,WAAO,CAACK,EAAqB,KAAK,MAAM,CAAC;AAAA,EAC7C;AACJ;AAEA,MAAMD,UAA8BE,EAAc;AAAA,EAC9C,YAAYC,IAAKV,GAAIW,IAAOC,GAA2B;AACnD,UAAMF,GAAIC,CAAI;AAAA,EAClB;AACJ;AAEA,MAAMC,IAA4B,CAAC,EAAE,SAAAC,GAAS,YAAAC,GAAY,UAAAC,GAAU,QAAAZ,QAA0C;AAC1G,QAAMa,IAAQH,EAAQ;AAElB,SAAA,gBAAAI;AAAA,IAAC;AAAA,IAAA;AAAA,MACI,GAAGH;AAAA,MACJ,WAAWI,EAAM,CAACF,KAASG,EAAoBH,CAAK,GAAGI,EAAsBP,CAAO,GAAG,MAAM,CAAC;AAAA,MAE9F,UAAC,gBAAAI,EAAA,QAAA,EAAK,OAAOd,GAAS,UAAAY,GAAS;AAAA,IAAA;AAAA,EAAA;AAG3C,GAEMP,IAAuB,CAACL,MAC1BkB,EAAoB;AAAA,EAChB,KAAKf,EAAW;AAAA,EAChB,WAAW;AAAA,EACX,WAAWM;AAAA,EACX,iBAAiB;AAAA,IACb,OAAO,CAAC,EAAE,eAAe,CAAC,MAAM,IAAI,GAAG;AAAA,EAC3C;AACJ,CAAC,EAAE;AAAA,EACC,WAAW,CAACP,wBAAoCO,GAA2B,EAAA,GAAGP,GAAO,QAAAF,GAAgB;AACzG,CAAC;"}
1
+ {"version":3,"file":"heading1Plugin.es.js","sources":["../../../../../src/components/RichTextEditor/plugins/TextStylePlugins/heading1Plugin.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { PlateRenderElementProps, createPluginFactory } from '@udecode/plate';\nimport type { CSSProperties } from 'react';\nimport {\n MarkupElement,\n Plugin,\n PluginProps,\n TextStyleRenderElementProps,\n alignmentClassnames,\n getColumnBreakClasses,\n merge,\n} from '@frontify/fondue';\nimport { BlockStyles, TextStyles } from '../styles';\n\nconst ID = 'textstyle-heading1-plugin';\nexport class Heading1Plugin extends Plugin {\n public styles: CSSProperties = {};\n constructor({ styles = BlockStyles.heading1, ...props }: PluginProps = {}) {\n super(TextStyles.heading1, {\n label: 'Heading 1',\n markupElement: new Heading1MarkupElement(),\n ...props,\n });\n this.styles = styles;\n }\n\n plugins() {\n return [createHeading1Plugin(this.styles)];\n }\n}\n\nclass Heading1MarkupElement extends MarkupElement {\n constructor(id = ID, node = Heading1MarkupElementNode) {\n super(id, node);\n }\n}\n\nconst Heading1MarkupElementNode = ({ element, attributes, children, styles }: TextStyleRenderElementProps) => {\n const align = element.align as string;\n return (\n <h1\n {...attributes}\n className={merge([align && alignmentClassnames[align], getColumnBreakClasses(element)])}\n style={styles}\n >\n {children}\n </h1>\n );\n};\n\nconst createHeading1Plugin = (styles: CSSProperties) =>\n createPluginFactory({\n key: TextStyles.heading1,\n isElement: true,\n component: Heading1MarkupElementNode,\n deserializeHtml: {\n rules: [{ validNodeName: ['h1', 'H1'] }],\n },\n })({\n component: (props: PlateRenderElementProps) => <Heading1MarkupElementNode {...props} styles={styles} />,\n });\n"],"names":["ID","Heading1Plugin","Plugin","styles","BlockStyles","props","TextStyles","Heading1MarkupElement","createHeading1Plugin","MarkupElement","id","node","Heading1MarkupElementNode","element","attributes","children","align","jsx","merge","alignmentClassnames","getColumnBreakClasses","createPluginFactory"],"mappings":";;;;AAeA,MAAMA,IAAK;AACJ,MAAMC,UAAuBC,EAAO;AAAA,EAEvC,YAAY,EAAE,QAAAC,IAASC,EAAY,UAAU,GAAGC,EAAuB,IAAA,IAAI;AACvE,UAAMC,EAAW,UAAU;AAAA,MACvB,OAAO;AAAA,MACP,eAAe,IAAIC,EAAsB;AAAA,MACzC,GAAGF;AAAA,IAAA,CACN,GANL,KAAO,SAAwB,IAO3B,KAAK,SAASF;AAAA,EAClB;AAAA,EAEA,UAAU;AACN,WAAO,CAACK,EAAqB,KAAK,MAAM,CAAC;AAAA,EAC7C;AACJ;AAEA,MAAMD,UAA8BE,EAAc;AAAA,EAC9C,YAAYC,IAAKV,GAAIW,IAAOC,GAA2B;AACnD,UAAMF,GAAIC,CAAI;AAAA,EAClB;AACJ;AAEA,MAAMC,IAA4B,CAAC,EAAE,SAAAC,GAAS,YAAAC,GAAY,UAAAC,GAAU,QAAAZ,QAA0C;AAC1G,QAAMa,IAAQH,EAAQ;AAElB,SAAA,gBAAAI;AAAA,IAAC;AAAA,IAAA;AAAA,MACI,GAAGH;AAAA,MACJ,WAAWI,EAAM,CAACF,KAASG,EAAoBH,CAAK,GAAGI,EAAsBP,CAAO,CAAC,CAAC;AAAA,MACtF,OAAOV;AAAA,MAEN,UAAAY;AAAA,IAAA;AAAA,EAAA;AAGb,GAEMP,IAAuB,CAACL,MAC1BkB,EAAoB;AAAA,EAChB,KAAKf,EAAW;AAAA,EAChB,WAAW;AAAA,EACX,WAAWM;AAAA,EACX,iBAAiB;AAAA,IACb,OAAO,CAAC,EAAE,eAAe,CAAC,MAAM,IAAI,GAAG;AAAA,EAC3C;AACJ,CAAC,EAAE;AAAA,EACC,WAAW,CAACP,wBAAoCO,GAA2B,EAAA,GAAGP,GAAO,QAAAF,GAAgB;AACzG,CAAC;"}