fluentglass 0.2.6

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 (414) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +169 -0
  3. package/lib/commonjs/assets/fonts/Inter-Black.ttf +0 -0
  4. package/lib/commonjs/assets/fonts/Inter-Bold.ttf +0 -0
  5. package/lib/commonjs/assets/fonts/Inter-ExtraBold.ttf +0 -0
  6. package/lib/commonjs/assets/fonts/Inter-Medium.ttf +0 -0
  7. package/lib/commonjs/assets/fonts/Inter-Regular.ttf +0 -0
  8. package/lib/commonjs/assets/fonts/Inter-SemiBold.ttf +0 -0
  9. package/lib/commonjs/components/FluentGlass.js +94 -0
  10. package/lib/commonjs/components/FluentGlass.js.map +1 -0
  11. package/lib/commonjs/components/FluentGlassAlert.js +126 -0
  12. package/lib/commonjs/components/FluentGlassAlert.js.map +1 -0
  13. package/lib/commonjs/components/FluentGlassBadge.js +124 -0
  14. package/lib/commonjs/components/FluentGlassBadge.js.map +1 -0
  15. package/lib/commonjs/components/FluentGlassBarChart.js +287 -0
  16. package/lib/commonjs/components/FluentGlassBarChart.js.map +1 -0
  17. package/lib/commonjs/components/FluentGlassBreadcrumb.js +155 -0
  18. package/lib/commonjs/components/FluentGlassBreadcrumb.js.map +1 -0
  19. package/lib/commonjs/components/FluentGlassButton.js +175 -0
  20. package/lib/commonjs/components/FluentGlassButton.js.map +1 -0
  21. package/lib/commonjs/components/FluentGlassCalendarWidget.js +73 -0
  22. package/lib/commonjs/components/FluentGlassCalendarWidget.js.map +1 -0
  23. package/lib/commonjs/components/FluentGlassCard.js +195 -0
  24. package/lib/commonjs/components/FluentGlassCard.js.map +1 -0
  25. package/lib/commonjs/components/FluentGlassCheckbox.js +121 -0
  26. package/lib/commonjs/components/FluentGlassCheckbox.js.map +1 -0
  27. package/lib/commonjs/components/FluentGlassClockWidget.js +80 -0
  28. package/lib/commonjs/components/FluentGlassClockWidget.js.map +1 -0
  29. package/lib/commonjs/components/FluentGlassCodeBlock.js +239 -0
  30. package/lib/commonjs/components/FluentGlassCodeBlock.js.map +1 -0
  31. package/lib/commonjs/components/FluentGlassContainer.js +52 -0
  32. package/lib/commonjs/components/FluentGlassContainer.js.map +1 -0
  33. package/lib/commonjs/components/FluentGlassCrossfade.js +118 -0
  34. package/lib/commonjs/components/FluentGlassCrossfade.js.map +1 -0
  35. package/lib/commonjs/components/FluentGlassDateInput.js +176 -0
  36. package/lib/commonjs/components/FluentGlassDateInput.js.map +1 -0
  37. package/lib/commonjs/components/FluentGlassDatePicker.js +271 -0
  38. package/lib/commonjs/components/FluentGlassDatePicker.js.map +1 -0
  39. package/lib/commonjs/components/FluentGlassDialog.js +169 -0
  40. package/lib/commonjs/components/FluentGlassDialog.js.map +1 -0
  41. package/lib/commonjs/components/FluentGlassDock.js +187 -0
  42. package/lib/commonjs/components/FluentGlassDock.js.map +1 -0
  43. package/lib/commonjs/components/FluentGlassDropdown.js +349 -0
  44. package/lib/commonjs/components/FluentGlassDropdown.js.map +1 -0
  45. package/lib/commonjs/components/FluentGlassEmailInput.js +43 -0
  46. package/lib/commonjs/components/FluentGlassEmailInput.js.map +1 -0
  47. package/lib/commonjs/components/FluentGlassInput.js +83 -0
  48. package/lib/commonjs/components/FluentGlassInput.js.map +1 -0
  49. package/lib/commonjs/components/FluentGlassLabeledInput.js +64 -0
  50. package/lib/commonjs/components/FluentGlassLabeledInput.js.map +1 -0
  51. package/lib/commonjs/components/FluentGlassLayout.js +106 -0
  52. package/lib/commonjs/components/FluentGlassLayout.js.map +1 -0
  53. package/lib/commonjs/components/FluentGlassPasswordInput.js +60 -0
  54. package/lib/commonjs/components/FluentGlassPasswordInput.js.map +1 -0
  55. package/lib/commonjs/components/FluentGlassPopover.js +75 -0
  56. package/lib/commonjs/components/FluentGlassPopover.js.map +1 -0
  57. package/lib/commonjs/components/FluentGlassResponsiveRow.js +74 -0
  58. package/lib/commonjs/components/FluentGlassResponsiveRow.js.map +1 -0
  59. package/lib/commonjs/components/FluentGlassScrollArea.js +101 -0
  60. package/lib/commonjs/components/FluentGlassScrollArea.js.map +1 -0
  61. package/lib/commonjs/components/FluentGlassSegmentedControl.js +126 -0
  62. package/lib/commonjs/components/FluentGlassSegmentedControl.js.map +1 -0
  63. package/lib/commonjs/components/FluentGlassSelect.js +155 -0
  64. package/lib/commonjs/components/FluentGlassSelect.js.map +1 -0
  65. package/lib/commonjs/components/FluentGlassSeparator.js +62 -0
  66. package/lib/commonjs/components/FluentGlassSeparator.js.map +1 -0
  67. package/lib/commonjs/components/FluentGlassSheet.js +189 -0
  68. package/lib/commonjs/components/FluentGlassSheet.js.map +1 -0
  69. package/lib/commonjs/components/FluentGlassSidebar.js +358 -0
  70. package/lib/commonjs/components/FluentGlassSidebar.js.map +1 -0
  71. package/lib/commonjs/components/FluentGlassSimpleCard.js +56 -0
  72. package/lib/commonjs/components/FluentGlassSimpleCard.js.map +1 -0
  73. package/lib/commonjs/components/FluentGlassSkeleton.js +52 -0
  74. package/lib/commonjs/components/FluentGlassSkeleton.js.map +1 -0
  75. package/lib/commonjs/components/FluentGlassSlider.js +197 -0
  76. package/lib/commonjs/components/FluentGlassSlider.js.map +1 -0
  77. package/lib/commonjs/components/FluentGlassStatWidget.js +133 -0
  78. package/lib/commonjs/components/FluentGlassStatWidget.js.map +1 -0
  79. package/lib/commonjs/components/FluentGlassStatusIndicator.js +89 -0
  80. package/lib/commonjs/components/FluentGlassStatusIndicator.js.map +1 -0
  81. package/lib/commonjs/components/FluentGlassSwitch.js +126 -0
  82. package/lib/commonjs/components/FluentGlassSwitch.js.map +1 -0
  83. package/lib/commonjs/components/FluentGlassTable.js +163 -0
  84. package/lib/commonjs/components/FluentGlassTable.js.map +1 -0
  85. package/lib/commonjs/components/FluentGlassTag.js +109 -0
  86. package/lib/commonjs/components/FluentGlassTag.js.map +1 -0
  87. package/lib/commonjs/components/FluentGlassTextInput.js +90 -0
  88. package/lib/commonjs/components/FluentGlassTextInput.js.map +1 -0
  89. package/lib/commonjs/components/FluentGlassTimeline.js +334 -0
  90. package/lib/commonjs/components/FluentGlassTimeline.js.map +1 -0
  91. package/lib/commonjs/components/FluentGlassWeatherWidget.js +72 -0
  92. package/lib/commonjs/components/FluentGlassWeatherWidget.js.map +1 -0
  93. package/lib/commonjs/components/index.js +308 -0
  94. package/lib/commonjs/components/index.js.map +1 -0
  95. package/lib/commonjs/fonts.js +33 -0
  96. package/lib/commonjs/fonts.js.map +1 -0
  97. package/lib/commonjs/hooks/useBreakpoint.js +57 -0
  98. package/lib/commonjs/hooks/useBreakpoint.js.map +1 -0
  99. package/lib/commonjs/index.js +462 -0
  100. package/lib/commonjs/index.js.map +1 -0
  101. package/lib/commonjs/package.json +1 -0
  102. package/lib/commonjs/theme/FluentGlassProvider.js +84 -0
  103. package/lib/commonjs/theme/FluentGlassProvider.js.map +1 -0
  104. package/lib/commonjs/theme/defaultTheme.js +55 -0
  105. package/lib/commonjs/theme/defaultTheme.js.map +1 -0
  106. package/lib/commonjs/theme/resolvers.js +118 -0
  107. package/lib/commonjs/theme/resolvers.js.map +1 -0
  108. package/lib/commonjs/theme/tokens.js +239 -0
  109. package/lib/commonjs/theme/tokens.js.map +1 -0
  110. package/lib/commonjs/theme/typography.js +50 -0
  111. package/lib/commonjs/theme/typography.js.map +1 -0
  112. package/lib/commonjs/theme/useTheme.js +22 -0
  113. package/lib/commonjs/theme/useTheme.js.map +1 -0
  114. package/lib/commonjs/types/components.js +6 -0
  115. package/lib/commonjs/types/components.js.map +1 -0
  116. package/lib/commonjs/types/theme.js +6 -0
  117. package/lib/commonjs/types/theme.js.map +1 -0
  118. package/lib/commonjs/utils/colors.js +59 -0
  119. package/lib/commonjs/utils/colors.js.map +1 -0
  120. package/lib/commonjs/utils/responsive.js +126 -0
  121. package/lib/commonjs/utils/responsive.js.map +1 -0
  122. package/lib/module/assets/fonts/Inter-Black.ttf +0 -0
  123. package/lib/module/assets/fonts/Inter-Bold.ttf +0 -0
  124. package/lib/module/assets/fonts/Inter-ExtraBold.ttf +0 -0
  125. package/lib/module/assets/fonts/Inter-Medium.ttf +0 -0
  126. package/lib/module/assets/fonts/Inter-Regular.ttf +0 -0
  127. package/lib/module/assets/fonts/Inter-SemiBold.ttf +0 -0
  128. package/lib/module/components/FluentGlass.js +89 -0
  129. package/lib/module/components/FluentGlass.js.map +1 -0
  130. package/lib/module/components/FluentGlassAlert.js +121 -0
  131. package/lib/module/components/FluentGlassAlert.js.map +1 -0
  132. package/lib/module/components/FluentGlassBadge.js +119 -0
  133. package/lib/module/components/FluentGlassBadge.js.map +1 -0
  134. package/lib/module/components/FluentGlassBarChart.js +281 -0
  135. package/lib/module/components/FluentGlassBarChart.js.map +1 -0
  136. package/lib/module/components/FluentGlassBreadcrumb.js +150 -0
  137. package/lib/module/components/FluentGlassBreadcrumb.js.map +1 -0
  138. package/lib/module/components/FluentGlassButton.js +169 -0
  139. package/lib/module/components/FluentGlassButton.js.map +1 -0
  140. package/lib/module/components/FluentGlassCalendarWidget.js +68 -0
  141. package/lib/module/components/FluentGlassCalendarWidget.js.map +1 -0
  142. package/lib/module/components/FluentGlassCard.js +190 -0
  143. package/lib/module/components/FluentGlassCard.js.map +1 -0
  144. package/lib/module/components/FluentGlassCheckbox.js +115 -0
  145. package/lib/module/components/FluentGlassCheckbox.js.map +1 -0
  146. package/lib/module/components/FluentGlassClockWidget.js +74 -0
  147. package/lib/module/components/FluentGlassClockWidget.js.map +1 -0
  148. package/lib/module/components/FluentGlassCodeBlock.js +233 -0
  149. package/lib/module/components/FluentGlassCodeBlock.js.map +1 -0
  150. package/lib/module/components/FluentGlassContainer.js +47 -0
  151. package/lib/module/components/FluentGlassContainer.js.map +1 -0
  152. package/lib/module/components/FluentGlassCrossfade.js +112 -0
  153. package/lib/module/components/FluentGlassCrossfade.js.map +1 -0
  154. package/lib/module/components/FluentGlassDateInput.js +170 -0
  155. package/lib/module/components/FluentGlassDateInput.js.map +1 -0
  156. package/lib/module/components/FluentGlassDatePicker.js +265 -0
  157. package/lib/module/components/FluentGlassDatePicker.js.map +1 -0
  158. package/lib/module/components/FluentGlassDialog.js +163 -0
  159. package/lib/module/components/FluentGlassDialog.js.map +1 -0
  160. package/lib/module/components/FluentGlassDock.js +181 -0
  161. package/lib/module/components/FluentGlassDock.js.map +1 -0
  162. package/lib/module/components/FluentGlassDropdown.js +343 -0
  163. package/lib/module/components/FluentGlassDropdown.js.map +1 -0
  164. package/lib/module/components/FluentGlassEmailInput.js +38 -0
  165. package/lib/module/components/FluentGlassEmailInput.js.map +1 -0
  166. package/lib/module/components/FluentGlassInput.js +78 -0
  167. package/lib/module/components/FluentGlassInput.js.map +1 -0
  168. package/lib/module/components/FluentGlassLabeledInput.js +59 -0
  169. package/lib/module/components/FluentGlassLabeledInput.js.map +1 -0
  170. package/lib/module/components/FluentGlassLayout.js +101 -0
  171. package/lib/module/components/FluentGlassLayout.js.map +1 -0
  172. package/lib/module/components/FluentGlassPasswordInput.js +54 -0
  173. package/lib/module/components/FluentGlassPasswordInput.js.map +1 -0
  174. package/lib/module/components/FluentGlassPopover.js +70 -0
  175. package/lib/module/components/FluentGlassPopover.js.map +1 -0
  176. package/lib/module/components/FluentGlassResponsiveRow.js +71 -0
  177. package/lib/module/components/FluentGlassResponsiveRow.js.map +1 -0
  178. package/lib/module/components/FluentGlassScrollArea.js +95 -0
  179. package/lib/module/components/FluentGlassScrollArea.js.map +1 -0
  180. package/lib/module/components/FluentGlassSegmentedControl.js +120 -0
  181. package/lib/module/components/FluentGlassSegmentedControl.js.map +1 -0
  182. package/lib/module/components/FluentGlassSelect.js +149 -0
  183. package/lib/module/components/FluentGlassSelect.js.map +1 -0
  184. package/lib/module/components/FluentGlassSeparator.js +57 -0
  185. package/lib/module/components/FluentGlassSeparator.js.map +1 -0
  186. package/lib/module/components/FluentGlassSheet.js +183 -0
  187. package/lib/module/components/FluentGlassSheet.js.map +1 -0
  188. package/lib/module/components/FluentGlassSidebar.js +351 -0
  189. package/lib/module/components/FluentGlassSidebar.js.map +1 -0
  190. package/lib/module/components/FluentGlassSimpleCard.js +51 -0
  191. package/lib/module/components/FluentGlassSimpleCard.js.map +1 -0
  192. package/lib/module/components/FluentGlassSkeleton.js +46 -0
  193. package/lib/module/components/FluentGlassSkeleton.js.map +1 -0
  194. package/lib/module/components/FluentGlassSlider.js +191 -0
  195. package/lib/module/components/FluentGlassSlider.js.map +1 -0
  196. package/lib/module/components/FluentGlassStatWidget.js +128 -0
  197. package/lib/module/components/FluentGlassStatWidget.js.map +1 -0
  198. package/lib/module/components/FluentGlassStatusIndicator.js +84 -0
  199. package/lib/module/components/FluentGlassStatusIndicator.js.map +1 -0
  200. package/lib/module/components/FluentGlassSwitch.js +122 -0
  201. package/lib/module/components/FluentGlassSwitch.js.map +1 -0
  202. package/lib/module/components/FluentGlassTable.js +158 -0
  203. package/lib/module/components/FluentGlassTable.js.map +1 -0
  204. package/lib/module/components/FluentGlassTag.js +103 -0
  205. package/lib/module/components/FluentGlassTag.js.map +1 -0
  206. package/lib/module/components/FluentGlassTextInput.js +85 -0
  207. package/lib/module/components/FluentGlassTextInput.js.map +1 -0
  208. package/lib/module/components/FluentGlassTimeline.js +327 -0
  209. package/lib/module/components/FluentGlassTimeline.js.map +1 -0
  210. package/lib/module/components/FluentGlassWeatherWidget.js +67 -0
  211. package/lib/module/components/FluentGlassWeatherWidget.js.map +1 -0
  212. package/lib/module/components/index.js +45 -0
  213. package/lib/module/components/index.js.map +1 -0
  214. package/lib/module/fonts.js +26 -0
  215. package/lib/module/fonts.js.map +1 -0
  216. package/lib/module/hooks/useBreakpoint.js +54 -0
  217. package/lib/module/hooks/useBreakpoint.js.map +1 -0
  218. package/lib/module/index.js +30 -0
  219. package/lib/module/index.js.map +1 -0
  220. package/lib/module/theme/FluentGlassProvider.js +77 -0
  221. package/lib/module/theme/FluentGlassProvider.js.map +1 -0
  222. package/lib/module/theme/defaultTheme.js +51 -0
  223. package/lib/module/theme/defaultTheme.js.map +1 -0
  224. package/lib/module/theme/resolvers.js +110 -0
  225. package/lib/module/theme/resolvers.js.map +1 -0
  226. package/lib/module/theme/tokens.js +235 -0
  227. package/lib/module/theme/tokens.js.map +1 -0
  228. package/lib/module/theme/typography.js +45 -0
  229. package/lib/module/theme/typography.js.map +1 -0
  230. package/lib/module/theme/useTheme.js +18 -0
  231. package/lib/module/theme/useTheme.js.map +1 -0
  232. package/lib/module/types/components.js +4 -0
  233. package/lib/module/types/components.js.map +1 -0
  234. package/lib/module/types/theme.js +4 -0
  235. package/lib/module/types/theme.js.map +1 -0
  236. package/lib/module/utils/colors.js +55 -0
  237. package/lib/module/utils/colors.js.map +1 -0
  238. package/lib/module/utils/responsive.js +116 -0
  239. package/lib/module/utils/responsive.js.map +1 -0
  240. package/lib/typescript/components/FluentGlass.d.ts +25 -0
  241. package/lib/typescript/components/FluentGlass.d.ts.map +1 -0
  242. package/lib/typescript/components/FluentGlassAlert.d.ts +13 -0
  243. package/lib/typescript/components/FluentGlassAlert.d.ts.map +1 -0
  244. package/lib/typescript/components/FluentGlassBadge.d.ts +22 -0
  245. package/lib/typescript/components/FluentGlassBadge.d.ts.map +1 -0
  246. package/lib/typescript/components/FluentGlassBarChart.d.ts +30 -0
  247. package/lib/typescript/components/FluentGlassBarChart.d.ts.map +1 -0
  248. package/lib/typescript/components/FluentGlassBreadcrumb.d.ts +22 -0
  249. package/lib/typescript/components/FluentGlassBreadcrumb.d.ts.map +1 -0
  250. package/lib/typescript/components/FluentGlassButton.d.ts +27 -0
  251. package/lib/typescript/components/FluentGlassButton.d.ts.map +1 -0
  252. package/lib/typescript/components/FluentGlassCalendarWidget.d.ts +13 -0
  253. package/lib/typescript/components/FluentGlassCalendarWidget.d.ts.map +1 -0
  254. package/lib/typescript/components/FluentGlassCard.d.ts +30 -0
  255. package/lib/typescript/components/FluentGlassCard.d.ts.map +1 -0
  256. package/lib/typescript/components/FluentGlassCheckbox.d.ts +14 -0
  257. package/lib/typescript/components/FluentGlassCheckbox.d.ts.map +1 -0
  258. package/lib/typescript/components/FluentGlassClockWidget.d.ts +11 -0
  259. package/lib/typescript/components/FluentGlassClockWidget.d.ts.map +1 -0
  260. package/lib/typescript/components/FluentGlassCodeBlock.d.ts +11 -0
  261. package/lib/typescript/components/FluentGlassCodeBlock.d.ts.map +1 -0
  262. package/lib/typescript/components/FluentGlassContainer.d.ts +22 -0
  263. package/lib/typescript/components/FluentGlassContainer.d.ts.map +1 -0
  264. package/lib/typescript/components/FluentGlassCrossfade.d.ts +24 -0
  265. package/lib/typescript/components/FluentGlassCrossfade.d.ts.map +1 -0
  266. package/lib/typescript/components/FluentGlassDateInput.d.ts +18 -0
  267. package/lib/typescript/components/FluentGlassDateInput.d.ts.map +1 -0
  268. package/lib/typescript/components/FluentGlassDatePicker.d.ts +9 -0
  269. package/lib/typescript/components/FluentGlassDatePicker.d.ts.map +1 -0
  270. package/lib/typescript/components/FluentGlassDialog.d.ts +18 -0
  271. package/lib/typescript/components/FluentGlassDialog.d.ts.map +1 -0
  272. package/lib/typescript/components/FluentGlassDock.d.ts +19 -0
  273. package/lib/typescript/components/FluentGlassDock.d.ts.map +1 -0
  274. package/lib/typescript/components/FluentGlassDropdown.d.ts +23 -0
  275. package/lib/typescript/components/FluentGlassDropdown.d.ts.map +1 -0
  276. package/lib/typescript/components/FluentGlassEmailInput.d.ts +17 -0
  277. package/lib/typescript/components/FluentGlassEmailInput.d.ts.map +1 -0
  278. package/lib/typescript/components/FluentGlassInput.d.ts +12 -0
  279. package/lib/typescript/components/FluentGlassInput.d.ts.map +1 -0
  280. package/lib/typescript/components/FluentGlassLabeledInput.d.ts +19 -0
  281. package/lib/typescript/components/FluentGlassLabeledInput.d.ts.map +1 -0
  282. package/lib/typescript/components/FluentGlassLayout.d.ts +11 -0
  283. package/lib/typescript/components/FluentGlassLayout.d.ts.map +1 -0
  284. package/lib/typescript/components/FluentGlassPasswordInput.d.ts +15 -0
  285. package/lib/typescript/components/FluentGlassPasswordInput.d.ts.map +1 -0
  286. package/lib/typescript/components/FluentGlassPopover.d.ts +17 -0
  287. package/lib/typescript/components/FluentGlassPopover.d.ts.map +1 -0
  288. package/lib/typescript/components/FluentGlassResponsiveRow.d.ts +25 -0
  289. package/lib/typescript/components/FluentGlassResponsiveRow.d.ts.map +1 -0
  290. package/lib/typescript/components/FluentGlassScrollArea.d.ts +16 -0
  291. package/lib/typescript/components/FluentGlassScrollArea.d.ts.map +1 -0
  292. package/lib/typescript/components/FluentGlassSegmentedControl.d.ts +15 -0
  293. package/lib/typescript/components/FluentGlassSegmentedControl.d.ts.map +1 -0
  294. package/lib/typescript/components/FluentGlassSelect.d.ts +23 -0
  295. package/lib/typescript/components/FluentGlassSelect.d.ts.map +1 -0
  296. package/lib/typescript/components/FluentGlassSeparator.d.ts +13 -0
  297. package/lib/typescript/components/FluentGlassSeparator.d.ts.map +1 -0
  298. package/lib/typescript/components/FluentGlassSheet.d.ts +11 -0
  299. package/lib/typescript/components/FluentGlassSheet.d.ts.map +1 -0
  300. package/lib/typescript/components/FluentGlassSidebar.d.ts +44 -0
  301. package/lib/typescript/components/FluentGlassSidebar.d.ts.map +1 -0
  302. package/lib/typescript/components/FluentGlassSimpleCard.d.ts +19 -0
  303. package/lib/typescript/components/FluentGlassSimpleCard.d.ts.map +1 -0
  304. package/lib/typescript/components/FluentGlassSkeleton.d.ts +14 -0
  305. package/lib/typescript/components/FluentGlassSkeleton.d.ts.map +1 -0
  306. package/lib/typescript/components/FluentGlassSlider.d.ts +31 -0
  307. package/lib/typescript/components/FluentGlassSlider.d.ts.map +1 -0
  308. package/lib/typescript/components/FluentGlassStatWidget.d.ts +17 -0
  309. package/lib/typescript/components/FluentGlassStatWidget.d.ts.map +1 -0
  310. package/lib/typescript/components/FluentGlassStatusIndicator.d.ts +16 -0
  311. package/lib/typescript/components/FluentGlassStatusIndicator.d.ts.map +1 -0
  312. package/lib/typescript/components/FluentGlassSwitch.d.ts +13 -0
  313. package/lib/typescript/components/FluentGlassSwitch.d.ts.map +1 -0
  314. package/lib/typescript/components/FluentGlassTable.d.ts +50 -0
  315. package/lib/typescript/components/FluentGlassTable.d.ts.map +1 -0
  316. package/lib/typescript/components/FluentGlassTag.d.ts +18 -0
  317. package/lib/typescript/components/FluentGlassTag.d.ts.map +1 -0
  318. package/lib/typescript/components/FluentGlassTextInput.d.ts +21 -0
  319. package/lib/typescript/components/FluentGlassTextInput.d.ts.map +1 -0
  320. package/lib/typescript/components/FluentGlassTimeline.d.ts +27 -0
  321. package/lib/typescript/components/FluentGlassTimeline.d.ts.map +1 -0
  322. package/lib/typescript/components/FluentGlassWeatherWidget.d.ts +13 -0
  323. package/lib/typescript/components/FluentGlassWeatherWidget.d.ts.map +1 -0
  324. package/lib/typescript/components/index.d.ts +43 -0
  325. package/lib/typescript/components/index.d.ts.map +1 -0
  326. package/lib/typescript/fonts.d.ts +13 -0
  327. package/lib/typescript/fonts.d.ts.map +1 -0
  328. package/lib/typescript/hooks/useBreakpoint.d.ts +26 -0
  329. package/lib/typescript/hooks/useBreakpoint.d.ts.map +1 -0
  330. package/lib/typescript/index.d.ts +18 -0
  331. package/lib/typescript/index.d.ts.map +1 -0
  332. package/lib/typescript/theme/FluentGlassProvider.d.ts +21 -0
  333. package/lib/typescript/theme/FluentGlassProvider.d.ts.map +1 -0
  334. package/lib/typescript/theme/defaultTheme.d.ts +10 -0
  335. package/lib/typescript/theme/defaultTheme.d.ts.map +1 -0
  336. package/lib/typescript/theme/resolvers.d.ts +55 -0
  337. package/lib/typescript/theme/resolvers.d.ts.map +1 -0
  338. package/lib/typescript/theme/tokens.d.ts +27 -0
  339. package/lib/typescript/theme/tokens.d.ts.map +1 -0
  340. package/lib/typescript/theme/typography.d.ts +27 -0
  341. package/lib/typescript/theme/typography.d.ts.map +1 -0
  342. package/lib/typescript/theme/useTheme.d.ts +12 -0
  343. package/lib/typescript/theme/useTheme.d.ts.map +1 -0
  344. package/lib/typescript/types/components.d.ts +32 -0
  345. package/lib/typescript/types/components.d.ts.map +1 -0
  346. package/lib/typescript/types/theme.d.ts +79 -0
  347. package/lib/typescript/types/theme.d.ts.map +1 -0
  348. package/lib/typescript/utils/colors.d.ts +3 -0
  349. package/lib/typescript/utils/colors.d.ts.map +1 -0
  350. package/lib/typescript/utils/responsive.d.ts +62 -0
  351. package/lib/typescript/utils/responsive.d.ts.map +1 -0
  352. package/package.json +90 -0
  353. package/src/assets/fonts/Inter-Black.ttf +0 -0
  354. package/src/assets/fonts/Inter-Bold.ttf +0 -0
  355. package/src/assets/fonts/Inter-ExtraBold.ttf +0 -0
  356. package/src/assets/fonts/Inter-Medium.ttf +0 -0
  357. package/src/assets/fonts/Inter-Regular.ttf +0 -0
  358. package/src/assets/fonts/Inter-SemiBold.ttf +0 -0
  359. package/src/components/FluentGlass.tsx +103 -0
  360. package/src/components/FluentGlassAlert.tsx +126 -0
  361. package/src/components/FluentGlassBadge.tsx +109 -0
  362. package/src/components/FluentGlassBarChart.tsx +295 -0
  363. package/src/components/FluentGlassBreadcrumb.tsx +173 -0
  364. package/src/components/FluentGlassButton.tsx +169 -0
  365. package/src/components/FluentGlassCalendarWidget.tsx +55 -0
  366. package/src/components/FluentGlassCard.tsx +186 -0
  367. package/src/components/FluentGlassCheckbox.tsx +138 -0
  368. package/src/components/FluentGlassClockWidget.tsx +61 -0
  369. package/src/components/FluentGlassCodeBlock.tsx +241 -0
  370. package/src/components/FluentGlassContainer.tsx +63 -0
  371. package/src/components/FluentGlassCrossfade.tsx +122 -0
  372. package/src/components/FluentGlassDateInput.tsx +182 -0
  373. package/src/components/FluentGlassDatePicker.tsx +224 -0
  374. package/src/components/FluentGlassDialog.tsx +153 -0
  375. package/src/components/FluentGlassDock.tsx +194 -0
  376. package/src/components/FluentGlassDropdown.tsx +382 -0
  377. package/src/components/FluentGlassEmailInput.tsx +46 -0
  378. package/src/components/FluentGlassInput.tsx +77 -0
  379. package/src/components/FluentGlassLabeledInput.tsx +63 -0
  380. package/src/components/FluentGlassLayout.tsx +89 -0
  381. package/src/components/FluentGlassPasswordInput.tsx +59 -0
  382. package/src/components/FluentGlassPopover.tsx +74 -0
  383. package/src/components/FluentGlassResponsiveRow.tsx +76 -0
  384. package/src/components/FluentGlassScrollArea.tsx +110 -0
  385. package/src/components/FluentGlassSegmentedControl.tsx +140 -0
  386. package/src/components/FluentGlassSelect.tsx +139 -0
  387. package/src/components/FluentGlassSeparator.tsx +54 -0
  388. package/src/components/FluentGlassSheet.tsx +183 -0
  389. package/src/components/FluentGlassSidebar.tsx +349 -0
  390. package/src/components/FluentGlassSimpleCard.tsx +59 -0
  391. package/src/components/FluentGlassSkeleton.tsx +69 -0
  392. package/src/components/FluentGlassSlider.tsx +202 -0
  393. package/src/components/FluentGlassStatWidget.tsx +107 -0
  394. package/src/components/FluentGlassStatusIndicator.tsx +82 -0
  395. package/src/components/FluentGlassSwitch.tsx +130 -0
  396. package/src/components/FluentGlassTable.tsx +145 -0
  397. package/src/components/FluentGlassTag.tsx +98 -0
  398. package/src/components/FluentGlassTextInput.tsx +87 -0
  399. package/src/components/FluentGlassTimeline.tsx +335 -0
  400. package/src/components/FluentGlassWeatherWidget.tsx +54 -0
  401. package/src/components/index.ts +42 -0
  402. package/src/fonts.ts +24 -0
  403. package/src/hooks/useBreakpoint.ts +55 -0
  404. package/src/index.ts +97 -0
  405. package/src/theme/FluentGlassProvider.tsx +82 -0
  406. package/src/theme/defaultTheme.ts +44 -0
  407. package/src/theme/resolvers.ts +115 -0
  408. package/src/theme/tokens.ts +200 -0
  409. package/src/theme/typography.ts +41 -0
  410. package/src/theme/useTheme.ts +17 -0
  411. package/src/types/components.ts +47 -0
  412. package/src/types/theme.ts +82 -0
  413. package/src/utils/colors.ts +55 -0
  414. package/src/utils/responsive.ts +110 -0
@@ -0,0 +1,44 @@
1
+ /**
2
+ * FluentGlass Default Theme — Deep Liquid Dark
3
+ *
4
+ * This is the out-of-the-box theme. Users can override any part
5
+ * via FluentGlassProvider's `theme` prop (deep merged).
6
+ */
7
+
8
+ import { COLORS } from '../utils/colors';
9
+ import { COLOR_SCHEMES, SIZE_PRESETS, BLUR_PRESETS, RADIUS_PRESETS, ANIMATION_PRESETS } from './tokens';
10
+ import { FONT_FAMILIES } from './typography';
11
+ import { FluentGlassTheme } from '../types/theme';
12
+
13
+ const defaultTheme: FluentGlassTheme = {
14
+ // Core color palette
15
+ colors: { ...COLORS },
16
+
17
+ // Color schemes for components
18
+ colorSchemes: { ...COLOR_SCHEMES },
19
+
20
+ // Size presets
21
+ sizes: { ...SIZE_PRESETS },
22
+
23
+ // Blur presets
24
+ blurs: { ...BLUR_PRESETS },
25
+
26
+ // Radius presets
27
+ radii: { ...RADIUS_PRESETS },
28
+
29
+ // Animation presets
30
+ animations: { ...ANIMATION_PRESETS },
31
+
32
+ // Typography
33
+ typography: { ...FONT_FAMILIES },
34
+
35
+ // Global defaults applied to all components unless overridden per-component
36
+ defaults: {
37
+ size: 'md',
38
+ colorScheme: 'default',
39
+ blur: 'medium',
40
+ radius: 'md',
41
+ },
42
+ };
43
+
44
+ export default defaultTheme;
@@ -0,0 +1,115 @@
1
+ /**
2
+ * FluentGlass Theme Resolvers
3
+ *
4
+ * Utility functions that convert prop values (size="lg", colorScheme="success")
5
+ * into concrete style objects using the theme's tokens.
6
+ *
7
+ * Usage in components:
8
+ * const theme = useTheme();
9
+ * const sizeStyles = resolveSize(theme, size || theme.defaults.size);
10
+ * const colorStyles = resolveColorScheme(theme, colorScheme || theme.defaults.colorScheme);
11
+ * const blurConfig = resolveBlur(theme, blur || theme.defaults.blur);
12
+ * const radiusValue = resolveRadius(theme, radius || theme.defaults.radius);
13
+ */
14
+
15
+ import { FluentGlassTheme, SizeConfig, ColorSchemeConfig, BlurConfig } from '../types/theme';
16
+ import { FluentGlassSize, FluentGlassColorScheme, FluentGlassBlur, FluentGlassRadius } from '../types/components';
17
+
18
+ /**
19
+ * Resolve size prop → { paddingHorizontal, paddingVertical, fontSize, minHeight, borderRadius, iconSize, gap }
20
+ */
21
+ export function resolveSize(theme: FluentGlassTheme, size: FluentGlassSize | string = 'md'): SizeConfig {
22
+ return theme.sizes[size] || theme.sizes.md;
23
+ }
24
+
25
+ /**
26
+ * Resolve colorScheme prop → { solid, bg, border, text, tint }
27
+ */
28
+ export function resolveColorScheme(theme: FluentGlassTheme, colorScheme: FluentGlassColorScheme | string = 'default'): ColorSchemeConfig {
29
+ return theme.colorSchemes[colorScheme] || theme.colorSchemes.default;
30
+ }
31
+
32
+ /**
33
+ * Resolve blur prop → { intensity, tintAlpha }
34
+ */
35
+ export function resolveBlur(theme: FluentGlassTheme, blur: FluentGlassBlur | string = 'medium'): BlurConfig {
36
+ return theme.blurs[blur] || theme.blurs.medium;
37
+ }
38
+
39
+ /**
40
+ * Resolve radius prop → number
41
+ */
42
+ export function resolveRadius(theme: FluentGlassTheme, radius: FluentGlassRadius | string = 'md'): number {
43
+ return theme.radii[radius as string] ?? theme.radii.md;
44
+ }
45
+
46
+ /**
47
+ * Backward compatibility: map old prop names to new ones.
48
+ *
49
+ * - variant="primary" → colorScheme="info"
50
+ * - variant="secondary" → colorScheme="default"
51
+ * - variant="ghost" → colorScheme="default" (with blur="none")
52
+ * - type="success" → colorScheme="success"
53
+ * - type="error" → colorScheme="error"
54
+ * - tint="dark" → colorScheme="dark"
55
+ * - tint="deep" → colorScheme="deep"
56
+ * - intensity=40 → blur="strong"
57
+ */
58
+ export function resolveBackwardCompat({ variant, type, tint, intensity, colorScheme, blur }: {
59
+ variant?: string;
60
+ type?: string;
61
+ tint?: string;
62
+ intensity?: number;
63
+ colorScheme?: FluentGlassColorScheme | string;
64
+ blur?: FluentGlassBlur | string;
65
+ }): { colorScheme: FluentGlassColorScheme | string | undefined, blur: FluentGlassBlur | string | undefined } {
66
+ let resolvedColorScheme = colorScheme;
67
+ let resolvedBlur = blur;
68
+
69
+ // Map variant → colorScheme (Button, Badge)
70
+ if (!resolvedColorScheme && variant) {
71
+ const variantMap: Record<string, FluentGlassColorScheme> = {
72
+ primary: 'info',
73
+ secondary: 'default',
74
+ ghost: 'default',
75
+ destructive: 'error',
76
+ outline: 'default',
77
+ };
78
+ resolvedColorScheme = variantMap[variant] || variant;
79
+ }
80
+
81
+ // Map type → colorScheme (Alert)
82
+ if (!resolvedColorScheme && type) {
83
+ resolvedColorScheme = type; // success, error, warning, info map 1:1
84
+ }
85
+
86
+ // Map tint → colorScheme (FluentGlass atom)
87
+ if (!resolvedColorScheme && tint) {
88
+ const tintMap: Record<string, FluentGlassColorScheme> = {
89
+ dark: 'dark',
90
+ deep: 'deep',
91
+ light: 'light',
92
+ default: 'default',
93
+ };
94
+ resolvedColorScheme = tintMap[tint] || 'default';
95
+ }
96
+
97
+ // Map intensity → blur
98
+ if (!resolvedBlur && intensity !== undefined) {
99
+ if (intensity === 0) resolvedBlur = 'none';
100
+ else if (intensity <= 10) resolvedBlur = 'subtle';
101
+ else if (intensity <= 20) resolvedBlur = 'medium';
102
+ else if (intensity <= 40) resolvedBlur = 'strong';
103
+ else resolvedBlur = 'max';
104
+ }
105
+
106
+ // Ghost variant also implies no blur
107
+ if (variant === 'ghost' && !resolvedBlur) {
108
+ resolvedBlur = 'none';
109
+ }
110
+
111
+ return {
112
+ colorScheme: resolvedColorScheme,
113
+ blur: resolvedBlur,
114
+ };
115
+ }
@@ -0,0 +1,200 @@
1
+ /**
2
+ * FluentGlass Design Tokens
3
+ *
4
+ * Centralized definition of all design tokens:
5
+ * - Size scales (xs → xl)
6
+ * - Color schemes (default, dark, deep, light, success, error, warning, info)
7
+ * - Blur intensities (none → max)
8
+ * - Border radius presets (none → pill)
9
+ */
10
+
11
+ import { SizeConfig, ColorSchemeConfig, BlurConfig } from '../types/theme';
12
+
13
+ // ─── SIZE TOKENS ────────────────────────────────────────────
14
+
15
+ export const SIZE_SCALE: Record<string, number> = {
16
+ xs: 0.7,
17
+ sm: 0.85,
18
+ md: 1,
19
+ lg: 1.2,
20
+ xl: 1.5,
21
+ };
22
+
23
+ /**
24
+ * Resolved size values for common properties.
25
+ * Each size key maps to concrete padding, fontSize, minHeight, borderRadius, and iconSize.
26
+ */
27
+ export const SIZE_PRESETS: Record<string, SizeConfig> = {
28
+ xs: {
29
+ paddingHorizontal: 8,
30
+ paddingVertical: 4,
31
+ fontSize: 11,
32
+ minHeight: 28,
33
+ borderRadius: 6,
34
+ iconSize: 12,
35
+ gap: 4,
36
+ },
37
+ sm: {
38
+ paddingHorizontal: 12,
39
+ paddingVertical: 6,
40
+ fontSize: 13,
41
+ minHeight: 34,
42
+ borderRadius: 10,
43
+ iconSize: 14,
44
+ gap: 6,
45
+ },
46
+ md: {
47
+ paddingHorizontal: 16,
48
+ paddingVertical: 10,
49
+ fontSize: 15,
50
+ minHeight: 42,
51
+ borderRadius: 12,
52
+ iconSize: 16,
53
+ gap: 8,
54
+ },
55
+ lg: {
56
+ paddingHorizontal: 20,
57
+ paddingVertical: 14,
58
+ fontSize: 17,
59
+ minHeight: 50,
60
+ borderRadius: 14,
61
+ iconSize: 20,
62
+ gap: 10,
63
+ },
64
+ xl: {
65
+ paddingHorizontal: 24,
66
+ paddingVertical: 18,
67
+ fontSize: 20,
68
+ minHeight: 58,
69
+ borderRadius: 16,
70
+ iconSize: 24,
71
+ gap: 12,
72
+ },
73
+ };
74
+
75
+ // ─── COLOR SCHEME TOKENS ────────────────────────────────────
76
+
77
+ /**
78
+ * Color scheme definitions.
79
+ * Each scheme defines: solid (hex), bg (low-alpha tint), border (medium-alpha), text
80
+ * Glass tints (default, dark, deep, light) use rgba backgrounds.
81
+ * Semantic colors (success, error, warning, info) use accent-tinted glass.
82
+ */
83
+ export const COLOR_SCHEMES: Record<string, ColorSchemeConfig> = {
84
+ // Glass Structure tints
85
+ default: {
86
+ solid: 'rgba(15, 23, 42, 0.5)',
87
+ bg: 'rgba(15, 23, 42, 0.5)',
88
+ border: 'rgba(148, 163, 184, 0.2)',
89
+ text: '#F8FAFC',
90
+ tint: 'dark', // BlurView tint
91
+ },
92
+ dark: {
93
+ solid: 'rgba(15, 23, 42, 0.7)',
94
+ bg: 'rgba(15, 23, 42, 0.7)',
95
+ border: 'rgba(148, 163, 184, 0.2)',
96
+ text: '#F8FAFC',
97
+ tint: 'dark',
98
+ },
99
+ deep: {
100
+ solid: 'rgba(2, 6, 23, 0.85)',
101
+ bg: 'rgba(2, 6, 23, 0.85)',
102
+ border: 'rgba(148, 163, 184, 0.15)',
103
+ text: '#F8FAFC',
104
+ tint: 'dark',
105
+ },
106
+ light: {
107
+ solid: 'rgba(255, 255, 255, 0.04)',
108
+ bg: 'rgba(255, 255, 255, 0.04)',
109
+ border: 'rgba(255, 255, 255, 0.1)',
110
+ text: '#F8FAFC',
111
+ tint: 'light',
112
+ },
113
+
114
+ // Semantic colors (from Alert component)
115
+ success: {
116
+ solid: '#10B981',
117
+ bg: 'rgba(16, 185, 129, 0.25)',
118
+ border: 'rgba(16, 185, 129, 0.4)',
119
+ text: '#10B981',
120
+ tint: 'default',
121
+ },
122
+ error: {
123
+ solid: '#EF4444',
124
+ bg: 'rgba(239, 68, 68, 0.25)',
125
+ border: 'rgba(239, 68, 68, 0.4)',
126
+ text: '#EF4444',
127
+ tint: 'default',
128
+ },
129
+ warning: {
130
+ solid: '#F59E0B',
131
+ bg: 'rgba(245, 158, 11, 0.25)',
132
+ border: 'rgba(245, 158, 11, 0.4)',
133
+ text: '#F59E0B',
134
+ tint: 'default',
135
+ },
136
+ info: {
137
+ solid: '#06B6D4',
138
+ bg: 'rgba(6, 182, 212, 0.25)',
139
+ border: 'rgba(6, 182, 212, 0.4)',
140
+ text: '#06B6D4',
141
+ tint: 'default',
142
+ },
143
+ purple: {
144
+ solid: '#8B5CF6',
145
+ bg: 'rgba(139, 92, 246, 0.25)',
146
+ border: 'rgba(139, 92, 246, 0.4)',
147
+ text: '#8B5CF6',
148
+ tint: 'default',
149
+ },
150
+ blue: {
151
+ solid: '#3B82F6',
152
+ bg: 'rgba(59, 130, 246, 0.25)',
153
+ border: 'rgba(59, 130, 246, 0.4)',
154
+ text: '#3B82F6',
155
+ tint: 'default',
156
+ },
157
+ pink: {
158
+ solid: '#EC4899',
159
+ bg: 'rgba(236, 72, 153, 0.25)',
160
+ border: 'rgba(236, 72, 153, 0.4)',
161
+ text: '#EC4899',
162
+ tint: 'default',
163
+ },
164
+ };
165
+
166
+ // ─── BLUR TOKENS ────────────────────────────────────────────
167
+
168
+ export const BLUR_PRESETS: Record<string, BlurConfig> = {
169
+ none: { intensity: 0, tintAlpha: 0 },
170
+ subtle: { intensity: 10, tintAlpha: 0.3 },
171
+ medium: { intensity: 20, tintAlpha: 0.5 },
172
+ strong: { intensity: 40, tintAlpha: 0.7 },
173
+ max: { intensity: 60, tintAlpha: 0.85 },
174
+ };
175
+
176
+ // ─── RADIUS TOKENS ──────────────────────────────────────────
177
+
178
+ export const RADIUS_PRESETS: Record<string, number> = {
179
+ none: 0,
180
+ sm: 6,
181
+ md: 12,
182
+ lg: 16,
183
+ pill: 9999,
184
+ };
185
+
186
+ // ─── ANIMATION TOKENS ──────────────────────────────────────
187
+
188
+ export const ANIMATION_PRESETS: any = {
189
+ spring: {
190
+ gentle: { mass: 0.8, damping: 14, stiffness: 100, overshootClamping: false },
191
+ default: { mass: 0.6, damping: 16, stiffness: 140, overshootClamping: false },
192
+ snappy: { mass: 0.4, damping: 18, stiffness: 200, overshootClamping: false },
193
+ bouncy: { mass: 0.5, damping: 15, stiffness: 160, overshootClamping: false },
194
+ },
195
+ crossfade: {
196
+ fadeOutDuration: 120,
197
+ fadeInDuration: 200,
198
+ translateY: 6,
199
+ },
200
+ };
@@ -0,0 +1,41 @@
1
+ /**
2
+ * FluentGlass Typography Tokens
3
+ *
4
+ * Font family definitions for Inter typeface.
5
+ * In React Native, each font weight requires its own font file,
6
+ * so we map numeric weights to specific font family names.
7
+ */
8
+
9
+ export const FONT_FAMILIES = {
10
+ regular: 'Inter-Regular',
11
+ medium: 'Inter-Medium',
12
+ semiBold: 'Inter-SemiBold',
13
+ bold: 'Inter-Bold',
14
+ extraBold: 'Inter-ExtraBold',
15
+ black: 'Inter-Black',
16
+ mono: 'monospace',
17
+ };
18
+
19
+ /**
20
+ * Maps numeric fontWeight values to their corresponding Inter fontFamily.
21
+ * Usage: { fontFamily: WEIGHT_TO_FAMILY['700'] } instead of { fontWeight: '700' }
22
+ */
23
+ export const WEIGHT_TO_FAMILY: Record<string, string> = {
24
+ '300': 'Inter-Regular', // Light → fallback to Regular
25
+ '400': 'Inter-Regular',
26
+ 'normal': 'Inter-Regular',
27
+ '500': 'Inter-Medium',
28
+ '600': 'Inter-SemiBold',
29
+ '700': 'Inter-Bold',
30
+ 'bold': 'Inter-Bold',
31
+ '800': 'Inter-ExtraBold',
32
+ '900': 'Inter-Black',
33
+ };
34
+
35
+ /**
36
+ * Helper: given a fontWeight (string or number), returns the correct fontFamily.
37
+ * Falls back to Inter-Regular if weight is not mapped.
38
+ */
39
+ export function getFontFamily(weight = '400') {
40
+ return WEIGHT_TO_FAMILY[String(weight)] || FONT_FAMILIES.regular;
41
+ }
@@ -0,0 +1,17 @@
1
+ /**
2
+ * useTheme — Hook to access the current FluentGlass theme.
3
+ *
4
+ * Usage:
5
+ * const theme = useTheme();
6
+ * const { colors, colorSchemes, sizes, blurs, radii, defaults } = theme;
7
+ *
8
+ * Works with or without FluentGlassProvider (falls back to defaultTheme).
9
+ */
10
+
11
+ import { useContext } from 'react';
12
+ import { ThemeContext } from './FluentGlassProvider';
13
+ import { FluentGlassTheme } from '../types/theme';
14
+
15
+ export default function useTheme(): FluentGlassTheme {
16
+ return useContext(ThemeContext) as FluentGlassTheme;
17
+ }
@@ -0,0 +1,47 @@
1
+ import { AccessibilityRole, AccessibilityState, AccessibilityValue } from 'react-native';
2
+
3
+ export type FluentGlassSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
4
+ export type FluentGlassColorScheme =
5
+ | 'default'
6
+ | 'dark'
7
+ | 'deep'
8
+ | 'light'
9
+ | 'success'
10
+ | 'warning'
11
+ | 'error'
12
+ | 'info'
13
+ | 'purple'
14
+ | 'blue'
15
+ | 'pink';
16
+ export type FluentGlassBlur = 'none' | 'subtle' | 'medium' | 'strong' | 'max';
17
+ export type FluentGlassRadius = 'none' | 'sm' | 'md' | 'lg' | 'pill';
18
+
19
+ // Accessibility props shared across all components
20
+ export interface FluentGlassA11yProps {
21
+ /** Text read by screen readers to identify the element. */
22
+ accessibilityLabel?: string;
23
+ /** Additional hint read after the label (e.g., "Double tap to activate"). */
24
+ accessibilityHint?: string;
25
+ /** Semantic role for assistive technology. */
26
+ accessibilityRole?: AccessibilityRole;
27
+ /** Current state (checked, disabled, expanded, selected, busy). */
28
+ accessibilityState?: AccessibilityState;
29
+ /** Numeric value info for sliders/progress (min, max, now, text). */
30
+ accessibilityValue?: AccessibilityValue;
31
+ /** When true, VoiceOver ignores elements behind this view (for modals). */
32
+ accessibilityViewIsModal?: boolean;
33
+ /** Whether the element is an accessibility element. */
34
+ accessible?: boolean;
35
+ }
36
+
37
+ // Base props applicable to all/most components
38
+ export interface FluentGlassBaseProps extends FluentGlassA11yProps {
39
+ /** Preset size defining padding, height, and typography. */
40
+ size?: FluentGlassSize | string;
41
+ /** Distinct visual color schema to apply to the glass material. */
42
+ colorScheme?: FluentGlassColorScheme | string;
43
+ /** Intensity of the frosted glass blur. */
44
+ blur?: FluentGlassBlur | string;
45
+ /** Controls border rounding. */
46
+ radius?: FluentGlassRadius | string;
47
+ }
@@ -0,0 +1,82 @@
1
+ import { ColorValue } from 'react-native';
2
+
3
+ export interface ThemeColors {
4
+ background: string;
5
+ card: string;
6
+ inputBg: string;
7
+ border: string;
8
+ textPrimary: string;
9
+ textSecondary: string;
10
+ textInput: string;
11
+ accent: string;
12
+ secondary: string;
13
+ positive: string;
14
+ negative: string;
15
+ warning: string;
16
+ purple: string;
17
+ pink: string;
18
+ glass: string;
19
+ glassText: string;
20
+ transparent: string;
21
+ white: string;
22
+ black: string;
23
+ overlay: string;
24
+ shadow: string;
25
+ borderSubtle: string;
26
+ }
27
+
28
+ export interface SizeConfig {
29
+ paddingHorizontal: number;
30
+ paddingVertical: number;
31
+ fontSize: number;
32
+ minHeight: number;
33
+ borderRadius: number;
34
+ iconSize?: number;
35
+ gap?: number;
36
+ }
37
+
38
+ export interface ColorSchemeConfig {
39
+ solid: string;
40
+ bg: string;
41
+ border: string;
42
+ text: string;
43
+ tint: 'light' | 'dark' | 'default';
44
+ }
45
+
46
+ export interface BlurConfig {
47
+ intensity: number;
48
+ tintAlpha: number;
49
+ }
50
+
51
+ export interface ThemeTypography {
52
+ regular: string;
53
+ medium: string;
54
+ semiBold: string;
55
+ bold: string;
56
+ extraBold: string;
57
+ black: string;
58
+ mono: string;
59
+ }
60
+
61
+ export interface ThemeAnimations {
62
+ springs: Record<string, any>;
63
+ timings: Record<string, any>;
64
+ crossfade?: { fadeOutDuration?: number; fadeInDuration?: number; translateY?: number };
65
+ spring?: Record<string, any>;
66
+ }
67
+
68
+ export interface FluentGlassTheme {
69
+ colors: ThemeColors;
70
+ colorSchemes: Record<string, ColorSchemeConfig>;
71
+ sizes: Record<string, SizeConfig>;
72
+ blurs: Record<string, BlurConfig>;
73
+ radii: Record<string, number>;
74
+ animations: ThemeAnimations;
75
+ typography: ThemeTypography;
76
+ defaults: {
77
+ size: string;
78
+ colorScheme: string;
79
+ blur: string;
80
+ radius: string;
81
+ };
82
+ }
@@ -0,0 +1,55 @@
1
+ // FluentGlass — Default Color Palette (Deep Liquid Dark)
2
+ // These are the default colors used when no FluentGlassProvider is present.
3
+ // They will be replaced by the theme system in Phase 3.
4
+
5
+ import { ThemeColors } from '../types/theme';
6
+
7
+ export const COLORS: ThemeColors & Record<string, string> = {
8
+ // Fondo principal: Deepest Navy
9
+ background: '#020617',
10
+
11
+ // Fondo de tarjetas: Slate Glass
12
+ card: 'rgba(30, 41, 59, 0.7)',
13
+
14
+ // Fondo de inputs: Carved Dark
15
+ inputBg: 'rgba(15, 23, 42, 0.6)',
16
+
17
+ // Bordes: Slate Ridge
18
+ border: 'rgba(148, 163, 184, 0.2)',
19
+
20
+ // Texto principal: Slate White
21
+ textPrimary: '#F8FAFC',
22
+
23
+ // Texto secundario: Slate Grey
24
+ textSecondary: '#94A3B8',
25
+
26
+ // Texto sobre inputs
27
+ textInput: '#FFFFFF',
28
+
29
+ // Acentos: Cyan & Blue
30
+ accent: '#06B6D4', // Cyan Glow
31
+ secondary: '#3B82F6', // Blue Depth
32
+
33
+ // Estados (colorScheme colors)
34
+ positive: '#10B981', // Emerald (success)
35
+ negative: '#EF4444', // Red (error)
36
+ warning: '#F59E0B', // Amber (warning)
37
+
38
+ // Colores semánticos adicionales
39
+ purple: '#8B5CF6', // Purple
40
+ pink: '#EC4899', // Pink
41
+
42
+ // Utilidad para transparencia
43
+ glass: 'rgba(30, 41, 59, 0.7)', // Dark Glass
44
+ glassText: 'rgba(255, 255, 255, 0.8)',
45
+ transparent: 'transparent',
46
+
47
+ // Legacy / Compatibilidad
48
+ white: '#FFFFFF',
49
+ black: '#000000',
50
+
51
+ // Overlay & Shadow
52
+ overlay: 'rgba(0, 0, 0, 0.6)',
53
+ shadow: '#000000',
54
+ borderSubtle: 'rgba(148, 163, 184, 0.12)',
55
+ };