@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,24 @@
1
+ import { VariantProps } from 'class-variance-authority';
2
+ /**
3
+ * OTP Slot variants using CVA (Class Variance Authority)
4
+ * Based on Manara Design System specifications
5
+ *
6
+ * Each OTP slot is a square input cell that holds a single digit.
7
+ *
8
+ * Sizes (from Figma):
9
+ * - default: 40×40, padding 12px, border-radius 12px
10
+ * - medium: 48×48, padding 12px, border-radius 16px
11
+ * - large: 56×56, padding 16px, border-radius 16px
12
+ *
13
+ * States:
14
+ * - default: surface/primary, 1px border/primary
15
+ * - focus: surface/accent, 2px border/focused (green)
16
+ * - invalid: surface/primary, 2px border/critical (red)
17
+ * - disabled: surface/disabled, no visible border
18
+ */
19
+ export declare const otpSlotVariants: (props?: ({
20
+ size?: "default" | "medium" | "large" | null | undefined;
21
+ isInvalid?: boolean | null | undefined;
22
+ isDisabled?: boolean | null | undefined;
23
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
24
+ export type OtpSlotVariantsProps = VariantProps<typeof otpSlotVariants>;
@@ -0,0 +1 @@
1
+ export { OtpInput } from './OtpInput';
@@ -0,0 +1,25 @@
1
+ import { RadioProps } from './Radio.types';
2
+ /**
3
+ * Radio Component - Manara Design System
4
+ *
5
+ * A controlled radio button component that allows users to select one option
6
+ * from a group of choices. Supports two sizes, labels with required indicators,
7
+ * Arabic RTL, and disabled/focus states.
8
+ *
9
+ * The parent is responsible for managing state via isChecked + onChange.
10
+ * For a group of radios, use native radio `name` attribute to ensure only one
11
+ * is selected at a time.
12
+ *
13
+ * @example
14
+ * ```tsx
15
+ * const [selected, setSelected] = useState('');
16
+ *
17
+ * <Radio name="plan" value="basic" isChecked={selected === 'basic'} onChange={() => setSelected('basic')} label="Basic" />
18
+ * <Radio name="plan" value="pro" isChecked={selected === 'pro'} onChange={() => setSelected('pro')} label="Pro" />
19
+ * <Radio name="plan" value="expert" isChecked={selected === 'expert'} onChange={() => setSelected('expert')} label="Expert" />
20
+ *
21
+ * // Large + Required
22
+ * <Radio size="large" isChecked={val} onChange={() => setVal(true)} label="Option" isRequired />
23
+ * ```
24
+ */
25
+ export declare const Radio: import('react').ForwardRefExoticComponent<RadioProps & import('react').RefAttributes<HTMLInputElement>>;
@@ -0,0 +1,58 @@
1
+ import { InputHTMLAttributes, ReactNode } from 'react';
2
+ /**
3
+ * Radio size variants
4
+ */
5
+ export type RadioSize = 'default' | 'large';
6
+ /**
7
+ * Radio state (for styling purposes in Matrix/Storybook)
8
+ */
9
+ export type RadioState = 'default' | 'hover' | 'pressed' | 'disabled' | 'focused';
10
+ /**
11
+ * Props for the Radio component
12
+ */
13
+ export interface RadioProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'type' | 'checked' | 'onChange'> {
14
+ /**
15
+ * Size variant of the radio button
16
+ * @default 'default'
17
+ */
18
+ size?: RadioSize;
19
+ /**
20
+ * Whether the radio is selected. Parent manages state via onChange.
21
+ * @default false
22
+ */
23
+ isChecked?: boolean;
24
+ /**
25
+ * Whether the radio is disabled
26
+ * @default false
27
+ */
28
+ isDisabled?: boolean;
29
+ /**
30
+ * Whether the radio is focused (for Storybook/testing)
31
+ * The native browser focus is already handled in the css classes.
32
+ * This is only for testing/storybook to trigger the focus state.
33
+ * @default false
34
+ */
35
+ isFocused?: boolean;
36
+ /**
37
+ * Whether to render the radio in Arabic mode (RTL)
38
+ * @default false
39
+ */
40
+ isArabic?: boolean;
41
+ /**
42
+ * Label text or node displayed next to the radio button
43
+ */
44
+ label?: ReactNode;
45
+ /**
46
+ * Whether to show a required asterisk after the label
47
+ * @default false
48
+ */
49
+ isRequired?: boolean;
50
+ /**
51
+ * Callback fired when the radio is selected
52
+ */
53
+ onChange?: (checked: boolean) => void;
54
+ /**
55
+ * Additional CSS classes to apply
56
+ */
57
+ className?: string;
58
+ }
@@ -0,0 +1,30 @@
1
+ import { VariantProps } from 'class-variance-authority';
2
+ /**
3
+ * Radio circle variants using CVA (Class Variance Authority)
4
+ * Based on Manara Design System specifications
5
+ *
6
+ * The radio circle is the inner visual element (fully rounded) that indicates
7
+ * selection state. It sits inside a touch-target wrapper that controls the
8
+ * overall hit area size (32×32 default, 40×40 large).
9
+ *
10
+ * Figma specs:
11
+ * - Default touch target: 32×32 (space400), inner circle: 20×20 (space250), 6px padding
12
+ * - Large touch target: 40×40 (space500), inner circle: 24×24 (space300), 8px padding
13
+ *
14
+ * Unchecked states:
15
+ * - default: surface/primary (#1c1d32) + border/primary (#3b3b4e)
16
+ * - hover: surface/hover (#2e2f42) + border/primary
17
+ * - pressed: surface/accent (#0d0e25) + border/primary
18
+ * - disabled: surface/disabled (#2e2f42) + border/disabled (#2e2f42)
19
+ *
20
+ * Checked states (green circle + dark inner dot):
21
+ * - default: surface/brand (#13cb5c) + border transparent
22
+ * - hover: surface/brand-hover (#11b954)
23
+ * - pressed: surface/brand-pressed (#0d9041)
24
+ * - disabled: surface/disabled + border/disabled (same as unchecked disabled)
25
+ */
26
+ export declare const radioCircleVariants: (props?: ({
27
+ checked?: boolean | null | undefined;
28
+ isDisabled?: boolean | null | undefined;
29
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
30
+ export type RadioCircleVariantsProps = VariantProps<typeof radioCircleVariants>;
@@ -0,0 +1 @@
1
+ export { Radio } from './Radio';
@@ -0,0 +1,24 @@
1
+ import { SwitchProps } from './Switch.types';
2
+ /**
3
+ * Switch Component - Manara Design System
4
+ *
5
+ * A controlled toggle switch that allows users to turn an option on or off.
6
+ * Supports two sizes, labels with required indicators, Arabic RTL,
7
+ * and disabled/focus states.
8
+ *
9
+ * The parent is responsible for managing state via isChecked + onChange.
10
+ *
11
+ * Architecture matches Figma: a relative container holds absolutely-positioned
12
+ * track and knob elements with pixel-precise placement.
13
+ *
14
+ * @example
15
+ * ```tsx
16
+ * const [enabled, setEnabled] = useState(false);
17
+ *
18
+ * <Switch isChecked={enabled} onChange={setEnabled} label="Enable notifications" />
19
+ *
20
+ * // Large + Required
21
+ * <Switch size="large" isChecked={val} onChange={setVal} label="Accept terms" isRequired />
22
+ * ```
23
+ */
24
+ export declare const Switch: import('react').ForwardRefExoticComponent<SwitchProps & import('react').RefAttributes<HTMLInputElement>>;
@@ -0,0 +1,58 @@
1
+ import { InputHTMLAttributes, ReactNode } from 'react';
2
+ /**
3
+ * Switch size variants
4
+ */
5
+ export type SwitchSize = 'default' | 'large';
6
+ /**
7
+ * Switch state (for styling purposes in Matrix/Storybook)
8
+ */
9
+ export type SwitchState = 'default' | 'hover' | 'pressed' | 'disabled' | 'focused';
10
+ /**
11
+ * Props for the Switch component
12
+ */
13
+ export interface SwitchProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'type' | 'checked' | 'onChange'> {
14
+ /**
15
+ * Size variant of the switch
16
+ * @default 'default'
17
+ */
18
+ size?: SwitchSize;
19
+ /**
20
+ * Whether the switch is on. Parent manages state via onChange.
21
+ * @default false
22
+ */
23
+ isChecked?: boolean;
24
+ /**
25
+ * Whether the switch is disabled
26
+ * @default false
27
+ */
28
+ isDisabled?: boolean;
29
+ /**
30
+ * Whether the switch is focused (for Storybook/testing)
31
+ * The native browser focus is already handled in the css classes.
32
+ * This is only for testing/storybook to trigger the focus state.
33
+ * @default false
34
+ */
35
+ isFocused?: boolean;
36
+ /**
37
+ * Whether to render the switch in Arabic mode (RTL)
38
+ * @default false
39
+ */
40
+ isArabic?: boolean;
41
+ /**
42
+ * Label text or node displayed next to the switch
43
+ */
44
+ label?: ReactNode;
45
+ /**
46
+ * Whether to show a required asterisk after the label
47
+ * @default false
48
+ */
49
+ isRequired?: boolean;
50
+ /**
51
+ * Callback fired when the switch is toggled
52
+ */
53
+ onChange?: (checked: boolean) => void;
54
+ /**
55
+ * Additional CSS classes to apply
56
+ */
57
+ className?: string;
58
+ }
@@ -0,0 +1,57 @@
1
+ import { VariantProps } from 'class-variance-authority';
2
+ import { SwitchSize } from './Switch.types';
3
+ import { CSSProperties } from 'react';
4
+ /**
5
+ * Switch track variants using CVA (Class Variance Authority)
6
+ * Based on Manara Design System specifications
7
+ *
8
+ * The track is the pill-shaped background absolutely positioned within
9
+ * the touch-target container (48×48 default, 56×56 large).
10
+ *
11
+ * Figma specs:
12
+ * - Default track: 48×28, border-radius full, top 10px
13
+ * - Large track: 56×32, border-radius full, top 12px
14
+ *
15
+ * Unchecked states (dark track + green border):
16
+ * - default: surface/primary (#1c1d32) + border/brand/primary (#13cb5c)
17
+ * - hover: surface/hover (#2e2f42) + border/brand/hover (#11b954)
18
+ * - pressed: surface/accent (#0d0e25) + border/brand/pressed (#0d9041)
19
+ * - disabled: icon/disabled (#575767, --color-navy-300) + no border
20
+ *
21
+ * Checked states (green track, no border):
22
+ * - default: surface/brand (#13cb5c)
23
+ * - hover: surface/brand-hover (#11b954)
24
+ * - pressed: surface/brand-pressed (#0d9041)
25
+ * - disabled: icon/disabled (#575767, --color-navy-300) + no border
26
+ */
27
+ export declare const switchTrackVariants: (props?: ({
28
+ checked?: boolean | null | undefined;
29
+ isDisabled?: boolean | null | undefined;
30
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
31
+ /**
32
+ * Switch knob variants. Sibling of the track (container-relative coords).
33
+ * DOM box stays at the checked size; state changes animate via transform
34
+ * only (translateX to slide, scale to shrink for unchecked) — keeps the
35
+ * animation on the GPU and avoids the vertical wiggle that comes from
36
+ * simultaneously interpolating width/height/top.
37
+ */
38
+ export declare const switchKnobVariants: (props?: ({
39
+ checked?: boolean | null | undefined;
40
+ isDisabled?: boolean | null | undefined;
41
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
42
+ export type SwitchTrackVariantsProps = VariantProps<typeof switchTrackVariants>;
43
+ export type SwitchKnobVariantsProps = VariantProps<typeof switchKnobVariants>;
44
+ /**
45
+ * Switch style map. Knob `base` is the DOM box (checked size, centered);
46
+ * `checked` / `unchecked` only set transform so the toggle animates on the GPU.
47
+ * Visual targets — default unchecked 22×22@(3,13), checked 24×24@(22,12);
48
+ * large unchecked 26×26@(3,15), checked 28×28@(26,14).
49
+ */
50
+ export declare const SWITCH_STYLE_MAP: Record<SwitchSize, {
51
+ track: CSSProperties;
52
+ knob: {
53
+ base: CSSProperties;
54
+ checked: CSSProperties;
55
+ unchecked: CSSProperties;
56
+ };
57
+ }>;
@@ -0,0 +1 @@
1
+ export { Switch } from './Switch';
@@ -0,0 +1,24 @@
1
+ import { TextAreaProps } from './TextArea.types';
2
+ /**
3
+ * TextArea Component - Manara Design System
4
+ *
5
+ * A text area allows users to input extended text that spans multiple lines.
6
+ * Supports two sizes, labels with required indicators, helper text with
7
+ * error/success states, Arabic RTL, and disabled/focus states.
8
+ *
9
+ * The component supports both controlled (value + onChange) and uncontrolled
10
+ * (defaultValue + ref) usage patterns.
11
+ *
12
+ * @example
13
+ * ```tsx
14
+ * const [value, setValue] = useState('');
15
+ * <TextArea value={value} onChange={setValue} label="Description" placeholder="Enter description" />
16
+ *
17
+ * // With validation
18
+ * <TextArea value={val} onChange={setVal} label="Bio" isInvalid helperText="Too short" />
19
+ *
20
+ * // Large + Required
21
+ * <TextArea size="large" label="Notes" isRequired placeholder="Enter notes" />
22
+ * ```
23
+ */
24
+ export declare const TextArea: import('react').ForwardRefExoticComponent<TextAreaProps & import('react').RefAttributes<HTMLTextAreaElement>>;
@@ -0,0 +1,77 @@
1
+ import { TextareaHTMLAttributes, ReactNode } from 'react';
2
+ /**
3
+ * TextArea size variants
4
+ */
5
+ export type TextAreaSize = 'default' | 'large';
6
+ /**
7
+ * TextArea state (for styling purposes in Matrix/Storybook)
8
+ */
9
+ export type TextAreaState = 'default' | 'focus' | 'typing' | 'filled' | 'invalid' | 'disabled';
10
+ /**
11
+ * Helper text state for color control
12
+ */
13
+ export type TextAreaHelperState = 'default' | 'error' | 'success';
14
+ /**
15
+ * Props for the TextArea component
16
+ */
17
+ export interface TextAreaProps extends Omit<TextareaHTMLAttributes<HTMLTextAreaElement>, 'onChange'> {
18
+ /**
19
+ * Size variant of the text area
20
+ * @default 'default'
21
+ */
22
+ size?: TextAreaSize;
23
+ /**
24
+ * Whether the text area is disabled
25
+ * @default false
26
+ */
27
+ isDisabled?: boolean;
28
+ /**
29
+ * Whether the text area is focused (for Storybook/testing).
30
+ * The native browser focus is already handled in the css classes.
31
+ * This is only for testing/storybook to trigger the focus state.
32
+ * @default false
33
+ */
34
+ isFocused?: boolean;
35
+ /**
36
+ * Whether the text area is in an invalid/error state.
37
+ * Controls the border color (critical) and overrides helperState to 'error'.
38
+ * @default false
39
+ */
40
+ isInvalid?: boolean;
41
+ /**
42
+ * Whether to render the text area in Arabic mode (RTL)
43
+ * @default false
44
+ */
45
+ isArabic?: boolean;
46
+ /**
47
+ * Whether to show a required asterisk after the label
48
+ * @default false
49
+ */
50
+ isRequired?: boolean;
51
+ /**
52
+ * Label text or node displayed above the text area
53
+ */
54
+ label?: ReactNode;
55
+ /**
56
+ * Helper text displayed below the text area
57
+ */
58
+ helperText?: ReactNode;
59
+ /**
60
+ * Controls the color of helper text when not invalid.
61
+ * When isInvalid is true, this is overridden to 'error'.
62
+ * @default 'default'
63
+ */
64
+ helperState?: TextAreaHelperState;
65
+ /**
66
+ * Optional icon displayed before helper text (16x16)
67
+ */
68
+ helperIcon?: ReactNode;
69
+ /**
70
+ * Callback fired when the value changes
71
+ */
72
+ onChange?: (value: string) => void;
73
+ /**
74
+ * Additional CSS classes to apply to the outer wrapper
75
+ */
76
+ className?: string;
77
+ }
@@ -0,0 +1,25 @@
1
+ import { VariantProps } from 'class-variance-authority';
2
+ /**
3
+ * TextArea container variants using CVA (Class Variance Authority)
4
+ * Based on Manara Design System specifications
5
+ *
6
+ * The container is the visual box that wraps the textarea element
7
+ * and handles all interactive states.
8
+ *
9
+ * Variants:
10
+ * - size: Controls height, padding, border radius
11
+ * - default: 80px height, 8px padding, 12px radius
12
+ * - large: 120px height, 12px horizontal / 8px vertical padding, 16px radius
13
+ * - isInvalid: Error state with critical border
14
+ * - isDisabled: Disabled state styling
15
+ *
16
+ * Interactive states (focus, hover) are handled via CSS pseudo-classes:
17
+ * - hover: surface-manara-hover
18
+ * - focus-within: surface-manara-accent + border-manara-focused (2px)
19
+ */
20
+ export declare const textAreaContainerVariants: (props?: ({
21
+ size?: "default" | "large" | null | undefined;
22
+ isInvalid?: boolean | null | undefined;
23
+ isDisabled?: boolean | null | undefined;
24
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
25
+ export type TextAreaContainerVariantsProps = VariantProps<typeof textAreaContainerVariants>;
@@ -0,0 +1 @@
1
+ export { TextArea } from './TextArea';
@@ -0,0 +1,24 @@
1
+ import { TextFieldProps } from './TextField.types';
2
+ /**
3
+ * TextField Component - Manara Design System
4
+ *
5
+ * A text field allows users to input, edit, or update text.
6
+ * Supports three sizes, labels with required indicators, helper text with
7
+ * error/success states, before/after icons, Arabic RTL, and disabled/focus states.
8
+ *
9
+ * The component supports both controlled (value + onChange) and uncontrolled
10
+ * (defaultValue + ref) usage patterns.
11
+ *
12
+ * @example
13
+ * ```tsx
14
+ * const [value, setValue] = useState('');
15
+ * <TextField value={value} onChange={setValue} label="Name" placeholder="Enter name" />
16
+ *
17
+ * // With validation
18
+ * <TextField value={val} onChange={setVal} label="Email" isInvalid helperText="Invalid email" />
19
+ *
20
+ * // Large + Required + Icons
21
+ * <TextField size="large" label="Search" isRequired iconBefore={<SearchIcon />} />
22
+ * ```
23
+ */
24
+ export declare const TextField: import('react').ForwardRefExoticComponent<TextFieldProps & import('react').RefAttributes<HTMLInputElement>>;
@@ -0,0 +1,85 @@
1
+ import { InputHTMLAttributes, ReactNode } from 'react';
2
+ /**
3
+ * TextField size variants
4
+ */
5
+ export type TextFieldSize = 'default' | 'medium' | 'large';
6
+ /**
7
+ * TextField state (for styling purposes in Matrix/Storybook)
8
+ */
9
+ export type TextFieldState = 'default' | 'focus' | 'typing' | 'filled' | 'invalid' | 'disabled';
10
+ /**
11
+ * Helper text state for color control
12
+ */
13
+ export type TextFieldHelperState = 'default' | 'error' | 'success';
14
+ /**
15
+ * Props for the TextField component
16
+ */
17
+ export interface TextFieldProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'onChange'> {
18
+ /**
19
+ * Size variant of the text field
20
+ * @default 'default'
21
+ */
22
+ size?: TextFieldSize;
23
+ /**
24
+ * Whether the text field is disabled
25
+ * @default false
26
+ */
27
+ isDisabled?: boolean;
28
+ /**
29
+ * Whether the text field is focused (for Storybook/testing).
30
+ * The native browser focus is already handled in the css classes.
31
+ * This is only for testing/storybook to trigger the focus state.
32
+ * @default false
33
+ */
34
+ isFocused?: boolean;
35
+ /**
36
+ * Whether the text field is in an invalid/error state.
37
+ * Controls the border color (critical) and overrides helperState to 'error'.
38
+ * @default false
39
+ */
40
+ isInvalid?: boolean;
41
+ /**
42
+ * Whether to render the text field in Arabic mode (RTL)
43
+ * @default false
44
+ */
45
+ isArabic?: boolean;
46
+ /**
47
+ * Whether to show a required asterisk after the label
48
+ * @default false
49
+ */
50
+ isRequired?: boolean;
51
+ /**
52
+ * Label text or node displayed above the text field
53
+ */
54
+ label?: ReactNode;
55
+ /**
56
+ * Helper text displayed below the text field
57
+ */
58
+ helperText?: ReactNode;
59
+ /**
60
+ * Controls the color of helper text when not invalid.
61
+ * When isInvalid is true, this is overridden to 'error'.
62
+ * @default 'default'
63
+ */
64
+ helperState?: TextFieldHelperState;
65
+ /**
66
+ * Optional icon displayed before helper text (16x16)
67
+ */
68
+ helperIcon?: ReactNode;
69
+ /**
70
+ * Callback fired when the value changes
71
+ */
72
+ onChange?: (value: string) => void;
73
+ /**
74
+ * Icon displayed before the input text (24x24)
75
+ */
76
+ iconBefore?: ReactNode;
77
+ /**
78
+ * Icon displayed after the input text (24x24)
79
+ */
80
+ iconAfter?: ReactNode;
81
+ /**
82
+ * Additional CSS classes to apply to the outer wrapper
83
+ */
84
+ className?: string;
85
+ }
@@ -0,0 +1,23 @@
1
+ import { VariantProps } from 'class-variance-authority';
2
+ /**
3
+ * TextField input container variants using CVA (Class Variance Authority)
4
+ * Based on Manara Design System specifications
5
+ *
6
+ * The input container is the visual box that wraps the input element,
7
+ * optional before/after icons, and handles all interactive states.
8
+ *
9
+ * Variants:
10
+ * - size: Controls height, padding, border radius, and typography
11
+ * - isInvalid: Error state with critical border
12
+ * - isDisabled: Disabled state styling
13
+ *
14
+ * Interactive states (focus, hover) are handled via CSS pseudo-classes:
15
+ * - hover: surface-manara-hover
16
+ * - focus-within: surface-manara-accent + border-manara-focused (2px)
17
+ */
18
+ export declare const textFieldInputVariants: (props?: ({
19
+ size?: "default" | "medium" | "large" | null | undefined;
20
+ isInvalid?: boolean | null | undefined;
21
+ isDisabled?: boolean | null | undefined;
22
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
23
+ export type TextFieldInputVariantsProps = VariantProps<typeof textFieldInputVariants>;
@@ -0,0 +1 @@
1
+ export { TextField } from './TextField';
@@ -0,0 +1,2 @@
1
+ import { IconDisplayProps } from './IconDisplay.types';
2
+ export declare const IconDisplay: ({ iconCategories, selectedCategory, className, iconWrapperClassName, iconComponentClassName, iconSize, fillCurrentColor, }: IconDisplayProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,30 @@
1
+ import { SVGProps, ComponentType } from 'react';
2
+ /**
3
+ * Defines the structure of an individual icon within a category.
4
+ */
5
+ export interface IconItem {
6
+ name: string;
7
+ component: ComponentType<SVGProps<SVGSVGElement>>;
8
+ }
9
+ /**
10
+ * Defines the structure of an icon category.
11
+ */
12
+ export interface IconCategory {
13
+ categoryName: string;
14
+ icons: IconItem[];
15
+ }
16
+ /**
17
+ * Props for the IconDisplay component.
18
+ */
19
+ export interface IconDisplayProps {
20
+ iconCategories: IconCategory[];
21
+ selectedCategory?: string;
22
+ className?: string;
23
+ iconWrapperClassName?: string;
24
+ iconComponentClassName?: string;
25
+ iconSize?: {
26
+ width: string | number;
27
+ height: string | number;
28
+ };
29
+ fillCurrentColor?: boolean;
30
+ }
@@ -0,0 +1 @@
1
+ export { IconDisplay } from './IconDisplay';
@@ -0,0 +1,17 @@
1
+ import { FC } from 'react';
2
+ import { LinkProps } from './Link.types';
3
+ /**
4
+ * Link Component — Manara Design System
5
+ *
6
+ * Links navigate users to other pages, sections, or external resources.
7
+ * Supports brand/neutral types, three sizes, bold/regular weight,
8
+ * disabled state, optional icon, and Arabic RTL.
9
+ *
10
+ * @example
11
+ * ```tsx
12
+ * <Link label="Visit page" href="/page" />
13
+ * <Link label="External" type="neutral" size="small" />
14
+ * <Link label="رابط" isArabic />
15
+ * ```
16
+ */
17
+ export declare const Link: FC<LinkProps>;