@faststore/core 3.87.0 → 3.88.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -1
- package/.next/build-manifest.json +115 -116
- package/.next/cache/.tsbuildinfo +1 -1
- package/.next/cache/config.json +3 -3
- package/.next/cache/webpack/client-production/0.pack +0 -0
- package/.next/cache/webpack/client-production/index.pack +0 -0
- package/.next/cache/webpack/server-production/0.pack +0 -0
- package/.next/cache/webpack/server-production/index.pack +0 -0
- package/.next/prerender-manifest.js +1 -1
- package/.next/prerender-manifest.json +1 -1
- package/.next/react-loadable-manifest.json +178 -169
- package/.next/routes-manifest.json +1 -1
- package/.next/server/chunks/6870.js +1 -0
- package/.next/server/chunks/83.js +1 -1
- package/.next/server/chunks/8474.js +3 -3
- package/.next/server/chunks/948.js +1 -1
- package/.next/server/chunks/9563.js +1 -1
- package/.next/server/chunks/UIBannerText.js +1 -1
- package/.next/server/functions-config-manifest.json +1 -1
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/.next/server/pages/404.js.nft.json +1 -1
- package/.next/server/pages/500.js.nft.json +1 -1
- package/.next/server/pages/[...slug].js +1 -1
- package/.next/server/pages/[...slug].js.nft.json +1 -1
- package/.next/server/pages/[slug]/p.js +1 -1
- package/.next/server/pages/[slug]/p.js.nft.json +1 -1
- package/.next/server/pages/_app.js.nft.json +1 -1
- package/.next/server/pages/_document.js.nft.json +1 -1
- package/.next/server/pages/_error.js.nft.json +1 -1
- package/.next/server/pages/api/graphql.js +1 -1
- package/.next/server/pages/api/graphql.js.nft.json +1 -1
- package/.next/server/pages/api/health/live.js.nft.json +1 -1
- package/.next/server/pages/api/health/ready.js.nft.json +1 -1
- package/.next/server/pages/api/preview.js.nft.json +1 -1
- package/.next/server/pages/checkout.js.nft.json +1 -1
- package/.next/server/pages/en-US/404.html +1 -1
- package/.next/server/pages/en-US/500.html +1 -1
- package/.next/server/pages/en-US/checkout.html +1 -1
- package/.next/server/pages/en-US/login.html +1 -1
- package/.next/server/pages/en-US/s.html +1 -1
- package/.next/server/pages/en-US.html +1 -1
- package/.next/server/pages/index.js.nft.json +1 -1
- package/.next/server/pages/login.js.nft.json +1 -1
- package/.next/server/pages/pvt/account/403.js.nft.json +1 -1
- package/.next/server/pages/pvt/account/404.js.nft.json +1 -1
- package/.next/server/pages/pvt/account/[...unknown].js.nft.json +1 -1
- package/.next/server/pages/pvt/account/orders/[id].js.nft.json +1 -1
- package/.next/server/pages/pvt/account/orders.js.nft.json +1 -1
- package/.next/server/pages/pvt/account/profile.js.nft.json +1 -1
- package/.next/server/pages/pvt/account/security.js.nft.json +1 -1
- package/.next/server/pages/pvt/account/user-details.js.nft.json +1 -1
- package/.next/server/pages/pvt/account.js.nft.json +1 -1
- package/.next/server/pages/s.js.nft.json +1 -1
- package/.next/server/pages-manifest.json +1 -1
- package/.next/static/JaRUyeLgqhw17hCxdW6B5/_buildManifest.js +1 -0
- package/.next/static/chunks/1208-9118a8f14ecf05c8.js +8 -0
- package/.next/static/chunks/1841.b3a98a2a1886b09c.js +1 -0
- package/.next/static/chunks/2284.17a3e4c3af092981.js +1 -0
- package/.next/static/chunks/2500.02f018a354c612fb.js +1 -0
- package/.next/static/chunks/294.ac8fb1e24849b0c4.js +1 -0
- package/.next/static/chunks/3155.f521c771a8c355a5.js +1 -0
- package/.next/static/chunks/3399.b1311b661da6b316.js +1 -0
- package/.next/static/chunks/3483.ef53d632a763da3f.js +1 -0
- package/.next/static/chunks/349.235b18ceb82aa256.js +1 -0
- package/.next/static/chunks/3836.5a76d717d95d1f2d.js +1 -0
- package/.next/static/chunks/4799.46dca5f8076f9448.js +1 -0
- package/.next/static/chunks/4803.c1405eca2ccf78c8.js +1 -0
- package/.next/static/chunks/5796.4351370494d8b8b6.js +1 -0
- package/.next/static/chunks/5859.cf66c492751f5680.js +1 -0
- package/.next/static/chunks/6031-a7dfc540189ff57c.js +28 -0
- package/.next/static/chunks/6393.e4b26fee060438d6.js +1 -0
- package/.next/static/chunks/6700.a72869377e81146c.js +1 -0
- package/.next/static/chunks/6789.856de844108ee5da.js +1 -0
- package/.next/static/chunks/6852-97b424676696b449.js +1 -0
- package/.next/static/chunks/7191-0063121dcadf6b82.js +1 -0
- package/.next/static/chunks/7351.2d0d3a1fb538d97a.js +1 -0
- package/.next/static/chunks/7692.a352cce6d744fa8b.js +1 -0
- package/.next/static/chunks/7861.7f9f1a124a43da30.js +6 -0
- package/.next/static/chunks/8068.43663fb64762f7b8.js +1 -0
- package/.next/static/chunks/83.7723de7199118a99.js +1 -0
- package/.next/static/chunks/8325.dabe9aa22eaadeed.js +1 -0
- package/.next/static/chunks/8587.53c8ce185ed1a2cb.js +1 -0
- package/.next/static/chunks/9173-2dc082a086a959c3.js +1 -0
- package/.next/static/chunks/9399.132e63584d15075f.js +1 -0
- package/.next/static/chunks/941.417f354fd61bae91.js +1 -0
- package/.next/static/chunks/9465.8754a1b3cd5c4c83.js +1 -0
- package/.next/static/chunks/9714.2e2c2f0eb526ba23.js +1 -0
- package/.next/static/chunks/9781.a221de71d6b10ba0.js +1 -0
- package/.next/static/chunks/9909.787576b171184aa5.js +1 -0
- package/.next/static/chunks/BannerNewsletter.840a840b7a616260.js +1 -0
- package/.next/static/chunks/BannerText.b675fb19df87b7cb.js +1 -0
- package/.next/static/chunks/ButtonSignIn.308336a54a58f436.js +1 -0
- package/.next/static/chunks/CartItem.afa42120880fcb94.js +1 -0
- package/.next/static/chunks/CartSidebar.71d3ea99611c87a3.js +1 -0
- package/.next/static/chunks/Dropdown.38b48c749bad6b60.js +1 -0
- package/.next/static/chunks/DropdownButton.66fa6b25dddb3a07.js +1 -0
- package/.next/static/chunks/DropdownItem.38b8f5a07c7f422a.js +1 -0
- package/.next/static/chunks/DropdownMenu.48b11521a24c6efd.js +1 -0
- package/.next/static/chunks/EmptyCart.320e2f94a0d5e6b1.js +1 -0
- package/.next/static/chunks/FilterSkeleton.7ab99e28f92341c9.js +1 -0
- package/.next/static/chunks/Footer.63a7682a81a96f8e.js +1 -0
- package/.next/static/chunks/Gift.9d0570cbe866077f.js +1 -0
- package/.next/static/chunks/Newsletter.dbf35a8ea6d2067e.js +1 -0
- package/.next/static/chunks/OrderSummary.f9adad5622605046.js +1 -0
- package/.next/static/chunks/PreviewTag.f4f0c8710a7bcad9.js +1 -0
- package/.next/static/chunks/ProductShelf.632b93b2c0e1ca9a.js +1 -0
- package/.next/static/chunks/ProductTiles.778c483734598736.js +1 -0
- package/.next/static/chunks/RegionModal.2a8f6662c3a64d2a.js +1 -0
- package/.next/static/chunks/RegionSlider.bd14bfba15836ea0.js +1 -0
- package/.next/static/chunks/ScrollToTopButton.c15431f2e8bb93ef.js +1 -0
- package/.next/static/chunks/Toast.f583e19c7fcb2527.js +1 -0
- package/.next/static/chunks/UIBannerText.6715ba9ae0b6065c.js +1 -0
- package/.next/static/chunks/UISKUMatrixSidebar.072f0b5bf8e172f6.js +1 -0
- package/.next/static/chunks/UIToast.1ac644a9d787435c.js +1 -0
- package/.next/static/chunks/framework-d514426edf885c68.js +33 -0
- package/.next/static/chunks/main-595f5e3b626b9fff.js +1 -0
- package/.next/static/chunks/pages/404-4b3f1e22c77f849a.js +1 -0
- package/.next/static/chunks/pages/500-bb2de0c11524b2b8.js +1 -0
- package/.next/static/chunks/pages/[...slug]-8c829cc01fdb1a38.js +1 -0
- package/.next/static/chunks/pages/[slug]/p-4900eb3e616324c7.js +1 -0
- package/.next/static/chunks/pages/_app-8b7d8e9c9021b0cf.js +1 -0
- package/.next/static/chunks/pages/_error-2b0148be56a716e9.js +1 -0
- package/.next/static/chunks/pages/checkout-dc07d72b3514c83d.js +1 -0
- package/.next/static/chunks/pages/index-8e36d989396a7544.js +1 -0
- package/.next/static/chunks/pages/login-e97ef92769456bf6.js +1 -0
- package/.next/static/chunks/pages/pvt/account/403-e4315ace8609a7ff.js +1 -0
- package/.next/static/chunks/pages/pvt/account/404-1e450ae9476bbcaa.js +1 -0
- package/.next/static/chunks/pages/pvt/account/[...unknown]-f80f645594d2740c.js +1 -0
- package/.next/static/chunks/pages/pvt/account/orders/[id]-a3e46af1be9816a4.js +1 -0
- package/.next/static/chunks/pages/pvt/account/orders-db7a364869130660.js +1 -0
- package/.next/static/chunks/pages/pvt/account/profile-e8a7ad7a7d7c60fb.js +1 -0
- package/.next/static/chunks/pages/pvt/account/security-cad4e4260be8b0cd.js +1 -0
- package/.next/static/chunks/pages/pvt/account/user-details-401f6f6e4ce4b9ce.js +1 -0
- package/.next/static/chunks/pages/pvt/account-65fefcc699344bdb.js +1 -0
- package/.next/static/chunks/pages/s-5319ae49907c3391.js +1 -0
- package/.next/static/chunks/webpack-50869061879531a0.js +1 -0
- package/.next/static/css/175fa823349dc534.css +1 -0
- package/.next/static/css/{18e4be87b97035da.css → 45fac71f6411cceb.css} +1 -1
- package/.next/static/css/f63d693715093ed1.css +1 -0
- package/.next/trace +137 -136
- package/.turbo/turbo-build.log +28 -29
- package/.turbo/turbo-test.log +5 -5
- package/CHANGELOG.md +6 -0
- package/package.json +12 -4
- package/src/components/sections/Newsletter/section.module.scss +2 -0
- package/src/components/ui/Newsletter/NewsletterAddendum.tsx +22 -73
- package/src/components/ui/RichText/RichText.tsx +202 -0
- package/src/components/ui/RichText/index.ts +2 -0
- package/.next/server/chunks/8640.js +0 -1
- package/.next/static/OCdDzXbixjGq2qfKmUzTD/_buildManifest.js +0 -1
- package/.next/static/chunks/1417.feb3146f627742b7.js +0 -1
- package/.next/static/chunks/2284.6e01b30c38bb74fd.js +0 -1
- package/.next/static/chunks/294.d57cdd543091b533.js +0 -1
- package/.next/static/chunks/3155.0a1b674bbd087938.js +0 -1
- package/.next/static/chunks/3166-b1ac316afe18625b.js +0 -1
- package/.next/static/chunks/3399.15d4dbadc57c3f42.js +0 -1
- package/.next/static/chunks/3483.4aa5b8186f9288b8.js +0 -1
- package/.next/static/chunks/353.3e74b28c8ca649a2.js +0 -1
- package/.next/static/chunks/3836.c7f8d69a151682bc.js +0 -1
- package/.next/static/chunks/4799.685d618907cf7026.js +0 -1
- package/.next/static/chunks/4803.74cf987971db6d93.js +0 -1
- package/.next/static/chunks/4836.5450b506133e326f.js +0 -1
- package/.next/static/chunks/5796.31fc3b14839d2bc0.js +0 -1
- package/.next/static/chunks/6031-18797e7ebff417ab.js +0 -28
- package/.next/static/chunks/6393.4ad395e06f7dbbc6.js +0 -1
- package/.next/static/chunks/6700.ddae2aa02d2dd401.js +0 -1
- package/.next/static/chunks/6789.c37c2ec891333684.js +0 -1
- package/.next/static/chunks/7026.9ab6a9b610831b85.js +0 -1
- package/.next/static/chunks/7191-d39597fc204602cb.js +0 -1
- package/.next/static/chunks/7351.8ef7b6b1d6e1505a.js +0 -1
- package/.next/static/chunks/7692.d434a8499fb2aa03.js +0 -1
- package/.next/static/chunks/7861.3fe27a385fea2fb7.js +0 -6
- package/.next/static/chunks/8068.374d1641856d8b1b.js +0 -1
- package/.next/static/chunks/83.8172f0b21b7683d6.js +0 -1
- package/.next/static/chunks/8325.40b7331df742c2f5.js +0 -1
- package/.next/static/chunks/8587.1d6d458c9b697351.js +0 -1
- package/.next/static/chunks/9173-188afceabcbccdbb.js +0 -1
- package/.next/static/chunks/9399.6bd7f24a04ccfff4.js +0 -1
- package/.next/static/chunks/941.2a946730a9174ed7.js +0 -1
- package/.next/static/chunks/9666-1bd33f872ad66b42.js +0 -1
- package/.next/static/chunks/9714.68af2d4bf27f560b.js +0 -1
- package/.next/static/chunks/9781.60f28efd7e165f54.js +0 -1
- package/.next/static/chunks/9909.dcc319593a7c09f1.js +0 -1
- package/.next/static/chunks/BannerNewsletter.d91d065d644d15f3.js +0 -1
- package/.next/static/chunks/BannerText.3bc2f0af3687e984.js +0 -1
- package/.next/static/chunks/ButtonSignIn.c9bc322071e80856.js +0 -1
- package/.next/static/chunks/CartItem.d4c2664933f93606.js +0 -1
- package/.next/static/chunks/CartSidebar.e21ad4975e18e6db.js +0 -1
- package/.next/static/chunks/Dropdown.7fe839c5ffce4687.js +0 -1
- package/.next/static/chunks/DropdownButton.47ba6e75ee7435de.js +0 -1
- package/.next/static/chunks/DropdownItem.0b3c39f881ca0832.js +0 -1
- package/.next/static/chunks/DropdownMenu.943b2d11ffa50ff6.js +0 -1
- package/.next/static/chunks/EmptyCart.2fac8149cc511b0d.js +0 -1
- package/.next/static/chunks/FilterSkeleton.2e156182f33d8116.js +0 -1
- package/.next/static/chunks/Footer.0eb7e5cc7bce8103.js +0 -1
- package/.next/static/chunks/Gift.5891ca280b4f0164.js +0 -1
- package/.next/static/chunks/Newsletter.46c9113fa222890a.js +0 -1
- package/.next/static/chunks/OrderSummary.35d859a1e467ad91.js +0 -1
- package/.next/static/chunks/PreviewTag.0b16a5b6ac35ce1c.js +0 -1
- package/.next/static/chunks/ProductShelf.ee5cec2ae121df87.js +0 -1
- package/.next/static/chunks/ProductTiles.2bd64de5bcd5f6d8.js +0 -1
- package/.next/static/chunks/RegionModal.b5edb6ada60d37ec.js +0 -1
- package/.next/static/chunks/RegionSlider.3d9063b0cb6733d9.js +0 -1
- package/.next/static/chunks/ScrollToTopButton.7acc3be2dcad2695.js +0 -1
- package/.next/static/chunks/Toast.c06d4e2e2e7913c5.js +0 -1
- package/.next/static/chunks/UIBannerText.08c65db460bd1695.js +0 -1
- package/.next/static/chunks/UISKUMatrixSidebar.5793df7899038286.js +0 -1
- package/.next/static/chunks/UIToast.55af19d2eba3d8a1.js +0 -1
- package/.next/static/chunks/framework-807b0f81cbc129f0.js +0 -33
- package/.next/static/chunks/main-f658704b53a96ab1.js +0 -1
- package/.next/static/chunks/pages/404-cc5de07438cb53b5.js +0 -1
- package/.next/static/chunks/pages/500-926ab913425651bc.js +0 -1
- package/.next/static/chunks/pages/[...slug]-1e68a914dfca7da9.js +0 -1
- package/.next/static/chunks/pages/[slug]/p-60dd0938ba92424b.js +0 -1
- package/.next/static/chunks/pages/_app-ea99eefec89aef24.js +0 -1
- package/.next/static/chunks/pages/_error-d820b4586477c368.js +0 -1
- package/.next/static/chunks/pages/checkout-b0637ee59b1cdca8.js +0 -1
- package/.next/static/chunks/pages/index-004d6444cfaf59cb.js +0 -1
- package/.next/static/chunks/pages/login-3043634ec00661a8.js +0 -1
- package/.next/static/chunks/pages/pvt/account/403-a1c5772740914141.js +0 -1
- package/.next/static/chunks/pages/pvt/account/404-eaed7a7c92d499ff.js +0 -1
- package/.next/static/chunks/pages/pvt/account/[...unknown]-a8bcdec2e6ed7b0e.js +0 -1
- package/.next/static/chunks/pages/pvt/account/orders/[id]-3bdaf71be192669b.js +0 -1
- package/.next/static/chunks/pages/pvt/account/orders-07d7ced3a4b845b0.js +0 -1
- package/.next/static/chunks/pages/pvt/account/profile-449314f16e1c132c.js +0 -1
- package/.next/static/chunks/pages/pvt/account/security-8b024c8877f125d0.js +0 -1
- package/.next/static/chunks/pages/pvt/account/user-details-0caf3ce4cb6df66e.js +0 -1
- package/.next/static/chunks/pages/pvt/account-412a3bb2b0f22dea.js +0 -1
- package/.next/static/chunks/pages/s-c624c961a98a1be0.js +0 -1
- package/.next/static/chunks/webpack-98c08c89b832fbd2.js +0 -1
- package/.next/static/css/37ee6a2c6adab309.css +0 -1
- package/.next/static/css/3d7be7043aee15df.css +0 -1
- package/.next/static/css/fe0bcc13a2b68605.css +0 -1
- /package/.next/static/{OCdDzXbixjGq2qfKmUzTD → JaRUyeLgqhw17hCxdW6B5}/_ssgManifest.js +0 -0
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
|
|
2
|
-
> @faststore/core@3.
|
|
2
|
+
> @faststore/core@3.87.0 prebuild /home/runner/work/faststore/faststore/packages/core
|
|
3
3
|
> na run partytown && na run generate
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
> @faststore/core@3.
|
|
6
|
+
> @faststore/core@3.87.0 partytown /home/runner/work/faststore/faststore/packages/core
|
|
7
7
|
> partytown copylib ./public/~partytown
|
|
8
8
|
|
|
9
9
|
Partytown lib copied to: /home/runner/work/faststore/faststore/packages/core/public/~partytown
|
|
10
10
|
|
|
11
|
-
> @faststore/core@3.
|
|
11
|
+
> @faststore/core@3.87.0 generate /home/runner/work/faststore/faststore/packages/core
|
|
12
12
|
> na run generate:schema && na run generate:codegen && na run format:generated
|
|
13
13
|
|
|
14
14
|
|
|
15
|
-
> @faststore/core@3.
|
|
15
|
+
> @faststore/core@3.87.0 generate:schema /home/runner/work/faststore/faststore/packages/core
|
|
16
16
|
> tsx src/server/generator/generateGraphQLSchemaFile.ts
|
|
17
17
|
|
|
18
18
|
Schema GraphQL file generated successfully
|
|
19
19
|
|
|
20
|
-
> @faststore/core@3.
|
|
20
|
+
> @faststore/core@3.87.0 generate:codegen /home/runner/work/faststore/faststore/packages/core
|
|
21
21
|
> graphql-codegen
|
|
22
22
|
|
|
23
23
|
[STARTED] Parse Configuration
|
|
@@ -37,11 +37,11 @@ Running lifecycle hook "afterStart" scripts...
|
|
|
37
37
|
[CLI] Loading Documents
|
|
38
38
|
[CLI] Generating output
|
|
39
39
|
|
|
40
|
-
> @faststore/core@3.
|
|
40
|
+
> @faststore/core@3.87.0 format:generated /home/runner/work/faststore/faststore/packages/core
|
|
41
41
|
> prettier --write "@generated/**/*.{ts,js,tsx,jsx,json}" --loglevel error
|
|
42
42
|
|
|
43
43
|
|
|
44
|
-
> @faststore/core@3.
|
|
44
|
+
> @faststore/core@3.87.0 build /home/runner/work/faststore/faststore/packages/core
|
|
45
45
|
> next build
|
|
46
46
|
|
|
47
47
|
⚠ No build cache found. Please configure build caching for faster rebuilds. Read more: https://nextjs.org/docs/messages/no-cache
|
|
@@ -73,44 +73,43 @@ Warning: Dynamic Content not found for the page: home. Refer to the Dynamic Cont
|
|
|
73
73
|
Collecting build traces ...
|
|
74
74
|
|
|
75
75
|
Route (pages) Size First Load JS
|
|
76
|
-
┌ ● / 3.
|
|
76
|
+
┌ ● / 3.69 kB 142 kB
|
|
77
77
|
├ └ css/b1806cbafd0c1f81.css 3.06 kB
|
|
78
78
|
├ /_app 0 B 107 kB
|
|
79
|
-
├ ● /[...slug] 2.
|
|
80
|
-
├ ● /[slug]/p
|
|
79
|
+
├ ● /[...slug] 2.49 kB 156 kB
|
|
80
|
+
├ ● /[slug]/p 97.4 kB 236 kB
|
|
81
81
|
├ ├ css/6cd282d958f613bc.css 5.9 kB
|
|
82
|
-
├
|
|
83
|
-
├
|
|
84
|
-
├
|
|
85
|
-
├ ● /500 1.55 kB 139 kB
|
|
82
|
+
├ └ css/175fa823349dc534.css 22 kB
|
|
83
|
+
├ ○ /404 1.57 kB 140 kB
|
|
84
|
+
├ ● /500 1.57 kB 140 kB
|
|
86
85
|
├ λ /api/graphql 0 B 107 kB
|
|
87
86
|
├ λ /api/health/live 0 B 107 kB
|
|
88
87
|
├ λ /api/health/ready 0 B 107 kB
|
|
89
88
|
├ λ /api/preview 0 B 107 kB
|
|
90
|
-
├ ● /checkout
|
|
91
|
-
├ ● /login 1.
|
|
92
|
-
├ λ /pvt/account
|
|
93
|
-
├ ● /pvt/account/[...unknown]
|
|
94
|
-
├ λ /pvt/account/403 2.
|
|
89
|
+
├ ● /checkout 749 B 139 kB
|
|
90
|
+
├ ● /login 1.7 kB 140 kB
|
|
91
|
+
├ λ /pvt/account 247 B 108 kB
|
|
92
|
+
├ ● /pvt/account/[...unknown] 287 B 108 kB
|
|
93
|
+
├ λ /pvt/account/403 2.47 kB 141 kB
|
|
95
94
|
├ └ css/b7bba8fce075688b.css 4.2 kB
|
|
96
|
-
├ λ /pvt/account/404 2.
|
|
95
|
+
├ λ /pvt/account/404 2.16 kB 140 kB
|
|
97
96
|
├ └ css/5347dbc8b71de47d.css 4.25 kB
|
|
98
|
-
├ λ /pvt/account/orders 10.5 kB
|
|
97
|
+
├ λ /pvt/account/orders 10.5 kB 149 kB
|
|
99
98
|
├ └ css/b7fc24e8f1eb011f.css 12.8 kB
|
|
100
99
|
├ λ /pvt/account/orders/[id] 12.2 kB 150 kB
|
|
101
100
|
├ └ css/297be4be3be36ff0.css 12.6 kB
|
|
102
|
-
├ λ /pvt/account/profile 1.
|
|
101
|
+
├ λ /pvt/account/profile 1.81 kB 140 kB
|
|
103
102
|
├ └ css/831a1f72fe4b2d80.css 3.97 kB
|
|
104
|
-
├ λ /pvt/account/security 3.
|
|
103
|
+
├ λ /pvt/account/security 3.79 kB 142 kB
|
|
105
104
|
├ └ css/ec7fdad03808422d.css 5.22 kB
|
|
106
|
-
├ λ /pvt/account/user-details 1.
|
|
105
|
+
├ λ /pvt/account/user-details 1.76 kB 140 kB
|
|
107
106
|
├ └ css/e46393a76c5d93a9.css 4.17 kB
|
|
108
|
-
└ ● /s 3.
|
|
107
|
+
└ ● /s 3.28 kB 157 kB
|
|
109
108
|
+ First Load JS shared by all 111 kB
|
|
110
|
-
├ chunks/framework-
|
|
111
|
-
├ chunks/main-
|
|
112
|
-
├ chunks/pages/_app-
|
|
113
|
-
├ chunks/webpack-
|
|
109
|
+
├ chunks/framework-d514426edf885c68.js 45.4 kB
|
|
110
|
+
├ chunks/main-595f5e3b626b9fff.js 33.2 kB
|
|
111
|
+
├ chunks/pages/_app-8b7d8e9c9021b0cf.js 25 kB
|
|
112
|
+
├ chunks/webpack-50869061879531a0.js 3.85 kB
|
|
114
113
|
└ css/24a5e8f6808266fe.css 3.53 kB
|
|
115
114
|
|
|
116
115
|
λ (Server) server-side renders at runtime (uses getInitialProps or getServerSideProps)
|
package/.turbo/turbo-test.log
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
|
|
2
|
-
> @faststore/core@3.
|
|
2
|
+
> @faststore/core@3.87.0 test /home/runner/work/faststore/faststore/packages/core
|
|
3
3
|
> jest
|
|
4
4
|
|
|
5
|
-
PASS test/server/cms/global.test.ts (27.
|
|
6
|
-
PASS test/utils/multipleTemplates.test.ts (
|
|
5
|
+
PASS test/server/cms/global.test.ts (27.587 s)
|
|
6
|
+
PASS test/utils/multipleTemplates.test.ts (27.756 s)
|
|
7
7
|
PASS test/server/cms/index.test.ts
|
|
8
|
-
PASS test/server/index.test.ts (31.
|
|
8
|
+
PASS test/server/index.test.ts (31.164 s)
|
|
9
9
|
|
|
10
10
|
Test Suites: 4 passed, 4 total
|
|
11
11
|
Tests: 22 passed, 22 total
|
|
12
12
|
Snapshots: 0 total
|
|
13
|
-
Time: 32.
|
|
13
|
+
Time: 32.259 s
|
|
14
14
|
Ran all test suites.
|
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,12 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [3.88.0](https://github.com/vtex/faststore/compare/v3.87.0...v3.88.0) (2025-09-18)
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
- [CP-768] adding support for lexical rich text objects ([#3004](https://github.com/vtex/faststore/issues/3004)) ([3e8fdaa](https://github.com/vtex/faststore/commit/3e8fdaa4bb728d2bde038ac96a2045f5d8670744)), closes [/github.com/vtex/faststore/pull/3004/files#diff-0b1e74171da3dc2cd19600bd739a8db011c54e9032c01abe19ababa21b1cf947R189](https://github.com//github.com/vtex/faststore/pull/3004/files/issues/diff-0b1e74171da3dc2cd19600bd739a8db011c54e9032c01abe19ababa21b1cf947R189) [/github.com/vtex/faststore/pull/3004/files#diff-fe1a4c11824f3dfcc33af60e6612a2054705df8f7273932db1b5f9c0ed023172R20](https://github.com//github.com/vtex/faststore/pull/3004/files/issues/diff-fe1a4c11824f3dfcc33af60e6612a2054705df8f7273932db1b5f9c0ed023172R20) [/github.com/vtex/faststore/pull/3004/files#diff-0b1e74171da3dc2cd19600bd739a8db011c54e9032c01abe19ababa21b1cf947R205](https://github.com//github.com/vtex/faststore/pull/3004/files/issues/diff-0b1e74171da3dc2cd19600bd739a8db011c54e9032c01abe19ababa21b1cf947R205) [/github.com/vtex/faststore/pull/3004/files#diff-0b1e74171da3dc2cd19600bd739a8db011c54e9032c01abe19ababa21b1cf947R98](https://github.com//github.com/vtex/faststore/pull/3004/files/issues/diff-0b1e74171da3dc2cd19600bd739a8db011c54e9032c01abe19ababa21b1cf947R98) [/github.com/vtex/faststore/pull/3004/files#diff-0b1e74171da3dc2cd19600bd739a8db011c54e9032c01abe19ababa21b1cf947R153](https://github.com//github.com/vtex/faststore/pull/3004/files/issues/diff-0b1e74171da3dc2cd19600bd739a8db011c54e9032c01abe19ababa21b1cf947R153) [/github.com/vtex/faststore/pull/3004/files#diff-0b1e74171da3dc2cd19600bd739a8db011c54e9032c01abe19ababa21b1cf947R106](https://github.com//github.com/vtex/faststore/pull/3004/files/issues/diff-0b1e74171da3dc2cd19600bd739a8db011c54e9032c01abe19ababa21b1cf947R106) [/github.com/vtex/faststore/pull/3004/files#diff-0b1e74171da3dc2cd19600bd739a8db011c54e9032c01abe19ababa21b1cf947R119](https://github.com//github.com/vtex/faststore/pull/3004/files/issues/diff-0b1e74171da3dc2cd19600bd739a8db011c54e9032c01abe19ababa21b1cf947R119) [/github.com/vtex/faststore/pull/3004/files#diff-0b1e74171da3dc2cd19600bd739a8db011c54e9032c01abe19ababa21b1cf947R145](https://github.com//github.com/vtex/faststore/pull/3004/files/issues/diff-0b1e74171da3dc2cd19600bd739a8db011c54e9032c01abe19ababa21b1cf947R145) [/github.com/vtex/faststore/pull/3004/files#diff-0b1e74171da3dc2cd19600bd739a8db011c54e9032c01abe19ababa21b1cf947R148](https://github.com//github.com/vtex/faststore/pull/3004/files/issues/diff-0b1e74171da3dc2cd19600bd739a8db011c54e9032c01abe19ababa21b1cf947R148) [/github.com/vtex/faststore/pull/3004/files#diff-0b1e74171da3dc2cd19600bd739a8db011c54e9032c01abe19ababa21b1cf947R149](https://github.com//github.com/vtex/faststore/pull/3004/files/issues/diff-0b1e74171da3dc2cd19600bd739a8db011c54e9032c01abe19ababa21b1cf947R149) [/github.com/vtex/faststore/pull/3004/files#diff-0b1e74171da3dc2cd19600bd739a8db011c54e9032c01abe19ababa21b1cf947R150](https://github.com//github.com/vtex/faststore/pull/3004/files/issues/diff-0b1e74171da3dc2cd19600bd739a8db011c54e9032c01abe19ababa21b1cf947R150) [/github.com/vtex/faststore/pull/3004/files#diff-946e28ce25fa403debb36f7f2bb8bad070f7ddd8586e4dd834649afcf4b529eeR32](https://github.com//github.com/vtex/faststore/pull/3004/files/issues/diff-946e28ce25fa403debb36f7f2bb8bad070f7ddd8586e4dd834649afcf4b529eeR32) [/github.com/vtex/faststore/pull/3004/files#diff-3a4a8bba967d6107c9b71ef5c1a0835620593286a58dc65031f8a29e8584c071R27](https://github.com//github.com/vtex/faststore/pull/3004/files/issues/diff-3a4a8bba967d6107c9b71ef5c1a0835620593286a58dc65031f8a29e8584c071R27)
|
|
11
|
+
|
|
6
12
|
# [3.87.0](https://github.com/vtex/faststore/compare/v3.86.4...v3.87.0) (2025-09-18)
|
|
7
13
|
|
|
8
14
|
### Features
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@faststore/core",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.88.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"repository": "vtex/faststore",
|
|
6
6
|
"browserslist": "supports es6-module and not dead",
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
"@faststore/graphql-utils": "^3.81.0",
|
|
49
49
|
"@faststore/lighthouse": "^3.81.0",
|
|
50
50
|
"@faststore/sdk": "^3.85.0",
|
|
51
|
-
"@faststore/ui": "^3.
|
|
51
|
+
"@faststore/ui": "^3.88.0",
|
|
52
52
|
"@graphql-codegen/cli": "5.0.2",
|
|
53
53
|
"@graphql-codegen/client-preset": "4.2.6",
|
|
54
54
|
"@graphql-codegen/typescript": "4.0.7",
|
|
@@ -58,10 +58,17 @@
|
|
|
58
58
|
"@graphql-tools/schema": "^10.0.3",
|
|
59
59
|
"@graphql-tools/utils": "^10.2.0",
|
|
60
60
|
"@graphql-typed-document-node/core": "^3.2.0",
|
|
61
|
+
"@lexical/code": "^0.34.0",
|
|
62
|
+
"@lexical/headless": "^0.34.0",
|
|
63
|
+
"@lexical/html": "^0.34.0",
|
|
64
|
+
"@lexical/link": "^0.34.0",
|
|
65
|
+
"@lexical/list": "^0.34.0",
|
|
66
|
+
"@lexical/react": "^0.34.0",
|
|
67
|
+
"@lexical/rich-text": "^0.34.0",
|
|
61
68
|
"@parcel/watcher": "^2.4.0",
|
|
62
69
|
"@types/react": "^18.2.42",
|
|
63
70
|
"@vtex/client-cms": "^0.2.16",
|
|
64
|
-
"@vtex/client-cp": "0.3.
|
|
71
|
+
"@vtex/client-cp": "0.3.5",
|
|
65
72
|
"@vtex/prettier-config": "1.0.0",
|
|
66
73
|
"autoprefixer": "^10.4.0",
|
|
67
74
|
"cookie": "^0.7.0",
|
|
@@ -73,6 +80,7 @@
|
|
|
73
80
|
"graphql": "^15.6.0",
|
|
74
81
|
"include-media": "^1.4.10",
|
|
75
82
|
"isomorphic-unfetch": "^3.1.0",
|
|
83
|
+
"lexical": "^0.34.0",
|
|
76
84
|
"next": "^13.5.9",
|
|
77
85
|
"next-seo": "^6.6.0",
|
|
78
86
|
"postcss": "^8.4.4",
|
|
@@ -108,5 +116,5 @@
|
|
|
108
116
|
"ts-jest": "29.1.1",
|
|
109
117
|
"typescript": "5.3.2"
|
|
110
118
|
},
|
|
111
|
-
"gitHead": "
|
|
119
|
+
"gitHead": "c87a2fbc23b26a4d343d485586c4f2108a814612"
|
|
112
120
|
}
|
|
@@ -4,6 +4,8 @@
|
|
|
4
4
|
@import "@faststore/ui/src/components/atoms/Icon/styles.scss";
|
|
5
5
|
@import "@faststore/ui/src/components/atoms/Input/styles.scss";
|
|
6
6
|
@import "@faststore/ui/src/components/atoms/Link/styles.scss";
|
|
7
|
+
@import "@faststore/ui/src/components/atoms/List/styles.scss";
|
|
8
|
+
@import "@faststore/ui/src/components/atoms/RichText/styles.scss";
|
|
7
9
|
@import "@faststore/ui/src/components/molecules/InputField/styles.scss";
|
|
8
10
|
@import "@faststore/ui/src/components/organisms/Newsletter/styles.scss";
|
|
9
11
|
}
|
|
@@ -1,86 +1,35 @@
|
|
|
1
|
-
|
|
2
|
-
* TODO:
|
|
3
|
-
*
|
|
4
|
-
* This library hasn't been updated in 4 years at the time of writing.
|
|
5
|
-
*
|
|
6
|
-
* We're using it as a patch, and it is expected that some Rich Text use cases of draftjs are not supported by it.
|
|
7
|
-
* We have the dependency on draftjs because of the way the headless CMS send us the data.
|
|
8
|
-
*
|
|
9
|
-
* This library should be removed as soon as possible, which will probably be possible through one of two cases:
|
|
10
|
-
* 1. We support React Server Components and go back to using the official draftjs library for doing this, only on the server.
|
|
11
|
-
* This is still not the ideal solution, since it still relies on a unsupported, deprecated and archived library (draftjs).
|
|
12
|
-
* 2. CMS uses a new library or changes how it sends the data to not depend on draftjs.
|
|
13
|
-
*
|
|
14
|
-
* This is a limitation not only for this component, but for every native & custom component that makes use of Rich Text.
|
|
15
|
-
*/
|
|
16
|
-
|
|
17
|
-
// @ts-ignore motivation: cannot find the draftjs-to-html package types.
|
|
18
|
-
import draftToHtml from 'draftjs-to-html'
|
|
19
|
-
import { NewsletterAddendum as UINewsletterAddendum } from '@faststore/ui'
|
|
20
|
-
import type { NewsletterAddendumProps as UINewsletterAddendumProps } from '@faststore/ui'
|
|
1
|
+
import { RichText } from '../RichText'
|
|
21
2
|
|
|
22
3
|
export interface NewsletterAddendumProps {
|
|
23
4
|
/**
|
|
24
|
-
*
|
|
5
|
+
* Addendum content. Can be:
|
|
6
|
+
* - A string of a JSON object in the form of draftjs's raw content state (for hCMS)
|
|
7
|
+
* - Lexical's serialized editor state (for Content Platform)
|
|
8
|
+
* - Plain HTML string
|
|
9
|
+
* - Plain text
|
|
25
10
|
*/
|
|
26
|
-
addendum:
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
data-fs-link-size="regular"
|
|
36
|
-
data-testid="fs-link"
|
|
37
|
-
href="${url}"
|
|
38
|
-
>${text}</a>`
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
function cmsToHtml(addendum: string) {
|
|
42
|
-
if (!addendum) {
|
|
43
|
-
return ''
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
let rawDraftContentState = null
|
|
47
|
-
|
|
48
|
-
try {
|
|
49
|
-
rawDraftContentState = JSON.parse(addendum)
|
|
50
|
-
} catch (e) {
|
|
51
|
-
throw new Error(
|
|
52
|
-
'Newsletter\'s prop "addendum" is not a JSON string. This is happening because the overridden prop is malformed or the CMS is providing malformed content for that prop.',
|
|
53
|
-
{
|
|
54
|
-
cause: e,
|
|
55
|
-
}
|
|
56
|
-
)
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
if (!rawDraftContentState) {
|
|
60
|
-
return ''
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
return draftToHtml(
|
|
64
|
-
rawDraftContentState,
|
|
65
|
-
undefined,
|
|
66
|
-
undefined,
|
|
67
|
-
(entity: { type: string; data: { url: string } }, text: string) => {
|
|
68
|
-
if (entity.type !== 'LINK') {
|
|
69
|
-
return null
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
return getLinkElementAsString(entity.data.url, text)
|
|
73
|
-
}
|
|
74
|
-
)
|
|
11
|
+
addendum: string
|
|
12
|
+
/**
|
|
13
|
+
* ID to find this component in testing tools (e.g.: Cypress, Testing Library, and Jest).
|
|
14
|
+
*/
|
|
15
|
+
testId?: string
|
|
16
|
+
/**
|
|
17
|
+
* Additional props to pass to the RichText component
|
|
18
|
+
*/
|
|
19
|
+
[key: string]: any
|
|
75
20
|
}
|
|
76
21
|
|
|
77
22
|
export function NewsletterAddendum({
|
|
78
23
|
addendum,
|
|
24
|
+
testId = 'fs-newsletter-addendum',
|
|
79
25
|
...otherProps
|
|
80
|
-
}: NewsletterAddendumProps) {
|
|
26
|
+
}: Readonly<NewsletterAddendumProps>) {
|
|
81
27
|
return (
|
|
82
|
-
<
|
|
83
|
-
|
|
28
|
+
<RichText
|
|
29
|
+
as="span"
|
|
30
|
+
content={addendum}
|
|
31
|
+
testId={testId}
|
|
32
|
+
data-fs-newsletter-addendum
|
|
84
33
|
{...otherProps}
|
|
85
34
|
/>
|
|
86
35
|
)
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This component supports both DraftJS and Lexical content formats:
|
|
3
|
+
* - For hCMS content source: Uses DraftJS (legacy, will be deprecated)
|
|
4
|
+
* - For Content Platform (CP): Uses Lexical (actively maintained)
|
|
5
|
+
*
|
|
6
|
+
* The draftjs-to-html library (used for CMS) hasn't been updated in 4 years and should be removed
|
|
7
|
+
* when CMS content is fully migrated to Content Platform or a different approach.
|
|
8
|
+
*
|
|
9
|
+
* This is a reusable component that can be used by any component that needs to render rich text content.
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
// @ts-ignore motivation: cannot find the draftjs-to-html package types.
|
|
13
|
+
import draftToHtml from 'draftjs-to-html'
|
|
14
|
+
import { $generateHtmlFromNodes } from '@lexical/html'
|
|
15
|
+
import { createHeadlessEditor } from '@lexical/headless'
|
|
16
|
+
import { LinkNode } from '@lexical/link'
|
|
17
|
+
import { HeadingNode, QuoteNode } from '@lexical/rich-text'
|
|
18
|
+
import { ListNode, ListItemNode } from '@lexical/list'
|
|
19
|
+
import { CodeNode } from '@lexical/code'
|
|
20
|
+
import { HorizontalRuleNode } from '@lexical/react/LexicalHorizontalRuleNode'
|
|
21
|
+
import {
|
|
22
|
+
ParagraphNode,
|
|
23
|
+
TextNode,
|
|
24
|
+
RootNode,
|
|
25
|
+
type SerializedEditorState,
|
|
26
|
+
} from 'lexical'
|
|
27
|
+
import { RichText as UIRichText } from '@faststore/ui'
|
|
28
|
+
import { isContentPlatformSource } from 'src/server/content/utils'
|
|
29
|
+
|
|
30
|
+
export interface RichTextProps {
|
|
31
|
+
/**
|
|
32
|
+
* Content to render. Can be:
|
|
33
|
+
* - A string of a JSON object in the form of draftjs's raw content state (for hCMS)
|
|
34
|
+
* - Lexical's serialized editor state (for Content Platform)
|
|
35
|
+
* - Plain HTML string
|
|
36
|
+
* - Plain text
|
|
37
|
+
*/
|
|
38
|
+
content: string
|
|
39
|
+
/**
|
|
40
|
+
* ID to find this component in testing tools (e.g.: cypress, testing library, and jest).
|
|
41
|
+
*/
|
|
42
|
+
testId?: string
|
|
43
|
+
/**
|
|
44
|
+
* Additional props to pass to the underlying RichText component
|
|
45
|
+
*/
|
|
46
|
+
[key: string]: any
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
function getLinkElementAsString(url: string, text: string) {
|
|
50
|
+
return `
|
|
51
|
+
<a
|
|
52
|
+
data-fs-link="true"
|
|
53
|
+
data-fs-link-variant="inline"
|
|
54
|
+
data-fs-link-inverse="true"
|
|
55
|
+
data-fs-link-size="regular"
|
|
56
|
+
data-testid="fs-link"
|
|
57
|
+
href="${url}"
|
|
58
|
+
>${text}</a>`
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
function replaceLinkElements(html: string): string {
|
|
62
|
+
return html.replace(
|
|
63
|
+
/<a[^>]*href="([^"]*)"[^>]*>([^<]*)<\/a>/g,
|
|
64
|
+
(match, url, text) => getLinkElementAsString(url, text)
|
|
65
|
+
)
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
function replaceLists(html: string): string {
|
|
69
|
+
return html
|
|
70
|
+
.replace(
|
|
71
|
+
/<ol([^>]*)>/g,
|
|
72
|
+
'<ol$1 data-fs-rich-text-list="true" data-fs-list-type="ordered">'
|
|
73
|
+
)
|
|
74
|
+
.replace(
|
|
75
|
+
/<ul([^>]*)>/g,
|
|
76
|
+
'<ul$1 data-fs-rich-text-list="true" data-fs-list-type="unordered">'
|
|
77
|
+
)
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
function fixNestedListStructure(html: string): string {
|
|
81
|
+
let result = html
|
|
82
|
+
|
|
83
|
+
// Remove completely empty list items
|
|
84
|
+
result = result.replace(/<li[^>]*>\s*<\/li>/g, '')
|
|
85
|
+
|
|
86
|
+
// Fix empty <li> elements that directly contain nested lists
|
|
87
|
+
result = result.replace(/<li([^>]*)>\s*(<(?:ul|ol)[^>]*>)/g, '$2')
|
|
88
|
+
|
|
89
|
+
// Fix closing tags: </ul></li> should become </ul>
|
|
90
|
+
result = result.replace(/(<\/(?:ul|ol)>)\s*<\/li>/g, '$1')
|
|
91
|
+
|
|
92
|
+
// Clean up remaining structural issues
|
|
93
|
+
result = result.replace(/\s*<li[^>]*>\s*(?=<(?:ul|ol))/g, '')
|
|
94
|
+
|
|
95
|
+
return result
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
function lexicalToHtml(content: string) {
|
|
99
|
+
let lexicalState: SerializedEditorState | null = null
|
|
100
|
+
|
|
101
|
+
try {
|
|
102
|
+
lexicalState = JSON.parse(content)
|
|
103
|
+
} catch (e) {
|
|
104
|
+
const error = new Error(
|
|
105
|
+
'RichText\'s prop "content" is not a valid JSON string. This is happening because the content is malformed or the Content Platform is providing malformed content.'
|
|
106
|
+
)
|
|
107
|
+
error.cause = e
|
|
108
|
+
throw error
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
if (!lexicalState) {
|
|
112
|
+
return ''
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
const editor = createHeadlessEditor({
|
|
116
|
+
nodes: [
|
|
117
|
+
RootNode,
|
|
118
|
+
ParagraphNode,
|
|
119
|
+
TextNode,
|
|
120
|
+
LinkNode,
|
|
121
|
+
HeadingNode,
|
|
122
|
+
QuoteNode,
|
|
123
|
+
ListNode,
|
|
124
|
+
ListItemNode,
|
|
125
|
+
CodeNode,
|
|
126
|
+
HorizontalRuleNode,
|
|
127
|
+
],
|
|
128
|
+
onError: (error) => {
|
|
129
|
+
throw error
|
|
130
|
+
},
|
|
131
|
+
})
|
|
132
|
+
|
|
133
|
+
let html = ''
|
|
134
|
+
|
|
135
|
+
editor.update(() => {
|
|
136
|
+
const editorState = editor.parseEditorState(lexicalState)
|
|
137
|
+
editor.setEditorState(editorState)
|
|
138
|
+
})
|
|
139
|
+
|
|
140
|
+
editor.read(() => {
|
|
141
|
+
html = $generateHtmlFromNodes(editor, null)
|
|
142
|
+
})
|
|
143
|
+
|
|
144
|
+
const withLinks = replaceLinkElements(html)
|
|
145
|
+
const withLists = replaceLists(withLinks)
|
|
146
|
+
return fixNestedListStructure(withLists)
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
function cmsToHtml(content: string) {
|
|
150
|
+
let rawDraftContentState: any = null
|
|
151
|
+
|
|
152
|
+
try {
|
|
153
|
+
rawDraftContentState = JSON.parse(content)
|
|
154
|
+
} catch (e) {
|
|
155
|
+
const error = new Error(
|
|
156
|
+
'RichText\'s prop "content" is not a valid JSON string. This is happening because the content is malformed or the CMS is providing malformed content.'
|
|
157
|
+
)
|
|
158
|
+
error.cause = e
|
|
159
|
+
throw error
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
if (!rawDraftContentState) {
|
|
163
|
+
return ''
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
return draftToHtml(
|
|
167
|
+
rawDraftContentState,
|
|
168
|
+
undefined,
|
|
169
|
+
undefined,
|
|
170
|
+
(entity: { type: string; data: { url: string } }, text: string) => {
|
|
171
|
+
if (entity.type !== 'LINK') {
|
|
172
|
+
return null
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
return getLinkElementAsString(entity.data.url, text)
|
|
176
|
+
}
|
|
177
|
+
)
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
function isJsonString(str: string): boolean {
|
|
181
|
+
try {
|
|
182
|
+
JSON.parse(str)
|
|
183
|
+
return true
|
|
184
|
+
} catch {
|
|
185
|
+
return false
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
export function RichText({
|
|
190
|
+
content,
|
|
191
|
+
testId = 'fs-rich-text',
|
|
192
|
+
...otherProps
|
|
193
|
+
}: Readonly<RichTextProps>) {
|
|
194
|
+
let htmlContent = content
|
|
195
|
+
|
|
196
|
+
if (isJsonString(content)) {
|
|
197
|
+
const convertToHtml = isContentPlatformSource() ? lexicalToHtml : cmsToHtml
|
|
198
|
+
htmlContent = convertToHtml(content)
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
return <UIRichText content={htmlContent} testId={testId} {...otherProps} />
|
|
202
|
+
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";exports.id=8640,exports.ids=[8640],exports.modules={339:(e,t,r)=>{r.d(t,{K:()=>useSlideVisibility});var a=r(16689);let useSlideVisibility=({currentSlide:e,itemsPerPage:t,totalItems:r})=>{let l=(0,a.useRef)(new Set);(0,a.useEffect)(()=>{for(let r=0;r<t;r++)l.current.add(e+r)},[e,t]);let isItemVisible=a=>(function({itemsPerPage:e,currentSlide:t,slideIdx:r,totalItems:a}){return t<0||t>=a||r>=t&&r<t+e})({slideIdx:a,currentSlide:e,itemsPerPage:t,totalItems:r});return{shouldRenderItem:e=>l.current.has(e)||isItemVisible(e),isItemVisible}}},3525:(e,t,r)=>{r.d(t,{oN:()=>useSlider});var a=r(16689),l=r(81280);let nextPage=(e,t)=>(e+1)%t,previousPage=(e,t)=>(t-(t-e+1)%t)%t;function reducer(e,t){switch(t.type){case"NEXT_PAGE":{let t=e.infinite?e.totalPages+1:e.totalPages,r=nextPage(e.currentPage,t),a=r%t*e.itemsPerPage;return{...e,sliding:!0,slideDirection:"next",currentItem:a,currentPage:r}}case"PREVIOUS_PAGE":{let t=e.infinite?e.totalPages+1:e.totalPages,r=e.infinite&&0===e.currentPage,a=r?-1:previousPage(e.currentPage,e.totalPages);return{...e,sliding:!0,slideDirection:"previous",currentItem:a%t*e.itemsPerPage,currentPage:a}}case"GO_TO_PAGE":if(t.payload.pageIndex===e.currentPage)return e;return{...e,sliding:t.payload.shouldSlide,slideDirection:t.payload.pageIndex>e.currentPage?"next":"previous",currentItem:t.payload.pageIndex%e.totalPages*e.itemsPerPage,currentPage:t.payload.pageIndex};case"STOP_SLIDE":return{...e,sliding:!1};default:return e}}let defaultSliderState=(e,t,r)=>({currentItem:0,currentPage:0,sliding:!1,slideDirection:"next",totalItems:e,itemsPerPage:t,totalPages:Math.ceil(e/t),infinite:r}),slide=(e,t)=>{"next"===e&&t({type:"NEXT_PAGE"}),"previous"===e&&t({type:"PREVIOUS_PAGE"}),"number"==typeof e&&t({type:"GO_TO_PAGE",payload:{pageIndex:e,shouldSlide:!0}})},useSlider=({totalItems:e,itemsPerPage:t=1,infiniteMode:r=!1,shouldSlideOnSwipe:n=!0,...i})=>{let[s,o]=(0,a.useReducer)(reducer,void 0,()=>defaultSliderState(e,t,r)),d=(0,l.QS)({onSwipedRight:()=>n&&slide("previous",o),onSwipedLeft:()=>n&&slide("next",o),trackMouse:!0,...i});return{handlers:d,slide,sliderState:s,sliderDispatch:o}}},39237:(e,t,r)=>{r.d(t,{Z:()=>__WEBPACK_DEFAULT_EXPORT__});var a=r(16689),l=r.n(a),n=r(37041),i=r(2614),s=r(3525),o=r(9654),d=r(86487);let createTransformValues=(e,t)=>{let r={},a=100/t;for(let l=0;l<t;++l){let t=e?l-1:l,n=-(a*l);r[t]=n}return r},__WEBPACK_DEFAULT_EXPORT__=function({children:e,className:t,"aria-label":r,infiniteMode:c=!1,controls:u="complete",testId:f="fs-carousel",transition:g={duration:400,property:"transform"},id:m="fs-carousel",variant:P="scroll",itemsPerPage:p=1,navigationIcons:E,...h}){if(p<1)throw Error("itemsPerPage must be greater than or equal to 1");let w=(0,a.useRef)(null),v="slide"===P,S="scroll"===P,b=l().Children.toArray(e),_=b.length,y=c?_+2:_,x=`${g.property} ${g.duration}ms ${g.timing??""} ${g.delay??""}`,{handlers:I,slide:A,sliderState:R,sliderDispatch:T}=(0,s.oN)({itemsPerPage:p,infiniteMode:c,totalItems:_,shouldSlideOnSwipe:v,...h}),$=Math.ceil(_/R.itemsPerPage),[Z,O]=(0,a.useState)("16px"),[C,k]=(0,a.useState)(0);(0,a.useEffect)(()=>{let e=w.current?.firstElementChild;e&&(O(getComputedStyle(e).getPropertyValue("margin-right")),k(Number(e.clientWidth)+Number.parseInt(Z,10)+1))},[C]);let G=(0,a.useMemo)(()=>createTransformValues(c,y),[y,c]),N=c&&e?b.slice(0,1):[],L=c&&e?b.slice(_-1):[],D=L.concat(e??[],N),V=(0,a.useMemo)(()=>({width:`${100*y}%`,transition:R.sliding?x:void 0,transform:`translate3d(${G[R.currentPage]}%, 0, 0)`}),[y,G,x,R.sliding,R.currentPage]),M=(0,a.useMemo)(()=>({width:"100%",overflowX:"scroll",whiteSpace:"nowrap"}),[]),slidePrevious=()=>{!R.sliding&&(c||0!==R.currentPage)&&A("previous",T)},slideNext=()=>{!R.sliding&&(c||R.currentPage!==_-1)&&A("next",T)},onScrollPagination=async(e,t)=>{if("previous"===t&&0===R.currentPage||"next"===t&&R.currentPage===R.totalPages-1)return;let r=e*C*p;w.current?.scrollTo({left:r,behavior:"smooth"}),A(e,T)};return l().createElement("section",{id:m,"data-fs-carousel":!0,"data-fs-carousel-variant":P,className:t,"data-testid":f,"aria-label":r},l().createElement("div",{"data-fs-carousel-track-container":!0,style:{width:"100%",overflow:"hidden",display:S?"block":void 0},...I},l().createElement("ul",{"aria-live":"polite",ref:w,style:v&&V||S&&M,"data-fs-carousel-track":!0,onScroll:e=>{if(v||p>1)return;let t=Number(e.currentTarget.firstElementChild?.scrollWidth),r=e.currentTarget?.scrollLeft,a=r>t/2?Math.round:Math.floor,l=a(r/t);A(l,T)},onTransitionEnd:()=>{T({type:"STOP_SLIDE"}),c&&R.currentItem>=_&&T({type:"GO_TO_PAGE",payload:{pageIndex:0,shouldSlide:!1}}),c&&R.currentItem<0&&T({type:"GO_TO_PAGE",payload:{pageIndex:R.totalPages-1,shouldSlide:!1}})}},D.map((e,t)=>l().createElement(d.Z,{id:m,index:t,key:String(t),state:R,totalItems:_,infiniteMode:c,isScrollCarousel:S,marginRightValue:Z},e)))),1!==$&&("complete"===u||"navigationArrows"===u)&&l().createElement("div",{"data-fs-carousel-controls":!0},l().createElement(n.Z,{"data-fs-carousel-control":"left","aria-controls":m,disabled:!c&&0===R.currentPage,"aria-label":"previous",icon:E?.left??l().createElement(i.Z,{name:"ArrowLeft",width:20,height:20,weight:"bold"}),onClick:()=>{v&&slidePrevious(),S&&onScrollPagination(R.currentPage-1,"previous")}}),l().createElement(n.Z,{"data-fs-carousel-control":"right","aria-controls":m,disabled:!c&&R.currentPage===R.totalPages-1,"aria-label":"next",icon:E?.right??l().createElement(i.Z,{name:"ArrowRight",width:20,height:20,weight:"bold"}),onClick:()=>{v&&slideNext(),S&&onScrollPagination(R.currentPage+1,"next")}})),1!==$&&("complete"===u||"paginationBullets"===u)&&l().createElement(o.Z,{id:m,tabIndex:0,activeBullet:R.currentPage,totalQuantity:$,onKeyDown:e=>{switch(e.key){case"ArrowLeft":v&&slidePrevious(),S&&onScrollPagination(R.currentPage-1,"previous");break;case"ArrowRight":v&&slideNext(),S&&onScrollPagination(R.currentPage+1,"next");break;case"Home":A(0,T);break;case"End":A(_-1,T)}},onClick:async(e,t)=>{v&&!R.sliding&&A(t,T),S&&onScrollPagination(t)},onFocus:e=>e.currentTarget.focus(),ariaControlsGenerator:e=>`${m}-carousel-item-${e}`}))}},9654:(e,t,r)=>{r.d(t,{Z:()=>s});var a=r(16689),l=r.n(a),n=r(83339);let defaultAriaLabel=(e,t,r)=>r?`Current page from ${e}`:`Go to page ${t+1} from ${e}`,i=(0,a.forwardRef)(function({id:e,totalQuantity:t,activeBullet:r,onClick:i,testId:s="fs-carousel-bullets",ariaLabelGenerator:o=defaultAriaLabel,ariaControlsGenerator:d,...c},u){let f=(0,a.useMemo)(()=>Array(t).fill(0),[t]);return l().createElement("div",{ref:u,"data-fs-carousel-bullets":!0,"data-testid":s,role:"tablist",...c},f.map((t,a)=>{let c=r===a;return l().createElement(n.Z,{key:`${e}-${a}`,role:"tab",tabIndex:-1,"data-fs-carousel-bullet":!0,testId:`${s}-bullet`,onClick:e=>i(e,a),"aria-label":o(e,a,c),"aria-controls":d?.(a),"aria-selected":c,variant:"tertiary"})}))}),s=i},86487:(e,t,r)=>{r.d(t,{Z:()=>__WEBPACK_DEFAULT_EXPORT__});var a=r(16689),l=r.n(a),n=r(339);let __WEBPACK_DEFAULT_EXPORT__=function({id:e,index:t,state:r,children:a,totalItems:i,infiniteMode:s,isScrollCarousel:o,marginRightValue:d}){let{isItemVisible:c,shouldRenderItem:u}=(0,n.K)({totalItems:i,currentSlide:r.currentItem,itemsPerPage:r.itemsPerPage}),f={width:`calc((100% - ${d} * ${r.itemsPerPage-1}) / ${r.itemsPerPage})`},g=o&&r.itemsPerPage>1?{...f}:{width:"100%"},m=o||u(t-Number(s));return l().createElement("li",{style:g,id:`${e}-carousel-item-${t}`,"data-fs-carousel-item":!0,"data-fs-carousel-item-visible":c(t-Number(s))||void 0},m?a:null)}},37115:(e,t,r)=>{r.d(t,{Z:()=>i});var a=r(16689),l=r.n(a);let n=(0,a.forwardRef)(function({card:e,children:t,colorVariant:r="main",testId:a="fs-newsletter",...n},i){return l().createElement("div",{ref:i,"data-testid":a,"data-fs-content":"newsletter","data-fs-newsletter":e?"card":"","data-fs-newsletter-color-variant":r,...n},t)}),i=n},92294:(e,t,r)=>{r.d(t,{Z:()=>i});var a=r(16689),l=r.n(a);let n=(0,a.forwardRef)(function({addendum:e,testId:t="fs-newsletter-addendum",...r},a){return l().createElement("span",{ref:a,"data-testid":t,"data-fs-newsletter-addendum":!0,...r},e)}),i=n},84207:(e,t,r)=>{r.d(t,{Z:()=>i});var a=r(16689),l=r.n(a);let n=(0,a.forwardRef)(function({children:e,testId:t="fs-newsletter-content",...r},a){return l().createElement("div",{ref:a,"data-testid":t,"data-fs-newsletter-content":!0,...r},e)}),i=n},32571:(e,t,r)=>{r.d(t,{Z:()=>i});var a=r(16689),l=r.n(a);let n=(0,a.forwardRef)(function({children:e,onSubmit:t,testId:r="fs-newsletter-form",...a},n){return l().createElement("form",{ref:n,"data-testid":r,"data-fs-newsletter-form":!0,onSubmit:t,...a},e)}),i=n},4796:(e,t,r)=>{r.d(t,{Z:()=>i});var a=r(16689),l=r.n(a);let n=(0,a.forwardRef)(function({icon:e,title:t,description:r,testId:a="fs-newsletter-header",...n},i){return l().createElement("header",{ref:i,"data-testid":a,"data-fs-newsletter-header":!0,...n},l().createElement("h3",{"data-fs-newsletter-header-title":!0},e,t),r&&l().createElement("span",{"data-fs-newsletter-header-description":!0},r))}),i=n},16737:(e,t,r)=>{r.d(t,{Z:()=>i});var a=r(16689),l=r.n(a);let n=(0,a.forwardRef)(function({testId:e="fs-product-shelf",children:t,...r},a){return l().createElement("div",{ref:a,"data-fs-product-shelf":!0,"data-fs-content":"product-shelf","data-testid":e,...r},t)}),i=n},67901:(e,t,r)=>{r.d(t,{Z:()=>i});var a=r(16689),l=r.n(a);let n=(0,a.forwardRef)(function({testId:e="store-tile",children:t,...r},a){return l().createElement("li",{ref:a,role:"listitem","data-fs-tile":!0,"data-testid":e,...r},t)}),i=n},23877:(e,t,r)=>{r.d(t,{Z:()=>i});var a=r(16689),l=r.n(a);let n=(0,a.forwardRef)(function({testId:e="store-tiles",children:t,...r},n){let i=a.Children.count(t);return l().createElement("ul",{ref:n,role:"list","data-fs-tiles":!0,"data-fs-tiles-variant":3===i?"expanded-first":2===i?"expanded-first-two":"","data-fs-content":"tiles","data-testid":e,...r},t)}),i=n}};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
self.__BUILD_MANIFEST=function(c,s,t,a,e,u){return{__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},"/":[c,s,t,"static/css/b1806cbafd0c1f81.css","static/chunks/pages/index-004d6444cfaf59cb.js"],"/404":[c,s,t,a,"static/chunks/pages/404-cc5de07438cb53b5.js"],"/500":[c,s,t,a,"static/chunks/pages/500-926ab913425651bc.js"],"/_error":["static/chunks/pages/_error-d820b4586477c368.js"],"/checkout":[c,s,t,"static/chunks/pages/checkout-b0637ee59b1cdca8.js"],"/login":[c,s,t,a,"static/chunks/pages/login-3043634ec00661a8.js"],"/pvt/account":["static/chunks/pages/pvt/account-412a3bb2b0f22dea.js"],"/pvt/account/403":[c,s,t,"static/css/b7bba8fce075688b.css","static/chunks/pages/pvt/account/403-a1c5772740914141.js"],"/pvt/account/404":[c,s,t,"static/css/5347dbc8b71de47d.css","static/chunks/pages/pvt/account/404-eaed7a7c92d499ff.js"],"/pvt/account/orders":[c,s,t,"static/css/b7fc24e8f1eb011f.css","static/chunks/pages/pvt/account/orders-07d7ced3a4b845b0.js"],"/pvt/account/orders/[id]":[c,s,t,"static/css/297be4be3be36ff0.css","static/chunks/pages/pvt/account/orders/[id]-3bdaf71be192669b.js"],"/pvt/account/profile":[c,s,t,"static/css/831a1f72fe4b2d80.css","static/chunks/pages/pvt/account/profile-449314f16e1c132c.js"],"/pvt/account/security":[c,s,t,"static/css/ec7fdad03808422d.css","static/chunks/pages/pvt/account/security-8b024c8877f125d0.js"],"/pvt/account/user-details":[c,s,t,"static/css/e46393a76c5d93a9.css","static/chunks/pages/pvt/account/user-details-0caf3ce4cb6df66e.js"],"/pvt/account/[...unknown]":["static/chunks/pages/pvt/account/[...unknown]-a8bcdec2e6ed7b0e.js"],"/s":[c,s,t,e,u,a,"static/chunks/pages/s-c624c961a98a1be0.js"],"/[slug]/p":[c,s,t,"static/chunks/9666-1bd33f872ad66b42.js","static/css/6cd282d958f613bc.css","static/css/3d7be7043aee15df.css","static/chunks/3166-b1ac316afe18625b.js","static/css/37ee6a2c6adab309.css","static/chunks/pages/[slug]/p-60dd0938ba92424b.js"],"/[...slug]":[c,s,t,e,u,"static/chunks/pages/[...slug]-1e68a914dfca7da9.js"],sortedPages:["/","/404","/500","/_app","/_error","/checkout","/login","/pvt/account","/pvt/account/403","/pvt/account/404","/pvt/account/orders","/pvt/account/orders/[id]","/pvt/account/profile","/pvt/account/security","/pvt/account/user-details","/pvt/account/[...unknown]","/s","/[slug]/p","/[...slug]"]}}("static/chunks/6031-18797e7ebff417ab.js","static/css/0f990bb4836247c7.css","static/chunks/9173-188afceabcbccdbb.js","static/css/2980acad3f8e1028.css","static/css/fe0bcc13a2b68605.css","static/chunks/7191-d39597fc204602cb.js"),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1417],{1417:function(t){t.exports=function(){"use strict";function forEach(t,e){if(t)for(var n in t)({}).hasOwnProperty.call(t,n)&&e(n,t[n])}var t={unstyled:"p","header-one":"h1","header-two":"h2","header-three":"h3","header-four":"h4","header-five":"h5","header-six":"h6","unordered-list-item":"ul","ordered-list-item":"ol",blockquote:"blockquote",code:"pre"};function getBlockTag(e){return e&&t[e]}function getBlockStyle(t){var e="";return forEach(t,function(t,n){n&&(e+="".concat(t,":").concat(n,";"))}),e}function getEntityMarkup(t,e,n,a){var r=t[e];if("function"==typeof a){var c=a(r,n);if(c)return c}if("MENTION"===r.type)return'<a href="'.concat(r.data.url,'" class="wysiwyg-mention" data-mention data-value="').concat(r.data.value,'">').concat(n,"</a>");if("LINK"===r.type){var o=r.data.targetOption||"_self";return'<a href="'.concat(r.data.url,'" target="').concat(o,'">').concat(n,"</a>")}if("IMAGE"===r.type){var s=r.data.alignment;return s&&s.length?'<div style="text-align:'.concat(s,';"><img src="').concat(r.data.src,'" alt="').concat(r.data.alt,'" style="height: ').concat(r.data.height,";width: ").concat(r.data.width,'"/></div>'):'<img src="'.concat(r.data.src,'" alt="').concat(r.data.alt,'" style="height: ').concat(r.data.height,";width: ").concat(r.data.width,'"/>')}return"EMBEDDED_LINK"===r.type?'<iframe width="'.concat(r.data.width,'" height="').concat(r.data.height,'" src="').concat(r.data.src,'" frameBorder="0"></iframe>'):n}function getInlineStyleSections(t,e,n,a){var r=[],c=Array.from(t.text);if(c.length>0)for(var o,s,i,u,l=(o=t.text,s=t.inlineStyleRanges,i={BOLD:Array(o.length),ITALIC:Array(o.length),UNDERLINE:Array(o.length),STRIKETHROUGH:Array(o.length),CODE:Array(o.length),SUPERSCRIPT:Array(o.length),SUBSCRIPT:Array(o.length),COLOR:Array(o.length),BGCOLOR:Array(o.length),FONTSIZE:Array(o.length),FONTFAMILY:Array(o.length),length:o.length},s&&s.length>0&&s.forEach(function(t){for(var e=t.offset,n=e+t.length,a=e;a<n;a+=1)0===t.style.indexOf("color-")?i.COLOR[a]=t.style.substring(6):0===t.style.indexOf("bgcolor-")?i.BGCOLOR[a]=t.style.substring(8):0===t.style.indexOf("fontsize-")?i.FONTSIZE[a]=t.style.substring(9):0===t.style.indexOf("fontfamily-")?i.FONTFAMILY[a]=t.style.substring(11):i[t.style]&&(i[t.style][a]=!0)}),i),h=n;h<a;h+=1)h!==n&&function(t,e,n){var a=!0;return n>0&&n<t.length?e.forEach(function(e){a=a&&t[e][n]===t[e][n-1]}):a=!1,a}(l,e,h)?(u.text.push(c[h]),u.end=h+1):r.push(u={styles:function(t,e){var n={};return t.COLOR[e]&&(n.COLOR=t.COLOR[e]),t.BGCOLOR[e]&&(n.BGCOLOR=t.BGCOLOR[e]),t.FONTSIZE[e]&&(n.FONTSIZE=t.FONTSIZE[e]),t.FONTFAMILY[e]&&(n.FONTFAMILY=t.FONTFAMILY[e]),t.UNDERLINE[e]&&(n.UNDERLINE=!0),t.ITALIC[e]&&(n.ITALIC=!0),t.BOLD[e]&&(n.BOLD=!0),t.STRIKETHROUGH[e]&&(n.STRIKETHROUGH=!0),t.CODE[e]&&(n.CODE=!0),t.SUBSCRIPT[e]&&(n.SUBSCRIPT=!0),t.SUPERSCRIPT[e]&&(n.SUPERSCRIPT=!0),n}(l,h),text:[c[h]],start:h,end:h+1});return r}function getBlockInnerMarkup(t,e,n,a){var r,c,o=[],s=(r=[],c=0,t.entityRanges.map(function(t){return{offset:t.offset,length:t.length,key:t.key,type:"ENTITY"}}).concat(function(t,e){var n=[];if(e){for(var a=0,r=0,c=t,o=e.trigger||"#",s=e.separator||" ";c.length>0&&r>=0;)if(c[0]===o?(r=0,a=0,c=c.substr(o.length)):(r=c.indexOf(s+o))>=0&&(c=c.substr(r+(s+o).length),a+=r+s.length),r>=0){var i=c.indexOf(s)>=0?c.indexOf(s):c.length,u=c.substr(0,i);u&&u.length>0&&n.push({offset:a,length:u.length+o.length,type:"HASHTAG"}),a+=o.length}}return n}(t.text,n)).sort(function(t,e){return t.offset-e.offset}).forEach(function(t){t.offset>c&&r.push({start:c,end:t.offset}),r.push({start:t.offset,end:t.offset+t.length,entityKey:t.key,type:t.type}),c=t.offset+t.length}),c<t.text.length&&r.push({start:c,end:t.text.length}),r);return s.forEach(function(n,r){var c=function(t,e,n,a){var r=[];getInlineStyleSections(t,["COLOR","BGCOLOR","FONTSIZE","FONTFAMILY"],n.start,n.end).forEach(function(e){var n,a;r.push((n=getInlineStyleSections(t,["BOLD","ITALIC","UNDERLINE","STRIKETHROUGH","CODE","SUPERSCRIPT","SUBSCRIPT"],e.start,e.end),a="",n.forEach(function(t){var e,n,r;a+=(e=t.styles,r=(n=t.text)&&n.length>0?n.map(function(t){switch(t){case"\n":return"<br>";case"&":return"&";case"<":return"<";case">":return">";default:return t}}).join(""):"",forEach(e,function(t,e){var n;n=r,r="BOLD"===t?"<strong>".concat(n,"</strong>"):"ITALIC"===t?"<em>".concat(n,"</em>"):"UNDERLINE"===t?"<ins>".concat(n,"</ins>"):"STRIKETHROUGH"===t?"<del>".concat(n,"</del>"):"CODE"===t?"<code>".concat(n,"</code>"):"SUPERSCRIPT"===t?"<sup>".concat(n,"</sup>"):"SUBSCRIPT"===t?"<sub>".concat(n,"</sub>"):n}),r)}),a=function(t,e){if(t&&(t.COLOR||t.BGCOLOR||t.FONTSIZE||t.FONTFAMILY)){var n='style="';return t.COLOR&&(n+="color: ".concat(t.COLOR,";")),t.BGCOLOR&&(n+="background-color: ".concat(t.BGCOLOR,";")),t.FONTSIZE&&(n+="font-size: ".concat(t.FONTSIZE).concat(/^\d+$/.test(t.FONTSIZE)?"px":"",";")),t.FONTFAMILY&&(n+="font-family: ".concat(t.FONTFAMILY,";")),n+='"',"<span ".concat(n,">").concat(e,"</span>")}return e}(e.styles,a)))});var c=r.join("");return"ENTITY"===n.type?void 0!==n.entityKey&&null!==n.entityKey&&(c=getEntityMarkup(e,n.entityKey,c,a)):"HASHTAG"===n.type&&(c='<a href="'.concat(c,'" class="wysiwyg-hashtag">').concat(c,"</a>")),c}(t,e,n,a);0===r&&(c=function(t){if(t){for(var e=t,n=0;n<e.length;n+=1)if(" "===t[n])e=e.replace(" "," ");else break;return e}return t}(c)),r===s.length-1&&(c=function(t){if(t){for(var e=t,n=e.length-1;n>=0;n-=1)if(" "===e[n])e="".concat(e.substring(0,n)," ").concat(e.substring(n+1));else break;return e}return t}(c)),o.push(c)}),o.join("")}function getListMarkup(t,e,n,a,r){var c,o=[],s=[];return t.forEach(function(t){var i=!1;if(c?c.type!==t.type?(o.push("</".concat(getBlockTag(c.type),">\n")),o.push("<".concat(getBlockTag(t.type),">\n"))):c.depth===t.depth?s&&s.length>0&&(o.push(getListMarkup(s,e,n,a,r)),s=[]):(i=!0,s.push(t)):o.push("<".concat(getBlockTag(t.type),">\n")),!i){o.push("<li");var u=getBlockStyle(t.data);u&&o.push(' style="'.concat(u,'"')),a&&o.push(' dir = "auto"'),o.push(">"),o.push(getBlockInnerMarkup(t,e,n,r)),o.push("</li>\n"),c=t}}),s&&s.length>0&&o.push(getListMarkup(s,e,n,a,r)),o.push("</".concat(getBlockTag(c.type),">\n")),o.join("")}return function(t,e,n,a){var r=[];if(t){var c=t.blocks,o=t.entityMap;if(c&&c.length>0){var s=[];if(c.forEach(function(t){var c;if("unordered-list-item"===(c=t.type)||"ordered-list-item"===c)s.push(t);else{if(s.length>0){var i=getListMarkup(s,o,e,a);r.push(i),s=[]}var u=function(t,e,n,a,r){var c,o=[];if(t.entityRanges.length>0&&(null==(c=t.text)||0===c.length||0===c.trim().length||"atomic"===t.type)?0:1){var s=getBlockTag(t.type);if(s){o.push("<".concat(s));var i=getBlockStyle(t.data);i&&o.push(' style="'.concat(i,'"')),a&&o.push(' dir = "auto"'),o.push(">"),o.push(getBlockInnerMarkup(t,e,n,r)),o.push("</".concat(s,">"))}}else o.push(getEntityMarkup(e,t.entityRanges[0].key,void 0,r));return o.push("\n"),o.join("")}(t,o,e,n,a);r.push(u)}}),s.length>0){var i=getListMarkup(s,o,e,n,a);r.push(i),s=[]}}}return r.join("")}}()}}]);
|