Fix Carousel: detect Arabic text and animate as words instead of letters to keep cursive connection

This commit is contained in:
Saidamin Kattan
2026-08-09 16:32:59 +03:00
parent c5c9434c7a
commit 0e57fa2248
26 changed files with 96 additions and 52 deletions
+5
View File
@@ -43,6 +43,11 @@
display: inline-block;
line-height: 1em;
}
.ml14 .word {
display: inline-block;
line-height: 1em;
}
</style>
@code {
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
{"ContentRoots":["/mnt/data/Work/Programming/MainProgram/Frontend/Libs/Generic/Common.RCL/wwwroot/","/mnt/data/Work/Programming/MainProgram/Frontend/Libs/Generic/Common.RCL/obj/Debug/net10.0/scopedcss/bundle/","/mnt/data/Work/Programming/MainProgram/Frontend/Libs/Generic/Common.RCL/obj/Debug/net10.0/compressed/"],"Root":{"Children":{"background.png":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"background.png"},"Patterns":null},"Common.RCL.styles.css":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"Common.RCL.styles.css"},"Patterns":null},"Common.RCL.styles.css.gz":{"Children":null,"Asset":{"ContentRootIndex":2,"SubPath":"fy9rjyaakk-{0}-dph6jvottp-dph6jvottp.gz"},"Patterns":null},"exampleJsInterop.js":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"exampleJsInterop.js"},"Patterns":null},"exampleJsInterop.js.gz":{"Children":null,"Asset":{"ContentRootIndex":2,"SubPath":"fiwgk79u47-{0}-luzdqbu196-luzdqbu196.gz"},"Patterns":null},"css":{"Children":{"carousal.js":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/carousal.js"},"Patterns":null},"carousal.js.gz":{"Children":null,"Asset":{"ContentRootIndex":2,"SubPath":"32onbuj1wh-{0}-vnhftjewbd-vnhftjewbd.gz"},"Patterns":null}},"Asset":null,"Patterns":null}},"Asset":null,"Patterns":[{"ContentRootIndex":0,"Pattern":"**","Depth":0}]}}
{"ContentRoots":["/mnt/data/Work/Programming/MainProgram/Frontend/Libs/Generic/Common.RCL/wwwroot/","/mnt/data/Work/Programming/MainProgram/Frontend/Libs/Generic/Common.RCL/obj/Debug/net10.0/scopedcss/bundle/","/mnt/data/Work/Programming/MainProgram/Frontend/Libs/Generic/Common.RCL/obj/Debug/net10.0/compressed/"],"Root":{"Children":{"background.png":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"background.png"},"Patterns":null},"Common.RCL.styles.css":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"Common.RCL.styles.css"},"Patterns":null},"Common.RCL.styles.css.gz":{"Children":null,"Asset":{"ContentRootIndex":2,"SubPath":"fy9rjyaakk-{0}-dph6jvottp-dph6jvottp.gz"},"Patterns":null},"exampleJsInterop.js":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"exampleJsInterop.js"},"Patterns":null},"exampleJsInterop.js.gz":{"Children":null,"Asset":{"ContentRootIndex":2,"SubPath":"fiwgk79u47-{0}-luzdqbu196-luzdqbu196.gz"},"Patterns":null},"css":{"Children":{"carousal.js":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/carousal.js"},"Patterns":null},"carousal.js.gz":{"Children":null,"Asset":{"ContentRootIndex":2,"SubPath":"32onbuj1wh-{0}-eo2dy7b2yn-eo2dy7b2yn.gz"},"Patterns":null}},"Asset":null,"Patterns":null}},"Asset":null,"Patterns":[{"ContentRootIndex":0,"Pattern":"**","Depth":0}]}}
+1 -1
View File
@@ -13,7 +13,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("Common.RCL")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+29bd7b2e2c03b1af2eab612f8671f86c71d40d48")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+c5c9434c7a0dbd0908544d9c8a2679ddce66640d")]
[assembly: System.Reflection.AssemblyProductAttribute("Common.RCL")]
[assembly: System.Reflection.AssemblyTitleAttribute("Common.RCL")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
@@ -1 +1 @@
b726e50841ac5736804044fc4d8f95ab21fa9e02e309310d3b619eecaa469260
e04e8e4a31888d39747b6d7a66a5a287a60fee6f14ec8eaf529a8e17b90d79ce
@@ -60,7 +60,6 @@
/mnt/data/Work/Programming/MainProgram/Frontend/Libs/Generic/Common.RCL/obj/Debug/net10.0/scopedcss/Component1.razor.rz.scp.css
/mnt/data/Work/Programming/MainProgram/Frontend/Libs/Generic/Common.RCL/obj/Debug/net10.0/scopedcss/bundle/Common.RCL.styles.css
/mnt/data/Work/Programming/MainProgram/Frontend/Libs/Generic/Common.RCL/obj/Debug/net10.0/scopedcss/projectbundle/Common.RCL.bundle.scp.css
/mnt/data/Work/Programming/MainProgram/Frontend/Libs/Generic/Common.RCL/obj/Debug/net10.0/compressed/32onbuj1wh-{0}-vnhftjewbd-vnhftjewbd.gz
/mnt/data/Work/Programming/MainProgram/Frontend/Libs/Generic/Common.RCL/obj/Debug/net10.0/compressed/fiwgk79u47-{0}-luzdqbu196-luzdqbu196.gz
/mnt/data/Work/Programming/MainProgram/Frontend/Libs/Generic/Common.RCL/obj/Debug/net10.0/compressed/fy9rjyaakk-{0}-dph6jvottp-dph6jvottp.gz
/mnt/data/Work/Programming/MainProgram/Frontend/Libs/Generic/Common.RCL/obj/Debug/net10.0/compressed/nyiqsnbdqh-{0}-dph6jvottp-dph6jvottp.gz
@@ -80,3 +79,4 @@
/mnt/data/Work/Programming/MainProgram/Frontend/Libs/Generic/Common.RCL/obj/Debug/net10.0/refint/Common.RCL.dll
/mnt/data/Work/Programming/MainProgram/Frontend/Libs/Generic/Common.RCL/obj/Debug/net10.0/Common.RCL.pdb
/mnt/data/Work/Programming/MainProgram/Frontend/Libs/Generic/Common.RCL/obj/Debug/net10.0/ref/Common.RCL.dll
/mnt/data/Work/Programming/MainProgram/Frontend/Libs/Generic/Common.RCL/obj/Debug/net10.0/compressed/32onbuj1wh-{0}-eo2dy7b2yn-eo2dy7b2yn.gz
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
+1 -1
View File
@@ -1 +1 @@
{"GlobalPropertiesHash":"/YVbWQ+OEY6z+7BQjSAmp8ozFdV1FjcqYcnk3AO/5pQ=","FingerprintPatternsHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","PropertyOverridesHash":"R7Rea/YQmcweqCbKffD9oUelggfpJQX85r65aYZsas0=","InputHashes":["YDomUO8OelgqOJsMXhF6y5akJf2fhdrg48\u002Byw7Gw52w=","ilQFYXwCCa4lAPpz67t1VKgahs1gA2RNbB5PoisyyJI=","NDyJ4Xe/kAx/cwHB4b4R9bXsjVcKvfzNIEQIWO5tZ40="],"CachedAssets":{},"CachedCopyCandidates":{}}
{"GlobalPropertiesHash":"/YVbWQ+OEY6z+7BQjSAmp8ozFdV1FjcqYcnk3AO/5pQ=","FingerprintPatternsHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","PropertyOverridesHash":"R7Rea/YQmcweqCbKffD9oUelggfpJQX85r65aYZsas0=","InputHashes":["YDomUO8OelgqOJsMXhF6y5akJf2fhdrg48\u002Byw7Gw52w=","NDyJ4Xe/kAx/cwHB4b4R9bXsjVcKvfzNIEQIWO5tZ40=","P9yyCqmo/u7KsVIJoL4XTXH0uazDQmPWLso/5MW9bX0="],"CachedAssets":{},"CachedCopyCandidates":{}}
+1 -1
View File
@@ -1 +1 @@
{"GlobalPropertiesHash":"pN19ChaHTNLWsz7jjlUtQaqb4i911/XNkcZzKrmwpqE=","FingerprintPatternsHash":"gq3WsqcKBUGTSNle7RKKyXRIwh7M8ccEqOqYvIzoM04=","PropertyOverridesHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","InputHashes":["PLo0WFSWAzfpAG8kL8ki\u002BM2/RkGiI59iQd0ydqhy/\u002Bk=","KqIGMK4f\u002B4WpRvd79TT3fG9rw3mHWwk6xYccc5/wk8E=","hKc2ATGZ1eaNYywoewDaRhdqCJu1ueNBOXL2/U6sS3A=","isW/h/DOwxcYZdgzcFZWDCPV3or/qmzwPaL/5IwOYRI=","ZJKhQ8EEbDTnRMCmUWtOukHgac1ZIM77vIPPlK6Jkww=","05prRZLJy1C1xP0n3aeCulfe3V4JN06olssDcJ1lhKU=","pZ77V\u002B1F9GAHoRyLmDHOaXZmMizAAhULhAui7AFSC7g=","I\u002B9hFtr1v\u002BiHDdTcHzjbN1/\u002BJlW4FQCO2lDzxsfQxvE=","ovodoua2qUhdbDWN585fFd/UPuf9gayhjL2vJnwTfgQ=","cznVLDfPgHESCh5uzqYPunUJzbXHz19NgR8m40Oux4Y=","bukhuSMtsLZuWXq0EczLXlzo09SVYrLFxc0gCRXJIfg=","m4xaLQ8pFwwnboEOrfPiMj2kcQ4BOJLq29E6MCgHSvE=","p9n5pqjuZHDx7\u002BdhWRGTt\u002BUzCERsNvaeCKXs5/YdMrU=","7jQQ8KtlbMUipux5Oxox\u002BMe/tDj7lWGAaE9SGAAXJx0=","LVMd/figSNdYujlL6XFrNeDHOjBEBSN3OnbDlkNFnKs=","J70C95ZjH\u002BZJWgdtMhQRwee6TxxtNwhGLceabhDhAu4=","uKLkdwScNaRaTWcBHz0Dc9NCkrPJBCep33K3JAgZREA=","G//aETfWxvDbfdBfp/VYtuBeefbeThDllliKKsmAz48="],"CachedAssets":{},"CachedCopyCandidates":{}}
{"GlobalPropertiesHash":"pN19ChaHTNLWsz7jjlUtQaqb4i911/XNkcZzKrmwpqE=","FingerprintPatternsHash":"gq3WsqcKBUGTSNle7RKKyXRIwh7M8ccEqOqYvIzoM04=","PropertyOverridesHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","InputHashes":["PLo0WFSWAzfpAG8kL8ki\u002BM2/RkGiI59iQd0ydqhy/\u002Bk=","E5cJYaGS8gNRDij1iuWYA16PkFgqPUxqFSr9DwB0\u002BVI=","hKc2ATGZ1eaNYywoewDaRhdqCJu1ueNBOXL2/U6sS3A=","xcEfXK4yxaLDcXp9l1d78dDGqoL6VpCCZBx\u002BzMbPQIY=","ZJKhQ8EEbDTnRMCmUWtOukHgac1ZIM77vIPPlK6Jkww=","05prRZLJy1C1xP0n3aeCulfe3V4JN06olssDcJ1lhKU=","pZ77V\u002B1F9GAHoRyLmDHOaXZmMizAAhULhAui7AFSC7g=","I\u002B9hFtr1v\u002BiHDdTcHzjbN1/\u002BJlW4FQCO2lDzxsfQxvE=","ovodoua2qUhdbDWN585fFd/UPuf9gayhjL2vJnwTfgQ=","cznVLDfPgHESCh5uzqYPunUJzbXHz19NgR8m40Oux4Y=","bukhuSMtsLZuWXq0EczLXlzo09SVYrLFxc0gCRXJIfg=","m4xaLQ8pFwwnboEOrfPiMj2kcQ4BOJLq29E6MCgHSvE=","p9n5pqjuZHDx7\u002BdhWRGTt\u002BUzCERsNvaeCKXs5/YdMrU=","7jQQ8KtlbMUipux5Oxox\u002BMe/tDj7lWGAaE9SGAAXJx0=","LVMd/figSNdYujlL6XFrNeDHOjBEBSN3OnbDlkNFnKs=","J70C95ZjH\u002BZJWgdtMhQRwee6TxxtNwhGLceabhDhAu4=","uKLkdwScNaRaTWcBHz0Dc9NCkrPJBCep33K3JAgZREA=","G//aETfWxvDbfdBfp/VYtuBeefbeThDllliKKsmAz48="],"CachedAssets":{},"CachedCopyCandidates":{}}
+1 -1
View File
@@ -1 +1 @@
{"GlobalPropertiesHash":"SRcd19WKDnS6TAdK3Nur0ENuaDOjW5I54HYq0jC7AqE=","FingerprintPatternsHash":"gq3WsqcKBUGTSNle7RKKyXRIwh7M8ccEqOqYvIzoM04=","PropertyOverridesHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","InputHashes":["PLo0WFSWAzfpAG8kL8ki\u002BM2/RkGiI59iQd0ydqhy/\u002Bk=","KqIGMK4f\u002B4WpRvd79TT3fG9rw3mHWwk6xYccc5/wk8E=","hKc2ATGZ1eaNYywoewDaRhdqCJu1ueNBOXL2/U6sS3A=","isW/h/DOwxcYZdgzcFZWDCPV3or/qmzwPaL/5IwOYRI=","ZJKhQ8EEbDTnRMCmUWtOukHgac1ZIM77vIPPlK6Jkww=","05prRZLJy1C1xP0n3aeCulfe3V4JN06olssDcJ1lhKU=","pZ77V\u002B1F9GAHoRyLmDHOaXZmMizAAhULhAui7AFSC7g=","I\u002B9hFtr1v\u002BiHDdTcHzjbN1/\u002BJlW4FQCO2lDzxsfQxvE=","ovodoua2qUhdbDWN585fFd/UPuf9gayhjL2vJnwTfgQ=","cznVLDfPgHESCh5uzqYPunUJzbXHz19NgR8m40Oux4Y=","bukhuSMtsLZuWXq0EczLXlzo09SVYrLFxc0gCRXJIfg=","m4xaLQ8pFwwnboEOrfPiMj2kcQ4BOJLq29E6MCgHSvE=","p9n5pqjuZHDx7\u002BdhWRGTt\u002BUzCERsNvaeCKXs5/YdMrU=","7jQQ8KtlbMUipux5Oxox\u002BMe/tDj7lWGAaE9SGAAXJx0=","LVMd/figSNdYujlL6XFrNeDHOjBEBSN3OnbDlkNFnKs=","J70C95ZjH\u002BZJWgdtMhQRwee6TxxtNwhGLceabhDhAu4=","uKLkdwScNaRaTWcBHz0Dc9NCkrPJBCep33K3JAgZREA=","G//aETfWxvDbfdBfp/VYtuBeefbeThDllliKKsmAz48="],"CachedAssets":{},"CachedCopyCandidates":{}}
{"GlobalPropertiesHash":"SRcd19WKDnS6TAdK3Nur0ENuaDOjW5I54HYq0jC7AqE=","FingerprintPatternsHash":"gq3WsqcKBUGTSNle7RKKyXRIwh7M8ccEqOqYvIzoM04=","PropertyOverridesHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","InputHashes":["PLo0WFSWAzfpAG8kL8ki\u002BM2/RkGiI59iQd0ydqhy/\u002Bk=","E5cJYaGS8gNRDij1iuWYA16PkFgqPUxqFSr9DwB0\u002BVI=","hKc2ATGZ1eaNYywoewDaRhdqCJu1ueNBOXL2/U6sS3A=","xcEfXK4yxaLDcXp9l1d78dDGqoL6VpCCZBx\u002BzMbPQIY=","ZJKhQ8EEbDTnRMCmUWtOukHgac1ZIM77vIPPlK6Jkww=","05prRZLJy1C1xP0n3aeCulfe3V4JN06olssDcJ1lhKU=","pZ77V\u002B1F9GAHoRyLmDHOaXZmMizAAhULhAui7AFSC7g=","I\u002B9hFtr1v\u002BiHDdTcHzjbN1/\u002BJlW4FQCO2lDzxsfQxvE=","ovodoua2qUhdbDWN585fFd/UPuf9gayhjL2vJnwTfgQ=","cznVLDfPgHESCh5uzqYPunUJzbXHz19NgR8m40Oux4Y=","bukhuSMtsLZuWXq0EczLXlzo09SVYrLFxc0gCRXJIfg=","m4xaLQ8pFwwnboEOrfPiMj2kcQ4BOJLq29E6MCgHSvE=","p9n5pqjuZHDx7\u002BdhWRGTt\u002BUzCERsNvaeCKXs5/YdMrU=","7jQQ8KtlbMUipux5Oxox\u002BMe/tDj7lWGAaE9SGAAXJx0=","LVMd/figSNdYujlL6XFrNeDHOjBEBSN3OnbDlkNFnKs=","J70C95ZjH\u002BZJWgdtMhQRwee6TxxtNwhGLceabhDhAu4=","uKLkdwScNaRaTWcBHz0Dc9NCkrPJBCep33K3JAgZREA=","G//aETfWxvDbfdBfp/VYtuBeefbeThDllliKKsmAz48="],"CachedAssets":{},"CachedCopyCandidates":{}}
+1 -1
View File
@@ -1 +1 @@
{"GlobalPropertiesHash":"XBtnhfOpVJZ0VzdvvhdO/14p9uTpym6Q/BLF8F20dYo=","FingerprintPatternsHash":"gq3WsqcKBUGTSNle7RKKyXRIwh7M8ccEqOqYvIzoM04=","PropertyOverridesHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","InputHashes":["PLo0WFSWAzfpAG8kL8ki\u002BM2/RkGiI59iQd0ydqhy/\u002Bk=","KqIGMK4f\u002B4WpRvd79TT3fG9rw3mHWwk6xYccc5/wk8E=","hKc2ATGZ1eaNYywoewDaRhdqCJu1ueNBOXL2/U6sS3A=","isW/h/DOwxcYZdgzcFZWDCPV3or/qmzwPaL/5IwOYRI=","ZJKhQ8EEbDTnRMCmUWtOukHgac1ZIM77vIPPlK6Jkww=","05prRZLJy1C1xP0n3aeCulfe3V4JN06olssDcJ1lhKU=","pZ77V\u002B1F9GAHoRyLmDHOaXZmMizAAhULhAui7AFSC7g=","I\u002B9hFtr1v\u002BiHDdTcHzjbN1/\u002BJlW4FQCO2lDzxsfQxvE=","ovodoua2qUhdbDWN585fFd/UPuf9gayhjL2vJnwTfgQ=","cznVLDfPgHESCh5uzqYPunUJzbXHz19NgR8m40Oux4Y=","bukhuSMtsLZuWXq0EczLXlzo09SVYrLFxc0gCRXJIfg=","m4xaLQ8pFwwnboEOrfPiMj2kcQ4BOJLq29E6MCgHSvE=","p9n5pqjuZHDx7\u002BdhWRGTt\u002BUzCERsNvaeCKXs5/YdMrU=","7jQQ8KtlbMUipux5Oxox\u002BMe/tDj7lWGAaE9SGAAXJx0=","LVMd/figSNdYujlL6XFrNeDHOjBEBSN3OnbDlkNFnKs=","J70C95ZjH\u002BZJWgdtMhQRwee6TxxtNwhGLceabhDhAu4=","uKLkdwScNaRaTWcBHz0Dc9NCkrPJBCep33K3JAgZREA="],"CachedAssets":{"PLo0WFSWAzfpAG8kL8ki\u002BM2/RkGiI59iQd0ydqhy/\u002Bk=":{"Identity":"/mnt/data/Work/Programming/MainProgram/Frontend/Libs/Generic/Common.RCL/wwwroot/background.png","SourceId":"Common.RCL","SourceType":"Discovered","ContentRoot":"/mnt/data/Work/Programming/MainProgram/Frontend/Libs/Generic/Common.RCL/wwwroot/","BasePath":"_content/Common.RCL","RelativePath":"background#[.{fingerprint}]?.png","AssetKind":"All","AssetMode":"All","AssetRole":"Primary","AssetMergeBehavior":null,"AssetMergeSource":"","RelatedAsset":null,"AssetTraitName":null,"AssetTraitValue":null,"Fingerprint":"x2rx4ajns0","Integrity":"WeOKCkI7IdJHs2kCqsKgLfiWX4/sNPbaRUspOLefkCY=","CopyToOutputDirectory":"Never","CopyToPublishDirectory":"PreserveNewest","OriginalItemSpec":"wwwroot/background.png","FileLength":378,"LastWriteTime":"2025-08-23T11:32:56.5259124+00:00"},"KqIGMK4f\u002B4WpRvd79TT3fG9rw3mHWwk6xYccc5/wk8E=":{"Identity":"/mnt/data/Work/Programming/MainProgram/Frontend/Libs/Generic/Common.RCL/wwwroot/css/carousal.js","SourceId":"Common.RCL","SourceType":"Discovered","ContentRoot":"/mnt/data/Work/Programming/MainProgram/Frontend/Libs/Generic/Common.RCL/wwwroot/","BasePath":"_content/Common.RCL","RelativePath":"css/carousal#[.{fingerprint}]?.js","AssetKind":"All","AssetMode":"All","AssetRole":"Primary","AssetMergeBehavior":null,"AssetMergeSource":"","RelatedAsset":null,"AssetTraitName":null,"AssetTraitValue":null,"Fingerprint":"vnhftjewbd","Integrity":"K1BmVTJTQBxj4WTN2sBd/MYTDWisP4DzwLDsVHuVwdQ=","CopyToOutputDirectory":"Never","CopyToPublishDirectory":"PreserveNewest","OriginalItemSpec":"wwwroot/css/carousal.js","FileLength":3499,"LastWriteTime":"2026-01-14T15:07:36.48534+00:00"},"hKc2ATGZ1eaNYywoewDaRhdqCJu1ueNBOXL2/U6sS3A=":{"Identity":"/mnt/data/Work/Programming/MainProgram/Frontend/Libs/Generic/Common.RCL/wwwroot/exampleJsInterop.js","SourceId":"Common.RCL","SourceType":"Discovered","ContentRoot":"/mnt/data/Work/Programming/MainProgram/Frontend/Libs/Generic/Common.RCL/wwwroot/","BasePath":"_content/Common.RCL","RelativePath":"exampleJsInterop#[.{fingerprint}]?.js","AssetKind":"All","AssetMode":"All","AssetRole":"Primary","AssetMergeBehavior":null,"AssetMergeSource":"","RelatedAsset":null,"AssetTraitName":null,"AssetTraitValue":null,"Fingerprint":"luzdqbu196","Integrity":"Q4NTLlisgAvNajNKkeD3c0qLXE5q8YduQMx9wE/SeNk=","CopyToOutputDirectory":"Never","CopyToPublishDirectory":"PreserveNewest","OriginalItemSpec":"wwwroot/exampleJsInterop.js","FileLength":241,"LastWriteTime":"2025-08-23T11:32:56.5269124+00:00"}},"CachedCopyCandidates":{}}
{"GlobalPropertiesHash":"XBtnhfOpVJZ0VzdvvhdO/14p9uTpym6Q/BLF8F20dYo=","FingerprintPatternsHash":"gq3WsqcKBUGTSNle7RKKyXRIwh7M8ccEqOqYvIzoM04=","PropertyOverridesHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","InputHashes":["PLo0WFSWAzfpAG8kL8ki\u002BM2/RkGiI59iQd0ydqhy/\u002Bk=","E5cJYaGS8gNRDij1iuWYA16PkFgqPUxqFSr9DwB0\u002BVI=","hKc2ATGZ1eaNYywoewDaRhdqCJu1ueNBOXL2/U6sS3A=","xcEfXK4yxaLDcXp9l1d78dDGqoL6VpCCZBx\u002BzMbPQIY=","ZJKhQ8EEbDTnRMCmUWtOukHgac1ZIM77vIPPlK6Jkww=","05prRZLJy1C1xP0n3aeCulfe3V4JN06olssDcJ1lhKU=","pZ77V\u002B1F9GAHoRyLmDHOaXZmMizAAhULhAui7AFSC7g=","I\u002B9hFtr1v\u002BiHDdTcHzjbN1/\u002BJlW4FQCO2lDzxsfQxvE=","ovodoua2qUhdbDWN585fFd/UPuf9gayhjL2vJnwTfgQ=","cznVLDfPgHESCh5uzqYPunUJzbXHz19NgR8m40Oux4Y=","bukhuSMtsLZuWXq0EczLXlzo09SVYrLFxc0gCRXJIfg=","m4xaLQ8pFwwnboEOrfPiMj2kcQ4BOJLq29E6MCgHSvE=","p9n5pqjuZHDx7\u002BdhWRGTt\u002BUzCERsNvaeCKXs5/YdMrU=","7jQQ8KtlbMUipux5Oxox\u002BMe/tDj7lWGAaE9SGAAXJx0=","LVMd/figSNdYujlL6XFrNeDHOjBEBSN3OnbDlkNFnKs=","J70C95ZjH\u002BZJWgdtMhQRwee6TxxtNwhGLceabhDhAu4=","uKLkdwScNaRaTWcBHz0Dc9NCkrPJBCep33K3JAgZREA="],"CachedAssets":{"PLo0WFSWAzfpAG8kL8ki\u002BM2/RkGiI59iQd0ydqhy/\u002Bk=":{"Identity":"/mnt/data/Work/Programming/MainProgram/Frontend/Libs/Generic/Common.RCL/wwwroot/background.png","SourceId":"Common.RCL","SourceType":"Discovered","ContentRoot":"/mnt/data/Work/Programming/MainProgram/Frontend/Libs/Generic/Common.RCL/wwwroot/","BasePath":"_content/Common.RCL","RelativePath":"background#[.{fingerprint}]?.png","AssetKind":"All","AssetMode":"All","AssetRole":"Primary","AssetMergeBehavior":null,"AssetMergeSource":"","RelatedAsset":null,"AssetTraitName":null,"AssetTraitValue":null,"Fingerprint":"x2rx4ajns0","Integrity":"WeOKCkI7IdJHs2kCqsKgLfiWX4/sNPbaRUspOLefkCY=","CopyToOutputDirectory":"Never","CopyToPublishDirectory":"PreserveNewest","OriginalItemSpec":"wwwroot/background.png","FileLength":378,"LastWriteTime":"2025-08-23T11:32:56.5259124+00:00"},"E5cJYaGS8gNRDij1iuWYA16PkFgqPUxqFSr9DwB0\u002BVI=":{"Identity":"/mnt/data/Work/Programming/MainProgram/Frontend/Libs/Generic/Common.RCL/wwwroot/css/carousal.js","SourceId":"Common.RCL","SourceType":"Discovered","ContentRoot":"/mnt/data/Work/Programming/MainProgram/Frontend/Libs/Generic/Common.RCL/wwwroot/","BasePath":"_content/Common.RCL","RelativePath":"css/carousal#[.{fingerprint}]?.js","AssetKind":"All","AssetMode":"All","AssetRole":"Primary","AssetMergeBehavior":null,"AssetMergeSource":"","RelatedAsset":null,"AssetTraitName":null,"AssetTraitValue":null,"Fingerprint":"eo2dy7b2yn","Integrity":"zlyrrwTjxxBAYxOHWYfsNIA8n4Y4FPOSohETAGBX0Lo=","CopyToOutputDirectory":"Never","CopyToPublishDirectory":"PreserveNewest","OriginalItemSpec":"wwwroot/css/carousal.js","FileLength":5031,"LastWriteTime":"2026-08-09T13:32:32.9806068+00:00"},"hKc2ATGZ1eaNYywoewDaRhdqCJu1ueNBOXL2/U6sS3A=":{"Identity":"/mnt/data/Work/Programming/MainProgram/Frontend/Libs/Generic/Common.RCL/wwwroot/exampleJsInterop.js","SourceId":"Common.RCL","SourceType":"Discovered","ContentRoot":"/mnt/data/Work/Programming/MainProgram/Frontend/Libs/Generic/Common.RCL/wwwroot/","BasePath":"_content/Common.RCL","RelativePath":"exampleJsInterop#[.{fingerprint}]?.js","AssetKind":"All","AssetMode":"All","AssetRole":"Primary","AssetMergeBehavior":null,"AssetMergeSource":"","RelatedAsset":null,"AssetTraitName":null,"AssetTraitValue":null,"Fingerprint":"luzdqbu196","Integrity":"Q4NTLlisgAvNajNKkeD3c0qLXE5q8YduQMx9wE/SeNk=","CopyToOutputDirectory":"Never","CopyToPublishDirectory":"PreserveNewest","OriginalItemSpec":"wwwroot/exampleJsInterop.js","FileLength":241,"LastWriteTime":"2025-08-23T11:32:56.5269124+00:00"}},"CachedCopyCandidates":{}}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
KuIPED6H1DKU/rmVuvBwB7XAdXav+2BExjrNFa2VOgI=
KuAgspu/3ef3uoaN1A71fQP3tjuTPU/fEC3D6lgqU84=
@@ -1 +1 @@
{"ContentRoots":["/mnt/data/Work/Programming/MainProgram/Frontend/Libs/Generic/Common.RCL/wwwroot/","/mnt/data/Work/Programming/MainProgram/Frontend/Libs/Generic/Common.RCL/obj/Debug/net10.0/scopedcss/bundle/","/mnt/data/Work/Programming/MainProgram/Frontend/Libs/Generic/Common.RCL/obj/Debug/net10.0/compressed/"],"Root":{"Children":{"background.png":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"background.png"},"Patterns":null},"Common.RCL.styles.css":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"Common.RCL.styles.css"},"Patterns":null},"Common.RCL.styles.css.gz":{"Children":null,"Asset":{"ContentRootIndex":2,"SubPath":"fy9rjyaakk-{0}-dph6jvottp-dph6jvottp.gz"},"Patterns":null},"exampleJsInterop.js":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"exampleJsInterop.js"},"Patterns":null},"exampleJsInterop.js.gz":{"Children":null,"Asset":{"ContentRootIndex":2,"SubPath":"fiwgk79u47-{0}-luzdqbu196-luzdqbu196.gz"},"Patterns":null},"css":{"Children":{"carousal.js":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/carousal.js"},"Patterns":null},"carousal.js.gz":{"Children":null,"Asset":{"ContentRootIndex":2,"SubPath":"32onbuj1wh-{0}-vnhftjewbd-vnhftjewbd.gz"},"Patterns":null}},"Asset":null,"Patterns":null}},"Asset":null,"Patterns":[{"ContentRootIndex":0,"Pattern":"**","Depth":0}]}}
{"ContentRoots":["/mnt/data/Work/Programming/MainProgram/Frontend/Libs/Generic/Common.RCL/wwwroot/","/mnt/data/Work/Programming/MainProgram/Frontend/Libs/Generic/Common.RCL/obj/Debug/net10.0/scopedcss/bundle/","/mnt/data/Work/Programming/MainProgram/Frontend/Libs/Generic/Common.RCL/obj/Debug/net10.0/compressed/"],"Root":{"Children":{"background.png":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"background.png"},"Patterns":null},"Common.RCL.styles.css":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"Common.RCL.styles.css"},"Patterns":null},"Common.RCL.styles.css.gz":{"Children":null,"Asset":{"ContentRootIndex":2,"SubPath":"fy9rjyaakk-{0}-dph6jvottp-dph6jvottp.gz"},"Patterns":null},"exampleJsInterop.js":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"exampleJsInterop.js"},"Patterns":null},"exampleJsInterop.js.gz":{"Children":null,"Asset":{"ContentRootIndex":2,"SubPath":"fiwgk79u47-{0}-luzdqbu196-luzdqbu196.gz"},"Patterns":null},"css":{"Children":{"carousal.js":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/carousal.js"},"Patterns":null},"carousal.js.gz":{"Children":null,"Asset":{"ContentRootIndex":2,"SubPath":"32onbuj1wh-{0}-eo2dy7b2yn-eo2dy7b2yn.gz"},"Patterns":null}},"Asset":null,"Patterns":null}},"Asset":null,"Patterns":[{"ContentRootIndex":0,"Pattern":"**","Depth":0}]}}
@@ -24,17 +24,17 @@
<EndpointProperties><![CDATA[[{"Name":"fingerprint","Value":"dph6jvottp"},{"Name":"integrity","Value":"sha256-39HSQ0beua7Rm023Y8jQXdOfC8uQtgVch\u002BLyDUsB8bo="},{"Name":"label","Value":"_content/Common.RCL/Common.RCL.bundle.scp.css"}]]]></EndpointProperties>
<ResponseHeaders><![CDATA[[{"Name":"Cache-Control","Value":"max-age=31536000, immutable"},{"Name":"Content-Length","Value":"196"},{"Name":"Content-Type","Value":"text/css"},{"Name":"ETag","Value":"\u002239HSQ0beua7Rm023Y8jQXdOfC8uQtgVch\u002BLyDUsB8bo=\u0022"},{"Name":"Last-Modified","Value":"Sat, 08 Aug 2026 23:31:42 GMT"},{"Name":"Vary","Value":"Accept-Encoding"}]]]></ResponseHeaders>
</StaticWebAssetEndpoint>
<StaticWebAssetEndpoint Include="_content/Common.RCL/css/carousal.eo2dy7b2yn.js">
<AssetFile>$([System.IO.Path]::GetFullPath('$(MSBuildThisFileDirectory)..\staticwebassets\css\carousal.js'))</AssetFile>
<Selectors><![CDATA[[]]]></Selectors>
<EndpointProperties><![CDATA[[{"Name":"fingerprint","Value":"eo2dy7b2yn"},{"Name":"integrity","Value":"sha256-zlyrrwTjxxBAYxOHWYfsNIA8n4Y4FPOSohETAGBX0Lo="},{"Name":"label","Value":"_content/Common.RCL/css/carousal.js"}]]]></EndpointProperties>
<ResponseHeaders><![CDATA[[{"Name":"Cache-Control","Value":"max-age=31536000, immutable"},{"Name":"Content-Length","Value":"5031"},{"Name":"Content-Type","Value":"text/javascript"},{"Name":"ETag","Value":"\u0022zlyrrwTjxxBAYxOHWYfsNIA8n4Y4FPOSohETAGBX0Lo=\u0022"},{"Name":"Last-Modified","Value":"Sun, 09 Aug 2026 13:32:32 GMT"},{"Name":"Vary","Value":"Accept-Encoding"}]]]></ResponseHeaders>
</StaticWebAssetEndpoint>
<StaticWebAssetEndpoint Include="_content/Common.RCL/css/carousal.js">
<AssetFile>$([System.IO.Path]::GetFullPath('$(MSBuildThisFileDirectory)..\staticwebassets\css\carousal.js'))</AssetFile>
<Selectors><![CDATA[[]]]></Selectors>
<EndpointProperties><![CDATA[[{"Name":"integrity","Value":"sha256-K1BmVTJTQBxj4WTN2sBd/MYTDWisP4DzwLDsVHuVwdQ="}]]]></EndpointProperties>
<ResponseHeaders><![CDATA[[{"Name":"Cache-Control","Value":"no-cache"},{"Name":"Content-Length","Value":"3499"},{"Name":"Content-Type","Value":"text/javascript"},{"Name":"ETag","Value":"\u0022K1BmVTJTQBxj4WTN2sBd/MYTDWisP4DzwLDsVHuVwdQ=\u0022"},{"Name":"Last-Modified","Value":"Wed, 14 Jan 2026 15:07:36 GMT"},{"Name":"Vary","Value":"Accept-Encoding"}]]]></ResponseHeaders>
</StaticWebAssetEndpoint>
<StaticWebAssetEndpoint Include="_content/Common.RCL/css/carousal.vnhftjewbd.js">
<AssetFile>$([System.IO.Path]::GetFullPath('$(MSBuildThisFileDirectory)..\staticwebassets\css\carousal.js'))</AssetFile>
<Selectors><![CDATA[[]]]></Selectors>
<EndpointProperties><![CDATA[[{"Name":"fingerprint","Value":"vnhftjewbd"},{"Name":"integrity","Value":"sha256-K1BmVTJTQBxj4WTN2sBd/MYTDWisP4DzwLDsVHuVwdQ="},{"Name":"label","Value":"_content/Common.RCL/css/carousal.js"}]]]></EndpointProperties>
<ResponseHeaders><![CDATA[[{"Name":"Cache-Control","Value":"max-age=31536000, immutable"},{"Name":"Content-Length","Value":"3499"},{"Name":"Content-Type","Value":"text/javascript"},{"Name":"ETag","Value":"\u0022K1BmVTJTQBxj4WTN2sBd/MYTDWisP4DzwLDsVHuVwdQ=\u0022"},{"Name":"Last-Modified","Value":"Wed, 14 Jan 2026 15:07:36 GMT"},{"Name":"Vary","Value":"Accept-Encoding"}]]]></ResponseHeaders>
<EndpointProperties><![CDATA[[{"Name":"integrity","Value":"sha256-zlyrrwTjxxBAYxOHWYfsNIA8n4Y4FPOSohETAGBX0Lo="}]]]></EndpointProperties>
<ResponseHeaders><![CDATA[[{"Name":"Cache-Control","Value":"no-cache"},{"Name":"Content-Length","Value":"5031"},{"Name":"Content-Type","Value":"text/javascript"},{"Name":"ETag","Value":"\u0022zlyrrwTjxxBAYxOHWYfsNIA8n4Y4FPOSohETAGBX0Lo=\u0022"},{"Name":"Last-Modified","Value":"Sun, 09 Aug 2026 13:32:32 GMT"},{"Name":"Vary","Value":"Accept-Encoding"}]]]></ResponseHeaders>
</StaticWebAssetEndpoint>
<StaticWebAssetEndpoint Include="_content/Common.RCL/exampleJsInterop.js">
<AssetFile>$([System.IO.Path]::GetFullPath('$(MSBuildThisFileDirectory)..\staticwebassets\exampleJsInterop.js'))</AssetFile>
@@ -52,12 +52,12 @@
<RelatedAsset></RelatedAsset>
<AssetTraitName></AssetTraitName>
<AssetTraitValue></AssetTraitValue>
<Fingerprint>vnhftjewbd</Fingerprint>
<Integrity>K1BmVTJTQBxj4WTN2sBd/MYTDWisP4DzwLDsVHuVwdQ=</Integrity>
<Fingerprint>eo2dy7b2yn</Fingerprint>
<Integrity>zlyrrwTjxxBAYxOHWYfsNIA8n4Y4FPOSohETAGBX0Lo=</Integrity>
<CopyToOutputDirectory>Never</CopyToOutputDirectory>
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
<FileLength>3499</FileLength>
<LastWriteTime>Wed, 14 Jan 2026 15:07:36 GMT</LastWriteTime>
<FileLength>5031</FileLength>
<LastWriteTime>Sun, 09 Aug 2026 13:32:32 GMT</LastWriteTime>
<OriginalItemSpec>$([System.IO.Path]::GetFullPath('$(MSBuildThisFileDirectory)..\staticwebassets\css\carousal.js'))</OriginalItemSpec>
</StaticWebAsset>
<StaticWebAsset Include="$([System.IO.Path]::GetFullPath('$(MSBuildThisFileDirectory)..\staticwebassets\exampleJsInterop.js'))">
+65 -26
View File
@@ -80,33 +80,72 @@ function animate(listOfData) {
var textWrapper = document.querySelector('.ml14 .letters');
if (!textWrapper) return;
textWrapper.innerHTML = textWrapper.textContent.replace(/\S/g, "<span class='letter lg:text-5xl md:text-4xl text-3xl text-accent'>$&</span>");
var text = textWrapper.textContent;
anime.timeline({ loop: false })
.add({
targets: '.ml14 .line',
scaleX: [0, 1],
opacity: [0.5, 1],
easing: "easeInOutExpo",
duration: 500
}).add({
targets: '.ml14 .letter',
opacity: [0, 1],
translateX: [40, 0],
translateZ: 0,
scaleX: [0.3, 1],
easing: "easeOutExpo",
duration: 350,
offset: '-=600',
delay: (el, i) => 150 + 25 * i
})
.add({
targets: '.ml14',
opacity: 1,
duration: 0,
easing: "easeOutExpo",
delay: 0
});
// Detect if text contains Arabic characters
var hasArabic = /[\u0600-\u06FF]/.test(text);
if (hasArabic) {
// For Arabic: keep letters connected, animate as whole words
var words = text.split(/(\s+)/);
textWrapper.innerHTML = words.map(function (w) {
if (w.trim() === '') return w;
return "<span class='word lg:text-5xl md:text-4xl text-3xl text-accent'>" + w + "</span>";
}).join('');
anime.timeline({ loop: false })
.add({
targets: '.ml14 .line',
scaleX: [0, 1],
opacity: [0.5, 1],
easing: "easeInOutExpo",
duration: 500
}).add({
targets: '.ml14 .word',
opacity: [0, 1],
translateX: [-40, 0],
easing: "easeOutExpo",
duration: 600,
offset: '-=500',
delay: (el, i) => 100 + 80 * i
})
.add({
targets: '.ml14',
opacity: 1,
duration: 0,
easing: "easeOutExpo",
delay: 0
});
} else {
// For other languages: original per-letter animation
textWrapper.innerHTML = text.replace(/\S/g, "<span class='letter lg:text-5xl md:text-4xl text-3xl text-accent'>$&</span>");
anime.timeline({ loop: false })
.add({
targets: '.ml14 .line',
scaleX: [0, 1],
opacity: [0.5, 1],
easing: "easeInOutExpo",
duration: 500
}).add({
targets: '.ml14 .letter',
opacity: [0, 1],
translateX: [40, 0],
translateZ: 0,
scaleX: [0.3, 1],
easing: "easeOutExpo",
duration: 350,
offset: '-=600',
delay: (el, i) => 150 + 25 * i
})
.add({
targets: '.ml14',
opacity: 1,
duration: 0,
easing: "easeOutExpo",
delay: 0
});
}
}
}