@1001tv/manara 0.0.3-beta.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 (466) hide show
  1. package/LICENSE +28 -0
  2. package/README.md +105 -0
  3. package/dist/assets/icons/AlarmExclamation.d.ts +2 -0
  4. package/dist/assets/icons/AlarmExclamationOutline.d.ts +2 -0
  5. package/dist/assets/icons/Alert.d.ts +2 -0
  6. package/dist/assets/icons/AlertOutline.d.ts +2 -0
  7. package/dist/assets/icons/AngleDown.d.ts +2 -0
  8. package/dist/assets/icons/AngleDownOutline.d.ts +2 -0
  9. package/dist/assets/icons/AngleLeft.d.ts +2 -0
  10. package/dist/assets/icons/AngleLeftOutline.d.ts +2 -0
  11. package/dist/assets/icons/AngleRight.d.ts +2 -0
  12. package/dist/assets/icons/AngleRightOutline.d.ts +2 -0
  13. package/dist/assets/icons/AngleUp.d.ts +2 -0
  14. package/dist/assets/icons/AngleUpOutline.d.ts +2 -0
  15. package/dist/assets/icons/ArrowLeft.d.ts +2 -0
  16. package/dist/assets/icons/ArrowLeftOutline.d.ts +2 -0
  17. package/dist/assets/icons/ArrowRight.d.ts +2 -0
  18. package/dist/assets/icons/ArrowRightOutline.d.ts +2 -0
  19. package/dist/assets/icons/ArrowUpLeft.d.ts +2 -0
  20. package/dist/assets/icons/ArrowUpLeftOutline.d.ts +2 -0
  21. package/dist/assets/icons/ArrowUpRight.d.ts +2 -0
  22. package/dist/assets/icons/ArrowUpRightOutline.d.ts +2 -0
  23. package/dist/assets/icons/ArrowUpRightSquare.d.ts +2 -0
  24. package/dist/assets/icons/ArrowUpRightSquareOutline.d.ts +2 -0
  25. package/dist/assets/icons/AutoPlay.d.ts +2 -0
  26. package/dist/assets/icons/BackwardStep.d.ts +2 -0
  27. package/dist/assets/icons/BackwardStepOutline.d.ts +2 -0
  28. package/dist/assets/icons/Ban.d.ts +2 -0
  29. package/dist/assets/icons/BanOutline.d.ts +2 -0
  30. package/dist/assets/icons/Bars.d.ts +2 -0
  31. package/dist/assets/icons/BarsFilter.d.ts +2 -0
  32. package/dist/assets/icons/BarsFilterOutline.d.ts +2 -0
  33. package/dist/assets/icons/BarsOutline.d.ts +2 -0
  34. package/dist/assets/icons/Bell.d.ts +2 -0
  35. package/dist/assets/icons/BellOutline.d.ts +2 -0
  36. package/dist/assets/icons/Book.d.ts +2 -0
  37. package/dist/assets/icons/BookOutline.d.ts +2 -0
  38. package/dist/assets/icons/Box.d.ts +2 -0
  39. package/dist/assets/icons/BoxOutline.d.ts +2 -0
  40. package/dist/assets/icons/Calendar.d.ts +2 -0
  41. package/dist/assets/icons/CalendarOutline.d.ts +2 -0
  42. package/dist/assets/icons/CameraMovie.d.ts +2 -0
  43. package/dist/assets/icons/CameraMovieOutline.d.ts +2 -0
  44. package/dist/assets/icons/Check.d.ts +2 -0
  45. package/dist/assets/icons/CheckOutline.d.ts +2 -0
  46. package/dist/assets/icons/CircleCheck.d.ts +2 -0
  47. package/dist/assets/icons/CircleCheckOutline.d.ts +2 -0
  48. package/dist/assets/icons/CircleEmpty.d.ts +2 -0
  49. package/dist/assets/icons/Clapperboard.d.ts +2 -0
  50. package/dist/assets/icons/ClapperboardOutline.d.ts +2 -0
  51. package/dist/assets/icons/Close.d.ts +2 -0
  52. package/dist/assets/icons/CloseCircle.d.ts +2 -0
  53. package/dist/assets/icons/CloseCircleOutline.d.ts +2 -0
  54. package/dist/assets/icons/CloseOutline.d.ts +2 -0
  55. package/dist/assets/icons/CloudExclamation.d.ts +2 -0
  56. package/dist/assets/icons/CloudExclamationOutline.d.ts +2 -0
  57. package/dist/assets/icons/CompressWide.d.ts +2 -0
  58. package/dist/assets/icons/CompressWideOutline.d.ts +2 -0
  59. package/dist/assets/icons/Contract.d.ts +2 -0
  60. package/dist/assets/icons/ContractOutline.d.ts +2 -0
  61. package/dist/assets/icons/CreditCard.d.ts +2 -0
  62. package/dist/assets/icons/CreditCardOutline.d.ts +2 -0
  63. package/dist/assets/icons/Crown.d.ts +2 -0
  64. package/dist/assets/icons/CrownOutline.d.ts +2 -0
  65. package/dist/assets/icons/Diamond.d.ts +2 -0
  66. package/dist/assets/icons/DiamondOutline.d.ts +2 -0
  67. package/dist/assets/icons/Display.d.ts +2 -0
  68. package/dist/assets/icons/DisplayOutline.d.ts +2 -0
  69. package/dist/assets/icons/Edit.d.ts +2 -0
  70. package/dist/assets/icons/EditOutline.d.ts +2 -0
  71. package/dist/assets/icons/EllipsisVertical.d.ts +2 -0
  72. package/dist/assets/icons/Email.d.ts +2 -0
  73. package/dist/assets/icons/Eye.d.ts +2 -0
  74. package/dist/assets/icons/EyeOutline.d.ts +2 -0
  75. package/dist/assets/icons/EyeSlash.d.ts +2 -0
  76. package/dist/assets/icons/EyeSlashOutline.d.ts +2 -0
  77. package/dist/assets/icons/Facebook.d.ts +2 -0
  78. package/dist/assets/icons/Family.d.ts +2 -0
  79. package/dist/assets/icons/FamilyOutline.d.ts +2 -0
  80. package/dist/assets/icons/Film.d.ts +2 -0
  81. package/dist/assets/icons/FilmOutline.d.ts +2 -0
  82. package/dist/assets/icons/Football.d.ts +2 -0
  83. package/dist/assets/icons/FootballOutline.d.ts +2 -0
  84. package/dist/assets/icons/ForwardStep.d.ts +2 -0
  85. package/dist/assets/icons/ForwardStepOutline.d.ts +2 -0
  86. package/dist/assets/icons/FullScreen.d.ts +2 -0
  87. package/dist/assets/icons/FullScreenOutline.d.ts +2 -0
  88. package/dist/assets/icons/Gear.d.ts +2 -0
  89. package/dist/assets/icons/GearOutline.d.ts +2 -0
  90. package/dist/assets/icons/Gift.d.ts +2 -0
  91. package/dist/assets/icons/GiftOutline.d.ts +2 -0
  92. package/dist/assets/icons/Grid.d.ts +2 -0
  93. package/dist/assets/icons/GridOutline.d.ts +2 -0
  94. package/dist/assets/icons/GridTwoPlus.d.ts +2 -0
  95. package/dist/assets/icons/GridTwoPlusOutline.d.ts +2 -0
  96. package/dist/assets/icons/GripDots.d.ts +2 -0
  97. package/dist/assets/icons/GripDotsOutline.d.ts +2 -0
  98. package/dist/assets/icons/Hd.d.ts +2 -0
  99. package/dist/assets/icons/Headset.d.ts +2 -0
  100. package/dist/assets/icons/HeadsetOutline.d.ts +2 -0
  101. package/dist/assets/icons/Heart.d.ts +2 -0
  102. package/dist/assets/icons/HeartCircleXmark.d.ts +2 -0
  103. package/dist/assets/icons/HeartCircleXmarkOutline.d.ts +2 -0
  104. package/dist/assets/icons/HeartOutline.d.ts +2 -0
  105. package/dist/assets/icons/HourglassClock.d.ts +2 -0
  106. package/dist/assets/icons/HourglassClockOutline.d.ts +2 -0
  107. package/dist/assets/icons/House.d.ts +2 -0
  108. package/dist/assets/icons/HouseOutline.d.ts +2 -0
  109. package/dist/assets/icons/IconPlaceholder.d.ts +2 -0
  110. package/dist/assets/icons/InfoCircle.d.ts +2 -0
  111. package/dist/assets/icons/InfoCircleOutline.d.ts +2 -0
  112. package/dist/assets/icons/Instagram.d.ts +2 -0
  113. package/dist/assets/icons/Language.d.ts +2 -0
  114. package/dist/assets/icons/LanguageOutline.d.ts +2 -0
  115. package/dist/assets/icons/Laptop.d.ts +2 -0
  116. package/dist/assets/icons/LaptopOutline.d.ts +2 -0
  117. package/dist/assets/icons/Link.d.ts +2 -0
  118. package/dist/assets/icons/LinkOutline.d.ts +2 -0
  119. package/dist/assets/icons/Live.d.ts +2 -0
  120. package/dist/assets/icons/LiveOutline.d.ts +2 -0
  121. package/dist/assets/icons/Loading.d.ts +2 -0
  122. package/dist/assets/icons/LoadingOutline.d.ts +2 -0
  123. package/dist/assets/icons/Lock.d.ts +2 -0
  124. package/dist/assets/icons/LockOutline.d.ts +2 -0
  125. package/dist/assets/icons/Logout.d.ts +2 -0
  126. package/dist/assets/icons/LogoutOutline.d.ts +2 -0
  127. package/dist/assets/icons/MessageExclamation.d.ts +2 -0
  128. package/dist/assets/icons/MessageExclamationOutline.d.ts +2 -0
  129. package/dist/assets/icons/MessageLines.d.ts +2 -0
  130. package/dist/assets/icons/MessageLinesOutline.d.ts +2 -0
  131. package/dist/assets/icons/MinusOutline.d.ts +2 -0
  132. package/dist/assets/icons/MinusOutlineOne.d.ts +2 -0
  133. package/dist/assets/icons/Mobile.d.ts +2 -0
  134. package/dist/assets/icons/MobileOutline.d.ts +2 -0
  135. package/dist/assets/icons/MoonStars.d.ts +2 -0
  136. package/dist/assets/icons/MoonStarsOutline.d.ts +2 -0
  137. package/dist/assets/icons/PartyHorn.d.ts +2 -0
  138. package/dist/assets/icons/PartyHornOutline.d.ts +2 -0
  139. package/dist/assets/icons/Pause.d.ts +2 -0
  140. package/dist/assets/icons/PauseOutline.d.ts +2 -0
  141. package/dist/assets/icons/PictureInPicture.d.ts +2 -0
  142. package/dist/assets/icons/Play.d.ts +2 -0
  143. package/dist/assets/icons/PlayOutline.d.ts +2 -0
  144. package/dist/assets/icons/Plus.d.ts +2 -0
  145. package/dist/assets/icons/PlusOutline.d.ts +2 -0
  146. package/dist/assets/icons/Popcorn.d.ts +2 -0
  147. package/dist/assets/icons/PopcornOutline.d.ts +2 -0
  148. package/dist/assets/icons/RotateLeft.d.ts +2 -0
  149. package/dist/assets/icons/RotateLeftOutline.d.ts +2 -0
  150. package/dist/assets/icons/RotateRight.d.ts +2 -0
  151. package/dist/assets/icons/RotateRightOutline.d.ts +2 -0
  152. package/dist/assets/icons/Screencast.d.ts +2 -0
  153. package/dist/assets/icons/ScreencastOn.d.ts +2 -0
  154. package/dist/assets/icons/ScreencastOutline.d.ts +2 -0
  155. package/dist/assets/icons/Search.d.ts +2 -0
  156. package/dist/assets/icons/SearchOutline.d.ts +2 -0
  157. package/dist/assets/icons/Share.d.ts +2 -0
  158. package/dist/assets/icons/ShareOutline.d.ts +2 -0
  159. package/dist/assets/icons/Smile.d.ts +2 -0
  160. package/dist/assets/icons/SmileOutline.d.ts +2 -0
  161. package/dist/assets/icons/Sms.d.ts +2 -0
  162. package/dist/assets/icons/SmsOutline.d.ts +2 -0
  163. package/dist/assets/icons/Sparkles.d.ts +2 -0
  164. package/dist/assets/icons/SparklesOutline.d.ts +2 -0
  165. package/dist/assets/icons/Speed.d.ts +2 -0
  166. package/dist/assets/icons/SquareInfo.d.ts +2 -0
  167. package/dist/assets/icons/SquareInfoOutline.d.ts +2 -0
  168. package/dist/assets/icons/SquareQuestion.d.ts +2 -0
  169. package/dist/assets/icons/SquareQuestionOutline.d.ts +2 -0
  170. package/dist/assets/icons/SquareUser.d.ts +2 -0
  171. package/dist/assets/icons/SquareUserOutline.d.ts +2 -0
  172. package/dist/assets/icons/Subtitles.d.ts +2 -0
  173. package/dist/assets/icons/SubtitlesOutline.d.ts +2 -0
  174. package/dist/assets/icons/TenSecBackward.d.ts +2 -0
  175. package/dist/assets/icons/TenSecForward.d.ts +2 -0
  176. package/dist/assets/icons/Ticket.d.ts +2 -0
  177. package/dist/assets/icons/TicketOutline.d.ts +2 -0
  178. package/dist/assets/icons/Tiktok.d.ts +2 -0
  179. package/dist/assets/icons/TrashCan.d.ts +2 -0
  180. package/dist/assets/icons/TrashCanOutline.d.ts +2 -0
  181. package/dist/assets/icons/TriangleExclamation.d.ts +2 -0
  182. package/dist/assets/icons/TriangleExclamationOutline.d.ts +2 -0
  183. package/dist/assets/icons/Trophy.d.ts +2 -0
  184. package/dist/assets/icons/TrophyOutline.d.ts +2 -0
  185. package/dist/assets/icons/Tv.d.ts +2 -0
  186. package/dist/assets/icons/TvOutline.d.ts +2 -0
  187. package/dist/assets/icons/TwitterX.d.ts +2 -0
  188. package/dist/assets/icons/Ultimate.d.ts +2 -0
  189. package/dist/assets/icons/UltimateOutline.d.ts +2 -0
  190. package/dist/assets/icons/User.d.ts +2 -0
  191. package/dist/assets/icons/UserOutline.d.ts +2 -0
  192. package/dist/assets/icons/Video.d.ts +2 -0
  193. package/dist/assets/icons/VideoOutline.d.ts +2 -0
  194. package/dist/assets/icons/Volume.d.ts +2 -0
  195. package/dist/assets/icons/VolumeOff.d.ts +2 -0
  196. package/dist/assets/icons/VolumeOffOutline.d.ts +2 -0
  197. package/dist/assets/icons/VolumeOutline.d.ts +2 -0
  198. package/dist/assets/icons/Waveform.d.ts +2 -0
  199. package/dist/assets/icons/WaveformOutline.d.ts +2 -0
  200. package/dist/assets/icons/Whatsapp.d.ts +2 -0
  201. package/dist/assets/icons/Youtube.d.ts +2 -0
  202. package/dist/assets/icons/index.d.ts +2 -0
  203. package/dist/assets/logos/1001Logo.d.ts +2 -0
  204. package/dist/assets/logos/1001PremiumLogo.d.ts +2 -0
  205. package/dist/assets/logos/AlJazeeraLogo.d.ts +3 -0
  206. package/dist/assets/logos/AlSharqiyaLogo.d.ts +2 -0
  207. package/dist/assets/logos/AsiacellLogo.d.ts +2 -0
  208. package/dist/assets/logos/FiberXLogo.d.ts +2 -0
  209. package/dist/assets/logos/LaligaLogo.d.ts +2 -0
  210. package/dist/assets/logos/LbcLogo.d.ts +2 -0
  211. package/dist/assets/logos/NBTelLogo.d.ts +8 -0
  212. package/dist/assets/logos/OsnLogo.d.ts +2 -0
  213. package/dist/assets/logos/RotanaLogo.d.ts +2 -0
  214. package/dist/assets/logos/RoyaLogo.d.ts +2 -0
  215. package/dist/assets/logos/StarzPlayLogo.d.ts +2 -0
  216. package/dist/assets/logos/StarzPlaySportsLogo.d.ts +2 -0
  217. package/dist/assets/logos/SupercellLogo.d.ts +3 -0
  218. package/dist/assets/logos/TodLogo.d.ts +2 -0
  219. package/dist/assets/logos/WideLogo.d.ts +2 -0
  220. package/dist/assets/logos/YangoPlayLogo.d.ts +3 -0
  221. package/dist/assets/logos/ZainLogo.d.ts +2 -0
  222. package/dist/assets/logos/index.d.ts +2 -0
  223. package/dist/assets/payment-methods/Amex.d.ts +2 -0
  224. package/dist/assets/payment-methods/ApplePay.d.ts +2 -0
  225. package/dist/assets/payment-methods/GooglePay.d.ts +2 -0
  226. package/dist/assets/payment-methods/Mada.d.ts +2 -0
  227. package/dist/assets/payment-methods/Mastercard.d.ts +2 -0
  228. package/dist/assets/payment-methods/PayPal.d.ts +2 -0
  229. package/dist/assets/payment-methods/Stripe.d.ts +2 -0
  230. package/dist/assets/payment-methods/Visa.d.ts +2 -0
  231. package/dist/assets/payment-methods/ZainCash.d.ts +2 -0
  232. package/dist/assets/payment-methods/index.d.ts +2 -0
  233. package/dist/components/Alert/Alert.d.ts +10 -0
  234. package/dist/components/Alert/Alert.types.d.ts +18 -0
  235. package/dist/components/Alert/index.d.ts +1 -0
  236. package/dist/components/Avatar/Avatar.d.ts +17 -0
  237. package/dist/components/Avatar/Avatar.types.d.ts +44 -0
  238. package/dist/components/Avatar/Avatar.variants.d.ts +22 -0
  239. package/dist/components/Avatar/index.d.ts +1 -0
  240. package/dist/components/BottomSheet/BottomSheet.d.ts +10 -0
  241. package/dist/components/BottomSheet/BottomSheet.types.d.ts +35 -0
  242. package/dist/components/BottomSheet/BottomSheet.variants.d.ts +10 -0
  243. package/dist/components/BottomSheet/BottomSheetFooter/BottomSheetFooter.d.ts +4 -0
  244. package/dist/components/BottomSheet/BottomSheetFooter/BottomSheetFooter.types.d.ts +19 -0
  245. package/dist/components/BottomSheet/BottomSheetHeader/BottomSheetHeader.d.ts +6 -0
  246. package/dist/components/BottomSheet/BottomSheetHeader/BottomSheetHeader.types.d.ts +14 -0
  247. package/dist/components/BottomSheet/index.d.ts +5 -0
  248. package/dist/components/BottomSheet/useBottomSheet/useBottomSheet.d.ts +28 -0
  249. package/dist/components/Button/Button.d.ts +31 -0
  250. package/dist/components/Button/Button.types.d.ts +112 -0
  251. package/dist/components/Button/Button.variants.d.ts +25 -0
  252. package/dist/components/Button/index.d.ts +1 -0
  253. package/dist/components/Card/Card.d.ts +23 -0
  254. package/dist/components/Card/Card.types.d.ts +60 -0
  255. package/dist/components/Card/Card.variants.d.ts +18 -0
  256. package/dist/components/Card/TimelineOverlay.d.ts +11 -0
  257. package/dist/components/Card/index.d.ts +1 -0
  258. package/dist/components/Carousel/Carousel.d.ts +8 -0
  259. package/dist/components/Carousel/Carousel.types.d.ts +47 -0
  260. package/dist/components/Carousel/CarouselHeader/CarouselHeader.d.ts +8 -0
  261. package/dist/components/Carousel/CarouselHeader/CarouselHeader.types.d.ts +24 -0
  262. package/dist/components/Carousel/index.d.ts +4 -0
  263. package/dist/components/Carousel/useDragToScroll.d.ts +14 -0
  264. package/dist/components/Chip/Chip.d.ts +16 -0
  265. package/dist/components/Chip/Chip.types.d.ts +44 -0
  266. package/dist/components/Chip/Chip.variants.d.ts +20 -0
  267. package/dist/components/Chip/index.d.ts +1 -0
  268. package/dist/components/Episode/Episode.d.ts +4 -0
  269. package/dist/components/Episode/Episode.types.d.ts +24 -0
  270. package/dist/components/Episode/index.d.ts +1 -0
  271. package/dist/components/FeaturedCarousel/FeaturedCarousel.d.ts +8 -0
  272. package/dist/components/FeaturedCarousel/FeaturedCarousel.types.d.ts +43 -0
  273. package/dist/components/FeaturedCarousel/Slide/Slide.d.ts +4 -0
  274. package/dist/components/FeaturedCarousel/Slide/Slide.types.d.ts +10 -0
  275. package/dist/components/FeaturedCarousel/SlideDots/SlideDots.d.ts +4 -0
  276. package/dist/components/FeaturedCarousel/SlideDots/SlideDots.types.d.ts +11 -0
  277. package/dist/components/FeaturedCarousel/index.d.ts +1 -0
  278. package/dist/components/Footer/Footer.d.ts +12 -0
  279. package/dist/components/Footer/Footer.socials.d.ts +11 -0
  280. package/dist/components/Footer/Footer.translations.d.ts +24 -0
  281. package/dist/components/Footer/Footer.types.d.ts +5 -0
  282. package/dist/components/Footer/index.d.ts +1 -0
  283. package/dist/components/FormInputs/Checkbox/Checkbox.d.ts +22 -0
  284. package/dist/components/FormInputs/Checkbox/Checkbox.types.d.ts +63 -0
  285. package/dist/components/FormInputs/Checkbox/Checkbox.variants.d.ts +19 -0
  286. package/dist/components/FormInputs/Checkbox/index.d.ts +1 -0
  287. package/dist/components/FormInputs/Dropdown/Dropdown.d.ts +24 -0
  288. package/dist/components/FormInputs/Dropdown/Dropdown.types.d.ts +104 -0
  289. package/dist/components/FormInputs/Dropdown/Dropdown.variants.d.ts +39 -0
  290. package/dist/components/FormInputs/Dropdown/index.d.ts +1 -0
  291. package/dist/components/FormInputs/OtpInput/OtpInput.d.ts +22 -0
  292. package/dist/components/FormInputs/OtpInput/OtpInput.types.d.ts +66 -0
  293. package/dist/components/FormInputs/OtpInput/OtpInput.variants.d.ts +24 -0
  294. package/dist/components/FormInputs/OtpInput/index.d.ts +1 -0
  295. package/dist/components/FormInputs/Radio/Radio.d.ts +25 -0
  296. package/dist/components/FormInputs/Radio/Radio.types.d.ts +58 -0
  297. package/dist/components/FormInputs/Radio/Radio.variants.d.ts +30 -0
  298. package/dist/components/FormInputs/Radio/index.d.ts +1 -0
  299. package/dist/components/FormInputs/Switch/Switch.d.ts +24 -0
  300. package/dist/components/FormInputs/Switch/Switch.types.d.ts +58 -0
  301. package/dist/components/FormInputs/Switch/Switch.variants.d.ts +57 -0
  302. package/dist/components/FormInputs/Switch/index.d.ts +1 -0
  303. package/dist/components/FormInputs/TextArea/TextArea.d.ts +24 -0
  304. package/dist/components/FormInputs/TextArea/TextArea.types.d.ts +77 -0
  305. package/dist/components/FormInputs/TextArea/TextArea.variants.d.ts +25 -0
  306. package/dist/components/FormInputs/TextArea/index.d.ts +1 -0
  307. package/dist/components/FormInputs/TextField/TextField.d.ts +24 -0
  308. package/dist/components/FormInputs/TextField/TextField.types.d.ts +85 -0
  309. package/dist/components/FormInputs/TextField/TextField.variants.d.ts +23 -0
  310. package/dist/components/FormInputs/TextField/index.d.ts +1 -0
  311. package/dist/components/IconDisplay/IconDisplay.d.ts +2 -0
  312. package/dist/components/IconDisplay/IconDisplay.types.d.ts +30 -0
  313. package/dist/components/IconDisplay/index.d.ts +1 -0
  314. package/dist/components/Link/Link.d.ts +17 -0
  315. package/dist/components/Link/Link.types.d.ts +68 -0
  316. package/dist/components/Link/Link.variants.d.ts +18 -0
  317. package/dist/components/Link/index.d.ts +1 -0
  318. package/dist/components/List/List.d.ts +14 -0
  319. package/dist/components/List/List.types.d.ts +17 -0
  320. package/dist/components/List/List.variants.d.ts +22 -0
  321. package/dist/components/List/index.d.ts +2 -0
  322. package/dist/components/ListItem/ListItem.d.ts +13 -0
  323. package/dist/components/ListItem/ListItem.types.d.ts +18 -0
  324. package/dist/components/ListItem/index.d.ts +2 -0
  325. package/dist/components/Logo/Logo.d.ts +15 -0
  326. package/dist/components/Logo/Logo.helpers.d.ts +34 -0
  327. package/dist/components/Logo/Logo.types.d.ts +61 -0
  328. package/dist/components/Logo/Logo.variants.d.ts +17 -0
  329. package/dist/components/Logo/brands/AlRahma.d.ts +3 -0
  330. package/dist/components/Logo/brands/AlSharqiya.d.ts +3 -0
  331. package/dist/components/Logo/brands/Asiacell.d.ts +3 -0
  332. package/dist/components/Logo/brands/FiberX.d.ts +3 -0
  333. package/dist/components/Logo/brands/Laliga.d.ts +3 -0
  334. package/dist/components/Logo/brands/Osn.d.ts +3 -0
  335. package/dist/components/Logo/brands/Rotana.d.ts +3 -0
  336. package/dist/components/Logo/brands/Roya.d.ts +3 -0
  337. package/dist/components/Logo/brands/Starzplay.d.ts +3 -0
  338. package/dist/components/Logo/brands/StarzplaySports.d.ts +3 -0
  339. package/dist/components/Logo/brands/Tod.d.ts +3 -0
  340. package/dist/components/Logo/brands/Wide.d.ts +3 -0
  341. package/dist/components/Logo/brands/Zain.d.ts +3 -0
  342. package/dist/components/Logo/brands/_1001.d.ts +3 -0
  343. package/dist/components/Logo/brands/_1001Premium.d.ts +3 -0
  344. package/dist/components/Logo/index.d.ts +1 -0
  345. package/dist/components/Modal/Modal.d.ts +29 -0
  346. package/dist/components/Modal/Modal.types.d.ts +104 -0
  347. package/dist/components/Modal/Modal.variants.d.ts +29 -0
  348. package/dist/components/Modal/index.d.ts +1 -0
  349. package/dist/components/NavigationBar/DesktopBar/DesktopBar.d.ts +4 -0
  350. package/dist/components/NavigationBar/DesktopBar/DesktopBar.types.d.ts +4 -0
  351. package/dist/components/NavigationBar/DesktopBar/DesktopBar.variants.d.ts +10 -0
  352. package/dist/components/NavigationBar/LanguageSwitcher/LanguageSwitcher.d.ts +4 -0
  353. package/dist/components/NavigationBar/LanguageSwitcher/LanguageSwitcher.types.d.ts +11 -0
  354. package/dist/components/NavigationBar/LanguageSwitcher/LanguageSwitcher.utils.d.ts +4 -0
  355. package/dist/components/NavigationBar/LoginOrAvatar/LoginOrAvatar.d.ts +4 -0
  356. package/dist/components/NavigationBar/LoginOrAvatar/LoginOrAvatar.types.d.ts +10 -0
  357. package/dist/components/NavigationBar/MobileBar/MobileBar.d.ts +4 -0
  358. package/dist/components/NavigationBar/MobileBar/MobileBar.types.d.ts +6 -0
  359. package/dist/components/NavigationBar/MobileBar/MobileBar.variants.d.ts +10 -0
  360. package/dist/components/NavigationBar/NavigationBar/NavigationBar.d.ts +4 -0
  361. package/dist/components/NavigationBar/NavigationBar/NavigationBar.demo.d.ts +8 -0
  362. package/dist/components/NavigationBar/NavigationBar/NavigationBar.types.d.ts +54 -0
  363. package/dist/components/NavigationBar/NavigationBar/NavigationBar.utils.d.ts +5 -0
  364. package/dist/components/NavigationBar/NavigationDrawer/NavigationDrawer.d.ts +4 -0
  365. package/dist/components/NavigationBar/NavigationDrawer/NavigationDrawer.types.d.ts +8 -0
  366. package/dist/components/NavigationBar/NavigationDrawer/NavigationDrawer.variants.d.ts +37 -0
  367. package/dist/components/NavigationBar/TabletBar/TabletBar.d.ts +4 -0
  368. package/dist/components/NavigationBar/TabletBar/TabletBar.types.d.ts +6 -0
  369. package/dist/components/NavigationBar/TabletBar/TabletBar.variants.d.ts +10 -0
  370. package/dist/components/NavigationBar/index.d.ts +2 -0
  371. package/dist/components/Tab/TabButton/TabButton.d.ts +23 -0
  372. package/dist/components/Tab/TabButton/TabButton.types.d.ts +57 -0
  373. package/dist/components/Tab/TabButton/TabButton.variants.d.ts +24 -0
  374. package/dist/components/Tab/TabGroup/TabGroup.d.ts +23 -0
  375. package/dist/components/Tab/TabGroup/TabGroup.types.d.ts +52 -0
  376. package/dist/components/Tab/TabGroup/TabGroup.variants.d.ts +13 -0
  377. package/dist/components/Tab/index.d.ts +2 -0
  378. package/dist/components/Tag/Tag.d.ts +17 -0
  379. package/dist/components/Tag/Tag.types.d.ts +76 -0
  380. package/dist/components/Tag/Tag.variants.d.ts +26 -0
  381. package/dist/components/Tag/index.d.ts +1 -0
  382. package/dist/components/Toast/Toast.d.ts +16 -0
  383. package/dist/components/Toast/Toast.types.d.ts +56 -0
  384. package/dist/components/Toast/Toast.variants.d.ts +18 -0
  385. package/dist/components/Toast/index.d.ts +1 -0
  386. package/dist/components/VideoPlayer/PlaybackActions/PlaybackActions.d.ts +3 -0
  387. package/dist/components/VideoPlayer/PlaybackActions/PlaybackActions.types.d.ts +16 -0
  388. package/dist/components/VideoPlayer/PlayerUI/PlayerUI.d.ts +7 -0
  389. package/dist/components/VideoPlayer/PlayerUI/PlayerUI.types.d.ts +30 -0
  390. package/dist/components/VideoPlayer/PlayerUI/PlayerUI.utils.d.ts +5 -0
  391. package/dist/components/VideoPlayer/ProgressBar/ProgressBar.d.ts +3 -0
  392. package/dist/components/VideoPlayer/ProgressBar/ProgressBar.types.d.ts +22 -0
  393. package/dist/components/VideoPlayer/ProgressBar/ProgressBar.variants.d.ts +6 -0
  394. package/dist/components/VideoPlayer/ScrollingCard/ScrollingCard.d.ts +3 -0
  395. package/dist/components/VideoPlayer/ScrollingCard/ScrollingCard.types.d.ts +11 -0
  396. package/dist/components/VideoPlayer/TrackFrame/TrackFrame.d.ts +6 -0
  397. package/dist/components/VideoPlayer/TrackFrame/TrackFrame.types.d.ts +167 -0
  398. package/dist/components/VideoPlayer/TrackFrame/components/AdInfoRow.d.ts +7 -0
  399. package/dist/components/VideoPlayer/TrackFrame/components/DefaultInfoRow.d.ts +15 -0
  400. package/dist/components/VideoPlayer/TrackFrame/components/PlayerLabel/PlayerLabel.d.ts +3 -0
  401. package/dist/components/VideoPlayer/TrackFrame/components/PlayerLabel/PlayerLabel.types.d.ts +7 -0
  402. package/dist/components/VideoPlayer/TrackFrame/components/PlayerMenuPanel/PlayerMenuPanel.d.ts +3 -0
  403. package/dist/components/VideoPlayer/TrackFrame/components/PlayerMenuPanel/PlayerMenuPanel.types.d.ts +6 -0
  404. package/dist/components/VideoPlayer/TrackFrame/components/PlayerSideActions/MenusCluster.d.ts +11 -0
  405. package/dist/components/VideoPlayer/TrackFrame/components/PlayerSideActions/PlayerSideActions.d.ts +14 -0
  406. package/dist/components/VideoPlayer/TrackFrame/components/PlayerSideActions/TextActionsCluster.d.ts +7 -0
  407. package/dist/components/VideoPlayer/TrackFrame/components/PlayerSideActions/settings/SettingsAutoPlayRow.d.ts +6 -0
  408. package/dist/components/VideoPlayer/TrackFrame/components/PlayerSideActions/settings/SettingsListGroupRow.d.ts +17 -0
  409. package/dist/components/VideoPlayer/TrackFrame/components/PlayerSideActions/settings/SettingsMenuButton.d.ts +9 -0
  410. package/dist/components/VideoPlayer/TrackFrame/components/PlayerSideActions/settings/SettingsMenuRows.d.ts +8 -0
  411. package/dist/components/VideoPlayer/TrackFrame/components/PlayerSideActions/share/ShareMenuButton.d.ts +9 -0
  412. package/dist/components/VideoPlayer/TrackFrame/components/PlayerSideActions/share/ShareMenuRows.d.ts +8 -0
  413. package/dist/components/VideoPlayer/TrackFrame/components/PlayerSideActions/shared/IconButton.d.ts +8 -0
  414. package/dist/components/VideoPlayer/TrackFrame/components/PlayerSideActions/shared/MenuIconButton.d.ts +13 -0
  415. package/dist/components/VideoPlayer/TrackFrame/components/PlayerSideActions/shared/MenuListRow.d.ts +9 -0
  416. package/dist/components/VideoPlayer/TrackFrame/components/PlayerSideActions/shared/menuRowClass.d.ts +2 -0
  417. package/dist/components/VideoPlayer/TrackFrame/components/PlayerSideActions/subtitles/SubtitlesMenuButton.d.ts +9 -0
  418. package/dist/components/VideoPlayer/TrackFrame/components/PlayerSideActions/subtitles/SubtitlesMenuRows.d.ts +8 -0
  419. package/dist/components/VideoPlayer/TrackFrame/components/PlayerSideActions/volume/VolumeButton.d.ts +6 -0
  420. package/dist/components/VideoPlayer/TrackFrame/components/Track/Track.d.ts +3 -0
  421. package/dist/components/VideoPlayer/TrackFrame/components/Track/Track.types.d.ts +15 -0
  422. package/dist/components/VideoPlayer/TrackFrame/components/VolumeSlider/VolumeSlider.d.ts +3 -0
  423. package/dist/components/VideoPlayer/TrackFrame/components/VolumeSlider/VolumeSlider.types.d.ts +15 -0
  424. package/dist/components/VideoPlayer/VideoPlayer/VideoPlayer.d.ts +7 -0
  425. package/dist/components/VideoPlayer/VideoPlayer/VideoPlayer.types.d.ts +15 -0
  426. package/dist/components/VideoPlayer/VideoPlayer.constants.d.ts +3 -0
  427. package/dist/components/VideoPlayer/formatPlayerTime.d.ts +8 -0
  428. package/dist/components/VideoPlayer/hooks/useHudVisibility/useHudVisibility.d.ts +3 -0
  429. package/dist/components/VideoPlayer/hooks/useHudVisibility/useHudVisibility.types.d.ts +17 -0
  430. package/dist/components/VideoPlayer/hooks/useMenuToggle/useMenuToggle.d.ts +8 -0
  431. package/dist/components/VideoPlayer/hooks/useMenuToggle/useMenuToggle.types.d.ts +1 -0
  432. package/dist/components/VideoPlayer/hooks/useMergedRef/useMergedRef.d.ts +3 -0
  433. package/dist/components/VideoPlayer/hooks/useNextEpisodeCountdown/useNextEpisodeCountdown.d.ts +3 -0
  434. package/dist/components/VideoPlayer/hooks/usePlaybackPulse/usePlaybackPulse.d.ts +3 -0
  435. package/dist/components/VideoPlayer/hooks/usePlaybackPulse/usePlaybackPulse.types.d.ts +11 -0
  436. package/dist/components/VideoPlayer/hooks/usePlayerShortcuts/usePlayerShortcuts.d.ts +6 -0
  437. package/dist/components/VideoPlayer/hooks/usePlayerShortcuts/usePlayerShortcuts.types.d.ts +23 -0
  438. package/dist/components/VideoPlayer/index.d.ts +9 -0
  439. package/dist/components/VideoPlayer/playerStoryFixtures.d.ts +36 -0
  440. package/dist/fonts/Inter/InterDisplay-Light.woff2 +0 -0
  441. package/dist/fonts/Inter/InterDisplay-Medium.woff2 +0 -0
  442. package/dist/fonts/Inter/InterDisplay-Regular.woff2 +0 -0
  443. package/dist/fonts/Inter/InterDisplay-SemiBold.woff2 +0 -0
  444. package/dist/fonts/NotoKufiArabic-VariableFont.woff2 +0 -0
  445. package/dist/hooks/useDragGesture/useDragGesture.d.ts +9 -0
  446. package/dist/hooks/useDragGesture/useDragGesture.types.d.ts +15 -0
  447. package/dist/index.cjs +2 -0
  448. package/dist/index.cjs.map +1 -0
  449. package/dist/index.d.ts +29 -0
  450. package/dist/index.js +6725 -0
  451. package/dist/index.js.map +1 -0
  452. package/dist/lib/utils/cn.d.ts +9 -0
  453. package/dist/lib/utils/isTypingTarget.d.ts +7 -0
  454. package/dist/lib/utils/language.d.ts +4 -0
  455. package/dist/library.css +489 -0
  456. package/dist/styles/plugins/borders-plugin.d.ts +24 -0
  457. package/dist/styles/plugins/colors-plugin.d.ts +16 -0
  458. package/dist/styles/plugins/index.d.ts +38 -0
  459. package/dist/styles/plugins/spacing-plugin.d.ts +23 -0
  460. package/dist/styles/plugins/typography-plugin.d.ts +24 -0
  461. package/dist/tailwind-plugin.cjs +2 -0
  462. package/dist/tailwind-plugin.cjs.map +1 -0
  463. package/dist/tailwind-plugin.d.ts +6 -0
  464. package/dist/tailwind-plugin.js +713 -0
  465. package/dist/tailwind-plugin.js.map +1 -0
  466. package/package.json +94 -0
@@ -0,0 +1,68 @@
1
+ import { AnchorHTMLAttributes } from 'react';
2
+ /**
3
+ * Link type — determines colour scheme
4
+ */
5
+ export type LinkType = 'brand' | 'neutral';
6
+ /**
7
+ * Link size — determines typography and icon dimensions
8
+ */
9
+ export type LinkSize = 'large' | 'medium' | 'small';
10
+ /**
11
+ * Visual interaction state — used by Storybook/Figma playground
12
+ * to force hover/pressed appearance for design audits.
13
+ * Real interaction states are handled by CVA pseudo-classes (hover:, active:).
14
+ */
15
+ export type LinkState = 'default' | 'hover' | 'pressed';
16
+ /**
17
+ * Props for the Link component
18
+ *
19
+ * Extends native `<a>` attributes so consumers can pass `href`, `target`, `data-*`, etc.
20
+ */
21
+ export interface LinkProps extends AnchorHTMLAttributes<HTMLAnchorElement> {
22
+ /**
23
+ * Link type — brand (green) or neutral (gray)
24
+ * @default 'brand'
25
+ */
26
+ type?: LinkType;
27
+ /**
28
+ * Link size — controls typography and icon size
29
+ * @default 'medium'
30
+ */
31
+ size?: LinkSize;
32
+ /**
33
+ * Uses semibold font weight
34
+ * @default true
35
+ */
36
+ isBold?: boolean;
37
+ /**
38
+ * Renders in a disabled/non-interactive state
39
+ * @default false
40
+ */
41
+ isDisabled?: boolean;
42
+ /**
43
+ * Shows the link-outline icon after the label
44
+ * @default true
45
+ */
46
+ icon?: boolean;
47
+ /**
48
+ * Uses Arabic font and RTL layout
49
+ * @default false
50
+ */
51
+ isArabic?: boolean;
52
+ /**
53
+ * Label text displayed in the link
54
+ * @default 'Link'
55
+ */
56
+ label?: string;
57
+ /**
58
+ * Storybook-only: forces a visual interaction state for design audits.
59
+ * @default 'default'
60
+ */
61
+ state?: LinkState;
62
+ /**
63
+ * Storybook-only: forces the focus ring visible.
64
+ * Real focus is handled by focus-visible CSS.
65
+ * @default false
66
+ */
67
+ isFocused?: boolean;
68
+ }
@@ -0,0 +1,18 @@
1
+ import { VariantProps } from 'class-variance-authority';
2
+ /**
3
+ * Link container variants using CVA
4
+ *
5
+ * - Layout: inline-flex, items-center
6
+ * - Gap: large = 4px (space050), medium/small = 2px (space025)
7
+ * - Rounded: 8px (radius100)
8
+ *
9
+ * Type determines colour (via link-manara-* composite utilities):
10
+ * - brand: verdant-500 base, verdant-600 hover, verdant-700 active
11
+ * - neutral: navy-50 base, navy-30 hover, navy-100 active
12
+ */
13
+ export declare const linkVariants: (props?: ({
14
+ type?: "brand" | "neutral" | null | undefined;
15
+ size?: "small" | "medium" | "large" | null | undefined;
16
+ isDisabled?: boolean | null | undefined;
17
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
18
+ export type LinkVariantsProps = VariantProps<typeof linkVariants>;
@@ -0,0 +1 @@
1
+ export { Link } from './Link';
@@ -0,0 +1,14 @@
1
+ import { FC } from 'react';
2
+ import { ListProps } from './List.types';
3
+ /**
4
+ * List (also called "Menu" in Figma) — 48h navigation row.
5
+ *
6
+ * A single row: icon + label + chevron. Stack multiple `<List>` items
7
+ * inside a `<nav>` to build a sidebar/column menu.
8
+ *
9
+ * Not to be confused with `<ListItem>` — a separate 72h row for
10
+ * settings/info lists (subtitle + title + trailing slot).
11
+ *
12
+ * Renders `<a>` when `href` is provided, otherwise `<button>`.
13
+ */
14
+ export declare const List: FC<ListProps>;
@@ -0,0 +1,17 @@
1
+ import { ButtonHTMLAttributes, ReactNode } from 'react';
2
+ export interface ListProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'children' | 'type'> {
3
+ /** Visible row label. Rendered with Arabic font when `selectedLanguage` is `ar`. */
4
+ label: string;
5
+ /** Optional leading icon — rendered inside a 24px slot. Inherits `currentColor`. */
6
+ icon?: ReactNode;
7
+ /** Show the trailing chevron (angle-right LTR / angle-left RTL) @default true */
8
+ showChevron?: boolean;
9
+ /** Currently selected row (green text + tinted surface) */
10
+ isSelected?: boolean;
11
+ /** Disabled row — no interactions, dimmed text */
12
+ isDisabled?: boolean;
13
+ /** Language key — drives RTL direction and Arabic font @default 'en' */
14
+ selectedLanguage?: string;
15
+ /** If provided, renders as an `<a>` instead of `<button>` */
16
+ href?: string;
17
+ }
@@ -0,0 +1,22 @@
1
+ import { VariantProps } from 'class-variance-authority';
2
+ /**
3
+ * List variants — Manara Design System (also called "Menu" in Figma)
4
+ *
5
+ * A single-sized row (48h × fluid width) with three interactive states
6
+ * handled via CSS pseudo-classes (`hover:`, `active:`, `focus-visible:`)
7
+ * plus two explicit flags: `isSelected` and `isDisabled`.
8
+ *
9
+ * Background per state:
10
+ * default → transparent
11
+ * hover → bg-manara-secondary (navy-750)
12
+ * pressed → surface-manara-pressed (navy-600)
13
+ * selected → surface-manara-primary (navy-700) + text-manara-selected
14
+ * disabled → transparent + text-manara-disabled
15
+ *
16
+ * Focus ring is a 2px inset-[-2px] outline with radius 14 so it sits
17
+ * cleanly around the 12-radius container (matches Figma spec).
18
+ */
19
+ export declare const listVariants: (props?: ({
20
+ state?: "default" | "disabled" | "selected" | null | undefined;
21
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
22
+ export type ListVariantProps = VariantProps<typeof listVariants>;
@@ -0,0 +1,2 @@
1
+ export { List } from './List';
2
+ export type { ListProps } from './List.types';
@@ -0,0 +1,13 @@
1
+ import { FC } from 'react';
2
+ import { ListItemProps } from './ListItem.types';
3
+ /**
4
+ * ListItem (also called "List Item" / "Menu Item" in Figma) — 72h general-purpose row.
5
+ *
6
+ * Subtitle + title with composition slots: `leading` (icon, payment card)
7
+ * and `trailing` (`<Button>`, `<Switch>`, text value). When `infoText` is
8
+ * set the row switches to a stacked layout with info text underneath.
9
+ *
10
+ * Not to be confused with `<List>` — a separate 48h navigation row
11
+ * (icon + label + chevron) used for sidebar/column menus.
12
+ */
13
+ export declare const ListItem: FC<ListItemProps>;
@@ -0,0 +1,18 @@
1
+ import { HTMLAttributes, ReactNode } from 'react';
2
+ export interface ListItemProps extends Omit<HTMLAttributes<HTMLDivElement>, 'children' | 'title'> {
3
+ /** Primary title line — body/default/semibold, text-primary */
4
+ title: string;
5
+ /** Optional subtitle shown above the title — body/small/medium, text-tertiary */
6
+ subtitle?: string;
7
+ /**
8
+ * Optional info text rendered below the main row. When set, the root
9
+ * switches from a single row (72h) to a stacked column layout.
10
+ */
11
+ infoText?: string;
12
+ /** Optional leading visual next to the title (e.g. payment method card, icon) */
13
+ leading?: ReactNode;
14
+ /** Optional trailing node — pass <Button />, <Switch />, or a plain value span */
15
+ trailing?: ReactNode;
16
+ /** Language key — drives RTL direction and Arabic font @default 'en' */
17
+ selectedLanguage?: string;
18
+ }
@@ -0,0 +1,2 @@
1
+ export { ListItem } from './ListItem';
2
+ export type { ListItemProps } from './ListItem.types';
@@ -0,0 +1,15 @@
1
+ import { FC } from 'react';
2
+ import { LogoProps } from './Logo.types';
3
+ /**
4
+ * Logo: bare wordmark by default (`variant='wordmark'`); pass `variant='tile'`
5
+ * for the full branded card (gradient/colored bg + border + wordmark).
6
+ *
7
+ * @example
8
+ * ```tsx
9
+ * <Logo /> // bare 1001 wordmark
10
+ * <Logo brand='osn' variant='tile' size='48' /> // OSN+ tile at 48px tall
11
+ * <Logo brand='1001' isPremium variant='tile' /> // 1001 Premium tile
12
+ * <Logo appearance='neutral' /> // wordmark recoloured white
13
+ * ```
14
+ */
15
+ export declare const Logo: FC<LogoProps>;
@@ -0,0 +1,34 @@
1
+ import { FC, SVGProps } from 'react';
2
+ import { LogoBrand, LogoVariant } from './Logo.types';
3
+ export type BrandSvg = FC<SVGProps<SVGSVGElement>>;
4
+ type BrandEntry = {
5
+ wordmark: BrandSvg;
6
+ tile: BrandSvg;
7
+ /** Optional premium variants — currently only `1001` has them. */
8
+ premium?: {
9
+ wordmark: BrandSvg;
10
+ tile: BrandSvg;
11
+ };
12
+ };
13
+ /**
14
+ * Brand → SVG registry — single source of truth for what each `brand` renders.
15
+ *
16
+ * Architecture:
17
+ * - Raw SVG assets live in `@/assets/logos/` and are the bare wordmark/icon.
18
+ * These are the canonical brand marks.
19
+ * - Composite tiles live in `./brands/` and wrap a raw asset with the branded
20
+ * background/border seen in Figma (circular gradient, dark square, etc.).
21
+ * `brands/` is strictly a presentation layer — not the source of truth.
22
+ *
23
+ * Each entry exposes both `wordmark` and `tile`. The Logo component picks one
24
+ * based on the consumer's `variant` prop. Brands that ship a single form
25
+ * (self-contained NBTel/Supercell/etc., or wordmark-only LBC) use `same()`
26
+ * — both variants render the same SVG.
27
+ *
28
+ * Every value must render `<svg>` as its root (FC<SVGProps<SVGSVGElement>>).
29
+ */
30
+ export declare const BRAND_MAP: Record<LogoBrand, BrandEntry>;
31
+ /** Display names for UI (Storybook controls, matrix captions, etc.). Matches Figma brand casing. */
32
+ export declare const BRAND_LABELS: Record<LogoBrand, string>;
33
+ export declare const resolveBrandSvg: (brand: LogoBrand, isPremium: boolean, variant: LogoVariant) => BrandSvg;
34
+ export {};
@@ -0,0 +1,61 @@
1
+ import { HTMLAttributes } from 'react';
2
+ /**
3
+ * Brand identity to render. Each brand maps to an SVG in `src/assets/logos/`.
4
+ *
5
+ * To add a new brand: create the SVG in `src/assets/logos/`, then add the key
6
+ * here and the component reference in `Logo.tsx`'s `BRAND_MAP`.
7
+ */
8
+ export type LogoBrand = '1001' | 'osn' | 'starzplay' | 'starzplay-sports' | 'tod' | 'lbc' | 'rotana' | 'sharqiya' | 'laliga' | 'wide' | 'zain' | 'asiacell' | 'nbtel' | 'al-jazeera' | 'fiberx' | 'supercell' | 'yango-play' | 'roya' | 'al-rahma';
9
+ /**
10
+ * Logo height in pixels. Width auto-scales to preserve the brand SVG's
11
+ * intrinsic aspect ratio.
12
+ */
13
+ export type LogoSize = '16' | '24' | '32' | '48' | '64' | '80' | '120';
14
+ /**
15
+ * - `wordmark` → the bare brand mark (e.g. green "1001" text) — for nav bars,
16
+ * footers, embedded chrome.
17
+ * - `tile` → the branded card (gradient/colored background + border +
18
+ * wordmark) — for brand galleries, picker tiles, marketing surfaces.
19
+ *
20
+ * Brands that only ship one form (e.g. self-contained tiles like NBTel, or
21
+ * wordmark-only brands like LBC) render the same SVG for both variants.
22
+ */
23
+ export type LogoVariant = 'wordmark' | 'tile';
24
+ /**
25
+ * Color treatment — applied via CSS `color` on the wrapper; the brand SVG
26
+ * inherits via `fill='currentColor'`.
27
+ *
28
+ * - `brand` → each brand's natural colors (no override)
29
+ * - `neutral` → text/primary (white, #ebebed)
30
+ * - `transparent` → text/tertiary (dim grey, #757683)
31
+ *
32
+ * Note: multi-color brand SVGs (OSN, TOD, etc.) have hardcoded path colors
33
+ * that ignore `fill`. For those, `neutral`/`transparent` will recolour only
34
+ * the paths authored with `fill={props.fill || ...}` and leave the others.
35
+ */
36
+ export type LogoAppearance = 'brand' | 'neutral' | 'transparent';
37
+ /**
38
+ * Props for the Logo component.
39
+ *
40
+ * Extends native `<span>` attributes so consumers can pass `data-*`,
41
+ * `aria-*`, `id`, layout classes, etc.
42
+ */
43
+ export interface LogoProps extends Omit<HTMLAttributes<HTMLSpanElement>, 'children'> {
44
+ /** Brand identity to render. @default '1001' */
45
+ brand?: LogoBrand;
46
+ /** Logo height in pixels. @default '32' */
47
+ size?: LogoSize;
48
+ /**
49
+ * Render the bare wordmark or the full branded tile.
50
+ * @default 'wordmark'
51
+ */
52
+ variant?: LogoVariant;
53
+ /** Color treatment. @default 'brand' */
54
+ appearance?: LogoAppearance;
55
+ /**
56
+ * When true and the brand has a premium variant, render that instead.
57
+ * Currently only `1001` has a premium variant; silently ignored for others.
58
+ * @default false
59
+ */
60
+ isPremium?: boolean;
61
+ }
@@ -0,0 +1,17 @@
1
+ import { VariantProps } from 'class-variance-authority';
2
+ /**
3
+ * Logo wrapper variants.
4
+ *
5
+ * Sizing happens via inline `style` (height in px) on the wrapper plus inline
6
+ * style on the inner SVG (`height: 100%; width: auto`) — needed because each
7
+ * brand SVG has hardcoded `width`/`height` HTML attributes that would
8
+ * otherwise win over Tailwind classes.
9
+ *
10
+ * The `appearance` variant sets `color` on the wrapper; the brand SVG
11
+ * inherits via `fill='currentColor'` (passed by the Logo component when
12
+ * appearance is not 'brand').
13
+ */
14
+ export declare const logoVariants: (props?: ({
15
+ appearance?: "brand" | "neutral" | "transparent" | null | undefined;
16
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
17
+ export type LogoVariantsProps = VariantProps<typeof logoVariants>;
@@ -0,0 +1,3 @@
1
+ import { SVGProps } from 'react';
2
+ /** Al-rahma brand tile: 1:1 circular purple gradient + antenna PNG. Figma renders at 10% opacity (intentionally dim). */
3
+ export declare const AlRahma: (props: SVGProps<SVGSVGElement>) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,3 @@
1
+ import { SVGProps } from 'react';
2
+ /** Al Sharqia brand tile: 1:1 dark maroon rounded-square + red wordmark. `fill` recolours the wordmark only. */
3
+ export declare const AlSharqiya: (props: SVGProps<SVGSVGElement>) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,3 @@
1
+ import { SVGProps } from 'react';
2
+ /** Asiacell brand tile: 1:1 circular red radial gradient + white wordmark. `fill` recolours the wordmark only. */
3
+ export declare const Asiacell: (props: SVGProps<SVGSVGElement>) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,3 @@
1
+ import { SVGProps } from 'react';
2
+ /** FiberX brand tile: 1:1 circular purple gradient + multi-colour wordmark. `fill` recolours the wordmark only. */
3
+ export declare const FiberX: (props: SVGProps<SVGSVGElement>) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,3 @@
1
+ import { SVGProps } from 'react';
2
+ /** LaLiga brand tile: 1:1 dark warm rounded-square + red wordmark. `fill` recolours the wordmark only. */
3
+ export declare const Laliga: (props: SVGProps<SVGSVGElement>) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,3 @@
1
+ import { SVGProps } from 'react';
2
+ /** OSN+ brand tile: 1:1 dark rounded-square + multi-colour wordmark. `fill` recolours the wordmark only. */
3
+ export declare const Osn: (props: SVGProps<SVGSVGElement>) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,3 @@
1
+ import { SVGProps } from 'react';
2
+ /** Rotana brand tile: 1:1 dark green rounded-square + green wordmark. `fill` recolours the wordmark only. */
3
+ export declare const Rotana: (props: SVGProps<SVGSVGElement>) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,3 @@
1
+ import { SVGProps } from 'react';
2
+ /** Roya brand tile: 1:1 dark rounded-square + pink wordmark. `fill` recolours the wordmark only. */
3
+ export declare const Roya: (props: SVGProps<SVGSVGElement>) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,3 @@
1
+ import { SVGProps } from 'react';
2
+ /** Starzplay brand tile: 1:1 dark teal rounded-square + gradient wordmark. `fill` recolours the wordmark only. */
3
+ export declare const Starzplay: (props: SVGProps<SVGSVGElement>) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,3 @@
1
+ import { SVGProps } from 'react';
2
+ /** Starzplay Sports brand tile: 1:1 dark teal rounded-square + sports wordmark. `fill` recolours the wordmark only. */
3
+ export declare const StarzplaySports: (props: SVGProps<SVGSVGElement>) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,3 @@
1
+ import { SVGProps } from 'react';
2
+ /** TOD brand tile: 1:1 dark grey rounded-square + yellow wordmark. `fill` recolours the wordmark only. */
3
+ export declare const Tod: (props: SVGProps<SVGSVGElement>) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,3 @@
1
+ import { SVGProps } from 'react';
2
+ /** Wide brand tile: 1:1 dark olive rounded-square + gold wordmark. `fill` recolours the wordmark only. */
3
+ export declare const Wide: (props: SVGProps<SVGSVGElement>) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,3 @@
1
+ import { SVGProps } from 'react';
2
+ /** Zain brand tile: 1:1 circular gradient + white wordmark. `fill` recolours the wordmark only. */
3
+ export declare const Zain: (props: SVGProps<SVGSVGElement>) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,3 @@
1
+ import { SVGProps } from 'react';
2
+ /** 1001 brand tile: 1:1 navy circle + green wordmark + bottom blue glow. `fill` recolours the wordmark only. */
3
+ export declare const _1001: (props: SVGProps<SVGSVGElement>) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,3 @@
1
+ import { SVGProps } from 'react';
2
+ /** 1001 crown brand tile: 1:1 navy rounded-square + green wordmark with crown. `fill` recolours the wordmark only. */
3
+ export declare const _1001Premium: (props: SVGProps<SVGSVGElement>) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export { Logo } from './Logo';
@@ -0,0 +1,29 @@
1
+ import { ModalProps } from './Modal.types';
2
+ /**
3
+ * Modal Component - Manara Design System
4
+ *
5
+ * A dialog that overlays the interface for critical actions or information.
6
+ * Supports two sizes, Arabic RTL, configurable header/footer, and body content slot.
7
+ *
8
+ * @example
9
+ * ```tsx
10
+ * const [isOpen, setIsOpen] = useState(false);
11
+ *
12
+ * <Modal
13
+ * isOpen={isOpen}
14
+ * onClose={() => setIsOpen(false)}
15
+ * header={{ title: 'Main Title', subtitle: 'Subtitle', closable: true }}
16
+ * footer={{
17
+ * primaryAction: { label: 'Primary', onClick: handlePrimary },
18
+ * secondaryAction: { label: 'Secondary', onClick: handleSecondary },
19
+ * tertiaryAction: { label: 'Tertiary', onClick: handleTertiary },
20
+ * }}
21
+ * >
22
+ * <p>Modal body content goes here.</p>
23
+ * </Modal>
24
+ * ```
25
+ */
26
+ export declare const Modal: {
27
+ ({ isOpen, onClose, size, isArabic, header, children, footer, className, }: ModalProps): import("react/jsx-runtime").JSX.Element | null;
28
+ displayName: string;
29
+ };
@@ -0,0 +1,104 @@
1
+ import { ReactNode } from 'react';
2
+ /**
3
+ * Modal size variants
4
+ */
5
+ export type ModalSize = 'small' | 'large';
6
+ /**
7
+ * Action button configuration for the modal footer
8
+ */
9
+ export interface ModalAction {
10
+ label: ReactNode;
11
+ onClick?: () => void;
12
+ }
13
+ /**
14
+ * Props for the ModalHeader sub-component
15
+ */
16
+ export interface ModalHeaderProps {
17
+ /**
18
+ * Title text displayed in the modal header
19
+ */
20
+ title: ReactNode;
21
+ /**
22
+ * Optional subtitle displayed below the title
23
+ */
24
+ subtitle?: ReactNode;
25
+ /**
26
+ * Whether the close button is visible in the header
27
+ * @default true
28
+ */
29
+ closable?: boolean;
30
+ /**
31
+ * Whether to render in Arabic mode (RTL)
32
+ * @default false
33
+ */
34
+ isArabic?: boolean;
35
+ /**
36
+ * Additional CSS classes
37
+ */
38
+ className?: string;
39
+ }
40
+ /**
41
+ * Props for the ModalFooter sub-component
42
+ */
43
+ export interface ModalFooterProps {
44
+ /**
45
+ * Primary action button props
46
+ */
47
+ primaryAction: ModalAction;
48
+ /**
49
+ * Optional secondary action button props
50
+ */
51
+ secondaryAction?: ModalAction;
52
+ /**
53
+ * Optional tertiary action button props
54
+ */
55
+ tertiaryAction?: ModalAction;
56
+ /**
57
+ * Whether to render in Arabic mode (RTL)
58
+ * @default false
59
+ */
60
+ isArabic?: boolean;
61
+ /**
62
+ * Additional CSS classes
63
+ */
64
+ className?: string;
65
+ }
66
+ /**
67
+ * Props for the Modal component
68
+ */
69
+ export interface ModalProps {
70
+ /**
71
+ * Whether the modal is open
72
+ */
73
+ isOpen: boolean;
74
+ /**
75
+ * Callback when the modal is requested to close
76
+ */
77
+ onClose: () => void;
78
+ /**
79
+ * Size variant of the modal
80
+ * @default 'small'
81
+ */
82
+ size?: ModalSize;
83
+ /**
84
+ * Whether to render in Arabic mode (RTL)
85
+ * @default false
86
+ */
87
+ isArabic?: boolean;
88
+ /**
89
+ * Header configuration with title, subtitle, and closable
90
+ */
91
+ header: ModalHeaderProps;
92
+ /**
93
+ * Modal body content
94
+ */
95
+ children?: ReactNode;
96
+ /**
97
+ * Footer configuration. Pass `false` to hide the footer entirely.
98
+ */
99
+ footer?: ModalFooterProps | false;
100
+ /**
101
+ * Additional CSS classes for the modal container
102
+ */
103
+ className?: string;
104
+ }
@@ -0,0 +1,29 @@
1
+ import { VariantProps } from 'class-variance-authority';
2
+ /**
3
+ * Modal overlay variants using CVA
4
+ * The full-screen backdrop behind the modal
5
+ */
6
+ export declare const modalOverlayVariants: (props?: import('class-variance-authority/types').ClassProp | undefined) => string;
7
+ /**
8
+ * Modal container variants using CVA
9
+ * The modal box itself
10
+ *
11
+ * Variants:
12
+ * - size: Controls max-width (small: 480px, large: 720px)
13
+ */
14
+ export declare const modalContainerVariants: (props?: ({
15
+ size?: "small" | "large" | null | undefined;
16
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
17
+ /**
18
+ * Modal header variants using CVA
19
+ */
20
+ export declare const modalHeaderVariants: (props?: import('class-variance-authority/types').ClassProp | undefined) => string;
21
+ /**
22
+ * Modal body variants using CVA
23
+ */
24
+ export declare const modalBodyVariants: (props?: import('class-variance-authority/types').ClassProp | undefined) => string;
25
+ /**
26
+ * Modal footer variants using CVA
27
+ */
28
+ export declare const modalFooterVariants: (props?: import('class-variance-authority/types').ClassProp | undefined) => string;
29
+ export type ModalContainerVariantsProps = VariantProps<typeof modalContainerVariants>;
@@ -0,0 +1 @@
1
+ export { Modal } from './Modal';
@@ -0,0 +1,4 @@
1
+ import { FC } from 'react';
2
+ import { DesktopBarProps } from './DesktopBar.types';
3
+ /** Desktop layout (≥ lg). Logo + language left, nav items + search + login/avatar right. */
4
+ export declare const DesktopBar: FC<DesktopBarProps>;
@@ -0,0 +1,4 @@
1
+ import { NavigationBarProps } from '../NavigationBar/NavigationBar.types';
2
+ export type DesktopBarProps = Pick<NavigationBarProps, 'navItems' | 'activeItem' | 'isLoggedIn' | 'isScrolled' | 'isPremium' | 'selectedLanguage' | 'labels' | 'onLanguageChange' | 'onNavItemClick' | 'onSearchClick' | 'onLoginClick' | 'onAvatarClick'> & {
3
+ className?: string;
4
+ };
@@ -0,0 +1,10 @@
1
+ import { VariantProps } from 'class-variance-authority';
2
+ /**
3
+ * Desktop bar layout — flex with logo cluster left, menu cluster right.
4
+ * Background is transparent at idle (overlays page content) and switches
5
+ * to the navbar surface + 16px backdrop blur when scrolled.
6
+ */
7
+ export declare const desktopBarVariants: (props?: ({
8
+ isScrolled?: boolean | null | undefined;
9
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
10
+ export type DesktopBarVariantsProps = VariantProps<typeof desktopBarVariants>;
@@ -0,0 +1,4 @@
1
+ import { FC } from 'react';
2
+ import { LanguageSwitcherProps } from './LanguageSwitcher.types';
3
+ /** Dropdown that switches between en, ar, and ckb. */
4
+ export declare const LanguageSwitcher: FC<LanguageSwitcherProps>;
@@ -0,0 +1,11 @@
1
+ export interface LanguageOption {
2
+ /** Locale code (BCP 47), e.g. 'en', 'ar', 'ckb'. */
3
+ key: string;
4
+ /** Endonym (native-script label). */
5
+ label: string;
6
+ }
7
+ export interface LanguageSwitcherProps {
8
+ /** Locale code of the currently selected language. */
9
+ selectedLanguage?: string;
10
+ onLanguageChange?: (languageKey: string) => void;
11
+ }
@@ -0,0 +1,4 @@
1
+ import { LanguageOption } from './LanguageSwitcher.types';
2
+ /** The three locales the NavigationBar supports. Display labels are the
3
+ * endonym for each language and are intentionally not translated. */
4
+ export declare const SUPPORTED_LANGUAGES: LanguageOption[];
@@ -0,0 +1,4 @@
1
+ import { FC } from 'react';
2
+ import { LoginOrAvatarProps } from './LoginOrAvatar.types';
3
+ /** Auth slot used by DesktopBar + TabletBar: Avatar when logged in, Login button otherwise. */
4
+ export declare const LoginOrAvatar: FC<LoginOrAvatarProps>;
@@ -0,0 +1,10 @@
1
+ export interface LoginOrAvatarProps {
2
+ /** Show Avatar instead of Login button. */
3
+ isLoggedIn?: boolean;
4
+ /** Visible text on the Login button. */
5
+ loginLabel: string;
6
+ /** Whether the Login label should render with the Arabic font. */
7
+ isArabicFont?: boolean;
8
+ onLoginClick?: () => void;
9
+ onAvatarClick?: () => void;
10
+ }
@@ -0,0 +1,4 @@
1
+ import { FC } from 'react';
2
+ import { MobileBarProps } from './MobileBar.types';
3
+ /** Mobile layout (< md). 48px bar with Search · centered Logo · Hamburger. */
4
+ export declare const MobileBar: FC<MobileBarProps>;