@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,14 @@
1
+ import { RefObject } from 'react';
2
+ interface UseDragToScrollOptions {
3
+ /** Disable all drag handling. @default true */
4
+ enabled?: boolean;
5
+ /** Pixel distance past which the trailing click is suppressed. @default 5 */
6
+ clickThreshold?: number;
7
+ }
8
+ /**
9
+ * Mouse drag-to-scroll. Touch falls through to native inertial scroll. Toggles
10
+ * `data-dragging` on the element for styling, and swallows the trailing click
11
+ * past `clickThreshold` so descendants don't activate on drag-release.
12
+ */
13
+ export declare const useDragToScroll: <T extends HTMLElement>({ enabled, clickThreshold, }?: UseDragToScrollOptions) => RefObject<T | null>;
14
+ export {};
@@ -0,0 +1,16 @@
1
+ import { FC } from 'react';
2
+ import { ChipProps } from './Chip.types';
3
+ /**
4
+ * Chip Component — Manara Design System
5
+ *
6
+ * Chips allow users to display information, make choices, filter content,
7
+ * or perform actions. Supports selected state with check icon, and Arabic RTL.
8
+ *
9
+ * @example
10
+ * ```tsx
11
+ * <Chip label="Option" />
12
+ * <Chip label="Selected" isSelected />
13
+ * <Chip label="شريحة" isArabic />
14
+ * ```
15
+ */
16
+ export declare const Chip: FC<ChipProps>;
@@ -0,0 +1,44 @@
1
+ import { ButtonHTMLAttributes } from 'react';
2
+ /**
3
+ * Visual interaction state — used by Storybook/Figma playground
4
+ * to force hover/pressed appearance for design audits.
5
+ * Real interaction states are handled by CVA pseudo-classes (hover:, active:).
6
+ */
7
+ export type ChipState = 'default' | 'hover' | 'pressed';
8
+ /**
9
+ * Props for the Chip component
10
+ *
11
+ * Extends native `<button>` attributes so consumers can pass `data-*`, `aria-*`, etc.
12
+ */
13
+ export interface ChipProps extends ButtonHTMLAttributes<HTMLButtonElement> {
14
+ /**
15
+ * Label text displayed in the chip
16
+ * @default 'Chip'
17
+ */
18
+ label?: string;
19
+ /**
20
+ * Uses Arabic font and RTL layout
21
+ * @default false
22
+ */
23
+ isArabic?: boolean;
24
+ /**
25
+ * Whether the chip is in the selected/active state
26
+ * @default false
27
+ */
28
+ isSelected?: boolean;
29
+ /**
30
+ * Callback fired when the chip is clicked (toggles selection)
31
+ */
32
+ onToggle?: () => void;
33
+ /**
34
+ * Storybook-only: forces a visual interaction state for design audits.
35
+ * @default 'default'
36
+ */
37
+ state?: ChipState;
38
+ /**
39
+ * Storybook-only: forces the focus ring visible.
40
+ * Real focus is handled by focus-visible CSS.
41
+ * @default false
42
+ */
43
+ isFocused?: boolean;
44
+ }
@@ -0,0 +1,20 @@
1
+ import { VariantProps } from 'class-variance-authority';
2
+ /**
3
+ * Chip container variants using CVA
4
+ *
5
+ * - Height: 36px
6
+ * - Padding: px-12px, py-8px
7
+ * - Gap: 6px (between check icon and label)
8
+ * - Border: 2px solid
9
+ * - Radius: 12px
10
+ *
11
+ * isSelected state changes:
12
+ * - Unselected: surface/primary bg, border/primary border, text/secondary text
13
+ * - Selected: surface/brand/primary bg, border/focused border, text/brand/secondary text
14
+ *
15
+ * Hover/Pressed handled via CSS pseudo-classes
16
+ */
17
+ export declare const chipVariants: (props?: ({
18
+ isSelected?: boolean | null | undefined;
19
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
20
+ export type ChipVariantsProps = VariantProps<typeof chipVariants>;
@@ -0,0 +1 @@
1
+ export { Chip } from './Chip';
@@ -0,0 +1,4 @@
1
+ import { FC } from 'react';
2
+ import { EpisodeProps } from './Episode.types';
3
+ /** Episode card — `Card` poster (with optional timeline overlay) plus episode-number / title / description text. */
4
+ export declare const Episode: FC<EpisodeProps>;
@@ -0,0 +1,24 @@
1
+ import { HTMLAttributes } from 'react';
2
+ /** Props for the Episode card. Composes `Card` with an episode text block underneath. */
3
+ export interface EpisodeProps extends HTMLAttributes<HTMLElement> {
4
+ /** Poster image URL — fills the top thumbnail. */
5
+ posterSrc?: string;
6
+ /** Alt text for the poster image. @default '' */
7
+ posterAlt?: string;
8
+ /** Heading line, e.g. 'Episode 1' / 'الحلقة 1'. */
9
+ episodeNumber: string;
10
+ /** Muted secondary line below the heading — typically the actual episode title. */
11
+ episodeTitle: string;
12
+ /** 3-line clamped description paragraph. */
13
+ description: string;
14
+ /** Show the timeline overlay (progress bar + season/episode badge + kebab). @default false */
15
+ showTimeline?: boolean;
16
+ /** Season/episode label inside the timeline overlay (e.g. 'S1 E2', 'موسم 1 حلقة 2'). */
17
+ episodeLabel?: string;
18
+ /** Watch progress 0–100 for the timeline overlay's progress bar. @default 0 */
19
+ progress?: number;
20
+ /** Click handler for the timeline more-menu (kebab) button. */
21
+ onMoreClick?: () => void;
22
+ /** RTL mode — mirrors overlays and applies the Arabic-script font. @default true */
23
+ isArabic?: boolean;
24
+ }
@@ -0,0 +1 @@
1
+ export { Episode } from './Episode';
@@ -0,0 +1,8 @@
1
+ import { FC } from 'react';
2
+ import { FeaturedCarouselProps } from './FeaturedCarousel.types';
3
+ /**
4
+ * FeaturedCarousel — full-bleed hero carousel showcasing one slide at a time.
5
+ * Crossfades between slides via opacity. Supports autoplay, touch/mouse swipe,
6
+ * and click-to-jump pagination dots.
7
+ */
8
+ export declare const FeaturedCarousel: FC<FeaturedCarouselProps>;
@@ -0,0 +1,43 @@
1
+ import { HTMLAttributes, ReactNode } from 'react';
2
+ import { LogoBrand } from '../Logo/Logo.types';
3
+ /** Single hero slide. `primary`/`secondary`/`tertiary` are `ReactNode` slots — pass rendered `<Button>`s so consumers control variant, icons, and handlers. */
4
+ export interface FeaturedCarouselItem {
5
+ /** Stable React `key` (falls back to array index when omitted). */
6
+ id?: string | number;
7
+ /** Poster image URL — landscape, fills the right (LTR) or left (RTL) side. */
8
+ posterSrc: string;
9
+ /** Alt text for the poster image. @default '' (decorative) */
10
+ posterAlt?: string;
11
+ /** Brand mark shown inline with the overline. @default '1001' */
12
+ logoBrand?: LogoBrand;
13
+ /** Short text shown next to the logo (e.g. `'・Live Now'`). */
14
+ overline: string;
15
+ /** Slide headline (Display/Small, 40px). */
16
+ title: string;
17
+ /** Two-line summary (Body/Small, truncates after 2 lines). */
18
+ description: string;
19
+ /** Primary action button — typically a fill `<Button>` with an icon. */
20
+ primary: ReactNode;
21
+ /** Optional outline secondary action button. */
22
+ secondary?: ReactNode;
23
+ /** Optional ghost tertiary action button. */
24
+ tertiary?: ReactNode;
25
+ }
26
+ /**
27
+ * Props for the FeaturedCarousel component.
28
+ *
29
+ * Extends native `<section>` attributes so consumers can pass `id`, `data-*`,
30
+ * `aria-*`, etc.
31
+ */
32
+ export interface FeaturedCarouselProps extends HTMLAttributes<HTMLElement> {
33
+ /** Slides rendered in order. Pagination dots and swipe navigation are derived from this. */
34
+ items: FeaturedCarouselItem[];
35
+ /** Auto-advance to the next slide on an interval. Pauses while the user is hovering or mid-swipe. @default true */
36
+ autoplay?: boolean;
37
+ /** Milliseconds between auto-advances. @default 6000 */
38
+ autoplayInterval?: number;
39
+ /** Pixel distance past which a touch/mouse swipe commits to a slide change. @default 60 */
40
+ swipeThreshold?: number;
41
+ /** RTL mode — flips poster, details, pagination, swipe direction, and fonts. @default true */
42
+ isArabic?: boolean;
43
+ }
@@ -0,0 +1,4 @@
1
+ import { FC } from 'react';
2
+ import { SlideProps } from './Slide.types';
3
+ /** One absolute-positioned hero slide; the parent crossfades by toggling `isActive`. */
4
+ export declare const Slide: FC<SlideProps>;
@@ -0,0 +1,10 @@
1
+ import { FeaturedCarouselItem } from '../FeaturedCarousel.types';
2
+ /** Props for the internal `Slide` sub-component. */
3
+ export interface SlideProps {
4
+ /** The slide payload to render. */
5
+ item: FeaturedCarouselItem;
6
+ /** When true the slide is fully visible and interactive; otherwise it fades to opacity 0 and stops accepting pointer events. */
7
+ isActive: boolean;
8
+ /** RTL mode — flips poster anchor and side-scrim direction. */
9
+ isArabic: boolean;
10
+ }
@@ -0,0 +1,4 @@
1
+ import { FC } from 'react';
2
+ import { SlideDotsProps } from './SlideDots.types';
3
+ /** Pill of dots indicating the active slide; positioned at top-450 on the side opposite the details panel. */
4
+ export declare const SlideDots: FC<SlideDotsProps>;
@@ -0,0 +1,11 @@
1
+ /** Props for the internal `SlideDots` indicator. */
2
+ export interface SlideDotsProps {
3
+ /** Total number of slides — one dot per slide. */
4
+ total: number;
5
+ /** Index of the slide currently shown; that dot renders in the brand colour. */
6
+ activeIndex: number;
7
+ /** RTL mode — flips the pill from the right edge to the left edge. */
8
+ isArabic: boolean;
9
+ /** Called with the dot index when the user clicks a dot. */
10
+ onSelect: (index: number) => void;
11
+ }
@@ -0,0 +1 @@
1
+ export { FeaturedCarousel } from './FeaturedCarousel';
@@ -0,0 +1,12 @@
1
+ import { FC } from 'react';
2
+ import { FooterProps } from './Footer.types';
3
+ /**
4
+ * Footer — Manara Design System
5
+ *
6
+ * Fully self-contained: derives RTL, font, labels, and copyright from
7
+ * `selectedLanguage` and responds to viewport via Tailwind breakpoints:
8
+ * mobile <768px → everything stacked, tight padding
9
+ * tablet md:≥768px → copyright top, links+socials share a row, larger padding
10
+ * desktop lg:≥1024px → single row: copyright ⇄ (links + socials), disclaimer below
11
+ */
12
+ export declare const Footer: FC<FooterProps>;
@@ -0,0 +1,11 @@
1
+ import { FC } from 'react';
2
+ export interface FooterSocialItem {
3
+ key: string;
4
+ Icon: FC<{
5
+ fill?: string;
6
+ className?: string;
7
+ }>;
8
+ label: string;
9
+ href: string;
10
+ }
11
+ export declare const SOCIAL_ITEMS: FooterSocialItem[];
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Footer translations — colocated so the Footer is fully self-contained:
3
+ * parents only pass `selectedLanguage` and the component derives every
4
+ * label from this dictionary.
5
+ */
6
+ export type FooterLinkKey = 'privacy' | 'terms' | 'help' | 'contact';
7
+ export interface FooterStrings {
8
+ /** Builds the © line. Year and version are supplied internally by the Footer. */
9
+ copyright: (year: number, version: string) => string;
10
+ links: Record<FooterLinkKey, string>;
11
+ /**
12
+ * reCAPTCHA disclaimer split into 5 segments so Privacy Policy and
13
+ * Terms of Service render as inline underlined links.
14
+ */
15
+ recaptcha: {
16
+ prefix: string;
17
+ privacyLink: string;
18
+ middle: string;
19
+ termsLink: string;
20
+ suffix: string;
21
+ };
22
+ }
23
+ export declare const FOOTER_STRINGS: Record<string, FooterStrings>;
24
+ export declare const FOOTER_LINK_ORDER: FooterLinkKey[];
@@ -0,0 +1,5 @@
1
+ import { HTMLAttributes } from 'react';
2
+ export interface FooterProps extends Omit<HTMLAttributes<HTMLElement>, 'children'> {
3
+ /** Currently selected language key — drives RTL, font, and labels @default 'ar' */
4
+ selectedLanguage?: string;
5
+ }
@@ -0,0 +1 @@
1
+ export { Footer } from './Footer';
@@ -0,0 +1,22 @@
1
+ import { CheckboxProps } from './Checkbox.types';
2
+ /**
3
+ * Checkbox Component - Manara Design System
4
+ *
5
+ * A controlled checkbox component that supports checked, indeterminate, and unchecked states.
6
+ * Supports two sizes, labels with required indicators, Arabic RTL, and disabled/focus states.
7
+ *
8
+ * The parent is responsible for managing state via isChecked + onChange.
9
+ *
10
+ * @example
11
+ * ```tsx
12
+ * const [checked, setChecked] = useState(false);
13
+ * <Checkbox isChecked={checked} onChange={setChecked} label="Accept terms" />
14
+ *
15
+ * // Indeterminate
16
+ * <Checkbox isIndeterminate label="Select all" onChange={handleSelectAll} />
17
+ *
18
+ * // Large + Required
19
+ * <Checkbox size="large" isChecked={val} onChange={setVal} label="Required" isRequired />
20
+ * ```
21
+ */
22
+ export declare const Checkbox: import('react').ForwardRefExoticComponent<CheckboxProps & import('react').RefAttributes<HTMLInputElement>>;
@@ -0,0 +1,63 @@
1
+ import { InputHTMLAttributes, ReactNode } from 'react';
2
+ /**
3
+ * Checkbox size variants
4
+ */
5
+ export type CheckboxSize = 'default' | 'large';
6
+ /**
7
+ * Checkbox state (for styling purposes in Matrix/Storybook)
8
+ */
9
+ export type CheckboxState = 'default' | 'hover' | 'pressed' | 'disabled' | 'focused';
10
+ /**
11
+ * Props for the Checkbox component
12
+ */
13
+ export interface CheckboxProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'type' | 'checked' | 'onChange'> {
14
+ /**
15
+ * Size variant of the checkbox
16
+ * @default 'default'
17
+ */
18
+ size?: CheckboxSize;
19
+ /**
20
+ * Whether the checkbox is checked. Parent manages state via onChange.
21
+ * @default false
22
+ */
23
+ isChecked?: boolean;
24
+ /**
25
+ * Whether the checkbox is in an indeterminate state
26
+ * @default false
27
+ */
28
+ isIndeterminate?: boolean;
29
+ /**
30
+ * Whether the checkbox is disabled
31
+ * @default false
32
+ */
33
+ isDisabled?: boolean;
34
+ /**
35
+ * Whether the checkbox is focused (for Storybook/testing)
36
+ * The native browser focus is already handled in the css classes.
37
+ * This is only for testing/storybook to trigger the focus state.
38
+ * @default false
39
+ */
40
+ isFocused?: boolean;
41
+ /**
42
+ * Whether to render the checkbox in Arabic mode (RTL)
43
+ * @default false
44
+ */
45
+ isArabic?: boolean;
46
+ /**
47
+ * Label text or node displayed next to the checkbox
48
+ */
49
+ label?: ReactNode;
50
+ /**
51
+ * Whether to show a required asterisk after the label
52
+ * @default false
53
+ */
54
+ isRequired?: boolean;
55
+ /**
56
+ * Callback fired when the checked state changes
57
+ */
58
+ onChange?: (checked: boolean) => void;
59
+ /**
60
+ * Additional CSS classes to apply
61
+ */
62
+ className?: string;
63
+ }
@@ -0,0 +1,19 @@
1
+ import { VariantProps } from 'class-variance-authority';
2
+ /**
3
+ * Checkbox box variants using CVA (Class Variance Authority)
4
+ * Based on Manara Design System specifications
5
+ *
6
+ * The checkbox box is the inner visual square element that displays
7
+ * the check or indeterminate icon. It sits inside a touch-target wrapper
8
+ * that controls the overall hit area size (32×32 default, 40×40 large).
9
+ *
10
+ * Variants:
11
+ * - checked: Whether the box shows as checked/indeterminate (green) or unchecked (dark)
12
+ * - isDisabled: Disabled state styling
13
+ */
14
+ export declare const checkboxBoxVariants: (props?: ({
15
+ size?: "default" | "large" | null | undefined;
16
+ checked?: boolean | null | undefined;
17
+ isDisabled?: boolean | null | undefined;
18
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
19
+ export type CheckboxBoxVariantsProps = VariantProps<typeof checkboxBoxVariants>;
@@ -0,0 +1 @@
1
+ export { Checkbox } from './Checkbox';
@@ -0,0 +1,24 @@
1
+ import { DropdownProps } from './Dropdown.types';
2
+ /**
3
+ * Dropdown Component - Manara Design System
4
+ *
5
+ * A dropdown allows users to select a single option from a list.
6
+ * Supports three sizes, three types (default, phoneNumber, paymentMethod),
7
+ * labels with required indicators, helper text, Arabic RTL, and disabled/focus states.
8
+ *
9
+ * @example
10
+ * ```tsx
11
+ * const [value, setValue] = useState('');
12
+ * <Dropdown
13
+ * value={value}
14
+ * onChange={setValue}
15
+ * label="Country"
16
+ * placeholder="Select country"
17
+ * options={[
18
+ * { value: 'us', label: 'United States' },
19
+ * { value: 'uk', label: 'United Kingdom' },
20
+ * ]}
21
+ * />
22
+ * ```
23
+ */
24
+ export declare const Dropdown: import('react').ForwardRefExoticComponent<DropdownProps & import('react').RefAttributes<HTMLButtonElement>>;
@@ -0,0 +1,104 @@
1
+ import { HTMLAttributes, ReactNode } from 'react';
2
+ /**
3
+ * Dropdown size variants
4
+ */
5
+ export type DropdownSize = 'default' | 'medium' | 'large';
6
+ /**
7
+ * Dropdown type variants — affects trigger icon layout/padding
8
+ */
9
+ export type DropdownType = 'default' | 'phoneNumber' | 'paymentMethod';
10
+ /**
11
+ * Helper text state for color control
12
+ */
13
+ export type DropdownHelperState = 'default' | 'error' | 'success';
14
+ /**
15
+ * A single option in the dropdown
16
+ */
17
+ export interface DropdownOption {
18
+ /** Unique value for this option */
19
+ value: string;
20
+ /** Display label */
21
+ label: string;
22
+ /** Optional icon rendered before the label */
23
+ iconBefore?: ReactNode;
24
+ /** Whether this option is disabled */
25
+ isDisabled?: boolean;
26
+ }
27
+ /**
28
+ * Props for the Dropdown component
29
+ *
30
+ * Extends native `<div>` attributes so consumers can pass `data-*`, `aria-*`, etc.
31
+ * `onChange` is narrowed to `(value: string) => void` for selection changes.
32
+ */
33
+ export interface DropdownProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {
34
+ /**
35
+ * Size variant of the dropdown
36
+ * @default 'default'
37
+ */
38
+ size?: DropdownSize;
39
+ /**
40
+ * Type variant — affects trigger icon layout and padding
41
+ * @default 'default'
42
+ */
43
+ type?: DropdownType;
44
+ /**
45
+ * Whether the dropdown is disabled
46
+ * @default false
47
+ */
48
+ isDisabled?: boolean;
49
+ /**
50
+ * Whether the dropdown appears focused (for Storybook/testing).
51
+ * Native focus is handled via CSS.
52
+ * @default false
53
+ */
54
+ isFocused?: boolean;
55
+ /**
56
+ * Whether the dropdown is in an invalid/error state
57
+ * @default false
58
+ */
59
+ isInvalid?: boolean;
60
+ /**
61
+ * Whether to render in Arabic mode (RTL)
62
+ * @default false
63
+ */
64
+ isArabic?: boolean;
65
+ /**
66
+ * Whether to show a required asterisk after the label
67
+ * @default false
68
+ */
69
+ isRequired?: boolean;
70
+ /**
71
+ * Label text or node displayed above the dropdown
72
+ */
73
+ label?: ReactNode;
74
+ /**
75
+ * Helper text displayed below the dropdown
76
+ */
77
+ helperText?: ReactNode;
78
+ /**
79
+ * Controls the color of helper text when not invalid
80
+ * @default 'default'
81
+ */
82
+ helperState?: DropdownHelperState;
83
+ /**
84
+ * Placeholder text when no value is selected
85
+ * @default 'Placeholder'
86
+ */
87
+ placeholder?: string;
88
+ /**
89
+ * Currently selected value
90
+ */
91
+ value?: string;
92
+ /**
93
+ * Callback fired when the selected value changes
94
+ */
95
+ onChange?: (value: string) => void;
96
+ /**
97
+ * List of options to display in the dropdown menu
98
+ */
99
+ options: DropdownOption[];
100
+ /**
101
+ * Icon displayed in the trigger before the text (e.g. flag for phoneNumber)
102
+ */
103
+ iconBefore?: ReactNode;
104
+ }
@@ -0,0 +1,39 @@
1
+ import { VariantProps } from 'class-variance-authority';
2
+ /**
3
+ * Dropdown trigger button variants
4
+ *
5
+ * Variants:
6
+ * - size: Controls height, padding, border radius
7
+ * - isInvalid: Error state with critical border
8
+ * - isDisabled: Disabled state styling
9
+ * - type: Affects gap and padding for icon accommodation
10
+ *
11
+ * Interactive states (focus, hover, open) are handled via CSS:
12
+ * - hover: surface-manara-hover
13
+ * - open (focus-within): surface-manara-accent + border-manara-focused (2px)
14
+ */
15
+ export declare const dropdownTriggerVariants: (props?: ({
16
+ size?: "default" | "medium" | "large" | null | undefined;
17
+ type?: "default" | "phoneNumber" | "paymentMethod" | null | undefined;
18
+ isInvalid?: boolean | null | undefined;
19
+ isDisabled?: boolean | null | undefined;
20
+ isOpen?: boolean | null | undefined;
21
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
22
+ export type DropdownTriggerVariantsProps = VariantProps<typeof dropdownTriggerVariants>;
23
+ /**
24
+ * Dropdown option item variants
25
+ *
26
+ * - size: Controls height
27
+ * - isSelected: Green background with dark text
28
+ */
29
+ export declare const dropdownOptionVariants: (props?: ({
30
+ isSelected?: boolean | null | undefined;
31
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
32
+ export type DropdownOptionVariantsProps = VariantProps<typeof dropdownOptionVariants>;
33
+ /**
34
+ * Dropdown menu (floating panel) variants
35
+ */
36
+ export declare const dropdownMenuVariants: (props?: ({
37
+ size?: "default" | "medium" | "large" | null | undefined;
38
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
39
+ export type DropdownMenuVariantsProps = VariantProps<typeof dropdownMenuVariants>;
@@ -0,0 +1 @@
1
+ export { Dropdown } from './Dropdown';
@@ -0,0 +1,22 @@
1
+ import { FC } from 'react';
2
+ import { OtpInputProps } from './OtpInput.types';
3
+ /**
4
+ * OTP Input Component - Manara Design System
5
+ *
6
+ * An OTP input lets users enter a one-time password for authentication or verification.
7
+ * Supports three sizes, labels, Arabic RTL, disabled/invalid states, and an optional
8
+ * dash separator between digit groups.
9
+ *
10
+ * @example
11
+ * ```tsx
12
+ * const [otp, setOtp] = useState('');
13
+ * <OtpInput value={otp} onChange={setOtp} label="Verification Code" />
14
+ *
15
+ * // 5-digit with separator
16
+ * <OtpInput value={otp} onChange={setOtp} length={5} separatorAfter={2} />
17
+ *
18
+ * // Large + Invalid
19
+ * <OtpInput size="large" value={otp} onChange={setOtp} isInvalid />
20
+ * ```
21
+ */
22
+ export declare const OtpInput: FC<OtpInputProps>;
@@ -0,0 +1,66 @@
1
+ import { HTMLAttributes, ReactNode } from 'react';
2
+ /**
3
+ * OTP Input size variants
4
+ */
5
+ export type OtpInputSize = 'default' | 'medium' | 'large';
6
+ /**
7
+ * OTP Input state (for styling purposes in Matrix/Storybook)
8
+ */
9
+ export type OtpInputState = 'default' | 'focus' | 'typing' | 'filled' | 'invalid' | 'disabled';
10
+ /**
11
+ * Props for the OtpInput component
12
+ *
13
+ * Extends native `<div>` attributes so consumers can pass `data-*`, `aria-*`, etc.
14
+ * `onChange` is narrowed to `(value: string) => void` for OTP value changes.
15
+ */
16
+ export interface OtpInputProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {
17
+ /**
18
+ * Size variant of the OTP input slots
19
+ * @default 'default'
20
+ */
21
+ size?: OtpInputSize;
22
+ /**
23
+ * Number of OTP digit slots
24
+ * @default 4
25
+ */
26
+ length?: number;
27
+ /**
28
+ * Current OTP value (controlled). Each character fills one slot.
29
+ * @default ''
30
+ */
31
+ value?: string;
32
+ /**
33
+ * Callback fired when the OTP value changes
34
+ */
35
+ onChange?: (value: string) => void;
36
+ /**
37
+ * Whether the OTP input is disabled
38
+ * @default false
39
+ */
40
+ isDisabled?: boolean;
41
+ /**
42
+ * Index of the slot to show as focused (for Storybook/testing).
43
+ * The native browser focus is already handled in CSS.
44
+ * Use 0 to focus the first slot, 1 for the second, etc.
45
+ */
46
+ focusedIndex?: number;
47
+ /**
48
+ * Whether the OTP input is in an invalid/error state
49
+ * @default false
50
+ */
51
+ isInvalid?: boolean;
52
+ /**
53
+ * Whether to render in Arabic mode (RTL)
54
+ * @default false
55
+ */
56
+ isArabic?: boolean;
57
+ /**
58
+ * Label text or node displayed above the input
59
+ */
60
+ label?: ReactNode;
61
+ /**
62
+ * Index after which to show a dash separator (0-based).
63
+ * For example, separatorAfter={2} with length=5 renders: [0][1][2] - [3][4]
64
+ */
65
+ separatorAfter?: number;
66
+ }