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,351 @@
1
+ "use strict";
2
+
3
+ import React from 'react';
4
+ import { StyleSheet, View, Text, TouchableOpacity, ScrollView, Platform, Pressable } from 'react-native';
5
+ import Animated, { useSharedValue, useAnimatedStyle, withSpring, interpolate } from 'react-native-reanimated';
6
+ import useTheme from '../theme/useTheme';
7
+ import useBreakpoint from '../hooks/useBreakpoint';
8
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
9
+ const NAV_ITEM_HEIGHT = 48;
10
+ const NAV_ITEM_GAP = 4;
11
+
12
+ /** Defaults exported for consumers to calculate marginLeft etc. */
13
+ export const SIDEBAR_DEFAULTS = {
14
+ width: 260,
15
+ margin: 16,
16
+ navItemHeight: NAV_ITEM_HEIGHT,
17
+ navItemGap: NAV_ITEM_GAP
18
+ };
19
+
20
+ /**
21
+ * FluentGlassSidebar
22
+ *
23
+ * Floating glass sidebar with animated slide, vertical nav indicator,
24
+ * and hamburger toggle. Responsive: floating on desktop, overlay on mobile.
25
+ *
26
+ * Usage:
27
+ * <FluentGlassSidebar
28
+ * routes={[{ id: 'home', label: 'Home', icon: '🏠' }]}
29
+ * activeRoute="home"
30
+ * onNavigate={setRoute}
31
+ * open={open}
32
+ * onToggle={toggle}
33
+ * />
34
+ */
35
+
36
+ export default function FluentGlassSidebar({
37
+ routes = [],
38
+ activeRoute,
39
+ onNavigate,
40
+ open = true,
41
+ onToggle,
42
+ header,
43
+ navHeader,
44
+ width = SIDEBAR_DEFAULTS.width,
45
+ margin = SIDEBAR_DEFAULTS.margin,
46
+ colorScheme = 'default',
47
+ blur = 'medium',
48
+ radius = 'lg',
49
+ style
50
+ }) {
51
+ // Optional background and borders mapping
52
+ // We want the modal surface to feel like 'deep' glass by default,
53
+ // but users can specify 'light' or other schemas via the `colorScheme`
54
+ const theme = useTheme();
55
+ const {
56
+ colors,
57
+ typography
58
+ } = theme;
59
+ const {
60
+ isMobile
61
+ } = useBreakpoint();
62
+
63
+ // Spring configs from theme
64
+ const sidebarSpring = theme.animations?.springs?.default || {
65
+ mass: 0.6,
66
+ damping: 16,
67
+ stiffness: 140
68
+ };
69
+ const navSpring = theme.animations?.springs?.bouncy || {
70
+ mass: 0.5,
71
+ damping: 15,
72
+ stiffness: 160
73
+ };
74
+
75
+ // Slide animation
76
+ const progress = useSharedValue(open ? 1 : 0);
77
+ React.useEffect(() => {
78
+ progress.value = withSpring(open ? 1 : 0, sidebarSpring);
79
+ }, [open]);
80
+
81
+ // Nav indicator
82
+ const activeIndex = routes.findIndex(r => r.id === activeRoute);
83
+ const navIndicatorY = useSharedValue(Math.max(0, activeIndex) * (NAV_ITEM_HEIGHT + NAV_ITEM_GAP));
84
+ React.useEffect(() => {
85
+ if (activeIndex >= 0) {
86
+ navIndicatorY.value = withSpring(activeIndex * (NAV_ITEM_HEIGHT + NAV_ITEM_GAP), navSpring);
87
+ }
88
+ }, [activeIndex]);
89
+
90
+ // Animated styles
91
+ const sidebarAnimStyle = useAnimatedStyle(() => ({
92
+ transform: [{
93
+ translateX: interpolate(progress.value, [0, 1], [-(width + margin * 2), 0])
94
+ }],
95
+ opacity: interpolate(progress.value, [0, 0.3, 1], [0, 1, 1])
96
+ }));
97
+ const navIndicatorStyle = useAnimatedStyle(() => ({
98
+ transform: [{
99
+ translateY: navIndicatorY.value
100
+ }]
101
+ }));
102
+ const backdropAnimStyle = useAnimatedStyle(() => ({
103
+ opacity: progress.value
104
+ }));
105
+ return /*#__PURE__*/_jsxs(_Fragment, {
106
+ children: [!isMobile && !open && /*#__PURE__*/_jsx(Pressable, {
107
+ onPress: onToggle,
108
+ style: [styles.floatingHamburger, {
109
+ top: margin,
110
+ left: margin,
111
+ backgroundColor: `${colors.background}99`,
112
+ borderColor: colors.border,
113
+ shadowColor: colors.shadow
114
+ }],
115
+ accessibilityRole: "button",
116
+ accessibilityLabel: "Open navigation menu",
117
+ children: /*#__PURE__*/_jsx(Text, {
118
+ style: [styles.floatingHamburgerText, {
119
+ color: colors.textPrimary
120
+ }],
121
+ children: "\u2630"
122
+ })
123
+ }), isMobile && /*#__PURE__*/_jsx(Animated.View, {
124
+ style: [{
125
+ position: 'absolute',
126
+ top: -margin,
127
+ bottom: -margin,
128
+ left: -margin,
129
+ right: -margin,
130
+ backgroundColor: colors.overlay,
131
+ zIndex: 5
132
+ }, backdropAnimStyle],
133
+ pointerEvents: open ? 'auto' : 'none',
134
+ children: /*#__PURE__*/_jsx(Pressable, {
135
+ style: StyleSheet.absoluteFill,
136
+ onPress: onToggle,
137
+ accessibilityRole: "button",
138
+ accessibilityLabel: "Close navigation menu"
139
+ })
140
+ }), /*#__PURE__*/_jsx(Animated.View, {
141
+ style: [styles.sidebarOuter, {
142
+ top: margin,
143
+ left: margin,
144
+ bottom: margin,
145
+ width
146
+ }, isMobile && styles.sidebarOuterMobile, sidebarAnimStyle, style],
147
+ children: /*#__PURE__*/_jsxs(View, {
148
+ style: [styles.sidebarGlass, {
149
+ backgroundColor: `${colors.background}8C`,
150
+ borderColor: colors.border,
151
+ shadowColor: colors.shadow
152
+ }],
153
+ children: [/*#__PURE__*/_jsxs(View, {
154
+ style: [styles.sidebarHeader, {
155
+ borderBottomColor: `${colors.textPrimary}1A`
156
+ }],
157
+ children: [/*#__PURE__*/_jsx(View, {
158
+ style: {
159
+ flex: 1
160
+ },
161
+ children: header
162
+ }), !isMobile && /*#__PURE__*/_jsx(Pressable, {
163
+ onPress: onToggle,
164
+ style: [styles.hamburgerBtn, {
165
+ backgroundColor: `${colors.textPrimary}1A`,
166
+ borderColor: colors.border
167
+ }],
168
+ accessibilityRole: "button",
169
+ accessibilityLabel: "Close navigation menu",
170
+ children: /*#__PURE__*/_jsx(Text, {
171
+ style: [styles.hamburgerBtnText, {
172
+ color: colors.textSecondary
173
+ }],
174
+ children: "\u2715"
175
+ })
176
+ })]
177
+ }), /*#__PURE__*/_jsxs(ScrollView, {
178
+ style: styles.navContainer,
179
+ showsVerticalScrollIndicator: false,
180
+ children: [navHeader && /*#__PURE__*/_jsx(Text, {
181
+ style: [styles.navHeaderText, {
182
+ color: colors.textSecondary,
183
+ fontFamily: typography.bold
184
+ }],
185
+ children: navHeader
186
+ }), /*#__PURE__*/_jsxs(View, {
187
+ style: styles.navList,
188
+ children: [/*#__PURE__*/_jsx(Animated.View, {
189
+ style: [styles.navIndicator, navIndicatorStyle, {
190
+ backgroundColor: colors.accent + '12',
191
+ borderColor: colors.accent + '30'
192
+ }]
193
+ }), routes.map(route => {
194
+ const isActive = activeRoute === route.id;
195
+ return /*#__PURE__*/_jsxs(TouchableOpacity, {
196
+ style: styles.navItem,
197
+ onPress: () => onNavigate?.(route.id),
198
+ activeOpacity: 0.7,
199
+ accessibilityRole: "menuitem",
200
+ accessibilityLabel: route.label,
201
+ accessibilityState: {
202
+ selected: isActive
203
+ },
204
+ children: [route.icon && /*#__PURE__*/_jsx(Text, {
205
+ style: [styles.navIcon, isActive && {
206
+ color: colors.textPrimary,
207
+ opacity: 1
208
+ }],
209
+ children: route.icon
210
+ }), /*#__PURE__*/_jsx(Text, {
211
+ style: [styles.navText, {
212
+ color: colors.textSecondary,
213
+ fontFamily: typography.medium
214
+ }, isActive && {
215
+ color: colors.textPrimary,
216
+ fontFamily: typography.semiBold
217
+ }],
218
+ children: route.label
219
+ })]
220
+ }, route.id);
221
+ })]
222
+ })]
223
+ })]
224
+ })
225
+ })]
226
+ });
227
+ }
228
+ const styles = StyleSheet.create({
229
+ // Floating outer (positioning)
230
+ sidebarOuter: {
231
+ position: 'absolute',
232
+ zIndex: 50
233
+ },
234
+ sidebarOuterMobile: {
235
+ zIndex: 10
236
+ },
237
+ // Glass container
238
+ sidebarGlass: {
239
+ flex: 1,
240
+ borderRadius: 20,
241
+ borderWidth: 1,
242
+ overflow: 'hidden',
243
+ ...Platform.select({
244
+ web: {
245
+ backdropFilter: 'blur(24px)',
246
+ boxShadow: '0 8px 32px rgba(0, 0, 0, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.05)'
247
+ },
248
+ default: {
249
+ shadowOffset: {
250
+ width: 0,
251
+ height: 8
252
+ },
253
+ shadowOpacity: 0.4,
254
+ shadowRadius: 32,
255
+ elevation: 24
256
+ }
257
+ })
258
+ },
259
+ // Header
260
+ sidebarHeader: {
261
+ flexDirection: 'row',
262
+ alignItems: 'center',
263
+ paddingHorizontal: 20,
264
+ paddingTop: Platform.OS === 'web' ? 24 : 44,
265
+ paddingBottom: 20,
266
+ borderBottomWidth: 1
267
+ },
268
+ // Hamburger inside sidebar
269
+ hamburgerBtn: {
270
+ width: 36,
271
+ height: 36,
272
+ justifyContent: 'center',
273
+ alignItems: 'center',
274
+ borderRadius: 10,
275
+ borderWidth: 1
276
+ },
277
+ hamburgerBtnText: {
278
+ fontSize: 16,
279
+ lineHeight: 18
280
+ },
281
+ // Floating hamburger (when closed)
282
+ floatingHamburger: {
283
+ position: 'absolute',
284
+ zIndex: 60,
285
+ width: 44,
286
+ height: 44,
287
+ borderRadius: 14,
288
+ borderWidth: 1,
289
+ justifyContent: 'center',
290
+ alignItems: 'center',
291
+ ...Platform.select({
292
+ web: {
293
+ backdropFilter: 'blur(16px)',
294
+ boxShadow: '0 4px 16px rgba(0, 0, 0, 0.3)'
295
+ },
296
+ default: {
297
+ shadowOffset: {
298
+ width: 0,
299
+ height: 4
300
+ },
301
+ shadowOpacity: 0.3,
302
+ shadowRadius: 16,
303
+ elevation: 16
304
+ }
305
+ })
306
+ },
307
+ floatingHamburgerText: {
308
+ fontSize: 20
309
+ },
310
+ // Nav
311
+ navContainer: {
312
+ flex: 1,
313
+ paddingTop: 16
314
+ },
315
+ navHeaderText: {
316
+ fontSize: 11,
317
+ letterSpacing: 1.5,
318
+ paddingHorizontal: 20,
319
+ marginBottom: 12
320
+ },
321
+ navList: {
322
+ position: 'relative'
323
+ },
324
+ navIndicator: {
325
+ position: 'absolute',
326
+ top: 0,
327
+ left: 10,
328
+ right: 10,
329
+ height: NAV_ITEM_HEIGHT,
330
+ borderRadius: 12,
331
+ borderWidth: 1
332
+ },
333
+ navItem: {
334
+ flexDirection: 'row',
335
+ alignItems: 'center',
336
+ height: NAV_ITEM_HEIGHT,
337
+ paddingHorizontal: 20,
338
+ marginHorizontal: 10,
339
+ marginBottom: NAV_ITEM_GAP,
340
+ borderRadius: 12
341
+ },
342
+ navIcon: {
343
+ fontSize: 16,
344
+ marginRight: 12,
345
+ opacity: 0.7
346
+ },
347
+ navText: {
348
+ fontSize: 15
349
+ }
350
+ });
351
+ //# sourceMappingURL=FluentGlassSidebar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","StyleSheet","View","Text","TouchableOpacity","ScrollView","Platform","Pressable","Animated","useSharedValue","useAnimatedStyle","withSpring","interpolate","useTheme","useBreakpoint","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","NAV_ITEM_HEIGHT","NAV_ITEM_GAP","SIDEBAR_DEFAULTS","width","margin","navItemHeight","navItemGap","FluentGlassSidebar","routes","activeRoute","onNavigate","open","onToggle","header","navHeader","colorScheme","blur","radius","style","theme","colors","typography","isMobile","sidebarSpring","animations","springs","default","mass","damping","stiffness","navSpring","bouncy","progress","useEffect","value","activeIndex","findIndex","r","id","navIndicatorY","Math","max","sidebarAnimStyle","transform","translateX","opacity","navIndicatorStyle","translateY","backdropAnimStyle","children","onPress","styles","floatingHamburger","top","left","backgroundColor","background","borderColor","border","shadowColor","shadow","accessibilityRole","accessibilityLabel","floatingHamburgerText","color","textPrimary","position","bottom","right","overlay","zIndex","pointerEvents","absoluteFill","sidebarOuter","sidebarOuterMobile","sidebarGlass","sidebarHeader","borderBottomColor","flex","hamburgerBtn","hamburgerBtnText","textSecondary","navContainer","showsVerticalScrollIndicator","navHeaderText","fontFamily","bold","navList","navIndicator","accent","map","route","isActive","navItem","activeOpacity","label","accessibilityState","selected","icon","navIcon","navText","medium","semiBold","create","borderRadius","borderWidth","overflow","select","web","backdropFilter","boxShadow","shadowOffset","height","shadowOpacity","shadowRadius","elevation","flexDirection","alignItems","paddingHorizontal","paddingTop","OS","paddingBottom","borderBottomWidth","justifyContent","fontSize","lineHeight","letterSpacing","marginBottom","marginHorizontal","marginRight"],"sourceRoot":"..\\..\\..\\src","sources":["components/FluentGlassSidebar.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+
3
+ import React from 'react';
4
+ import { StyleSheet, View } from 'react-native';
5
+ import FluentGlass from './FluentGlass';
6
+
7
+ /**
8
+ * FluentGlassSimpleCard (Component)
9
+ * Standard container for content.
10
+ * Wraps FluentGlass with standard padding and structure.
11
+ */
12
+ import { jsx as _jsx } from "react/jsx-runtime";
13
+ export default function FluentGlassSimpleCard({
14
+ children,
15
+ style,
16
+ contentStyle,
17
+ size,
18
+ colorScheme,
19
+ blur,
20
+ radius,
21
+ intensity,
22
+ // legacy
23
+ tint,
24
+ // legacy
25
+ ...props
26
+ }) {
27
+ return /*#__PURE__*/_jsx(FluentGlass, {
28
+ style: [styles.container, style],
29
+ size: size,
30
+ colorScheme: colorScheme,
31
+ blur: blur,
32
+ radius: radius,
33
+ intensity: intensity,
34
+ tint: tint,
35
+ ...props,
36
+ children: /*#__PURE__*/_jsx(View, {
37
+ style: [styles.content, contentStyle],
38
+ children: children
39
+ })
40
+ });
41
+ }
42
+ const styles = StyleSheet.create({
43
+ container: {
44
+ width: '100%',
45
+ marginVertical: 8
46
+ },
47
+ content: {
48
+ padding: 16
49
+ }
50
+ });
51
+ //# sourceMappingURL=FluentGlassSimpleCard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","StyleSheet","View","FluentGlass","jsx","_jsx","FluentGlassSimpleCard","children","style","contentStyle","size","colorScheme","blur","radius","intensity","tint","props","styles","container","content","create","width","marginVertical","padding"],"sourceRoot":"..\\..\\..\\src","sources":["components/FluentGlassSimpleCard.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAC/C,OAAOC,WAAW,MAAM,eAAe;;AAEvC;AACA;AACA;AACA;AACA;AAJA,SAAAC,GAAA,IAAAC,IAAA;AAgBA,eAAe,SAASC,qBAAqBA,CAAC;EAC1CC,QAAQ;EACRC,KAAK;EACLC,YAAY;EACZC,IAAI;EACJC,WAAW;EACXC,IAAI;EACJC,MAAM;EACNC,SAAS;EAAE;EACXC,IAAI;EAAO;EACX,GAAGC;AACqB,CAAC,EAAE;EAC3B,oBACIX,IAAA,CAACF,WAAW;IACRK,KAAK,EAAE,CAACS,MAAM,CAACC,SAAS,EAAEV,KAAK,CAAE;IACjCE,IAAI,EAAEA,IAAK;IACXC,WAAW,EAAEA,WAAY;IACzBC,IAAI,EAAEA,IAAK;IACXC,MAAM,EAAEA,MAAO;IACfC,SAAS,EAAEA,SAAU;IACrBC,IAAI,EAAEA,IAAK;IAAA,GACPC,KAAK;IAAAT,QAAA,eAETF,IAAA,CAACH,IAAI;MAACM,KAAK,EAAE,CAACS,MAAM,CAACE,OAAO,EAAEV,YAAY,CAAE;MAAAF,QAAA,EACvCA;IAAQ,CACP;EAAC,CACE,CAAC;AAEtB;AAEA,MAAMU,MAAM,GAAGhB,UAAU,CAACmB,MAAM,CAAC;EAC7BF,SAAS,EAAE;IACPG,KAAK,EAAE,MAAM;IACbC,cAAc,EAAE;EACpB,CAAC;EACDH,OAAO,EAAE;IACLI,OAAO,EAAE;EACb;AACJ,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+
3
+ import React, { useEffect } from 'react';
4
+ import { StyleSheet } from 'react-native';
5
+ import Animated, { useSharedValue, useAnimatedStyle, withRepeat, withTiming, withSequence } from 'react-native-reanimated';
6
+ import useTheme from '../theme/useTheme';
7
+ import { jsx as _jsx } from "react/jsx-runtime";
8
+ /**
9
+ * FluentGlassSkeleton (Component)
10
+ * Loading placeholder with a pulsing opacity animation.
11
+ */
12
+ export default function FluentGlassSkeleton({
13
+ width,
14
+ height,
15
+ borderRadius = 8,
16
+ style
17
+ }) {
18
+ const theme = useTheme();
19
+ const COLORS = theme.colors;
20
+ const opacity = useSharedValue(0.3);
21
+ useEffect(() => {
22
+ opacity.value = withRepeat(withSequence(withTiming(0.6, {
23
+ duration: 1000
24
+ }), withTiming(0.3, {
25
+ duration: 1000
26
+ })), -1, true);
27
+ }, []);
28
+ const animatedStyle = useAnimatedStyle(() => ({
29
+ opacity: opacity.value
30
+ }));
31
+ return /*#__PURE__*/_jsx(Animated.View, {
32
+ accessible: false,
33
+ style: [styles.container, {
34
+ width: width,
35
+ height: height,
36
+ borderRadius,
37
+ backgroundColor: COLORS.border
38
+ }, animatedStyle, style]
39
+ });
40
+ }
41
+ const styles = StyleSheet.create({
42
+ container: {
43
+ // backgroundColor applied inline from useTheme()
44
+ }
45
+ });
46
+ //# sourceMappingURL=FluentGlassSkeleton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useEffect","StyleSheet","Animated","useSharedValue","useAnimatedStyle","withRepeat","withTiming","withSequence","useTheme","jsx","_jsx","FluentGlassSkeleton","width","height","borderRadius","style","theme","COLORS","colors","opacity","value","duration","animatedStyle","View","accessible","styles","container","backgroundColor","border","create"],"sourceRoot":"..\\..\\..\\src","sources":["components/FluentGlassSkeleton.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,SAAS,QAAQ,OAAO;AACxC,SAAyBC,UAAU,QAAoC,cAAc;AACrF,OAAOC,QAAQ,IACXC,cAAc,EACdC,gBAAgB,EAChBC,UAAU,EACVC,UAAU,EACVC,YAAY,QACT,yBAAyB;AAChC,OAAOC,QAAQ,MAAM,mBAAmB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AASzC;AACA;AACA;AACA;AACA,eAAe,SAASC,mBAAmBA,CAAC;EAAEC,KAAK;EAC/CC,MAAM;EACNC,YAAY,GAAG,CAAC;EAChBC;AAAiC,CAAC,EAAE;EACpC,MAAMC,KAAK,GAAGR,QAAQ,CAAC,CAAC;EACxB,MAAMS,MAAM,GAAGD,KAAK,CAACE,MAAM;EAE3B,MAAMC,OAAO,GAAGhB,cAAc,CAAC,GAAG,CAAC;EAEnCH,SAAS,CAAC,MAAM;IACZmB,OAAO,CAACC,KAAK,GAAGf,UAAU,CACtBE,YAAY,CACRD,UAAU,CAAC,GAAG,EAAE;MAAEe,QAAQ,EAAE;IAAK,CAAC,CAAC,EACnCf,UAAU,CAAC,GAAG,EAAE;MAAEe,QAAQ,EAAE;IAAK,CAAC,CACtC,CAAC,EACD,CAAC,CAAC,EACF,IACJ,CAAC;EACL,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,aAAa,GAAGlB,gBAAgB,CAAC,OAAO;IAC1Ce,OAAO,EAAEA,OAAO,CAACC;EACrB,CAAC,CAAC,CAAC;EAEH,oBACIV,IAAA,CAACR,QAAQ,CAACqB,IAAI;IACVC,UAAU,EAAE,KAAM;IAClBT,KAAK,EAAE,CACHU,MAAM,CAACC,SAAS,EAChB;MACId,KAAK,EAAEA,KAAuB;MAC9BC,MAAM,EAAEA,MAAwB;MAChCC,YAAY;MACZa,eAAe,EAAEV,MAAM,CAACW;IAC5B,CAAC,EACDN,aAAa,EACbP,KAAK;EACP,CACL,CAAC;AAEV;AAEA,MAAMU,MAAM,GAAGxB,UAAU,CAAC4B,MAAM,CAAC;EAC7BH,SAAS,EAAE;IACP;EAAA;AAER,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,191 @@
1
+ "use strict";
2
+
3
+ import React, { useCallback, useEffect } from 'react';
4
+ import { StyleSheet, Text, View } from 'react-native';
5
+ import Animated, { useSharedValue, useAnimatedStyle, runOnJS, withTiming } from 'react-native-reanimated';
6
+ import { Gesture, GestureDetector } from 'react-native-gesture-handler';
7
+ import useTheme from '../theme/useTheme';
8
+
9
+ /**
10
+ * FluentGlassSlider (Molecule)
11
+ * Glassmorphism slider — fully driven by SharedValues for buttery drag.
12
+ *
13
+ * Variants:
14
+ * - basic: Just the track + thumb
15
+ * - labeled: Label on left, value display on right, track below
16
+ */
17
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
18
+ const TRACK_HEIGHT = 6;
19
+ const THUMB_SIZE = 22;
20
+ export default function FluentGlassSlider({
21
+ value = 50,
22
+ onValueChange,
23
+ min = 0,
24
+ max = 100,
25
+ label,
26
+ showValue,
27
+ formatValue,
28
+ style,
29
+ accessibilityLabel
30
+ }) {
31
+ const theme = useTheme();
32
+ const COLORS = theme.colors;
33
+ const hasLabel = Boolean(label);
34
+ const shouldShowValue = showValue !== undefined ? showValue : hasLabel;
35
+
36
+ // SharedValues drive the UI on the native thread — no JS round-trips
37
+ const progress = useSharedValue((value - min) / (max - min));
38
+ const trackW = useSharedValue(0);
39
+ const startProgress = useSharedValue(0);
40
+
41
+ // Sync external value changes (e.g. programmatic updates)
42
+ useEffect(() => {
43
+ progress.value = Math.max(0, Math.min(1, (value - min) / (max - min)));
44
+ }, [value, min, max, progress]);
45
+ const emitValue = useCallback(ratio => {
46
+ if (onValueChange) {
47
+ const clamped = Math.max(0, Math.min(1, ratio));
48
+ onValueChange(Math.round(min + clamped * (max - min)));
49
+ }
50
+ }, [onValueChange, min, max]);
51
+ const panGesture = Gesture.Pan().onBegin(() => {
52
+ startProgress.value = progress.value;
53
+ }).onUpdate(e => {
54
+ 'worklet';
55
+
56
+ if (trackW.value > 0) {
57
+ const delta = e.translationX / trackW.value;
58
+ const next = Math.max(0, Math.min(1, startProgress.value + delta));
59
+ progress.value = next;
60
+ }
61
+ }).onEnd(() => {
62
+ 'worklet';
63
+
64
+ runOnJS(emitValue)(progress.value);
65
+ });
66
+
67
+ // Tap on track to jump
68
+ const tapGesture = Gesture.Tap().onEnd(e => {
69
+ 'worklet';
70
+
71
+ if (trackW.value > 0) {
72
+ const next = Math.max(0, Math.min(1, e.x / trackW.value));
73
+ progress.value = withTiming(next, {
74
+ duration: 150
75
+ });
76
+ runOnJS(emitValue)(next);
77
+ }
78
+ });
79
+ const composed = Gesture.Race(panGesture, tapGesture);
80
+
81
+ // Animated styles — run entirely on the UI thread
82
+ const thumbAnimStyle = useAnimatedStyle(() => ({
83
+ transform: [{
84
+ translateX: progress.value * trackW.value - THUMB_SIZE / 2
85
+ }]
86
+ }));
87
+ const filledAnimStyle = useAnimatedStyle(() => ({
88
+ width: progress.value * trackW.value
89
+ }));
90
+ const handleLayout = useCallback(e => {
91
+ trackW.value = e.nativeEvent.layout.width;
92
+ }, [trackW]);
93
+ const displayValue = formatValue ? formatValue(value) : `${Math.round(value)}%`;
94
+ return /*#__PURE__*/_jsxs(View, {
95
+ style: [styles.wrapper, style],
96
+ accessibilityRole: "adjustable",
97
+ accessibilityLabel: accessibilityLabel ?? label ?? 'Slider',
98
+ accessibilityValue: {
99
+ min,
100
+ max,
101
+ now: Math.round(value)
102
+ },
103
+ children: [hasLabel ? /*#__PURE__*/_jsxs(View, {
104
+ style: styles.labelRow,
105
+ children: [/*#__PURE__*/_jsx(Text, {
106
+ style: [styles.label, {
107
+ color: COLORS.textPrimary,
108
+ fontFamily: theme.typography.semiBold
109
+ }],
110
+ children: label
111
+ }), shouldShowValue ? /*#__PURE__*/_jsx(Text, {
112
+ style: [styles.valueText, {
113
+ color: COLORS.textSecondary,
114
+ fontFamily: theme.typography.semiBold
115
+ }],
116
+ children: displayValue
117
+ }) : null]
118
+ }) : null, /*#__PURE__*/_jsx(GestureDetector, {
119
+ gesture: composed,
120
+ children: /*#__PURE__*/_jsxs(Animated.View, {
121
+ style: styles.trackContainer,
122
+ onLayout: handleLayout,
123
+ children: [/*#__PURE__*/_jsx(View, {
124
+ style: [styles.trackUnfilled, {
125
+ backgroundColor: COLORS.border
126
+ }]
127
+ }), /*#__PURE__*/_jsx(Animated.View, {
128
+ style: [styles.trackFilled, filledAnimStyle, {
129
+ backgroundColor: COLORS.accent
130
+ }]
131
+ }), /*#__PURE__*/_jsx(Animated.View, {
132
+ style: [styles.thumb, {
133
+ backgroundColor: COLORS.white,
134
+ shadowColor: COLORS.shadow
135
+ }, thumbAnimStyle]
136
+ })]
137
+ })
138
+ })]
139
+ });
140
+ }
141
+ const styles = StyleSheet.create({
142
+ wrapper: {
143
+ width: '100%'
144
+ },
145
+ labelRow: {
146
+ flexDirection: 'row',
147
+ justifyContent: 'space-between',
148
+ alignItems: 'center',
149
+ marginBottom: 10
150
+ },
151
+ label: {
152
+ fontSize: 14,
153
+ fontWeight: '600'
154
+ },
155
+ valueText: {
156
+ fontSize: 14,
157
+ fontWeight: '600'
158
+ },
159
+ trackContainer: {
160
+ height: THUMB_SIZE + 8,
161
+ justifyContent: 'center',
162
+ position: 'relative'
163
+ },
164
+ trackUnfilled: {
165
+ position: 'absolute',
166
+ left: 0,
167
+ right: 0,
168
+ height: TRACK_HEIGHT,
169
+ borderRadius: TRACK_HEIGHT / 2
170
+ },
171
+ trackFilled: {
172
+ position: 'absolute',
173
+ left: 0,
174
+ height: TRACK_HEIGHT,
175
+ borderRadius: TRACK_HEIGHT / 2
176
+ },
177
+ thumb: {
178
+ position: 'absolute',
179
+ width: THUMB_SIZE,
180
+ height: THUMB_SIZE,
181
+ borderRadius: THUMB_SIZE / 2,
182
+ shadowOffset: {
183
+ width: 0,
184
+ height: 2
185
+ },
186
+ shadowOpacity: 0.3,
187
+ shadowRadius: 4,
188
+ elevation: 5
189
+ }
190
+ });
191
+ //# sourceMappingURL=FluentGlassSlider.js.map